LaTeXできれいな丸囲み文字を表示する方法

このところぜんぜんTeXを使わなくなった.ほとんど科研費の応募くらい.原稿は学会がフォーマットを提供していれば使うが,そうでなければわざわざ体裁を調整してまで使おうとは思わない.
とはいえフォーマットが提供されてさえいれば非常に簡便なのは確かで,ことにそのフォーマットがWordのものとTeXのものとでは極端に使い勝手が異なるということがままある.まさに特別研究員や科研費がそれで,公式のWordフォームは枠がずれるわ同じことを何度も書かされるわ,なんのためにコンピュータを使わせているのかと思わされる代物である.

丸囲み文字は,学振関係の書類の場合に典型的なように,あれこれとナンバリングして複雑な構造の文書を書くときに多用させられる.これをできるだけ簡便に書けると無駄なデバッグに時間を取られることも減る.

丸囲み文字

丸囲み文字自体は,おそらく標準で以下のように書くと出力できる.

\textcircled{1}

ところがこれだと,下の画像のように,数字が円の中心からずれ,外にはみ出した不恰好な表示になってしまう.


文字を丸の中央にきれいに収める

これを解決するには丸をちょっと上にずらし,文字をちょっと小さくしてやればいい.

\raise0.2ex\hbox{\textcircled{\scriptsize{2}}}

\raise0.2ex\hbox{}で丸をちょっとずらし,\scriptsize{}でちょっと文字を小さくする.


もっと簡便に書く

せっかくコンピュータを使っているのだから,コンピュータが得意な繰り返し処理をやってもらわない手はない.

プリアンブルに

\newcommand{\ctext}[1]{\raise0.2ex\hbox{\textcircled{\scriptsize{#1}}}}

と書き,丸囲み文字を出力したいところに,

\ctext{2}

などと書く.\ctextの部分はすべて同一であれば基本的になんでも構わないが,既存のコマンドと重複しないようにする必要がある.

** 2016/10/12追記

基本的な勘違いを修正.\newcommand, \renewcommandはプリアンブルに書かないとエラーが出て止まる.