Hypersetup載入順序

Hypersetup載入順序

我有一種情況,文檔標題是稍後設定的,包含在另一個命令中(它與語言版本有關)。

Hypersetup載入順序

我想將新標題放入 hypersetuppdftitle指令中。結果並不理想。該文件的元資料在 Adob​​e Reader 中顯示為 Baluga。我是否將其放在\hypersetup我的下面似乎並不重要specialmacro

例子

\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}

更新:使用包裝器的解決方案\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}

相關內容