如何设置最大列宽?

如何设置最大列宽?

我的问题是,我的文档中有许多具有相同布局的表格,我想将特定列的最大宽度指定为 5 厘米。我尝试使用 p{5cm},但它使列固定为 5 厘米宽,并且只有一个短单词,看起来很奇怪。我希望它尽可能窄,如果它的宽度超过 5 厘米,则将其分成两行。有什么办法可以解决我的问题吗?

答案1

你可以这样做varwidth

\documentclass{article}    
\usepackage{array} % for defining a new column type
\usepackage{varwidth} %for the varwidth minipage environment

\begin{document}

\newcolumntype{M}{>{\begin{varwidth}{4cm}}l<{\end{varwidth}}} %M is for Maximal column

Table with short rows:

\begin{tabular}{|M|}
hello hello hello
\end{tabular}

Same table, with long row:

\begin{tabular}{|M|}
hello hello hello hello hello hello 
\end{tabular}
\end{document}

编译结果为:

替代文本

谢谢你启发我去寻找这个答案。这是一个很好的问题!

答案2

我建议使用V的列类型varwidth。输出与 Yossi Farjoun 的输出略有不同(参见问题)。

\documentclass{article}    
\usepackage{array}
\usepackage{varwidth} % must be loaded after array

\begin{document}

Table with short rows:

\begin{tabular}{|V{4cm}|}
hello hello hello
\end{tabular}


\bigskip
Same table, with long row:

\begin{tabular}{|V{4cm}|}
hello hello hello hello hello hello 
\end{tabular}
\end{document}

上述代码的输出

答案3

你也可以这样做:

\documentclass{article}    
\usepackage{array} % for defining a new column type

\begin{document}

Table with short rows:

\begin{tabular}{|p{4in}|}
hello hello hello
\end{tabular}

Same table, with long row:

\begin{tabular}{|p{2in}|}
hello hello hello hello hello hello 
\end{tabular}
\end{document}

相关内容