マイクロタイプの拡張により pdfauthor でエラーが発生する

マイクロタイプの拡張により pdfauthor でエラーが発生する

次の文書にはエラーが記載されています

 ! Argument of \MT@res@a has an extra }.

エラーの原因は、アクセント コマンドです(あまり意味がありませんが、 T1 エンコーディングでも\"L常に使用されるため、例ではこれを使用しています)。\accent

問題の 2 番目の原因は、ハイパーリファレンスがマイクロタイプのコードの後ろの \AtBeginDocument にロードされるという事実です。マイクロタイプを後でロードするか、ハイパーリファレンスを早めにロードすると、エラーを回避できます。

しかし、読み込み順序を微調整するよりも (hyperref ではとにかく面倒です)、pdfauthor の引数を保護するためのより良い解決策があるのではないかと思います。

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{microtype}

\AtBeginDocument{%
  \RequirePackage[%
    pdfauthor={Max \"Labc}
  ]{hyperref}
}

\begin{document}
ablub
\end{document}

答え1

読み込み時に著者を直接指定するのではなく、を使用し\hypersetupて著者を設定すると、問題なく動作するようです。推奨される方法とにかく特殊文字を使用する場合:

\documentclass{article}
\usepackage[T1]{fontenc}

\usepackage{microtype}

\AtBeginDocument{%
  \usepackage{hyperref}
  \hypersetup{pdfauthor={Max \"Labc}}
}

\begin{document}
ablub
\end{document}

関連情報