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