• 締切済み

LaTeXのコマンド,ref と label について

LaTeXコマンド中に \label を貼ると,式番号を参照してほしいのに節番号を参照してしまうことがあります. \label{schrodinger eq} のように,{ }内には単語のみを入れていました. ネットで調べた所,\label{eq:名前} とか,\label{sec:名前} と書けばよいと書いてあったので試した所,正しく反映されました. 今まで,{ } 内の文字は全て文字列のように扱われるかと思っていたのですが,上のような区別がされるのでしょうか?それとも,上の方法で成功したのはただの偶然なのでしょうか?

みんなの回答

  • fermion
  • ベストアンサー率0% (0/2)
回答No.1

\label{}の{}内は文字列だけでも問題ありません. これはあくまで予想ですが,節と式のラベル名を一緒にしてしまったのではないかと考えられます. たとえば ----------------------------- \section{量子力学} \subsection{シュレーディンガー方程式} \label{schrodinger eq} (←同じラベル名) ・・・ \subsection{問題} \label{schrodinger eq2} \begin{equation} H\psi=E\psi \label{schrodinger eq} (←同じラベル名) \end{equation} 式(\ref{schrodinger eq})を参照\\ \ref{schrodinger eq}節を参照\\ \ref{schrodinger eq2}節を参照\\ ----------------------------- (\begin{document}などは省略) と打ち実行すれば ----------------------------- 1 量子力学 1.1 シュレーディンガー方程式 ・・・ 1.2 問題    Hψ=Eψ (1) 式(1)を参照 1節を参照 1.2節を参照 ----------------------------- と表示されます.これを見てわかるように\label{schrodinger eq}を参照する際,もっとも後ろにあるものが参照されています. (1.1節と表示したいのに,1節と表示されている) 一般に式,図,表,節など,どれを参照するのかをわかりやすくするために,式であれば\label{eq:○○},図であれば\label{fig:○○}といったようにするのが良いでしょう. ただの文字列ですと,それが式,図,表,節のどれなのかわからないため,不具合が出た場合や修正する際に余計に手間をかけてしまう可能性が高くなります.

schrodinger21
質問者

お礼

ありがとうございます. ちょっと確認してみますが,ただの文字列で扱われるということで納得しました.

関連するQ&A