
У меня есть этот код, где часть, помеченная , 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}
Выход:
Информация о лицензии Creative Commons на изображении слоназдесь
решение1
В A) вы объявляете ширину .4\textwidth
для minibox
es и ширину 2in
для изображений, но 2in > .4
\textwidth (с полями по умолчанию); ваши изображения на самом деле шире, чем зарезервированное для них пространство, и изображения выходят за правое поле (проверьте это с помощью draft
параметра class и посмотрите на .log
файл).
В B) теперь у изображений достаточно места 2in <.45\textwidth
, так как minipage
s заполняет ширину текста, но не изображения; изображение на второй мини-странице набирается, начиная с мини-страницы, поэтому у вас будет пустое пространство шириной .45\textwidth-2in
(вы можете проверить это, используя \fbox
каждый minipage
параметр \fboxsep
в 0pt
).
В заголовке вы не учитываете \fboxsep
(расстояние между блоком и его содержимым), и это приведет к переполнению блока (ширина для должна \parbox
быть \textwidth-2\fboxsep
).
В следующем коде я использовал draft
опцию класса (переполнение \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}
И вот результат:
Вот измененная версия вашего кода; использование 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
Если вам не нравится использовать подрисунок, используйте «подпись» и «подпись»:
\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}