我用英语撰写有关阿拉伯语搭配的文章,引用了英语和阿拉伯语资料。由于资料来源众多,我使用分段参考书目,用 biblatex 筛选关键词,其中每个部分仅包含英语或仅包含阿拉伯语资料。
使用 XeTeX 和 polyglossia,我的文档的主要语言是英语,所以我必须将参考书目的阿拉伯语部分切换为阿拉伯语。这在一定程度上可行,因为该部分是从右到左的,但阿拉伯字母是不连贯的。
输出乱码
最小(不)工作示例
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{csquotes}
\setmainfont[Mapping=tex-text]{Amiri}
\setsansfont[Mapping=tex-text]{Amiri}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{arabic}
\usepackage{filecontents}
\begin{filecontents}{refs_test.bib}
@Article{Ghazala1993,
author = {غزالة, حسن},
title = {ترجمة المتلازمات اللفظية (عربي-انجليزي)},
journaltitle = {ترجمان},
year = {1993},
keywords = {arabic},
}
@Book{Baalbaki1987,
author = {Baalbaki, Munir},
title = {Al-Mawrid: A Modern Arabic-English Dictionary},
year = {1987},
publisher = {Dar al-'Ilm li'l-Malayin},
address = {Beirut},
keywords = {english}
}
\end{filecontents}
\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{refs_test.bib}
\usepackage{xunicode}
\begin{document}
Sample enumeration:
\begin{enumerate}
\item first
\item second
\end{enumerate}
\section{References}
\nocite{*}
\printbibliography[keyword={english}, title={English Dictionaries}, heading=subbibliography]
\selectlanguage{arabic}
\printbibliography[keyword={arabic}, title={قواميس عربية}, heading=subbibliography]
\end{document}
注意:我知道以下问题涉及相关但不同的问题:
- 使用 biblatex 查找阿拉伯语书目关注的是将阿拉伯语资料添加到(主要是)英语书目中
- 多语种:阿拉伯文文本、英文书目情况相反:阿拉伯文文献,英文书目。
编辑:Script=Arabic
按照 Salim Bou 的建议添加
使用
\setmainfont[Mapping=tex-text,Script=Arabic]{Amiri}
\setsansfont[Mapping=tex-text,Script=Arabic]{Amiri}
使字母连接起来,但似乎将文档从 LTR 变成了 RT:例如,在枚举中,数字前面有点,而不是相反。(为了清楚地说明这一点,我向 MWE 添加了枚举并更新了图像。)
答案1
按照 Salim Bou 的建议,更改主字体...但在本地使用{...}
:
{
\setmainfont[Mapping=tex-text,Script=Arabic]{Amiri}
\setsansfont[Mapping=tex-text,Script=Arabic]{Amiri}
\selectlanguage{arabic}
\printbibliography[keyword={arabic}, title={قواميس عربية}, heading=subbibliography]
}
整个文档:
\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{csquotes}
\setmainfont[Mapping=tex-text]{Amiri}
\setsansfont[Mapping=tex-text]{Amiri}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{arabic}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{Ghazala1993,
author = {غزالة, حسن},
title = {ترجمة المتلازمات اللفظية (عربي-انجليزي)},
journaltitle = {ترجمان},
year = {1993},
keywords = {arabic},
}
@Book{Baalbaki1987,
author = {Baalbaki, Munir},
title = {Al-Mawrid: A Modern Arabic-English Dictionary},
year = {1987},
publisher = {Dar al-'Ilm li'l-Malayin},
address = {Beirut},
keywords = {english}
}
\end{filecontents}
\usepackage[style=authoryear,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{xunicode}
\begin{document}
Sample enumeration:
\begin{enumerate}
\item first
\item second
\end{enumerate}
\section{References}
\nocite{*}
\printbibliography[keyword={english}, title={English Dictionaries}, heading=subbibliography]
{
\setmainfont[Mapping=tex-text,Script=Arabic]{Amiri}
\setsansfont[Mapping=tex-text,Script=Arabic]{Amiri}
\selectlanguage{arabic}
\printbibliography[keyword={arabic}, title={قواميس عربية}, heading=subbibliography]
}
\end{document}