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

HP と Twitter を補完するとともに、互いの密接な連携を図るため、本ブログを開設した。三位一体を目指す。情報提供、広報活動、教育・啓蒙活動の一環として、肩の力を抜き、冗長性を廃し、簡にして要を得た文章を書くよう心がける。
<< November 2020 | 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 >>
 
MOBILE
qrcode
PROFILE
無料ブログ作成サービス JUGEM
 
Jedit Ω 用 LaTeX 組版支援環境
近年、主に Mac 用プログラム TeXShop で LaTeX 文書をタイプセットしてきたが、内蔵 PDF ブラウザーがやや重く、使い勝手も今一つだった。

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

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

if grep -E -q '^ *¥¥documentclass.*uplatex' ${hoge}.tex ; then
  uplatex -kanji=utf8 -file-line-error ${hoge}.tex | tee ${hoge}.con
  # Unfortunately, no standard output is given by dvipdfmx
  dvipdfmx ${hoge}.dvi
elif grep -E -q '^ *¥¥documentclass.*platex' ${hoge}.tex ; then
  platex -kanji=utf8 -file-line-error ${hoge}.tex | tee ${hoge}.con
  dvipdfmx ${hoge}.dvi
elif grep -q '^¥¥documentclass.*{ltjsarticle}' ${hoge}.tex ; then
  # luajittex: input is assumed to be UTF-8 encoding
  luajittex --file-line-error --fmt=luajitlatex.fmt ${hoge}.tex | tee ${hoge}.con
else
  pdflatex --file-line-error ${hoge}.tex | tee ${hoge}.con
fi

open -a Preview ${hoge}.pdf

${hoge}.tex は LaTeX テキストファイルの名前である。変数 ${hoge} は Jedit X の最前面ファイルの名前から取得する。egrep により拡張正規表現で documentclass を検索し、3種類の組版エンジン (upLaTeX, pLaTeX, LuaJITTeX, pdfTeX) から一つを選ぶ。もともと軽量なツールである grep を 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 で実行するにもかかわらず鈍足な上、イタリックフォントに関する目障りな警告をコンソールに吐き出す。枯れ切った (u)pLaTeX と比較すると、とりたててメリットを感じない。

かねてから Jedit Ω 用マクロのプログラミングに習熟しているため、短時日のうちに環境を構築できた。自分にとって余計な機能をそぎ落とした簡易 LaTeX 組版機能に過ぎないものの、自作マクロに対する愛着も手伝い、とても気に入っている。
コメント
コメントする









 

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