我想将表格和图形并排放置。表格应填充文本宽度的三分之二,图形填充文本宽度的最后三分之一。
所以我想实现以下效果之一(在我的情况下是等效的):
一个表格有 3 列。前两列包含文本,第三列包含一张长图片。如果可能的话,图片的高度应该由整个表格的高度决定
或者像报纸一样分页。左侧是表格,右侧是图片。
我已尝试过:
\begin{multicols}{2}
\begin{tabular}{ l l }
Text & Text \\
Text & Text \\
... & ... \\
\end{tabular}
\vfill
\begin{figure}[H]
\includegraphics[]{images/image}
\end{figure}
\end{multicols}
但这会将图片直接放在桌子上。
我也尝试使用\usepackage[export]{adjustbox}
和,\includegraphics[right]{images/image}
但标题仍然位于页面的中心,因此位于表格的顶部。
答案1
那这个呢?
它使用两个嵌入在环境中的minipages
元素(宽度分别为 60% 和 30% \textwidth
(因此保留 10% 的边距))figure
来使其“浮动”。(您也可以使用另一个小页面,或者什么都不用。)
两个minipage
s 相对于另一个 s 垂直居中(参见它们的[c]
论点)。
数组(我用它是tabularx
为了向您显示它的宽度)使用相对长度\linewidth
来定义它的宽度:实际上,它必须使用它所嵌入的 minipage 的所有行宽。这样,您只需要关心 minipages 的宽度。)
与图片相同。
两个小页面之间通过装订线隔开\hfill
,装订线在它们之间插入一个水平“弹簧”。
梅威瑟:
\documentclass{scrartcl}
\usepackage{array,multicol,booktabs,tabularx}
\usepackage{graphicx}
\usepackage{showframe}
\begin{document}
\begin{figure}[h]
\begin{minipage}[c]{.6\textwidth}% or {.6\linewidth}, it's the same here
\begin{tabularx}{\linewidth}{lX}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.6\textwidth
\toprule
Text & Text
\\\midrule
Text & Text
\\
\dots & \dots
\\\bottomrule
\end{tabularx}
\end{minipage}
\hfill
\begin{minipage}[c]{.3\textwidth}
\includegraphics[width=\linewidth]{example-image}% caution: here you cannot replace \linewidth by \textwidth, since within this minipage, \linewidth=.3\textwidth
\end{minipage}
\end{figure}
\end{document}