在 XeLaTeX 的文档类中,我调用hyperref
\AtBeginDocument,以便最后加载它,同时重置链接颜色。然后我使用\hypersetup
in\maketitle
来设置 PDF 元数据。
在下面的 MWE 中,我没有在输出中获得任何 PDF 元数据(pdfinfo 没有返回标题或作者)。我显然对 \hypersetup 的元数据有些误解,但是什么呢?
测试.cls ==============================================================================================
\NeedsTeXFormat{LaTeX2e}[2017/04/15]
\ProvidesClass{test}[v0.1 test hypersetup]
%
\ProcessOptions\relax
\LoadClass[a4paper]{report}
%
\def\MY@customtitle{\relax}
\def\MY@customauthor{\relax}
%
\renewcommand{\title}[1]{\gdef\MY@customtitle{#1}}
\renewcommand{\author}[1]{\gdef\MY@customauthor{#1}}
%
\AtBeginDocument{%
\RequirePackage[colorlinks]{hyperref}%
\hypersetup{linkcolor=blue,
urlcolor=purple,
citecolor=magenta}%
}
%
\renewcommand{\maketitle}{%
\begin{titlepage}
\MY@customtitle
\par\bigskip
\MY@customauthor
\par\vfill
\end{titlepage}
\pagenumbering{roman}
\hypersetup{pdfauthor={\MY@customauthor},
pdftitle={\MY@customtitle},
pdfcreator={XeLaTeX}}%
}
\endinput
测试.tex =========================================================================================
\documentclass{test}
\begin{document}
\title{Test document}
\author{A.N. Author}
\maketitle
Here is a link on some \href{http://latex.silmaril.ie}{text}
\end{document}
(此外,非常奇怪的是,尽管 xcolor 文档说默认情况下紫色可用,但它却不支持紫色)。
答案1
目前,hyperref 会将第一页末尾的元数据写入 pdf。您的 \hypersetup 位于 titlepage 环境之后,依此类推,位于第二页之后。这太晚了。