本问题是上一次讨论的延续(看这里)。
我尝试通过两种方式更改 BiBTeX 样式以满足需要:使用custom-bib
和修改plainnat.bst
文件(感谢 Mico 的建议)。两次我都得到了相同的结果:
也就是说,点之前的首字母丢失了。我确信,这个问题是由于需要使用指定的选项来处理俄语的 BiBTeX 文件而导致的。有人能帮我吗?
答案1
我认为您遇到的缺失字符问题与 BibTeX 无关,至少没有直接关系。我下载了您在站外发布的文件并查看了。很抱歉,我的俄语——甚至我阅读使用西里尔字母的文本的能力——都不是很好。因此,以下主要是一些建议,您可能希望将其视为进一步调查的起点。
由于您的文件是 utf8 编码的,我强烈建议您使用完全支持 utf8 的 TeX 引擎。我建议您使用 LuaLaTeX。(我假设您到目前为止一直在使用 pdfLaTeX。对吗?)如果您选择这种方式,您应该注释掉(或直接删除)主 tex 文件的序言中的说明
\usepackage[T2A]{fontenc}
和\usepackage[utf8]{inputenc}
。取而代之的是,(a)插入说明\usepackage{fontspec}
和(b)选择您系统上的字体(通过\setmainfont
说明),该字体对西里尔字符有很好的支持。在我的系统(MacOSX 10.11.6;MacTeX2016)上,我找到了“Garamond Premier Pro”;因此我\setmainfont{Garamond Premier Pro}
在序言中写道。我相信您的系统上会有几种不错的字体可供选择。运行一次 LuaLaTeX。
接下来,不要运行“基本”的 BibTeX,因为它可能只能处理 ASCII 编码的材料而不会生成毫无意义的错误消息,而是考虑运行
bibtexu
启用了 utf8 的。您可能需要打开命令窗口,切换到包含主 tex 文件的目录(SampleFile.tex
例如),然后键入bibtexu SampleFile
忽略任何神秘的错误信息。
然后,再运行两次 LuaLaTeX 以生成格式化的参考书目和引用标注。
我从这个练习中得到了以下输出;这大致是它应该的样子吗?
\documentclass{article}
% I've shrunk your tex file down to the absolute minimum...
\usepackage{fontspec}
\setmainfont{Garamond Premier Pro}
\usepackage[russian]{babel}
\usepackage[square,numbers,sort&compress]{natbib}
\bibliographystyle{plainnat-re}
\begin{document}
Citations: \citep{Ajn1962, AbrAru1963, Bab1984, AlbN1972}
\bibliography{sample_bib}
\end{document}