จะบังคับให้สองร่างอยู่บนหน้าเดียวกันใน LaTeX ได้อย่างไร?


84

ฉันมีสองภาพที่ต้องการแสดงบนเพจเป็นตัวเลข แต่ละคนกินพื้นที่น้อยกว่าครึ่งหนึ่งของพื้นที่ว่างดังนั้นจึงไม่มีที่ว่างสำหรับสิ่งอื่น ๆ ในหน้านั้นมากนัก แต่ฉันรู้ว่ามีพื้นที่เพียงพอสำหรับทั้งสองร่าง ฉันพยายามวางตัวเลขด้วย [ht] และ [hb] ทั้ง [h] และทั้ง [ht] แต่ก็ยังไม่สามารถรับสองภาพนั้นในหน้าเดียวกันได้ แต่อย่างน้อยก็ต้องมีอย่างน้อยสองสามย่อหน้าระหว่างทั้งสอง

ฉันจะบังคับให้สองร่างนั้นอยู่บนหน้าเดียวกันได้อย่างไร?


มีการถามคำถามที่คล้ายกันใน TeX.SX เมื่อเร็ว ๆ นี้และฉันเชื่อว่าคำตอบโดยใช้\afterpageคำสั่งเป็นคำตอบที่ดีที่สุด
ฉันชอบรหัส

คำตอบ:


141

คุณสามารถใส่สองร่างในสภาพแวดล้อมรูปเดียว ตัวอย่างเช่น:

\begin{figure}[p]
\centering
\includegraphics{fig1}
\caption{Caption 1}
\includegraphics{fig2}
\caption{Caption 2}
\end{figure}

คำบรรยายแต่ละคำจะสร้างตัวเลขแยกกัน


2
นั่นเป็นคำตอบที่ดีที่ต้องจำ :) ไม่เคยคิด แต่มันดูสะอาด :).
bastijn

5
เป็นไปได้ก็เป็นแพคเกจ subfigure \subfloat[Caption]{\includegraphics{file}}และคำสั่งภายในสภาพแวดล้อมที่ร่างของบางสิ่งบางอย่างเช่น
Rupert Nash

11
ดูเหมือนว่าคุณจะไม่สามารถ \ ติดป้ายกำกับตัวเลขทั้งสองอย่างเป็นอิสระได้
Mulone

1
เปลี่ยนธง "คำตอบที่ถูกต้อง" เพราะคำตอบนี้น่าจะดีที่สุด
Kusti

2
@Mulone - ดูเหมือนว่าคุณจะทำได้ถ้าคุณใส่สิ่งแวดล้อม\labelเข้าไปข้างใน \caption
คริส

20

หากคุณต้องการมีภาพเกี่ยวกับหัวข้อเดียวกันคุณสามารถใช้subfigureแพ็คเกจและโครงสร้าง:

\begin{figure}
 \subfigure[first image]{\includegraphics{image}\label{first}}
 \subfigure[second image]{\includegraphics{image}\label{second}}
 \caption{main caption}\label{main_label}
\end{figure}

ตัวอย่างเช่นหากคุณต้องการมีรูปภาพสองภาพที่แตกต่างกันคุณสามารถใช้:

\begin{figure}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{first}
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  \includegraphics{image}
  \caption{second}
 \end{minipage}
\end{figure}

สำหรับรูปภาพในคอลัมน์คุณจะมี [1] [2] [3] [4] ในแหล่งที่มา แต่จะมีลักษณะดังนี้

[1] [3]

[2] [4]


1
คุณยังสามารถใช้โครงสร้างที่กล่าวถึงโดย Jerred Russel ได้ที่นี่: stackoverflow.com/questions/1673942/latex-table-positioning Point อยู่ในการใช้floatแพ็คเกจ
Crowley

15

ฉันมีปัญหานี้ขณะพยายามผสมตัวเลขและข้อความ สิ่งที่ได้ผลสำหรับฉันคือตัวเลือก "H" โดยไม่มี "!" ตัวเลือก \begin{figure}[H]
'H' พยายามบังคับให้ตัวเลขตรงกับที่คุณใส่ไว้ในรหัส สิ่งนี้ต้องการให้คุณรวม \usepackage{float}

