Если вы получаете ошибки компиляции, я думаю, проблема в символе @
. Вам нужно обернуть ваш код в \makeatletter
и \makeatother
. Другая возможная проблема заключается в том, что вы делаете это перед выполнением команд \title
и \author
. Хорошим решением этой проблемы будет использование \AtBeginDocument
, которое позволит вам разместить это где угодно в преамбуле. Обратите внимание, что вы должны определить информацию \title
и \author
перед \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}
ОБНОВЛЕНИЕ: Помещение соответствующих частей в файл стиля с именем xxx.sty
:
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{xxx}
\RequirePackage{hyperref}
\makeatletter
\AtBeginDocument{
\hypersetup{
pdftitle = {\@title},
pdfauthor = {\@author}
}
}
\makeatother