174

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?

5

1 Answer 1

137
+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

    Same as \\, but does not take a star.

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.

9
  • 46
    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.
    – user2574
    Commented Aug 31, 2011 at 7:15
  • 2
    Can you give an example of \\*[<len>] which skips 2 baselines?
    – Jeff
    Commented Aug 2, 2015 at 15:36
  • 43
    For someone who is new to Latex, your answer reads as: "From a usage POV, there is a difference between A and B: A does something, and B is similar to A. From a technical POV: [Don't understand a word]". Maybe you could add an example of different behavior in common text formatting situations?
    – Bananach
    Commented Nov 1, 2015 at 10:31
  • 10
    I don't understand the answer. "\\ tells ...., \newline Similar to \\". So is there a difference between the two or not? What's the difference? Is there an example where the two commands can give different results? Commented Feb 14, 2017 at 12:51
  • 3
    @gigabytes: As mentioned in comment, \centering would be one case where \\ and \newline would yield different results. See this paste and its accompanying output.
    – Werner
    Commented Feb 14, 2017 at 16:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .