為什麼我的交叉引用不起作用以及其他一些問題

為什麼我的交叉引用不起作用以及其他一些問題

我是 TEX 初學者,現在正在學習如何建立參考。我正在閱讀 Oetiker、Partl、Hyna、Schlegl 所寫的《The Not So Short Introduction to LATEX2》一書;在第 42 頁第 2.8 節交叉引用中,代號寫為

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. 當我輸入 時\label{},會出現一個名為 Labels (51) 的選單框,並且有一個下拉式選單,如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}

不同的參考

相關內容