forked from hushidong/biblatex-gb7714-2015
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbiblatex-gb7714-2015.tex
1911 lines (1427 loc) · 132 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
\documentclass[11pt]{article} %用draft选项找到badbox的位置 twoside,
\input{biblatex-gb7714-2015-preamble} %宏包和一些格式设置
\begin{document}
%------------------------------------------------------------
% 标题和目录
%------------------------------------------------------------
\pagestyle{plain}
\pagenumbering{Roman}
\titleformanual{符合GB/T 7714-2015标准的biblatex参考文献样式
\footnote{This Manual was created with biblatex v\versionofbiblatex, last revised at \today;\\%
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{2016-07-01}
\titleandauthor
\begin{quotation}
biblatex-gb7714-2015 宏包是为满足《GB/T 7714-2015~~信息与文献~~参考文献著录规则》要求而开发的biblatex样式包。宏包提供的样式文件分两种编制方式: 一、顺序编码制(gb7714-2015);二、著者-出版年制(gb7714-2015ay),能够精确地实现符合国标著录和标注格式要求的参考文献。该样式包具备易用、兼容、灵活等显著特点,且提供了详细的使用说明,为国内\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)。出于兼容一些老的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|\footfullcite|(脚注方式);
著者-年份制的\verb|\cite|(作者加年份用括号包围可设置页码)、 \verb|\pagescite|(作者加年份用括号包围自动页码)、
\verb|\yearcite|(提供年份用括号包围)、 \verb|\yearpagescite|(提供年份用括号包围自动页码)、
\verb|\textcite|(提供主语作者加括号包围年份)、 \verb|\footfullcite|(脚注方式)。习惯natbib的用户也可以启用biblatex提供的nanbib选项,来使用 \verb|\citet| 和 \verb|\citep| 命令。另外,增加并完善对多语言混合文献表、多语言对照文献表的支持,不同语言文献按文献本身语言录入,自动识别语言通过autolang选项自动完成不同语言的切换,利用条目集和关联条目概念为多语言对照文献表提供两种实现方式。
\item 灵活性
在考虑实现严格符合GB/T 7714-2015标准的格式外,也希望能够针对用户的特殊格式需求,提供方便灵活的定制方式,比如通过设置选项来达到格式的变化。为此,增加了多个方面的设置选项,使用户可以根据自己的需求灵活地调整。主要包括:
著录项格式选项:
姓名格式调整(gbnamefmt选项,可以设置大写、小写、西语习惯用法、拼音习惯用法)、
出版项控制(gbpub选项,可设置出版项缺失时是否填补信息)、类型和载体标识控制(gbtype选项,可设置不输出)、
析出文献标识符控制(gbpunctin选项,可设置\texttt{//}不输出)、
标题超链接控制(gbtitlelink选项,可设置标题超链接)
作者项处理(gbnoauthor选项,可设置作者缺失时是否填补信息);
著录表格式选项和命令:
标签对齐控制(gbalign选项,可设置左、右、居中、项对齐方式)、
标签格式控制(gbbiblabel选项,可设置标签数字不同的包围符号)、
条目格式控制(gbstyle选项,利用gb7714-2015ms样式可实现中英文献分设不同格式)、
\verb|\bibauthorfont|命令可设置作者项字体、
\verb|\bibtitlefont|命令可设置标题项字体、
\verb|\bibpubfont|命令可设置出版项字体;
编码设置选项:
GBK编码兼容(gbcodegbk选项,可设置GBK编码文档编译)等等。
配合biblatex提供的选项、\verb|bibfont|命令、\verb|\bibitemsep|间距等可以实现丰富的格式,
包括标注和文献表采用不同样式、url/DOI/ISBN输出控制、标注和文献表中作者数量控制、文献表拼音或笔画排序等等。
\item 可维护性
宏包的长期使用价值体现在宏包的维护和更新上面,追求宏包具有高的可读性、可理解性、可维护性,可为宏包长期发挥作用提供帮助。由于biblatex已经是一个相当成熟完善的宏包,即便是在样式方面考虑也相当全面,这可能与西方出版界对于参考文献的多样的细化的要求有关。而国内只有一个通用标准就是GB/T 7714标准,因此除了该标准一些特殊的需求需要具体实现外,样式包实现完全可以借用biblatex提供的标准样式,如此我们既不需要重新造轮子,又可使gb7714-2015样式与biblatex宏包样式保持一致的结构、风格、习惯,增加了可读性和可维护性。通过保持biblatex原有样式基础加上有限修改的方式,并且对代码加上详细的注释,可以使得样式包维护者,只要通过学习biblatex,即可轻松理解gb7714-2015样式做了哪些修改,为什么这么修改,实现了什么样的效果。另外,为方便用户,样式包提供了全面、详实的说明,包括
GB/T 7714标准的理解和解释(\ref{sec:gbt:std}节)、
条目类型和域的理解和录入方法(\ref{sec:bib:bibtex}节)、
\href{https://github.com/hushidong/biblatex-gb7714-2015/wiki}{biblatex和样式包基本使用方法}、
\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography/blob/master/biblatex-solution-to-latex-bibliography.pdf}%
{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}所示:
\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
\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=2cm] (numbbx) {\tiny \textcolor{black}{gb7715-2015.bbx}};
\node[below of=numbbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (numcbx) {\tiny \textcolor{black}{gb7715-2015.cbx}};
\node[below of=numcbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (aybbx) {\tiny \textcolor{black}{gb7715-2015ay.bbx}};
\node[below of=aybbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (aycbx) {\tiny \textcolor{black}{gb7715-2015ay.cbx}};
\node[below of=aycbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (gbkdef) {\tiny \textcolor{black}{gb7715-2015-gbk.def}};
\node[below of=gbkdef,fill=gbgrey!20,yshift=8mm,text width=2cm] (msbbx) {\tiny \textcolor{black}{gb7715-2015ms.bbx}};
\node[below of=msbbx,fill=gbgrey!20,yshift=8mm,text width=2cm] (mscbx) {\tiny \textcolor{black}{gb7715-2015ms.cbx}};
\draw[color=blue,semithick] (numbbx.west) -- ($(numbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (numcbx.west) -- ($(numcbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (aybbx.west) -- ($(aybbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (aycbx.west) -- ($(aycbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (gbkdef.west) -- ($(gbkdef.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (msbbx.west) -- ($(msbbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] (mscbx.west) -- ($(mscbx.west)+(-3mm,0mm)$) ;
\draw[color=blue,semithick] ($(mscbx.west)+(-3mm,0mm)$) -- ($(aycbx.west)+(-3mm,28.1mm)$) ;
\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/eg*.tex}};
\node[below of=egtex,fill=gbsteelblue!15,yshift=8mm,text width=2.8cm] (egbib) {\tiny \textcolor{black}{example/*.bib}};
\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] ($(egbib.west)+(-3mm,0mm)$) -- ($(egbib.west)+(-3mm,28.1mm)$) ;
\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}
其中,\zd{gb7714-2015.bbx/cbx}、\zd{gb7714-2015ay.bbx/cbx}分别为顺序编码制和作者年制样式文件,\zd{gb7715-2015-gbk.def}为GBK编码文档编译所需的支撑文件,\zd{gb7714-2015ms.bbx/cbx}是顺序编码制样式,但支持中英文语言分设不同标准的著录格式,该样式仅支持较新的biblatex版本。
\zd{biblatex-gb7714-2015.tex},\zd{eg*.tex}为说明文档和测试用例。\zd{*.bat}、\zd{*.sh}分别为windows和linux下说明文档的编译脚本。\zd{*.pl}为gb7714格式著录文献表到bib文件的perl转换脚本,\zd{*.dat}为转换测试文献表。
\subsection{最小示例}
基于biblatex宏包的参考文献生成方法非常简单,例\ref{code:doc:structrue}是一个最小工作示例。示例代码中给出了详细注释,介绍了使用biblatex 的tex源文档基本结构,其中gb7714-2015 样式随biblatex宏包加载,参考文献数据文件example.bib(需另外准备)利用 \verb|\addbibresource|加载,文献表利用 \verb|\printbibliography| 命令输出(可在正文任意位置)。所有基于 biblatex 生成参考文献的文档无论大小万变不离其宗。
关于参考文献数据库文件(*.bib)的准备和说明详见\ref{sec:bib:bibtex}节)。
需要更全面了解biblatex,及参考文献生成的更高级内容可以参考:
\href{https://github.com/plk/biblatex}{biblatex宏包手册}
\footnote{地址:\url{https://github.com/plk/biblatex}}、
\href{https://github.com/hushidong/biblatex-zh-cn}{中文版}
\footnote{地址:\url{https://github.com/hushidong/biblatex-zh-cn}}
或者
\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}{LaTeX 文档中文参考文献的biblatex解决方案}
\footnote{地址:%
\url{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}}。
\begin{example}{biblatex参考文献生成最小工作示例}{code:doc:structrue}
\begin{texlist}
\documentclass{article}%文档类
%导言区开始:
%加载ctex宏包,中文支持
\usepackage{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宏包的参考文献数据源加载方式
\addbibresource[location=local]{example.bib}
%正文区开始:
\begin{document}
%正文内容,引用参考文献
详见文献\cite{Peebles2001-100-100}\parencite{Babu2014--}
参考文献\cite[见][49页]{于潇2012-1518-1523}\parencite[见][49页]{Babu2014--}
%打印参考文献表
\printbibliography[heading=bibliography,title=参考文献]
\end{document}
\end{texlist}
\end{example}
\subsection{编译方式}
不同于基于bibtex传统方法的四步编译,基于biblatex生成参考文献的文档编译一般只需三步,第一遍xelatex,第二遍biber,第三遍xelatex,但如需反向超链接,除设置backref 选项外,还需第四遍 xelatex 编译。例\ref{eg:compile:cmd} 给出编译命令,其中--synctex=-1 选项也可以是-synctex=1。而且这四步命令可以用一条命令latexmk -xelatex jobname.tex 代替。前述的最小工作示例的编译结果如图\ref{fig:eg:ref}所示。关于文档采用非utf-8编码和使用pdflatex命令编译的
细节另见第\ref{sec:pkg:hints}节。
\begin{example}{使用biblatex宏包的文档编译命令}{eg:compile:cmd}
\begin{texlist}
xelatex --synctex=-1 jobname.tex
biber jobname
xelatex --synctex=-1 jobname.tex
xelatex --synctex=-1 jobname.tex
\end{texlist}
\end{example}
\begin{refsection}
\begin{figure}[!htb]
\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]
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{%\raggedright
详见文献\cite{Peebles2001-100-100}\parencite{Babu2014--}
参考文献\cite[见][49页]{于潇2012-1518-1523}\parencite[见][49页]{Babu2014--}
\renewcommand{\bibfont}{\zihao{-5}}
\printbibliography[heading=subbibliography,title=参考文献]
}
\end{tcolorbox}
\caption{最小工作示例的结果}\label{fig:eg:ref}
\end{figure}
\end{refsection}
\section{使用说明}
\subsection{样式及选项加载方式}
例\ref{code:doc:structrue}中给出了宏包和样式的基本加载方式,选项的加载也类似。比如:
\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}
\begin{example}{著者-出版年制(gb7714-2015ay)加载方式}{eg:gb7714authoryear}
\begin{texlist}
%简单方式:
\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}
%设置gbpub=false取消缺省出版项自动填补信息,设置gbnoauthor=true以使用佚名或NOAUTHOR填补缺失的author信息:
\usepackage[backend=biber,style=gb7714-2015ay,gbpub=false,gbnoauthor=true]{biblatex}
%当文档为GBK编码且用pdflatex/latex编译时,应设置选项gbcodegbk=true:
\usepackage[backend=biber,style=gb7714-2015ay,gbcodegbk=true]{biblatex}
\end{texlist}
\end{example}
\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}
\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提供的标准样式。这种方式尽管不很常用,但偶尔也有需求。
\subsection{文献引用及其标注格式}\label{sec:cbx:usage}
要生成参考文献,第一步就是在正文中引用参考文献。引用参考文献在正文中所形成标注的格式称为参考文献标注样式,也称引用样式或引用标签样式,分为两类: 顺序编码制和著者年份(作者年)制。引用文献的基本命令\verb|\cite|,但为了一篇文档中实现不同的标签效果,通常还需要使用其它命令,
比如\verb|\parencite|, \verb|\textcite|, \verb|\pagescite|,\verb|\footfullcite|等。习惯natbib的用户也可以在加载natbib选项后,
可使用\verb|\citet|, \verb|\citep|命令。
%顺序编码制的标注样式文件大体使用标准引用样式numeric-comp的内容
\paragraph{\heiti 顺序编码制的标注样式}
\verb|\cite| 命令为上标模式,\verb|\parencite|保留非上标模式。为满足GB/T 7714-2015第10.1.3节的要求,增加了 \verb|\pagescite| 命令。为使用户免于输入文献作者来作为句子主语,完善了\verb|\textcite|命令格式,
并增加了\verb|\authornumcite|命令以同时输出作者和顺序编码。
%各命令使用方式如例\ref{eg:citefornumeric}所示。
%各引用命令的效果如图\ref{fig:cite:num}所示。
各引用命令的使用方式如表\ref{tab:cite:num}所示。
测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
\begin{refsection}
\begin{table}[!htb]
\centering
\caption{顺序编码制常用命令示例}\label{tab:cite:num}
\small
\begin{tabular}{l@{\quad$\Rightarrow$\quad}ll}
\hline
命令 & 标注标签 & 说明 \\ \hline
\verb|\cite{Peebles2001-100-100}| & \cite{Peebles2001-100-100} & 不带页码上标 \\
\verb|\upcite{Peebles2001-100-100}| & \upcite{Peebles2001-100-100} & 不带页码上标 \\
\verb|\supercite{Peebles2001-100-100}| & \supercite{Peebles2001-100-100} & 不带页码上标 \\
\verb|\parencite{Miroslav2004--}| & \parencite{Miroslav2004--} & 不带页码非上标 \\
\verb|\cite[49]{蔡敏2006--}| & \cite[49]{蔡敏2006--} & 带页码上标 \\
\verb|\pagescite{Peebles2001-100-100}| & \pagescite{Peebles2001-100-100} & 自动页码上标 \\
\verb|\pagescite[150]{Peebles2001-100-100}| & \pagescite[150]{Peebles2001-100-100} & 带页码的上标 \\
\verb|\parencite[49]{Miroslav2004--}| & \parencite[49]{Miroslav2004--} & 带页码非上标 \\
\verb|\textcite{Miroslav2004--}| & \textcite{Miroslav2004--} & 提供主语非上标标签 \\
\verb|\authornumcite{Miroslav2004--}| & \authornumcite{Miroslav2004--} & 提供主语上标标签 \\
\verb|\citeauthor{蔡敏2006--}\cite{蔡敏2006--}| & \citeauthor{蔡敏2006--}\cite{蔡敏2006--} & 提供主语上标标签 \\
\verb|\footfullcite{赵学功2001--}| & \footfullcite{赵学功2001--} & 脚注方式文献条目 \\
引用单篇文献: & 文献\cite{Peebles2001-100-100} & 国标示例 \\
同一处引用多篇文献: & 文献\cite{Peebles2001-100-100,Miroslav2004--} & 国标示例\\
同一处引用多篇文献: & 文献\cite{蔡敏2006--,Miroslav2004--,赵学功2001--} & 国标示例:三篇以上压缩\\
多次引用同一作者的同一文献: &
文献\cite[20-22]{Miroslav2004--},
文献\cite[55-60]{Miroslav2004--} & 国标示例 \\
多次引用同一作者的同一文献: &
文献\footfullcite[20-22]{Miroslav2004--},
文献\footfullcite[55-60]{Miroslav2004--} & 国标示例:脚注方式 \\ \hline
\end{tabular}
\end{table}
\end{refsection}
%\begin{example}{顺序编码制引用命令}{eg:citefornumeric}
%\begin{texlist}
%不带页码的引用(上标,方括号包围):
% \cite{Peebles2001-100-100}\upcite{Peebles2001-100-100}
% \supercite{Peebles2001-100-100}
%不带页码的引用(非上标,方括号包围):
% \parencite{Miroslav2004--}
%带页码的引用:
% \cite[49]{蔡敏2006--} \parencite[见][49页]{Miroslav2004--}
% \pagescite{Peebles2001-100-100}\pagescite[150]{Peebles2001-100-100}
% \pagescite[][201-301]{Peebles2001-100-100}
%同时输出作者和顺序编码的三种引用方式:
% (a)直接的方法:见\citeauthor{refb}\cite{refb}, \citeauthor{refc}\cite{refc}
% (b)定义新的标注命令:见\authornumcite{refb,refc}
% (c)用textcite但没有上标:见\textcite{refb,refc}
%在页脚中引用和打印文献表:
% \footnote{在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--}
% \end{texlist}
%\end{example}
%
%\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
%\deflength{\textparwd}{\linewidth-1cm}
%\parbox{\textparwd}{
%\includegraphics{egcitenum.pdf}
%}
%\end{tcolorbox}
%\caption{顺序编码制标注格式}\label{fig:cite:num}
%\end{figure}
其中,当不指定页码时,\verb|\pagescite|命令默认调用参考文献的页码数据进行输出,如果需要指定页码,那么需要在[]内或第二个[]内(当有两个[]时)输入页码。
\qd{对于多个文献一起的压缩形式,指定页码只会应用最后一个参考文献的页码,这是不正确的,但这种情况其实本不应出现,因为指定页码本来就需要具体化指某一文献。使用时请尽可能使用
\textbackslash pagescite\{key1\}\textbackslash pagescite\{key2\}这种形式
而不是\textbackslash pagescite\{key1,key2\}|。}
%作者年制的标注样式文件大体使用标准引用样式authoryear的内容。
\paragraph{\heiti 作者年制的标注样式} \verb|\cite|和\verb|\parencite|命令将引用标签用圆括号括起来。为满足GB/T 7714-2015第10.2.4节的要求,增加了\verb|\pagescite|命令。
为满足GB/T 7714-2015第10.2.1节的要求,增加了\verb|\yearpagescite|, \verb|\yearcite|命令用于处理文中已有作者信息只需要年份和页码的情况(为兼容性考虑,顺序编码制也给出该命令,但作用与
\verb|\pagescite| 命令相同),也完善了 \verb|\textcite| 命令为句子提供主语。
%各命令使用方式如例\ref{eg:citeforauthoryear}所示。
%各引用命令的效果如图\ref{fig:cite:ay}所示。
各引用命令的使用方式如表\ref{tab:cite:authoryear}所示。
测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
\begin{table}[!htb]
\centering
\caption{著者年份制常用命令示例}\label{tab:cite:authoryear}
\includegraphics[scale=0.85]{egciteaytab.pdf}
\end{table}
%\begin{example}{作者年制引用命令}{eg:citeforauthoryear}
%\begin{texlist}
%不带页码的引用:
% \cite{Peebles2001-100-100} \parencite{Miroslav2004--}
%带页码的引用:
% \cite[49]{蔡敏2006--} \parencite[见][49页]{Miroslav2004--}
% \pagescite{Peebles2001-100-100}\pagescite[150]{Peebles2001-100-100}
% \pagescite[][201-301]{Peebles2001-100-100}
%作者年制文中已有作者只需给出年份和页码的引用:
% 见赵学功\yearpagescite[][205]{赵学功2001--}和Miroslav\yearpagescite[][15]{Miroslav2004--}
%作者年制文中已有作者只需给出年份的引用,三种方式:
% 见赵学功\yearcite{赵学功2001--}
% 见赵学功(\cite*{赵学功2001--})
% 见赵学功(\citeyear{赵学功2001--})\par
%作者年制文中无作者需要标注命令给出作者作为主语的引用:
% 见\textcite{赵学功2001--}\par
%在页脚中引用和打印文献表:
% \footnote{在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--}
% \end{texlist}
%\end{example}
%\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
%\deflength{\textparwd}{\linewidth-1cm}
%\parbox{\textparwd}{
%\includegraphics{egciteay.pdf}
%}
%\end{tcolorbox}
%\caption{作者年制标注格式}\label{fig:cite:ay}
%\end{figure}
\subsection{文献表打印和段落格式控制}\label{sec:usage:bbx}
引用文献后,可以在文档需要的位置利用 \verb|\printbibliography| 命令输出。文献表输出的格式称为参考文献著录样式,也称著录表样式或著录格式,也分两类: 顺序编码制和作者年制(著者-出版年制)。
%顺序编码制的参考文献样式基于标准样式numeric-comp/numeric
\paragraph{\heiti 顺序编码制样式} 中各条参考文献条目以数字序号按引用先后顺序组织。
著录格式中序号格式见\ref{sec:bib:serialno}节,
各类型文献条目的著录格式见\ref{sec:numeric:data}节,
参考文献条目中各信息域及其录入方式见\ref{sec:bib:bibtex}节。
%作者年制的参考文献样式则基于标准样式authoryear
\paragraph{\heiti 作者年制样式} 中各条参考文献条目以作者-年为标签以一定的顺序排列。作者年制的著录格式与顺序编码制基本相同(除了把年份提到了作者后面作为文献条目内的标签)。数据源bib文件中各条目的数据录入与顺序编码制完全一致。
\qd{作者年制有分文种文献集中的要求,因此gb7714-2015排序模板以nyt模板为基础,增加 language 作为 name 前的排序域。默认情况下,本样式文件将标题(或作者)为中文的文献的 language 域设置成 chinese,英文的设置成 english。这一设置过程,在biber 处理时自动完成。当出现问题或者有更多文种分集且有特殊顺序时,可以在bib文件中为相应文种文献的 language 域手动设置适合排序的字符串。比如: 中文文献设置为 chinese,英文文献设置为 enlish,法文文献设置为 french,那么排序中,相应的中文文献排在最前面,英文文献在中间,法文文献最后,因为升序情况下字母顺序是c然后e然后f。}
%上一段2016-1114更新,下面是以前的说法。
%\qd{根据文种文献集中的要求,修改了nyt排序格式,增加了userb作为name前的排序域,当有需求进行多文种分集且有特殊顺序时,在bib文件中给相应文种的文献设置适合排序的字符串。比如中文文献设置为cn,英文文献设置为en,法文文献设置为fr,那么排序中,相应的中文文献排在最前面,英文文献在中间,法文文献最后,因为升序情况下字母顺序是c然后e然后f。}
\paragraph{\heiti 文献表字体、颜色、间距、缩进控制} 为方便用户改变文献表段落格式、内容字体和颜色等,在 biblatex 提供的 \verb|\bibfont| 命令基础上,
增加了\verb|\bibauthorfont|、\verb|\bibtitlefont|、\verb|\bibpubfont| 等命令用于控制文献不同部分的格式,比如作者,标题,出版项等。
增加了尺寸\verb|\bibitemindent| 用于控制参考文献条目在文献表中的缩进,
其意义与 list 环境中 \verb|\itemindent| 相同。
用法具体见例\ref{eg:biblist:fontset},结果如图\ref{fig:par:fmt}所示。
测试用例见\href{run:example/testfontinbiblio.tex}{testfontinbiblio.tex}。
\begin{example}{文献表段落格式、字体、颜色、间距控制}{eg:biblist:fontset}
\begin{texlist}
% 换行的控制
% 选项 block=none , space , par , nbpar , ragged
% 或\renewcommand*{\newblockpunct}{\par\nobreak}
% 字体的控制:\textit,sl,emph-楷体,\textbf,sf-黑体,\texttt-仿宋,\textsc,md,up-宋体
% 全局字体
\renewcommand{\bibfont}{\zihao{-5}}%\fangsong
% 题名字体
\renewcommand{\bibauthorfont}{\bfseries\color{teal}}%
\renewcommand{\bibtitlefont}{\ttfamily\color{blue}}%
\renewcommand{\bibpubfont}{\itshape\color{violet}}%
% url和doi字体
\def\UrlFont{\ttfamily} %\urlstyle{sf} %\def\UrlFont{\bfseries}
% 间距的控制
\setlength{\bibitemsep}{0ex}
\setlength{\bibnamesep}{0ex}
\setlength{\bibinitsep}{0ex}
% 文献表中各条文献的缩进控制
%\setlength{\bibitemindent}{0em} % bibitemindent表示一条文献中第一行相对后面各行的缩进
%\setlength{\bibhang}{0pt} % 作者年制中 bibhang 表示的各行起始位置到页边的距离,顺序编码制中 bibhang+labelnumberwidth 表示各行起始位置到页边的距离
% 标点类型的控制(全局字体能控制标点的字体)
\end{texlist}
\end{example}
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egparfmt.pdf}
}
\end{tcolorbox}
\caption{文献表段落格式示例}\label{fig:par:fmt}
\end{figure}
\subsection{文献表条目著录格式控制}\label{sec:entry:fmt}
文献表输出的格式即参考文献著录样式,除了整体的段落格式外,还有条目内部的格式可以控制,条目内部的这些项称为著录项,这些著录项的格式通常可由选项控制。可用选项除了biblatex 提供的标准选项外,也包括样式包提供的选项。
图\ref{fig:content:fmta}、\ref{fig:content:fmtb}、\ref{fig:content:fmtc}给出了一些选项设置后的格式控制效果,
更多选项的详细说明见第\ref{sec:added:opt}、\ref{sec:old:opt}小节。
图\ref{fig:content:fmta}给出了选项设置为 style=gb7714-2015, gbnamefmt=givenahead,
gbpub=false, gbbiblabel=box, gbtitlelink=true 时的文献表,可以看到作者姓名、序号标签、标题超链接的设置。
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egcontentfmt.pdf}
}
\end{tcolorbox}
\caption{文献表条目著录格式示例一}\label{fig:content:fmta}
\end{figure}
图\ref{fig:content:fmtb}给出了选项设置为 style=gb7714-2015ms, gbnamefmt=lowercase,
gbpub=false, gbtitlelink=true, gbstyle=false, sorting=nyt 时的文献表,可以看到作者姓名、标题超链接、中英文不同文献格式、文献排序的设置。
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egcontentfmtb.pdf}
}
\end{tcolorbox}
\caption{文献表条目著录格式示例二}\label{fig:content:fmtb}
\end{figure}
图\ref{fig:content:fmtc}为选项和本地化字符串如例\ref{eg:localstr:diff}设置时的引用标注和文献表,注意其中引用标注和文献表中的不同本地化字符串输出效果,引用标注中英文作者和中文作者缩略词的不同。这是中科院大学资环类学位论文的要求格式,可以看到尽管有些特殊,但通过选项设置和本地化字符串设置也能实现。
\begin{example}{作者年制标注和文献表不同本地字符串效果}{eg:localstr:diff}
\begin{texlist}
\usepackage[backend=biber,style=gb7714-2015ay,gbnamefmt=lowercase,maxcitenames=2,mincitenames=1,
gbbiblocal,sortcites,sorting=gbyntd]{biblatex}
\DefineBibliographyStrings{english}{
andincite = {和},
andincitecn = {和},
andothersincitecn = {等},
andothersincite = {等{\adddot}},%adddot才能避开标点追踪
}
\end{texlist}
\end{example}
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egcontentfmtc.pdf}
}
\end{tcolorbox}
\caption{文献表条目著录格式示例三}\label{fig:content:fmtc}
\end{figure}
\subsubsection{新增选项}\label{sec:added:opt}
样式包新增了一些选项,用于标签对齐方式、出版项缺省处理、责任者(作者)缺省处理等功能的控制,其使用方式与biblatex宏包选项完全相同:
\begin{description}
\item[gbalign]=\textbf{right},left,center,gb7714-2015. \hfill default is right
为顺序编码制增加的选项,用于选择参考文献表序号标签的对齐方式。
\begin{itemize}
\item gbalign=right,默认的list环境中的标签右对齐;
\item gbalign=left,是list环境中的标签左对齐;
\item gbalign=center,是list环境中的等宽标签,数字在[]内居中;
\item gbalign=gb7714-2015,是项对齐方式,即段落环境中标签使用原始宽度,标签与条目内容等间距。
\end{itemize}
该选项对作者年制无效。顺序编码制序号标签对齐方式测试,
数字在标签内居中见:
\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}。
\item[gbpub]=\textbf{true},false. \hfill default is true
为控制出版信息缺失处理增加的选项。
\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}。
\item[gbbiblabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket
为顺序编码制增加的选项,用于选择参考文献表序号数字的格式。
\begin{itemize}
\item gbbiblabel=bracket,序号数字由方括号包围,比如[1];
\item gbbiblabel=parens,序号数字由圆括号包围,比如(1);
\item gbbiblabel=dot,序号数字数字后面加点,比如1.;
\item gbbiblabel=plain,序号数字无装饰,比如1;
\item gbbiblabel=box,序号数字由方框包围,比如\framebox{1};
\item gbbiblabel=circle,序号数字由圆圈包围,比如\textcircled{1}。
\end{itemize}
\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}。
\item[gbnamefmt]=\textbf{uppercase},lowercase,givenahead,familyahead,pinyin. \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。
\end{itemize}
\bc{注意:还可以利用 nameformat 域为某一具体条目设置该条目的姓名格式,比如:要在一个文献表中实现英文文献是givenahead 格式,而拼音的文献是pinyin风格,那么可以设置拼音文献的 nameformat 域为pinyin,而gbnamefmt设置为givenahead。条目中nameformat 域的局部设置优先于gbnamefmt的全局设置。}\par
\emph{注意:使用pinyin选项时,bib文件中文献的作者应给出完整的名而不是缩写,否则出来的效果未必令人满意}。
测试结果见:
\href{run:./example/opt-gbnamefmt.tex}{opt-gbnamefmt.tex},
\href{run:./example/opt-gbnamefmt-default.tex}{opt-gbnamefmt-default.tex}。
\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}
\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的本地化字符串是为了某些样式需要区分中英文分别设置。
另一种设置方式是在bib文件直接设置type域为需要输出的字符,比如type={[博士学位论文]}。
\end{itemize}
\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}
\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]!。
\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}。
\item[gbstrict]=\textbf{true},false. \hfill default is true
为避免输出bib文件中多余的域信息而增加选项,目的是为了兼容一些bib文件,因为某些bst样式文件进行中英文判断需要在bib文件中增加类似language这样的域作为支撑,而其中某些域在标准的biblatex样式文件中是默认输出的。
\begin{itemize}
\item gbstrict=true,即默认不输出。
\item gbstrict=false,需要还原标准样式的输出情况时使用。
\end{itemize}
\item[gbfieldstd]=true,\textbf{false}. \hfill default is false
为控制一些域如标题,网址,卷域的格式而增加选项。目的是使用一些标准样式的处理来增加格式多样性。
\begin{itemize}
\item gbfieldstd=false,即默认使用GB/T 7714-2015要求的样式。
\item gbfieldstd=true,即还原使用标准样式的格式,比如使用引号,字体,加引导词等。当然要调整这些格式也可采用biblatex提供的更为直接的设置域格式的方式。
\end{itemize}
\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}。
\item[gbstyle]=\textbf{true},false. \hfill default is true
为实现多种样式并存而增加的选项。
\begin{itemize}
\item gbstyle=true,即默认全部文献使用gb7714-2015样式。
\item gbstyle=false,仅中文文献使用gb7714-2015样式,其它语言文献使用biblatex默认样式。
\end{itemize}
该选项的实现原理是把所有国标格式设置局部化到每一条文献打印时,处理时首先判断gbstyle 选项及文献的语言,当满足要求则使用这些局部化格式,否则使用默认的标准样式。这种实现为一篇文档内实现两种样式提供解决思路,尽管目前非中文语言文献的著录格式是标准样式,但只要对标准样式做进一步的修改就可以形成符合某种格式规范的样式,比如像ieee,nature等的样式。因此存在中文使用GB/T 7714-2015 著录格式,而英文文献使用ieee等著录格式的可能性。测试文档见:\href{run:./example/opt-gbstyle.tex}{opt-gbstyle.tex}。
\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,即默认区分中英文,不同语言采用不同的字符串比如中文使用“等”“和”,而英文使用“etal”“and”。
\item gblocal=chinese,强制设置所有的本地化字符串使用中文。
\item gblocal=english,强制设置所有的本地化字符串使用英文。
\end{itemize}
测试文件见:
\href{run:egfigure/egcontentfmtc.tex}{egcontentfmtc.tex}。
\item[gbfootbib]=true,\textbf{false}. \hfill default is false
为实现国标样式的脚注文献表格式而增加的选项。
\begin{itemize}
\item gbstyle=true,即默认做处理使脚注文献表满足国标要求。
\item gbstyle=false,不做任何附加处理。
\end{itemize}
该选项的实现主要是两个方面:一是实现国标要求的脚注标签和段落格式,利用对
\verb|\@makefnmark|重定义实现正文脚注标签带圈上标,
利用对\verb|\@makefntext|做patch局部化重设\verb|\@makefnmark|使得脚注中的标签不上标,利用footmisc宏包实现对脚注的悬挂对齐,需要注意由于footmisc的问题,使用该宏包会导致脚注的超链接失效,如果不需要悬挂格式,那么可以在bbx文件中将footmisc注释掉,此外对于beamer类该包也并不兼容,所以当加载beamer类则直接注释掉;二是实现国标要求的相同的文献不输出,而是简化输出,比如同\textcircled{4} 等,主要利用citetracker 选项实现对文献引用的追踪,然后利用ifciteseen 判断和对footfullcite 命令做修改实现。
测试文档见:\href{run:./example/opt-gbfootbib.tex}{opt-gbfootbib.tex}。
\item[mergedate]=true,false,none.
为作者年制是否在文献表中作者后面输出日期信息而增加了选项值none。
\begin{itemize}
\item mergedate=true,作者年制文献表仅在作者后输出日期
\item mergedate=false,作者年制文献表在作者后和出版项中输出日期
\item mergedate=none,作者年制文献表仅在出版项中输出日期。该选项用于满足中科院大学的作者年制格式要求。
\item no mergedate,即不给出该选项,这是gb7714-2015ay默认的情况,仅在作者后输出日期且已经根据国标格式化。
\end{itemize}
\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}。
\end{description}
\subsubsection{兼容的标准选项}\label{sec:old:opt}
绝大部分biblatex标准样式选项可与gb7714-2015样式联合使用,下面给出一些经过兼容性测试的选项说明。需要注意的是:使用gb7714-2015样式时(即style=gb7714-2015),backend选择应指定为biber,还有一些选项已经在样式设计中固定,如果要严格使用国标样式,一般不应做修改,比如sorting,maxnames,minnames,date,useprefix,giveninits等,但如果用户有自己的其它需求,则可按需修改。
\begin{description}
\item[url]=true, false. \hfill default: true
该选项控制是否打印 url 域并获取日期。该选项只影响 url 信息是可选的那些条目类型。而 @online 条目的 url 域总是会打印出来。它是导言区选项,与样式相关,gb7714-2015样式做了特别支持,可以兼容使用。
\item[giveninits]=true, false. \hfill default: true
启用该选项时姓名中的名部分会用首字母表示。
\item[uniquelist]=true, false, minyear \hfill default: minyear
该选项用于作者年制样式,用于正文中引用(标注)标签的作者列表控制(目的是消除歧义)。当uniquelist=true时,自动利用扩展作者姓名列表长度的方式消除labelname 列表的歧义; 当=false 时则禁用扩展,标签仅使用一个作者,消除歧义通过跟在年份后面的字母实现; 默认使用minyear,即当被截短的作者姓名列表存在歧义时,只有当年份相同,才会扩展列表长度以消除歧义。
注意当使用uniquelist=false后标签只有一个作者,但文中可能有同姓作者的文献,这时根据uniquename选项的设置,biblatex会使用姓名的其它部分比如名来消除歧义,但如果想强制要求仅用姓作为文中的标注标签,那么可以设置uniquename=false,但此时标注是可能存在歧义的。
\item[maxnames]=整数 \hfill default: 3
影响所有名称列表(\bibfield{author}、\bibfield{editor} 等)的阈值。如果某个列表超过了该阈值,即,它包含的姓名数量超过 \prm{integer},那么就会根据 \opt{minnames} 选项的设置进行自动截断。\opt{maxnames} 是设置 \opt{maxbibnames} 和 \opt{maxcitenames} 两个选项的支配选项。
\item[minnames]=整数 \hfill default: 3
影响所有名称列表(\bibfield{author}、\bibfield{editor} 等)的限制值。如果某个列表包含的姓名数量超过 \prm{integer},那么就会自动截断至\opt{minnames}个姓名。\prm{minnames} 的值必须小于或等于 \prm{maxnames}。\opt{minnames} 是设置 \opt{minbibnames} 和 \opt{mincitenames} 两个选项的支配选项。
\item[maxbibnames]=整数 \hfill default: \prm{maxnames}
类似于 \opt{maxnames} 但只影响参考文献表。
\item[minbibnames]=整数 \hfill default: \prm{minnames}
类似于 \opt{minnames} 但只影响参考文献表。
\item[maxcitenames]=整数 \hfill default: \prm{maxnames}
类似于 \opt{maxnames} 但只影响正文中的标注(引用)。
\item[mincitenames]=整数 \hfill default: \prm{minnames}
类似于 \opt{minnames} 但只影响正文中的标注(引用)。
\item[hyperref]=true, false, auto. \hfill default: auto
是否将引用和后向引用转化为可点击的超链接。这是宏包的载入时选项,与样式无关,自然可以使用。
\item[backref]=true, false. \hfill default: false
是否在文献中打印出反向引用。这是宏包的载入时选项,与样式无关,自然可以使用。
\item[refsection]=none, part, chapter, section, subsection. \hfill default: none
该选项自动在文档分段处(例如一章或一节)开始一个新的参考文献分节。是宏包的载入时选项,与样式无关,自然可以使用。需要注意与titlesec宏包联用时,该选项会失效。
\item[refsegment]=none, part, chapter, section, subsection. \hfill default: none
类似于refsection选项,但开始的是一个新的参考文献片段。
\item[citereset]=none, part, chapter, section, subsection. \hfill default: none
该选项在文档分段处(例如一章或一节)自动执行citereset 命令。
\item[labeldate]=year, short, long, terse, comp, ymd, edtf. \hfill default: year
类似于 date 选项,但控制的是由DeclareLabeldate 选择的日期域的格式。
\item[doi]=true,false. \hfill default: true
该选项控制是否打印 \bibfield{doi} 域。
\item[isbn]=true,false. \hfill default: true
该选项控制是否打印 \bibfield{isbn}\slash \bibfield{issn}\slash \bibfield{isrn} 等域。
\item[sortlocale]=auto, locale. \hfill default: auto
该选项控制排序的本地化调整方案。对于英文文献,该选项不需要设置。对于中文文献当有按拼音或笔划等进行排序的需求时,可以设置相应的本地化调整方案。主要的调整方案有:
\begin{itemize}
\item \verb|sortlocale=auto| 或者不设置该选项,为unicode编码顺序
\item \verb|sortlocale=zh|,为unicode编码顺序
\item \verb|sortlocale=zh__pinyin|,为拼音顺序
\item \verb|sortlocale=zh__big5han|,为big5 编码顺序
\item \verb|sortlocale=zh__gb2312han|,为GB-2312 顺序
\item \verb|sortlocale=zh__stroke|,为笔划数顺序
\item \verb|sortlocale=zh__zhuyin|,为注音顺序
\end{itemize}
\item[language]=autobib, autocite, auto, \prm{language}. \hfill default: autobib
详细说明见biblatex手册。
\item[autolang]=none, hyphen, other, other*, \prm{langname}. \hfill default:
结合langid/langidopts域,结合babel/polyglossia宏包,可以对西文做基于条目的本地化处理。详细说明见biblatex 手册。
\item[sortcites]=true, false. \hfill default: false
详细说明见biblatex手册。
\item[autocite]=plain, inline, footnote, superscript. \hfill default: plain
详细说明见biblatex手册。
\item[block]=none, space, par, nbpar, ragged. \hfill default: none
详细说明见biblatex手册。
\item[indexing]=true, false, cite, bib. \hfill default: false
详细说明见biblatex手册。
\item[其它]=下面还有很多选项,有些是宏包载入时选项,与样式无关,一般可以使用,但笔者没有做测试,各位朋友可以测试使用。选项的作用可以参考biblatex 使用手册,以及笔者和Wenbo 翻译的中文版。
\begin{itemize}
\item related=true, false. default: true
\item defernumbers=true, false default: false
\item maxitems=integer default: 3
\item minitems=integer default: 1
\item autopunct=true, false default: true
\item clearlang=true, false default: true
\item notetype=foot+end, footonly, endonly default: foot+end
\item backrefstyle=none, three, two, two+, three+, all+ default: three
\item backrefsetstyle=setonly, memonly, setormem, setandmem, memandset, setplusmem default: setonly
\item loadfiles=true, false default: false
\item abbreviate=true, false default: true
\item julian=true, false default: false
\item punctfont=true, false default: false
\item arxiv=abs, ps, pdf, format default: abs
\item mincrossrefs=integer default: 2
\item minxrefs=integer default: 2
\item eprint=true, false default: true
\end{itemize}
\end{description}
\subsection{多语言混合文献表}\label{sec:multilan:combine}
一般情况下在国内应用环境下,多语言混合不太会超过两种语言,比如仅有中英两种语言混合。但有时可能也会存在多种语言,比如存在中/英/日/俄这种多语言环境。图\ref{fig:multi:lan}给出了这样一个示例,其中不同的语言使用了不同的本地化字符串。
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egmultilan.pdf}
}
\end{tcolorbox}
\caption{多语言混合文献表}\label{fig:multi:lan}
\end{figure}
使用xelatex编译时,由于其原生支持unicode的特性,在tex文档内实现多语言混合比较容易实现,正确显示的关键在于合适的字体设置。一般情况下西文如英/法/俄可以利用fontspec宏包选择合适的字体来解决,而中/日/韩语可以利用ctex宏包可以解决,但仍需注意要正确的显示中/日/韩语也需要字体支持,windows下常见的中文字体可能不支持日/韩字符,而思源宋体是一个不错的选择。本文的多语言示例编译均采用思源宋体常规(SourceHanSerifSC-Regular.otf),请从其官网下载。
对于参考文献来说,其实还有一个更重要的问题:本地化字符串问题。中英文情况下,中文利用在英文本地化文件基础上新增本地化字符串加以解决。但其它语言需要自己的解决方案。如第\ref{sec:usage:bbx}节所述,本样式使用language域来区分文献的语言类型,默认情况下该域不需要人工输入,可由biber根据文献信息自动判断,但也可以手动输入来人工指定。根据 biblatex 提供的多语言解决方案,还需要利用langid/langidopt域,以及babel/polyglossia宏包的支持。
首先,不同语言的文献需要设置文献的langid域为文献所用语言,比如英文文献则设置langid域等于english,俄文文献则设置等于rassian。langid域类似于language域通常由样式自动处理,不需要人工输入。
其次,在biblatex加载时设置 autolang选项,等于none则不做多语言处理,等于hyphen则仅做不同语言的断词处理,等于other或other*则处理不同语言的断词和本地化字符串,other*选项等价于使用babel的otherlanguage*环境,与other的差别在于不忽略环境后的空白。从实践看,当要使用条目集时,使用other*选项更为合适。
再次,还可设置language选项,用于区分是否在标注或文献表中采用多语言处理方案。当language选项等于autobib时仅在文献表中自动切换语言,等于 autocite 时仅在标注中自动切换语言,等于 auto 时则在文献表和标注中同时切换。
最后,需要在tex文档内加入babel宏包以及需要使用的语言,需要使用本地化字符串的西语都要加入,否则无法自动切换。比如需要自动切换的西文语言包括英文、法文和俄文,那么加入宏包命令为\verb|\usepackage[french,russian,english]{babel}|。
由于东亚语言的特殊性,针对西文和东亚语言,分别做如下的考虑:
\begin{enumerate}
\item 如俄语/法语这样的西方语言,通过biblatex提供的方案自动解决。使用时,bib文件中的文献数据按文献本身的语言录入,在tex源文件中载入babel宏包并设置相应语言,然后设置biblatex的autolang和language选项。剩下所有工作比如自动语言判断和处理则交由gb7714-2015样式自动完成。
\item 日韩语采用类似中文的方式处理,即在英语本地化文件基础上通过增加新的本地化字符串实现处理,因此langid需设为english。在输出本地化字符串的宏中当做英文处理,但内部存在区分逻辑,当判断语言为中文时,则使用中文的本地化字符串比如andcn,andotherscn等, 当不是时,则判断不同的语言,是日文则输出本地化字符串如andjp,andothersjp,若是韩文则输出本地化字符串如andkr,andotherskr。而所有其它西文则输出本地化字符串比如and,andothers,由babel自动切换成对应语言的字符串。由于日文中作者这类信息通常用的汉字,因此常常判断为中文,所以可以使用符合中文习惯的字符串,但如果对日文有精确的判断,那么可以输出符合日文习惯的字符串。韩语由于大量使用表音的字符,所以通常使用专门的本地化字符串。中日韩语文献数据录入也不要特殊的处理,按文献本身语言输入即可,剩下所有其它工作均由gb7714-2015样式自动处理,用户无需过多关注。
\end{enumerate}
本样式对中日韩英俄法六种语言混合文献表做了测试,详见:
\href{run:example/opt-eg-multilan.tex}{opt-eg-multilan},
\href{run:example/opt-autolang-multilan.tex}{opt-autolang-multilan}。
\subsection{多语言对照的文献表}\label{sec:multilan:implement}
国标GB/T 7714-2015有不同语言对照文献的要求(详见第6.1节),某些期刊也有类似的需求。对于biblatex宏包,这一问题可以通过条目集类型(set)/或者条目关联(related)来解决,多语言对照的情况与双语言对照本质是一样的,因此下面主要讨论双语对照的文献表。
图\ref{fig:double:lana}和\ref{fig:double:lanb}给出中英双语对照文献示例,两个示例中英文文献的作者姓名做了不同的设置,前者为 gbnamefmt=uppercase,后者为gbnamefmt=pinyin。
GB中的韩中两种语言对照文献见\href{run:./stdGBT7714-2015.pdf}{stdGBT7714-2015文件}第4页。
\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
\deflength{\textparwd}{\linewidth-1cm}
\parbox{\textparwd}{
\includegraphics{egdoublelan.pdf}
}
\end{tcolorbox}
\caption{双语言对照文献表示例一}\label{fig:double:lana}
\end{figure}
\begin{figure}[!htb]