平衡点


2018/12/06 [長年日記]

_ TeX on Debian 10 (Buster)

この記事は「TeX & LaTeX Advent Calendar 2018」の6日目の記事です. 5日目は @tamuratak による 「VSCode拡張のLaTeX Workshopにコントリビュートした話」でした.

お題として, 毎度毎度の「TeX on Debian」のお話をするわけですが, 今年の重点テーマは 「とにかくLua(La)TeXしよう」 です. はてさて.

さて, Debian Projectでは 次期安定版Debian 10(Buster)のリリースに向けたFreeze(Transition Freeze)を年明け2019/01/12に予定しており, 大きな変更が無ければ現在BusterのリポジトリにあるTeXLiveがそのまま利用できる予定です. 現在のversionはPackages overview for Debian TeX Maintainersのtesting の欄をご覧下さい.

…それだけだとアレなんで.

バージョンはそれぞれ

% tex
This is TeX, Version 3.14159265 (TeX Live 2019/dev/Debian) (preloaded format=tex)
**

とか

% latex
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex)
 restricted \write18 enabled.
**

とか

% platex
This is e-pTeX, Version 3.14159265-p3.8.1-180901-2.6 (utf8.euc) (TeX Live 2019/dev/Debian) (preloaded format=platex)
 restricted \write18 enabled.
**

とか

% uplatex
This is e-upTeX, Version 3.14159265-p3.8.1-u1.23-180901-2.6 (utf8.uptex) (TeX Live 2019/dev/Debian) (preloaded format=uplatex)
 restricted \write18 enabled.
**

とか

% xelatex
This is XeTeX, Version 3.14159265-2.6-0.99999 (TeX Live 2019/dev/Debian) (preloaded format=xelatex)
 restricted \write18 enabled.
**

とか

% lualatex
This is LuaTeX, Version 1.07.0 (TeX Live 2019/dev/Debian)
 restricted system commands enabled.
**

とか(…あとなんだっけ?)

インストール

apt 万歳, ということで

% sudo apt install texlive-full

とでもしておきましょう. ドキュメントも含め数GB程度インストールされますが, どうせ texdoc でマニュアル読む事になりますので(…ならない?)

日本語の扱い/フォント埋め込みの挙動

毎度書いてる気がするんですが, 某研究室の学生さんが未だにフォントを埋め込まずにPDFを出力していたので 現状を踏まえて書いておきます.

kanji-config-updmap{-user,-sys}cjk-gs-integrate のおかげで 以前に比べて格段に楽になっており, 凝った事をしない場合にはこれらのコマンドを唱えるだけで良い筈です.

素の状態では {u}pLaTeX のフォント埋め込み状況は

% kanji-config-updmap-user status  # ユーザ毎の設定
or
% sudo kanji-config-updmap-sys  status  # システム全体の設定
CURRENT family for ja: noEmbed
Standby family : ipa
Standby family : ipaex

などと表示されるかと思います. …というわけで, この状態では何も埋め込みません. (u)pLaTeX→dvips→ps2pdfwr(u)pLaTeX→dvipdfmx でPDFを生成した場合には Ryumin-Lirght, GothicBBB-Medium への参照になっており, 実際の表示はViewerに依存します. とりあえず ~/.config/fontconfig/fonts.conf あたりに

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <!-- %%% PDF font aliases %%% -->
  <match target="pattern">
    <test qual="any" name="family">
      <string>Ryumin</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>IPA Mincho</string>
    </edit>
  </match>
  <match target="pattern">
    <test qual="any" name="family">
      <string>GothicBBB</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>IPA Gothic</string>
    </edit>
  </match>
</fontconfig>

とでも唱えておきましょう.

自由なフォントとしてIPAフォントIPAexフォントを使う場合には, 例えば

% kanji-config-updmap-user ipa  # ユーザ毎の設定
or
% sudo kanji-config-updmap-sys  ipa  # システム全体の設定

とすると, (u)pLaTeX→dvips→ps2pdfwr(u)pLaTeX→dvipdfmx でPDFを生成した場合には これらのフォントが埋め込まれます.

ついでに

% sudo cjk-gs-integrate --link-texmf --force

と唱えておくともっと幸せになれるかもしれません.

lua(la)tex

以前は好きなフォントが使えなくてジタバタしていた記憶があるのですが, いつのまにか使えるようになってました…おやー?

というわけで, 細かい使い方についてはLuaTeX-ja の使い方を参照して下さい. (ヒドい)

「最新のアレが無いんですが」「特にTeXConf2018で聞いたアレが無いんですが」

…無いです. そういう方は TEXMFHOME を指定して, そこに放り込むと良いですよ. もしくはTeX Live and Debian/Ubuntuを参考に equivs で dummy パッケージを作ってインストールしておき, 安心(?)してvanillaなTeXLiveをインストールして下さい.

そんなこんなで

最近はTikZで絵を書いたり directlua でゴニョっとしたり, といった事もやってはいるのですが, いかんせんまとまりが無いので, この辺で(時間が無いねぇ…

明日は@chamaps20による「ベースラインとか jis.tfm とか」のお話とのことです.