平衡点


2019/12/06 [長年日記]

_ TeX on Debian 10 (Buster)

はじめに

この記事は「TeX & LaTeX Advent Calendar 2019」の6日目の記事です. 5日目は@CareleSmith9によるfontspecについてでした。

以下では Debian ver.10 Buster での TeX 環境についてまとめています.

今年の重点テーマは 「やっぱりLua(La)TeXしよう」 です. そういや昨年も6日目にTeX on Debianの話をしていたわけで その時には「あれ, Lua(La)TeXどうした…?」となったわけですが.

閑話休題

Debian Projectでは 2019年7月6日に安定版 Debian ve. 10 (コードネーム "Buster")をリリースしました (紹介記事を 第581回 Debian 10 "Buster"の紹介 - Ubuntu Weekly Recipe - に寄稿しています). 現在は 2019年11月16日にリリースされた, ポイントリリース ver. 10.2 が最新安定版となっています.

インストール

「apt 万歳」ということで何も考えずに

% sudo aptitude install texlive-full -R

しておきましょう(-R--no-install-recommends です). 依存する諸々も含めて数GB程度インストールされますが texdoc でドキュメント読んだりするでしょうし, 必要なものは入れておいて良いのではないかと.

現在収録されている TeXLive の バージョンは 2018.20190227 です. コマンドを実行すると, それぞれ

% 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.
**

となります(あとなんだっけ?).

(u)pLaTeXでの日本語の扱い/フォント埋め込みの挙動

毎度毎度毎度毎度書いてる気がするんですが, 今の職場の方が未だにフォントを埋め込まずに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 で処理した場合には, フォントは埋め込まれません.

公官庁系の PDF では未だにフォントが埋め込まれていない PDF が公開されたりして 悶絶することがあったりしますが, とりあえず ~/.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

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

(u)pLaTeX で「好きなフォントが使いたい」とか言う場合には,

% texdoc pxchfon

として, @zr_tex8r に感謝を捧げつつ, 収録されている pxchfon (Buster では v1.3)のドキュメントを熟読しましょう (可能かどうかは…).

また, (u)pLaTeXを利用している場合には @aminophenplautopatch の利用がお勧めです.

% texdoc plautopatch

Buster に収録されているのは v0.9b です.

本題(?) - Lua(La)TeX

Debian Buster に収録されている luatex-ja20190225.0 です. 普段の教材作成にバリバリと利用しております. 最近は UD デジタル教科書体が良い雰囲気なんですが, うーむ…

さて.

自分で何かを書く時には Lua(La)TeX を使っていますが,

  • 学会のフォーマットが(u のつかない) pLaTeX であったり
  • 他人と共同執筆/編集する時に説明が面倒だったり

という理由で, 多くの場合で未だに(u のつかない)pLaTeX がメインだったりして, 「Lua(La)TeX をメインで使ってます!」とはなかなか言えない状況です.

この辺は数年前からあまり変わってません. 移行できないハードルをひとつずつ潰していくしかないとは思うのですが (というわけで, 身近な人々には少しずつ布教し続けているわけですけれど). どうしたモンかなぁ.

@CareleSmith9 みたいな人が(直系の)研究室に入ってきた, みたいな事象があって, イロイロと助かったり/嬉しかったりはするのですが

…なにか起爆剤的な要素はないだろうか?

そんなこんなで

Debian 10 "Buster" での TeX 環境についてまとめてみました (毎年, あまりまとまっていなくてすみません).

明日はやまいもさんが「jlreqでのリストについて何か書きます」との事です. よろしくお願いします.


連絡先など
最近の日記
  • 2020/02/06
    • 1. お買いモノ: Monos 家庭用コンセントタップ PLUGO レッド
  • 2020/02/01
    • 1. jekyll plugin: <img> を <amp-img> に変換する lquid filter
    • 2. amp-gist の bottom margin
  • 2020/01/16
    • 1. tridactyl を試してみる
  • 2020/01/13
    • 1. Amazon PA-API v5 への移行⇒駄目っぽい.
  • 2020/01/09
    • 1. そろそろ WF-1000XM3 について書いておく

最近の買い物
  • B0018TZFBQ
  • B07TKGGZ47
  • 4410152297
  • B00HG1G1Y0
  • B000EXXEWE
  • B00HG1G1YK
  • B07FSGSY7D
  • B07LD8Q65H
  • B07GJJM9TY
  • B075TZM9CY
  • B01N1MQDRK
  • B013S2YAU2
  • B00LO3KR96
  • B01N6Q6V2C
  • B00H7MWD0O
  • B016A17R1W
  • B01LQQHF2W
  • 9784000051668