模板使用BiBTeX管理参考文献。关于BiBTeX的用法请自行从其他途径学习。
v1.2.0版本后,模板只支持10种类型的参考文献,其中9种是本科生和研究生毕业排版规范中列举的类型,额外1种是完全自定义条目类型。v1.2.0版本后模板不再支持GB/T7714-2005。
目前(2015.04.08)本科生和研究生规范中定义了相同的参考文献格式,共有9种。本科生的规范中额外说应符合GB/T7714-2005,但实际的范例是与GB/T7714-2005非常矛盾的。因此模板改为依照那些范例定义参考文献格式,不再支持GB/T7714-2005。
编辑参考文献文件
contents目录下的reference.bib文件是参考文献内容。它是纯文本的文件,可以使用你编辑tex文件的编辑器进行修改。范例中的参考文献就是规范中举例的条目。核对你录入的参考文献条目是否完整十分重要,依据就是和范例中相同条目进行对比。范例条目中填写的项目一项都不能少。另外需要注意编辑bib文件要保持它的编码:UTF8 无BOM。
参考文献作者多于3人时,模板会自动改为将多出的人名改为“等”或“et al”。
参考文献列表的排序是按照引用顺序自动排序的,不需要关心它们在bib文件里的先后顺序。
参考文献类型
使用方法请参考模板范例的参考文献。
- 期刊文章:@article
- 会议论文:@conference
- 专(译)著:@book
- 学位论文:@thesis
- 报纸文章:@newspaper
- 报告:@techreport
- 专利:@patent
- 技术标准:@standard
- 电子文献:@digital
- 自定义输出:@onlynote
如果需要录入非参考文献标准格式的内容,例如获奖,可以使用onlynote
类型的参考文献。这个类型将直接输出note项目的内容。例如:@onlynote{onlynoteexample,
note = "XXX,XXX,XXX,XXX,王升.XXX的陶瓷研究.四川省科技进步三等奖,2003年12月",
}
注意事项
参考文献文件不能是空的
有的同学在写论文之前会先把reference.bib文件清空。这样会导致编译报错。请不要这样做。
中英文条目的区别
中文条目的参考文献具有一条language = {Chinese}
的项目。英文条目则不具有。该项目决定输出格式应用中文还是英文格式。
参考文献列表出现空条目,只有序号
可能是由于在文中引用了bib中不存在的条目造成的。
引用参考文献
引用命令
除了标准的\cite
引用命令外,模板还定义了\citeup
命令,用于实现上标引用。
未引用的参考文献
模板默认将bib文件中的所有条目都列在参考文献中,无论是否引用过。如果要改为只显示已引用过的文献,可修改cls文件。在cls文件中搜索:\nocite{*}
将这行代码注释掉,改为:%\nocite{*}
即可。
注意
\citeup
产生的上标理论上应该不能出现在一行的行首。但是有一个CJK宏包存在一个Bug带入到了模板中。目前没有自动更正的方法。该问题是如果\citeup
命令前面是标点符号,则不能保证\citeup
产生的括号不出现在行首。如果前面不是标点符号则没有这个问题,LaTeX会保证它不出现在行首。
所以,我们需要将标点符号和\citeup
命令放到一个左右盒子中,例如:《新华字典\mbox{》\citeup{xxx}}
此问题issue为:https://github.com/shifujun/UESTCthesis/issues/10。
攻读期间的研究成果
攻读期间的研究成果文件是contents目录下的publications.bib,其格式和编辑方法同参考文献完全一致。
研究成果中有和参考文献中一样的条目
如果研究成果中要列有和参考文献中一样的条目,请注意要将条目的标签更改。否则生成的编号将和参考文献中的编号一致。
自行修改参考文献格式
令文献标题原样输出
用notepad++编辑bst文件。查找FUNCTION {format.title}
,更改它下方的第3行。
即将{ title "t" change.case$}
改为{ title }
取消参考文献列表的悬挂缩进
用notepad++编辑bst文件。查找\addtolength{\labelwidth}
,这里有3行相关代码:
"\ifnum \value{NAT@ctr}=9 \addtolength{\labelwidth}{1em} \fi" write$
"\ifnum \value{NAT@ctr}=99 \addtolength{\labelwidth}{1em} \fi" write$
"\ifnum \value{NAT@ctr}=999 \addtolength{\labelwidth}{1em} \fi" write$
将这3行删除。在它们的位置新增一行:
"\setlength{\labelwidth}{-0.5em} " write$