我有一个字体大小很大的文档,我想在其中添加包含图像的 4*9 表格。我过去常常resizebox
自动缩小字体大小和图像以适合单元格,并强制表格的宽度与文本宽度相同,高度略小于页面高度。
问题是,调整大小后文本看起来很奇怪,因为调整大小会垂直拉伸文本。
有什么解决办法吗?
\documentclass[48pt,oneside,a4paper,extrafontsizes]{memoir}
\usepackage[demo]{graphicx}
\begin{document}
\begin{table*}[h!]\centering
\resizebox{\textwidth}{0.4\textheight}{
\begin{tabular}{|c|c|c|c|}
\hline\noalign{}
Chair&
air&
international&
Ali
\\\hline
latex &latex &latex &latex\\\hline
latex &latex &latex &latex\\\hline
latex &latex &latex &latex\\\hline
\includegraphics[width=\linewidth,height=0.2\textwidth]{demo}
&\includegraphics[width=\linewidth,height=0.2\textwidth]{demo}
&\includegraphics[width=\linewidth,height=0.2\textwidth]{demo}
&\includegraphics[width=\linewidth,height=0.2\textwidth]{demo}\\\hline
Chair&
air&
international&
Ali
\\\hline
Chair&
air&
international&
Ali
\\\hline
latex &latex &latex &latex\\\hline
latex &latex &latex &latex\\\hline
\end{tabular}}
\end{table*}
\end{document}
答案1
我尝试扩展评论(感谢@StevenB.Segletes 和@DavidCarlisle)并且:
- 删除
0.4\textheight
以保持字体纵横比 - 删除了
[h!]
不与之一起使用的table*
- 删除了
height
图像以保持纵横比(您可以选择另一个)
然后我也:
- 使用
booktabs
包装制作精美的线条 - 使用
array
包装(主要是为了抑制额外的外部分离@{}
) - 删除了所有垂直分隔符
- 重构了水平分隔符。
我现在准备提出两个解决方案。“自然”的那个(我认为看起来最好)
\documentclass[48pt,oneside,a4paper,extrafontsizes]{memoir}
\usepackage[demo]{graphicx}
\usepackage{booktabs,array}
\begin{document}
\begin{table*}\centering
\resizebox{\textwidth}{!}{
\begin{tabular}{@{}cccc@{}}
\toprule Chair&
air&
international&
Ali
\\\midrule
latex &latex &latex &latex\\
latex &latex &latex &latex\\
latex &latex &latex &latex\\
\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}\\
Chair&
air&
international&
Ali
\\
Chair&
air&
international&
Ali
\\
latex &latex &latex &latex\\
latex &latex &latex &latex\\\bottomrule
\end{tabular}}
\end{table*}
\end{document}
这张表对我来说已经很好了,而且比以前密度小了很多。如果你仍然觉得它太密集,我可以给你一个拉伸数组的建议,如下行:
\renewcommand{\arraystretch}{1.4}
基本上在行间插入垂直间距。请随意调整以获得您想要的效果。我仍然更喜欢第一个例子
\documentclass[48pt,oneside,a4paper,extrafontsizes]{memoir}
\usepackage[demo]{graphicx}
\usepackage{booktabs,array}
\begin{document}
\begin{table*}\centering
\renewcommand{\arraystretch}{1.4}
\resizebox{\textwidth}{!}{
\begin{tabular}{@{}cccc@{}}
\toprule Chair&
air&
international&
Ali
\\\midrule
latex &latex &latex &latex\\
latex &latex &latex &latex\\
latex &latex &latex &latex\\
\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}
&\includegraphics[width=\linewidth]{demo}\\
Chair&
air&
international&
Ali
\\
Chair&
air&
international&
Ali
\\
latex &latex &latex &latex\\
latex &latex &latex &latex\\\bottomrule
\end{tabular}}
\end{table*}
\end{document}