![定理格式:与 itemize 的奇怪交互](https://linux22.com/image/247481/%E5%AE%9A%E7%90%86%E6%A0%BC%E5%BC%8F%EF%BC%9A%E4%B8%8E%20itemize%20%E7%9A%84%E5%A5%87%E6%80%AA%E4%BA%A4%E4%BA%92.png)
这个问题与这个。
我想要将定理标题单独放在这样的一行:
Theorem 1.
some text...
在amsthm
文档中,他们建议这样做:
\newtheoremstyle{mystyle}{3pt}{3pt}{}{0pt}{\bfseries}{.}{\newline}{}
\theoremstyle{mystyle}
并且它有效...只要定理的文本不以逐项列举或枚举开头。
amsthm
在这种情况下我该如何让它发挥作用?
而且...为什么它会以这种(奇怪的)方式运作?
这是一个展示该问题的最小例子:
\documentclass{article}
\usepackage{amsthm}
\newtheoremstyle{mystyle} % Name
{3pt} % Space above
{3pt} % Space below
{} % Body font
{0pt} % Indent amount
{\bfseries} % Theorem head font
{.} % Punctuation after theorem head
{\newline} % Space after theorem head
{} % Theorem head spec (can be left empty, meaning 'normal')
\theoremstyle{mystyle}
\newtheorem{Example}{Example}
\begin{document}
\begin{Example}
This is on the next line.
\end{Example}
\begin{Example}
\begin{itemize}
\item But this isn't!
\item \ldots
\end{itemize}
\end{Example}
\begin{Example}~
\begin{itemize}
\item And now, there is too much vertical space above
\item \ldots
\end{itemize}
\end{Example}
\end{document}
答案1
该定理假设您以一个句子开始正文,而不是以一个列表开始。可以使用以下解决方法:您可以开始一个虚假的段落,然后回溯一行:
\begin{Example}\leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item This works
\item \ldots
\end{itemize}
\end{Example}
答案2
当我遇到同样的问题时,Boris 的回答实际上并没有解决我的问题。示例 X 文本和列表编号之间的间距不正确。
但我意识到我可以简单地写一些类似这样的内容:
\begin{Example} $ $
\begin{itemize}
\item This works
\item \ldots
\end{itemize}
\end{Example}
注意空的数学环境,它迫使 LaTeX 认为示例 X 文本之后有一个文本块。
我只是想分享我的解决方案,因为我对提供的答案不满意 - 我希望它能对某些人有所帮助。