我有一些部分斜体文本的章节/小节标题。使用hyperref
和bookmark
包,我获得了所需的书签,但这些部分斜体文本的样式消失了。根据这个答案,无法直接实现这一点。我的解决方法是使用\unichar
命令来获取(数学)斜体字母(我从这问题)。以下是 MWE:
\documentclass{amsart}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[pdfencoding=unicode]{hyperref}
\usepackage{bookmark}
\begin{document}
% 标题:Zorn 引理 (之后佐恩)
\section{Zorn lemma (\texorpdfstring{\emph{d'après}}{\unichar{"1D451}\unichar{"2019}\unichar{"1D44E}\unichar{"1D45D}\unichar{"1D45F}\unichar{"0300}\unichar{"1D452}\unichar{"1D460}} Zorn)}
\end{document}
由于 Unicode 中没有实现重音斜体字体,因此我使用
Unicode 符号 ‘合并重音符号’ (U+0300)
和...一起
Unicode 符号 ‘数学斜体小 E’ (U+1D452)
为了生成角色è。但是,这不起作用,因为(我猜)组合重音符试图对“s“字符(U+1D460)也是如此:
一个不完全且不令人满意的解决方案是在“è“ 特点:
\unichar{"1D451}\unichar{"2019}\unichar{"1D44E}\unichar{"1D45D}\unichar{"1D45F} \unichar{"0300}\unichar{"1D452}\unichar{"1D460}
(顺便说一句,这个解决方案驳斥了我关于组合重音范围的理论)。我最后的办法是尝试为“è“ 特点:
\newcomand{\dapres}{\unichar{"0300}\unichar{"1D452}}
但在这种情况下,我收到“未定义的控制序列”错误消息,即使我没有使用新命令。
答案1
\newcommand
您的命令由于拼写错误(拼写错误,有两个 M)而不起作用:
\newcommand{\dapres}{\unichar{"0300}\unichar{"1D452}}
但即便如此,你的命令也不会达到你想要的效果。如果你把重音符号后斜体 E,但我们得到了预期的书签:
\documentclass{amsart}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%"unicode" works for hyperref
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
%Use it if you want
\newcommand{\dapres}{\unichar{"1D452}\unichar{"0300}}
\begin{document}
% Title: Zorn lemma (d'après Zorn)
\section{Zorn lemma (\texorpdfstring{\emph{d'après}}{\unichar{"1D451}\unichar{"2019}\unichar{"1D44E}\unichar{"1D45D}\unichar{"1D45F}\unichar{"1D452}\unichar{"0300}\unichar{"1D460}} Zorn)}
Hello
\end{document}
顺便说一句,它适用于 Linux,所以我希望它也适用于 Windows:
非常非常兴奋!
答案2
我会避免在书签中使用此类技巧。如何处理它们取决于 pdf 查看器的实现。例如,在 Windows 上,如果我尝试在书签中使用组合重音符号和数学字符,Adobe Reader 根本不会喜欢它。
除此之外,我认为这不是一个明智的想法:你把“看”置于“意义”之上。例如,屏幕阅读器应该用这样的书签做什么?
我认为,最好接受书签只是简单的导航辅助工具,而不是试图在这里获得高质量的排版。