\newline 和 \\ 之间有什么区别?

\newline 和 \\ 之间有什么区别?

据我所知,\\\newline都插入一个新行。但它们没有相同的扩展,并且跟踪显示它们不执行相同的命令,那么它们有什么区别?

答案1

从使用角度来看,\\和之间有区别\newline

  • \\

    告诉 LaTeX 开始新行。此命令有星号版本,并带有可选参数:

    • \\*:类似于,\\但也通过发出 来告诉 LaTeX 不要在该行之后开始新页面\nobreak

    • \\[<len>]:指定<len>在下一行之前插入的垂直空间。也可以是负数。

    以上两种方法也可以混合使用。即同时使用星号 + 可选参数组合\\*[<len>]

  • \newline

    与 相同\\,但不带星号。

从技术角度来看(latex.ltx),这些命令定义如下,证明了\\(无星号且没有可选参数) 和之间的相似性\newline

\DeclareRobustCommand\\{%
  \let \reserved@e \relax
  \let \reserved@f \relax
  \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak \@xnewline}%
  \@xnewline}
\expandafter\let\expandafter\@normalcr
  \csname\expandafter\@gobble\string\\ \endcsname
\DeclareRobustCommand\newline{\@normalcr\relax}

LaTeX 还会\\根据您使用的环境重新定义其他含义。例如,在arrayortabular环境中,常用的含义\\与在常规文本中使用时的含义略有不同。

相关内容