2

I know that this question was asked almost 80 times and that the best solution is probably to use \texorpdfstring{...}{...} but I don't want to a mess inside the document so I was thinking of this solution.

\pdfstringdefDisableCommands{%
  \def\${}%
  \def\alpha{alpha}%
}

But this doesn't change the fact that

\section{$\alpha$}

gives the warning

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): (hyperref) removing `math shift' [...]

So the question is: Can I use \pdfstringdefDisableCommands{...} to avoid using \texorpdfstring{...}{...} when handling math in sections?

2

Here I use \(...\) in lieu of $...$. Warnings avoided.

\documentclass{article}
\usepackage{hyperref}
\pdfstringdefDisableCommands{%
%  \def${}%
  \def\alpha{alpha}%
  \def\({}%
  \def\){}%
  \def\texttt#1{<#1>}%
}
\begin{document}
\section{\texttt{xyz}\(\alpha\)}
\end{document} 

enter image description here

or get a bit more descriptive in the replacement:

\documentclass{article}
\usepackage{hyperref}
\pdfstringdefDisableCommands{%
  \def\alpha{alpha}%
  \def\({Math:[}%
  \def\){]}%
  \def\texttt#1{<#1>}%
}
\begin{document}
\section{\texttt{xyz}\(\alpha\)}
\end{document} 

enter image description here

  • 2
    \alpha is supported by option psdextra and the bookmark needs to be in Unicode: \usepackage[pdfencoding=auto, psdextra]{hyperref}. Without option psdextra the macro \textalpha can be used (option unicode or pdfencoding=auto is still needed). – Heiko Oberdiek May 9 '18 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.