名前: しっぽ愛好家 日時: 2004-07-21 17:45:46 IPアドレス: 211.4.121.*
>>30413 \documentclass{jarticle} \makeatletter \let\@orig@item\item {\catcode`\^^M=\active% %%% ↑定義の際にも行末コード(^^M)がアクティブになっているので, %%% 行末をコメントアウトしておかないと,“アクティブな ^^M”が %%% 不用意に実行される危険性があります(次行も同様です). \gdef\item#1^^M{\@orig@item #1\label{#1}}% } \makeatother \begin{document} %%% ↓\item の使用時にも ^^M をアクティブにしておかないと, %%% 再定義後の \item の引数の書式指定文字列にしている %%% “アクティブな ^^M”が行末に現れません. %%% “\enumerate の定義の末尾に \obeycr を追加したもの”を用いるような %%% 環境を用意するとよいでしょう. \begin{enumerate}\catcode`\^^M=\active% \item 項目1 \item 項目2 \item 項目3 \end{enumerate} \ref{項目1},\ref{項目2},\ref{項目3}. \end{document} %%% とりあえず,箇条書きの各項目は(ソースファイル側の記述で)1 行に %%% 収まるものと仮定しました.ここでは,複数行にわたる項目があると %%% 困ったことになりかねないので, %%% \def\Item#1{\item \label{#1}\ignorepaces} %%% のような \Item あたりを用いるのが無難ではないかとも思われます.
この書き込みへの返事: