発言者: 井汲 景太
発言日: 2006 12/14 18:34
発言元: 218.216.75.2
hako.sty を使っている場合、\eqref を同じラベルに対して複数回
使っていると、タイプセット時に余計な warning が発生します。
以下のリストを2回タイプセットすると、2回目に
LaTeX Warning: Label `eq:1@ref' multiply defined.
という warning が出ます。
---------------------------------------------------------
\documentclass{jarticle}
\usepackage{hako}
\hakosyokika
\begin{document}
\begin{equation}
\label{eq:1}
abc
\end{equation}
\eqref{eq:1} \eqref{eq:1} \eqref{eq:1}
% 2回 eqref を使うと warning は1回、3回 eqref を使うと warning は2回。
% n 回使うと (n-1)回、の関係。
\end{document}
-----------------------------------------------------------
直接の原因は、\eqref を実行するたびに aux ファイルに
\newlabel{eq:1@ref}{{}{1}}
のような行が出力されてしまうことで、さらにその原因は emathLb.sty にて
\let\@latexeqref\eqref
\def\eqlabel#1{\@ifundefined{r@#1@ref}{\notag}{\label{#1}}}
\def\eqref#1{\writeLabel{#1@ref}{}\@latexeqref{#1}}
となされていることですね。細かいことはよくわからないのですが、無条件で
\writeLabel してしまうのがよくないのではないでしょうか。
▼関連発言
│
└◆5409:hako.sty と eqref [井汲 景太] 12/14 18:34
└◆5410:Re:hako.sty と eqref [tDB] 12/15 10:00
└◆5411:Re[2]:hako.sty と eqref [井汲 景太] 12/15 16:56<-last