[LaTeX]綺麗な下付きルビを出力

小学生相手の文章を書くならともかく,TeXで作るような文章には普通はあまりルビなんて使いませんが,でもどうしても読んでもらえなさそうな難しい漢字なんかには,後ろにカッコ書きで読み方を書くよりはルビを振ったほうがかっこいいよね。

普通の漢字の上に付けるルビは,大抵の日本語LaTeX環境に入っている,okumacro.styを使って,プリアンブルに

と書き,ルビを振りたいところで,

と打てば,
\ruby{漢字}{ルビ}
という出力が得られます。

下付きルビがほしい

普通漢字の読み仮名が欲しいときは,漢字の上にルビを振りますが,たとえば補足説明をする時など,文字の下側にルビを振りたくなることがあります。探していたら下のサイトが見つかりました。

上のサイトからの引用をすると(画像です)
下付ルビ - insomnia
これをプリアンブルに書けば,下付きルビを出力するコマンド \uruby が使えるようになります。

殺伐としたTLに
綺麗にできますね。

しかしながら,多少問題点があります。例えば,ルビの文字数が親文字の数以下のとき,

亜米利加 百舌鳥
このように,\ruby\urubyでルビの位置が異なります。どちらかと言えば,\rubyの位置のほうが綺麗。

また,\Hugeのように,本文中で文字のサイズを変更したとき,

殺伐
\rubyでは親文字の大きさに合わせて,ルビの文字の大きさも変更してくれますが,\urubyでは残念なことになってしまっています。

自分で作った

insomniaさんの\urubyを参考にしながら,okumacro.sty\rubyをベースに,\urubyコマンドを作り直しました。

これをプリアンブルに書いておけば,

2013-04-22 00_34_59-test.pdf - TeXworks
というように,\rubyと同じ挙動をします。
また,

2013-04-22 00_35_49-test.pdf - TeXworks
振り仮名の文字の大きさについては,\rubyと同じ挙動です。ただ,親文字のアルファベットの単語の前後に,\rubyではスペースが入っていますが,\urubyでは入りませんね。これは,上にルビを置くときと下にルビを置くときで,文字の配置方法が全く異なるためですが,うまい解決方法が見つからないのでとりあえずこれで良しとさせてください。コメントでいいやり方を教えていただけると助かります。

なお,このページで紹介した\urubyのコードはご自由に使っていただいて構いません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください