我正在寻找一种方法来告诉 TeX:
当且仅当您尚未处于新线路时,请中断该线路。
我需要这个来创建一个新环境,它应该总是从新行开始。但我不知道(我怎么可能知道?)作者是否手动在前面输入了换行符。我试过\linebreak
、\\
和\newline
,它们都导致了
LaTeX 错误:这里没有结束的行。
我期望在尝试时出现错误
\newenvironment{mynewenvironment}{\\ \emph{Header:} }{}
[...]
random text \\
\begin{mynewenvironment}
text again
\end{mynewenvironment}
例如,我们可以在预定义的环境中观察到相同的行为
random text
\begin{itemize}
\\ \item text
\end{itemize}
导致错误,但不是
random text
\begin{itemize}
\item text
\end{itemize}
random text\begin{itemize}
\item text
\end{itemize}
两者都完全按照我希望的环境做出反应,因此我希望我的问题能够相当容易地解决,但我不知道如何解决。
答案1
除了结束制表行之外,您几乎永远不应该\\
在文档中使用。只需使用和的\par
适当设置即可。或者对于更一般的显示环境,复制 latex 环境的定义,例如或,它们都是根据或定义的,这使它们能够检测以下文本是否需要开始新段落。例如,简单地定义为:\parskip
\parindent
center
quote
list
trivlist
quote
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}