
ファイルは 2 つあります。メインの tex ファイルと、いくつかの定義を含むファイル (.sty ファイルではなく、別の .tex ファイル) です。
\@title
-commandを使用して -macrosから PDF メタデータを設定しようとすると\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.
メタデータは「タイトル」だけです。ただし、コードをメイン ファイルに配置すると、期待どおりに動作します。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 ファイルには切り替えません。これで何か違いが出るかどうかはわかりません)