发帖后这个答案查询如何增加一列的宽度并将另一列的宽度减少相同的长度?,我考虑过如何概括(和简化)OP的设置,例如,通过theorem
在两列中使用显式环境。
tabularx
在以下使用和包的 MWE 中amsthm
,一切正常。(屏幕截图中的框架线表示文本块的边缘。)在第一个tabularx
环境中,第一列比第二列窄,而在第二个tabularx
环境中,情况则相反。在这两种环境中,构成“定理”主体的填充文本占据了单元格的整个宽度:
\documentclass{article}
\usepackage[a4paper,margin=2.5cm,showframe]{geometry}
\usepackage{tabularx}
\newcolumntype{L}[1]{>{\hsize=#1\hsize}X}
\usepackage{lipsum}
\usepackage{amsthm}
%\usepackage{ntheorem}
\newtheorem{theorem}{Theorem}
\begin{document}
\noindent % First column is narrower than second:
\begin{tabularx}{\textwidth}{@{} L{0.8} | L{1.2} @{}}
\begin{theorem} \lipsum*[2] \end{theorem} &
\begin{theorem} \lipsum*[2] \end{theorem}
\end{tabularx}
\bigskip\noindent % Now, first column is wider:
\begin{tabularx}{\textwidth}{@{} L{1.2} | L{0.8} @{}}
\begin{theorem} \lipsum*[2] \end{theorem} &
\begin{theorem} \lipsum*[2] \end{theorem}
\end{tabularx}
\end{document}
然而,如果我注释掉该指令并激活前面的 MWE 中的\usepackage{amsthm}
指令(并保持其他所有内容不变),我会得到一个完全不同的结果:在第一个环境中,右侧单元格中的文本不占用可用的水平空间; 在第二个环境中,即使两个单元格中文本的宽度限制为第二列的宽度,两列现在也占据相同的宽度。\usepackage{ntheorem}
tabularx
tabularx
问题ntheorem
:我是否遇到了或中的错误tabularx
,或者我错误地设置了生成X
不同宽度列的机制?
一些背景信息:TeXLive2019 和 TeXLive2020 的当前预发布版本都存在此问题。我使用tabularx 2020/01/15 v2.11c
、amsthm 2017/10/31 v2.20.4
和ntheorem Version 1.33 <2011/08/15>
。据我所知,该问题似乎与文档类别的选择无关。