Column B
我和一位同事正在开发文档模板,其中某些类型的表格是重复元素。这些表格的内容深度各不相同,通常包含MWE中的内容。
由于这些元素是重复的,因此我们为它们设置了一致的宽度。但是,有些元素在宽度上非常短,无法拉伸以满足最小宽度。MWE 显示:
\documentclass{article}
\usepackage[margin=0.25in]{geometry}
\usepackage{mwe}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{tabulary}
\begin{document}
\begin{table}[h]
\centering
\begin{tabulary}{0.66\textwidth}{lL}
\toprule
\multicolumn{2}{l}{Example A} \\
\midrule
\multicolumn{2}{c}{\includegraphics[scale=0.5]{example-image-a}} \\
\midrule
Column A & Column B \\
\midrule
Label I & A very little bit of text.\\
\bottomrule
\end{tabulary}
\caption{Example A}
\end{table}
\begin{table}[h]
\centering
\begin{tabulary}{0.66\textwidth}{lL}
\toprule
\multicolumn{2}{l}{Example B} \\
\midrule
\multicolumn{2}{c}{\includegraphics[scale=0.5]{example-image-b}} \\
\midrule
Column A & Column B \\
\midrule
Label I & \blindtext\\
\bottomrule
\end{tabulary}
\caption{Example B}
\end{table}
\end{document}
添加以下 hack 来Example A
强制所需的宽度,但似乎是一个糟糕的解决方案:Label I & A very little bit of text.\hspace*{50em}\\
当然有更好的方法来做到这一点?
更新
关于类似情况的这个问题提供了补丁和一些有关 的有用历史记录tabulary
。
然而,这里涉及的一些东西(可能是图像?)破坏了那里建议的补丁,导致算术溢出。tabularx
在表格未满的情况下使用手动干预是合理的,但这不是支持自动化的场景。
有没有办法通过调用来为补丁提供算术\includegraphics
,或者这是否只是推得太远进入不合理的领域?
答案1
您tabularx
可以修复整个表格的宽度,并且X
列可以独立于其内容调整其大小。
\documentclass{article}
\usepackage[margin=0.25in]{geometry}
\usepackage{mwe}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{tabulary}
\usepackage{tabularx}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
\begin{document}
%\blindtext
\begin{table}[h]
\centering
\begin{tabularx}{.66\textwidth}{lY}
\toprule
\multicolumn{2}{l}{Example A} \\
\midrule
\multicolumn{2}{c}{\includegraphics[scale=0.5]{example-image-a}} \\
\midrule
Column A & Column B \\
\midrule
Label I & A very little bit of text\\
\bottomrule
\end{tabularx}
\caption{Example A}
\end{table}
\begin{table}[h]
\centering
\begin{tabulary}{0.66\textwidth}{lL}
\toprule
\multicolumn{2}{l}{Example B} \\
\midrule
\multicolumn{2}{c}{\includegraphics[scale=0.5]{example-image-b}} \\
\midrule
Column A & Column B \\
\midrule
Label I & \blindtext\\
\bottomrule
\end{tabulary}
\caption{Example B}
\end{table}
\end{document}