# What is the difference between \newline and \\?

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?

-
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
@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
Don't also forget the \linebreak command – Szczypawka Mar 27 '15 at 9:37

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.

-
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
Can you give an example of \\*[<len>] which skips 2 baselines? – Jeff Aug 2 '15 at 15:36
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 Nov 1 '15 at 10:31