組文字を作成するためのパッケージです。
本パッケージでは、文字を縮小・長体にすることで組文字を再現することが出来ます。
Wikipedia によれば、以下のように説明されています。
組文字(くみもじ)は、1 行の文字列中内に複数行記述する組版のことを言う。一般には、「㍍」「㍿」のように、全角サイズ 1 文字の領域に複数文字を入れる場合が多い。
例えば、Unicode には 4 文字の「㍍」や「㍿」の他にも、2 文字「㌔」や 3 文字「㌘」等もあり、最大で 6 文字「㌖」があります。
kumimoji パッケージでは、これらのような複数文字を全角 1 文字の中に入れることで組文字を作成します。 加えて、「㍻」のような日本の年号における合字も作成可能です。(参考)
- LuaLaTeX+luatex-ja
- expl3
- bxghost(オプション)
プリアンブルで kumimoji を読み込みます。
\usepackage{kumimoji}
オプション | 値 | 説明 |
---|---|---|
font |
フォント命令(\bfseries 等) |
フォントの変更 |
bxghost |
boolean (default: true ) |
bxghost パッケージを利用するか |
uplatex |
boolean (default: false ) |
(u)pLaTeX で利用するとき |
kumimoji パッケージが提供するコマンドは 1 つです。
\kumimoji{〈組文字〉}
基本的に最小 2 文字、最大 6 文字を想定しています。1 文字の場合、そのまま出力します。
*
オプションを使用すると、「㍻」のような合字を作成できます。
\kumimoji*{〈合字〉}
基本的に 2 文字を想定しています。単純に複数文字を 1 文字幅になるように構成しているため、文字数が多い場合、非常に細長い長体が出力されます。
\kumimoji
によって作成される組文字は以下のようになります。
\kumimoji{12}
\kumimoji{123}
\kumimoji{1234}
\kumimoji{12345}
\kumimoji{123456}
7 文字以上であっても組文字は作成されます。偶数文字の場合は等分、奇数文字の場合は下段が上段より 1 文字多く配置されます。
\kumimoji{ミリシーベルト} %% 7 文字
\kumimoji{オングストローム} %% 8 文字
文字数が多すぎると単純に読みづらいものになるため、コマンドオプションで文字幅を調整することをオススメします。
ただし、途中で改行されることを想定していないため、文章の挿入は避けてください。この場合は jlreq 文書クラスで提供される \warichu
等を利用してください。
\kumimoji
にはコマンドオプションがあります。
コマンドオプションは \kumimoji[〈オプション〉]
として key-value 形式で課します。
キー | 値 | 説明 |
---|---|---|
font |
フォント命令(\bfseries 等) |
フォントの変更 |
width |
寸法(2 \zh 等) |
組文字の文字幅の変更 |
top |
left ・center ・right |
組文字上段の揃え位置 |
bottom |
left ・center ・right |
組文字下段の揃え位置 |
scale-top |
数値 | 組文字上段のスケール |
scale-bottom |
数値 | 組文字下段のスケール |
color |
色 | 文字の色付け |
例えば、以下のように利用できます。
\kumimoji[font = \gtfamily]{有限会社} %
\kumimoji[width = 2\zw]{オングストローム} %
\kumimoji[top = center]{木|木木} % 森の疑似的再現
\kumimoji[width = 1.5\zw, top = left, bottom = right]{などなど} %
組文字は上段と下段に分かれていますが、これは文字数によって自動的に采配されます。 しかしながら、上段と下段の文字数を手動で調整したいこともあるでしょう。
Unicode でも、5 文字の組文字は多くの場合「㌕」や「㌠」のように 2/3 となっていますが、「㌙」は 3/2 となっています。kumimoji パッケージでは 2/3 に采配するようになっています。
kumimoji パッケージでは区切り位置を明らかにするために |
を利用します。例えば以下のようにします。
\kumimoji{グラムトン} %%
\kumimoji{グラム|トン} %% 区切り文字の指定あり
日本語には異体字セレクタによる字形の指定があります。異体字セレクタ自体には字形がなく目に見えません。
kumimoji パッケージでは異体字セレクタも文字数としてカウントされるため、デフォルト動作による自動的な配置では奇妙な結果を得ることになります。
例えば、辻と言う文字にはシンニョウの点が 2 つのもの(辻 (U+98F4))と 1 つのもの(辻󠄀 (U+98F4, U+E0100))があります。
そのため、組文字にするときに以下のようにすると、奇妙な結果を得ることがあります。
\kumimoji{辻野さん} %%
\kumimoji{辻󠄀野さん} %% 異体字セレクタを含む
これを回避するには、2 つの処理を施してください。
- 区切り位置を明らかにする
- 上段と下段の文字数を明らかにする
上の例を基に、2 つの処理をすると以下のようになります。
\kumimoji{辻󠄀野|さん}[2, 2]
これによって上手く処理できるようになります。
この他、Mn カテゴリ に分類されるような文字数としてカウントされるべきでない文字が含まれる場合でも、上のように区切り位置と文字数を明らかにしてください。
*
オプションによって合字になります。
\kumimoji*{令和} % 2 文字
\kumimoji*{三畳紀} % 3 文字
コマンドオプションは次の通りです。
キー | 値 | 説明 |
---|---|---|
font |
フォント命令(\bfseries 等) |
フォントの変更 |
width |
寸法(2 \zh 等) |
組文字の文字幅の変更 |
color |
色 | 文字の色付け |
現在、知られた問題はありません。
- badbox (
Underfull \hbox (badness 10000)
) が発行される - 縦書きに対応していない
\regex_replace_all
による置換するとエラーを発行する
MIT License