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

caption และ subcaption ใน Scissor LaTeX

แพ็กเกจ caption และ subcaption ใช้ได้บางส่วนใน Scissor LaTeX \caption ใน figure และ table ใช้ได้ \captionsetup ถูกละเว้น \captionof พิมพ์ข้อความโดยไม่มีหมายเลข \caption* ยังได้หมายเลข และ subfigure/subtable ถูกนับเป็นรูปแยกกัน หมายเลขจึงผิดพลาด ให้ใส่ทุกส่วนไว้ในรูปเดียวที่มีคำบรรยายเดียวแทน

แพ็กเกจเหล่านี้ทำอะไร

caption เปลี่ยนรูปลักษณ์ของคำบรรยาย (\captionsetup{font=small, labelfont=bf}) เพิ่ม \caption* สำหรับคำบรรยายที่ไม่มีหมายเลข และ \captionof{figure}{...} สำหรับคำบรรยายนอก float ส่วน subcaption เพิ่มสภาพแวดล้อม subfigure และ subtable ซึ่งบรรจุส่วนต่าง ๆ ของรูปเดียว โดยแต่ละส่วนมีคำบรรยายของตัวเองที่ติดป้าย (a), (b) และต่อ ๆ ไป

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

คำสั่งใน Scissor LaTeXหมายเหตุ
\caption{...} ใน figure และ tableใช้ได้"Figure 1: ...", "Table 1: ..." คำบรรยายตารางอยู่เหนือตารางเสมอ
\caption[short]{long}ใช้ได้บางส่วนแสดงข้อความยาว ข้อความสั้นถูกละเว้น
\label หลัง \captionใช้ได้
\captionsetup{...}ถูกละไว้ถูกละเว้นโดยไม่มีข้อความแจ้ง
\caption*{...}ใช้ได้บางส่วนคำบรรยายแสดงขึ้น แต่มีหมายเลข
\captionof{type}{...}ใช้ได้บางส่วนข้อความแสดงโดยไม่มี "Figure" หรือหมายเลข และ \label ที่ตามมาให้ผลเป็น ?? ในการอ้างอิง
subfigure, subtableรองรับได้ไม่ดีแต่ละส่วนถูกนับเป็นรูปของตัวเอง หมายเลขของรูปถัดไปจึงคลาดเคลื่อน และ \ref กับหมายเลขในคำบรรยายที่พิมพ์ออกมาไม่ตรงกัน
\subcaption{...}ใช้ได้บางส่วนข้อความถูกพิมพ์เป็นบรรทัดของตัวเอง

ตัวอย่าง

รูปและตารางที่มีคำบรรยายและการอ้างอิง:

\caption ในรูปและตาราง

LaTeXส่วนนำ: \usepackage{caption}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{figure}[h]
  \centering
  \fbox{A sketch of the setup}
  \caption{The test setup of Erika Mustermann.}\label{fig:setup}
\end{figure}
\begin{table}[h]
  \centering
  \caption{Results of the 44 runs.}\label{tab:runs}
  \begin{tabular}{lr} Mean & 12.5 \\ Best & 9.1 \\ \end{tabular}
\end{table}
Figure~\ref{fig:setup} shows the setup and Table~\ref{tab:runs} the results.
จัดหน้าโดย Scissor LaTeX: \caption ในรูปและตาราง

แทนที่จะใช้ subfigure ให้ใส่ส่วนต่าง ๆ ไว้ในรูปเดียวและระบุชื่อส่วนในคำบรรยาย ที่นี่แต่ละภาพถูกวางบนบรรทัดของตัวเอง ส่วนต่าง ๆ จึงเรียงต่อกันจากบนลงล่าง หมายเลขถูกต้อง และโค้ดใช้ได้ในการติดตั้ง TeX ด้วย:

สองส่วนในรูปเดียว

LaTeXส่วนนำ: \usepackage{graphicx}เปิดในตัวแก้ไข (เปิดในแท็บใหม่)
\begin{figure}[h]
  \centering
  \includegraphics[width=0.4\linewidth]{graphicx-photo.png}
  \includegraphics[width=0.4\linewidth]{graphicx-diagram.svg}
  \caption{Weekly orders: (a) first quarter, top; (b) second quarter, bottom.}
  \label{fig:orders}
\end{figure}
Figure~\ref{fig:orders}(a) shows the first quarter.
จัดหน้าโดย Scissor LaTeX: สองส่วนในรูปเดียว

\captionsetup ถูกยอมรับแต่ไม่เปลี่ยนแปลงอะไร ป้ายกำกับที่นี่จึงไม่เป็นตัวหนาและฟอนต์ไม่เล็กลง:

\captionsetup ถูกละเว้น

\documentclass{article}
\usepackage{caption}
\captionsetup{font=small, labelfont=bf}
\begin{document}
\begin{figure}[h]
  \centering
  \fbox{Plot}
  \caption{The caption keeps the normal style.}
\end{figure}
\end{document}

ความเข้ากันได้

  • จากการติดตั้ง TeX มาที่นี่: รูปและตารางที่ใช้ \caption ธรรมดาแสดงผลถูกต้อง เอกสารที่มี subfigure จัดเรียงพิมพ์ได้ แต่หมายเลขรูปผิดตั้งแต่รูปย่อยแรกเป็นต้นไป และสไตล์คำบรรยายจาก \captionsetup ไม่ถูกนำมาใช้
  • จากที่นี่ไปยังการติดตั้ง TeX: เอกสารคอมไพล์ที่นั่นได้โดยไม่ต้องแก้ไข และคำบรรยายจะเป็นไปตามการตั้งค่า \captionsetup ของคุณ

คู่มือฉบับเต็มอยู่บน CTAN: ctan.org/pkg/caption และ ctan.org/pkg/subcaption ดูเพิ่มเติม รูปและรูปภาพ และ Float: การจัดวางรูปและตาราง

คำถามและคำตอบ

จะวางสองรูปเคียงกันได้อย่างไร

ยังทำโดยตรงไม่ได้ เพราะรูปภาพถูกวางบนบรรทัดของตัวเอง ให้รวมส่วนต่าง ๆ เป็นไฟล์รูปภาพเดียว หรือเรียงไว้ซ้อนกันใน figure เดียวและอธิบายเป็น (a) และ (b) ในคำบรรยายเดียว

ทำไมคำบรรยายตารางของฉันจึงอยู่เหนือตาราง

ที่นี่คำบรรยายตารางอยู่เหนือตารางเสมอ ไม่ว่าคุณจะเขียน \caption ไว้ตรงไหน ซึ่งเป็นสไตล์ที่ใช้กันทั่วไปสำหรับตาราง

ทุกตัวอย่างในหน้านี้จัดหน้าโดย Scissor LaTeX ขณะสร้างเว็บไซต์ อัปเดตล่าสุด 2026-11-07