为什么我不能从组内设置 hyperref 的 pdfinfo?(这是一个错误吗?)

为什么我不能从组内设置 hyperref 的 pdfinfo?(这是一个错误吗?)

当我运行以下代码(使用hyperref版本2012/09/27 v6.83g)时,我没有收到任何错误或警告,但我设置的元数据pdfinfo没有出现。如果我取消注释该\@firstofone行,有效地删除该组,它就会出现。

我在手册中没有看到任何文档说明必须小心谨慎地pdfinfo在所有组之外使用,所以我觉得这可能是一个错误。由于分组问题,我怀疑这个错误是由于内部分配是hyperref本地的而不是全局的。我在阅读代码时有点迷茫hyperref,所以到目前为止我无法确定这个问题的原因(因此也无法找到解决方案)。

\documentclass{article}
\usepackage{hyperref}

\makeatletter
%\@firstofone
{
    \hypersetup{pdfinfo={extrainfo={yes please}}}
}

\begin{document}
    Check the pdf metadata.
\end{document}

(当然,在我的实际例子中,我不知道需要“逃脱”多少层,也不知道有任何逃脱的方法!我无法轻易地测试我关于分配局部性的假设,因为我不知道有什么技巧可以设置一个标志或其他东西来使组中的所有分配都成为全局的,即使它们没有被定义\global,而且我预计这可能会产生其他不必要的后果。)

有人能提供修复或解决方法吗?

答案1

已在 hyperref 2012/10/11 v6.83h 中修复。

相关内容