以下代码为最终的 pdf 生成了预期的输出。但是,如果标题包含使用 \NewDocumentCommand 生成的单词,则 pdf 上的书签浏览器的外观会出错。使用旧命令 \newcommand 则一切正常。
\documentclass{book}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\NewDocumentCommand{\foo}{}{foo\xspace}
\newcommand{\fooo}{}{fooo\xspace}
\begin{document}
\section{A section about \foo}
\section{Another section about \fooo}
\end{document}
答案1
这很好用。关键是书签中的内容需要可扩展。
\documentclass{book}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{xspace}
\usepackage[colorlinks]{hyperref}
\NewExpandableDocumentCommand{\foo}{}{foo\xspace}
\newcommand{\fooo}{fooo\xspace}
\begin{document}
\tableofcontents
\section{A section about \foo}
\section{Another section about \fooo}
\end{document}