Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

As far as I know, \\ and \newline both insert a new line. But they do not have an identical expansion and tracing shows they do not execute the same commands, so what is their difference?

share|improve this question
4  
As far as I know, \newline is defined as the normal (i.e., without optional argument and non-starred) version of \\. –  Gonzalo Medina Aug 30 '11 at 22:58
1  
@Gonzalo: Yip, from latex.ltx1, \DeclareRobustCommand\newline{\@normalcr\relax} where expandafter\let\expandafter\@normalcr \csname\expandafter\@gobble\string\\ \endcsname. –  Werner Aug 30 '11 at 23:28

1 Answer 1

up vote 61 down vote accepted
+200

From a usage point-of-view, there is a difference between \\ and \newline:

  • \\

    Tells LaTeX to start a new line. This command has a starred version and takes an optional parameter:

    • \\*: Similar to \\ but also tells LaTeX not to start a new page after the line by issuing a \nobreak.

    • \\[<len>]: This specifies the vertical space <len> to be inserted before the next line. Can also be negative.

    The above two can also be mixed. That is, using both a starred + optional argument combination \\*[<len>].

  • \newline

    Similar to \\.

From a technical point of view (in latex.ltx), these commands are defined as follows, justifying the similarity between \\ (unstarred and without optional argument) and \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 also redefines \\ to mean other things depending on the environment(s) you use. For example, within an array or tabular environment, the commonly-used \\ has a slightly different meaning to when it is used in regular text.

share|improve this answer
20  
Note that \\ will be redefined by some commands like \centering while \newline won't. For that reason using \newline with \centering will give undesired results. –  Axel Sommerfeldt Aug 31 '11 at 7:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.