我正在使用 LyX 用希腊语撰写论文。当我按下 LyX 上的预览按钮时,我的论文上的希腊语一切正常,除了 pdf 侧面的书签。它们不是希腊语……尽管目录是希腊语。
我附上了一个屏幕截图以便了解我的问题:
我怎样才能解决这个问题 ?
答案1
问题在于书签无法识别 TeX 字体。问题中的希腊文很可能基于字体编码,使用希腊字符代替标准拉丁字母,并使用连字符来生成重音符号。这些都是 TeX 胃的特性。而书签字符串是简单的文本字符串。主要只有 TeX 扩展(TeX 的嘴)可用于处理书签字符串。例如,如果 中处理书签的代码hyperref
得到字符C
,它不知道 TeX 中使用哪种字体来排版这个字形,也不知道这种语言。基于字体编码和连字符的特性,一个字符串可能包含许多C
,但含义不同。
获取希腊书签的方法
书签字符串可以编码为PDFDocEncoding
或Unicode
。对于希腊语,Unicode
在所有情况下都需要(无论输入编码如何):
\usepackage[unicode]{hyperref}% or pdfencoding=auto
软件包直接
hyperref
支持或\pdfstringdef
的 UTF-8 。如果 UTF-8 不是所有希腊文本的选项,则可以将其限制为书签:utf8.def
utf8x.def
\section{\texorpdfstring{<Greek text>}{<UTF-8 for bookmarks>}}
LuaTeX 或 XeTeX 原生支持 UTF-8/Unicode。
hyperref
's也识别和支持这些大字符(字符代码大于 127)\pdfstringdef
。如果可以在书签字符串中引入希腊内容的标记:
\section{\texorpdfstring{...}{...<BeginGreek>...<EndGreek>...}}
那么就有可能捕获部分希腊文字符串并将其转换为书签支持的形式(通过可扩展的实现或使用后处理挂钩)。但如果希腊文内容嵌套或包含拉丁文片段(通过……),情况很快就会变得糟糕。
\ref
此外,还必须实现从拉丁文形式的希腊文到真正的希腊文的整个翻译过程。\unichar
短希腊文也可以通过在 的第二个参数中使用 Unicode 数字来设置\texorpdfstring
。但对于长文本,这种方法不太方便。