If you get compile errors, I’m guessing the problem is the @
character. You need to wrap your code in \makeatletter
and \makeatother
. Another possible problem is that you do this before you execute the \title
and \author
commands. A nice fix for this would be to use \AtBeginDocument
, which would allow you to place this anywhere in your preamble. Note that you have to define the \title
and \author
information before \begin{document}
.
\documentclass{article}
\usepackage[pdftex]{hyperref}
\makeatletter
\AtBeginDocument{
\hypersetup{
pdftitle = {\@title},
pdfauthor = {\@author}
}
}
\makeatother
\title{Test title}
\author{Sam Author}
\begin{document}
\maketitle
\end{document}
UPDATE: Putting the relevant parts in a style file named xxx.sty
:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xxx}
\RequirePackage{hyperref}
\makeatletter
\AtBeginDocument{
\hypersetup{
pdftitle = {\@title},
pdfauthor = {\@author}
}
}
\makeatother