&size(24){''ローマ数字・小文字''}; LaTeX で,ローマ数字をどのように表すか,ということについての説明です。 #contents #br *機種依存文字 [#aadd7c80] Windows の機種依存文字を使ってはいけません。 dviout.exe では見えていますが,pdf にした途端,消えてしまって大騒ぎ..... という事態が多くの掲示板に見られます。 また,Windows 以外の OS では文字化けします。 (下では,画像にしていますから OS は無関係です) #ref(kisyuizon.png,wrap) では,どうするのかといいますと,アルファベット (i, v, x, .....) を並べて表すのが基本です。 #ref(roman00.png,wrap) *例 [#e43153ef] 以下,ローマ数字を enumerate環境の番号付けに用いる方法をいくつかご覧いただきます. **基本例 [#rf8713dd] #ref(roman01.png) -番号が左にせり出してきて,かっこ悪い,というクレームがつきそうです。~ \fbox で四角囲みをつけるとなおさらですね。 #ref(roman02.png) 以下,その対策をいくつかみていきます。 **utf(otf) パッケージ [#u3d18468] oft (utf) パッケージには,ローマ数字を表すフォントが用意されています。 otf の方が機能が豊富ですが,emath の使用目的からすれば utf で十分でしょう。 ***utf パッケージ [#ya415a60] utf (otf)パッケージを利用するのが一つの解決法です。 #ref(utf01.png) CENTER:&ref(utf01p.tex,,上のソースリスト); -上のソースリストは~ \usepackage{emathUtf}~ を前提にしています。単に~ \usepackage{utf}~ では,~ \ajroman{\ref{....~ が通りません。emathUtf.sty では,上記参照ができるように修正をしています。 ***四角囲み [#pea7a70c] \fbox で四角囲みをつけてみましょう。 #ref(utf02.png) ***括弧括り [#mbf4d887] 括弧括りです。 #ref(utf03.png) 括弧記号まで含めて全角1文字幅というフォントが utf パッケージには用意されています。 #ref(utf04.png) -dviout.exe では,この記号を見ることは出来ません。 -utf(otf)パッケージに用意されているローマ数字は 1〜15 です。 **emath では [#d33beac9] utf では 15 までしか用意されていません。 15を超えるローマ数字を必要とすることは殆どないでしょうか。 また,utf は環境依存ということもありますので, emath でも対応を考えてみました。 ***\emromannum [#z4c6b712] \emromannum はローマ数字を iii の横幅を基準にセンタリングしています。 #ref(emroman01.png) ***横幅の基準変更オプション [#g22752b3] 数が大きくなると,横幅の基準が iii では不十分です。 #ref(emroman03.png) 必要に応じて \emromannum に (..) オプションを附加して,基準文字を変更します。 下は \emromannum(viii) としています。 #ref(emroman04.png) ***全角1文字幅に圧縮 [#xe67e3be] ローマ数字を全角1文字幅に圧縮するコマンドが \emromannum* です。 #ref(emroman05.png) -このコマンドは,内部で \resizebox を用いていますから,graphicx.sty を必要とします。 **算用数字 -> ローマ数字への変換 [#f29b728e] ***\roman [#f76fee65] LaTeX のカウンタ(enumi, page, section など)に入っている数をローマ数字(小文字)にして出力するコマンドが \roman です。 これは LaTeX のマクロです。 #ref(henkan01.png) ***\@roman [#m46573cf] \roman の引数は LaTeX のカウンタです。 直接数値を引数に与えて \roman{3} などとすることできません(エラーとなります)。 LaTeX には,引数に数値文字列を与えてローマ数字を出力するコマンドとして \@roman が用意されています。 #ref(henkan02.png) ***\EMroman [#jb7ca0ba] \@roman は,@ を含んでいますから,\makeatletter などが必要です。 emath パッケージでは,\@roman と同義のコマンド \EMroman を用意しています。 #ref(henkan03.png) ***\romannumeral [#c8c5e1ee] TeX のプリミティブ \romannumeral で変換するのが,一番オーソドックスでしょう。 emath とは無関係ですが,一応あげておきます。 ただし,\romannumeral{32}などと引数を {, } でくくってはいけません。 単に \romannumeral32 とします。 また,\romannumeral の引数は,TeX のカウンタが許容されますが, LaTeX のカウンタは許容されません。 #ref(henkan04.png) **一覧 [#wabb5403] #ref(tbl01.png) *注意事項 [#se4f46d3] *関連事項 [#e83f72c0] -emath講座にも同様の話を展開しています。~ そちらでは,enumerate のオプション引数でフォーマットを指定していますが,~ こちらでは,\labelenumi の再定義を紹介しています。 -[[大文字の場合>ローマ数字]] RIGHT:&counter;