我试图将图形和表格并排放置,以便两者的基线(而不是标题)对齐:
答案这个问题使用 minipages 来实现这一点\stackunder
,但使用带有底部标题的表格。我修改了代码,但似乎无法正确使用 minipage
[b]
s 和[t]
s。我希望表格底部正好位于图像底部:
以下是生成上述图像的代码:
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{stackengine}
\begin{document}
\stackunder{
\begin{minipage}[b]{0.49\textwidth}\vspace{0pt}
\centering
\includegraphics[width=\textwidth]{example-image-a.pdf}
\end{minipage}
}
{
\begin{minipage}[]{0.49\textwidth}\vspace{0pt}
\captionof{figure}{A figure with a long caption. A figure with a long caption. A figure with a long caption.}
\end{minipage}
}
\hfill
\stackunder{
\begin{minipage}[b]{0.49\textwidth}\vspace{0pt}
\captionof{table}{A table with a long caption. A table with a long caption. A table with a long caption.
A table with a long caption. A table with a long caption. A table with a long caption. }
\end{minipage}
}
{
\begin{minipage}[]{0.49\textwidth}\vspace{0pt}
\centering
\begin{tabular}[b]{|c|c|c|}\hline
a & b & c\\\hline
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\\hline
\end{tabular}
\end{minipage}
}
\end{document}
答案1
MWE 只需要进行少量更改。对于表格,您使用了\stackunder{<caption>}{<tabular}
将整体基线与 关联起来的<caption>
。相反,使用\stackon{<tabular>}{<caption>}
以便表格与基线相关联。然后,为了获得 的正确基线对齐tabular
,您需要使用 选项使周围的minipage
底部对齐[b]
。
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{stackengine}
\begin{document}
\stackunder{
\begin{minipage}[b]{0.49\textwidth}\vspace{0pt}
\centering
\includegraphics[width=\textwidth]{example-image-a.pdf}
\end{minipage}
}
{
\begin{minipage}[]{0.49\textwidth}\vspace{0pt}
\captionof{figure}{A figure with a long caption. A figure with a long caption. A figure with a long caption.}
\end{minipage}
}
\hfill
\stackon{
\begin{minipage}[b]{0.49\textwidth}\vspace{0pt}
\centering
\begin{tabular}[b]{|c|c|c|}\hline
a & b & c\\\hline
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\\hline
\end{tabular}
\end{minipage}
}{ \begin{minipage}[b]{0.49\textwidth}\vspace{0pt}
\captionof{table}{A table with a long caption. A table with a long caption. A table with a long caption.
A table with a long caption. A table with a long caption. A table with a long caption. }
\end{minipage}
}
\end{document}
答案2
这是一种基于包的方法xcoffins
。
它是一个包,旨在以非常简单但精确的方式帮助精确布局页面上的内容:文本、表格、图像、图形等。零猜测。
方便根据规格构建封面和标题页。
有三个步骤:
(1)\Figurex
在 4 个特殊框( 、 \Tablex
和)中填写内容。请注意\CaptionTablex
,\CaptionFigurex
所使用的内容与您使用的完全一致。
你可以把它们看作是迷你页面,它们的优点是许多预定义的点互相依附。
(2)将盒子组装在一起。在这个简单的情况下,只需将一个盒子的左/右上角/下角与前一个盒子的左/右上角/下角组装在一起即可。(第一个盒子是空盒子\Framex
)。
例如\JoinCoffins\Framex[\Figurex-r,\Figurex-b]\Tablex[l,b](1em,0pt)
将图形的右下角与表格的左下角连接起来(作为指定) 并附加 1em 的 x 偏移量。
(3)排版整套。
看https://tex.stackexchange.com/a/576386/161015以获得更广泛的解释。
\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{xcoffins} % added <<<<
\NewCoffin\Framex
\NewCoffin\Figurex
\NewCoffin\Tablex
\NewCoffin\CaptionTablex
\NewCoffin\CaptionFigurex
\begin{document}
% Set the content in boxes
\SetVerticalCoffin\Figurex{0.48\textwidth}{%
\noindent\includegraphics[width=0.48\textwidth]{example-image-a.pdf}
}
\SetVerticalCoffin\Tablex{0.48\textwidth}{%
\centering\begin{tabular}[b]{|c|c|c|}\hline
a & b & c\\\hline
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9\\\hline
\end{tabular}
}
\SetVerticalCoffin\CaptionTablex{0.48\textwidth}{%
\captionof{table}{A table with a long caption. A table with a long caption. A table with a long caption.
A table with a long caption. A table with a long caption. A table with a long caption. }
}
\SetVerticalCoffin\CaptionFigurex{0.48\textwidth}{%
\captionof{figure}{A figure with a long caption. A figure with a long caption. A figure with a long caption.}
}
% Join the boxes
\JoinCoffins\Framex[l,t]\Figurex[l,t]
\JoinCoffins\Framex[\Figurex-r,\Figurex-b]\Tablex[l,b](1em,0pt)% x offset = 1em to the right
\JoinCoffins\Framex[\Figurex-l,\Figurex-b]\CaptionFigurex[l,t](0pt, -2ex) %y offset = 2ex down
\JoinCoffins\Framex[\Tablex-l, \Tablex-t]\CaptionTablex[l,b]
% Typeset the assembly
\noindent\TypesetCoffin\Framex
\end{document}