W32TeX や TeX Live では既に更新されている。
- Package PXrubrica (CTAN) 1.1 版。
バグがチョット減った
前側の禁則が破れていた
pxrubrica の仕様としては、ルビ付文字列前後の禁則処理は「大抵は上手くいく」((複雑な場合には禁則が破れることがあり、その場合がユーザが補助設定“*
”を補う必要がある。))ことになっている。ところが、以前の実装では前側の禁則処理が全く機能していなかった。(自分が pTeX の禁則ペナルティの挿入処理について誤解をしていたのが原因。)
% pLaTeX文書 \documentclass[a4paper]{jsarticle} \usepackage{pxrubrica} \begin{document} \parbox{15zw}{% 行長を全角15文字分に こうして、世の中にまた一つの 「\ruby[g]{ネ申}{かみ}Excel」が 誕生したのである。} \end{document}
(旧版の出力)
新版ではこれが修正されて、禁則が保たれるようになる。
(新版の出力)
両側ルビと小書き文字変換の組合せがアレだった
両側ルビ(\truby
)で小書き文字変換を有効(基本モード f
)にした場合、下側(縦組では左側)のルビで小書き文字変換が効いていなかった。
% pLaTeX文書 \documentclass[a4paper]{jsarticle} \usepackage{pxrubrica} \begin{document} 例えば % 'f'指定で"かっこう"→"かつこう"となる \truby[f]{閑古鳥}{かっこう}{かんこどり}とか % だけど下側ルビには効かなかった… \truby[f]{閑古鳥}{かんこどり}{かっこう}とか。 \end{document}
(旧版の出力)
新版ではちゃんと両方のルビに小書き文字変換が適用される。
(新版の出力)
欧文ゴースト処理がサッパリ使えなかった
以前の記事でチョット触れたように、pxrubrica では既定ではゴースト処理を利用しないが、\userubyjghost
でゴースト処理を利用する設定に切り替えることができる。(ゴースト処理の使用・不使用は一長一短がある。)
\userubyjghost
は和文ルビを対象とするものだが、同様に欧文ルビ(\aruby
)についても(欧文の)ゴースト処理を有効にする \rubyuseaghost
という命令がある。ところが、実際にこの設定を使うと、\aruby
で常にエラーが起こってしまい、全く使い物にならなかった。
% pLaTeX文書 \documentclass[a4paper]{jsarticle} \usepackage{pxrubrica} \rubyuseaghost % 欧文ゴースト処理を有効化, したいが… \begin{document} 求む、\aruby{\TeX}{アレ}とか \aruby{Ti\emph{k}Z}{ヒャッハー}に詳しい人。 \end{document}
<code>! Undefined control sequence. \pxrr@aprologue ->\ifpxrr@aghost \pxrr@aghost \fi \begingroup \pxrr@abodytru... l.5 求む、\aruby {\TeX}{アレ}とか ?
新版では欧文ゴースト処理が使えるようになる。
(新版の出力)
ちなみに、ゴースト処理を用いない場合、特に欧文ルビの場合は、前後の文字と辻褄を合わせるための補助設定を自分で行う必要がある。(既定では、前後ともに行分割禁止で空き挿入無しとなる。*1)
% '.'は空白無しで行分割許可 % ':'は和欧文間空白入りで行分割許可 求む、\aruby[.-:]{\TeX}{アレ}とか \aruby[:-:]{Ti\emph{k}Z}{ヒャッハー}に詳しい人。
従って、「欧文ルビだけ(進入しないことにして)ゴースト処理を有効にする」という判断が妥当な場合もあるだろう。
LuaLaTeX・XeLaTeX できるようになった
これまで pxrubrica は(少なくとも公式には)pLaTeX と upLaTeX のみをサポートしていたが、新版では LuaLaTeX・XeLaTeX もサポートされる。特に、LuaLaTeX + LuaTeX-ja および XeLaTeX + xeCJK の環境では、全ての機能が利用できるはずである。*2
% XeLaTeX文書, 文字コードはUTF-8 \documentclass[xelatex,ja=standard,a5paper]{bxjsarticle} \usepackage{pxrubrica} % Lohit Fonts: https://pagure.io/lohit \newfontfamily{\fTaml}[Script=Tamil]{Lohit-Tamil.ttf} \begin{document} % やっぱり「XeLaTeXで日本語」は面倒くさいね \noindent\mbox{}% 「わー、このカレー、すごく\ruby{辛}{かれ}ぇー」\\ 「何だ、その\ruby{苔}{こけ}\ruby{生}{む}した ような古いギャグは」\\ 「まあ。でも、よく考えてみると、『辛い』という言葉は 英語の\aruby[:-:]{curry}{カリー}が日本に入ってくる ずっと前からあるわけだよな」\\ 「だから何?{}」\\ 「もしかして、日本語の起源は英語なのかも!{}」\\ 「何だ、また唐突に……。大体、英語のcurry自体が 元々はどこかインドの言葉だろ。何せカレーだから。 えーと……、ウィキペによると、元はタミル語の \aruby[:-]{\fTaml கறி}{カリ}、らしい」\\ 「わかった!{} 日本語はタミル語だ!{}」 \end{document} \Entry{latha.ttf} \Entry{vijaya.ttf}