2017年5月23日火曜日

latexの箇条書き番号に全角文字を使う

latexのenumerate環境などの番号は通常数字やアルファベットしか使えないので,次のページ

を参考に,番号に全角文字(ア,イ,ウ,…など)が使えるようにしてみました.

enumerate環境については,最近ではenumitemパッケージの仕様が推奨されているようなので,このパッケージを利用してみます.

\documentclass[lualatex,a4paper,10pt,ja=standard]{bxjsarticle}

\makeatletter
\def\@iroha#1{%
  \ifcase#1\or い\or ろ\or は\or に\or ほ\or へ\or と\or ち\or り\or ぬ\or る\or を\or
  わ\or か\or よ\or た\or れ\or そ\or つ\or ね\or な\or ら\or む\or
  う\or ゐ\or の\or お\or く\or や\or ま\or け\or ふ\or こ\or え\or て\or 
  あ\or さ\or き\or ゆ\or め\or み\or し\or ゑ\or ひ\or も\or せ\or す\else\@ctrerr\fi}
\def\@kkana#1{%
  \ifcase#1\or ア\or イ\or ウ\or エ\or オ\or カ\or キ\or ク\or ケ\or コ\or
  サ\or シ\or ス\or セ\or ソ\or タ\or チ\or ツ\or テ\or ト\or
  ナ\or ニ\or ヌ\or ネ\or ノ\or ハ\or ヒ\or フ\or ヘ\or ホ\else\@ctrerr\fi}
\def\@hkana#1{%
  \ifcase#1\or あ\or い\or う\or え\or お\or か\or き\or く\or け\or こ\or 
  さ\or し\or す\or せ\or そ\or た\or ち\or つ\or て\or と\or 
  な\or に\or ぬ\or ね\or の\or は\or ひ\or ふ\or へ\or ほ\else\@ctrerr\fi}
\makeatother
 
\usepackage[shortlabels]{enumitem} %enumerate環境
\AddEnumerateCounter{\kkana}{\@kkana}{ア}
\SetEnumerateShortLabel{kk}{(\kkana*)}

\begin{document}

\begin{enumerate}[kk]
 \item first
 \item second
 \item third
 \item forth
 \item fifth
\end{enumerate}

\end{document}

このソースをタイプセットしてみると次のようになります.
詳しくはenumitem.styのマニュアルを参照して頂きたいのですが,\AddEnumerateCounter{コマンド名}{code}{最大幅のラベル}というコマンドでenumitemの新しいカウンターの表現を定義します.enumitemではenumerate環境ごとに番号ラベルの詳細をオプション引数にlabel=の形で記述できますが,毎回設定するのは面倒なので,\SetEnumerateShortLabel{key}{replacement}でkey部分をreplacement部分で置換できるようにします.ここではkkをオプション引数に入れておけば,これを(\kkana*)に置換するという意味です.\kkanaは上で定義したカウンターで,*はカウンターの番号で置き換えられていきます.