是否有一个全局变量可以反映当前首选表列的宽度?

是否有一个全局变量可以反映当前首选表列的宽度?

我希望在表格单元格中插入一个(varwidth)框,并且希望该框的大小在宽度上限制为该列原本具有的自动调整大小,并且我插入到框中的任何文本都只在该宽度处换行。

我最初希望能够做类似的事情

\begin{tabular}{ccc}
Column 1 & Column 2 & Column 3\tabularnewline
stuff & 
\begin{varwidth}{\columnwidth}
This text should be wrapped to the width of the column
but instead it makes the entire column extremely wide
\end{varwidth}
 & stuff\tabularnewline
some other stuff & some other stuff & some other stuff\tabularnewline
\end{tabular}

将我的varwidth小页面放在我想要插入文本的单元格中,但 \columnwidth 似乎仅反映与页面最终布局相关的列宽,而不是单个表格列的首选宽度。更糟糕的是,此示例进一步导致表格溢出右边距。

如果我的要求不清楚,我提前道歉,但如果任何人有任何具体问题,我会尽快解决,并在适当的情况下澄清这个问题的文字。

答案1

以下内容并不是真正自动的,因为您必须手动确定最宽的条目,但可能会给您提供接近您描述的内容:

\documentclass{article}
\usepackage{calc}
\usepackage{ragged2e}
\usepackage{array}
\newcolumntype{C}[1]{>{\Centering\arraybackslash\hspace{0pt}}p{#1}}
\begin{document}

\begin{tabular}{cC{\widthof{some other stuff}}c}
Column 1 & Column 2 & Column 3\tabularnewline
stuff & 
This text should be wrapped to the width of the column
but instead it makes the entire column extremely wide
 & stuff\tabularnewline
some other stuff & some other stuff & some other stuff\tabularnewline
\end{tabular}

\end{document}

相关内容