我有一个自定义环境,称为test
。放置在环境中的文本应该保持在一起,即使放在环境中也是如此multicol
,即如果写成以下代码
OtherText
\begin{test}
A
B
C
D
\end{test}
通常它看起来像(如果放置在 2 列多列环境中)
OtherText C
A D
B
但我宁愿得到这样的结果(如果不可能将所有内容都放入第一列):
OtherText A
B
C
D
我的第一个方法是添加一个小页面环境,即:
\newenvironment{test}{\begin{minipage}{\textwidth}}{\end{minipage}}
但这与multicol
-option 相冲突,生成重叠文本,因此只能用于单列文本。还有其他选择吗?
答案1
\textwidth
是打印区域的宽度,而不是列宽。请使用\linewidth
,它是当前的行宽。
(类似地,在表格中,当在列\multirow
中插入时X
,您可以使用将当前 X 列宽度指定为多行宽度multirow{number of rows}{\linewidth}{…}
)。