「コンピュータ」カテゴリーアーカイブ

TeXやFileMakerの話や、ネットに関することなど。

enumitem.styとotfの丸数字

LaTeXの箇条書き環境を拡充するものとして、いろいろと使い勝手がよいのはenumitem.styである。このパッケージは、enumerate.sty, mdwlist.sty, paralist.styの後継を目指して作られているので、1つのパッケージでいろいろとできる。

というわけで、プリアンブルで

としておけば、いろいろと使い勝手がよくなる。
オプションにshortlabelsを指定しておくと、単純な書式ならばラベルをシンプルに「1」「A」「a」「I」「i」と書けるようにしてくれるし、inlineを指定すると環境名に「*」をつけたときには行内リストにしてくれる。(ただ、この行内リストは、単純に横に並べるだけなので、きちんと体裁を整えて間隔を設定したいときなどはemath.styの一部であるemathEy.styに含まれるedaenumerate環境betaenumerate環境などを使う必要がある。)

ただ、このenumitem.styを使ったenumerate環境には一つだけ弱点がある。otf.styのマニュアルに記載されている方法では丸数字などを番号に使えないのだ。

そこで、enumitem.styのマニュアルをよく読んでみると、新たにカウンターを設定する方法(特に非ラテン言語の場合)というのが載っている。それを参考に、otf.styの丸数字(\ajMaru{1})をカウンターに使うために以下のようにプリアンブルに書く。

こうすることで、めでたく丸数字を箇条書きにできる。
(私自身は、これを自分専用のマクロにまとめてそれを読み込むことにしているが…。)

Enumotf1

ついでに、センター試験の選択肢のような、楕円形の丸数字をgraphicx.styの力を借りつつ作ってみた。

Enumotf2

丸数字を使いつつ書式をいろいろといじりたいときは、短縮形のm, nではなく、\cmaru*や\cnum*を用いた[label=\cmaru*]のようにする必要があるけれど、これはほかの短縮形(1, A, a, I, i)についても同様。

まずは、enumerate.styを使いながら丸数字を使う、ということができて満足(^^) 意外にもこれまでネット上にこのネタがなかったようなので、試行錯誤しながらマニュアルのサンプルをいじっていたらなんとかできました、という次第。
(丸数字や、センター試験っぽい長丸の数字はemathの設定を使っても作れるけど。)

otfの丸数字で箇条書き

LaTeX標準の箇条書き(enumerate環境)のナンバリング表記を丸数字で表記するには、\textcircledを使う手もあるが、otf.styのキレイな丸数字を使う方が好み。数字が2桁になっても使えるのも利点だし、黒丸や「□数字」を使うことだってできるし。

普通に丸数字などを書くときは\ajMaru{1}とかするわけだけど、これをナンバリングに使うには\ajLabelを接頭辞として各ラベルを\renewcommandする。
(なお、以下は標準のenumerate環境を変えるときのもの。高機能なenumitem.styを使っている場合は別エントリー(enumitem.styとotfの丸数字)の方法でやらないとエラーが出る。)

以下は、otf.styマニュアルの記載。

カウンタで利用するためのコマンドが\ajLabel です。既にお気づきかもしれませんが、このマニュアルでもノンブルやセクションの数字を変えています。これはプリアンブルで、

\renewcommand{\thepage}{\ajLabel\ajKakkoKansuji{page}}
\renewcommand{\thesection}{\ajLabel\ajMaru{section}}
\renewcommand{\thesubsection}{\thesection の\ajLabel\ajMaruKaku{subsection}}

と再定義することによって得られた結果です。このように、\ajLabel の後に圍み文字のコマンド名を書き、その後に引数としてカウンタ名を書きます。サンプルとしてenumerate 環境での使用例を載せます。

・設定例

\renewcommand{\theenumi}{\ajLabel\ajMaru*{enumi}}
\renewcommand{\theenumii}{\ajLabel\ajMaruKaku{enumii}}
\renewcommand{\theenumiii}{\ajLabel\ajKakuAlph{enumiii}}
\renewcommand{\theenumiv}{\rensuji{\ajLabel\ajTumesuji*{enumiv}}}
\renewcommand{\labelenumii}{\theenumii}
\renewcommand{\labelenumiii}{\theenumiii}
\renewcommand{\labelenumiv}{\theenumiv} \makeatletter
\renewcommand{\p@enumii}{\theenumi の}
\renewcommand{\p@enumiii}{\p@enumii\theenumii の}
\renewcommand{\p@enumiv}{\p@enumiii\theenumiii の}
\makeatother

というわけで、これを参考にすると、以下のような感じになる。

Enumotf0

HDDの換装とMacTeX 2014

うやくMacTeX 2014が出た。インストール自体はとくに問題なく進み、TeX Live Utilityで少しアップデートして、ふだん使っているTeXShopのバージョンを最新版に戻して完了。あっというまに以前と同じ環境となった。ラクチンだなぁ。

実は、ちょっとハマったのがちょっと前にやっていたHDDの交換に伴う設定。インストールの直前にHDD→SSDへと換装していたのだが、このときにMacの「移行アシスタント」を使用したところちょっとした落とし穴があった。tex関連のファイルは/usr以下にあるわけだが、どうも移行が中途半端だったのだ。

「移行アシスタント」ではネットの設定や各種ファイルをいろいろ移してくれるが、/usr以下はきちんと移っているようないないような。なんとなくtexが動いているように見えながら実はそうでもなかったので(フォントが変なことに)、改めてMacTexを再インストール。次に、普段はTEXMFHOMEとTEXMFLOCALをDropboxに置いてほかのマシンと同期させながら使っているので、そのチェック。

~/Library/にあったtexmfフォルダ(TEXMFHOME)はちゃんとDropboxへのソフトリンクのまま正しく移行されていたのたが、/usr/local/texlive/texmf-local(TEXMFLOCAL)はどうもダメだったらしい。

というわけで、もう一度Dropboxにあるtexmf-localへのリンクを設定。

それから、フォント関連をもう一度きちんと登録するために(ヒラギノを埋め込むのが好きなので)

これで、めでたく元の環境が再構築できた。ちゃんと以前のようにみかちゃんフォントも使える(MacTeX 2013とみかちゃんフォントの設定)。HDDを換装したら、移行アシスタントを使用していてもtex関連は別途入れ直すべし、というのが今回の教訓。