
我有這段程式碼,其中標記的部分A
與標記的部分相同,B
除了.4
inA
是.45
in B
。儘管它們非常相似,第一個將圖像與最右邊的圖像並排放置,但第二個卻沒有這樣做。我不明白為什麼會有差異。有人可以解釋一下嗎?
\documentclass{article}
\usepackage{colortbl}
\usepackage{graphicx}
\begin{document}
\begin{center}
\noindent\colorbox{blue}{\parbox[t][0.5cm][c]{\textwidth}{\bfseries{HEADER}}}
\end{center}
\noindent\begin{minipage}{\textwidth}
%A
\noindent\begin{minipage}[b]{.4\textwidth}
\includegraphics[width=2in]{elephant}
Some text.
\end{minipage}
\hfill
\begin{minipage}[b]{.4\textwidth}
\includegraphics[width=2in]{elephant}
Some more text.
\end{minipage}
\end{minipage}
\vspace{5ex}
%B
\noindent\begin{minipage}{\textwidth}
\noindent\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=2in]{elephant}
Some text.
\end{minipage}
\hfill
\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=2in]{elephant}
Some more text.
\end{minipage}
\end{minipage}
\end{document}
輸出:
關於大象圖像的知識共享資訊是這裡
答案1
.4\textwidth
在 A) 中,您聲明es的寬度和圖像minibox
的寬度,但\textwidth (使用預設邊距);事實上,您的圖像比為它們保留的空間更寬,並且圖像溢出了右邊距(使用類別選項檢查這一點並查看檔案)。2in
2in > .4
draft
.log
在 B) 中,圖像現在有足夠的空間2in <.45\textwidth
,因為minipage
s 填充了文字寬度,但沒有填充圖像;第二個小型頁面中的圖像是從小型頁面開始排版的,因此您將有一個寬度的空白.45\textwidth-2in
(您可以使用\fbox
每個minipage
設定\fboxsep
來驗證這一點0pt
)。
在標題中,您沒有考慮\fboxsep
(框與其內容之間的間距),這將導致框框過滿(框的寬度必須為\parbox
)\textwidth-2\fboxsep
。
在下面的程式碼中,我使用了draft
class 選項(溢出的\hbox
es 將使用黑色規則發出信號)並使用紅色框封閉迷你頁,以便您可以看到到底發生了什麼:
\documentclass[draft]{article}
\usepackage{colortbl}
\usepackage{graphicx}
\newcommand\Mybox[1]{%
\setlength\fboxsep{0pt}\fcolorbox{red}{white}{#1}
}
\begin{document}
\begin{center}
\noindent\colorbox{blue}{\parbox[t][0.5cm][c]{\textwidth}{\bfseries{HEADER}}}
\end{center}
\noindent\begin{minipage}{\textwidth}
%A
\noindent\Mybox{\begin{minipage}[b]{.4\textwidth}
\includegraphics[width=2in]{elephant}
Some text.
\end{minipage}}
\hfill
\Mybox{\begin{minipage}[b]{.4\textwidth}
\includegraphics[width=2in]{elephant}
Some more text.
\end{minipage}}
\end{minipage}
\vspace{5ex}
%B
\noindent\begin{minipage}{\textwidth}
\noindent\Mybox{\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=2in]{elephant}
Some text.
\end{minipage}}
\hfill
\Mybox{\begin{minipage}[b]{.45\textwidth}
\includegraphics[width=2in]{elephant}
Some more text.
\end{minipage}}
\end{minipage}
\end{document}
結果:
這是您的程式碼的修改版本; usingwidth=\linewidth
保證影像將恰好佔用minipage
s 內的可用空間:
\documentclass{article}
\usepackage{colortbl}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\begin{document}
\begin{center}
\colorbox{blue}{\parbox[t][0.5cm][c]{\dimexpr\textwidth-2\fboxsep\relax}{\bfseries{HEADER}}}
\end{center}
\lipsum[2]
\noindent\begin{minipage}[b]{.4\textwidth}
\includegraphics[width=\linewidth]{elephant}
Some text.
\end{minipage}%
\hfill
\begin{minipage}[b]{.4\linewidth}
\includegraphics[width=\textwidth]{elephant}
Some more text.
\end{minipage}
\end{document}
答案2
要並排放置數字,您可以嘗試這個(一切都是自動處理的,您可以使用更多或更少的數字:2、3、4 等):
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\begin{figure}[ht]
\centering
\subfigure[Subfigure 1 title]{
\rule{2.8cm}{2cm}
\label{fig:subfig1}
}
\subfigure[Subfigure 2 title]{
\rule{2.8cm}{2cm}
\label{fig:subfig2}
}
\subfigure[Subfigure 3 title]{
\rule{2.8cm}{2cm}
\label{fig:subfig3}
}
\subfigure[Subfigure 4 title]{
\rule{2.8cm}{2cm}
\label{fig:subfig4}
}
\caption[Optional caption for list of figures]{General Caption of subfigures 1-4}
\label{fig:subfigureExample1}
\end{figure}
Reference to figure1:
\ref{fig:subfigureExample1}
and
\ref{fig:subfig4}.
\end{document}
And the referencing:
或這個(您必須提供圖片 subfig5.jpg 到 subfig8.jpg):
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\begin{figure}[ht]
\centering
\subfigure[Subfigure 5 title]{
\includegraphics[width=0.4\columnwidth, keepaspectratio]{subfig5.jpg}
\label{fig:subfig5}
}
\subfigure[Subfigure 6 title]{
\includegraphics[width=0.4\columnwidth, keepaspectratio]{subfig6.jpg}
\label{fig:subfig6}
}
\subfigure[Subfigure 7 title]{
\includegraphics[width=0.4\columnwidth, keepaspectratio]{subfig7.jpg}
\label{fig:subfig7}
}
\subfigure[Subfigure 8 title]{
\includegraphics[width=0.4\columnwidth, keepaspectratio]{subfig8.jpg}
\label{fig:subfig8}
}
\caption[Optional caption for list of figures 5-8]{General Caption of subfigures 5-8}
\label{fig:subfigureExample2}
\end{figure}
Reference to figure:
\ref{fig:subfigureExample2}
and
\ref{fig:subfig6}.
\end{document}
And the referencing:
提示:「Subfigure」套件可能很舊,但會自動執行任何操作。我嘗試了幾種選擇,發現它是最有用的一種。
答案3
如果您不喜歡使用 subfigure,則使用“caption”和“subcaption”:
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\centering
\begin{subfigure}[t]{0.4\columnwidth}
\centering
\includegraphics[width=\columnwidth, keepaspectratio]
{frog.jpg}
\caption{Subfigure 1 title}\label{fig:subfig1}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.4\columnwidth}
\centering
\includegraphics[width=\columnwidth, keepaspectratio]
{frog.jpg}
\caption{Subfigure 2 title}\label{fig:subfig2}
\end{subfigure}
\begin{subfigure}[t]{0.4\columnwidth}
\centering
\includegraphics[width=\columnwidth, keepaspectratio]
{frog.jpg}
\caption{Subfigure 3 title}\label{fig:subfig3}
\end{subfigure}
\quad
\begin{subfigure}[t]{0.4\columnwidth}
\centering
\includegraphics[width=\columnwidth, keepaspectratio]
{frog.jpg}
\caption{Subfigure 4 title}\label{fig:subfig4}
\end{subfigure}
\caption{General Caption of subfigures 1-4}\label{fig:subfigureExample1}
\end{figure}
Testing Reference to figure:
Figure \ref{fig:subfigureExample1} and Figure \ref{fig:subfig4}.
\end{document}