Atomでplatex->dvipdfmxチェーンを実装する話

この記事の情報は古いです。

現在は latex パッケージからそのまま platex / uplatex + dvipdfmx が選択できます。


またAtom。Atomのパッケージはまだまだ開発途上で、結構中途半端なものも多い。

LaTeXをコンパイルするパッケージは、latex Packageがあるのだが、これが結構クセモノ。どうにかこうにかしてこいつでplatex->dvipdfmxチェーンを作りたい。

まずは、pdfplatexを作るところから。もし同じ名前のものが存在した場合は別の名前にしよう。/usr/texbin(などのTeXのホームパス)に、pdfplatexというファイルを作り、こんなかんじのシェルスクリプトを入れておく。

#!/bin/sh
string_filename=${!#}
string_filename_without_extension=${string_filename%.*}
platex -synctex=1 $* && \
dvipdfmx "`basename "${string_filename_without_extension}.dvi"`"

見て分かる通り、最後の引数にファイル名がこないと動かないけど、そんなことは知らない。とりあえずこれをchmod +xでもして実行権限を与えておこう。

そして、latex Packageの設定で、Custom Engineの欄をpdfplatexに、あとは実行結果を開く系のコマンド(Always Open Result Atom、Open Result after hogehoge系)のチェックを外しておく。Engineはたぶんなんでもよい。

こうすればCtrl+Alt+Bでビルドできるようになった。

さて、できたpdfをAtomで表示したくなる。これはpdf-view Packageを入れればよい。と思いきや、日本語が表示できない。日本語はクソだ。

どうやらcmapの対応が取れていないらしく、pdf-view Package自体をいじらなければいけないよう。

~/.atom/packages/pdf-view/node_modules/pdfjs-dist/build にある pdf.js の適当なところ(27行目くらい)に、以下の2行を追加する。

PDFJS.cMapUrl = "../cmaps/";
PDFJS.cMapPacked = true;

これで日本語が表示できるようになった。

AtomはまだまだPackage群に不備が多いし、自分で作るか、気長に待つしかなさそうだ。


カテゴリー: Atom

Atomでplatex->dvipdfmxチェーンを実装する話」への1件のフィードバック

  1. ピンバック: 新・Atomでplatex->dvipdfmxを実行する話 | 愛のらくがき帳

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です