平衡点
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
とか」のお話とのことです.
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を利用している場合には
@aminophenの plautopatch
の利用がお勧めです.
% texdoc plautopatch
Buster に収録されているのは v0.9b
です.
本題(?) - Lua(La)TeX
Debian Buster に収録されている luatex-ja
は 20190225.0
です.
普段の教材作成にバリバリと利用しております.
最近は UD デジタル教科書体が良い雰囲気なんですが, うーむ…
さて.
自分で何かを書く時には Lua(La)TeX を使っていますが,
- 学会のフォーマットが(u のつかない) pLaTeX であったり
- 他人と共同執筆/編集する時に説明が面倒だったり
という理由で, 多くの場合で未だに(u のつかない)pLaTeX がメインだったりして, 「Lua(La)TeX をメインで使ってます!」とはなかなか言えない状況です.
この辺は数年前からあまり変わってません. 移行できないハードルをひとつずつ潰していくしかないとは思うのですが (というわけで, 身近な人々には少しずつ布教し続けているわけですけれど). どうしたモンかなぁ.
@CareleSmith9 みたいな人が(直系の)研究室に入ってきた, みたいな事象があって, イロイロと助かったり/嬉しかったりはするのですが
…なにか起爆剤的な要素はないだろうか?
そんなこんなで
Debian 10 "Buster" での TeX 環境についてまとめてみました (毎年, あまりまとまっていなくてすみません).
明日はやまいもさんが「jlreqでのリストについて何か書きます」との事です. よろしくお願いします.