【前文】 已经介绍了bibmap作为biber或bibtex的替代工具可以用来生成参考文献表,以及怎样在latex中生成参考文献。这篇短文介绍一下如何利用它来生成双语对照的文献表(注意:双语文献表用biblatex生成也是非常方便的,【该文】 ) 也已介绍过,这里介绍bibmap是增加一个途径。
双语对照的文献表,一个简洁的思路是将中文文献及其对应的文献分别用一个bib条目来表示,然后在需要对照的时候联合输出,不需要的时候单独输出。需要对照联合输出时,我们使用文献条目集(entry set)的概念,表示这个集中的文献作为一个整体是联合输出的,也就是能够形成一个对照。
基本命令:
\defbibentryset{bilangyi2013}{易仕和2013--,Yi2013--}
其中:bilangyi2013作为条目集的key来引用。
我们用一个很简单的示例来介绍:
% !Mode:: "TeX:UTF-8"
% 用于测试gb7714-2015样式,实现的双语对照文献表
\documentclass{article}%
\usepackage{ctex}
\usepackage{xcolor}
\usepackage{toolbox}
\usepackage[colorlinks]{hyperref}
\usepackage{lipsum}
\usepackage{geometry}
\usepackage{xltxtra,mflogo,texnames}
\usepackage[citestyle=authoryear,bibstyle=gb7714-2015ay]{bibmap}
\begin{filecontents}{\jobname.bib}
@Book{易仕和2013--,
Title = {超声速和高超声速喷管设计},
Address = {北京},
Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉},
Publisher = {国防工业出版社},
Year = {2013}
}
@Book{Yi2013--,
Title = {Supersonic and hypersonic nozzle design},
Address = {Beijing},
Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li},
Publisher = {National Defense Industry Press},
Year = {2013}
}
@Article{张敏莉2007-500-503,
Title = {超声速短化喷管的设计和试验研究},
Author = {张敏莉 and 易仕和 and 赵玉新},
Journal = {空气动力学报},
Number = {4},
Pages = {500-503},
Volume = {25},
Year = {2007}
}
@Article{Zhang2007-500-503,
Title = {The design and experimental investigations of supersonic length shorted nozzle},
Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin},
Journal = {ACTA AERODYNAMICA SINICA},
Number = {4},
Pages = {500-503},
Volume = {25},
Year = {2007}
}
@Book{Peebles2001-100-100,
Title = {Probability, random variable, and random signal Principles and \LaTeX{}},
Address = {New York},
Author = {von Peebles, Jr., P. Z.},
Edition = {4},
Pages = {100},
Publisher = {McGraw-Hill},
Year = {2001}
}
@Book{蔡敏2006--,
Title = {UML基础和Rose建模教程},
Address = {北京},
Author = {蔡敏 and 徐慧慧 and 黄柄强},
Publisher = {人民邮电出版社},
Year = {2006},
Month = {1}
}
@Book{Miroslav2004--,
Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法},
Address = {北京},
Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.},
Publisher = {电子工业出版社},
Translator = {朱义胜 and 董辉},
Year = {2004},
Month = {1}
}
@Book{赵学功2001--,
Title = {当代美国外交},
Author = {赵学功},
Publisher = {社会科学文献出版社},
Url = {http://www.baidu.com},
Urldate = {2014-06-11},
Year = {2001}
}
\end{filecontents}
\defbibentryset{bilangyi2013}{易仕和2013--,Yi2013--}
\begin{document}
\defbibentryset{bilangzhang2013}{张敏莉2007-500-503,Zhang2007-500-503}
\nocite{赵学功2001--}
\cite{Miroslav2004--}
\cite{bilangyi2013}
\nocite{bilangzhang2013}
\bibliography{\jobname}
\end{document}
显然其中我们定义了两个条目集,bilangyi2013,bilangzhang2013。若其他文献也需要对照,可以按照类似方式处理。
编译方式为:
xelatex test.TEX
python bibmap.py test
xelatex test.TEX
xelatex test.TEX
可以看到两个需要对照的参考文献已经正常输出了。注意两个文献中间的间隔可以重定义。
这里使用了:
\def\entrysetpunct{\newline}
用换行来作为间隔。有时也可以加上一些信息,比如:
\def\entrysetpunct{(in Chinese)}
这样的信息以示说明。
更多示例见:https://github.com/hushidong/biblatex-map/tree/master/backendtest-lanparal
本文简单介绍了latex中双语对照文献表除biblatex之外的另一种方式,熟悉latex传统参考文献方法的读者可以很方便尝试。