マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

新しくなるはずの BXjscls に関する何か (2)

BXjscls についてバグを修正した。現段階で 0.9 版の仕様は固まったと考えている。

和文用設定の共通命令

standard 和文ドライバ使用時(オプションに jadriver=standardn を指定した時)は和文に関連する文書そーす記述をエンジンに依らずに共通になることを目指している。従って、和文関連の組版パラメタの設定*1についても「共通の命令」が提供される。

  • 和文ファミリ変更命令: \mcfamily で「明朝」、\gtfamily で「ゴシック」に変更される。\textmc\textgt も使える。
  • 欧文ファミリ変更命令での和文の連動: \rmfamily和文が「明朝」、\sffamily および \ttfamily和文が「ゴシック」に変更される。
  • \zw和文の全角幅を表す。例えば 2\zwpLaTeX2zw に相当する。
  • \jQ\jH\trueQ\trueH: それぞれ pLaTeX の単位 QHtrueQtrueH に相当する長さ。
  • \ascQ\trueQ和文スケール値((クラスオプション scale で指定した値。既定値は JS クラスと同じ値。))で割った長さ。例えば、\fontsize{10\ascQ}{16\trueH}和文のサイズが 10Q になる。
  • \setxkanjiskip{<長さ>}: 和欧文間空白の量を指定する。pLaTeX\setlength{\xkanjiskip}{<長さ>} に相当する。
  • \getxkanjiskip: 現在の和欧文間空白の量を表す文字列に展開される。pLaTeX\xkanjiskip の読出((正確にいうと、\the\xkanjiskip。))に相当する。
  • \autoxspacing\noautoxspacing: 和欧文間空白の挿入を有効/無効にする。pLaTeX の同名の命令と同等。
  • \setkanjiskip{<長さ>}和文間空白の量を指定する。pLaTeX\setlength{\kanjiskip}{<長さ>} に相当する。
  • \getkanjiskip: 現在の和文間空白の量を表す文字列に展開される。pLaTeX\kanjiskip の読出((正確にいうと、\the\xkanjiskip。))に相当する。
  • \autospacing\noautospacing和文間空白の挿入を有効/無効にする。pLaTeX の同名の命令と同等。

例えば、pLaTeX において、次のように「和文間空白」を利用して均等割りを行うという技法が知られている。

%% \kintouwari{<整数n>}{<テキスト>}
% n全角の幅にテキストを均等割りで出力する.
\newcommand\kintouwari[2]{{%
  \setlength{\kanjiskip}{\fill}%
  \makebox[#1zw][s]{#2}}}

これと同等のものを、次のようにエンジン非依存な形で書くことができる。

% 文字コードはUTF-8; どのエンジンでもOK
\documentclass[autodetect-engine,a4paper,jadriver=standard]{bxjsarticle}
%% \kintouwari{<整数n>}{<テキスト>}
% n全角の幅にテキストを均等割りで出力する.
\newcommand\kintouwari[2]{{%
  \setkanjiskip{\fill}%
  \makebox[#1\zw][s]{#2}}}
\begin{document}
\noindent いろはにほへと\\
\kintouwari{7}{ちりぬるを}\\
\kintouwari{7}{わかよたれそ}\\
\kintouwari{7}{つねならむ}
\end{document}

*1:元々 pLaTeX において LaTeX レベルで可能であったものに限る。