我有一段代码,其中 标记的部分A
与 标记的部分相同,B
只是.4
是A
在.45
中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
将使用黑色规则表示过满)并使用红色框架封闭了小页面,以便您可以看到实际发生的情况:
\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}
结果如下:
这是代码的修改版本;使用width=\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}