Open19

TeXの覚え書き

津茶利休津茶利休

組版規則

日本産業規格 「日本語文書の組版方法」JIS X 4051
日本語組版規則の基準となるもので、「日本語組版処理の要件」でも参照されている。

もちろん、規格とは利便性のための標準であって、目的に応じて自由に組んで良い。
つまり実際の組版規則は各出版社や各著者ごとにある。

「日本語組版処理の要件」
https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/
これは、組版の仕組みを作る人が読む技術要件で、組版規則ではない。

津茶利休津茶利休

\afterasignment
\器 あいう\終
あ\器 いう\終
あい\器 う\終
あいう\器\終
あいう
こんなふうに字句(トークン)を一つずつ処理する自動器(オートマトン)を作る時、寸法がじゃまになる。
\器 あい\hskip10ptう\終
こういう時\afterasignment が使えるのかも。
ひとまず深入りはやめておこう・・・

津茶利休津茶利休

「3匹の小TeX」の構想
TeXは一回の処理で多くの役割をこなす。
これは大きすぎて扱いづらいので、TeXを3回に分けて使うことにしよう。

・開TeXまたは展TeX
命令を展開した.texを出力
実現器:テコテフなど

・行TeX(未開発・未着手)
\break (改行命令)を入れた.texを出力
TeXの記録を解析すれば分かるはず。記録では動的計画法による行分割の候補位置が見れる。

・組TeX
PDFやDVIなどを出力

これをすれば、下線や割注がよい方法で出来るかも。
縦組みや2段組でのぶら下げ組などもより易しくうまく出来るかも。

そのうち自分が作るかもしれないけど誰かが作ってくれても嬉しい。

津茶利休津茶利休

kpsewhichが古いフォルダを探してしまう
warning: kpathsea: configuration file texmf.cnf not found in these directories: /usr/local/texlive/2022/bin/universal-darwin:......

原因
brewのdvisvgmが干渉している
which kpsewhich
/usr/local/dvisvgm/bin/kpsewhich

解決法
sudo mv /usr/local/dvisvgm/bin/kpsewhich /usr/local/dvisvgm/bin/kpsewhich.bak
解決
which kpsewhich
/Library/TeX/texbin/kpsewhich

津茶利休津茶利休

TeXLiveのminimalスキームがあるのに気づかずいつもbasicを使っていた。
minimalなら最小限の構成にできていい感じ。
ほとんど使わないものがたくさん詰まって導入に半日もかかるフルスキームは誰にもおすすめできない。
#テフライブ !

津茶利休津茶利休

MiKTeXは、最小構成のTeX環境という思想的に優れたTeX配布体。
ただし今のところインテル用で、アップルシリコン機ではロゼッタ2が要る。ロゼッタ2が廃止となる2026年以降がやや心配。

津茶利休津茶利休

plainTeXで使える\cfrac (連分数)

\def\cfrac#1#2{{\strut#1\over\displaystyle#2}}
(TeXブック(日本語版)199頁を参考に命令化したもの)

津茶利休津茶利休

\pdfsaveposを使った線の行分割(デイビッドカーライルさん作)
各文字や糊に引くのではなく、組んだ後に\rlap,\llapで一気に引く。
2回処理が必要だけど、線の引き方としてはある意味最も正しい。
3行以上には非対応(手動なら\vadjust{\vskip1pt\hrule}とか)
https://tex.stackexchange.com/questions/111347/splitting-root-symbol

津茶利休津茶利休

tikzなどの図も、表も、(時には数式も、)TeX文書内に直接書くのではなく、ページ番号無しの単体TeX文書にしてpdfcrop(やstandalone文書類)で独立したpdfにしておいたほうがいい。TeX文書ではpdfを図として読み込む。
そのほうが他の媒体で再利用しやすい。
依存関係も整理できる。

津茶利休津茶利休

促音拗音の連続が詰まる日本語TeXがあり、これはアスキー版⽇本語TeXのjfmに由来する仕様だが、正しくは詰めない方がよいとされる。
参考文献:藤田眞作『LaTeX本づくりの八衢』67頁

https://x.com/ttylys/status/1978159164204388701

luatexja, BXjscls, uplatex + ujarticle など(あまり正しく把握していないので適当に書いている)の最近の日本語 TeX 環境では、詰めずに正しく組まれるような気がするけれど、どの環境かで、詰まってしまうのかも知れない。

津茶利休津茶利休

Yusuke Terada さんが教えてくれて、platex で jarticle.cls を使った場合にの現象だと分かりました。
jarticle.cls で呼び出される min10.tfm の設計によるそうです。
文書類型なども詳しく分かってよかったです。

https://x.com/doraTeX/status/1978728934163300697

platex でも jsarticle.cls を使う場合は促音拗音の連続は詰まったりしないそうです。