首先,请检查回答的 LaTeX 代码:
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{array}
\begin{document}
\begin{tabular}{|m|m|m|}
\hline
& Size & Figure \\
\hline
One & 1cm*1cm & \includegraphics[width=1cm, height=1cm]{owl.jpg} \\
\hline
Two & 2cm*2cm & \includegraphics[width=2cm, height=2cm]{owl.jpg} \\
\hline
\end{tabular}
\end{document}
我需要使用什么命令才能使表格单元格根据给定的图片大小自动调整?
以及如何使包括图片在内的每个表格单元格内容(垂直和水平)居中对齐?
短暂性脑缺血发作
答案1
这可能就是您正在寻找的:
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{cellspace}
\setlength\cellspacetoplimit{\tabcolsep}
\setlength\cellspacebottomlimit{\tabcolsep}
\begin{document}
\begin{tabular}{|Sc|Sc|Sc|}
\hline
& Size & Figure \\
\hline
One & 1cm*1cm & \includegraphics[width=1cm, height=1cm, valign=c]{example-image} \\
\hline
Two & 2cm*2cm & \includegraphics[width=2cm, height=2cm, valign=c]{example-image} \\
\hline
\end{tabular}
\end{document}
答案2
列m
应该具有一定的长度,因此您应该使用一些类似的m{2cm}
或使用另一种类型的列。
l
、c
和列r
会自动调整以适应内容,所以这就是您所需要的。您可以@{}
在列之前和之后使用 also 来避免 \tabcolsep 定义的默认填充。
另一方面,请注意,默认情况下图像将与左侧单元格的“cm”底部对齐(放置方式与字符相同),但您可以借助adjustbox
MWE 中所示的包将其居中,然后完美适应最大的图像。
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{array}
\begin{document}
\tabcolsep10pt
\begin{tabular}{|l|c|@{}c@{}|}\hline
& Size & Figure \\\hline
One & 1cm*1cm & \includegraphics[valign=c,width=1cm]{example-image-1x1.jpg} \\\hline
Two & 2cm*2cm & \includegraphics[valign=c,width=2cm]{example-image-1x1.jpg} \\\hline
\end{tabular}
\end{document}
如果您希望在图像周围添加一些填充,那么无需额外软件包的技巧就是将图像放入\fbox{}
之前已设置的 \fboxrule 中,并将 \fboxsep 设置为大于 0pt。(例如 \fboxrule0pt\fboxsep1em\fbox{}。这甚至允许在同一列中使用不同的填充。例如:
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{array}
\begin{document}
\tabcolsep10pt\fboxrule0pt\fboxsep\tabcolsep
\begin{tabular}{|l|c|@{}c@{}|}\hline
& Size & Figure \\\hline
One & 1cm*1cm & \fbox{\includegraphics[valign=c,width=1cm]{example-image-1x1.jpg}} \\\hline
Two & 2cm*2cm & \fboxsep2pt\fbox{\includegraphics[valign=c,width=2cm]{example-image-1x1.jpg}} \\\hline
\end{tabular}
\end{document}