siunitx 重新定义 pdf 书签中的宏

siunitx 重新定义 pdf 书签中的宏

我想将宏\as用于文档中的缩写。但是,siunitx这会干扰其在 pdf 书签中的使用。以下 MWE 生成一个文档,其中部分在文档中名为“foo”,但在 pdf 书签中名为“as”。

\documentclass{article}

\usepackage{hyperref}
\usepackage{siunitx}

\begin{document}

\def\as{foo}
\section{\as}

\end{document}

这似乎是由于siunitx定义\as为单位简写(阿秒)并似乎想帮助我在 pdf 书签中使用它。但是,它无法检测到我没有\as在单位宏中使用。

  • 这是一个错误还是只是一个不幸的功能?
  • 有没有解决方法可以避免此行为?我在文档中没有找到有关删除单位的任何信息siunitx

答案1

\documentclass{article}

\usepackage{hyperref}
\usepackage{siunitx}
\AtBeginDocument
{\pdfstringdefDisableCommands{\def\as{foo}}}
\begin{document}

\def\as{foo}
\section{\as}

\end{document}

在此处输入图片描述

相关内容