enumerate環境で、見出しの数字が2桁になったときに次の行の位置もそれに合わせて揃えたい、という場合です。
そのままだと2桁の場合は2行目の頭がズレてしまいます。
考えていたら頭が混乱してきたので、2つ環境を作ってしまうことにしました。どう考えてもうまい方法とは思えないのですが、時間もないのでこのまま進めることにしました。
% 問題の番号が「1.5」のように数字2文字のとき
\newdimen\mondaiAWidth
\mondaiAWidth=8.3mm
% 問題の番号が「11.1」のように数字3文字のとき
\newdimen\mondaiBWidth
\mondaiBWidth=10.2mm
\newcounter{mondai_counter}
\newenvironment{mondaiA}{\small
\begin{list}%
{{\color{blue}%
\bfseries\selectfont\thechapter.\arabic{mondai_counter}}}%
{\usecounter{mondai_counter}%
\topsep=\z@ \partopsep=\z@
\itemsep=\z@ \parsep=\z@
\leftmargin=\mondaiAWidth \rightmargin=\z@
\@tempdima=\mondaiAWidth\advance\@tempdima-3.5mm
\itemindent=-\@tempdima
\labelsep=1zw
\labelwidth=0zw \listparindent=\z@}}
{\end{list}\normalsize}
\newenvironment{mondaiB}{\small
\begin{list}%
{{\color{blue}%
\bfseries\selectfont\thechapter.\arabic{mondai_counter}}}%
{\usecounter{mondai_counter}%
\topsep=\z@ \partopsep=\z@
\itemsep=\z@ \parsep=\z@
\leftmargin=\mondaiBWidth \rightmargin=\z@
\@tempdima=\mondaiBWidth\advance\@tempdima-3.5mm
\itemindent=-\@tempdima
\labelsep=1zw
\labelwidth=0zw \listparindent=\z@}}
{\end{list}\normalsize}
\setcounter{chapter}{1}
\begin{mondaiA}
\item □□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
\setcounter{mondai_counter}{10}
\item □□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
\end{mondaiA}
\begin{mondaiB}\setcounter{mondai_counter}{10}
\item □□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
\item □□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□
\end{mondaiB}
コメント