มีอธิบายตัวเลือกที่นี่


1
ใช่floatแพคเกจเป็นคำตอบที่ถูกต้องที่นี่ ฉันมักเสียใจที่ใช้! เช่นเดียวกับใน\begin{figure}[h!]อาจถูกเขียนใหม่ใน TeX \pleaseเนื่องจากคอมไพเลอร์ยังคงตัดสินใจเองว่าจะวางภาพของคุณไว้ที่ใด คราวนี้มันขยิบตาให้คุณแทนที่จะไม่สนใจคุณ floatแพคเกจจะทำให้มันทำในสิ่งที่คุณต้องการสำหรับการตรวจสอบ
ely

6

หากคุณต้องการให้ทั้งคู่อยู่ในหน้าเดียวกันและทั้งสองจะใช้เวลาทั้งหน้าโดยพื้นฐานแล้วแนวคิดที่ดีที่สุดคือบอก LaTeX ให้วางทั้งสองไว้ในหน้าของตนเอง!

\begin{figure}[p]

มันอาจจะผิดหลักการพิมพ์เสียง (เช่นน่าเกลียด) ที่จะมีตัวเลขสองตัวในหน้าที่มีข้อความเพียงไม่กี่บรรทัดด้านบนหรือด้านล่าง


อย่างไรก็ตามเหตุผลที่ได้[!h]ผลเป็นเพราะมันบอกให้ LaTeX ลบล้างข้อ จำกัด ตามปกติเกี่ยวกับจำนวนพื้นที่ที่ควรอุทิศเพื่อลอยตัวบนหน้าที่มีข้อความ ตามนัยข้างต้นมีเหตุผลข้อ จำกัด อยู่ที่นั่น ซึ่งไม่ได้หมายความว่าจะคลายได้บ้าง ดูคำถามที่พบบ่อยเกี่ยวกับการทำเช่นนั้น


1
อย่างแม่นยำมากขึ้น[p]เพียงบอกให้คอมไพเลอร์วางไว้บนหน้าที่มีลอยเท่านั้น ซึ่งอาจส่งผลให้ตัวเลขสองหน้าแยกกันหรือไม่ก็ได้ขึ้นอยู่กับขนาด
fotNelton


1

ลอง [h!] ก่อน แต่อย่างอื่นคุณทำได้แบบน่าเกลียด

LateX ค่อนข้างยากในการวางภาพที่มีข้อ จำกัด เช่นนี้ในขณะที่จัดการวางเอง สิ่งที่ฉันมักจะทำถ้าฉันต้องการรูปตรงจุดนั้นคือทำสิ่งที่ชอบ |:

text in front of image here

 \newpage 
 \figure1 
 \figure2

text after images here

ฉันรู้ว่ามันอาจไม่ใช่วิธีที่ถูกต้องในการทำ แต่มันก็เหมือนมีเสน่ห์ :)

// แก้ไข

คุณสามารถทำได้เช่นเดียวกันหากคุณต้องการข้อความเล็ก ๆ ที่ด้านบนของหน้า แต่ให้ใช้ / clearpage แน่นอนว่าคุณสามารถปรับขนาดให้เล็กลงได้เล็กน้อยดังนั้นจึงไม่เกิดขึ้นอีกต่อไป บางทีช่องว่างที่ไม่เห็นจะใหญ่กว่าที่คุณสงสัยเล็กน้อยฉันมักจะพยายามย่อขนาดรูปภาพจนกว่าจะปรากฏในหน้าเดียวกันเพียงเพื่อให้ทราบว่าไม่มีการเหลื่อมกันเหมือน 1% ทำให้ทั้งหมดนี้ไม่จำเป็นเท่านั้น .


ขอบคุณ [h!] ได้ผล! ฉันชอบคำตอบของคุณเพราะ "วิธีที่น่าเกลียด" ดูเหมือนจะเป็นสิ่งที่ดีที่ควรรู้แม้ว่าฉันจะไม่ต้องการคำตอบก็ตาม
Kusti
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.