การวางตำแหน่ง figure ใน LaTeX: [h], [t], [H] และ float
ในเอกสารทั่วไป Scissor LaTeX วาง figure และ table ทุกตัวไว้ตรงที่คุณเขียนในซอร์ส ไม่ว่าจะระบุตัวอักษรกำหนดตำแหน่งใด มีเพียงเลย์เอาต์งานประชุมวิชาการเท่านั้นที่ย้าย float ไปด้านบนหรือด้านล่างของหน้า
float คืออะไร
float คือสภาพแวดล้อม figure หรือ table ในการติดตั้ง TeX นั้น LaTeX อาจย้ายมันออกจากตำแหน่งที่คุณเขียน ไปไว้ด้านบนหรือด้านล่างของหน้า หรือไปอยู่หน้าของตัวเอง เพื่อให้หน้าเต็มอย่างสม่ำเสมอ ตัวอักษรในวงเล็บเหลี่ยมหลัง \begin{figure} บอกว่ามันไปอยู่ที่ไหนได้บ้าง
float แบบ figure พร้อมคำบรรยาย
Some text before the figure.
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\draw[thick] (0,0) rectangle (3,1.5);
\draw (0,0) -- (3,1.5);
\end{tikzpicture}
\caption{A rectangle with one diagonal.}
\label{fig:rect}
\end{figure}
Figure~\ref{fig:rect} sits right where it was written.float อยู่ที่ไหนใน Scissor LaTeX
Scissor LaTeX จัดการ float สองแบบ ขึ้นอยู่กับเลย์เอาต์ของเอกสาร
| เอกสาร | ตัวอักษรกำหนดตำแหน่งทำอะไร |
|---|---|
article, report, book และคลาสทั่วไปอื่น ๆ ทั้งหมด | ไม่มีผล float จัดวางตรงตำแหน่งในซอร์สพอดี โดยมีช่องว่างเล็กน้อยด้านบนและด้านล่าง |
เลย์เอาต์งานประชุมวิชาการ (IEEEtran, acmart, llncs และแพ็กเกจชุดอย่าง neurips_2026 หรือ cvpr) | ตัวอักษรแรกเป็น h หรือ H จะคงไว้ที่เดิม t อย่างเดียวย้ายไปด้านบนของหน้าหรือคอลัมน์ b อย่างเดียวย้ายไปด้านล่าง แบบอื่นทั้งหมดให้ไปยังด้านบนหรือด้านล่างที่ใกล้กว่า |
ทั้งสองกรณี ! ถูกละเว้น และ p (หน้าของ float) ก็เช่นกัน หากไม่มีตัวอักษรใดเลย float ในเลย์เอาต์งานประชุมวิชาการอาจไปอยู่ด้านบนหรือด้านล่าง
ตัวอย่างถัดไปขอให้ไปอยู่ด้านล่างของหน้าด้วย [b] ใน article นั้น figure ยังคงอยู่ระหว่างสองย่อหน้า:
[b] ใน article: figure อยู่ที่เดิม
The paragraph before the figure.
\begin{figure}[b]
\centering
\begin{tikzpicture}
\fill[gray!30] (0,0) circle (0.6);
\draw (0,0) circle (0.6);
\end{tikzpicture}
\caption{A circle that asked for the bottom.}
\end{figure}
The paragraph after the figure.ในเลย์เอาต์งานประชุมวิชาการ ตัวอักษรเดียวกันจะย้าย float ที่นี่ [t] ส่ง figure ไปไว้ด้านบนของคอลัมน์แรก เหนือข้อความที่มาก่อนมันในซอร์ส แท็บปัญหาจะบอกว่าใช้เลย์เอาต์งานประชุมวิชาการใด
[t] ในเอกสาร IEEEtran: figure ไปอยู่ด้านบน
\documentclass[conference]{IEEEtran}
\begin{document}
\section{Introduction}
This paragraph comes first in the source. The figure below asks for the
top of the column, so the layout moves it above this text.
\begin{figure}[t]
\centering
\begin{tikzpicture}
\draw[thick] (0,0) rectangle (3,1.2);
\node at (1.5,0.6) {Erika Mustermann};
\end{tikzpicture}
\caption{A figure placed with [t].}
\end{figure}
This paragraph follows the figure in the source.
\end{document}![จัดหน้าโดย Scissor LaTeX: [t] ในเอกสาร IEEEtran: figure ไปอยู่ด้านบน](/app/docs/img/a324f5161363.webp)
แท็บปัญหา: Layout in the style of the IEEE conference format (final mode). Not official. To compile elsewhere, add IEEEtran.cls from ctan.org/pkg/ieeetran.
คำบรรยายและหมายเลข
\caption{...} ใส่หมายเลขให้ float และพิมพ์ "Figure 1:" หรือ "Table 1:" ก่อนข้อความ \label หลังคำบรรยายช่วยให้อ้างถึงหมายเลขด้วย \ref ได้ (ดู ป้ายกำกับและการอ้างอิงข้าม)
มีรายละเอียดสองข้อที่ควรรู้:
- ชนิดมาจากเนื้อหา
figureที่มีเพียงtabularจะได้หมายเลขเป็นตาราง ("Table 1") และtableที่มีรูปภาพหรือภาพวาดจะได้หมายเลขเป็น figure หากต้องการ "Figure" บนตารางข้อมูล ให้ใส่ไว้ในfigureร่วมกับสิ่งอื่น หรือคงไว้เป็นตาราง - ตำแหน่งคำบรรยายถูกกำหนดตายตัว คำบรรยายตารางอยู่เหนือตารางเสมอ และคำบรรยาย figure อยู่ใต้ figure ไม่ว่าคุณจะเขียน
\captionไว้ตรงไหน
figure ที่มีเพียง tabular ได้หมายเลขเป็นตาราง
\begin{figure}[h]
\centering
\caption{Points per round.}
\begin{tabular}{lr}
Erika & 44 \\
John & 38 \\
\end{tabular}
\end{figure}float แบบกว้างและแบบพิเศษ
สภาพแวดล้อมหลายตัวจากแพ็กเกจอื่นถูกอ่านเป็น float ธรรมดา:
| สภาพแวดล้อม | แพ็กเกจ | ใน Scissor LaTeX |
|---|---|---|
figure*, table* | คลาสมาตรฐาน | จัดเหมือน figure และ table ใน article แบบสองคอลัมน์จะอยู่ในคอลัมน์เดียว ในเลย์เอาต์งานประชุมวิชาการแบบสองคอลัมน์จะคร่อมทั้งสองคอลัมน์ |
wrapfigure, wraptable | wrapfig | จัดเป็น figure ธรรมดา ข้อความไม่ไหลล้อมรอบ อาร์กิวเมนต์ความกว้างถูกอ่านแล้วทิ้งไป |
sidewaysfigure, sidewaystable | rotating | จัดเป็น figure ธรรมดา ไม่หมุน |
SCfigure | sidecap | จัดเป็น figure ธรรมดาโดยมีคำบรรยายอยู่ด้านล่าง |
marginfigure, margintable | คลาส tufte | จัดเป็น figure ธรรมดาในเนื้อหา |
subfigure, subtable | subcaption | รวมเข้ากับ figure ที่ล้อมรอบ ดู รูปภาพ |
wrapfigure กลายเป็น figure ธรรมดา
\begin{wrapfigure}{r}{0.4\textwidth}
\centering
\begin{tikzpicture}
\draw[->] (0,0) -- (1.5,0);
\draw[->] (0,0) -- (0,1.2);
\end{tikzpicture}
\caption{Two axes.}
\end{wrapfigure}
In a TeX installation this text would flow around the figure on its right.
Here the figure takes its own line and the text continues below it.ทำให้ใช้ได้ทั้งสองที่
หากเอกสารของคุณต้องคอมไพล์ในการติดตั้ง TeX ด้วย ให้เขียน float ตามปกติ: [htbp] หรือ [t] สำหรับ figure ส่วนใหญ่ ใส่ \centering ไว้ข้างใน และ \caption ก่อน \label Scissor LaTeX จะคงไว้ที่เดิม และการติดตั้ง TeX จะลอยมันตามปกติ คำสั่งที่ควบคุมการลอย เช่น \FloatBarrier จาก placeins หรือ \clearpage ถูกยอมรับ: \FloatBarrier ไม่ทำอะไรที่นี่ และ \clearpage เริ่มหน้าใหม่
สิ่งที่ต่างจากการติดตั้ง TeX
สำหรับรายละเอียดของแพ็กเกจ float ดู float, wrapfig และ rotating คู่มืออยู่บน CTAN: float wrapfig และ rotating
คำถามและคำตอบ
จะบังคับให้ figure อยู่ตรงนี้ใน LaTeX ได้อย่างไร
ใน Scissor LaTeX ไม่จำเป็น: figure ในเอกสารทั่วไปอยู่ตรงที่คุณเขียนเสมอ ในการติดตั้ง TeX ให้โหลดแพ็กเกจ float แล้วเขียน \begin{figure}[H] ซึ่งใช้ได้ที่นี่ด้วย
ทำไม figure ของฉันจึงไปอยู่ด้านบนของหน้า
สิ่งนี้เกิดเฉพาะในเลย์เอาต์งานประชุมวิชาการ ซึ่งลอย figure แบบที่ LaTeX ทำ ให้เขียน [h] เป็นตัวอักษรแรกเพื่อคง figure ไว้ในเนื้อหาที่นั่น
ทำไม figure ของฉันจึงมีป้ายว่า "Table 1"
figure นั้นมีเพียง tabular จึงได้หมายเลขเป็นตาราง ให้ใช้สภาพแวดล้อม table สำหรับตาราง และ figure สำหรับรูปภาพและภาพวาด
ทุกตัวอย่างในหน้านี้จัดหน้าโดย Scissor LaTeX ขณะสร้างเว็บไซต์ อัปเดตล่าสุด 2026-11-07