-
Notifications
You must be signed in to change notification settings - Fork 84
/
biblatex-gb7714-2015.tex
3531 lines (2660 loc) · 231 KB
/
biblatex-gb7714-2015.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%!Mode:: "TeX:UTF-8"
%!TEX program = xelatex
%!BIB program = biber
\documentclass[11pt]{article} %用draft选项找到badbox的位置 twoside,
\input{biblatex-gb7714-2015-preamble} %宏包和一些格式设置
\usepackage{microtype}
\usepackage{datetime}
\renewcommand{\dateseparator}{-}
\yyyymmdddate
%\usepackage[russian,french,english]{babel}
%\DefineHyphenationExceptions{english}{conf-erence}
\begin{document}
\hyphenpenalty=100 %断词阈值,值越大越不容易出现断词
\tolerance=9000 %丑度,10000为最大无溢出盒子,参考the texbook 第6章
%------------------------------------------------------------
% 标题和目录
%------------------------------------------------------------
\pagestyle{plain}
\pagenumbering{Roman}
\titleformanual{符合GB/T 7714-2015标准的biblatex参考文献样式
\footnote{This Manual was first created at 2016-07-01 and revised at \today ~with biblatex v\versionofbiblatex;\\%
Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle.}
\footnote{repository address: \url{https://github.com/hushidong/biblatex-gb7714-2015}}}
\authorformanual{胡振震\setcounter{footnote}{0}\footnote{Email: [email protected]}}
\dateformanual{\today}
\titleandauthor
\begin{quotation}
biblatex-gb7714-2015 宏包是为满足《GB/T 7714-2015~~信息与文献~~参考文献著录规则》要求而开发的 biblatex 样式包。宏包主要提供两种编制样式: 一、顺序编码制(gb7714-2015);二、著者-出版年制(gb7714-2015ay),能够精确实现国标提出的著录和标注格式。另外提供: 两个老版国标样式(gb7714-2005/gb7714-2005ay、gb7714-1987/gb7714-1987ay); 两个特殊样式(一个文献表内中英文格式不同的gb7714-2015ms、 一个文档内顺序编码和作者年制混用的gb7714-2015mx); 三个典型文科期刊样式(经济学研究的chinese-erj、社会科学的chinese-css、管理世界的chinese-jmw); 以及几个明显有别于国标的特殊学位论文样式(西北农林的gb7714-NWAFU、华中师范的gb7714-CCNU、东南大学的gb7714-SEU)等。
具备灵活、易用、兼容性好等特点,能为国内\LaTeX{}用户提供一个可靠的参考文献生成工具。
%old:
%biblatex-gb7714-2015 样式宏包提供了符合《GB/T 7714-2015 信息与文献 参考文献
%著录规则》要求的 biblatex 参考文献样式。分为两种编制方式: 一、顺序编码制;二、著
%者-出版年制。配合 biblatex 宏包使用具有较高的兼容性、易用性和灵活性。宏包提供了
%详细的使用说明,为国内用户生成符合国标的参考文献表提供帮助。
\end{quotation}
\phantomsection
%\addcontentsline{toc}{section}{目录}
\tableofcontents
%\renewcommand{\numberline}[1]{#1~}
%\phantomsection
%\addcontentsline{toc}{section}{示例}
\listoffigures
\listoftables
\listofegcode
\newlength{\textparwd}
%------------------------------------------------------------
\newpage
\pagenumbering{arabic}
\pagestyle{fancy}
\section{概述}
《GB/T 7714-2015~~信息与文献~~参考文献著录规则》是国内科技文档参考文献著录的一般标准,国内多数大学、出版社、期刊编辑部对于学位论文、出版物、期刊论文的参考文献要求通常都基于该标准。对于\LaTeX{}用户来说,参考文献生成是典型的自动化应用。主要有两种方法:一是基于bibtex的传统方法,二是基于biblatex的新方法。生成符合GB/T 7714 标准要求的参考文献,这两条路都已经实践多年。
基于biblatex的方法,早期有李志奇(icetea)的gbtstyle实现以及Casper Ti. Vector的caspervector样式,然而由于biblatex宏包升级、样式包维护和完善等方面的问题,未能达到精确符合国标要求、且具备高可用性、兼容性和可维护性的理想状态。开发biblatex-gb7714-2015 样式包的初衷首先是基于当时这样的状态,其次也为解决很多实际应用中的问题,因此考虑如下原则:
\subsection{设计原则}
\begin{enumerate}
\item 兼容性
由于biblatex的持续升级,一些接口和功能的变化,会使得样式无法使用或者输出结果产生异变。因此biblatex-gb7714-2015宏包设计之初,就一直秉承兼容性原则,力图兼容各版本的biblatex,希望与biblatex v2.8 (in texlive2014) 以上所有版本适配(注意:使用ctex 2.9.4 套件的用户需升级 biblatex或更换使用最新版 texlive)。
出于兼容一些旧的bib文件的考虑,增加对传统参考文献条目类型比如www/electronic/conference/mastersthsis/phdthsis/techreport/standard等的支持。根据国标要求,考虑增加newspaper(报纸析出的文献)、database(数据库)、dataset(数据集)、 software(软件)、map(舆图)、archive(档案)等类型。也为兼容适用于不同样式的bib数据源,增加对一些自定义域的支持,比如gbt7714宏包的bst样式中mark和medium域。此外,也试图去完善样式在不同文档类包括beamer类中的使用问题。
\item 易用性
参考文献是\LaTeX{}自动化应用之一,尽可能让其自动完成,减少用户的人工干预,包括数据的准备、格式的调整等等。因此宏包试图减少用户对于bib文件的调整,只需要简单地输入文献本身的信息,或者从各类学术网站或利用zotero等工具下载参考文献数据即可,而不需要为了符合国标格式而去手动增添参考文献类型和载体标识等一些数据域,也不必为了文献语言分集、文献排序等去增加语言、排序关键字等数据域,所有这些工作都由宏包自动处理。
为了符合国标要求以及中文参考文献标注习惯,提供丰富的标注(引用)命令,用户只需熟悉几个命令的特性即能够完成两种编制样式下多样的标注格式,包括:顺序编码制的 \verb|\cite|(上标可设置页码)、 \verb|\parencite|(非上标可设置页码)、 \verb|\pagescite|(上标加自动页码)、 \verb|\textcite|(提供作者为主语加非上标编号)、 \verb|\authornumcite|(提供作者为主语加上标编号)、\verb|\fullcite|(类似文献表的标注)、 \verb|\footfullcite|(脚注文献表);著者-年份制的\verb|\cite|(作者加年份用括号包围可设置页码)、 \verb|\pagescite|(作者加年份用括号包围自动页码)、
\verb|\yearcite|(提供年份用括号包围)、 \verb|\yearpagescite|(提供年份用括号包围自动页码)、
\verb|\textcite|(提供主语作者加括号包围年份)、 \verb|\footfullcite|(脚注注释)。
也提供与natbib宏包常用命令同名的命令 \verb|\citet| 和 \verb|\citep|,
和一些惯常使用的命令,如\verb|\citetns|、\verb|\citepns|、
\verb|\upcite|、\verb|\inlinecite|等,让用户可以无缝衔接从bibtex转到biblatex。
另外,增加并完善对多语言混合文献表、多语言对照文献表的支持。不同语言文献可按文献自身语言录入,宏包自动识别语言并通过autolang选项自动完成语言切换,针对多语言对照文献表提供了基于条目集和关联条目概念的两种实现方式。
\item 灵活性
除严格实现符合GB/T 7714-2015标准的格式外,也希望能针对不同用户的特殊需求,提供方便的定制方式,比如通过选项来达到格式的调整。为此,增加了多个方面的设置选项,使用户可以根据自身需求灵活设置。主要包括:
著录表排序选项:
sorting选项值(gb7714-2015支持以语言著者-出版年标题升序排列,gbnytd支持以语言著者-出版年标题降序排列,gbynta支持以语言年份作者标题升序排列,gbyntd支持以语言年份作者标题降序排列)、gblanorder 选项(可以设置不同的文种(语言)文献的排列顺序)、sortlocale 选项(可以设置本地语言的排序调整方案,比如:zh\_\_pinyin 以拼音排序中文,zh\_\_stroke 以笔画排序,auto/zh 以unicode编码排序,zh\_\_gb2312han 以gb2312编码排序)。使用拼音排序时遇到多音字也可以利用添加key域或使用修改后的locale文件(即 pinyin.pm)解决。
著录项格式选项:
姓名格式调整(gbnamefmt选项,可以设置大写、小写、西语习惯用法、拼音习惯用法等)、
出版项控制(gbpub选项,可设置出版项缺失时是否填补信息)、
类型和载体标识控制(gbtype选项,可设置不输出)、
析出文献标识符控制(gbpunctin选项,可设置\texttt{//}不输出或其它表示形式)、
标题超链接控制(gbtitlelink选项,可设置文献表中各条目标题超链接)、
标准标签超链接控制(gblabelref选项,可设置标注中作者标签的超链接)、
标注标签格式控制(gbcitelabel选项,可设置标签包围符号)、
作者项处理(gbnoauthor选项,可设置作者缺失时是否填补信息);
著录表格式选项和命令:
标签对齐控制(gbalign选项,可设置左、右、居中、项对齐方式)、
标签格式控制(gbbiblabel选项,可设置标签数字不同的包围符号)、
条目格式控制(gbstyle选项,利用gb7714-2015ms样式可实现中英文献分设不同格式)、
编制样式设置命令(利用\verb|\setaystylesection|和gb7714-2015mx样式实现不同文献节不同的编制方式)、
文献标题控制(gbctexset选项,可设置标题内容由\verb|\bibname|或\verb|\refname|宏调整)、
命令\verb|\bibauthorfont|可设置作者项字体等格式、
命令\verb|\bibtitlefont|可设置标题项字体等格式、
命令\verb|\bibpubfont|可设置出版项字体等格式、
尺寸\verb|\bibitemindent|和\verb|\bibhang|可设置文献表的缩进等格式;
编码设置选项:
GBK编码兼容(gbcodegbk选项,可设置GBK编码文档编译)等等。
配合biblatex提供的选项、\verb|\bibfont|命令、\verb|\bibitemsep|间距等可以实现丰富的格式调整,包括标注和文献表采用不同样式、url/doi/isbn输出控制、标注和文献表中作者数量控制、文献表按拼音或笔画排序等等。
\item 可维护性
宏包的长期使用价值体现在宏包的维护和更新上,追求宏包具有高的可读性、可理解性、可维护性,可为宏包长期发挥作用提供帮助。由于biblatex已经是一个相当成熟完善的宏包,即使在样式方面考虑也相当全面,这可能与西方出版界对于参考文献的多样且细致的要求有关。而国内只有一个通用标准就是GB/T 7714标准,且除了部分特殊需求要额外实现外,标准中的大多数格式要求可借助biblatex提供的标准样式实现,因此完全不需要重新造轮子,而只需在biblatex原有样式基础上增加有限修改并加上详细注释来达成目标。如此,既可使gb7714-2015样式与biblatex宏包的标准样式保持一致的结构、风格和习惯,还可以大大增加代码的可读性和可维护性,读者只需通过学习biblatex,即可轻松理解gb7714-2015样式的代码。
%做的工作,比如做了哪些修改,为什么这么修改,实现了什么样的效果。维护者
另外,为方便用户,样式包提供了全面、详实的说明,包括
GB/T 7714标准的理解和解释(\ref{sec:gbt:std}节)、
条目类型和域的理解和录入方法(\ref{sec:bib:bibtex}节)、
参考文献引用和文献表打印及其格式控制方法(\ref{sec:cbx:usage},\ref{sec:usage:bbx}节)、
\hypertarget{lab:manual:hyper}{以及}
\href{https://github.com/hushidong/biblatex-gb7714-2015/wiki}{biblatex和样式包基本使用方法}、
\href{https://github.com/plk/biblatex}{biblatex手册}、
\href{https://github.com/hushidong/biblatex-zh-cn}{biblatex手册中文版}、
\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}{LaTeX 文档中文参考文献的biblatex解决方案}等手册,可为用户快速入门和深入理解提供有效帮助。
\end{enumerate}
%具体来讲,完成了4个方面的工作:
%\begin{enumerate}
% \item 完成了GB/T 7714-2015标准的完整实现,包括两种编制方式下的各类型参考文献著录格式和标注格式等基本内容,还包括: 双语文献格式,带页码的标注格式,著者年份制下仅有年的标注格式和文献按语言集中并自动排序,起止卷期自动解析,增加gbnoauthor选项控制著者年份制责任者缺省的处理,增加gbpub选项控制出版信息缺省时的处理,增加gbalign选项控制顺序编码制文献表的标签对齐方式,提供右对齐、左对齐和项对齐三种方式。
% \item 实现了用户文献数据录入优化,用户在录入参考文献数据时,只需要录入文献的实际信息即可,不需要录入文献标识符和载体标识符,无需录入language或者其它域信息来区分中英文参考文献,实现中英文自动判断并处理。支持一些特殊或老的条目类型,比如standard,newspaper,www,mastersthesis,phdthesis等。
% \item 实现了对biblatex不同版本的兼容,能够应用于biblatex3.2以前的老版本,也能用于3.3版姓名处理方式改变后的版本。即可以与texlive2014/2015/2016/2017配合使用,无需升级biblatex情况下直接使用biblatex-gb7714-2015宏包(即本样式)。
% \bc{当然 ctex2.9.4 的用户可能要升级一下biblatex,因为ctex多年没有更新,其中的biblatex版本过低}。
% \item 测试了样式文件在book/report/article文档类以及beamer类下的适用性,结果表明均能满足要求。文档详细介绍了样式文件的使用方法和注意事项,说明了各条目类型的著录格式及其在biblatex 中对应信息域的构成,以及域信息的录入方法,并严格按照GB/T 7714-2015 标准测试了各种类型的文献。
%\end{enumerate}
\subsection{宏包结构}
宏包文件结构如图\ref{fig:pkg:structure}所示。
\zd{gb7714-2015.bbx/cbx}、\zd{gb7714-2015ay.bbx/cbx}分别为国标参考文献样式2015版本的顺序编码制和著者年份制样式文件。
对应的\zd{gb7714-1987/ay.bbx/cbx}、\zd{gb7714-2005/ay.bbx/cbx}则是1987和2005版本的国标样式。
\zd{gb7714-2015ms.bbx/cbx}是混合样式,支持区分中英文语言文献分设不同的著录格式。
\zd{gb7714-2015mx.bbx/cbx}是混合样式,支持在不同的参考文献分节中使用不同的编制样式,比如有的节使用顺序编码制,有的节使用著者年份制。
\zd{gb7715-2015-gbk.def}为GBK编码文档编译所需的支撑文件。
\zd{chinese-erj.bbx/cbx}、\zd{chinese-css.bbx/cbx}、\zd{chinese-jmw.bbx/cbx} 是经济学研究、社会科学、管理世界期刊的文献样式。%后三者仅支持较新的biblatex版本。
\zd{biblatex-gb7714-2015.tex} 为宏包说明文档,\zd{example}目录下为各种选项的测试用例,
\zd{egfigure}目录下为说明文档中的图例文档,\zd{egthesis}为国内一些大学学位论文文献样式的测试用例,包括完全按照国标的BUPT、CAU、ECNU、FDU、SJTU、THU、USTC、XJTU、ZJU,与国标略有差异的UCAS,以及与国标有较大差异的NWAFU、SEU等。\zd{*.bat}、\zd{*.sh}分别为windows和linux下说明文档的编译脚本。\zd{*.pl}为gb7714格式著录文献表到bib文件的perl转换脚本,\zd{*.dat}为转换测试文献表。
\begin{figure}[!htb]
%\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
%width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,%
%leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\centering\footnotesize
\begin{tikzpicture}[node distance=1.5cm]
%\definecolor{bluea}{rgb}{0.05,0.62,0.94}
\ttfamily
\node[align=center,fill=gbyellow!15,text width=4cm,inner sep=8pt] (project) {\textcolor{black}{Biblatex-gb7714-2015}};
\node[align=center,below of=project,draw=red,thick,text width=3.5cm] (manual) {\textcolor{black}{Manual of Package}};
\node[align=center,left of=manual,xshift=-3cm,draw=blue,thick,text width=3.5cm] (style) {\textcolor{black}{Style Files}};
\node[align=center,right of=manual,xshift=3cm,draw=orange,thick,text width=3.5cm] (script) {\textcolor{black}{Compiling Scripts}};
\draw[color=cyan,thick] (project.south) -- (manual.north) ;
\draw[color=cyan,thick] (style.north) -- ($(style.north)+(0mm,3mm)$) ;
\draw[color=cyan,thick] (script.north) -- ($(script.north)+(0mm,3mm)$) ;
\draw[color=cyan,thick] ($(style.north)+(0mm,3mm)$) -- ($(script.north)+(0mm,3mm)$);
\node[below of=style,fill=gbgrey!20,yshift=0.5cm,xshift=2mm,text width=2.5cm] (numcbbx) {\tiny \textcolor{black}{gb7715-2015/ay.c/bbx}};
\node[below of=numcbbx,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (aycbbx) {\tiny \textcolor{black}{gb7715-1987/ay.c/bbx}};
\node[below of=aycbbx,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (mscbbx) {\tiny \textcolor{black}{gb7715-2015ms.c/bbx}};
\node[below of=mscbbx,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (mxcbbx) {\tiny \textcolor{black}{gb7715-2015mx.c/bbx}};
\node[below of=mxcbbx,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (gbkdef) {\tiny \textcolor{black}{gb7715-2005/ay.c/bbx}};
\node[below of=gbkdef,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (erjcbbx) {\tiny \textcolor{black}{chinese-erj.c/bbx}};
\node[below of=erjcbbx,fill=gbgrey!20,yshift=8mm,text width=2.5cm] (csscbbx) {\tiny \textcolor{black}{chinese-css.c/bbx等}};
%\node[below of=msbbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (mscbx) {\tiny \textcolor{black}{gb7715-2015ms.cbx}};
\draw[color=blue,semithick] (numcbbx.west) -- ($(numcbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (aycbbx.west) -- ($(aycbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (mscbbx.west) -- ($(mscbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (mxcbbx.west) -- ($(mxcbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (gbkdef.west) -- ($(gbkdef.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (erjcbbx.west) -- ($(erjcbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (csscbbx.west) -- ($(csscbbx.west)+(-3mm,0mm)$) ;
%\draw[color=blue,semithick] (mscbx.west) -- ($(mscbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] ($(csscbbx.west)+(-3mm,0mm)$) -- ($(style.center)+(-14.5mm,-2.5mm)$);
\node[below of=manual,fill=gbsteelblue!15,yshift=0.5cm,xshift=2mm,text width=2.8cm] (mtex) {\tiny \textcolor{black}{biblatex-gb7714-2015.tex}};
\node[below of=mtex,fill=gbsteelblue!15,yshift=8mm,text width=2.8cm] (mpdf) {\tiny \textcolor{black}{biblatex-gb7714-2015.pdf}};
\node[below of=mpdf,fill=gbsteelblue!15,yshift=8mm,text width=2.8cm] (egtex) {\tiny \textcolor{black}{example}};
\node[below of=egtex,fill=gbsteelblue!15,yshift=8mm,text width=2.8cm] (egbib) {\tiny \textcolor{black}{egfigure}};
\node[below of=egbib,fill=gbsteelblue!15,yshift=8mm,text width=2.8cm] (egthesis) {\tiny \textcolor{black}{egthesis}};
\draw[color=red,semithick] (mtex.west) -- ($(mtex.west)+(-3mm,0mm)$) ;
\draw[color=red,semithick] (mpdf.west) -- ($(mpdf.west)+(-3mm,0mm)$) ;
\draw[color=red,semithick] (egtex.west) -- ($(egtex.west)+(-3mm,0mm)$) ;
\draw[color=red,semithick] (egbib.west) -- ($(egbib.west)+(-3mm,0mm)$) ;
\draw[color=red,semithick] (egthesis.west) -- ($(egthesis.west)+(-3mm,0mm)$) ;
\draw[color=red,semithick] ($(egthesis.west)+(-3mm,0mm)$) -- ($(manual.center)+(-16mm,-2.5mm)$) ;
\node[below of=script,fill=gbblue!10,yshift=0.5cm,xshift=2mm,text width=2cm] (cpall) {\tiny \textcolor{black}{makeall.bat/sh}};
\node[below of=cpall,fill=gbblue!10,yshift=8mm,text width=2cm] (cpfil) {\tiny \textcolor{black}{makefile.bat/sh}};
\node[below of=cpfil,fill=gbblue!10,yshift=8mm,text width=2cm] (cpcln) {\tiny \textcolor{black}{makeclear.bat/sh}};
\node[below of=cpcln,fill=gbblue!10,yshift=8mm,text width=2cm] (plspt) {\tiny \textcolor{black}{gb7714text*.pl/dat}};
\draw[color=orange,semithick] (cpall.west) -- ($(cpall.west)+(-3mm,0mm)$) ;
\draw[color=orange,semithick] (cpfil.west) -- ($(cpfil.west)+(-3mm,0mm)$) ;
\draw[color=orange,semithick] (cpcln.west) -- ($(cpcln.west)+(-3mm,0mm)$) ;
\draw[color=orange,semithick] (plspt.west) -- ($(plspt.west)+(-3mm,0mm)$) ;
\draw[color=orange,semithick] ($(plspt.west)+(-3mm,0mm)$) -- ($(plspt.west)+(-3mm,28.1mm)$) ;
\end{tikzpicture}
%\end{tcolorbox}
\caption{宏包文件结构}\label{fig:pkg:structure}
\end{figure}
\section{使用说明}
\subsection{最小示例}
基于biblatex宏包生成参考文献非常简单,一个最小工作示例 (Minimum Work Example, MWE) 如例 \ref{code:doc:structrue}所示,其编译结果如图\ref{fig:eg:ref}所示。该Tex源文档给出了使用biblatex时的基本结构及其详细注释,其中:
\begin{itemize}
\item 参考文献样式(即cbx/bbx文件)随biblatex宏包加载(比如:style=gb7714-2015,加载了gb7714-2015.cbx和gb7714-2015.bbx);
\item 参考文献数据库文件(即bib文件)利用 \verb|\addbibresource| 加载 (比如:
\lstinline[breaklines=true]!\addbibresource[location=local]{example.bib}!,
注意:bib文件需另外准备,详见\ref{sec:bib:bibtex}节);
\item 引用文献则使用\verb|\cite|等命令,即使用这些命令在正文中适当位置引用参考文献的唯一标识(即entrykey),比如\verb|\cite{entrykey}|;
\item 打印文献表则使用 \verb|\printbibliography| 命令,该命令可放在正文任意位置(即文献表可在任意位置输出)。
\end{itemize}
\begin{example}{biblatex参考文献生成的最小工作示例}{code:doc:structrue}
\begin{texlist}
\documentclass{article}%文档类 %导言区开始:
\usepackage{ctex}%加载ctex宏包,中文支持
%加载geometry宏包,定义版面
\usepackage[left=20mm,right=20mm,top=25mm, bottom=15mm]{geometry}
%加载hyperref宏包,使用超链接
\usepackage[colorlinks=true,pdfstartview=FitH,linkcolor=blue,anchorcolor=violet,citecolor=magenta]{hyperref}
%参考文献工具,加载biblatex宏包,,其后端backend使用biber,%标注(引用)样式citestyle,著录样式bibstyle都采用gb7714-2015样式,两者相同时可以合并为一个选项style
\usepackage[backend=biber,style=gb7714-2015]{biblatex}
%biblatex宏包的参考文献数据源即bib文件加载方式
\addbibresource[location=local]{example.bib}
\begin{document}%正文区开始:
%正文内容,引用参考文献
详见文献\cite{Peebles2001-100-100}\parencite{Babu2014a}
另见文献\cite[49]{于潇2012-1518-1523}\parencite[106]{Babu2014a}
%打印参考文献表
\printbibliography[heading=bibliography,title=参考文献]
\end{document}
\end{texlist}
\end{example}
%\begin{refsection}
\begin{figure}[!h]
\centering
%\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
%width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,%
%leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\includegraphics*[page=1,viewport=0cm 0.4cm 14cm 6.1cm,clip=true]{egfigure/egmwe.pdf}
%\deflength{\textparwd}{\linewidth-1.5cm}
%\begin{minipage}{\textparwd}
%\fbox{\parbox{\textparwd}{%\raggedright
%详见文献\cite{Peebles2001-100-100}\parencite{Babu2014a}
%另见文献\cite[49]{于潇2012-1518-1523}\parencite[106]{Babu2014a}
%\renewcommand{\bibfont}{\zihao{-5}}
%{
%\hyphenation{conference}
%\hyphenpenalty=100 %断词阈值,值越大越不容易出现断词
%\tolerance=100 %丑度,10000为最大无溢出盒子,参考the texbook 第6章
%\printbibliography[heading=subbibliography,title=参考文献]
%\par}
%}}
%\end{minipage}
%\end{tcolorbox}
\caption{最小工作示例编译生成的PDF文档}\label{fig:eg:ref}
\end{figure}
%\end{refsection}
正所谓万变不离其宗,无论文档大小如何,结构如何变化,基于biblatex 生成参考文献的方式
大体如例\ref{code:doc:structrue}一般。使用其它功能如分章参考文献表等时,所需的修改也极为有限。要全面了解更多高级功能可参考前述\hyperlink{lab:manual:hyper}{手册}。
%\footnote{地址:\url{https://github.com/plk/biblatex}}、
%\footnote{地址:\url{https://github.com/hushidong/biblatex-zh-cn}}
%\footnote{地址:%
%\url{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}}。
\subsection{编译方式}
与基于bibtex传统方法的四步编译不同,基于biblatex生成参考文献一般只需三步编译:第一遍xelatex,第二遍biber,第三遍xelatex。如若需要反向超链接,除设置backref 选项外,则还需第四遍 xelatex 编译。例\ref{eg:compile:cmd} 给出编译命令,其中\verb|--synctex=-1| 选项也可以是-synctex=1。另外四步命令可以用一条 latexmk 命令代替。
关于非utf-8编码文档和使用pdflatex命令编译的细节另见第\ref{sec:pkg:hints}节。
\begin{example}{文档编译命令}{eg:compile:cmd}
\begin{texlist}
%四步编译命令
xelatex --synctex=-1 jobname.tex
biber jobname
xelatex --synctex=-1 jobname.tex
xelatex --synctex=-1 jobname.tex
%或采用latexmk,则仅需一条命令
latexmk -xelatex jobname.tex
\end{texlist}
\end{example}
\subsection{样式、选项和命令}
\subsubsection{几种样式}
本样式包提供了两种基本样式:gb7714-2015样式实现顺序编码制国标(例\ref{eg:gb7714numeric}),gb7714-2015ay样式实现著者年份制国标(例\ref{eg:gb7714authoryear}),和其他一些样式以实现不同的应用目的和格式要求
(例\ref{eg:gb7714ms},\ref{eg:gb7714mx},\ref{eg:gb87and2005}等),
以及一个将顺序编码制国标文本转换为bib文件的工具(例\ref{eg:transtobib})。
\pdfbookmark[4]{gb7714-2015}{stygb7714-2015}
\begin{example}{顺序编码制(gb7714-2015)加载方式}{eg:gb7714numeric}
\begin{texlist}
%简单方式:
\usepackage[backend=biber,style=gb7714-2015]{biblatex}
%设置gbalign选项以改变文献表序号标签对齐方式,设置gbpub=false取消缺省出版项自填补信息,比如:
\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015,gbpub=false]{biblatex}
%当文档为GBK编码且用pdflatex/latex编译时,应设置选项gbcodegbk=true:
\usepackage[backend=biber,style=gb7714-2015,gbcodegbk=true]{biblatex}
\end{texlist}
\end{example}
\pdfbookmark[4]{gb7714-2015ay}{stygb7714-2015ay}
\begin{example}{著者-出版年制(gb7714-2015ay)加载方式}{eg:gb7714authoryear}
\begin{texlist}
%简单方式:
\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}
%设置gbnoauthor=true以使用佚名或Anon填补缺失的author信息:
\usepackage[backend=biber,style=gb7714-2015ay,gbnoauthor=true]{biblatex}
\end{texlist}
\end{example}
\pdfbookmark[4]{gb7714-2015ms}{stygb7714-2015ms}
\begin{example}{同一文献表中不同语言区分著录格式的样式(gb7714-2015ms)}{eg:gb7714ms}
\begin{texlist}
%默认方式,所有文献使用一种著录格式,即GB/T 7714-2015样式
\usepackage[backend=biber,style=gb7714-2015ms]{biblatex}
%设置gbstyle=false,则中文文献使用GB/T 7714-2015著录格式,而其它语言文献使用biblatex标准样式
\usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex}
\end{texlist}
\end{example}
格式效果如图\ref{fig:eg:ms}所示。
\pdfbookmark[4]{gb7714-2015mx}{stygb7714-2015mx}
\begin{example}{同一文档中不同文献分节区分不同著录格式的样式(gb7714-2015mx)}{eg:gb7714mx}
\begin{texlist}
%默认方式使用顺序编码制样式
\usepackage[backend=biber,style=gb7714-2015mx]{biblatex}
%如需在某一参考文件分节使用著者年份制样式,比如第2个refsection中使用时,则在导言区设置:
\setaystylesection{2}
\end{texlist}
\end{example}
格式效果如图\ref{fig:eg:mx}所示。
\begin{example}{顺序编码参考文献文本转换为bib文件perl脚本使用方式}{eg:transtobib}
\begin{texlist}
perl gb7714texttobib.pl in=textfilename out=bibfilename
\end{texlist}
\end{example}
其中,v1.0m版本增加的gb7714-2015ms样式文件,主要是为了在一个文献表中针对不同语言使用不同的样式,即中文文献使用GB/T 7714-2015规定的著录格式,而其它语言文献使用biblatex提供的标准样式。
v1.0r版本增加的gb7714-2015mx样式,主要是为了在一个文档中针对不同参考文献分节使用不同的样式,比如某些节使用著者年份制,某些节使用顺序编码制。
v1.0z版本增加的gb7714-1987和gb7714-2005两个版本的顺序编码和著者年份制样式,用于仍在使用
1987和2005版国标的情况,尽管两者已经过时。
%尽管这些方式不常用,但偶尔也有需求,所以都做了实现。
\pdfbookmark[4]{gb7714-1987}{gb7714-1987}
\pdfbookmark[4]{gb7714-1987ay}{gb7714-1987ay}
\pdfbookmark[4]{gb7714-2005}{gb7714-2005}
\pdfbookmark[4]{gb7714-2005ay}{gb7714-2005ay}
\begin{example}{1987和2005版的国标样式}{eg:gb87and2005}
\begin{texlist}
%国标1987顺序编码制
\usepackage[backend=biber,style=gb7714-1987]{biblatex}
%国标1987著者年份制
\usepackage[backend=biber,style=gb7714-1987ay]{biblatex}
%国标2005顺序编码制
\usepackage[backend=biber,style=gb7714-2005]{biblatex}
%国标2005著者年份制
\usepackage[backend=biber,style=gb7714-2005ay]{biblatex}
\end{texlist}
\end{example}
另外,根据国内大学的学位论文的文献生成需求,增加了几个与国标有明显区别的样式,包括:西北农林(gb7714-NWAFU)、华中师范(gb7714-CCNU)、东南大学(gb7714-SEU)等。其他大学的文献样式与国标基本一致,比如上海交大、浙大、复旦等,直接使用即可。另外一些大学与国标略有差别,可以通过简单的设置满足要求,比如清华、科学院大学、中科大、国防科大等,通常在学位论文模板中实现。而在egthesis文件夹内则对一些大学的学位论文参考文献做了测试。
\pdfbookmark[4]{gb7714-NWAFU/CCNU/SEU}{gb7714-NWAFU/CCNU/SEU}
\begin{example}{国内一些大学要求的特殊文献样式}{eg:gbchnuniversity}
\begin{texlist}
%使用西北农林的文献样式
\usepackage[backend=biber,style=gb7714-NWAFU]{biblatex}
%使用华中师范的文献样式
\usepackage[backend=biber,style=gb7714-CCNU]{biblatex}
%使用东南大学的文献样式
\usepackage[backend=biber,style=gb7714-SEU]{biblatex}
\end{texlist}
\end{example}
此外,根据期刊文献生成需求,为文科类期刊增加了如下样式:
v1.0r版本增加了chinese-erj样式用于生成经济研究期刊的文献;
v1.1l版本增加了chinese-css样式用于生成社会科学期刊的脚注注释文献;
v1.1m版本增加了chinese-jmw样式用于生成管理世界期刊的文献。
而理工类期刊文献通常与国标差别不大,部分期刊与国标的最大的差异主要是双语对照文献的格式,比如计算机学报等,这可以通过简单的设置实现格式调整(可以参考github上的
\href{https://github.com/hushidong/biblatex-gb7714-2015/issues/154}{issue154})。
\pdfbookmark[4]{chinese-erj/css/jmw}{chinese-erj/css/jmw}
\begin{example}{经济研究等文科类期刊文献样式}{eg:gbchinesesocial}
\begin{texlist}
%使用经济研究期刊文献样式
\usepackage[backend=biber,style=chinese-erj]{biblatex}
%使用社会科学期刊文献样式
\usepackage[backend=biber,style=chinese-css,gbfootbib=true,gbfnperpage=true]{biblatex}
%使用社会科学期刊文献样式
\usepackage[backend=biber,style=chinese-jmw]{biblatex}
\end{texlist}
\end{example}
\subsubsection{新增选项}\label{sec:added:opt}
样式包新增了一些选项。
%由于选项更为常用,所以在本节集中介绍。
%而新增命令往往涉及更细节的修改,所以在后面各类格式调整的内容中介绍。
新增选项用于处理标签对齐、缺省出版项、缺省责任者(作者)处理等,其使用方式与biblatex宏包选项完全相同。关于文献表排序,除了下面gblanorder和sorting选项外,也还需了解一些其它知识,详见第\ref{sec:sort:adj}节。
\begin{description}
\pdfbookmark[4]{gbalign}{gbalign}
\item[gbalign]=\textbf{right},left,center,centpos,gb7714-2015,\textbf{gb7714-2015ay}. \hfill default: right for numeric style and gb7714-2015ay for author-year style
为控制文献表数字序号标签增加的选项,用于选择是否生成序号标签及其对齐方式。
\begin{itemize}
\item gbalign=right,是list环境中的右对齐数字序号标签,是gb7714-2015样式的默认选项;
\item gbalign=left,是list环境中的左对齐数字序号标签;
\item gbalign=center,是list环境中的等宽数字序号标签,数字在[]内居中;
\item gbalign=centpos,是list环境中的局中数字序号标签,带括号标签[1]在标签盒子内居中;
\item gbalign=gb7714-2015,是项对齐方式数字序号标签,即段落环境中标签使用原始宽度,标签与条目内容等间距。
\item gbalign=gb7714-2015ay,无数字序号标签,是author-year风格的文献表,是gb7714-2015ay样式的默认选项。
\end{itemize}
该选项对\textbf{著者年份制、顺序编码制均有效},也就是说当使用著者年份制时,加上gbalign选项后同样可以实现文献表的顺序序号标签(比如:
\lstinline[breaklines=true]!\usepackage[style=gb7714-2015ay, gbalign=left]{biblatex}!,可以实现\emph{著者年份制格式的带左对齐的顺序序号标签的文献表})。 序号标签对齐方式的测试,包括:
数字在标签内居中见:
\href{run:./example/opt-gbalign-center.tex}{opt-gbalign-center.tex},
标签左对齐见:
\href{run:./example/opt-gbalign-left.tex}{opt-gbalign-left.tex},
项对齐(标签与内容等间距)见:
\href{run:./example/opt-gbalign-gb.tex}{opt-gbalign-gb.tex}。
效果示例如图\ref{fig:eg:optgbalign}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbalign=right 即右对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-right.pdf}}}
\subfigure[\heiti gbalign=left 即左对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-left.pdf}}}\\
\subfigure[\heiti gbalign=center 即中对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-center.pdf}}}
\subfigure[\heiti gbalign=gb7714-2015 即项对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-gb.pdf}}}
\end{tcolorbox}
\caption{文献表标签对齐选项gbalign效果}\label{fig:eg:optgbalign}
\end{figure}
\pdfbookmark[4]{gbpub}{gbpub}
\item[gbpub]=true,\textbf{false}. \hfill default is false
为控制出版信息缺失处理增加的选项。
\begin{itemize}
\item gbpub=true,自动利用:[出版地不详]、[出版者不详]、[S.l.]、[s.n.]等填补缺省信息;
\item gbpub=false 则取消自动处理,使用标准样式的方式取消相应项的输出。
\end{itemize}
顺序编码制测试(著者年份制类似)见:
\href{run:./example/opt-gbpub-true.tex}{opt-gbpub-true.tex},
\href{run:./example/opt-gbpub-false.tex}{opt-gbpub-false.tex}。
效果示例如图\ref{fig:eg:optgbpub}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbpub=false 出版项缺省]{\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0cm 9cm 4.5cm,clip=true]{egphoto/opt-gbpub-false.pdf}}}
\subfigure[\heiti gbpub=true 出版项补充]{\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0cm 10cm 4.5cm,clip=true]{egphoto/opt-gbpub-true.pdf}}}
\end{tcolorbox}
\caption{文献表出版项缺失处理选项gbpub效果}\label{fig:eg:optgbpub}
\end{figure}
\pdfbookmark[4]{gbnoauthor}{gbnoauthor}
\item[gbnoauthor]=true,\textbf{false}. \hfill default is false
为著者年份制增加的选项,用于控制责任者缺失时的处理。
\begin{itemize}
\item gbnoauthor=false,当作者信息缺失时默认不做处理,使用标准样式的处理方式;
\item gbnoauthor=true,则根据GB/T 7714-2015 的要求进行处理,中文文献使用“佚名”来代替author,英文文献用“Anon”来代替author。
\end{itemize}
测试结果见:
\href{run:./example/opt-gbnoauthor-true.tex}{opt-gbnoauthor-true.tex},
\href{run:./example/opt-gbnoauthor-false.tex}{opt-gbnoauthor-false.tex}。
效果示例如图\ref{fig:eg:optgbnoauthor}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbnoauthor=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.4cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbnoauthor-true.pdf}}}
\subfigure[\heiti gbnoauthor=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.4cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbnoauthor-false.pdf}}}
\end{tcolorbox}
\caption{文献表作者缺失处理选项gbnoauthor效果}\label{fig:eg:optgbnoauthor}
\end{figure}
\pdfbookmark[4]{gbnosameeditor}{gbnosameeditor}
\item[gbnosameeditor]=true,\textbf{false}. \hfill default is false
用于控制inbook,incollection等类型中bookauthor/editor与author相同时是否输出bookauthor/editor。
\begin{itemize}
\item gbnosameeditor=false,默认方式,正常输出;
\item gbnosameeditor=true,不输出。
\end{itemize}
\pdfbookmark[4]{gbnoothers}{gbnoothers}
\item[gbnoothers]=true,\textbf{false}. \hfill default is false
为控制是否输出作者列表截断后的等/et al. 信息增加的选项。
\begin{itemize}
\item gbnoothers=false,默认输出等、et al.信息;
\item gbnoothers=true,不输出。
\end{itemize}
该选项是全局选项,设置为true后,全文的作者列表都将不输出。若需要再局部调整,则利用编组局部设置\verb|\settoggle{bbx:gbnoothers}{true}|即可。
\pdfbookmark[4]{gbbiblabel}{gbbiblabel}
\item[gbbiblabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket
为顺序编码制增加的选项,用于选择参考文献表序号数字的格式。
\begin{itemize}
\item gbbiblabel=bracket,序号数字由方括号包围,比如[1];
\item gbbiblabel=parens,序号数字由圆括号包围,比如(1);
\item gbcitelabel=bracketqj,标注标签由全角方括号包围,比如【1】;
\item gbcitelabel=parensqj,标注标签由全角圆括号包围,比如(1);
\item gbcitelabel=quanjiao,标注标签由全角方括号包围,比如【1】;
\item gbbiblabel=dot,序号数字数字后面加点,比如1.;
\item gbbiblabel=plain,序号数字无装饰,比如1;
\item gbbiblabel=box,序号数字由方框包围,比如\framebox{1};
\item gbbiblabel=circle,序号数字由圆圈包围,比如\textcircled{1}。
\end{itemize}
效果示例如图\ref{fig:eg:optgbbiblabel}所示。若上述效果并不满足需求,还可以自定义,比如:
\begin{texlist}
\usepackage{circledtext}
\renewcommand{\mkgbnumlabel}[1]{\circledtext*[height=2.0ex]{#1}}
\end{texlist}
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbbiblabel=box] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabela.pdf}}}
\subfigure[\heiti gbbiblabel=bracket] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelb.pdf}}}\\
\subfigure[\heiti gbbiblabel=parens] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelc.pdf}}}
\subfigure[\heiti gbbiblabel=dot] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabeld.pdf}}}\\
\subfigure[\heiti gbbiblabel=plain] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabele.pdf}}}
\subfigure[\heiti gbbiblabel=circle] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelf.pdf}}}\\
\end{tcolorbox}
\caption{文献表标签数字格式选项gbbiblabel效果}\label{fig:eg:optgbbiblabel}
\end{figure}
\pdfbookmark[4]{gbcitelabel}{gbcitelabel}
\item[gbcitelabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket
为标注标签的包围符号增加的选项,用于选择正文中标注标签符号。
\begin{itemize}
\item gbcitelabel=bracket,标注标签由方括号包围,比如[1];
\item gbcitelabel=parens,标注标签由圆括号包围,比如(1);
\item gbcitelabel=dot,标注标签数字后面加点,比如1.;
\item gbcitelabel=plain,标注标签无装饰,比如1;
\item gbcitelabel=box,标注标签由方框包围,比如\framebox{1};
\item gbcitelabel=circle,标注标签由圆圈包围,比如\textcircled{1}。
\item gbcitelabel=bracketqj,标签由全角方括号包围,比如【作者, 2001】
\item gbcitelabel=parensqj,标签由全角圆括号包围,比如(作者, 2001)
\item gbcitelabel=quanjiao,标签由全角圆括号包围且内部标点为全角标点,比如(作者,2001)
\end{itemize}
注意顺序编码制和作者年制存在一定的差异,作者年制主要是方括号、圆括号以及全角半角的选择。
顺序编码制默认是方括号,作者年制默认是圆括号。
\pdfbookmark[4]{gbnamefmt}{gbnamefmt}
\item[gbnamefmt]=\textbf{uppercase},lowercase,pinyin etc. \hfill default is uppercase
为姓名大小写格式控制增加的选项。
\begin{itemize}
\item gbnamefmt=uppercase,使大小写符合GB/T 7714-2015 的要求;
\item gbnamefmt=lowercase,大小写由输入信息确定不做改变;
\item gbnamefmt=givenahead,姓名的格式与biblatex标准样式的given-family格式一致,即名在前姓在后,类似于ieee的样式;
\item gbnamefmt=familyahead时,姓名的格式与biblatex 标准样式的family-given格式一致,即姓在前名在后,类似于APA 的样式;
\item gbnamefmt=pinyin 时,姓名的格式采用一种常见的中文拼音方式,比如对于 Zhao, Yu Xin 或 Yu Xin Zhao 这个姓名拼音格式化为ZHAO Yu-xin。
\item gbnamefmt=quanpin 时,姓名的格式采用另一种常见的中文拼音方式,比如对于 Zhao, Yu Xin 或 Yu Xin Zhao 这个姓名拼音格式化为Zhao Yuxin。
\item gbnamefmt=reverseorder 时,姓名的格式与biblatex 标准样式的family-given/ given-family格式一致,常用于经济学类的文献。
\item gbnamefmt=fullname 时,姓名的格式采用英文默认的名在前姓在后的全拼模式。
比如对于 Zhao, Yu Xin 或 Yu Xin Zhao 格式化后为YuXin Zhao
\end{itemize}
\bc{注意:还可以利用 nameformat 域为某一具体条目设置该条目的姓名格式,比如:要在一个文献表中实现英文文献是givenahead 格式,而拼音的文献是pinyin风格,那么可以设置拼音文献的 nameformat 域为pinyin,而gbnamefmt设置为givenahead。条目中nameformat 域的局部设置优先于gbnamefmt的全局设置。}\par
\emph{注意:使用pinyin选项时,bib文件中文献的作者应给出完整的名而不是缩写,否则出来的效果未必令人满意}。
另外,pinyin格式中名之间的短横线可以用如下设置取消。
\verb|\apptocmd{\gbpinyinlocalset}{\renewrobustcmd*{\bibnamedelima}{}}{}{}|
而quanpin格式的名中间的短横线可以用相反的设置加上。
\verb|\apptocmd{\gbquanpinlocalset}{\renewrobustcmd*{\bibnamedelima}{\mbox{-}}}{}{}|
而fullname格式的名中间也可以加上空格:
\verb|\apptocmd{\gbfullnamelocalset}{\renewrobustcmd*{\bibnamedelima}{\space}}{}{}|
测试结果见:
\href{run:./example/opt-gbnamefmt.tex}{opt-gbnamefmt.tex},
\href{run:./example/opt-gbnamefmt-default.tex}{opt-gbnamefmt-default.tex}。
效果示例如图\ref{fig:eg:optgbnamefmt}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbnamefmt=uppercase] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-a.pdf}}}
\subfigure[\heiti gbnamefmt=lowercase] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-b.pdf}}}\\
\subfigure[\heiti gbnamefmt=givenahead] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-c.pdf}}}
\subfigure[\heiti gbnamefmt=familyahead] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-d.pdf}}}\\
\subfigure[\heiti gbnamefmt=pinyin] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-e.pdf}}}
\subfigure[\heiti gbnamefmt=reverseorder] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-f.pdf}}}\\
\end{tcolorbox}
\caption{文献表姓名格式选项gbnamefmt效果}\label{fig:eg:optgbnamefmt}
\end{figure}
\pdfbookmark[4]{gbtype}{gbtype}
\item[gbtype]=\textbf{true},false. \hfill default is true
为控制是否输出题名后面的文献类型和载体标识符而增加的选项。
\begin{itemize}
\item gbtype=true,根据GB/T 7714-2015 要求输出标识符,例如“在线的期刊析出文献题名[J/OL]”。
\item gbtype=false,则不输出标识符,例如“在线的期刊析出文献题名”。
\end{itemize}
效果示例如图\ref{fig:eg:optgbtype}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbtype=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbtype-true.pdf}}}
\subfigure[\heiti gbtype=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbtype-false.pdf}}}
\end{tcolorbox}
\caption{文献类型标识符输出控制选项}\label{fig:eg:optgbtype}
\end{figure}
\pdfbookmark[4]{gbmedium}{gbmedium}
\item[gbmedium]=\textbf{true},false. \hfill default is true
为控制是否输出题名后面的文献载体标识符而增加的选项。
\begin{itemize}
\item gbmedium=true,根据GB/T 7714-2015 要求输出载体标识符,例如“在线的期刊析出文献题名[J/OL]”。
\item gbmedium=false,则不输出标识符,例如“在线的期刊析出文献题名[J]”。
\end{itemize}
注意:gbtype选项是更大范围的控制,包括了gbmedium。当gbtype=false时,无所谓gbmedium设置什么,因为整个文献类型和载体标识符整个都不显示,而gbmedium只是设置载体标识的。
效果示例如图\ref{fig:eg:optgbmedium}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbmedium=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbmedium-true.pdf}}}
\subfigure[\heiti gbmedium=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbmedium-false.pdf}}}
\end{tcolorbox}
\caption{文献载体标识符输出控制选项}\label{fig:eg:optgbmedium}
\end{figure}
\pdfbookmark[4]{gbfieldtype}{gbfieldtype}
\item[gbfieldtype]=true,\textbf{false}. \hfill default is false
为控制是否输出type域而增加的选项。
\begin{itemize}
\item gbfieldtype=true,输出type域,例如学位论文的phdthesis或博士学位论文。输出该域时做中英文区分。
\item gbfieldtype=false,不输出type域。
要设置博士或硕士学位论文的输出,有两种途径: 一是设置本地化字符串: \\
\lstinline!\DefineBibliographyStrings{english}{mathesis={str you want ma thesis}}!, \\
\lstinline!\DefineBibliographyStrings{english}{mathesiscn={硕士学位论文}}!, \\
\lstinline!\DefineBibliographyStrings{english}{phdthesis={str you want for phd thesis}}!, \\
\lstinline!\DefineBibliographyStrings{english}{phdthesiscn={博士学位论文}}!, \\
之所以用加cn的本地化字符串是为了适应某些样式对中英文文献的区别设置。
二是设置type域,比如在bib文件直接设置需要输出的字符,比如type=\{[博士学位论文]\}。
\end{itemize}
效果示例如图\ref{fig:eg:optgbfieldtype}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbfieldtype=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=8cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-gbfieldtype-true.pdf}}}
\subfigure[\heiti gbfieldtype=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=8cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-gbfieldtype-false.pdf}}}
\end{tcolorbox}
\caption{文献表类型(type)域输出控制选项}\label{fig:eg:optgbfieldtype}
\end{figure}
\pdfbookmark[4]{gbpunctin}{gbpunctin}
\item[gbpunctin]=\textbf{true},false. \hfill default is true
为控制inbook,incollection,inproceedings中析出来源文献前的\texttt{//}符号而增加的选项。
\begin{itemize}
\item gbpunctin=true,根据GB/T 7714-2015 要求输出\texttt{//}。
\item gbpunctin=false,则输出默认的本地字符串,
在英语中是\texttt{in:},若要完全去掉该符号则可以在导言区增加命令
\lstinline!\DefineBibliographyStrings{english}{in={}}!,\lstinline!\DefineBibliographyStrings{english}{incn={}}!。
之所以用加cn的本地化字符串是为了适应某些样式对中英文文献的区别设置。
\end{itemize}
效果示例如图\ref{fig:eg:optgbpunctin}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbpunctin=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbpunctin-true.pdf}}}
\subfigure[\heiti gbpunctin=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbpunctin-false.pdf}}}
\end{tcolorbox}
\caption{析出文献标识符号控制选项}\label{fig:eg:optgbpunctin}
\end{figure}
\pdfbookmark[4]{gbpunctcn}{gbpunctcn}
\item[gbpunctcn]=\textbf{true},false. \hfill default is true
为chinese-erj、chinese-css样式控制文献表中的标点增加的选项。
\begin{itemize}
\item gbpunctcn=true,chinese-erj使用格式要求的中文标点(即全角标点),chinese-css注释中的中文文献使用中文标点。
\item gbpunctcn=false,则将所有的文献中的标点改为英文标点(即半角标点)。
\end{itemize}
需要注意的是:若只想修改英文文献的全部标点为半角标点,而中文文献的标点不变,可在导言区采用如下方式修改英文文献的标点:
\lstinline[breaklines=true]!\def\gbpunctcommalanen{\addcomma\addspace}!,
\lstinline[breaklines=true]!\def\gbpunctcolonlanen{\addcolon\addspace}!。
\pdfbookmark[4]{gbtitlelink}{gbtitlelink}
\item[gbtitlelink]=true,\textbf{false}. \hfill default is false
为设置标题的超链接增加的选项。
\begin{itemize}
\item gbtitlelink=false,即默认不给标题设置超链接。
\item gbtitlelink=true,当文献存在url 域时为文献标题设置超链接。
\end{itemize}
测试文件见:
\href{run:example/opt-gbtitlelink.tex}{opt-gbtitlelink.tex}。
效果示例如图\ref{fig:eg:optgbtitlelink}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbtitlelink=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbtitlelink-true.pdf}}}
\subfigure[\heiti gbtitlelink=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbtitlelink-false.pdf}}}
\end{tcolorbox}
\caption{文献标题超链接控制选项}\label{fig:eg:optgbtitlelink}
\end{figure}
\pdfbookmark[4]{gblabelref}{gblabelref}
\item[gblabelref]=\textbf{true},false. \hfill default is true
为作者年制设置标注中的作者标签的超链接增加的选项。
\begin{itemize}
\item gblabelref=true,即默认给作者标签加上超链接。
\item gblabelref=false,不给作者标签加上超链接。
\end{itemize}
测试文件见:
\href{run:egphoto/opt-gblabelref-true.tex}{opt-gblabelref-true.tex}。
\pdfbookmark[4]{gblocal}{gblocal}
\item[gblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015
\item[gbcitelocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015
\item[gbbiblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015
为设置引用标注标签和文献表中的本地化字符串而增加的选项。其中gbcitelocal 用于控制标注中的本地化字符串,而gbbiblocal用于控制文献表中的本地化字符串,gblocal选项等价于同时设置gbcitelocal 和 gbbiblocal。
配合\lstinline[breaklines=true]!\DefineBibliographyStrings!命令对本地化字符串进行设置可以实现一些特殊的效果。图\ref{fig:content:fmtc}就是该选项的一个使用示例。
\begin{itemize}
\item gblocal=gb7714-2015,即默认区分中英文,不同语言采用不同的字符串比如中文使用“等”“和”,而英文使用“et al.”“and”。
\item gblocal=chinese,强制设置所有的本地化字符串使用中文。
\item gblocal=english,强制设置所有的本地化字符串使用英文。
\end{itemize}
标注和文献表中如:等、和等字符,本质上是由andincite等本地化字符串所控制的,直接修改它们可以得到不同的效果,比如:
\begin{texlist}
\DefineBibliographyStrings{english}{
andincite = {和}, %判断为英文的文献使用的字符串
andincitecn = {和}, %判断为中文的文献使用的字符串
andothersincitecn = {等},
andothersincite = {等{\adddot}},%adddot才能避开标点追踪
}
\end{texlist}
测试文件见:
\href{run:egfigure/egcontentfmtc.tex}{egcontentfmtc.tex}。
效果示例如图\ref{fig:eg:optgblocal}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\centering
\subfigure[\heiti gblocal=gb7714-2015] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-gb.pdf}}}\hfill
\subfigure[\heiti gblocal=chinese] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-chinese.pdf}}}\\
\subfigure[\heiti gblocal=english] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-english.pdf}}}
\end{tcolorbox}
\caption{常用本地化字符串的中英文控制选项}\label{fig:eg:optgblocal}
\end{figure}
\pdfbookmark[4]{mergedate}{mergedate}
\item[mergedate]=true,false,none.
为著者年份制是否在文献表中作者后面输出日期信息而增加了选项值none。
\begin{itemize}
\item mergedate=true,著者年份制文献表仅在作者后输出日期
\item mergedate=false,著者年份制文献表在作者后和出版项中输出日期
\item mergedate=none,著者年份制文献表仅在出版项中输出日期。该选项用于满足中科院大学的著者年份制格式要求。
\item no mergedate,即不给出该选项,这是gb7714-2015ay默认的情况,仅在作者后输出日期且已经根据国标格式化。
\end{itemize}
效果示例如图\ref{fig:eg:optmergedate}所示。注意:对于在线资源当没有date等信息而只有urldate信息时,著者年份制要求使用urldate的年份作为标签,且要求加上方括号,默认就按这一要求处理。但若希望去掉方括号,则可以通过在导言区增加如下定义:
\lstinline[breaklines=true]!\DeclareFieldFormat{labelurlyear}{#1}!。
反过来,其它不使用urldate的标签默认不带方括号,若希望加上方括号或者其它符号,则可以通过增加如下定义实现:
\lstinline[breaklines=true]!\DeclareFieldFormat{labelyear}{【#1】}!。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti mergedate 不给出] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-a.pdf}}}\\
\subfigure[\heiti mergedate=true] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-b.pdf}}}\\
\subfigure[\heiti mergedate=false] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-c.pdf}}}\\
\subfigure[\heiti mergedate=none] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-d.pdf}}}\\
\end{tcolorbox}
\caption{作者年制文献表年份格式控制选项}\label{fig:eg:optmergedate}
\end{figure}
\pdfbookmark[4]{gblanorder}{gblanorder}
\item[gblanorder]=\textbf{chineseahead},englishahead,userdefinedstr like:cn;en;ru;fr;jp;kr . \hfill default is chineseahead
为著者年份制文献不同文种分集排序而增加的选项。
\begin{itemize}
\item gblanorder=chineseahead,即默认做中文文献在前英文文献在后的排序,各语言顺序为: cn;jp;kr;en;fr;ru。
\item gblanorder=englishahead,做英文在前中文文献在后的排序,各语言顺序为: en;fr;ru;cn;jp;kr。
\item gblanorder=自定义字符串,比如cn;en;ru;fr;jp;kr。这是一个用分号分隔的语言缩写名构成的字符串,缩写名的前后顺序代表文献表中文种分集的顺序。
\end{itemize}
测试文档见:\href{run:./example/opt-gblanorder.tex}{opt-gblanorder.tex}。
效果示例如图\ref{fig:eg:optgblanorder}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\centering
\subfigure[\heiti gblanorder=chineseahead] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-chineseahead.pdf}}}\hfill
\subfigure[\heiti gblanorder=englishahead] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-englishahead.pdf}}}\\
\subfigure[\heiti gblanorder=cn;en;ru;fr;jp;kr] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-udf.pdf}}}
\end{tcolorbox}
\caption{多语言文献表语言排序控制选项}\label{fig:eg:optgblanorder}
\end{figure}
\pdfbookmark[4]{citexref}{citexref}
\item[citexref]=\textbf{true},false. \hfill default is true
为顺序编码制样式控制是否使用传统的crossref功能而增加的选项。
\begin{itemize}
\item citexref=true,默认启用传统的crossref功能,即一个析出文献中给出crossref或xref 域来指定其析出来源文献,则在著录表中该析出文献的源用其来源文献在著录表中的序号如[1]等来代替。
\item citexref=false,则使用biblatex的默认方式,当存在crossref域时自动将来源文献的信息引入到当前析出文献中,而使用xref域时,则不引入来源文献的信息。
\end{itemize}
测试文档见:\href{run:./egphoto/opt-citexref-true.tex}{opt-citexref-true.tex}、
\href{run:./egphoto/opt-citexref-false.tex}{opt-citexref-false.tex}。
效果示例如图\ref{fig:eg:optcitexref}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti citexref=true] {\parbox{7.5cm}{\includegraphics*[page=1,viewport=0.2cm 0.2cm 7.5cm 8cm,clip=true]{egphoto/opt-citexref-true.pdf}}}
\subfigure[\heiti citexref=false] {\parbox{7.5cm}{\includegraphics*[page=1,viewport=0.5cm 0.2cm 8cm 8cm,clip=true]{egphoto/opt-citexref-false.pdf}}}
\end{tcolorbox}
\caption{控制传统crossref功能的citexref选项}\label{fig:eg:optcitexref}
\end{figure}
\pdfbookmark[4]{gbannote}{gbannote}
\item[gbannote]=true,\textbf{false}. \hfill default is false
为控制是否在文献条目后面输出由annotation或annote域提供的注释信息而增加的选项。
\begin{itemize}
\item gbannote=false,即默认不输出。
\item gbannote=true,输出注释信息。
\end{itemize}
\emph{需要注意的是:bib文件中的annote域会自动转换为annotation域若需要进行判断则需要用annotation域。}比如:
\verb|\renewcommand*{\finentrypunct}{\iffieldundef{annotation}{\addperiod}{}}|
测试文档见:\href{run:./example/opt-gbannote.tex}{opt-gbannote.tex}。
效果示例如图\ref{fig:eg:optgbannote}所示。
\begin{figure}[!htb]
\centering
\begin{tcolorbox}[left skip=0pt,right skip=0pt,%
width=\linewidth,colframe=white,colback=white,arc=0pt,%gblabelcolor
leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\subfigure[\heiti gbannote=true] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 16cm 2.8cm,clip=true]{egphoto/opt-gbannote-true.pdf}}}\\
\subfigure[\heiti gbannote=false] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 16cm 2.8cm,clip=true]{egphoto/opt-gbannote-false.pdf}}}
\end{tcolorbox}
\caption{文献的附加注释输出控制选项}\label{fig:eg:optgbannote}
\end{figure}
\pdfbookmark[4]{gbctexset}{gbctexset}
\item[gbctexset]=\textbf{true},false. \hfill default is true
为控制参考文献标题内容的设置方式增加的选项。
\begin{itemize}
\item gbctexset=true,参考文献标题内容可以通过重定义 bibname 或 refname 宏设置。比如利用ctex宏包进行设置:
\lstinline[breaklines]!\ctexset{bibname={title you want}}!
\item gbctexset=false,参考文献标题内容可以通过重定义本地字符串设置,比如:
\lstinline[breaklines=true]!\DefineBibliographyStrings{english}{bibliography={title you want}}!
\lstinline[breaklines=true]!\DefineBibliographyStrings{english}{references={title you want}}!。
\end{itemize}
当然除此之外,利用 printbibliography 命令的 title 选项进行设置依然是最有效方式,比如:
\lstinline[breaklines=true]!\printbibliography[title=title you want]!。
\pdfbookmark[4]{gbcodegbk}{gbcodegbk}
\item[gbcodegbk]=true,\textbf{false}. \hfill default is false
为兼容GBK编码的文档增加的选项。
\begin{itemize}
\item gbcodegbk=false,即默认是utf-8编码的文档。
\item gbcodegbk=true,为利用pdflatex/latex编译GBK编码文档时使用。
\end{itemize}
当在源文档前面增加 XeTeX 原语:\lstinline!\XeTeXinputencoding "GBK"! 后,GBK编码的文档也可以使用xelatex编译,这时应设置为false或不给出该选项。测试文件见:
\href{run:example/codeopt-gbcodegbk.tex}{codeopt-gbcodegbk.tex}。
\pdfbookmark[4]{gbstyle}{gbstyle}
\item[gbstyle]=\textbf{true},false. \hfill default is true