希腊文 PDF 书签

希腊文 PDF 书签

我对以希腊字母为标题的部分感到困惑。它们确实出现在 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=6059http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2005-12/msg00944.html)然而,我无法得出一个具体的答案。

希腊字符如何才能正确显示为 .pdf 中的书签内容列表?

笔记,本问答的信息适用于/莱克斯也一样。

答案1

以下工作:必须将选项传递unicodehyperref书签,并且传递正确的 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选项与的书签系统不兼容。inputenchyperref

答案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,因为:

  1. utf8、utf8x 中的希腊语连字符 (pdf)LaTeX 对于包含重音元音的双元音存在缺陷,(例如ούείο)。你会发现连字符如下ε- ίναι阿尔法罗密欧- 伊维萨岛首页- 首页等等。当然,你可以\hyphenation{}在序言中添加一个逐渐变长的列表,但这很快就会变得一团糟。请注意,这个问题不会出现在 XeLaTeX 中。
  2. 如果您的文本包含大量使用上标/下标的数学公式,则带有 unicode-math 的 XeLaTeX 会给出不理想的排版结果。
  3. 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 书签字符串,但您当然也可以直接输入它。

我希望这有帮助。

相关内容