是否可以计算跨度系数来获得最小高度?

是否可以计算跨度系数来获得最小高度?

如果我有一个禁忌表,我可以使用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将更宽的列分配给具有更多内容的列。

enter image description here

\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}

相关内容