30

以下のコードを使用して、PDFドキュメントのプロパティでタイトルと作成者を設定します。

\usepackage[pdftex]{hyperref}
\hypersetup{
    pdftitle = {The documents title},
    pdfauthor = {me}
}

これをスタイルシート(.sty)に入れて自動化したいと思います。以下は私の試みですが、機能していません。pdfはエラー付きでコンパイルされます(pdflatex)。ただし、PDFドキュメントのプロパティは空のままです。

\usepackage[pdftex]{hyperref}
\hypersetup{
    pdftitle = {\@title},
    pdfauthor = {\@author}
}

\ @title変数と\@author変数を使用して、カスタムタイトルページを作成します。だから私はそれらの仕事を知っています。

助言がありますか?

4

2 に答える 2

33

コンパイルエラーが発生した場合、問題は@キャラクターにあると思います。\makeatletterコードをとでラップする必要があります\makeatother\titleもう1つの考えられる問題は、 and\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
于 2010-08-07T10:10:34.360 に答える
8

そのためのパッケージオプションがあります。 「hyperrefが\titleと\authorからpdfinfoを取得するようpdfusetitleにする」を参照してください。

于 2016-01-02T15:33:40.540 に答える