biblatex
我没有发现任何关于插入用阿拉伯文字(在本例中为阿拉伯文)写的参考书目条目的可能性的提及。
有什么办法吗?
答案1
我不太清楚你的问题是什么。你想要一个完全阿拉伯语的 PDF,还是一个英语的 PDF,可以选择引用阿拉伯语文献没有音译书目信息?
无论如何:这里有一个例子表明它是biblatex
可以使用和排版阿拉伯语参考biber
。
这个答案远非完美。许多事情需要调整才能完美,例如:
- 使用的逗号是阿拉伯语文本中的错误逗号
- 一般来说,语法需要调整
- 也许你想让阿拉伯语脚注右对齐(这是可能的,但我不知道如何
- 一个阿拉伯数字就
footnotemark
很好了(容易实现!) - 您需要用阿拉伯语表达“编辑”等等。
- ...
但这一切都是可能的。
后续问题:是否有可能仅有的阿拉伯语脚注右对齐,英文脚注左对齐?
工作示例:
% !TEX TS-program = lualatexmk
\documentclass[12pt, a4paper, DIV=calc]{scrartcl}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Times New Roman}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Arabic Typesetting}
\usepackage[style=verbose,backend=biber]{biblatex}
\DeclareFieldFormat{postnote}{#1}% postnotes without p. and pp.
\newcommand{\arabtext}[1] % Arabic inside LTR
{\bgroup\luatextextdir TRT\arabicfont #1\egroup}
\newcommand{\arabnr}[1] % for digits inside Arabic text
{\bgroup\luatextextdir TLT #1\egroup}
\newcommand{\afootnote}[1] % Arabic footnotes
{\footnote{\arabtext{#1}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{ibnsina:shifa:physics:ar,
author = {\arabtext{ابن سينا}},
year = {\arabnr{١٤١٧}},
title = {\arabtext{السماع الطبيعى من كتاب الشفاء}},
publisher = {\arabtext{دار المناهل}},
location = {\arabtext{بيروت}},
}
@book{ibnsina:shifa:physics:en,
author = {Avicenna},
year = {1996},
title = {Al-Samāʿ al-ṭabīʿī min Kitāb al-Šifāʾ},
publisher = {Dār al-Manāhil},
location = {Beirut}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\noindent Text with an English reference in the footnote.\footnote{\cite[12]{ibnsina:shifa:physics:en}.}
\noindent Text with an Arabic reference in the footnote.\afootnote{\cite[\arabnr{١٢}]{ibnsina:shifa:physics:ar}.}
\printbibliography
\end{document}
答案2
我解决这个确切问题的方法(在 XeLaTeX 下polyglossia
和biblatex
XeLaTeX 下均可使用)是使用\textarabic
。我确信这是目前最好的解决方案。如果它对您不起作用,请告诉我原因,我会尝试调整我的答案。
由于您抱怨我使用了另一个答案中的示例,下面是我自己的一个示例,放入 MWS 中以展示如何使用它:
\documentclass{scrartcl}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{arabic}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.2]{Arabic Typesetting}
% redefine \textarabic{} to never be italic
\let\oldtextarabic\textarabic
\renewcommand{\textarabic}{\upshape\oldtextarabic}
\usepackage[backend=biber,style=mla]{biblatex}
\begin{filecontents}{example.bib}
@book{Jamii2005,
location = {\textarabic{بيروت}},
title = {\textarabic{قاموس الفصاحة العمانية - ما حفظته الدارجة العمانية لللغة العربية}},
volumes = {2},
publisher = {\textarabic{دار أحياء التراث العربي}},
author = {\textarabic{الجامعي}, \textarabic{أبو قاسم محمود بن حميد}},
date = {2005},
langid = {arabic}
}
\end{filecontents}
\addbibresource{example.bib}
\begin{document}
\section{Example}
Lorem ipsum dolor sit amet \parencite[p. 123]{Jamii2005} consectetur.
\printbibliography
\end{document}
@Werner:感谢您的格式化帮助!
答案3
您可以使用 解决此问题Persian-bib
,请前往 CTAN 并下载Persian-bib
,将其放在您的工作目录中,然后按照以下几个步骤操作:
将这些代码行复制并粘贴到你的序言中:
\usepackage{xepersian} \settextfont[Scale=1]{XB Zar}%{XB Niloofar} \setlatintextfont[Scale=1]{Linux Libertine} \defpersianfont\Sayeh[Scale=1]{XB Kayhan Sayeh}
转到文档的相应部分并插入以下内容:
\bibliographystyle{asa-fa}%{chicago-fa}%{plainnat-fa}% \bibliography{MyReferences}
{asa-fa}
= 适用于 RTL 语言的文件,{MyReferences}
= 是您的.bib
文件
*请不要忘记添加必要的字体