如何从书签中删除 Font Awesome 符号代码?

如何从书签中删除 Font Awesome 符号代码?

乳胶:

\section{\faicon{cogs}\ Technical Skills}

书签:

"F085 Technical Skills

如何删除符号代码"F085

答案1

hyperref提供\pdfstringdefDisableCommands,这是一个钩子,用于在hyperref尝试将 TeX 代码转换为 pdf 字符串之前执行命令。的参数\pdfstringdefDisableCommands是任意的 TeX 代码,它应该重新定义不会扩展为有效 pdf 字符串的命令。您可以重新定义\faicon以使用参数而不执行任何操作:

\pdfstringdefDisableCommands{%
  \def\faicon#1{}%
}

然而,通过这种设置,两个部分:

\section{\faicon{cogs}\ Technical Skills}
\section{Technical Skills}

将产生书签(注意空格):

 Technical Skills
Technical Skills

也许更好的设置是:

\pdfstringdefDisableCommands{%
  \def\faicon#1{\ignorespaces}%
}

这样后面的空格就\faicon{whatever}消失了。

最小示例:

\documentclass{article}
\usepackage{fontawesome}
\usepackage{hyperref}

\pdfstringdefDisableCommands{\def\faicon#1{\ignorespaces}}

\begin{document}
\section{\faicon{cogs}\ Technical Skills}
\section{Technical Skills}
\end{document}

相关内容