我尝试将其用作hyperref
参考,但默认情况下它会以英文输出,如“第 2 章”。根据Hyperref 忽略 polyglossia 中的 \setdefaultlanguage, 正在做
\usepackage[bulgarian]{hyperref}
应该可以解决问题,但这给了我一个神秘的错误:
! Package xkeyval Error: `bulgarian' undefined in families `Hyp'.
See the xkeyval package documentation for explanation.
Type H <return> for immediate help.
...
l.4319 \ProcessKeyvalOptions{Hyp}
请注意,它适用于german
。这是我的样式:
\ProvidesPackage{style}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{DejaVu Serif}
\setsansfont[Ligatures=TeX]{DejaVu Sans}
\setmonofont[Ligatures=TeX]{DejaVu Sans Mono}
% \newfontfamily{\TelSubstFont}[Ligatures=TeX]{Cantarell}
\usepackage{polyglossia}
\setmainlanguage{bulgarian}
\setdefaultlanguage{bulgarian}
\usepackage{minted}
\usepackage[bulgarian]{hyperref}
\hypersetup{pdflang=bg}
\usepackage[numbers]{natbib}
PS 我对 LaTeX 还不熟悉,使用 XeLaTeX 来编译文档。
答案1
由于保加利亚语尚不受支持,您可以hyperref
通过自己定义所需的关键字来说服它合作:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeSerif}
\usepackage{polyglossia}
\setmainlanguage{bulgarian}
\setotherlanguage{english}
\usepackage{hyperref}
\makeatletter
\ifdefined\HyLang@bulgarian\else
\appto\blockextras@bulgarian{%
\def\equationautorefname{Equation}%
\def\footnoteautorefname{footnote}%
\def\itemautorefname{item}%
\def\figureautorefname{Figure}%
\def\tableautorefname{Таблица}%
\def\partautorefname{Part}%
\def\appendixautorefname{Appendix}%
\def\chapterautorefname{chapter}%
\def\sectionautorefname{section}%
\def\subsectionautorefname{subsection}%
\def\subsubsectionautorefname{subsubsection}%
\def\paragraphautorefname{paragraph}%
\def\subparagraphautorefname{subparagraph}%
\def\FancyVerbLineautorefname{line}%
\def\theoremautorefname{Theorem}%
\def\pageautorefname{page}%
}
% \inlineextras@bulgarian is empty, so we simply set it
% equal to \blockextras@bulgarian
\let\inlineextras@bulgarian\blockextras@bulgarian
\fi
\makeatother
\begin{document}
\begin{table}
\caption{A table}\label{A}
\end{table}
\autoref{A}
\end{document}
这里我仅修改了与“Table”对应的英文关键字。结果图:
包装\ifdefined...\fi
器意味着当hyperref
支持保加利亚语时,中间的部分将不再被读取。
答案2
包 尚不支持保加利亚语hyperref
,因为作为 的维护者hyperref
,我不熟悉该语言,而且没有人向我发送\autoref
名称的保加利亚语名称。如果有人可以将保加利亚语翻译发送给我,那么我可以将它们添加到。和/或 的hyperref
定义可以用作翻译的起点。我更喜欢 中的西里尔字符形的 LaTeX 名称,因为应该适用于许多输入编码和 TeX 编译器。UTF-8 也应该没问题,然后我可以自己尝试转换。\HyLang@english
\HyLang@russian
\HyLang@russian
hyperref
名称\autoref
也可以重新定义:
\renewcommand*{\sectionautorefname}{New section name}
hyperref
请参阅其中还包含语言包示例的手册babel
。
保加利亚名字
在...的帮助下谷歌翻译,比较lshort-English和lshort-保加利亚语以及 gloss-bulgarian.ldf 的多语我管理了下表。(字体设置取自egreg的文件):
\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeSerif}
\usepackage{polyglossia}
\setmainlanguage{bulgarian}
\setotherlanguage{english}
\begin{document}
\centering
\begin{tabular}{lll}
EN & BG/UTF-8 & source \\
\hline
Equation & уравнение \\
footnote & бележка под линия / забележка под линия & / lshort \\
item & точка \\
Figure & Фигура / фигура & lshort\\
Table & Таблица / таблица & lshort \\
Part & част \\
Appendix & апендикс / Приложение & / polyglossia \\
chapter & глава & lshort \\
section & Раздел / раздел & lshort \\
subsection & подраздел\\
subsubsection & подраздел / подподраздел ? \\
paragraph & параграф \\
subparagraph & подпараграф ? \\
line & редица \\
Theorem & теорема \\
page & страница / стp. & lshort\\
\end{tabular}
\end{document}
当然,还有很多可以修改的地方:
哪些名称的第一个字符应为大写字母。如果引用章节、图表、页面等内容,保加利亚语中的惯例是什么?
翻译正确吗?哪一个是最好的版本?
关于什么子部分,子子部分,以及子段落?