Определение метаданных PDF из макросов не работает во внешнем файле .tex

Определение метаданных PDF из макросов не работает во внешнем файле .tex

У меня есть два файла: мой основной tex-файл и файл с несколькими определениями (не .sty-файл, а другой .tex-файл).

Если я попытаюсь задать метаданные PDF из моих \@titleмакросов с помощью \AtBeginDocumentкоманды (но определенных во внешнем файле), я получу несколько ошибок, например:

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): (hyperref) removing `\spacefactor' on input line 14.
Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): (hyperref) removing `\@m' on input line 14.

и мои метаданные — это просто «title». Однако, если я помещу код в свой основной файл, он будет работать так, как и ожидалось. Mwe будет следующим:


% main file
\documentclass{scrartcl}

\input{externalfile.tex}

\title{This is a test}

% WORKS
% \makeatletter
% \hypersetup{
%     pdftitle={\@title}
% }
% \makeatother

\begin{document}
    test
\end{document}

% external file
\usepackage{hyperref}

% DOESN'T WORK
\AtBeginDocument{
    \makeatletter
    \hypersetup{
        pdftitle={\@title}
    }
    \makeatother
}

Любые идеи приветствуются. Однако я бы хотел сохранить внешний файл как файл .tex (и не переключаться на .sty-файл. Если это имеет какое-либо значение)

Связанный контент