我正在准备一份使用 Biblatex + Polyglyossia + XELATEX 的文档。我有英语和阿拉伯语两种语言的引文。本地化项目以英语出现在阿拉伯语引文中,而且在使用 biblatex 包中必备的 cs quotes 包时,CS QUOTES 没有阿拉伯语的引文。我有 3 个问题:
如何根据语言使脚注引用和参考书目从右向左或从左向右更改
本地化项目(单词版本、页面、seenote 和),如何删除它们或使它们根据引用语言显示
CS 引述没有阿拉伯语的定义。
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,margin=2.5cm,bindingoffset=0.5cm]{geometry}
\usepackage{fontspec}
\usepackage{csquotes}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,locale=default,numerals=mashriq]{arabic}
\setotherlanguages{english}
\newfontfamily\arabicfont[Script=Arabic,Mapping=arabicdigits]{Simplified Arabic}
\usepackage[backend=biber,language=autobib,autolang=hyphen,citestyle=verbose-note,bibstyle=authortitle,doi=false,isbn=false,block=none,]{biblatex}
\addbibresource{D:/SC/PROJ/Subfile Package Solution - Biblatex/With_all_set_up.bib}
\title{}
\author{}
\date{}
\begin{document}
\chapter{}
مع المثلة مثال
\footcite[256]{Sharoni1969}
\newpage
مع المثلة مثال
\footcite{Sharoni1969}
\printbibliography
\end{document}
以下是参考格式
@book{Sharoni1969,
author = {ميخائيل، ملاك and الشاروني، حبيب},
year = {1969},
title = {المرجع فى قواعد اللغة القبطية},
address = {الاسكندرية},
publisher = {{جمعية مارمينا العجايبي}}
}
@book{Browning1983,
author = {Browning, Robert},
year = {1983},
title = {Medieval and Modern Greek},
publisher = {{Cambridge University Press}},
isbn = {0521299780 9780521299787}
}
答案1
我无法用polyglossia
和做到这一点xelatex
。
但我们可以尝试一下babel
,lualatex
这可能会提供一种前进的方法。
您必须arabic.lbx
为 创建字符串biblatex
并定义阿拉伯语引号csquotes
。(我不确定引号或翻译……)
平均能量损失
下面的代码中有一些注释,对一些事情进行了解释。
\documentclass[12pt]{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Sharoni1969,
author = {ميخائيل، ملاك and الشاروني، حبيب},
year = {1969},
title = {المرجع فى قواعد اللغة القبطية},
address = {الاسكندرية},
publisher = {جمعية مارمينا العجايبي},
langid = {arabic}
}
@book{Browning1983,
author = {Browning, Robert},
year = {1983},
title = {Medieval and Modern Greek},
publisher = {Cambridge University Press},
langid = {english}
}
\end{filecontents}
\begin{filecontents}{arabic.lbx}
\ProvidesFile{arabic.lbx}
\InheritBibliographyExtras{english}
% Translations thanks to Google Translate.
% I haven't provided abbreviations, because I don't know Arabic.
% You'll need to add more for other strings you use.
% Look in `english.lbx` for the string name.
\DeclareBibliographyStrings{%
inherit = {english},
and = {{و}{و}},
page = {{صفحة}{صفحة}},
pages = {{صفحات}{صفحة}},
references = {{مراجع}{مراجع}},
seenote = {{انظر الملاحظة}{انظر الملاحظة}},
}
\end{filecontents}
\usepackage[nil,bidi=basic-r]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}
\babelfont[arabic]{rm}{Amiri}
\babelfont[english]{rm}{Latin Modern Roman}
\usepackage{csquotes}
\DeclareQuoteStyle{arabic}
{\guillemotleft}
{\guillemotright}
{\textquotedblright}
{\textquotedblleft}
\usepackage[language=auto,autolang=other,citestyle=verbose-note,bibstyle=authortitle,doi=false,isbn=false]{biblatex}
\addbibresource{\jobname.bib}
\defbibenvironment{bibliography}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist}
{\item\leavevmode}% add \leavevmode to align English bibliography items RTL
% Always use Arabic digits for see note.
\usepackage{xpatch}
\xpatchbibmacro{footcite:note}
{\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}
{\foreignlanguage{arabic}{\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
{}
{}
% Just to test if quotes work
\DeclareFieldFormat{title}{\mkbibquote{\mkbibemph{#1}}}
\begin{document}
\null\vfill
مع المثلة مثال \autocite[256]{Sharoni1969}.
مع المثلة مثال \autocite{Sharoni1969}.
مع المثلة مثال \autocite[256]{Browning1983}.
مع المثلة مثال \autocite{Browning1983}.
% With the above, the language changes back to Arabic before the final period
% is inserted, so it ends up being to the left of the note. This looks a bit
% odd to me, but the only way I could get the period at the right hand side of
% the note was to put it inside a footnote like this:
مع المثلة مثال\footnote{\cite{Browning1983}.}
\printbibliography
\end{document}