我正在尝试使用标题创建结构化摘要\paragraph{}
。
第一个有效,但从那时起,我得到了LaTeX Error: Something's wrong--perhaps a missing \item.
我将其剪切为 MWE:
\documentclass{article}
\title{Test}
\author{Me}
\begin{document}
\maketitle
\begin{abstract}
\paragraph{Background}
There has been a massive social media campaign \dots
\paragraph{Methods}
I review the papers \dots
\end{abstract}
Enough to test.
\end{document}
这正确地实现了以下风格的背景:
背景已经开展了大规模的社交媒体活动
但是方法会触发错误。令人费解的是,它\section*
确实有效(但增加了比我想要的更多的垂直空间)。为什么应该\paragraph
表现得像列表标记,但\section*
事实并非如此?
答案1
Abstract 在内部使用列表(引文)来更改边距。列表有一个开关,可让它们检测列表是否刚刚开始(在第一段的开头重置)。问题是它会\paragraph
覆盖执行此重置的代码。您可以在以下示例中看到这一点。在第一个引文中,段落的开头重置了开关,因此第二个测试为假。因此\paragraph
失败了,后面的代码变得混乱。
因此,您的一个解决方法是使用以下方法手动重置开关
\makeatletter \global\@newlistfalse\makeatother
\documentclass{article}
\begin{document}
\makeatletter
\begin{quotation}
\if@newlist true \else false \fi \if@newlist true \else false \fi
\end{quotation}
\begin{quotation}
\paragraph{para}
\if@newlist true \else false \fi \if@newlist true \else false \fi
\global\@newlistfalse
\end{quotation}
\makeatother
\end{document}
答案2
这看起来像是同样的问题。
果然,如果我将抽象内容封闭在minipage
环境中,问题就消失了:
\documentclass{article}
\title{Test}
\author{Me}
\begin{document}
\maketitle
\begin{abstract}
\begin{minipage}{1.0\linewidth}
\paragraph{Background}
There has been a massive social media campaign \dots
\paragraph{Methods}
I review the papers \dots
\end{minipage}
\end{abstract}
Enough to test.
\end{document}
那里的解释:
onecolabstract 是一个列表类型环境,因此不希望看到
\paragraph
命令生成的部分标题等。
这仍然不能向我解释为什么这在常规抽象环境中是一个问题,为什么它第一次有效而后续几次无效,或者为什么常规部分标题有效。
所以这只是部分答案。有什么帮助吗?