enumerate 環境のカスタマイズについて

enumerate 環境のカスタマイズについて

- 藤田 肇 の投稿
返信数: 4
お世話になります。

enumerate 環境の設定を細かくいじりたくて、このページ
「Itemize 環境で行間を狭くする」を参考にしていじってみたのですが、

\renewenvironment{itemize} → \renewenvironment{enumerate}

としたのでは、

\begin{list}{\parbox{1zw}{$\bullet$}}

があるために、リスト頭の記号がすべて黒丸になってしまいます。

\begin{list}{\arabic{enumi}}

などと変更してみましたが、なぜか数字がインクリメントされません。
どうしたものでしょうか。

詳しい方がいらっしゃいましたらご指導いただきたく、よろしくお願い致します。
藤田 肇 への返信

Re: enumerate 環境のカスタマイズについて

- 匿 名 の投稿
>なぜか数字がインクリメントされません。
もし \usecounter を用いていないのであれば,
そうなるのが当然のはずです.

# 本来なら,「LaTeX におけるマクロ作成自体を本題とした
# 解説書を読むべき」と言うべきでしょうが,
とりあえず,\usecounter をどう用いるべきかについては,
ファイル latex.ltx における enumerate 環境と itemize 環境の
それぞれの定義を見比べれば見当がつくでしょう.
匿 名 への返信

Re: enumerate 環境のカスタマイズについて

- 藤田 肇 の投稿
不勉強でお恥ずかしいのですが、まるで検討がつきません。
おそらく このあたりかなとは思いますが…
\usecounterの使い方について、具体的に教えて頂ければ助かります。
藤田 肇 への返信

Re: enumerate 環境のカスタマイズについて

- 匿 名 の投稿
# 断片的な知識のみを晒したサイトを見るのではなく,
# きちんと「教科書的な」書籍を読んでください(ファイル latex.ltx
# あるいは LaTeX 本体の各種 dtx ファイルを読んでもいいですが).

タダで一から十まで教える気はないので,
簡単なサンプルのみ挙げます.

\documentclass{jarticle}
\begin{document}
\begin{list}{\arabic{enumi}}{\usecounter{enumi}}
%%% \usecounter{<countername>} は,「カウンタ <countername> を箇条書きの
%%% 番号付けに用いる」という意味(カウンタ <countername> の値の初期化も
%%% 行う)で,list 環境(あるいは \list コマンド)の第 2 引数中で用いる.
\item a
\item b
\item c
\end{list}

\begin{list}{\arabic{enumi}}{}%%% \usecounter を欠くと番号付けが正常には行われない
\item a
\item b
\item c
\end{list}
\end{document}
匿 名 への返信

Re: enumerate 環境のカスタマイズについて

- 藤田 肇 の投稿
どうやら、いままで \usercounter の挿入位置が悪かったらしく、
それでうまくいかないでいました。
以下で意図した通りにいきました。ありがとうございました。

\renewenvironment{enumerate}
{
\begin{list}{\arabic{enumi}.}
{
\usecounter{enumi}
\setlength{\topsep}{0zh}
\setlength{\itemindent}{0zw}
\setlength{\leftmargin}{2zw} % 左のインデント
\setlength{\rightmargin}{0zw} % 右のインデント
\setlength{\labelsep}{1zw} % 黒丸と説明文の間
\setlength{\labelwidth}{3zw} % ラベルの幅
\setlength{\itemsep}{0em} % 項目ごとの改行幅
\setlength{\parsep}{0em} % 段落での改行幅
\setlength{\listparindent}{1zw} % 段落での一字下り
}
}{
\end{list}
}