ข้ามไปยังเนื้อหา

cleveref, nameref และ varioref ใน Scissor LaTeX

แพ็กเกจ 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 เพิ่มคำบอกหน้า เช่น "on the next page" ด้วย \vref

สิ่งที่ใช้ได้ที่นี่

คำสั่งใน 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

LaTeXส่วนนำ: \usepackage{cleveref}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\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.
จัดหน้าโดย Scissor LaTeX: \cref และ \Cref

สมการ ช่วง และการอ้างอิงหน้า:

สมการ \crefrange และ \cpageref

LaTeXส่วนนำ: \usepackage{amsmath,cleveref}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\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}.
จัดหน้าโดย Scissor LaTeX: สมการ \crefrange และ \cpageref

ตัวเลือก 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 พิมพ์เป็นหมายเลข

LaTeXส่วนนำ: \usepackage{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: เอกสารคอมไพล์ที่นั่นได้โดยไม่ต้องแก้ไข ให้โหลด cleveref หลัง hyperref ตามที่คู่มือกำหนด

คู่มือฉบับเต็มอยู่บน 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