我对以希腊字母为标题的部分感到困惑。它们确实出现在 pdf 中内容列表,但不正确。
例如,在我的论文中(使用 LyX 以英语撰写,基于 KOMA 脚本),我选择包含希腊语摘要的翻译(=Περίληψη)。(未编号)章节标题的“原始”代码为:\addchap{\textgreek{Per\char208lhyh}}
。在最终的 .pdf 文件中(使用 pdflatex),相应条目显示为韋爾208lhyh。使用 hyperref 包的 unicode 选项不能解决问题。
更新详情:该文件不仅应该包含希腊语的章节或节标题,还应该包含普通文本。
我在 tex.stackexchange 和其他地方找到了一些相关参考资料(例如,https://tex.stackexchange.com/a/21675/8272,手册文本希腊语包裹,http://www.latex-community.org/forum/viewtopic.php?f=5&t=6059,http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2005-12/msg00944.html)然而,我无法得出一个具体的答案。
希腊字符如何才能正确显示为 .pdf 中的书签内容列表?
笔记,本问答的信息适用于/莱克斯也一样。
答案1
以下工作:必须将选项传递unicode
给hyperref
书签,并且传递正确的 Unicode 字符串:
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[greek,english]{babel}
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
\begin{document}
\mainmatter
\chapter{Introduction}
An introduction.
\cleardoublepage
\begin{otherlanguage}{greek}
\addchap{\texorpdfstring{Per'ilhyh}{Περίληψη}}
Per'ilhyh
\end{otherlanguage}
\end{document}
不幸的是,允许使用希腊字母的语言utf8x
选项与的书签系统不兼容。inputenc
hyperref
答案2
随着新的greek-fontenc
并更新greek-inputenc
包,您现在可以在 LaTeX 源中使用希腊 Unicode 字符(以及 LyX 中的 utf8“LaTeX 编码”选项)。
与\usepackage[pdfencoding=auto]{hyperref}
他一起解决了 PDF 字符串的问题。
或者,可以使用希腊语 LICR 宏(如\textalpha
... )。请参阅包文档。\textomega
答案3
一个最小的工作示例,它回答了有关 PDF 内容(索引或书签,或者正确的称呼)中的希腊语以及正文中的希腊语文本(当然!)的问题:
\documentclass[greek,english]{scrbook}
\usepackage[LGRx,T1]{fontenc} % define LGR and T1 encodings
\usepackage[utf8]{inputenc} % standard UTF-8 input encoding
\usepackage[greek,english]{babel}
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
\begin{document}
\mainmatter
\addchap{\texorpdfstring{Ambivalence/\textgreek{Amfijum'ia}}{Ambivalence/Aμφιθυμία}}
\textit{Ambivalence}, catalyst in spreading the great disease which is called Fear.\\
\begin{otherlanguage}{greek}
\textit{Aμφιθυμία}, καταλύτης στην εξάπλωση της μεγάλης νόσου που ονομάζεται Φόβος.
\end{otherlanguage}
\end{document}
当使用 [english,greek](而不是 [greek,english])时它也有效:
\documentclass[english,greek]{scrbook}
\usepackage[LGRx,T1]{fontenc} % define LGR and T1 encodings
\usepackage[utf8]{inputenc} % standard UTF-8 input encoding
\usepackage[english,greek]{babel}
\usepackage[unicode]{hyperref}
\usepackage{bookmark}
\begin{document}
\mainmatter
\selectlanguage{english}
\addchap{\texorpdfstring{Ambivalence/\textgreek{Amfijum'ia}}{Ambivalence/Aμφιθυμία}}
\textit{Ambivalence}, catalyst in spreading the great disease which is called Fear.\\
\\
\begin{otherlanguage}{greek}
\textit{Aμφιθυμία}, καταλύτης στην εξάπλωση της μεγάλης νόσου που ονομάζεται Φόβος.
\end{otherlanguage}
\addsec{\texorpdfstring{Small and Ending sigma: \textgreek{σ}~and~\textgreek{ς},~\textgreek{Mikr'o kai Telik'o s'igma: sv kai s}}{Small and Ending sigma: σ and ς, Μικρό και Tελικό: σ και ς}}
\foreignlanguage{english}{However, in LyX, both sigma~(\textgreek{\textit{σ, ς}})~in a Greek text, do not appear correctly in the Contents of a PDF file}! Why?
\begin{otherlanguage}{greek}\\
\\
Ωστόσο, στο \foreignlanguage{english}{LyX}, και τα δυο σίγμα~(\textit{σ, ς})~σε ελληνικό κείμενο, δεν εμφανίζονται σωστά στα περιεχόμενα ενός αρχείου \end{otherlanguage} PDF! Γιατί;
\end{document}
LyX(不太)最小工作示例
#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass scrbook
\begin_preamble
\usepackage{bookmark}
%\usepackage{kerkis}
\usepackage[LGRx,T1]{fontenc} % define LGR and T1 encodings
\usepackage[utf8]{inputenc} % standard UTF-8 input encoding
\end_preamble
\options iso-8859-7,latin9,utf8
\use_default_options true
\begin_modules
fixltx2e
fix-cm
logicalmkup
\end_modules
\maintain_unincluded_children false
\language greek
\language_package default
\inputencoding utf8
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf true
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\float_placement h
\paperfontsize default
\spacing single
\use_hyperref true
\pdf_title "Ελληνικοί χαρακτήρες στα περιεχόμενα αρχείου PDF"
\pdf_author "Νίκος Αλεξανδρής"
\pdf_subject "Ελληνικοί χαρακτήρες στα περιεχόμενα αρχείου μορφής PDF"
\pdf_keywords "ελληνικά, ελληνικοί χαρακτήρες, pdf, latex, utf8, content, bookmarks, hyperref"
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks true
\pdf_pdfborder true
\pdf_colorlinks true
\pdf_backref page
\pdf_pdfusetitle true
\pdf_quoted_options "unicode=true"
\papersize a4paper
\use_geometry false
\use_amsmath 0
\use_esint 0
\use_mhchem 0
\use_mathdots 0
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date true
\use_refstyle 0
\boxbgcolor #f0f0f0
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 10mm
\topmargin 20mm
\rightmargin 20mm
\bottommargin 15mm
\secnumdepth 1
\tocdepth 0
\paragraph_separation skip
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\bullet 0 0 9 -1
\bullet 1 0 8 -1
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Chapter
\lang english
Introduction
\end_layout
\begin_layout Standard
\lang english
Introductive text...
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
addchap{
\backslash
texorpdfstring{Per'ilhyh}{
\backslash
textvarsigma~
\end_layout
\end_inset
και
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textsigma}}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textit{Ambivalence}, catalyst in spreading the great disease which is called
Fear.
\backslash
\backslash
\end_layout
\begin_layout Plain Layout
\backslash
\backslash
\end_layout
\begin_layout Plain Layout
\backslash
begin{otherlanguage}{greek}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textit{
\end_layout
\end_inset
\lang greek
Aμφιθυμία
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
}
\end_layout
\end_inset
\lang greek
, καταλύτης στην εξάπλωση της μεγάλης νόσου που ονομάζεται Φόβος.
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
end{otherlanguage}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
addsec{
\backslash
texorpdfstring{Small and Ending sigma:
\backslash
textgreek{
\end_layout
\end_inset
\lang greek
σ
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
}~and~
\backslash
textgreek{
\end_layout
\end_inset
\lang greek
ς
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
},~
\backslash
textgreek{Mikr'o kai Telik'o s'igma: sv kai s}}{Small and Ending sigma:
\end_layout
\end_inset
\lang greek
σ
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
and
\end_layout
\end_inset
\lang greek
ς
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
,
\end_layout
\end_inset
\lang greek
Μικρό και Tελικό: σ και ς
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
}}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
foreignlanguage{english}{In LyX, the ending sigma~
\backslash
textgreek{
\backslash
textit{
\end_layout
\end_inset
\lang greek
ς
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
}}~~in a text with greek does not appear correctly in the Contents of a
PDF file}!
\end_layout
\end_inset
\end_layout
\begin_layout Standard
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
begin{otherlanguage}{greek}
\end_layout
\end_inset
\end_layout
\begin_layout Standard
Στο
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
foreignlanguage{english}{LyX},
\end_layout
\end_inset
\lang greek
το τελικό σίγμα σε κείμενο με ελληνικά δεν εμφανίζεται σωστά στα περιεχόμενα
αρχείου
\lang english
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
foreignlanguage{english}{PDF}
\end_layout
\end_inset
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
end{otherlanguage}
\end_layout
\end_inset
\lang greek
!
\end_layout
\end_body
\end_document
感谢 Günter Milde 的贡献。另请参阅:
答案4
正如其他 TeXnicians 所建议的,即使没有该\texorpdfstring
命令,XeLaTeX 和 hyperref 的 unicode 选项也应该可以完美运行,无论是 utf8 还是 utf8x 编码(我试过很多次,没有任何问题)。如果不行,请检查您的 LyX 设置(我对它们了解不多,因为我不使用该程序)。
但是,根据经验,我建议您坚持使用 iso-8859-7 编码和 pdflatex,因为:
- utf8、utf8x 中的希腊语连字符 (pdf)LaTeX 对于包含重音元音的双元音存在缺陷,(例如ού,εί,ο)。你会发现连字符如下ε- ίναι,阿尔法罗密欧- 伊维萨岛,首页- 首页等等。当然,你可以
\hyphenation{}
在序言中添加一个逐渐变长的列表,但这很快就会变得一团糟。请注意,这个问题不会出现在 XeLaTeX 中。 - 如果您的文本包含大量使用上标/下标的数学公式,则带有 unicode-math 的 XeLaTeX 会给出不理想的排版结果。
- LuaLaTeX 尚不支持希腊语连字符。
但是,您如何添加希腊书签?作为一个最小示例,以下内容应可行:
\documentclass{book}
\usepackage[LGR,T1]{fontenc}
\usepackage[iso-8859-7]{inputenc}
\usepackage[english,greek]{babel}
\usepackage[unicode]{hyperref}
\begin{document}
\chapter{\texorpdfstring{Περίληψις \textlatin{Summary}}{\textPi\textepsilon\textrho\textiota\textlambda\texteta\textpsi\textiota\textvarsigma Summary}}
\end{document}
也就是说,只需使用以“文本”为前缀的 LaTeX 希腊符号名称命令即可。对我来说,它非常完美,唯一的缺点是我还没有找到如何包含重音元音(例如 έ、ί、ά)。您可以使用 html 编辑器将希腊文本转换为(大致)所需的 pdf 书签字符串,但您当然也可以直接输入它。
我希望这有帮助。