2015/01/01

Latexで◯1を綺麗に出力するシンプルな方法

http://tex.stackexchange.com/questions/7032/good-way-to-make-textcircled-numbers
  が元ネタです

まとめ:\newcommand{\maru}[1]{\raisebox{.5pt}{\textcircled{\raisebox{-.9pt} {{\small #1}}}}} でok

2015/01/13追記:
caption内で使うなら
\newcommand{\maru}[1]{\raisebox{.5pt}{\textcircled{\raisebox{-.9pt} {{\footnotesize #1}}}}} の方がいいかも。


Latexには\textcircledっていう◯1とか◯Aとか出力するための関数があります。
ただ、下の図の上側みたいに文字がずれて表示されてしまい
残念な気持ちになります。
そこで、
\newcommand{\maru}[1]{\raisebox{.5pt}{\textcircled{\raisebox{-.9pt} {{\small #1}}}}}
というように\maruコマンドを定義してやると、
下のような感じに文字が綺麗に収まります。

上で上げた元ネタでは\smallは入れていなかったのですが、
これをつけたほうが文字が縁に触れずに綺麗だと思います。

以上です。

2015/01/13追記:
フォントサイズを\small固定にしてしまっているので、
文字が小さい箇所ではあんまりうまく動かないみたいです。
具体的に言うとcaptionだと文字がずれるのを確認しました。

なので、caption内で使うことが見込まれるときは
\newcommand{\maru}[1]{\raisebox{.5pt}{\textcircled{\raisebox{-.9pt} {{\footnotesize #1}}}}}
とした方がいいようです。

脚注で使う場合は
\newcommand{\maru}[1]{\raisebox{.5pt}{\textcircled{\raisebox{-.9pt} {{\scriptsize #1}}}}}
となるのでしょうか。

0 件のコメント:

コメントを投稿