仅当之前没有换行符时才插入换行符

仅当之前没有换行符时才插入换行符

我正在寻找一种方法来告诉 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\parindentcenterquotelisttrivlistquote

\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item\relax}
               {\endlist}

相关内容