
我有兩個文件。我的主 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 檔案。如果這有什麼區別)