考虑以下 tex 和 bib 文件。如您所见,第二个 bib 项未正确呈现。有什么解决办法吗?
方块并不是唯一的问题,事实上波斯语条目的所有字符都没有正确呈现。输出应该类似于您在源代码中看到的内容。使用 tex.stackexchange.com/a/97304/13747 我可以在文档正文中添加波斯语,但我不知道如何将该解决方案应用于波斯语书目条目。
主文本
\documentclass{article}
\usepackage{fontspec}
\usepackage{bidi}
\setmainfont{Times New Roman}
\begin{document}
Test \cite{noormags145485,cour71}
\bibliography{main}
\bibliographystyle{plain}
\end{document}
主目录
@ARTICLE{noormags145485,
author = { شعار,جعفر },
title = { اصلاح املای فارسی را از کجا شروع کنیم: به مناسبت تشکیل فرهنگستان
},
journal = { یغما },
year = { 1350 },
pages = { 157--161 },
number = { 273 },
url = { http://www.noormags.com/view/fa/articlepage/145485 }
}
@ARTICLE{cour71,
author = { Cour,Jaafar },
title = {Sluh e mlu e Fursi ru az koju corooa kon'im: be monusebat e tackil
e Farhangestun},
journal = { Yaqmu },
year = { 1971 },
pages = { 157--161 },
number = { 273 },
url = { http://www.noormags.com/view/fa/articlepage/145485 }
}
输出
答案1
尽管其余测试都有效,但 noormags145485 的期刊名称却写成了四个空框,这是因为它被写成了斜体,而您的字体没有这种字体。我理解这是正常的,因为阿拉伯语脚本很少使用斜体(或倾斜文本)。
Bibtex 就是\em
为此而设的,此示例显示重新定义后\em
期刊标题就会出现。我将字体换成了我可以访问的字体。
% -*- TeX-engine: xetex; -*-%
\documentclass{article}
\usepackage{fontspec}
\usepackage{bidi}
\setmainfont{DejaVu Sans}
\begin{document}
Test \cite{noormags145485,cour71}
\let\em\relax
\bibliography{main}
\bibliographystyle{plain}
\end{document}
我认为正确的解决方案是使用一些字体命令进行设置,以便使用合适的东西来替换斜体阿拉伯文字,因此它既可以用于这种情况,也可以用于文本中的其他情况,但我无法帮助你。
(如果您需要参考书目部分对不同的杂志标题使用不同的标记,我建议从 BibTeX 转到 Biblatex 以提高灵活性。使用 Biblatex 您可以使用biber
而不是bibtex
,这就是它的用武之地。)