74

I have some section headings occupying two lines and I'm not satisfied with the way XeLaTeX breaks the heading. If I manually add \\ the output looks fine, but I get the following warning:

[hyperref] Token not allowed in a PDF string (PDFDocEncoding): removing `\\'. 

My code looks like that:

\section{this is a very long title I \\ want to break manually}

Is there a way to have a line-break there without the warning?

N.N.
  • 36,163
Bruno
  • 2,060

3 Answers3

79

Use \texorpdfstring; the first argument can contain (La)TeX code and the second one (text only), will be used for the bookmarks:

\section[this is a very long title I want to break manually]{\texorpdfstring{this is a very long title I\\ want to break manually}{this is a very long title I want to break manually}}

If a ToC is to be produced and the break line is not desired there, a better option is to to use the optional argument of \section (this will be used for the headers, the ToC and the bookmarks):

\section[this is a very long title I want to break manually]{this is a very long title I\\ want to break manually}
Gonzalo Medina
  • 505,128
  • Using the optional argument of the \section command should be enough to suppress the warning. It is a good idea to do this anyway, as Gonzalo mentions, to avoid the line break in the printed table of contents, if you have one. – Nathan Grigg Sep 23 '11 at 18:08
  • 1
    Using this solution in a beamer document still raise an error: ! Argument of \@gobble has an extra }. Is it something specific to beamer ? – Ger May 28 '18 at 11:35
  • For me, it doesn't raise any error, but the Summary page still contains the line breaks :( – Yan King Yin May 04 '19 at 09:26
  • 1
    Use \\* instead of \\ for line breaks in section headings, e. g. \section[this is a very long title I want to break manually]{this is a very long title I\\*want to break manually}. When using \\, a page break may occur at this point (depending on the document class and the settings for headings), which is obviously undesirable. – user227621 Aug 14 '23 at 08:29
33

I recently ran into a similar issue where my section title was being split across two lines, but only one or two words were ending up on the second line. I wanted to manually insert a line break so that I could balance it better. I ended up using non-breaking spaces to force the line break to happen earlier instead:

\section{this is a very long title I want~to~break~manually}

This worked better for my table of contents as well, since the section title fit all on one line there (in the smaller font), but the non-breaking spaces forced LaTeX to split the section title more evenly across two lines in the document body.

DaoWen
  • 441
6

Just using \\ in the .tex file is enough to break the line in the heading when compiling to dvi file. But when compiling to pdf, the line breaks also in the table of contents and it looks strange. Thus, the best solution I found was converting dvi to pdf directly.

*\section{this is a very long title \\ I want to break manually}*
doncherry
  • 54,637