T:freebsd:platex-emacs

出典: Tariki

目次

pLaTeX-tetexのインストールとEmacs・yatexの連動・便利マクロ

研究室環境の構築。

できること


pLaTeX(系)のインストール

  • FreeBSD における TeX の導入: 8.0-Rでの記述があるので貴重です ←っていまどき日本でTeX使いって少ないのかねえ。文書品質落ちるわけだわ。

2010年4月。FBSD8.0(5.1から無理やりアップグレード)後、ハマる。

概略を書くと、teTeXになってからのTeXというものは、TeX処理系だけではなくフォントがないときに自動起動されるmetafontやバーチャルフォントの生成ツール、さらにdvips(k)までが共通のディレクトリツリーや環境設定ファイルを参照している。したがって、アップグレードすりゃなんとかなる、と思っていたらかえってハマってしまった。

どうしてアップグレードにこだわったかというと、オリジナルマクロ (研究室特有の自作マクロ) がごっそりあったので、特にスタイルファイルのディレクトリの構造を崩したくなかったのだ。

TeXのバージョンをアップグレードした理由は、OSのアップグレード。つまりライブラリがアップグレードされちゃうとバイナリが動かなくなるわけで、コンパイルだけやり直せば良さそうなものだがpackagesから導入したりとかどういう順番で導入したか分からなくなったものがある。だから対応する新しいバージョンのports/packagesをどうしても入れざるを得ない。そこで問題になるのが上記の古いファイル構成を引きずる、という事態である。

古いディレクトリツリー構成があるとうまくいかない、というのは、やや当たらしめのTeXがないマシン(FBSD6.1-Rだが)でports/packagesを導入したら、あっさりさくっと動いてしまった。同じものをportupgradeで導入してもうまくいかない、というわけ。

いじっているうちに上記のファイル構造もぐずぐずに崩れてきた(もちろんオリジナルマクロはtarで固めて取っておいた)ので、いっそのことえいやっと初期インストールすることにした。手順は

  1. (オリジナルマクロのバックアップ)
  2. /var/tmp/texfonts/ と /usr/local/share/texmf*/ を除去(名前を変えて取っておく)
  3. /var/db/pkg/ 以下の *tex*、*dvi* をみて、TeX関連と思われるものをざっくりpkg_delete -fしてしまう
    →これで初期状態のマシンと同じ
  4. どういうわけかこの後の手順でPerl-5.8.9_3がないと怒られるので、先にpkg_add -fで導入しておく
    ←なぜかperl-5.10.*が入っていて、これだとTeXのインストーラに怒られるし、conflictするといってふつーには導入できない(つまり5.10のあれこれが5.8で上書きされることになるわけだが、よしとする)
  5. pkg_add -r ja-ptex-tetex
    依存関係でex-texmflocal-1.9、teTeX-texmf-3.0_6、teTeX-base-3.0_16が入る
  6. 退避しておいたオリジナルマクロを復元

これでさくっと(新規インストールマシン同様に)TeX処理系復活(って当たり前)。

ちなみにどうしてPerlがpkg_addに(portsのコンパイルではない)必要なのか、というと、teTeXの処理系はインストール後にいろいろなあれこれを生成する。そのときに必要なのではないかと。どうもpkg_addさんが吐いているログをみると、texmflocalやらupdmapやらmktexlsrやら、挙句の果てにはmetafontやTeXを起動してタイプセット (TeXが文書作成以外にも使える強力な言語系であることはあまり知られて……いる) までしているみたいです。

いちおううまくいった記念に↓pkg_addさんが吐いたものを取っておきます (ログが数百行あるのでばっさり中略)

updmap: This is updmap, version 1107552857
updmap: using transcript file `/local.x/usr/local/share/texmf-var/web2c/updmap.log'

updmap is creating new map files using the following configuration:

 config file: `/local.x/usr/local/share/texmf-config/web2c/updmap.cfg'
 dvips output directory: `/local.x/usr/local/share/texmf-var/fonts/map/dvips/updmap'
 pdftex output directory: `/local.x/usr/local/share/texmf-var/fonts/map/pdftex/updmap'
 dvipdfm output directory: `/local.x/usr/local/share/texmf-var/fonts/map/dvipdfm/updmap'

 prefer outlines: `true'
 texhash enabled: `true'
 download standard fonts (dvips): `false'
 download standard fonts (pdftex): `true'
 download standard fonts (dvipdfm): `true'

(snip)

mktexlsr: Done.

=== IMPORTANT NOTICE ===

- The standard texmf.cnf for pTeX is installed into
  texmf/web2c/ptex/texmf.cnf and this is used by default.
  Do not edit it directly; instead put the file to
  texmf-local/web2c/ptex/texmf.cnf and edit it if you want
  to customize it.

- Japanized versions of "pltotf" and "tftopl" are installed
  as "pltotf-ptex" and "tftopl-ptex".

- updmap(1) and updmap-sys(1) supports --progname=ptex option.
  When this option specified, pTeX specific font maps
  will be generated/processed.

- pLaTeX2e is now based on LaTeX2e as of 2003/12/01.



dvipdfmx

まずportsからコンパイルしようとするが、ダメ出しを食らうので(理由はよく読んでなかった)、pkg_add -r dvipdfmxする。

adobe-cmaps-20051217_1が必要といわれるので /usr/ports/print/adobe-cmaps/でmake。

Could not open config file “dvipdfmx.cfg”

/usr/local/share/texmf/dvipdfmx/dvipdfmx.cfg を読んでない模様。

mktexlsr

dvipdfmx hoge.dvi

...Too thin line: width = 1 (1.52018e-005 bp)...

dvipdfmx -d 5 hoge.dvi

これでフォント埋め込みなしのPDFは作れる。

IPAフォントについては今後の課題。

% cd /usr/ports/japanese/font-ipa % cd /usr/ports/japanese/platex-otf % % /usr/local/share/texmf/fonts/truetype/ にipaフォント (ipm[mg].ttf)を置く。 % % updmap-sys --edit % % # added by taroh % KanjiMap ptex-ipa.map %

dvipsk/ghostscript 8 + CJKフォント (ps2pdf)のインストール

周囲のプリンタが全部PSプリンタなので。これは/usr/ports/japanese/dvipsk/ にいってmake installしました。

上記、障害になるディレクトリを除去しているので (クリーンインストールと同じなので)、試しにタイプセットした結果のDVIファイルを食わせてみたらさくっと。



YaTeX-emacsのインストール

emacs/YaTeXからpdfまで一括生成するバッチ