微类型扩展导致 pdfauthor 出错

微类型扩展导致 pdfauthor 出错

以下文档给出了错误

 ! Argument of \MT@res@a has an extra }.

错误的根源是重音命令\"L(这没有多大意义,我只在示例中使用它,因为它\accent即使在 T1 编码中也总是使用)。

问题的第二个根源是 hyperref 加载于 \AtBeginDocument 中,位于 microtype 代码之后。稍后加载 microtype(或更早加载 hyperref),可避免错误。

但是我想知道是否有比微调加载顺序(这对于 hyperref 来说很痛苦)更好的解决方案来保护 pdfauthor 的参数。

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{microtype}

\AtBeginDocument{%
  \RequirePackage[%
    pdfauthor={Max \"Labc}
  ]{hyperref}
}

\begin{document}
ablub
\end{document}

答案1

使用\hypersetup设置作者而不是在加载时直接提供作者似乎可以正常工作,这是建议做法无论如何,当使用特殊字符时:

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{microtype}

\AtBeginDocument{%
  \usepackage{hyperref}
  \hypersetup{pdfauthor={Max \"Labc}}
}

\begin{document}
ablub
\end{document}

相关内容