お知らせ+活動記録+たわごと

HP と Twitter を補完するとともに、互いの密接な連携を図るため、本ブログを開設した。三位一体を目指す。情報提供、広報活動、教育・啓蒙活動の一環として、肩の力を抜き、冗長性を廃し、簡にして要を得た文章を書くよう心がける。
<< March 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
 
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
Jedit X 用 LaTeX 組版支援環境
近年、主に Mac 用プログラム TeXShop で LaTeX 文書をタイプセットしてきた(「Mac 用 TeX による英文・和文のタイプセット 」参照)。しかし、タブで *.tex を切換えられない旧式なエディターは、複数のファイルを並行処理するのに向いていない。分割コンパイルではソースウィンドウがやたらに増えてしまう。さらに内蔵 PDF ブラウザーがやや重く、使い勝手も今一つだった。

こうした不満が昂じた挙げ句、ついに OS X 用エディター Jedit X 上で LaTeX 文書のタイプセット用マクロ Typeset, BibTeX, MakeIndex の自作に踏み切った。いずれも AppleScript (*.scpt) と bash スクリプト (*.command) の連携により作動する。システム環境設定の「キーボード」でそれぞれ ⌘-T, ⌘-B, ⌘-I のショートカットを割り当てた。*.tex が最前面のファイルになっていると、「表示 > 構文のカラーリング」で
   ✓ LaTeX
とチェックされる。Jedit X の操作に習熟している自分にとっては、非常に使いやすい。Typese.scpt はまず編集中のファイルのファイル名を絶対パス付きで取得し、必要なら自動保存してから、当該ファイル名を引数として Typeset.command に起動する。

Typeset.command の中核部分を以下に示す。

if egrep -q '^\\documentclass.*{j.+}' ${hoge}.tex ; then
   platex -kanji=sjis -file-line-error ${hoge}.tex
   dvipdfmx ${hoge}.dvi
elif egrep -q '^\\documentclass.*{ltjsarticle}' ${hoge}.tex ; then
   luajittex --fmt=luajitlatex.fmt ${hoge}.tex
else
   pdflatex --file-line-error ${hoge}.tex
fi
open -a Skim ${hoge}.pdf

${hoge}.tex は LaTeX テキストファイルの名前である。変数 ${hoge} は Jedit X の最前面ファイルの名前から取得する。egrep により拡張正規表現で documentclass を検索し、3種類の組版エンジン (pLaTeX, LuaJITTeX, pdfTeX) から一つを選ぶ。もともと軽量なツールである egrep を quite mode (-q) で実行するので、documentclass の判定は瞬時に終わる。私は jsarticle と ltjsarticle 以外の日本語用 documentclass は使わないので、場合分けは三つで済む。

LuaJITTeX を使えるようにするための手続きは http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?LuaJITTeX を参照していただきたい。「インストール > TeX Live の場合」に記されている。

*.tex ⇄ PDF 相互参照機能 SyncTeX を切り捨てたことから、pLaTeX と pdfTeX による組版は高速である。とくに英文専用の pdfTeX は滅法速い。一方 LuaJITTeX は just-in-time compiler で実行するにもかかわらず鈍足な上、イタリックフォントに関する目障りな警告をコンソールに吐き出す。枯れ切った pLaTeX と比較すると、とりたててメリットを感じない。

PDF は軽快なフリーソフトウェア Skim で閲覧することにした(最後の行)。Adobe Reader と違って現在表示中の PDF がロックされず、再組版後に同じページが表示されるという点でプレビューに優っており、LaTeX との相性がすこぶる良い。

かねてから Jedit X 用マクロのプログラミングに習熟しているため、短時日のうちに環境を構築できた。自分にとって余計な機能をそぎ落とした簡易 LaTeX 組版機能に過ぎないものの、自作マクロに対する愛着も手伝い、とても気に入っている。その結果、長く愛用してきた TeXShop の存在意義は薄れてしまった。併用はしていくが、その出番は激減するだろう。

これらの自作マクロは汎用性がないため公開を控えるが、物好きにも利用を希望される方には喜んで差し上げる。
コメント
コメントする









 

(C) 2017 ブログ JUGEM Some Rights Reserved.