biblatex中标注压缩的处理代码解析
%首先讲一下分析的方法,tex中查看宏的定义方便,但要了解宏内部的逻辑并不容易,没有非常方便的调试手段,因此要分析其内部的逻辑,需要手动的分析整个宏的运行过程,主要在纸面上进行,也可以让宏内部进行一些输出,方便查看。
如下代码中,首先利用重定义的cite:comp:comp,cite:comp:end进行了输出,查看了一下一般情况下labelprefix相关代码的作用,从结果看,一般情况下压缩不涉及到labelprefix的问题。
```
\renewbibmacro*{cite:comp:comp}{%
\ifboolexpr{
( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} )
or
test {\iffieldequals{labelprefix}{\cbx@lastprefix}}
}
{\printtext{lp:\printfield{labelprefix}num:\printfield{labelnumber}}%
\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}
{\savefield{entrykey}{\cbx@lastkey}%
\savefield{labelnumber}{\cbx@lastnumber}%
\addtocounter{cbx@tempcnta}{1}}
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}
{}
{\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
{\multicitedelim}
{}%
\printtext[bibhyperref]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}}}
{\usebibmacro{cite:comp:end}}%
\setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
\savefield{labelprefix}{\cbx@lastprefix}}
\renewbibmacro*{cite:comp:end}{%
\printtext{end}%
\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
{\multicitedelim}
{}%
\printtext[bibhyperref]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
```
为了分析清楚压缩的机制,下面的分析,除了去掉了在shorthand环境中和set环境中的处理代码外,留下普通的cite的代码也仅需要分析与labelprefix无关的代码。
```
\ProvidesFile{numeric-comp.cbx}[\abx@cbxid]
\newcounter{cbx@tempcnta}
\newcounter{cbx@tempcntb}
\newbibmacro*{cite:init}{%初始化
\global\boolfalse{cbx:parens}%
\global\undef\cbx@lasthash
\global\undef\cbx@lastnumber
\global\undef\cbx@lastprefix
\setcounter{cbx@tempcnta}{0}%
\setcounter{cbx@tempcntb}{-1}}
\newbibmacro*{cite:comp}{%
\addtocounter{cbx@tempcntb}{1}%
{\usebibmacro{cite:comp:comp}}
}
\newbibmacro*{cite:comp:comp}{%
\ifboolexpr{
( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} )
or
test {\iffieldequals{labelprefix}{\cbx@lastprefix}}
}%当labelprefix未定义且\cbx@lastprefix未定义 或labelprefix==\cbx@lastprefix时
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}%当文献序号==cbx@tempcntb
{\savefield{entrykey}{\cbx@lastkey}%保存当前entrykey到\cbx@lastkey
\savefield{labelnumber}{\cbx@lastnumber}%保存当前labelnumber到\cbx@lastnumber
\addtocounter{cbx@tempcnta}{1}}%cbx@tempcnta计数器加1
%当文献序号\=cbx@tempcntb
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}%如果labelnumber==cbx@tempcntb-1
{}
{\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
{\multicitedelim}
{}%
\printtext[bibhyperref]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}}}
{\usebibmacro{cite:comp:end}}%
\setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
\savefield{labelprefix}{\cbx@lastprefix}}
\newbibmacro*{cite:dump}{%目的就是输出最后一个文献编号的
\ifnumgreater{\value{cbx@tempcnta}}{0}
{\ifnumgreater{\value{cbx@tempcnta}}{1}
{\bibrangedash}
{\multicitedelim}%
\bibhyperref[\cbx@lastkey]{%
\ifdef\cbx@lastprefix
{\printtext[labelprefix]{\cbx@lastprefix}}
{}%
\printtext[labelnumber]{\cbx@lastnumber}}}
{}%
\setcounter{cbx@tempcnta}{0}%
\global\undef\cbx@lastprefix}
\DeclareCiteCommand{\cite}[\mkbibbrackets]
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{\usebibmacro{cite:dump}%
\usebibmacro{postnote}}
```
首先看顺序编号标注的输出,从cite定义中可以看到(不考虑prenote,index和postnote),首先是cite:init宏,接着根据引用关键词循环处理cite:comp,最后是处理cite:dump。
我们来看一个实际的输出例子:比如有[3-5,7]这样的标注,其世纪输入是3,4,5,7。这些值来自于labelnumber域。
```
cite:init: cbx@tempcntb=-2
cbx@tempcnta=0
cite:comp: cbx@tempcntb+1=-1
labelnumber=3
call cite:comp:comp
cite:comp:comp: call cite:dump
cite:dump: cbx@tempcnta=0
return cite:comp:comp
cite:comp:comp: print labelnumber=3
cbx@tempcntb=labelnumber=3
go upper loop
cite:comp: cbx@tempcntb+1=4
labelnumber=4
call cite:comp:comp
cite:comp:comp: save key
save num=4
cbx@tempcnta+1=1
cbx@tempcntb=labelnumber=4
go upper loop
cite:comp: cbx@tempcntb+1=5
labelnumber=5
call cite:comp:comp
cite:comp:comp: save key
save num=5
cbx@tempcnta+1=2
cbx@tempcntb=labelnumber=5
go upper loop
cite:comp: cbx@tempcntb+1=6
labelnumber=7
call cite:comp:comp
cite:comp:comp: call cite:dump
cite:dump: print dash
print savenum=5
cbx@tempcnta=0
return cite:comp:comp
cite:comp:comp: print multidelim
print labelnumber=7
```
因此输出的结果就是3-5,7。
可以看到cbx@tempcntb帮助抛弃被压缩的编号,而cbx@tempcnta帮助输出最后的一个编号。
设置cite:dump中cbx@tempcnta的判别值1为0,是否可以将3个编号压缩变为2个编号压缩,下面来分析看看,对于3,4,5,7的输出来说,跟上面的输出是一样的,因此仅涉及到dump中的判断,即在labelnumber=7时,此时cbx@tempcnta=2,这个判断值等于1和0不影响。
看一下如果是3,4,7这样的输入情况会如何?
```
cite:init: cbx@tempcntb=-2
cbx@tempcnta=0
cite:comp: cbx@tempcntb+1=-1
labelnumber=3
call cite:comp:comp
cite:comp:comp: call cite:dump
cite:dump: cbx@tempcnta=0
return cite:comp:comp
cite:comp:comp: print labelnumber=3
cbx@tempcntb=labelnumber=3
go upper loop
cite:comp: cbx@tempcntb+1=4
labelnumber=4
call cite:comp:comp
cite:comp:comp: save key
save num=4
cbx@tempcnta+1=1
cbx@tempcntb=labelnumber=4
go upper loop
cite:comp: cbx@tempcntb+1=5
labelnumber=7
call cite:comp:comp
cite:comp:comp: call cite:dump
cite:dump: print dash
print savenum=4
cbx@tempcnta=0
return cite:comp:comp
cite:comp:comp: print multidelim
print labelnumber=7
```
因此输出的结果就是3-4,7。
如果考虑判别值变大为2,抛弃的压缩值仍然会被抛下,且当cbx@tempcnta=2时,dump不输出,因此3,4,5,7这样的输入会产生输出为:3,5,7。这样可以反映出,目前的压缩机制是能输出连续编号的第一个和最后一个,当判别值过大时,压缩符号无法给出。也就是说,压缩量并不能灵活设置,而是固定好了的。默认是三个编号压缩情况下,当输入是3个连续的编号,那么输出第一个和最后一个加中间的dash形成压缩,而输入是两个连续编号时,仍然输出第一个和最后一个,加中间的multicitedelim构成不压缩的输出。
最后的测试文件见:
```
\documentclass[twoside]{article}
\usepackage{ctex}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage[top=10pt,bottom=10pt,left=2cm,right=2cm]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
%\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015,
%gbnamefmt=none,gbfieldstd=false,gbtype=true,gbpunctin=true,gbpub=true]{biblatex}
\usepackage[backend=biber,style=numeric-comp,sorting=none]{biblatex}
\makeatletter
%\newbibmacro*{cite:reinit}{%
%\ifnumequal{\value{citecount}}{1}{}{\setcounter{cbx@tempcntb}{0}}
%}
%\AtEveryCitekey{\usebibmacro{cite:reinit}}
\renewbibmacro*{cite:comp:comp}{%
\ifboolexpr{
( test {\iffieldundef{labelprefix}} and test {\ifundef\cbx@lastprefix} )
or
test {\iffieldequals{labelprefix}{\cbx@lastprefix}}
}
{%\printtext{lp:\printfield{labelprefix}num:\printfield{labelnumber}}
\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}}
{\savefield{entrykey}{\cbx@lastkey}%
\savefield{labelnumber}{\cbx@lastnumber}%
\addtocounter{cbx@tempcnta}{1}}
{\ifnumequal{\thefield{labelnumber}}{\value{cbx@tempcntb}-1}
{}
{\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
{\multicitedelim}
{}%
\printtext[bibhyperref]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}}}
{\usebibmacro{cite:comp:end}}%
\setcounter{cbx@tempcntb}{\thefield{labelnumber}}%
\savefield{labelprefix}{\cbx@lastprefix}}
\renewbibmacro*{cite:comp:end}{%
\printtext{end}%
\usebibmacro{cite:dump}%
\ifnumgreater{\value{cbx@tempcntb}}{-1}
{\multicitedelim}
{}%
\printtext[bibhyperref]{%
\printfield{labelprefix}%
\printfield{labelnumber}}}
\renewbibmacro*{cite:dump}{%
\ifnumgreater{\value{cbx@tempcnta}}{0}
{\ifnumgreater{\value{cbx@tempcnta}}{1}%修改1为0,将从3个编号开始压缩变为从2开始
{\bibrangedash}
{\multicitedelim}%
\bibhyperref[\cbx@lastkey]{%
\ifdef\cbx@lastprefix
{\printtext[labelprefix]{\cbx@lastprefix}}
{}%
\printtext[labelnumber]{\cbx@lastnumber}}}
{}%
\setcounter{cbx@tempcnta}{0}%
\global\undef\cbx@lastprefix}
\makeatother
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@database{databaseeg,
AUTHOR = {Zhang, San},
DATE = {2007},
TITLE = {A data base},
medium={CD}
}
@dataset{dataseteg,
AUTHOR = {Zhang, Yi},
DATE = {2008},
TITLE = {A data set},
medium={DK}
}
@archive{archiveeg,
AUTHOR = {Zhang, Er},
DATE = {2009},
TITLE = {An archive for friend B},
medium={MT}
}
@software{softwareeg,
AUTHOR = {Zhang, Liu},
DATE = {2009},
TITLE = {A software for science computation},
medium={CD}
}
@map{mapeg,
AUTHOR = {Zhang, Si},
DATE = {2010},
TITLE = {An map},
}
@Misc{Misceg,
AUTHOR = {Zhang, Wu},
DATE = {2010},
TITLE = {An unknow type reference},
}
@ARTICLE{aritileeg,
AUTHOR = {Zhang, Qi},
DATE = {2007},
JOURNALTITLE = {An periodical},
PAGES = {82--92},
TITLE = {An article for test},
VOLUME = {12},
NUMBER ={2},
mark={J},
medium={OL},
}
@ARTICLE{方军雄2007所有制,
AUTHOR = {方军雄},
DATE = {2007},
JOURNALTITLE = {经济研究},
PAGES = {82--92},
TITLE = {所有制, 制度环境与信贷资金配置},
VOLUME = {12},
}
@ARTICLE{李晓西1994转轨过程中的结构性通货膨胀,
AUTHOR = {李晓西},
DATE = {1994},
JOURNALTITLE = {经济研究},
KEYWORDS = {李晓西1994转轨过程中的结构性通货膨胀},
NUMBER = {10},
PAGES = {28--32},
TITLE = {转轨过程中的结构性通货膨胀},
}
@ARTICLE{刘凤良2017,
AUTHOR = {刘凤良 and 章潇萌 and 于泽},
DATE = {2017},
JOURNALTITLE = {金融研究},
KEYWORDS = {刘凤良2017},
NUMBER = {2},
PAGES = {54--69},
TITLE = {高投资、结构失衡与价格指数二元分化},
}
@ARTICLE{楼继伟2016改革,
AUTHOR = {楼继伟},
DATE = {2016},
JOURNALTITLE = {求是},
KEYWORDS = {楼继伟2016改革},
NUMBER = {1},
PAGES = {24--26},
TITLE = {中国经济最大潜力在于改革},
}
@ARTICLE{吕捷2015cpi,
AUTHOR = {吕捷 and 王高望},
DATE = {2015},
JOURNALTITLE = {经济研究},
KEYWORDS = {吕捷2015cpi},
PAGES = {011},
TITLE = {CPI 与 PPI “背离” 的结构性解释},
VOLUME = {4},
}
@ARTICLE{罗德明2012要素市场扭曲,
AUTHOR = {罗德明 and 李晔 and 史晋川},
DATE = {2012},
JOURNALTITLE = {经济研究},
KEYWORDS = {罗德明2012要素市场扭曲},
NUMBER = {3},
PAGES = {4--14},
TITLE = {要素市场扭曲、资源错置与生产率},
}
@ARTICLE{王国静2014金融冲击,
AUTHOR = {王国静 and 田国强},
DATE = {2014},
JOURNALTITLE = {经济研究},
KEYWORDS = {王国静2014金融冲击},
NUMBER = {3},
PAGES = {20--34},
TITLE = {金融冲击和中国经济波动},
VOLUME = {49},
}
@ARTICLE{王文甫2010价格粘性,
AUTHOR = {王文甫},
DATE = {2010},
JOURNALTITLE = {管理世界},
KEYWORDS = {王文甫2010价格粘性},
NUMBER = {9},
PAGES = {11--25},
TITLE = {价格粘性, 流动性约束与中国财政政策的宏观效应——动态新凯恩斯主义视角},
}
@ARTICLE{徐伟康2010对,
AUTHOR = {徐伟康},
DATE = {2010},
JOURNALTITLE = {经济研究},
KEYWORDS = {徐伟康2010对},
NUMBER = {5},
PAGES = {139--148},
TITLE = {对《 消费者价格指数与生产者价格指数: 谁带动谁?》 一文的质疑},
}
@ARTICLE{杨光2015经济波动,
AUTHOR = {杨光 and 孙浦阳 and 龚刚},
DATE = {2015},
JOURNALTITLE = {经济研究},
KEYWORDS = {杨光2015经济波动},
NUMBER = {2},
PAGES = {47--60},
TITLE = {经济波动, 成本约束与资源配置},
VOLUME = {50},
}
@ARTICLE{杨汝岱2015中国制造,
AUTHOR = {杨汝岱},
DATE = {2015},
JOURNALTITLE = {经济研究},
KEYWORDS = {杨汝岱2015中国制造},
PAGES = {61--74},
TITLE = {中国制造业企业全要素生产率研究},
VOLUME = {2},
}
@ARTICLE{张成思2010长期均衡,
AUTHOR = {张成思},
DATE = {2010},
JOURNALTITLE = {经济研究},
KEYWORDS = {张成思2010长期均衡},
PAGES = {42--52},
TITLE = {长期均衡, 价格倒逼与货币驱动},
VOLUME = {6},
}
@INCOLLECTION{adam2011house,
AUTHOR = {Adam, Klaus and Kuang, Pei and Marcet, Albert},
PUBLISHER = {University of Chicago Press},
BOOKTITLE = {NBER Macroeconomics Annual 2011, Volume 26},
DATE = {2011},
KEYWORDS = {adam2011house},
PAGES = {77--122},
TITLE = {House price booms and the current account},
}
@ARTICLE{bernanke1989agency,
AUTHOR = {Bernanke, Ben and Gertler, Mark},
PUBLISHER = {JSTOR},
DATE = {1989},
JOURNALTITLE = {The American Economic Review},
KEYWORDS = {bernanke1989agency},
PAGES = {14--31},
TITLE = {Agency costs, net worth, and business fluctuations},
}
@REPORT{calvo2006phoenix,
AUTHOR = {Calvo, Guillermo A and Izquierdo, Alejandro and Talvi, Ernesto},
INSTITUTION = {National Bureau of Economic Research},
DATE = {2006},
KEYWORDS = {calvo2006phoenix},
TITLE = {Phoenix miracles in emerging markets: recovering without credit from systemic financial crises},
}
@ARTICLE{davis2005housing,
AUTHOR = {Davis, Morris A and Heathcote, Jonathan},
PUBLISHER = {Wiley Online Library},
DATE = {2005},
JOURNALTITLE = {International Economic Review},
KEYWORDS = {davis2005housing},
NUMBER = {3},
PAGES = {751--784},
TITLE = {Housing and the business cycle},
VOLUME = {46},
}
@ARTICLE{enders2009international,
AUTHOR = {Enders, Zeno and M{ü}ller, Gernot J},
PUBLISHER = {Elsevier},
DATE = {2009},
JOURNALTITLE = {Journal of International Economics},
KEYWORDS = {enders2009international},
NUMBER = {1},
PAGES = {45--59},
TITLE = {On the international transmission of technology shocks},
VOLUME = {78},
}
@ARTICLE{fazzari1993working,
AUTHOR = {Fazzari, Steven M and Petersen, Bruce C},
PUBLISHER = {JSTOR},
DATE = {1993},
JOURNALTITLE = {The RAND Journal of Economics},
KEYWORDS = {fazzari1993working},
PAGES = {328--342},
TITLE = {Working capital and fixed investment: new evidence on financing constraints},
}
@ARTICLE{greenwood1988investment,
AUTHOR = {Greenwood, Jeremy and Hercowitz, Zvi and Huffman, Gregory W},
PUBLISHER = {JSTOR},
DATE = {1988},
JOURNALTITLE = {The American Economic Review},
KEYWORDS = {greenwood1988investment},
PAGES = {402--417},
TITLE = {Investment, capacity utilization, and the real business cycle},
}
@ARTICLE{hayashi1985tests,
AUTHOR = {Hayashi, Fumio},
DATE = {1985},
JOURNALTITLE = {NBER Working Paper},
KEYWORDS = {hayashi1985tests},
NUMBER = {w1720},
TITLE = {Tests for Liquidity Constraints: a Critical Survey},
}
@ARTICLE{iacoviello2005house,
AUTHOR = {Iacoviello, Matteo},
PUBLISHER = {American Economic Association},
DATE = {2005},
JOURNALTITLE = {The American economic review},
KEYWORDS = {iacoviello2005house},
NUMBER = {3},
PAGES = {739--764},
TITLE = {House prices, borrowing constraints, and monetary policy in the business cycle},
VOLUME = {95},
}
@ARTICLE{jermann2012macroeconomic,
AUTHOR = {Jermann, Urban and Quadrini, Vincenzo},
PUBLISHER = {American Economic Association},
DATE = {2012},
JOURNALTITLE = {The American Economic Review},
KEYWORDS = {jermann2012macroeconomic},
NUMBER = {1},
PAGES = {238--271},
TITLE = {Macroeconomic effects of financial shocks},
VOLUME = {102},
}
@ARTICLE{khan2013credit,
AUTHOR = {Khan, Aubhik and Thomas, Julia K},
PUBLISHER = {University of Chicago Press},
DATE = {2013},
JOURNALTITLE = {Journal of Political Economy},
KEYWORDS = {khan2013credit},
NUMBER = {6},
PAGES = {1055--1107},
TITLE = {Credit shocks and aggregate fluctuations in an economy with production heterogeneity},
VOLUME = {121},
}
@ARTICLE{kiyotaki1997credit,
AUTHOR = {Kiyotaki, Nobuhiro and Moore, John},
PUBLISHER = {University of Chicago Press},
DATE = {1997},
JOURNALTITLE = {Journal of Political Economy},
KEYWORDS = {kiyotaki1997credit},
NUMBER = {2},
PAGES = {211--248},
TITLE = {Credit cycles},
VOLUME = {105},
}
@ARTICLE{kocherlakota2000creating,
AUTHOR = {Kocherlakota, Narayana and others},
DATE = {2000},
JOURNALTITLE = {Federal Reserve Bank of Minneapolis Quarterly Review},
KEYWORDS = {kocherlakota2000creating},
NUMBER = {3},
PAGES = {2--10},
TITLE = {Creating business cycles through credit constraints},
VOLUME = {24},
}
@INPROCEEDINGS{lucas1976econometric,
AUTHOR = {Lucas, Robert E},
ORGANIZATION = {North-Holland},
BOOKTITLE = {Carnegie-Rochester conference series on public policy},
DATE = {1976},
KEYWORDS = {lucas1976econometric},
PAGES = {19--46},
TITLE = {Econometric policy evaluation: A critique},
VOLUME = {1},
}
@ARTICLE{lucas1987money,
AUTHOR = {Lucas, Robert and Stokey, Nancy},
PUBLISHER = {Econometric Society},
DATE = {1987},
JOURNALTITLE = {Econometrica},
KEYWORDS = {lucas1987money},
NUMBER = {3},
PAGES = {491--513},
TITLE = {Money and Interest in a Cash-in-Advance Economy},
VOLUME = {55},
}
@ARTICLE{quadrini2011financial,
AUTHOR = {Quadrini, Vincenzo},
DATE = {2011},
JOURNALTITLE = {Economic Quarterly},
KEYWORDS = {quadrini2011financial},
NUMBER = {3},
PAGES = {209--254},
TITLE = {Financial Frictions in Macroeconomic Fluctuations},
VOLUME = {79},
}
@ARTICLE{saiz2010geographic,
AUTHOR = {Saiz, Albert},
PUBLISHER = {JSTOR},
DATE = {2010},
JOURNALTITLE = {quarterly Journal of Economics},
KEYWORDS = {saiz2010geographic},
NUMBER = {3},
TITLE = {The geographic determinants of housing supply},
VOLUME = {125},
}
@ARTICLE{wang2006another,
AUTHOR = {Wang, Peng-fei and Wen, Yi},
PUBLISHER = {Elsevier},
DATE = {2006},
JOURNALTITLE = {Journal of Economic Dynamics and Control},
KEYWORDS = {wang2006another},
NUMBER = {12},
PAGES = {2533--2552},
TITLE = {Another look at sticky prices and output persistence},
VOLUME = {30},
}
@REPORT{xu2012role,
AUTHOR = {Xu, TengTeng},
INSTITUTION = {Faculty of Economics, University of Cambridge},
DATE = {2012},
KEYWORDS = {xu2012role},
TITLE = {The role of credit in international business cycles},
}
@ARTICLE{zhang2009china,
AUTHOR = {Zhang, Wenlang},
PUBLISHER = {Elsevier},
DATE = {2009},
JOURNALTITLE = {Journal of Macroeconomics},
KEYWORDS = {zhang2009china},
NUMBER = {3},
PAGES = {473--484},
TITLE = {China’s monetary policy: Quantity versus price rules},
VOLUME = {31},
}
@Book{Yi2014--,
Title = {Test},
Address = {Address},
Author = {Yi and B and C},
Publisher = {Publisher},
Year = {2014}
}
@Book{Yi2013--,
Title = {Supersonic and hypersonic nozzle design},
Address = {BeiJing},
Author = {Yi, S H and Zhao, Y X and He, L and Zhang, M L},
Publisher = {National Defense Industry Press},
Year = {2013}
}
@Periodical{AAAS1883--,
Title = {Science},
Date = {1883},
Editor = {{American Association for the Advancement of Science}},
Number = {1},
Volume = {1},
Location = {Washington, D.C.},
Publisher = {American Association for the Advancement of Science}
}
@Proceedings{ROSENTHALL1963--,
Title = {Proceedings of the Fifth Canadian Mathematical Congress, University of Montreal, 1961},
Date = {1963},
Publisher = {University of Toronto Press},
Editor = {E M ROSENTHALL},
Location = {Toronto}
}
@Thesis{CALMS1965--,
Title = {Infrared spectroscopic studies on solid oxygen},
Author = {R B CALMS},
Date = {1965},
Institution = {Univ. of California},
Location = {Berkeley}
}
@Report{WHO1970--,
Title = {Factors regulating the immune response},
Author = {{World Health Organization}},
Date = {1970},
Institution = {WHO},
Location = {Geneva},
Titleaddon = {report of WHO Scientific Group}
}
@Inproceedings{FOURNEY1971-17-38,
Title = {Advances in holographic photoelasticity$\mathbb{R}$},
Author = {M E FOURNEY},
Booktitle = {Symposium on Applications of Holography in Mechanics, August 23-25, 1971, University of Southern California, Los Angeles, California},
Date = {1971},
Pages = {17-38},
Publisher = {ASME},
Location = {New York}
}
@Article{abx2007-500-503,
Title = {超声速短化喷管的设计和$\mathbb{R}$试验研究},
Author = {张敏莉 and 易仕和 and 赵玉新 and 李明},
Journal = {空气动力学报},
Year = {2007},
Number = {4},
Pages = {500-503},
Volume = {25},
language = {chinese}
}
@BOOK{张伯伟2002--,
AUTHOR = {张伯伟},
LOCATION = {南京},
PUBLISHER = {江苏古籍出版社},
DATE = {2002},
KEYWORDS = {张伯伟2002--},
PAGES = {288},
TITLE = {全唐五代诗格会考},
language = {chinese}
}
@PROCEEDINGS{雷光春2012--,
AUTHOR = {雷光春},
LOCATION = {北京},
PUBLISHER = {海洋出版社},
DATE = {2012},
KEYWORDS = {雷光春2012--},
TITLE = {综合湿地管理:综合湿地管理国际研讨会论文集},
language = {chinese}
}
@REPORT{汤万金2013-09-30--,
AUTHOR = {汤万金 and 杨跃翔 and 刘文 and others},
URL = {http://www.nstrs.org.cn},
DATE = {2013-09-30},
KEYWORDS = {汤万金2013-09-30--},
TITLE = {人体安全重要技术标准研制最终报告:7178999X},
URLDATE = {2014-06-24},
language = {chinese}
}
@INPROCEEDINGS{贾东琴2011-45-52,
AUTHOR = {贾东琴 and 柯平},
BOOKAUTHOR = {中国图书馆学会},
LOCATION = {北京},
PUBLISHER = {国家图书馆出版社},
BOOKTITLE = {中国图书馆学会年会论文集:2011年卷},
DATE = {2011},
KEYWORDS = {贾东琴2011-45-52},
PAGES = {45--52},
TITLE = {面向数字素养的高校图书馆数字服务体系研究},
language = {chinese}
}
@INCOLLECTION{韩吉人1985-90-99,
AUTHOR = {韩吉人},
BOOKAUTHOR = {中国职工教育研究会},
LOCATION = {北京},
PUBLISHER = {人民教育出版社},
BOOKTITLE = {职工教育研究论文集},
DATE = {1985},
KEYWORDS = {韩吉人1985-90-99},
PAGES = {90--99},
TITLE = {论职工教育的特点},
language = {chinese}
}
@THESIS{马欢2011-27-27,
AUTHOR = {马欢},
INSTITUTION = {清华大学},
LOCATION = {北京},
URL = {http://www.cnki.net},
DATE = {2011},
KEYWORDS = {马欢2011-27-27},
PAGES = {27},
TITLE = {人类活动影响下海河流域典型区水循环变化分析},
URLDATE = {2013-10-14},
language = {chinese}
}
@PATENT{张凯军2012-04-05--,
AUTHOR = {张凯军},
DATE = {2012-04-05},
KEYWORDS = {张凯军2012-04-05--},
NUMBER = {201220158825.2},
TITLE = {轨道火车及高速轨道火车紧急安全制动辅助装置},
language = {chinese}
}
@BOOK{国家环境保护局科技标准司1996-2-3,
AUTHOR = {国家环境保护局科技标准司},
LOCATION = {北京},
PUBLISHER = {中国标准出版社},
URL = {http://wenku.baidu.com},
DATE = {1996},
KEYWORDS = {国家环境保护局科技标准司1996-2-3,standard},
NOTE = {standard},
PAGES = {2--3},
TITLE = {土壤环境质量标准:GB 15616-1995},
URLDATE = {2013-10-14},
language = {chinese}
}
@INBOOK{白书农1998-146-163,
AUTHOR = {白书农},
BOOKAUTHOR = {李承森},
LOCATION = {北京},
PUBLISHER = {高等教育出版社},
BOOKTITLE = {植物科学进展},
DATE = {1998},
KEYWORDS = {白书农1998-146-163},
PAGES = {146--163},
TITLE = {植物开花研究},
language = {chinese}
}
@ARTICLE{杨洪升2013-56-75,
AUTHOR = {杨洪升},
DATE = {2013},
JOURNALTITLE = {文献},
KEYWORDS = {杨洪升2013-56-75},
NUMBER = {1},
PAGES = {56--75},
TITLE = {四库馆私家抄校书考略},
language = {chinese}
}
@COLLECTION{中国职工教育研究会1985--,
AUTHOR = {中国职工教育研究会},
LOCATION = {北京},
PUBLISHER = {人民教育出版社},
DATE = {1985},
KEYWORDS = {中国职工教育研究会1985--},
TITLE = {职工教育研究论文集},
language = {chinese}
}
@ARTICLE{丁文祥2000--,
AUTHOR = {丁文祥},
DATE = {2000-11-20},
JOURNALTITLE = {中国青年报},
KEYWORDS = {丁文祥2000--,news},
NOTE = {news},
NUMBER = {15},
TITLE = {数字革命与竞争国际化},
language = {chinese}
}
@ONLINE{李强2012-05-03--,
AUTHOR = {李强},
URL = {http://wenku.baidu.com},
DATE = {2012-05-03},
KEYWORDS = {李强2012-05-03--},
TITLE = {化解医患矛盾需釜底抽薪},
URLDATE = {2013-03-25},
language = {chinese}
}
@PERIODICAL{中华医学会湖北分会1984--,
EDITOR = {中华医学会湖北分会},
INSTITUTION = {中华医学会湖北分会},
LOCATION = {武汉},
DATE = {1984},
KEYWORDS = {中华医学会湖北分会1984--},
NUMBER = {1},
TITLE = {临床内科杂志},
VOLUME = {1},
language = {chinese}
}
\end{filecontents}
\addbibresource{\jobname.bib}
%
\begin{document}
\section{sec title}
文献\cite{calvo2006phoenix}
文献\cite{CALMS1965--}
文献\cite{abx2007-500-503,aritileeg,FOURNEY1971-17-38,calvo2006phoenix,CALMS1965--,adam2011house}
文献\cite{abx2007-500-503,aritileeg,FOURNEY1971-17-38,iacoviello2005house}
文献\cite{abx2007-500-503,aritileeg}
\printbibliography
\end{document}
```