Chuyển đến nội dung

Tham chiếu chéo trong LaTeX: \label và \ref

Đặt \label{key} ngay sau đối tượng bạn muốn tham chiếu (sau \section{...}, sau \caption{...}, bên trong một phương trình) và viết \ref{key} ở nơi bạn muốn hiện số của nó; Scissor LaTeX điền số vào khi dàn trang.

Gắn nhãn, rồi tham chiếu

Một tham chiếu chéo có hai nửa. \label{key} đánh dấu một đối tượng được đánh số, còn \ref{key} in ra số của nó. Khóa là bất kỳ tên nào bạn chọn; các tiền tố như sec:, fig:, tab: và eq: là một thói quen giúp khóa dễ đọc, không phải quy tắc bắt buộc.

Tham chiếu đến một mục và một hình

\section{Results}
\label{sec:results}

\begin{figure}[h]
  \centering
  \begin{tikzpicture}
    \draw (0,0) -- (1,0.8) -- (2,0.3) -- (3,1.1);
  \end{tikzpicture}
  \caption{Measured values.}
  \label{fig:values}
\end{figure}

Section~\ref{sec:results} shows the values in Figure~\ref{fig:values}.
Dàn trang bởi Scissor LaTeX: Tham chiếu đến một mục và một hình

Dấu ~ giữa từ và tham chiếu là một khoảng trắng không bao giờ bị ngắt dòng, nên "Figure" và số của nó luôn nằm trên cùng một dòng.

Đặt nhãn ở đâu

Nhãn nhận số của đối tượng được đánh số gần nhất đứng trước nó:

Tham chiếu đếnĐặt \label\ref in ra
Một mụcngay sau \section{...} (hoặc \subsection, \chapter)2, 2.1
Một hình hoặc bảngsau \caption{...}, bên trong đối tượng trôi1
Một phương trìnhbên trong equation hoặc một align có đánh số1
Một mục danh sáchsau \item trong một enumerate2, 2b
Một định lýbên trong theorem, lemma và các môi trường tương tự1
Một chú thích cuối trangbên trong văn bản \footnote{...}2

Phương trình

\eqref{key} in số phương trình trong ngoặc đơn, theo cách số phương trình thường được trình bày. \ref{key} cho ra số trơn.

\eqref và \ref cho một phương trình

LaTeXPhần mở đầu: \usepackage{amsmath}Mở trong trình soạn (mở trong thẻ mới)
\begin{equation}
  a^2 + b^2 = c^2
  \label{eq:pythagoras}
\end{equation}
Equation~\eqref{eq:pythagoras} is famous; its number is \ref{eq:pythagoras}.

Trong Scissor LaTeX, một khối align hoặc gather nhận một số duy nhất, không phải mỗi hàng một số. Chỉ \label đầu tiên trong khối được giữ lại, nên tham chiếu đến nhãn của một hàng phía sau sẽ in ra ??. Xem Phương trình, căn chỉnh và đánh số để biết chi tiết.

Lệnh tự thêm tên: \autoref và \cref

\autoref (từ hyperref) và \cref (từ cleveref) in loại đối tượng cùng với số của nó, nên bạn không phải tự viết "Figure". \cref theo mặc định của cleveref: chữ thường và tên rút gọn ("fig.", "eq."), còn \Cref ở đầu câu cho tên đầy đủ được viết hoa.

\autoref, \cref và \Cref

LaTeXPhần mở đầu: \usepackage{amsmath,hyperref,cleveref}Mở trong trình soạn (mở trong thẻ mới)
\section{Method}
\label{sec:method}
\begin{equation}
  y = 44x
  \label{eq:line}
\end{equation}
\begin{table}[h]
  \centering
  \caption{Settings.}
  \label{tab:settings}
  \begin{tabular}{lr} Runs & 44 \\ \end{tabular}
\end{table}
\autoref{sec:method} uses \cref{tab:settings} and \cref{eq:line}.
\Cref{tab:settings} lists the runs.
Dàn trang bởi Scissor LaTeX: \autoref, \cref và \Cref

