向 Hyperref 讲解 \char

向 Hyperref 讲解 \char

如果我\char在章节标题中使用,hyperref 会给出警告或错误:

  • 这会破坏编译:

    \subsection{Some thoughts about {\char`\\} {\char`\^} {\char`\$} {\char`\~} 
                {\char`\%} {\char`\&} {\char`\{} {\char`\}} {\char`\_} {\char`\#}}
    

    ./minimal.tex:9: Argument of \PU\^ has an extra }.
    <inserted text> 
                \par 
    
  • 编译通过,但出现警告:

    \subsection{Some thoughts about {\char`\\} {\char`\$} 
                {\char`\%} {\char`\&} {\char`\{} {\char`\}} {\char`\_} {\char`\#}}
    

    Package hyperref Warning: Token not allowed in a PDF string (Unicode):
    (hyperref)                removing `\char' on input line 9.
    

我可以教授 hyperref 有关\char,以便将其放入Some thoughts about \^&~%&{}_#我的 PDF 书签中吗?

梅威瑟:

\documentclass{article}

\usepackage{fontspec}
\usepackage[bookmarks=true]{hyperref}

\begin{document}
\subsection{Some thoughts about {\char`\\} {\char`\^} {\char`\$} {\char`\~} {\char`\%} {\char`\&} {\char`\{} {\char`\}} {\char`\_} {\char`\#}}
\end{document}

我知道Hyperref 警告 - PDF 字符串中不允许使用令牌\texorpdfstring命令,但同样\texorpdfstring感到困惑\char。我还知道引用单个字符的其他方法(\textasciitilde等等),但如果可能的话,我宁愿避免使用它们:我很难记住它们,而且我的文档的某些部分会自动从其他格式导出。

答案1

使用texorpdfstring提供 的替代定义hyperref。要使插入符号显示在 PDF 书签中,请使用\^{}

\documentclass{article}
\usepackage[bookmarks]{hyperref}
\begin{document}
\section{\texorpdfstring{\char`\^}{\^{}}}
\end{document}

相关内容