texlive2010のinstallとlyxの設定(Archlinux)

texlive2010には標準でplatex/ptexが同梱されている.
texlive-langcjkにはjsclassesが含まれている(@Archlinux).
ただ,pxdviはないっぽい.
しかし,dvi->pdfはdvipdf, dvipdfm, dvipdfmx のどれでも変換できてacroreadで閲覧するとちゃんと日本語表示された.
(どうやらdvipdf=dvips+gs, dvipdfm=dvipdfmxぽい)
つまり,実用にほぼ問題は無いので,texlive2010を使うことにした.

ptexliveのuninstall

% sudo rm -rf /usr/local/texlive
% sudo rm /etc/profile.d/ptexlive.sh

と思ったけど設定ファイルとか参考になるからpathを変更して(新しいtex環境の邪魔にならないように),texlive2010が問題なく
動くようにしてから,アンインストールが良いと思った.

texlive2010のinstall

とりあえず全部install.

% sudo pacman -S texlive-bin texlive-most texlive-lang

(なんか心配だったので,一端uninstallしてからinstallした.)

その他のクラスファイルなどのinstall

babelのjapanese
pkgname=texlive-babel-ja
pkgver=1
pkgrel=1
pkgdesc="Japanese options of babel"
arch=('any')
license=('unknown')
url="ftp://ftp.kddilabs.jp/CTAN/"
install=${pkgname}.install
source=(ftp://ftp.kddilabs.jp/CTAN/language/japanese/japanese/japanese.dtx
    ftp://ftp.kddilabs.jp/CTAN/language/japanese/japanese/japanese.ins)

build() {
    cd $srcdir
    ptex japanese.ins
    install -D ${srcdir}/japanese.dtx ${pkgdir}/usr/share/texmf-dist/tex/generic/babel/japanese.dtx
    install -D ${srcdir}/japanese.ins ${pkgdir}/usr/share/texmf-dist/tex/generic/babel/japanese.ins
    install -D ${srcdir}/japanese.ldf ${pkgdir}/usr/share/texmf-dist/tex/generic/babel/japanese.ldf
}
md5sums=('ebf783c563b6c17b940005ab030fa108'
         'd76d2f5d425eae8a0f5e9f87cc9c25f7')

.install

post_install() {
    texconfig-sys rehash 2>/dev/null
}

post_upgrade() {
    post_install $1
}

makepkg -fci するとyかnか聞かれるが,yで問題ないと思う.

suribt
pkgname=texlive-suribt
pkgver=20070118
pkgrel=1
pkgdesc="suribt"
arch=('any')
license=('unknown')
url="http://www.keisu.t.u-tokyo.ac.jp/research/suribt/"
install=${pkgname}.install
source=(http://www.misojiro.t.u-tokyo.ac.jp/suribt/suribt-20070118.zip)

build() {
    cd $srcdir
    install -d ${pkgdir}/usr/share/texmf-dist/tex/platex/suribt
    install -m 644 suribt.* ${pkgdir}/usr/share/texmf-dist/tex/platex/suribt
}
md5sums=('318364bf7af4e88cd83e9d0ad888a820')

.installは同上.

lyxの設定

変更は以下.

「設定」->「ファイル処理」->「変換子」-> 「DVI->Postscript」

変換子をdvipsに.

「設定」->「ファイル処理」->「ファイル書式」-> 「DVI」

閲覧プログラムをxdviに.
ちなみに,日本語表示方法は不明.

suribtを使う

suribtはマイナーなスタイルファイルなので,lyxで標準では用意されていない.
しかし,ほぼjsbookだろうということで
~/.lyx/layouts/suribt.layoutとして

#% Do not delete the line below; configure depends on this
#  \DeclareLaTeXClass{book (suribt)}
# Japanese new book textclass definition file.

# This style provides japanese features 
Provides japanese 1

# Input general definitions
Input book.layout

を作成し,lyxで「ツール」->「再初期設定」を実行すれば良い.
また,suribtで変更したtodayがbabelのjapaneseによって再度変更されるので,
プリアンブルに \title,\authourの他に

\def\datejapanese{%
  \def\today{%
    \if西暦%
      \number\year 年%
      \number\month 月%
      % \number\day 日%
    \else
      平成\the@heisei 年%
      \number\month 月%
      % \number\day 日%
    \fi}
}

と書いて,戻してやると幸せになれるはず.

dvipdfmxでのフォント埋め込み

dvipdfで作成したpdfはipaフォントが埋め込まれていた.
これは多分,/usr/share/ghostscript/8.71/Resource/Init/cidfmapに

/IPAMincho		<< /FileType /TrueType /Path (/usr/share/fonts/TTF/ipam.ttf) /CSI [(Japan1) 6] >> ;
/IPAGothic		<< /FileType /TrueType /Path (/usr/share/fonts/TTF/ipag.ttf) /CSI [(Japan1) 6] >> ;
/Ryumin-Light	   	/IPAMincho
/GothicBBB-Medium	/IPAGothic

という記述があるからだろう.多分.

しかし,dvipdfmxで

rml	H	ipam.ttf
rmlv	V	ipam.ttf
gbm	H	ipag.ttf
gbmv	V	ipag.ttf

のようなファイルを利用してIPAフォントを埋め込もうとするとipam.ttfとかipag.ttfが見つけられないと文句がでる.
kpsewhichとかいうやつが探すらしい.
どうやらサーチパスはtexmf.cnfで設定されているらしい.
通常は/usr/share/texmf/web2c/texmf.cnfにあるがArchlinuxではこれはシンボリックリンクになっている
実体は/etc/texmf/web2c/texmf.cnfにある(別にどちらを編集しも問題ないが).
このtexmf.cnfのOSFONTDIRをコメントアウトする.

% OSFONTDIR is to provide a convenient hook for allowing TeX to find
% fonts installed on the system (outside of TeX).  An empty default
% value would add "//" to the search paths, so we give it a dummy value.
OSFONTDIR = /usr/share/fonts

すると

% kpsewhich ipam.ttf
/usr/share/fonts/TTF/ipam.ttf

ところで,ptexlive2009ではこの設定をしてなかったし,こんな風な設定ファイルではなかった.
しかし,ipam.ttfは埋め込めた記憶がある.何故?


ptexliveの場合はdvipdfmx用fontmap(?)が(ptex-ipa-ttf.mapとか)
texmf/fonts/map/dvipdfm/ptexlive/
以下に存在した.
そこで,それらを
/usr/share/texmf-dist/fonts/map/dvipdfm/ptexlive
におくことにした.texmf-distなのは,jsclassesがtexmf-distにあるから.

pkgname=texlive-ptexlive-fontmap
pkgver=1
pkgrel=1
pkgdesc="dvipdfm fontmaps from ptexlive"
arch=('any')
license=('unknown')
install=${pkgname}.install
source=(ptexlive-fontmap.tar.gz)

build() {
    cd $srcdir
    install -d ${pkgdir}/usr/share/texmf-dist/fonts/map/dvipdfm/ptexlive
    install -m 644 ptexlive/*.map ${pkgdir}/usr/share/texmf-dist/fonts/map/dvipdfm/ptexlive
}
md5sums=('318364bf7af4e88cd83e9d0ad888a820')
md5sums=('d95468afa386fd63f76de95c023aeb79')