我的参考书目包含英语和希伯来语条目。为了实现这一点,我使用了 XeTeX、biblatex(带有 biber 和 biblatex-apa)和 polyglossia。
由于 biblatex 不支持希伯来语,我想使用命令定义希伯来语书目字符串(例如“编辑器”)\DefineBibliographyStrings
。
问题:无论我怎么尝试,我的希伯来语书目项目似乎都没有注册为希伯来语DefineBibliographyStrings
:
- 如果我使用
\DefineBibliographyStrings{english}{editor={עורך}}
,那么它会改变字符串全部条目(英文和希伯来文)。 - 如果我使用
\DefineBibliographyStrings{hebrew}{editor={עורך}}
,那么它会改变字符串没有任何的条目。
我尝试了很多办法来解决这个问题:
- 给出我的 bib 条目
langid
和hyphenation
字段language
。 - 修补所有可能的情况
autolang
和选择。language
clearlang
biblatex
- 将希伯来语条目重新定义为随机支持的语言,例如德语。
- 创建 hebrew.lbx 文件等,以“添加”对 biblatex 的希伯来语支持(从英文文件复制而来,此处或彼处略作更改)。
但什么也没起作用...
以下是 MWE:
bib文件
@incollection{EnglishExample,
title={Example},
author={John McAuthor},
year={2016},
booktitle={American Journal of Examples},
editor={Jack McEditor},
pages={1-100}
}
@incollection{HebrewExample,
author={ר גורבטוב and א בן-משה and מ בן-שמחון},
title={אנשים עם פיגור שכלי},
booktitle={סקירת השירותים החברתיים 2009},
year={2009},
editor={י צבע},
pages={367-399},
address={ירושלים},
publisher={משרד הרווחה והשירותים החברתיים},
keywords={hebrew},
language={hebrew},
hyphenation={hebrew},
langid={hebrew}
}
tex 文件
\documentclass[oneside,english]{book}
\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Linux Libertine}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\makeatletter
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\usepackage{csquotes}
\usepackage[style=apa,backend=biber]{biblatex}
\addbibresource{mwe-hebrew-bib-strings.bib}
\DeclareLanguageMapping{english}{english-apa}
\DeclareLanguageMapping{hebrew}{english-apa} % this is needed for \DefineBibliographyStrings{hebrew}
\DefineBibliographyStrings{hebrew}{%
editor={עורך}
}
% the above \DefineBibliographyStrings affects NEITHER entry
% but changing it to {english} affects BOTH entries
\makeatother
\usepackage{xunicode}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
注意:由于我正在使用 LyX,因此违背我的意愿重复加载 polyglossia 和 setdefaultlanguage,但我认为这没有影响......
答案1
这里有几个问题。最大的问题是biblatex
和都biblatex-apa
缺乏希伯来语本地化。
但是让我们从一些不太复杂的事情开始。
\DeclareLanguageMapping{hebrew}{english-apa} % this is needed for \DefineBibliographyStrings{hebrew}
您实际上告诉biblatex
大家希伯来语与英语相同(准确地说是英语的 APA“方言”)。从那时起,只要您的文档中有希伯来语文本,它就会被视为英语,因此您的修改\DefineBibliographyStrings{hebrew}
不会产生任何效果,因为它只会修改根本不使用的希伯来语字符串。
因此,您必须删除\DeclareLanguageMapping{hebrew}{english-apa}
。但您将需要那里定义的某种hebrew-apa.lbx
或至少部分宏。请参阅APA 格式的问题。
你还必须教授biblatex
希伯来语。请参阅配置 biblatex 以用于不受支持的语言的最合适方法是什么?为此。(您可能还想教csquotes
希伯来语:引号(引号符号) xelatex + polyglossia + csquotes。