Re(続): aux ファイルで multiply-defined labels になる

名前: hoge
日時: 2005-08-18 17:55:14
IPアドレス: 133.31.18.*

たびたびお世話になってます.いろいろ試したのですが、解決できないため 再びご教示を乞いにあがりました. まだ.auxファイルができていないとき、つまり1回目のタイプセットのときですが、 参照ラベルの値を別のマクロに渡して使おうとすると、値がないゾと怒られます. これは当然のことだと思いますが、ゼロとして処理したからネといってきます. これは具体的には何の値がなくて何を0としたということなのでしょうか? ! Missing number, treated as zero. <to be read again> \protect l.38 \myalph{\ref{R1}} \myalph{\ref{R2}} \myalph{\ref{R3}} ---------------------------------- ソース testmultilabel2.tex \documentclass{jarticle} \usepackage{amsmath,amssymb} \makeatletter \newcounter{No} \newcommand{\ClearCnt}{\setcounter{No}{0}} \ClearCnt \newcommand{\mylabel}[1][]{% \def\@tempa{#1}% \addtocounter{No}{1}% \ifx\@tempa\empty \else \protected@write\@auxout{}{% % \string\newlabel{#1}{{\alph{No}}{}}}% \string\newlabel{#1}{{\arabic{No}}{}}}% \fi {(\alph{No})}% } \newcommand{\myalph}[1]{% (\ifcase #1 a\or b\or c\else d--z\fi)} \makeatother \begin{document} \begin{align*} 1 &+ 2 \qquad \mylabel[R1] \\ 2 &- 3 \qquad \mylabel[R2] \\ \{\ref{R1}\} &- \mylabel \{\ref{R2}\} \end{align*} \[ \mylabel[R3] \qquad \mylabel[R4] \] 次の使い方だけのときはひっかからない (dviで??になるだけ) (\ref{R1}) \quad (\ref{R2}) 次の使い方をすると1回目にひっかかる. 無視して[Enter]すれば.auxはできるので2回目はひっかからない \myalph{\ref{R1}} \myalph{\ref{R2}} \myalph{\ref{R3}} \end{document}

この書き込みへの返事:

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