考虑以下代码:
\documentclass[12pt]{report}
\usepackage{amsthm}
\newtheoremstyle{multiple_remarks}
{1.0em}
{1.0em}
{\normalfont}
{0pt}
{\bfseries}
{ : \\}
{5pt plus 1pt minus 1pt}
{}
\theoremstyle{multiple_remarks}
\newtheorem*{remarks}{Remarks}
\begin{document}
\begin{remarks}
Test.
\begin{enumerate}
\item First item.
\item Second item.
\item Fourth item.
\end{enumerate}
\end{remarks}
\begin{remarks}
\begin{enumerate}
\item First item.
\item Second item.
\item Fourth item.
\end{enumerate}
\end{remarks}
\end{document}
问题:为什么列表不像普通文本那样从备注标题后的行开始,如何解决这个问题?
答案1
问题在于\begin{remarks}
TeX 处于垂直模式之后;\leavevmode
例如,使用 (和可能的负垂直间距)可以解决问题:
\documentclass[12pt]{report}
\usepackage{amsthm}
\newtheoremstyle{multiple_remarks}
{1.0em}
{1.0em}
{\normalfont}
{0pt}
{\bfseries}
{:}
{\newline}
{}
\theoremstyle{multiple_remarks}
\newtheorem*{remarks}{Remarks}
\begin{document}
\begin{remarks}
Test.
\begin{enumerate}
\item First item.
\item Second item.
\item Fourth item.
\end{enumerate}
\end{remarks}
\begin{remarks}\leavevmode
\begin{enumerate}
\item First item.
\item Second item.
\item Fourth item.
\end{enumerate}
\end{remarks}
\begin{remarks}\leavevmode\vspace*{-\baselineskip}
\begin{enumerate}
\item First item.
\item Second item.
\item Fourth item.
\end{enumerate}
\end{remarks}
\end{document}