Re: 文書全体を通して連番をつけ,参照する

名前: トノ
日時: 2003-11-14 14:16:12
IPアドレス: 150.35.254.*

>>23559 》 enumerate 環境を利用して,\item の値を保存して連番となるようにしてみました。 enumerate 環境がネストしたとき(番号付けされた例文の中に番号付きのリストが ある場合)に期待どおりにならないようです。\@enumdepth を調べて、 第 1 段階の enumerate 環境だけ値を保存・代入するように改変してみました。 ※ 本当は、enumerate に類似の環境を新たに作成した方がいいのかも‥‥ \documentclass[openany,oneside]{jsbook} \newcounter{saveenumi}% 新しいカウンタ saveenumi を作る \let\orgenumerate\enumerate%% オリジナルの enumerate 環境をコピー \let\orgendenumerate\endenumerate \makeatletter % < added by Tono \renewenvironment{enumerate}{% enumerate 環境を再定義 \orgenumerate% オリジナルの enumerate 環境 \ifnum \@enumdepth=\@ne % < added by Tono \setcounter{enumi}{\value{saveenumi}}% 保存していた終値を代入 \fi % < added by Tono }{% \ifnum \@enumdepth=\@ne % < added by Tono \setcounter{saveenumi}{\value{enumi}}% 終値を保存 \fi % < added by Tono \orgendenumerate% オリジナルの enumerate 環境 }% \makeatother % < added by Tono \renewcommand{\labelenumi}{(\theenumi)} \begin{document} \chapter{あああ} \section{あああのい} これこれはこれこれである。 \begin{enumerate} \item\label{enum:korekore} これこれのこれ \begin{enumerate} \item A \end{enumerate} \item\label{enum:areare} あれあれのあれ \begin{enumerate} \item a \end{enumerate} \end{enumerate} これこれは(\ref{enum:areare})をみるとわかるように,あれあれこれ。 \section{うううのえ} なんとかかんとかはなんとかかんとかである \begin{enumerate} \item\label{enum:uuuha}うううはううううう。 \end{enumerate} 前節(\ref{enum:korekore})と異なり,(\ref{enum:uuuha})は,なんとかかんとかでなく,かんとかである。 \end{document}

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)