带图像的多列表格

带图像的多列表格

我想创建一个包含多列图片的表格。不幸的是,我不知道该怎么做。我尝试插入右侧有图片、左侧有文本的表格。但有些东西不起作用。为了清楚起见,我用 MS Word 做了一个测试。哪里错了?谢谢。

\documentclass[a4paper,10pt]{report}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[margin=1cm]{geometry}

\begin{document}
\setlength\columnsep{1cm}
\begin{multicols}{2}
\lipsum[1-3]
\begin{tabular}{l r}
\includegraphics[width=3cm]{figure.pdf}
&
\lipsum[1-3]
\end{tabular}
\end{multicols}
\end{document}

在此处输入图片描述

答案1

正如 Torbjørn T. 指出的,l列定义的cr选项tabular将单元格内容视为一行。如果要定义,应使用paragraphs选项。它会创建顶部对齐的段落。如果您加载垂直居中段落和底部对齐段落的包,则可以使用。p{par width}array m{par width}b{par width}

\documentclass[a4paper,10pt]{report}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage[margin=1cm]{geometry}
\usepackage{array}

\begin{document}
\setlength\columnsep{1cm}
\begin{multicols}{2}
\lipsum[1-3]
\begin{tabular}{m{3.5cm}m{.5\columnwidth}}
\includegraphics[width=3cm]{example-image.pdf}
&
\lipsum[2]
\end{tabular}
\end{multicols}
\end{document}

在此处输入图片描述

答案2

这个问题被问过很多次了...问题出在最后一列的类型上,r(正如评论中所假设的那样)假设内容将在一行中,并且它会根据行宽进行调整。您需要更改rp{<width>}或(最好}更改为m{<width>}

\documentclass[a4paper,10pt]{report}
    \usepackage[margin=1cm]{geometry}
\setlength\columnsep{1cm}
    \usepackage{graphicx}
    \usepackage{multicol}
    \usepackage{lipsum}

    \usepackage{calc}
    \usepackage{array}

    \begin{document}
\begin{multicols}{2}
\lipsum[1-3]

\noindent
\begin{tabular}{@{}m{0.4\linewidth-2\tabcolsep-2\arrayrulewidth}
                   m{0.6\linewidth}@{}}
\includegraphics[width=\hsize]{example-image-a}
&
\lipsum[2]
\end{tabular}

\noindent
\begin{tabular}{@{}m{0.6\linewidth}
                   m{0.4\linewidth-2\tabcolsep-2\arrayrulewidth}@{}}
\lipsum[2]
&
\includegraphics[width=\hsize,height=17\baselineskip]{example-image-b}
\end{tabular}

\end{multicols}
    \end{document}

为了确定柱的类型和宽度,我使用包array(用于m)和calc(用于计算)。

这使:

在此处输入图片描述

编辑:为了利用列的整个宽度,我\noindent在表格前添加并-2\tabcolsep-2\arrayrulewidth从第二列宽度的确定中删除。

编辑:更改带有文本和图像的列的顺序很简单,在第一个表格列中放置文本,在第二个表格列中放置图像。要使图像适合表格单元格高度,您需要将选项添加height\includegraphics。但请注意:这会破坏图像的原始纵横比。为了显示这一点,我用新的 MWE 替换了现有的 MWE,它显示了这一点(参见更正后的 MWE 和上图)。

相关内容