我选择了babelbib
包裹与 合作babel
,生成一个bibtex
包含用英语和俄语西里尔字母书写的项目的单一书目。
我使用的是参考书目样式babalpha
,babelbib
相当于标准alpha
BibTeX 样式:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc} % russian requires T2A
\usepackage[russian,main=english]{babel}
\usepackage{babelbib}
\bibliographystyle{babalpha}
\begin{document}
\nocite{*}
\bibliography{master}
\end{document}
文件中需要附加字段master.bib
的条目包括:babelbib
language
@book{ponomarenko86,
author = "Пономаренко, Л. А. and Адамович, Л. В.
and Музычук, В. Т. and Гридасов, А. Е.",
title = {{Основы создания гибких атоматизированных производств}},
publisher = "Технiка",
year = "1986",
language = "russian"
}
@book{biblarz01,
author = "Biblarz, Oscar and Sutton, George P. and Schroeder, Matt and King, Benjamin",
title = {{Rocket Propulsion Elements}},
publisher = "John Wiley \&{} Sons, Inc.",
year = "2001",
language = "english"
}
@manual{encyclopediavolI-60,
organization = {{U.S. Army RDECOM-ARDEC}},
title = {{Encyclopedia of Explosives And Related Items, volume 1}},
year = "1960",
key = "US",
language = "english"
}
@manual{instr86,
organization = {{Министерство обороны СССР, Орден Трудового Красного Знамени}},
title = {{Типовая инструкция по эксплуатации топливоподачи
тепловых электростанций: ТИ 34-70-044-85}},
year = "1986",
key = "USS",
language = "russian"
}
得出的结果为:
第一个条目(关键词:)中的姓氏ponomarenko86
可以音译为磷奥诺马连科,A达莫维奇,米乌兹丘克和G里达索夫。
我希望第一个条目按原样打印,但将其归类到“Ponomarenko”下,并生成标签 [PAMG86]。(仅为具有 5 个或更多作者的条目babalpha.bst
生成标签。)+
这些事情有可能实现吗babelbib
?我应该迁移到吗biblatex
?
到目前为止我已经尝试过:
- 放在
@preamble{"\newcommand{\noopsort}[1]{}"}
我的文件开头.bib
,然后使用author = "{\noopsort{Ponomarenko}}Пономаренко, Л. А. ..."
。这种方法对“Ponomarenko”下的条目进行排序,但无法生成正确的标签,并且似乎摆弄了每个参考书目项目的缩进。 author
使用没有必填或字段的条目类型editor
(如manual
和misc
),允许我指定自己的key
字段。问题是这些会产生略有不同的结果。
答案1
最近开发的嗜酒包,用易于构造的模板替换 BibTeX 的样式文件,可以轻松处理多种语言,并可以提供 OOP 所请求的行为。使用以下.tex
文件
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc} % russian requires T2A
\usepackage[russian,main=english]{babel}
\begin{document}
\nocite{*}
\bibliographystyle{example}
\bibliography{master}
\end{document}
无需更改.bib
文件,我们可以编写如下所示的样式模板文件
TEMPLATES:
book = [<au>|<ed>|<organization>|<institution>|], \textit{<title>} (<publisher>, <year>).[ <note>]
manual = [<au>|<ed>|<organization>|<institution>|], \textit{<title>}, (<organization>, <year>).[ <note>]
SPECIAL-TEMPLATES:
citelabel = [<key><year.-2:-1>|<citealpha>|]
sortkey = <citelabel>
如果数据库条目中定义了变量,则可以使用该key
变量,并添加变量的最后两位数字year
,或者使用citealpha
模拟 BiBTeX 中使用的样式的本机变量alpha
。有了这些输入,格式化的输出如下所示