emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.5409  hako.sty と eqref
発言者: 井汲 景太
発言日: 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

Pass 保存


CGIROOM