wiki:TeXEnvironment

Version 76 (modified by munepi, 9 years ago) (diff)

--

TeX 環境

TeX 環境 Vine Linux 7

次期 TeX Live のバージョンは、TeX Live 2012 を採用する予定。 TeX Live 2012 をベースに、必要に応じて有用な機能などを取り込み、Vine Linux 向けにカスタマイズする予定。

また、以下の機能の取り込みも検討する。

  • 組版エンジンが ptex である "platex" も使えるようにしておく
  •  LuaTeX-ja の最新成果を取り込み

方針

  •  TeX Live tlptexlive ベースにしつつ、操作性を変えない。
  • できるかぎり、パッケージングに手間をかけない。
  • 無駄に細かすぎるサブパッケージを作らない。

TeX Live のバージョン

2012-12-01 現時点の VineSeed に、TeX Live 2012 を採用。

TeX Live 2012

  • upTeX が upstream に取り込まれた
  • updmap が KanjiMap に対応した
  • otf パッケージが取り込まれた
  • LuaTeX-ja パッケージが取り込まれた

tlptexlive リポジトリ

 tlptexliveリポジトリ - ptexlive Wiki を組み合わせることで、TeX Live 2012 に不足している日本語対応周りが補足される。

  • pxdvi
    • !pxdviUse, !kanjiVariant
  • pmetapost

TeX Live 2011

tlptexlive リポジトリ

 tlptexliveリポジトリ - ptexlive Wiki を組み合わせることで、TeX Live 2011 に不足している日本語対応周りが補足される。

  • pxdvi
    • !pxdviUse, KanjiMap
  • pmetapost
  • OTF パッケージ

TeX Live 2010

  • pTeX が upstream に取り込まれた
    • xdvik の日本語化、updmap の KanjiMap などが未対応

TeX Live 2009

RPM パッケージ

カテゴリ(リポジトリのカテゴリ) パッケージの組み合わせtexlive-collections-* の生成コメント
最小(main) texlive + texlive-common (= texlive-collection-langgerman + texlive-collection-langcyrillic + texlive-collection-xetex + texlive-collection-latexrecommended + texlive-collection-latex + texlive-collection-fontsrecommended + texlive-collection-basic + texlive-collection-langcjk) + jvf + texlive-macros $ tlpdb2rpmspec --minimal-collections
標準(plus) + texmacro-otf + texlive-collection-latexextra + texlive-collection-luatex + texlive-collection-pictures + texlive-collection-genericrecommended + texlive-collection-fontutils $ tlpdb2rpmspec --standard-collections task-texlive
最大(plus) + 残り全部 $ tlpdb2rpmspec --full-collections task-texlive-full

texlive

Vine Linux 7 向けの TDS は、以下のような階層になっています。

  • /usr/bin
  • /usr/share/
    • /usr/share/texmf
    • /usr/share/texmf-dist
    • /usr/share/texmf-local
    • /usr/share/tlpkg
  • /etc/texmf: 従来の /usr/share/texmf-config
  • /var/lib/texmf: 従来の /usr/share/texmf-var

{ptex,uptex,otf,otf-up}-vine.map

Vine Linux 向けの map ファイル {ptex,uptex,otf,otf-up}-vine.map は、 /var/lib/texmf/fonts/map/dvipdfmx/vine 以下に生成されます。

従来の vine.map は、ptex-vine.map に変わりました。

ビルド

vbuilder を使って texlive-2012 パッケージをリビルドします。

$ vbuilder --version ''version'' --arch ''arch'' build-rpm texlive-2012-Xvl7.src.rpm

texlive-collection-*

texlive2011.iso:/tlpkg/texlive.tlpdb において category Collection をフィールドに持つパッケージです。

tlpdb2rpmspec コマンドを使って、 これらの rpm を生成します。

texlive-common

TeX Live パッケージの共通ベースを提供するするための仮想パッケージ。

  • texlive-collection-langcjk
  • texlive-collection-langgerman
  • texlive-collection-langcyrillic
  • texlive-collection-xetex
  • texlive-collection-latexrecommended
  • texlive-collection-latex
  • texlive-collection-fontsrecommended
  • texlive-collection-basic

texlive-sources

TeX Live のアーカイブを展開して固めたパッケージ。

  • /usr/share/texlive-sources
    • texmf
    • texmf-dist
    • source
    • ...

texlive-macros

追加マクロパッケージ。

  • kanjifonts
  • jsclasses
  • jlistings

jvf

Vine Linux 用の vf をまとめたパッケージ。

pTeX に必要な tfm や vf は、TeX Live 2012 の texmf-dist 以下にすでに格納されています。

