如果我有一个禁忌表,我可以使用X
可选的跨度因子指定参数X[f]
。如果我有一个大表,每个单元格的内容长度各不相同,我想通过调整f
特定的跨度因子来实现表的最小高度X
。
例如,第一个和最后一个X
可以是变量,但其余的X
应该获得相同的跨度因子:{X[2]XXXXXX[1.5]}
我可以手动操作几个小时并拿着尺子靠在显示屏上看看是否取得进展;)
是否可以自动计算特定的跨度系数X
以获得表的最小高度?
测试示例
\documentclass{scrreprt}
\usepackage{tabu}
\begin{document}
\begin{table}
\begin{tabu} to \textwidth {XXXXXXX}
\textbf{Variable} & \textbf{Fix} & \textbf{Fix} & \textbf{Fix} & \textbf{Fix} & \textbf{Fix} & \textbf{Variable} \\
bar bar bar bar bar bar & bar & bar & bar & bar & bar & bar bar \\
bar bar & bar bar & bar & bar & bar & bar & bar bar bar bar bar \\
bar bar & bar bar bar bar bar & bar & bar & bar & bar & bar \\
\end{tabu}
\end{table}
\end{document}
答案1
tabu
基本上使用列算法的变体tabularx
,但是在这里您希望tabulary
将更宽的列分配给具有更多内容的列。
\documentclass{article}
\usepackage{tabulary,booktabs}
\begin{document}
\begin{table}
\begin{tabulary}{\textwidth}{*{7}{J}}
\textbf{Test} & \textbf{Test} & \textbf{Test} &
\textbf{Test} & \textbf{Test} & \textbf{Test} & \textbf{Test} \\
\midrule
bar bar bar bar bar bar & bar & bar & bar & bar & bar & bar bar \\
bar bar & bar bar & bar & bar & bar & bar & bar bar bar bar bar \\
bar bar & bar bar bar bar bar & bar & bar & bar & bar & bar \\
\bottomrule
\end{tabulary}
\bigskip
\begin{tabulary}{\textwidth}{J*{5}{p{.8cm}}J}
\textbf{Test} & \textbf{Test} & \textbf{Test} &
\textbf{Test} & \textbf{Test} & \textbf{Test} & \textbf{Test} \\
\midrule
bar bar bar bar bar bar & bar & bar & bar & bar & bar & bar bar \\
bar bar & bar bar & bar & bar & bar & bar & bar bar bar bar bar \\
bar bar & bar bar bar bar bar & bar & bar & bar & bar & bar \\
\bottomrule
\end{tabulary}
\end{table}
\end{document}