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?
1 Answer
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>]
. -
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.
-
46Note that \\ will be redefined by some commands like
\centering
while\newline
won't. For that reason using\newline
with\centering
will give undesired results.– user2574Aug 31, 2011 at 7:15 -
2
-
42For 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?– BananachNov 1, 2015 at 10:31
-
10I 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? 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 ♦Feb 14, 2017 at 16:38
\newline
is defined as the normal (i.e., without optional argument and non-starred) version of \\.latex.ltx1
,\DeclareRobustCommand\newline{\@normalcr\relax}
whereexpandafter\let\expandafter\@normalcr \csname\expandafter\@gobble\string\\ \endcsname
.\newline
mark the division between paragraphs?