7

I am getting an error when I use the command \bm in a section title that is numbered, when the package hyperref is loaded. Here is the error:

ERROR: TeX capacity exceeded, sorry [input stack size=5000].

--- TeX said --- to be read again>
{ l.10 ...ction{A proof of convexity in $p,\bm{w}$}

and here is the MWE

\documentclass{article}
\usepackage{bm}  
\usepackage[bookmarks]{hyperref}

\begin{document}
\section{A proof of convexity in  $p,\bm{w}$}
\end{document}

Note that I can get avoid the error if I do any of the following

  • use \section* instead of \section (and this really intrigues me!)
  • remove the \bm{} from the title
  • remove the package hyperref

I noticed there is a question similar to mine (such as this) but the solution seems not to be related to my problem.

Does anyone know how to solve this?

Vivi
  • 26,953
  • 31
  • 77
  • 79

1 Answers1

13

The PDF bookmarks can not have formatting, so you can either

  1. Use \texorpdfstring within the \section command to provide the alternate text to be used for the bookmakrs:

    \section{A proof of convexity in  \texorpdfstring{$p,\bm{w}$}{$p,w$}}
    
  2. Or use \pdfstringdefDisableCommands to disable the macros (thanks to Stephan Lehmke for pointing this out):

    \pdfstringdefDisableCommands{%
        \renewcommand*{\bm}[1]{#1}%
        % any other necessary redefinitions 
    }
    

    I prefer this approach as it does not clutter up your main text.


Code: \texorpdfstring:

\documentclass{article}
\usepackage{bm}  
\usepackage[bookmarks]{hyperref}

\begin{document}
  \section{A proof of convexity in  \texorpdfstring{$p,\bm{w}$}{$p,w$}}
\end{document}

Code: \pdfstringdefDisableCommands:

\documentclass{article}
\usepackage{bm}  
\usepackage[bookmarks]{hyperref}

\pdfstringdefDisableCommands{%
    \renewcommand*{\bm}[1]{#1}%
    % any other necessary redefinitions 
}

\begin{document}
  \section{A proof of convexity in  $p,\bm{w}$}
\end{document}
Peter Grill
  • 223,288
  • That's the second time the solution to my problem is to use \texorpdfstring{}{}! See my other question related to beamer title here: http://tex.stackexchange.com/q/45938/14 That solves my problem and I am happy, but out of curiosity, do you know why removing the numbering (using \section*) solves the problem? – Vivi Mar 16 '12 at 05:51
  • 3
    I assume that when you use \section*, then that section is not only not numbered, but it is also not added to the TOC (unless you use \phatomsection), so there is no issue. – Peter Grill Mar 16 '12 at 05:53