これはTeX & LaTeX Advent Calendar 2015の第3日目の記事として書かれたものである.
ここで扱うローマ数字とは,次の七あるいはその小文字を含めて十四のラテン・アルファベットの組み合わせによる数値表現である1.
これらはそれぞれいわゆるアラビア数字による次の数値らに対応している.
1から20までを例示すると次のようになる.
I (1),II (2),III (3),IV (4),V (5), VI (6),VII (7),VIII (8),IX (9),X (10), XI (11),XII (12),XII (13),XIV (14),XV (15), XVI (16),XVII (17),XVIII (18),XIX (19),XX (20)
基本的な記述のルールは大雑把には次のものである.
今日では一般に最小の長さにするルールも存在する.伝統的な表現方法としては必ずしも適用されるというわけではなく,組版上の問題からもいささか離れるので,ここでは扱わないこととする.
現代においてローマ数字は特別といって差し支えない場面で用いられることが多い,したがって,ローマ数字による数値表現は特別な意味合いを持つことになる.例えば次のような場面である.
ローマ数字はベタで並べることのみによって組む.すなわち,恣意的な字間の調節等は行わない.これは,当該書体/フォントが予めもっている設定にのみ従うということを意味する.
字間に不満がある場合は,字間に不満のない書体/フォントを選択することによって解決する必要がある.
ローマ数字に用いる書体は当該文書に用いている欧文書体である.したがって,ローマ数字部分のみ他の書体/フォントを用いることはこれを行わない.
また,そのようにローマ数字に使用されるアルファベットがデザインされている場合,すなわち,Iが連続するような並びの場合にI同士が接近するように字間が設定されている場合を除いて,セリフのある書体であっても,セリフが接触するような恣意的な字間調整を行わない.
そのようなローマ数字を用いたければ,当該文書で用いている書体をそのようなものに,文書全体で変更することによって解決する必要がある.
なお,和欧文混植の場合,ローマ字を組む書体は当該欧文書体を用い,全角中にデザインされたものを用いないことを原則とするのは当然である.
注:ローマ数字を用いる時点で和欧混植の状態である.
LaTeXにおいては,ローマ数字を組むのは至極簡単で,まさに単に並べるのみである.恣意的な字間の調整は行わないのは上の組み方で述べた通りである.
一方でLaTeXにはローマ数字に関して次の四つのマクロが用意されてはいる.
単純には前半の二つはカウンターを引数にとるマクロであり,また,後半の二つは@付きであるので,クラス/スタイルファイル以外では,そのまま単純には使用できない.
いずれにせよ,LaTeXを用いた文書の書き手には無縁のマクロといえる.
下記の問題において,必要な諸条件は各々設定すること.
問題1:\classicalroman{1999}と入力した場合にmdcccclxxxxviiiiと出力し,\classicalroman{499}と入力した場合にはcccclxxxxviiiiと出力するマクロ\classicalromanを作成せよ.
問題2:\classicalRoman{1999}と入力した場合にMDCCCCLXXXXVIIIIと出力し,\classicalRoman{499}と入力した場合にはCCCCLXXXXVIIIIと出力するマクロ\classicalRomanを作成せよ.
iの代りにjを用いる場面もあるがここでは触れない. ↩︎