答案1
我在这里找到了一个讨论(https://groups.google.com/forum/#!topic/comp.text.tex/SdbZxJ7zX38) 可以回答您的问题。
是的,允许在章节标题中使用数学符号。如果您认为数学符号会出现在 PDF 书签中,则该消息是一个警告。Adobe 指定书签文本必须限制为特定编码“PDFDocEncoding”,该编码不支持任何类型的不寻常符号,包括数学符号。因此,无论 hyperref 可以做什么,Acrobat Reader 都不会在书签中显示您的数学符号。在正文中,数学公式将正常显示。
简单来说,
- 它在正文中看起来不错。
- 书签中不会有您想要的符号或字符。
- 可以按照以下建议避免此警告Hyperref-不允许使用令牌
PDF 书签与目录不同。书签不是由 TeX 排版的:它们只是字符串,因此
不允许使用数学或一般格式指令。避免警告的最简单方法是使用
\texorpdfstring
:\subsection{The classes \texorpdfstring{$\mathcal{L}(\gamma)$}{Lg}}
在第二个参数中,您放置了尽可能最佳的近似值;毕竟书签只是查阅文档的指南。
答案2
禁止有关删除的 hyperref 警告数学转变节标题中的标记,我正在使用:
\makeatletter
\pdfstringdefDisableCommands{\let\HyPsd@CatcodeWarning\@gobble}
\makeatother
在我的案例中,这个\texorpdfstring
解决方法是不可用的,因为章节标题是由kramdown LaTeX 转换器来自 Markdown 标题,并且 kramdown 仅允许 LaTeX 命令里面它是数学积木。
Kramdown 将 Markdown 标题转换# Title with $$math$$
为\section{Title with $math$}
。尝试重新定义$#1$
(以下我能重新定义美元吗)而不是抑制警告:
\makeatletter
\pdfstringdefDisableCommands{\catcode`\$=\active\gdef$#1${\detokenize{#1}}
}
\makeatother
给了我一个错误:
! Missing control sequence inserted.
<inserted text>
\inaccessible