この記事の情報は古いです。
現在は 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でplatex->dvipdfmxを実行する話 | 愛のらくがき帳