xdvi-search-el

TeX の src-special を Emacsen上で使用するための elisp です。

texworks

TeX Live に標準搭載されている TeX 環境総合エディタです。

task-texlive, task-texlive-full

texlive 環境を一通りインストールするための仮想パッケージです。

task-texlive, task-texlive-full に対応する task-texlive-doc, task-texlive-full-doc もそれぞれ提供しています。

TeX Live 2012 のインストール過程

  1. texlive %pretrans を用いて、TeX Live 2009, 2011 から 2012 への移行処理
  2. 必要に応じて、%post で mktexlsr, updmap-sys, fmtutil-sys, mtxrun --generate を実行するフラグを立てる
  3. /etc/texmf/web2c/updmap.cfg に対して、Requires に依存されているパッケージに含まれているフォントマップを有効
  4. %posttrans で mktexlsr, updmap-sys, fmtutil-sys, mtxrun --generate を実行
    ## use some macros for %post, %posttrans
    %define touch_run(%1)	%{expand:( %__mkdir_p /var/run/texlive; touch /var/run/texlive/run-%1; )
    }
    %define exec_upddeffont	[ -x %{_sbindir}/update-defaultfont ] && \\\
        %{_sbindir}/update-defaultfont 2> /dev/null
    %define exec_texhash	[ -e /var/run/texlive/run-texhash ] && ( \\\
        [ -x %{_bindir}/texhash ] && \\\
        echo -n "    "; echo -n "Running texhash... "; \\\
        %{_bindir}/texhash 2> /dev/null; \\\
        echo "done." ) && %__rm -f /var/run/texlive/run-texhash;
    %define exec_mtxrun	[ -e /var/run/texlive/run-mtxrun ] && ( \\\
        [ -x %{_bindir}/mtxrun ] && \\\
        echo -n "    "; echo -n "Running mtxrun... "; \\\
        export TEXMF=%{texmf}-dist TEXMFCNF=%{texmf}/web2c TEXMFCACHE=%{texmfsysvar}; \\\
        %{_bindir}/mtxrun --generate &> /dev/null; \\\
        echo "done." ) && %__rm -f /var/run/texlive/run-mtxrun; 
    %define exec_fmtutil	[ -e /var/run/texlive/run-fmtutil ] && ( \\\
        [ -x %{_bindir}/fmtutil-sys ] && \\\
        echo -n "    "; echo -n "Running fmtutil-sys... "; \\\
        %{_bindir}/fmtutil-sys --all &> /dev/null; \\\
        echo "done." ) && %__rm -f /var/run/texlive/run-fmtutil; 
    %define exec_updmap	[ -e /var/run/texlive/run-updmap ] && ( \\\
        [ -x %{_bindir}/updmap-sys ] && \\\
        echo -n "    "; echo -n "Running updmap-sys... "; \\\
        %{_bindir}/updmap-sys --nohash --quiet &> /dev/null; \\\
        echo "done." ) && %__rm -f /var/run/texlive/run-updmap; 
    
    
    
    %post
    %touch_run texhash
    %touch_run updmap
    %touch_run mtxrun
    %touch_run fmtutil
    exit 0
    
    %posttrans
    %{exec_texhash}
    %{exec_mtxrun}
    %{exec_updmap}
    %{exec_fmtutil}
    exit 0
    

TeX Live 2012 への更新による対応が必要なパッケージ

  • dvipng: dvipng パッケージを活かす?、または、texlive 側に取り込むか?
  • asymptote: texlive 側との調整が必要
  • tlmgr: texlive パッケージから取り除く予定
  • mathabx-type1: orphaned/obsoletes へ移動
  • evince-dvi: BR: libkpathsea-devel >= 2012 でリビルド
  • lcdf-typetools: BR: libkpathsea-devel >= 2012 でリビルド

テスト事項

texlive

so name のチェック

people/munepi/scripts/check-texlive-binaries.sh を実行する。

Babel

texmacro-otf:

people/munepi/documents/11/beefplate.tex を platex でタイプセットして、pxdvi, dvipdfmx, dvips でそれぞれ正しくフォントが表示・埋めこまれているかを確認する。

$ platex beefplate
$ pxdvi beefplate
$ dvipdfmx -r 8000 beefplate && acroread beefplate.pdf
$ dvips -Ppdf beefplate && ps2pdf beefplate.ps beefplate.pdf && acroread beefplate.pdf

dvipdfmx: いくつかの画像形式の埋め込みをチェック

people/munepi/scripts/chkdvipdfmx.sh を実行して、すべての PDF ファイルで画像が埋め込まれていることを確認する。