我在定理环境中有一个表格,我想在绘制表格之前有一个换行符。目前,它将在列出定理的同一行上开始绘制表格,看起来相当丑陋。有人知道我该如何实现这个吗?
我在下面的代码中有一个例子:
\documentclass[12pt]{article}
\usepackage{amsthm}
\theoremstyle{plain}
\newtheorem{thm}{Theorem}[chapter]
\theoremstyle{definition}
\newtheorem{exmp}[thm]{Example}
\begin{document}
\begin{exmp}
\begin{tabular}{ccc}
$ row1 & row1 & row1 $\\
$ row2 & row2 & row2 $\\
$ row3 & row3 & row3 $\\
\end{tabular}
\end{exmp}
\end{document}
解决方法是在 \begin{exmp} 后添加 \leavevmode,并在表格环境前留一个空行。
答案1
定理对象的标题始终amsthm
以水平模式结束。'表格'环境以水平模式开始,因此如果表格要在新行开始,则必须进入垂直模式。因此需要一个空白行。
但这还不够,因为定理定义amsthm
忽略了空行,以便定理的文本与标题继续在同一行。(这是 ams 样式规范。)所以为了使空行生效,有必要在“第一行”放一些其他内容。
建议的简化“行上内容”要求的方法是插入\leavevmode
。尽管这似乎违反直觉,但它提供了一个水平模式元素,可以让空白行达到开始新段落的预期效果。示例的相关部分应如下所示:
...
\begin{exmp}
\leavevmode
\begin{tabular}{ccc}
...
另一种方法是添加字符串$ $
。但是,这种方法的缺点是它会插入一些占用输出物理空间的内容,并且在特殊情况下,当带有可选添加文本的标题恰好到达右边距时,可能会导致在输出中添加物理空白行。
与问题无关,提供的示例有两个缺陷——article
没有定义\chapter
,并且$
中的符号tabular
不同步并导致在尝试处理文件时出现错误。