latex利用bibmap生成双语对照的文献表

latex利用bibmap生成双语对照的文献表

【前文】 已经介绍了bibmap作为biber或bibtex的替代工具可以用来生成参考文献表,以及怎样在latex中生成参考文献。这篇短文介绍一下如何利用它来生成双语对照的文献表(注意:双语文献表用biblatex生成也是非常方便的,【该文】 ) 也已介绍过,这里介绍bibmap是增加一个途径。

1. 基本思路

双语对照的文献表,一个简洁的思路是将中文文献及其对应的文献分别用一个bib条目来表示,然后在需要对照的时候联合输出,不需要的时候单独输出。需要对照联合输出时,我们使用文献条目集(entry set)的概念,表示这个集中的文献作为一个整体是联合输出的,也就是能够形成一个对照。

基本命令:

\defbibentryset{bilangyi2013}{易仕和2013--,Yi2013--}

其中:bilangyi2013作为条目集的key来引用。

2. 示例代码和编译方式

我们用一个很简单的示例来介绍:


% !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

3. 结果

如图所示:
latex利用bibmap生成双语对照的文献表_第1张图片

可以看到两个需要对照的参考文献已经正常输出了。注意两个文献中间的间隔可以重定义。
这里使用了:

\def\entrysetpunct{\newline}

用换行来作为间隔。有时也可以加上一些信息,比如:

\def\entrysetpunct{(in Chinese)}

这样的信息以示说明。

更多示例见:https://github.com/hushidong/biblatex-map/tree/master/backendtest-lanparal

4. 小结

本文简单介绍了latex中双语对照文献表除biblatex之外的另一种方式,熟悉latex传统参考文献方法的读者可以很方便尝试。

你可能感兴趣的:(科技排版,latex,bibmap,参考文献,双语对照)