cleveref cũng có thể tham chiếu đến nhiều nhãn cùng lúc, và đến một khoảng:

Danh sách và khoảng với \cref

LaTeXPhần mở đầu: \usepackage{amsmath,cleveref}Mở trong trình soạn (mở trong thẻ mới)
\begin{equation} a = 1 \label{eq:a} \end{equation}
\begin{equation} b = 2 \label{eq:b} \end{equation}
See \cref{eq:a,eq:b}, or \crefrange{eq:a}{eq:b}.

Các tùy chọn gói capitalise (hoặc capitalize), noabbrev và nameinlink được đọc, và \crefname cùng \Crefname trong phần mở đầu cũng vậy.

Tùy chọn cleveref và \crefname

\documentclass{article}
\usepackage{amsmath}
\usepackage[capitalise,noabbrev]{cleveref}
\crefname{table}{Tab.}{Tabs.}
\begin{document}
\begin{equation} E = mc^2 \label{eq:e} \end{equation}
\begin{table}[h]
  \centering
  \caption{Masses.}
  \label{tab:m}
  \begin{tabular}{l} 44 kg \\ \end{tabular}
\end{table}
\cref{eq:e} uses the mass in \cref{tab:m}.
\end{document}
Dàn trang bởi Scissor LaTeX: Tùy chọn cleveref và \crefname
LệnhTrong Scissor LaTeXGhi chú
\ref{key}Hoạt độngChỉ có số.
\eqref{key}Hoạt độngSố trong ngoặc đơn.
\pageref{key}Hoạt độngSố trang nơi có nhãn.
\autoref{key}Một phần"Section 2", "Figure 1", "Table 1", "Theorem 1". Với phương trình, nó in số trơn, không phải "Equation 1".
\cref, \CrefHoạt độngMột hoặc nhiều nhãn; tên mặc định của cleveref, hoặc tên của bạn từ \crefname.
\crefrange, \cpageref, \namecrefHoạt độngMột khoảng, số trang, hoặc chỉ riêng tên.
\nameref{key}Một phầnIn số, không phải tiêu đề mục.
\vref{key}Một phầnIn số, không có "on the next page".
\hyperref[key]{text}Hoạt độngIn văn bản của bạn thành một liên kết đến nhãn.

Số trang và nhãn bị thiếu

\pageref in số trang nơi có nhãn. Một tham chiếu đến nhãn không tồn tại sẽ in ra ?? đậm, giống như LaTeX trước lần chạy thứ hai, và thẻ Sự cố liệt kê mỗi nhãn bị thiếu một lần: "References to labels that do not exist (shown as ??): sec:nowhere".

\pageref và một nhãn bị thiếu

\section{Data}
\label{sec:data}
The data is described on page~\pageref{sec:data}.
This label does not exist: Section~\ref{sec:nowhere}.

Thẻ Sự cố: References to labels that do not exist (shown as ??): sec:nowhere

Khác biệt so với một bản cài đặt TeX

Về các gói, xem cleveref và hyperref; tài liệu hướng dẫn đầy đủ có trên CTAN: cleveref, hyperref.

Hỏi và đáp

Vì sao tham chiếu của tôi hiển thị ?? trong LaTeX?

Nhãn không tồn tại, hoặc được viết khác với trong \ref. Trong Scissor LaTeX, điều đó cũng có thể có nghĩa là nhãn là nhãn thứ hai trong một khối align, vốn chỉ nhận một số.

Làm thế nào để tham chiếu một phương trình kèm ngoặc đơn?

Dùng \eqref{key} từ amsmath. Nó in số trong ngoặc đơn, ví dụ (1).

\ref và \autoref khác nhau thế nào?

\ref chỉ in số. \autoref thêm loại đối tượng, như "Figure 1" hay "Section 2", giúp bạn khỏi phải tự gõ từ đó.

Mọi ví dụ trên trang này đều được Scissor LaTeX dàn trang khi xây dựng trang web. Cập nhật lần cuối 2026-11-07.