Hyperset 加载顺序

Hyperset 加载顺序

我遇到这样一种情况,即文档标题稍后设置,并包装在另一个命令中(这与语言版本有关)。

Hyperset 加载顺序

我想将新标题放入 hypersetup命令中。结果并不理想。文件的元数据在 Adob​​e Reader 中显示为 Baluga。我是否将以下内容放入我的pdftitle似乎并不重要。\hypersetupspecialmacro

例子

\documentclass{article}
\usepackage{fontspec}
\usepackage{hyperref}
\newcommand\baluga{Baluga}
\newcommand\whale{}
\hypersetup{%
    pdftitle={\baluga{} \whale{}},%
}%
\newcommand\specialmacro{
    \renewcommand\whale{whale}
}
\begin{document}
\specialmacro{}

Test

\end{document}

更新:使用 Wrapper 的解决方案\hypersetup

\documentclass{article}
\usepackage{fontspec}
\usepackage{hyperref}
\newcommand\baluga{Baluga}
\newcommand\whale{}
\newcommand\hyperset{
\hypersetup{%
    pdftitle={\baluga{} \whale{}},%
}%
}
\newcommand\specialmacro{
    \renewcommand\whale{whale}
    \hyperset
}
\begin{document}
\specialmacro{}

Test

\end{document}

答案1

以下是新编辑的版本:

\documentclass{article}
\usepackage{fontspec}
\usepackage{hyperref}
\newcommand\baluga{Baluga}
\newcommand\whale{}

\newcommand\hyperset{\hypersetup{pdftitle={\baluga{} \whale{}},}}

\begin{document}
 Test
\renewcommand\whale{whale}
\hyperset  
\end{document}

相关内容