Scissor LaTeX 中的 cleveref、nameref 和 varioref
cleveref 套件在 Scissor LaTeX 中大部分可用:\cref 和 \Cref 可用於單一標籤、多個標籤和範圍,\cpageref、\namecref、capitalise、noabbrev 和 nameinlink 選項以及 \crefname 也都能用;\nameref 會印出編號而不是標題,\vref 不會提供頁面提示。
套件的用途
cleveref 會在參照中加上物件的種類:\cref{fig:plot} 會印出「fig. 1」,不用你自己打這個字;\cref{a,b} 則把多個標籤合併成「figs. 1 and 2」。nameref 會印出章節的標題而不是編號。varioref 用 \vref 加上「on the next page」之類的頁面提示。
在這裡可用的功能
| 指令 | 在 Scissor LaTeX 中 | 備註 |
|---|---|---|
\cref{label} | 可用 | 「section 1」、「fig. 1」、「table 1」、「eq. (1)」。 |
\Cref{label} | 可用 | 首字母大寫、不縮寫:「Figure 1」、「Equation (1)」。 |
\cref{a,b}, \cref{a,b,c} | 可用 | 「sections 1 and 2」。 |
\crefrange{a}{b} | 可用 | 「eqs. (1) to (2)」。 |
\cpageref{label} | 可用 | 「page 1」。 |
\namecref{label}, \labelcref{label} | 可用 | 只有名稱(「eq.」)或只有編號(「(1)」)。 |
\crefname, \Crefname | 可用 | 自己的名稱,寫在導言區。 |
選項 capitalise、noabbrev、nameinlink | 可用 | 其他選項會被忽略。 |
\nameref{label}(nameref) | 部分支援 | 印出編號,而不是標題。 |
\vref, \Vref(varioref) | 部分支援 | 印出編號,沒有頁面提示。 |
範例
\cref 會幫你寫出物件的種類,也能合併多個標籤:
\cref 和 \Cref
\section{Data}\label{sec:data}
\section{Method}\label{sec:method}
\begin{figure}[h]
\centering
\fbox{A plot of the 44 samples}
\caption{Samples.}\label{fig:samples}
\end{figure}
\begin{table}[h]
\centering
\begin{tabular}{lr} Erika & 44 \\ Hans & 38 \\ \end{tabular}
\caption{Counts.}\label{tab:counts}
\end{table}
As \cref{sec:data,sec:method} explain, \cref{fig:samples} shows
the samples. \Cref{tab:counts} counts them.方程式、範圍和頁碼參照:
方程式、\crefrange 和 \cpageref
\begin{equation} a + b = 44 \label{eq:sum} \end{equation}
\begin{equation} a - b = 2 \label{eq:diff} \end{equation}
Adding \crefrange{eq:sum}{eq:diff} gives $a = 23$; \Cref{eq:sum}
is on \cpageref{eq:sum}.capitalise 和 noabbrev 選項會在所有地方寫出完整、首字母大寫的名稱,\crefname 則用來設定自己的名稱。使用 capitalise 時,\cref 會使用你所設定名稱的大寫形式,所以下面的 part 會印成「Part」:
選項和 \crefname
\documentclass{article}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{section}{part}{parts}
\begin{document}
\section{Overview}\label{sec:overview}
\begin{figure}[h]
\centering
\fbox{Diagram}
\caption{A diagram.}\label{fig:diagram}
\end{figure}
\cref{fig:diagram} belongs to \cref{sec:overview}.
\end{document}在這裡,\nameref 會印出章節編號,而不是標題:
\nameref 會印出編號
\section{Related work}\label{sec:related}
John Doe's results are summarised in \nameref{sec:related}.相容性
- 從 TeX 安裝環境搬到這裡:使用
\cref及相關指令的參照,看起來和在 TeX 安裝環境中一樣。\nameref會產生編號而不是標題,\vref也沒有「on the next page」的提示。 - 從這裡搬到 TeX 安裝環境:文件在那裡不需修改就能編譯。請依手冊的要求,在
hyperref之後載入cleveref。
完整手冊在 CTAN 上:ctan.org/pkg/cleveref、ctan.org/pkg/nameref 和 ctan.org/pkg/varioref。使用指南請見標籤與交互參照,\autoref 請見 hyperref。
常見問題
\cref 和 \Cref 有什麼不同?
\cref 使用簡短的小寫名稱,例如「fig. 1」或「eq. (1)」。\Cref 則以首字母大寫寫出完整名稱,適合放在句首。capitalise 選項會讓 \cref 在所有地方都和 \Cref 一樣。
\nameref 會印出章節標題嗎?
目前還不會。它會印出章節編號,所以句子仍然讀得通,只是意思不同。如果標題很重要,請直接寫出來。
本頁的每個範例都在建置網站時由 Scissor LaTeX 排版。 最後更新:2026-11-07