相互参照が機能しない理由とその他の質問

相互参照が機能しない理由とその他の質問

私はTEX初心者で、現在参照の作成方法を学んでいます。Oetiker、Partl、Hyna、Schlegl著の「The Not So Short Introduction to LATEX2」という本を読んでいます。42ページのセクション2.8 Cross Referenceに、次のように書かれています。

A reference to this section \label{sec:this} looks like:
"see section~\ref{sec:this} on page~\pageref{sec:this}"

私はCTexとWinEdtを使用していますが、質問は次のとおりです。

  1. 上記のコードから PDF ファイルを作成しましたが、セクション番号とページ番号が強調表示されず、クリックできません。なぜでしょうか?
  2. のようにページ番号を入力して他のページを参照しようとしました{sec:37}が、うまくいきません。どうすれば修正できますか?
  3. コードはsec実際には何を意味しますか? 任意の構文ですか、それとも定義済みの構文ですか?
  4. と入力すると、ラベル (51) というメニュー ボックスが表示され、、、、...などの\label{}ドロップダウン メニューがあります。これは何ですか? これらのリストから選択する必要がありますか、それとも のように独自のものを作成できますか?c:ISYACc:UNBOUNDc:UNIFBURN{sec:this}

ご協力をよろしくお願いします! 本当にありがとうございます!

答え1

\label{<name>}一般的なメカニズムは、を使って文書内のどこかにアンカーを設定することです。は、安全のために数字、文字、および<name>の組み合わせにすることができます。 これらのアンカーは作成者が明示的に設定する必要があるため、作成者が定義していない限り は機能しません。 アンカーを設定したら、 (章や節、方程式、… 番号などの対応するカウンターを指定)または(対応するページ番号を指定)を使用してアンカーを参照できます。:-\ref{sec:47}\ref{<name>}\pageref{<name>}

アンカー名を人間が読みやすくするために、、sec:などの識別子を使用する著者もいますが、これはメカニズムが機能するために必須ではありません。eq:thm:

パッケージ
LaTeX のメカニズムはいくつかのパッケージによって拡張できます:

  • hyperref参照をクリック可能なハイパーリンクにします (さらにいくつかの機能があります)。
  • cleverefはラベルの正しい名前を検索し、たとえば\ref{anchor5}section~5代わりにを出力します。5
  • variorefアンカーと参照のページ番号を比較し、 などのテキストを自動的に追加しon previous pageますon page 6
  • namerefアンカーの実際のタイトルを印刷できます。

ムウェ

\documentclass[english]{article}

% langage
\usepackage{babel}

% only for \lipsum blind text
\usepackage{lipsum}

% ref packages
\usepackage{nameref}
% folowing  must be in this order
\usepackage{varioref}
\usepackage{hyperref}
\usepackage{cleveref}

\begin{document}
\section{First section}
\lipsum[1-10]

\section{My section}\label{sec:mysection}
\lipsum[1-22]

\section{References}
\begin{itemize}
    \item \verb+\ref{sec:mysection}+: \ref{sec:mysection}
    \item \verb+\pageref{sec:mysection}+: \pageref{sec:mysection}
    \item \verb+\cref{sec:mysection}+: \cref{sec:mysection}
    \item \verb+\cpageref{sec:mysection}+: \cpageref{sec:mysection}
    \item \verb+\vref{sec:mysection}+: \vref{sec:mysection}% already combined with \cref
    \item \verb+\vpageref{sec:mysection}+: \vpageref{sec:mysection}
    \item \verb+\nameref{sec:mysection}+: \nameref{sec:mysection}
\end{itemize}
\end{document}

異なる参照

関連情報