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.– user2574Commented Aug 31, 2011 at 7:15 -
44For 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?– BananachCommented Nov 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? 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 -
3I am gonna be franc: an answer that is meant to explain the difference between A and B, talks about what A does and says that B "is similar" to A is not an answer. Everyone landing here knows that they are similar, but they wanna know the difference. Your answer is merely stating the obvious. Having that said, seeing the technical part provided, I have confidence that you are able to explain the actual differences and would be very keen and grateful to read that.– Mayou36Commented Sep 5, 2022 at 11:04
\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?