平衡点


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を利用している場合には @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でのリストについて何か書きます」との事です. よろしくお願いします.


連絡先など
最近の日記
  • 2024/12/05
    • 1. 11月末〜12月の出張三昧がようやく一段落
    • 2. サイトの scss を Dart Sass v3.5 に対応
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|12|
Back to Top ▲