“这里没有终点”的语义。

“这里没有终点”的语义。

我经常遇到这样的情况:LaTeX 返回错误消息“这里没有结束的行。”然后,它会给出错误的位置,显示整行文本:

! LaTeX Error: There's no line here to end.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.4 \noindent
               Full line of text \\
? 

显然,该消息指的是显示给用户的行以外的其他内容。但是,我永远记不住该消息的实际含义。有没有好的助记法可以记住“line”、“here”和“end”这些词在这种情况下对 LaTeX 的含义,以便下次我不会感到困惑?

在这种情况下,前一行是\hrule \\,当我将其更改为时,错误消失\hrule \ \\,但我不知道如何从错误消息中获取它。

\documentclass[11pt]{article}
\begin{document}
\hrule \\
\noindent Full line of text \\
\end{document}

\hrule \ \\我正在使用一个名为“texlive”的软件包。我也不确定和之间有什么区别\hrule \quad \\,或者为什么原来的版本不太正确,并值得出现错误消息。我想有很多关于编译时导致此消息的文档的问题,但我对消息本身以及如何将其理解为自然语言句子感兴趣。

答案1

您几乎不应该\\在表格或数学对齐之外使用它。如果在文本中使用,它会强制换行,使行变短。

\documentclass[11pt]{article}
\begin{document}
\hrule \\
\noindent Full line of text \\
\end{document}

错误在于as\\ 之后没有启动水平模式,所以没有行结束,因此给出了错误。as向前看,如果有可选参数,tex 已开始读取下一行,这就是为什么它显示在 之后的行上。\hrule\hrule\\\\[5pt]\\

也就是说:的意思\\是“结束行”,但是如果您在段落开头、第一行文本之前使用它,那么正如消息所说的那样,“没有行可以结束”。

在 as 之后不\noindent执行任何操作\\,这会阻止段落开头的缩进,但\\不会中断段落。

只需从此文档中删除两者即可\\。第一个是错误,第二个不会生成错误,但会产生不良程度为 10000 的未满警告,并产生不良输出。

因此正确的标记应该没有\\\noindent可能

\documentclass[11pt]{article}
\usepackage{parskip}
\begin{document}
\hrule 
Full line of text
\end{document}

相关内容