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

การวางตำแหน่ง 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.
จัดหน้าโดย Scissor LaTeX: float แบบ figure พร้อมคำบรรยาย

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.
จัดหน้าโดย Scissor LaTeX: [b] ใน article: 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 ไปอยู่ด้านบน

แท็บปัญหา: 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, wraptablewrapfigจัดเป็น figure ธรรมดา ข้อความไม่ไหลล้อมรอบ อาร์กิวเมนต์ความกว้างถูกอ่านแล้วทิ้งไป
sidewaysfigure, sidewaystablerotatingจัดเป็น figure ธรรมดา ไม่หมุน
SCfiguresidecapจัดเป็น figure ธรรมดาโดยมีคำบรรยายอยู่ด้านล่าง
marginfigure, margintableคลาส tufteจัดเป็น figure ธรรมดาในเนื้อหา
subfigure, subtablesubcaptionรวมเข้ากับ figure ที่ล้อมรอบ ดู รูปภาพ

wrapfigure กลายเป็น figure ธรรมดา

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

ทำให้ใช้ได้ทั้งสองที่

หากเอกสารของคุณต้องคอมไพล์ในการติดตั้ง 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