summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-22 22:18:43 +0000
committerKarl Berry <karl@freefriends.org>2019-01-22 22:18:43 +0000
commit5bee6f1ca16cbb2563ba57c1a3bfa7951f453c0b (patch)
treeda2cda75fc2e5955f24b5ccd2d5240e941c98287 /Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
parenta8a4b6646d0e9e80061d89b21aee5ffcc853b90d (diff)
biblatex-gb7714-2015 (22jan19)
git-svn-id: svn://tug.org/texlive/trunk@49789 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex1717
1 files changed, 1711 insertions, 6 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
index dc781a1c0f5..0d569a8c0b7 100644
--- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
@@ -1,12 +1,1717 @@
-\documentclass[11pt]{article} %用draft选项找到badbox的位置
-\usepackage[backend=biber,style=gb7714-2015,gbalign=center%,gbtype=true%,backref=true%gb,gbt7714_2005_n,
-]{biblatex}%biber,caspervector
+\documentclass[twoside,11pt]{article} %用draft选项找到badbox的位置
\input{biblatex-gb7714-2015-preamble} %宏包和一些格式设置
-\addbibresource[location=local]{example/example.bib}
-
\begin{document}
-\input{biblatex-gb7714-2015-content.tex}
+%------------------------------------------------------------
+% 标题和目录
+%------------------------------------------------------------
+\pagenumbering{Roman}
+\titleformanual{符合GB/T 7714-2015标准的biblatex参考文献样式
+\footnote{This Manual was created with biblatex v\versionofbiblatex, last revised at \today;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle.}}
+\authorformanual{胡振震\setcounter{footnote}{0}\footnote{Email: hzzmail@163.com}}
+\dateformanual{2016-07-01}
+\titleandauthor
+\begin{quotation}
+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}
+%------------------------------------------------------------
+
+\thispagestyle{plain}
+\newpage
+\pagenumbering{arabic}
+\section{概述}
+
+\subsection{宏包特点}
+
+\begin{enumerate}
+ \item 兼容性
+
+自biblatex-gb7714-2015宏包发布以来,一直秉承兼容各版本biblatex的原则,可与biblatex v2.8 (contained in texlive2014) 以上所有版本配合使用(注意 ctex 2.9.4 的用户需升级 biblatex)。并完善在不同文档类特别是beamer类中的使用问题。兼容一些传统的参考文献条目类型,比如www/electronic/conference/mastersthsis/phdthsis/techreport/standard,并根据国标要求增加了newspaper(报纸析出的文献)、database(数据库)、dataset(数据集)、 software(软件)、map(舆图)、archive(档案)等类型。兼容适用于不同样式的bib数据源,例如gbt7714宏包的bst样式中mark和medium域等。
+
+ \item 易用性
+
+从biblatex-gb7714-2015宏包设计的最开始就遵守尽可能让用户减少对于bib文件准备等方面的关注,用户可以用最简单的输入或者从网上下载(如各种学术、zotero等)参考文献信息后直接使用,能够自动判断文献类型和载体并区分不同的语言,而不需要用户手动增添类似参考文献类型和载体标识、语言等额外信息。保持biblatex习惯基础上,为用户提供既能满足国标要求又具实用性的标注(引用)命令,如cite(上标)、parencite(非上标)、textcite(提供作者为主语)、authornumcite(提供作者和上标编码)、pagescite(满足国标)、yearpagescite(提供年份页码)、yearcite(提供年份)等。并为用户提供全面、详实的说明,包括条目类型、域、域信息输入方法以及
+\href{https://github.com/hushidong/biblatex-gb7714-2015/wiki}{WiKi},
+\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography/blob/master/biblatex-solution-to-latex-bibliography.pdf}{LaTeX 文档参考文献的biblatex解决方案}等文档,以帮助用户更好的入门。
+
+ \item 灵活性
+
+biblatex-gb7714-2015宏包除了提供严格遵守GB/T 7714-2015标准的格式外,还通过增加新的用户设置选项,使用户可以根据自己的需求很灵活地调整参考文献表的生成。包括标签的对齐方式(gbalign选项)、出版项缺省时的处理(gbpub选项)、作者缺省时的处理(gbnoauthor选项)、作者姓名格式的调整(gbnamefmt选项)、文献类型和载体标识的输出控制(gbtype选项)、析出文献标识符\texttt{//}控制(gbpunctin选项)、GBK编码文档兼容性(gbcodegbk选项)、域的默认格式还原(gbfieldstd选项)、标题的超链接控制(gbtitlelink选项)、双语对照文献表等。能通过标注和著录分别采用著者-出版年制(即作者年制)、顺序编码制样式实现特殊的参考文献格式,并尽最大可能利用biblatex的选项来实现一些特殊需求,比如文献表中作者数量大于3、标注中仅给出第一作者的姓、参考文献表按拼音或笔画排序等等。
+\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}};
+\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] ($(gbkdef.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{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时的源文档基本结构,其中gb7714-2015 样式随biblatex宏包加载,另外准备的用于保存参考文献信息的数据库文件example.bib利用addbibresource加载,文献表利用 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}所示。关于文档采用不同编码及使用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|等。习惯natbib的用户也可以在加载natbib选项后,
+使用\verb|\citet|, \verb|\citep|命令。
+
+%顺序编码制的标注样式文件大体使用标准引用样式numeric-comp的内容
+\paragraph{顺序编码制的标注样式}
+
+\verb|\cite| 命令为上标模式,\verb|\parencite|保留非上标模式。为满足GB/T 7714-2015第10.1.3节的要求,增加了 \verb|\pagescite| 命令。为使用户免于输入文献作者来作为句子主语,完善了\verb|textcite|命令格式,
+并增加了\verb|\authornumcite|命令以同时输出作者和顺序编码。
+各命令使用方式如例\ref{eg:citefornumeric}所示。
+各引用命令的效果如图\ref{fig:cite:num}所示。
+测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
+
+\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}
+
+其中,当不指定页码时,pagescite命令默认调用参考文献的页码数据进行输出,如果需要指定页码,那么需要在[]内或第二个[]内(当有两个[]时)输入页码。
+
+\qd{对于多个文献一起的压缩形式,指定页码只会应用最后一个参考文献的页码,这是不正确的,但这种情况其实本不应出现,因为指定页码本来就需要具体化指某一文献。使用时请尽可能使用pagescite\{key1\}pagescite\{key2\}这种形式而不是pagescite\{key1,key2\}。}
+
+%作者年制的标注样式文件大体使用标准引用样式authoryear的内容。
+\paragraph{作者年制的标注样式} \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}所示。
+测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
+
+
+\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{顺序编码制样式}中各条参考文献条目以数字序号按引用先后顺序组织。著录格式中序号格式见\ref{sec:bib:serialno}节,各类型文献条目的著录格式见\ref{sec:numeric:data}节,参考文献条目中各信息域及其录入方式见\ref{sec:bib:bibtex}节。
+
+%作者年制的参考文献样式则基于标准样式authoryear
+\paragraph{作者年制样式}中各条参考文献条目以作者-年为标签以一定的顺序排列。作者年制的著录格式与顺序编码制基本相同(除了把年份提到了作者后面作为文献条目内的标签)。数据源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{文献表字体、颜色、间距、缩进控制} 为方便用户改变文献表段落格式、内容字体和颜色等,在 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 选项来控制。可用选项除了biblatex 提供的标准选项外,也包括样式包提供的选项。
+图\ref{fig:content:fmta}和图\ref{fig:content:fmtb}给出了一些选项设置后的效果,更多选项的详细说明见第\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[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={}}!。
+ \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}。
+
+\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]
+\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{egdoublelanb.pdf}
+}
+\end{tcolorbox}
+\caption{双语言对照文献表示例二}\label{fig:double:lanb}
+\end{figure}
+
+\paragraph{\heiti 利用条目集类型满足双语文献要求}
+
+设置条目集类型(set)有静态和动态两种方法。其中动态方法使用更为方便,只需在写文档时利用\verb|\defbibentryset|将两条文献不同语言的文献设置成一个set条目,然后引用set的bibtex键。比如:
+\begin{example}{设置set条目集用于双语文献动态方法}{eg:setforbilangentry}
+\begin{texlist}
+\defbibentryset{bilangyi2013}{易仕和2013--,Yi2013--}
+专著,双语文献引用\cite{bilangyi2013}
+\end{texlist}
+\end{example}
+
+测试见文档\href{run:example/testallformat.tex}{testallformat.tex}。
+
+\bc{在biblatex v3.8及以上版本中,因为set条目类型除了子条目关键词信息外,并无其他信息,因此作者年制中set的标注通常不能自动给出令人满意的标签。该问题与biblatex版本升级有关,biblatex v3.7及之前版本没有这个问题,因为这些老版本中 set 带有第一个子条目的信息,所以会自动输出子条目信息作为标签。动态设置条目集方法中,解决方案是设置一个指定格式和内容且中间无空格无英文逗号的关键字,比如“易仕和,等,2013”,这时因为没有空格和英文逗号,该关键字会以一个整体字符串处理,而不会被分开解析,因此可以用它来作为标签}。比如:
+
+\begin{example}{设置set条目集用于双语文献动态方法}{eg:setforbilangentry}
+\begin{texlist}
+\defbibentryset{易仕和,等,2013}{易仕和2013--,Yi2013--}
+专著,双语文献引用\cite{易仕和,等,2013}
+\end{texlist}
+\end{example}
+
+\qd{此时作者年制的set标注标签会是“易仕和,等,2013”,注意到其中的逗号是中文全角逗号,与其它标签的英文逗号的存在差异,正因为此,该方法并没有完美解决问题。然而静态条目集方法中通过手动设置标签则可以完美解决,对于biblatex v3.8 及以上版本还可以利用后面介绍的关联(related)方法来解决。}
+
+静态方法是在bib源文件中给出条目集(set)并使用biber后端进行解析,条目的域信息采用如下方法定义:
+%当使用bibtex后端时,则需要进一步设置,具体参考biblatex宏包说明文档。
+\begin{example}{设置set条目集用于双语文献静态方法}{eg:set:static}
+\begin{texlist}
+@Set{set1,
+entryset = {key1,key2,key3},
+}
+%如果要达到上例动态设置set一样的结果,在bib文件中静态设置set条目如下:
+@Set{bilangyi2013,
+entryset = {易仕和2013--,Yi2013--},
+}
+\end{texlist}
+\end{example}
+
+如上述这般简单设置静态条目集时,中文排序会出现问题,条目集会出现在文献表末尾,这是因为条目集没有设置language域用于排序,而其它常规条目都会利用动态数据修改设置language域,但因为静态条目集需要在biber运行时解析,所以无法对language域进行处理。而使用动态条目集方法则没有这一问题,因为其解析过程直接会利用第一个子条目的排序信息。但静态条目集方法也有自己的解决之道,即通过在set条目中手动设置language域来修正。此外,对于静态条目集,v3.8以上版本的biblatex也不复制第一个子条目信息,因此作者年制中引用也无法生成正确的标注标签,这也就是前面动态条目集方法中未完全解决的问题,但静态条目集方法,同样可以通过在set条目中手动设置label域来解决。比如:
+
+\begin{example}{在bib文件中正确设置set条目集的静态方法}{eg:set:staticright}
+\begin{texlist}
+%在bib文件中静态设置set条目如下,其中:
+%手动设置userb域用于解决排序问题
+%手动设置label域用于解决标注标签问题
+@Set{bilangyi2013,
+entryset = {易仕和2013--,Yi2013--},
+label={易仕和, 等, 2013},
+language={chinese}
+}
+\end{texlist}
+\end{example}
+
+\bc{注意:由于动态set条目集设置等价于使用了 nocite命令,因此只要定义了动态条目集的文献都会出现在文献表中,因此如果不引用相应的文献,那么无需对其定义动态条目集}。
+
+\paragraph{\heiti 利用条目关联满足双语文献要求}
+
+除上述给出的条目集方案外,关联条目方法则是另一种可行方案,该方案的讨论可以见“Again about the \@ set label for authoryear style”\footnote{\url{https://github.com/plk/biblatex/issues/681}}。该方案同样也有静态和动态两种方法,静态就是修改bib文件内容,动态则是在tex源文档中做设置。
+
+静态方法很简单,bib文件中条目设置如例\ref{eg:related:staticright}所示,它能解决双语同时显示的问题,也能解决排序和标注标签问题,唯一的问题在于修改了bib文件后,当不需要双语文献时还需改回来,这会带来不便,因此可以考虑下面的动态方法。但要注意动态方法需要利用多个\verb|\DeclareStyleSourcemap|,因此该方法只适用于biblatex v3.7及以上版本。
+
+\begin{example}{在bib文件中正确设置关联条目的静态方法}{eg:related:staticright}
+\begin{texlist}
+%在bib文件中静态设置条目如下,注意:
+%易仕和2013--条目中增加了related域用于关联其对应的英文条目Yi2013--
+@Book{易仕和2013--,
+ Title = {超声速和高超声速喷管设计},
+ Address = {北京},
+ Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉},
+ Publisher = {国防工业出版社},
+ Year = {2013}
+ related = {Yi2013--}
+}
+@Book{Yi2013--,
+ Title = {Supersonic and hypersonic nozzle design},
+ Address = {BeiJing},
+ Author = {Yi, S H and Zhao, Y X and He, L and Zhang, M L},
+ Publisher = {National Defense Industry Press},
+ Year = {2013}
+}
+\end{texlist}
+\end{example}
+
+动态方法利用动态数据修改自动添加related域,避免对bib文件做直接修改。本样式中对该过程进行了封装,定义一个新的命令\verb|\defdoublelangentry|,例如:
+\begin{example}{设置关联条目的动态方法}{eg:related:dynamic}
+\begin{texlist}
+\defdoublelangentry{易仕和2013--}{Yi2013--}
+\end{texlist}
+\end{example}
+
+使用该命令后,可以引用主条目“易仕和2013--”生成双语文献。但要注意由于\verb|\DeclareStyleSourcemap|命令只能在导言区中使用,因此\verb|\defdoublelangentry|命令也只能出现在导言区中,这也是相比条目集动态方法的唯一遗憾。
+实现的具体细节见
+\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}%
+{biblatex-solution-to-latex-bibliography}。
+
+双语对照文献的两种动态方法基于set和related的方法测试,参见:
+\href{run:./example/opt-eg-authoryear.tex}{opt-eg-authoryear.tex}。
+
+\subsection{biblatex 的优点}
+
+基于 biblatex 宏包的参考文献生成方法,具有很多明显的优点,读者可以从
+\href{https://github.com/CTeX-org/lshort-cn}{lshort-cn}、
+\href{https://github.com/latexstudio/LaTeXFAQ-cn}{LatexFAQ-CN}、
+\href{https://tex.stackexchange.com}{tex.stackexchange.com}
+了解到更多。
+
+笔者从最初开始学习latex时利用 thebibliography 环境生成参考文献,到对格式化有更多需求后开始寻求利用参考文献宏包,再到最后选择使用biblatex宏包,在不断实践过程中越发感觉到biblatex 在生成参考文献方面的巨大潜力。以笔者的观点其优点主要包括:
+
+%[也由于对bibtex语言不熟悉,偷懒不想学$( \hat{} \bot \hat{} )$]
+\begin{enumerate}
+\item 使用简单。代码结构很简单,格式控制很简单,编译方式很简单,编译命令不限(xelatex、pdflatex等均可),如例\ref{eg:compile:cmd} 所示。
+
+%使用够方便
+
+\item 划分自由。在一个文档中可以生成任意数量的文献表,无需用将分档划分成不同的文件来辅助生成分章参考文献。利用refsection 和refsegment方便划分,具有嵌套、遍历等多种灵活处理方式。
+%划分很自由,划分无限制
+
+\item 定制方便。使用是tex命令(宏)控制格式,定制和修改相比 bibtex 语言更为容易。全面提供适用于自然学科、人文学科的多种不同类型的参考文献样式,参考、引用、移植、定制均很便捷。
+%定制很容易
+
+%处理无限制,支持更全面
+\item 支持全面。后端处理程序biber处理大数据量毫无压力,不用担心内存不足问题,字符编码支持utf-8,完全支持中文的bibtex 键(引用关键字)。biber除了自身提供的大量功能,比如:动态数据修改、参考文献数据检查、输出引用文献的数据(例\ref{eg:bibercmd:outbibfile})等外,还可利用一些perl模块来实现一些特殊功能,比如:
+ 实现文件编码的转换(perl 的Encode::CN 模块),
+ 排序的本地化调整(perl的Unicode::Collation::locale 模块,
+ 拼音和笔画排序见例\ref{eg:sort:opts}、例\ref{eg:sort:bibercmd})等。
+
+ \begin{example}{输出引用文献数据时的biber选项}{eg:bibercmd:outbibfile}
+ \begin{texlist}
+ biber jobname --output-format=bibtex
+ \end{texlist}
+ \end{example}
+
+ \begin{example}{中文文献排序可利用biblatex选项}{eg:sort:opts}
+ \begin{texlist}
+ %按拼音排序,biblatex加载选项
+ \usepackage[backend=biber,style=gb7714-2015ay,sortlocale=zh__pinyin]{biblatex}
+ %按笔画排序,biblatex加载选项
+ \usepackage[backend=biber,style=gb7714-2015ay,sortlocale=zh__stroke]{biblatex}%
+ %此时,biber则正常编译不需手动加选项,因为排序调整方案(sort tailoring)已由biblatex给出。
+ biber jobname
+ \end{texlist}
+ \end{example}
+
+ \begin{example}{中文文献排序也可利用biber选项}{eg:sort:bibercmd}
+ \begin{texlist}
+ %biblatex正常加载,即不设置排序的本地化调整方案
+ \usepackage[backend=biber,style=gb7714-2015ay]{biblatex}
+
+ %此时需利用biber选项给出本地化排序调整方案:
+ %按拼音排序,则设置-l zh__pinyin
+ biber -l zh__pinyin jobname
+ %按笔画排序,则设置-l zh__pinyin
+ biber -l zh__stroke jobname
+ \end{texlist}
+ \end{example}
+\end{enumerate}
+%上述这些优点也是笔者决定编写符合GB/T 7714-2015标准的参考文献样式文件的原因之一。
+
+\subsection{使用注意事项}\label{sec:pkg:hints}
+
+\begin{enumerate}
+
+ \item 本样式包的设计与实现方法以及设计到的一些biblatex功能介绍,以项目示例的形式总结在
+ \href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}{\LaTeX 文档中文参考文献的biblatex解决方案}中,本文档不再重复给出,有需要了解的用户可以参见其中的第3.1节。
+
+ \item tex源文档既可以用xelatex编译,也可以利用pdflatex或latex进行编译。但要注意的是pdflatex编译可能因为某些样式比如authoryear,使用了xstring宏包中的一些命令而导致错误,但numeric类样式通常没有问题。该问题在biblatex更新到3.12版本后取消xstring 宏包后得以解决。
+
+ 中文用户编译还需要注意编码问题。
+ utf-8编码的文档,采用xelatex 编译没有任何注意事项,但使用pdflatex编译时,需要给ctex 宏包加载UTF8选项,比如\verb|\usepackage[UTF8]{ctex}|,该选项在文档类加载时给出也可,比如\verb|\documentclass[[UTF8]{article}|,同时引用文献时使用的引用关键词应使用英文。
+ 当文档使用其他编码时,可以利用notepad++ 或notepad2 等编辑器将其转换为UTF-8编码。若不进行转换,使用xelatex编译通常需要指定一个文档编码,比如windows 环境下的GB2312 编码的文档需要指定\verb|\XeTeXinputencoding "GBK"|,否则会显示乱码。使用pdflatex进行编译时,如果biblatex不能正确的处理编码问题,那么需要为其明确的指定texencoding和bibencoding 选项。比如windows环境下的GB2312编码的文档,需要指定\verb|\usepackge[texencoding=GBK]{biblatex}|。
+
+ %增加了对GBK支持的说明,2018-05-11
+
+ \item 当顺序编码和作者年制切换,或者biblatex版本切换,或者不同样式切换时,如果编译出错,可先清理一下辅助文件,完成后再重新编译。
+
+ \item 当bibtex键中含有中文的时候,texlive2015中的biblatex3.0版的对参考文献条目的超链接会出现问题,而texlive2016中的biblatex3.4或以后的版本则没有问题。
+
+ \item GB/T 7714-2015中的作者年制要求参考文献按文种集合,且中文在前英文在后。主要通过定义DeclareSortingScheme\{gb7714-2015\} (biblatex3.7 以前版本) 或 DeclareSortingTemplate\{gb7714-2015\} (biblatex3.8以后版本),利用自动设定的language 域实现排序。默认情况下,样式能基本正确的区分中文和英文文献并排序。当如果出现错误的情况,用户可以手动修改bib源文件,将language 域设置成合适的字符串,用于排序,详见\ref{sec:usage:bbx}节的说明。
+
+%上一段2016-1114更新,下面这段是旧的说法,
+%通过定义DeclareSortingScheme\{nyt\},设置方向为direction=descending,可以实现中文在前英文在后但两个文种的文献各自也是降序的。还有一种变通的方法是,在录入bib文件时,在userb域填入用于排序的信息,比如需要排前面中文文献填cn,排后面的英文文献用en。这样因为修改后的排序格式nyt会在author域前先用userb进行排序,自然会把中文文献放在前面。
+
+ \item 当出版地和出版者同时缺省时,GB/T 7714-2015中没有给出明确的说明,但英文给出了一个例子(见GB/T 7714-2015 附录A.3)而中文没有,英文的形式是[S.l. : s.n.],因此中文也考虑类似的格式[出版地不详 : 出版者不详]。
+
+ %,这种形式本样式没有给出,而直接用两者分开的形式,[S.l.] : [s.n.]
+
+ %事实上这里作者认为没有必要把s.l.和s.n. 合起来,不仅与缺省两者之一的情况不统一,样式处理起来也增加不必要的麻烦。
+
+ \item 目前符合GB/T7714-2005或GB/T7714-2015参考文献著录规则的biblatex 样式有好几个实现,除本样式外,还有李志奇(icetea)\footnote{\url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=74474}} 和沈周(szsdk)\footnote{\url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=152561&extra=page\%3D1}} 分别提供的样式文件,效果是类似的。此外,Casper Ti. Vector提供的biblatex 样式caspervector也是不错的中文参考文献样式
+ \footnote{\url{https://gitlab.com/CasperVector/biblatex-caspervector}}。 感谢各位作者的分享!
+
+% \item 本文档根据GB/T 7714-2015提供的参考文献表著录格式示例做了测试和验证,详见第\ref{sec:eg:gb77142015}节。
+% 测试系统环境为:
+% \begin{itemize}
+% \item windows7x86+texlive 2014,采用xelatex编译;
+%
+% \item windows7x64+texlive 2015,采用xelatex编译;
+%
+% \item 虚拟机xp+texlive 2016,采用xelatex编译;
+%
+% \item Deepin linux-x64v15.3+texlive 2016,采用xelatex编译。
+%
+% \item windows7x64+texlive 2017,采用xelatex编译;
+% \end{itemize}
+
+\end{enumerate}
+
+\subsection{数据库bib文件和数据录入}\label{sec:bib:bibtex}
+
+参考文献数据以bibtex格式保存在bib文件中。生成参考文献除tex源文档外,还需创建参考文献数据源文件即bib文件。bib文件数据源准备完成后,在加载biblatex宏包时,使用addbibresource命令将其加载进tex源文档中。\bc{注意:数据源可以加载多个,比如多个章节的参考文献放在不同的bib文件中,那么全部加载进来即可}。
+
+bib文件中的参考文献信息是以条目形式组织,一篇文献创建一条记录即一个参考文献条目,一个条目由若干数据域构成。文献的各部分信息应录入到条目的对应数据域中。GB/T 7714-2015标准中的文献类型与本样式中条目类型对应关系
+如表\ref{tab:entrytypes}所示,
+各类条目具体的著录格式详见\ref{sec:numeric:data}节。
+\begin{table}[!htb]
+\centering
+\caption{常见条目类型}\label{tab:entrytypes}
+\small
+\begin{tabular}{clc}
+\hline
+ GB/T 7714-2015中的参考文献类型 & biblatex中的条目类型 & 类型标识代码\\ \hline
+ 专著& book & M\\
+ 标准& standard/book or inbook with field note=standard& S\\
+ 专著中的析出文献& inbook & M\\
+ 连续出版物& periodical& J\\
+ 连续出版物的析出文献& article& J\\
+ 报纸析出的文献& newspaper/article with field note=standard& N\\
+ 专利& patent& P\\
+ 电子资源或电子公告& online/www/electronic& EB\\
+ 会议录或会议文集& proceedings& C\\
+ 会议文集中析出的文献& inproceedings/conference& C\\
+ 汇编或论文集& collection& G\\
+ 汇编或论文集析出中的文献& incollection& G\\
+ 学位论文& thesis/mastersthsis/phdthsis& D\\
+ 报告& report/techreport& R\\
+ 手册& manual& A\\
+ 档案& archive/manual& A\\
+ 数据库& database& DB\\
+ 数据集& dataset& DS\\
+ 软件& software& CP\\
+ 舆图& map& CM\\
+ 未出版物& unpublished& Z\\
+ 其它& misc& Z\\
+ \hline
+ \end{tabular}
+\end{table}
+
+
+组成各个条目的不同数据域(字段)保存有参考文献的各部分信息,比如作者、标题、出版项、日期等等,这些在标准中称为著录项目,
+其对应关系如表\ref{tab:entryfields}所示。
+
+\begin{table}[!htb]
+\centering
+\caption{常见信息域}\label{tab:entryfields}
+\small
+\begin{tabular}{cl}
+\hline
+ GB/T 7714-2015中的文献著录项目 & biblatex中的域\\ \hline
+ 责任者 & author\\
+ 题名 & title\\
+ 译者 & translator\\
+ 版本(主要用于出版物) & edition\\
+ 版本(主要用于软件和手册) & version\\
+ 出版地 & location/address\\
+ 出版者 & publisher\\
+ 出版者(大学和研究所) & institution/school\\
+ 出版者(会议主办方、手册和电子资源出品方) & organization\\
+ 日期 & date\\
+ 日期(不可解析的日期) & year\\
+ 页码 & pages\\
+ 析出文献来源的责任者 & bookauthor\\
+ 析出文献来源的标题 & booktitle\\
+ 连续出版物题名(期刊名) & journal/journaltitle\\
+ 期刊的卷 & volume\\
+ 期刊的期/专利号等 & number\\
+ 获取和访问路径 & url\\
+ 引用日期 & urldate\\
+ 数字对象标识符 & doi\\
+ 杂项 & note\\
+ 文献类型标识符 & usera/mark\\
+ 文献载体标识符 & medium\\
+ \hline
+ \end{tabular}
+\end{table}
+
+需要注意的是,note域在本样式中也做特殊用途,即在book类型的note域中输入standard表示标准,在aritcle类型的note域中输入news表示报纸,当然也可以不做特殊用,而只是表示杂项信息,因为标准和报纸可以用standard和newspaper类型表示,尽管这两种类型不是biblatex原生的条目类型。而usera域用于表示参考文献类型和载体标识符(为兼容Lee zeping的bst样式使用的bib文件也可以用mark和medium表示)。一般情况下usera,mark,medium这些域不用在bib文件中输入,而由样式文件自动处理得到,既为了使bib文件更纯粹,也为了兼容不同的样式。想象一下如果在bib文件中给出usera域,但另一样式需要使用usera域且用途不同,那么就会有兼容性问题。不用手动输入更重要的目的是为用户减负,因为用户可以直接使用从网络(各种学术)导出参考文献信息而不用再额外添加一个参考文献类型和载体标识符。本宏包自动判断语言而不使用一个表示语言的域比如language来标记文献的语言类型也出于同样的考虑,当然也有一种情况即一篇文献中存在多种语言是无法用一个language标识的,比如一本英文著作被翻译为中文,那么原作者是英文,而译者则是中文,这时标记language的意义不大。标记language更多的是用在多种语言混合的文档中,可以用language来标记英语、中文、日语、法语和德语等用于分语言排序。
+
+各个数据域的录入应符合bib文件规范。\bc{需要注意: 有时直接从网络获取的参考文献信息中可能带有一些特殊字符比如\%,\&等,这些字符在 tex 中通常需要做转义处理,本样式中对像title,journal等常见域中出现的特殊字符已经做了转义,但是一些不常见的域比如 abstract 等没有考虑,所以用户需要手动处理,例如把\%改为\textbackslash \%,否则可能导致出错}。下面详细介绍本样式中使用的域及其数据录入方式:
+
+\begin{description}
+ \item[author] 在biblatex中author域属于name数据类型,输入数据时,各姓名间用and 连接,当姓名过多省略时,用others代替。
+
+ 单个姓名,对于中文作者直接输入中文姓名即可。比如:于潇 and 刘义 and 柴跃廷 and others
+
+ 对于英文作者,单个姓名有两种biblatex可以解析的输入方式:
+
+ \textcircled{1}prefix lastname, suffix, firstname middlename
+
+ \textcircled{2}firstname middlename lastname or firstname prefix lastname
+
+ 对于需要输入前后缀的姓名只能采用第一种方式,比如:
+ DES MARAIS, Jr., D J and H STRAUSS and SUMMONS, R. E. and others
+
+ 这里的第一个姓名输入为前缀,姓,后缀,名,中间名。第二个姓名输入为名,姓。第三个姓名输入为姓,名,中间名。
+
+ \bc{需要强调:对于第二种输入方式,姓名各个组成部分最好首字母是大写的,首字母非大写可能导致解析出错,比如姓名只有两个组成部分firstname和lastname,如果firstname小写的话,有可能会解析为prefix lastname。对于第一种输入方式,则至少lastname需要首字母大写,否则有可能将lastname解析成prefix。其中lastname也称familyname,firstname middlename 两者共称givenname}
+
+ 对于机构作者,不需要解析,直接输入机构名,英文的各个机构名用\{\}包起来,比如:
+
+ 中国企业投资协会 and 台湾并购与私募股权协会 and 汇盈国际投资集团
+
+ \{International Federation of Library Association and Institutions\}
+
+ \item[title] 直接输入需要打印的内容,subtitle或titleaddon域类似
+ \item[translator] 与author域类似,只是输入的是译者
+ \item[edition] 直接输入整数,或者需要打印的内容
+ \item[location] 直接输入需要打印的地址内容,而address域在biblatex中作为location别名,表示相同的内容。
+ \item[publisher] 直接输入需要打印的出版者内容,institution,organization域类似
+ \item[date] 日期可以格式化输入,格式化输入biblatex 会自动解析,如果无法解析会忽略该域。格式化的输入方式是:
+
+ 年-月-日/年-月-日
+
+ 比如:2001-05-06/2001-08-01
+
+ \emph{特别要注意起止日期之间的分隔符为/而不是- ,因为年月日之间已经存在分隔符- },其中第一个年- 月- 日会解析并存储到year,month,day域中,第二个会解析并存储到endyear,endmonth,endday域中。更多细节参考biblatex 手册的Table 8: Date Interface。
+
+ \item[year] year域的输入与date域类似,为了兼容一些老的bib文件,把year 直接用map 转换成date,所以在本样式的使用中输入year域与date域相同。
+
+ 但year与date存在一定的差异,即year可以处理仅有年的信息或者需要原样打印的内容。比如:
+ 1881(清光绪七年)。
+
+ 这一信息如果放在date中会被自动忽略,但放到year域中,本样式会先将其拷贝到date中进行解析,无法解析的话,date域忽略,但year 信息仍然存在,并原样打印。
+
+ \item[pages] 可以格式化输入或输入需要打印的内容。格式化输入时,页码用整数,当有范围时,用短横线(使用多个短横线也没有问题)隔开。比如:59-60。 当无法解析时,输入内容被认为是需要完整打印的内容。
+ \item[urldate] urldate域与date域类似,只是解析时,存储到urlday,urlmonth,urlyear,urlendday,urlendmonth,urlendyear域中。
+ \item[url] 直接输入需要打印的网址内容
+ \item[doi] 直接输入需要打印的DOI内容
+ \item[note] 在本样式中note域有特殊功能,当其内容为standard或news 时,判断条目类型为标准和报纸析出的文献。
+ \item[bookauthor] 用于析出文献时,作为析出文献来源文献的作者,其输入方式与author 相同。
+ \item[booktitle] 用于析出文献时,作为析出文献来源文献的题名,其输入方式与title 相同。booktitleaddon域输入方式也相同。
+ \item[volume] 连续出版物的卷,格式化输入用整数,当有范围时中间用短横线连接,比如:1-4。当无法解析时,输入内容被认为是需要完整打印的内容。
+ \item[number] 连续出版物的期或报纸的版次,输入与volume类似。或者是专利等的号时,直接输入需要打印的内容。
+ \item[journal] 用于连续出版物析出文献,表示连续出版物的题名,直接输入需要打印的内容。journaltitle,journalsubtitle域类似处理。
+ \item[version] 用于report和manual的版本信息,直接输入需要打印的内容。
+ \item[mark/usera] 不用输入,自动处理。也可以输入文献类型标识符比如M, J, DB, CP等。
+ \item[medium] 不用输入,自动处理。也可以输入文献载体标识符比如MT, DK, CD, OL 等。
+ \item[language] 不用输入,自动处理。也可以输入语言类型比如english, russian, french, japnese, korean, chinese等。主要用来标识文献的语言类型,用法详见\ref{sec:multilan:combine}节。
+ \item[langid] 不用输入,自动处理。也可以输入语言名比如english, russian, french等,中日韩语一般用english。主要用于配合babel等宏包进行文献的本地化字符串处理,用法详见\ref{sec:multilan:combine}节。
+ \item[nameformat] 不用输入。当需要调整当前条目的作者姓名的格式时,可以输入格式名:uppercase, lowercase, givenahead, familyahead, pinyin等。详见\ref{sec:added:opt}节。
+ \item[namefmtid] 不用输入。
+\end{description}
+
+除了上述输入内容要求外,GB/T 7714-2015还有对数字、字母大小写等有一些格式要求,这些细节需要注意,请参考:
+\begin{itemize}
+\item 数字:\ref{sec:fmt:number}节
+\item 字母大小写:\ref{sec:fmt:lettercase}节
+\item 卷和期:\ref{sec:fmt:volnum}节
+\item 版次:\ref{sec:fmt:edition}节
+\item 出版项:\ref{sec:fmt:pubitem}节
+\item 页码:\ref{sec:fmt:pages}节
+\end{itemize}
+
+
+\section{参考文献著录格式示例}\label{sec:eg:gb77142015}
+
+%\subsection{GB/T 7714-2015 中的著录标准和顺序编码制示例}
+
+%\includepdf[pages={1-5}]{egfigure/eggbcitation.pdf}
+
+
+%\subsection{GB/T 7714-2015 中的著者年份制示例}
+
+%\includepdf[pages={1-2}]{egfigure/eggbcitationay.pdf}
+
+%\subsection{GB/T 7714-2015 中的附录参考文献示例}
+
+%\includepdf[pages={1-4}]{egfigure/eggbbiblio.pdf}
+
+
+
+\subsection{GB/T 7714-2015 标准示例}
+
+详见文档:\href{run:./stdGBT7714-2015.pdf}{GBT7714-2015std}
+
+\subsection{更多示例}
+
+\begin{itemize}
+
+ \item 示例: beamer类中的参考文献示例
+
+ \item 示例: 专著book和专著中的析出文献inbook及标准standard文献
+
+ \item 示例: 连续出版物periodical和连续出版物中的析出文献article
+
+ \item 示例: 电子资源或在线资源online
+
+ \item 示例: 学位论文thesis、专利文献patent
+
+ \item 示例: 报告report、手册manual和档案、未出版物unpublished
+
+ \item 示例: 会议文集proceedings和会议文集中析出的文献inproceedings
+
+ \item 示例: 汇编collection和汇编中的析出文献incollection
+
+ \item 示例: online条目仅存url信息
+
+ \item 示例: 传统和新增条目类型的兼容性
+
+ \item 示例: 中英文判断信息中存在编组时的处理
+
+ \item 示例: 处理参考文献信息中\&等特殊字符
+
+ \item 示例: 处理作者年制article中卷信息缺省的标点
+
+ \item 示例: 标题中有\textbackslash LaTeX\{\}等名称时的情况
+
+\end{itemize}
+
+beamer类示例,参见: \href{run:./example/egbeamer.tex}{顺序编码制};
+\href{run:./example/egbeameray.tex}{作者年制}。
+
+其它示例,参见:
+\href{run:./example/testallformat.tex}{testallformat.tex}。
+
+详见文档:
+\href{run:./example/stdGBT7714-2015eg.pdf}{GBT7714-2015egstd}。
+
+\section{GB/T 7714-2015 标准说明与实现}
+
+\subsection{顺序编码制}
+
+\subsubsection{参考文献表}\label{sec:bib:serialno}
+
+GB/T 7714-2015规定采用顺序编码制组织参考文献时,各篇文献应按正文部分标注的序号依次列出。具体参考GB/T 7714-2015第9.1节。
+
+\subsubsection{文献标注法}
+标注则根据在正文中引用的先后顺序连续编码,将序号置于方括号内。
+
+同一处引用多篇文献,各篇序号间用逗号隔开,遇连续序号,起讫序号用短横线连接。
+
+多次引用同一著者的同一文献时,可在序号的方括号外著录该文献引文页码,这一要求与引用(标注)样式无关,需要作者在写文档时使用相应的引用命令并在需要时输入页码信息。针对这一要求,在cite等常用命令基础上,新定义了一个引用命令pagescite,其使用方式详见第\ref{sec:cbx:usage}节。标注样式更详细要求参考GB/T 7714-2015 第10.1节。
+
+如果顺序编码制采用脚注方式,则序号由计算机自动生成圈码。多次引用同一著者的同一文献时,若采用脚注方式应重复著录参考文献(这里可以理解为,采用该方式,同一文献的不同页码的引文就相当于一篇新的引文),只是在参考文献列表中可以简化(当然不进行简化,简单复制后录入对于latex的参考文献处理其实更方便)。事实上对于顺序编码用脚注方式,GB/T 7714-2015并没有详细说明脚注方式到底是什么?从举例看只是序号用类似于脚注的标签,那么对于参考文献样式来说,与非脚注方式的差别仅在于引用和参考文献条目的序号标签的差别,如此是容易通过修改样式文件得到的,但实际使用中除非有特殊要求,否则使用意义不大,因此本样式没有实现该功能。
+
+\subsection{作者年制}
+
+\subsubsection{参考文献表}
+
+GB/T 7714-2015规定采用作者年制组织时,各篇文献首先按文种组织,可分为中文,日文,西文,俄文和其他文种等部分;然后按照著者字顺和出版年排列。中文文献可以按著者汉语拼音字顺排序,也可按笔画顺序排列。具体参考GB/T 7714-2015第9.2节。
+
+%(因为需要根据语言进行划分,所以语言(language)域对于录入文献来说可能是必要的,因为作者的测试仅涉及中英文两种语言,没有遇到需要language域的情况。)
+
+\subsubsection{文献标注法}
+各篇文献的标注内容由著者姓(lastname/family)和出版年构成,并置于()内。对于使用汉字的语言来说,整个姓名都是 lastname/family 所以标注的是全名。机构团体名也整体标注。
+
+若正文中已有著者姓名,则()内只标注出版年,这一点样式文件无法判断,只能是文档作者自身把握,当然本样式提供了标签只有年份、附加年份和页码信息的引用命令yearpagescite/yearcite,方便文档作者使用,使用方法详见第\ref{sec:cbx:usage}节。当然文档作者还可以使用textcite命令同时给出满足格式要求的作者和年份信息,本样式已做支持。
+
+引用多个著者的文献时,对西文只需标注第一著者的姓(而在参考文献列表中的作者按最大数量三个处理,这与顺序编码制一致,参考GB/T 7714-2015第8.1.2节),其后附“et al.”,对于中文著者,标注第一著者的姓名,其后附“等”。姓名与“et al.”“等”间留适当空隙。
+
+\bc{注意到在GB/T 7714-2015第10.2.1节给出的例子中作者姓的大小写格式与参考文献表中的要求是不同的,这说明标注中的作者姓名是由写文档的作者来决定的,因此本样式文件原样输出bib源文件中作者姓的大小格式}。
+
+引用同一著者同一年出版的多篇文献时,出版年后应采用小写字符a,b,c等区别。
+
+多次引用同一著者的同一文献,在正常标注外,需在()外以角标形式著录引文页码,这一问题样式文件无法判断,只能提供可以形成该格式的引用命令,供文档作者使用,因此提供pagescite命令,使用方法详见第\ref{sec:cbx:usage}节。
+
+标注要求具体参考GB/T 7714-2015第10.2节。
+
+\qd{一般情况下,当文献作者缺省时,作者年制就没有作者可以用,因此文献题名用来生成标签,这样会导致文献表中文献题名后的文献类型标识/文献载体标识消失(这是因为题名用于生成标签后,题名域会被清除,自然也就不输出题名相关的信息了,见后面的示例文献“\hyperlink{entrystdwithoutauthor}{Information and documentation-the Dublin core metadata element set}”)。此时可以用佚名替代缺省作者的方式避免这个问题,即可以使用样式文件提供的选项gbnoauthor=true,一旦设置该选项为true,则缺省的作者会根据文献语种填充为佚名或Anon。默认情况下,不进行这种处理,即相当于设置选项gbnoauthor=false。而顺序编码制因为标签是数字序号,所以不存在这个问题。}
+
+%本样式文件默认情况下采用佚名方式,如果不需要使用佚名,那么需要在样式文件中注释掉一段代码,这段代码在本文档末尾2016-11-14的更新历史中有说明,见\pageref{up:20161114}页。}
+
+\subsection{各类文献在biblatex中对应的条目和域}\label{sec:numeric:data}
+biblatex-gb7714-2015宏包设计的重要原则是要符合GB/T 7714-2015标准。因此根据GB/T 7714-2015 的要求并结合biblatex的条目类型和数据域,对各类参考文献做如下考虑:
+\subsubsection{专著/book}
+\begin{refentry}{}{}
+专著对应的biblatex的entrytype为:book,文献类型标识用M表示。
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.1节):\\
+主要责任者.题名:其他题名信息[文献类型标识/文献载体标识].其他责任者.版本项.出版地:出版者,出版年:引文页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{专著/book条目的域格式}{eg:bookfieldfmt}
+\begin{texlist}
+author.title[usera].translator.edition.location:publisher,date或year:pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+其中标题相关的附加信息除了可以直接在title域中录入外,还可以在subtitle或titleaddon域中添加,后面出现的booktitle,journaltitle,也有类似情况,可以在booktitleaddon或者journalsubtitle中附加信息。其中出版地用location域表示,也可以用传统的address表示,biblatex将address作为location的别名处理,使用两者中的任何一个都可以表示出版地信息。\bc{特别强调: usera域不用录入,该域内容由bbx样式文件根据条目类型自动处理得到。}
+
+\qd{由于biblatex不支持standard条目类型,所以“标准”类型可以用book或inbook替代,但使用note域等于standard作为一个区分,当note域数据存在且内容等于standard时,就将其作为“标准”文献进行处理,其文献类型标识用S表示。这里为什么使用note域而不是type域和keywords域,是因为考虑到note域一般情况下没有什么特殊意义,使用它不会导致冲突,而type域在biblatex标准样式中没有被book和article条目类型当作支持的域,对于支持该域的条目比如thesis,type域又有特殊的意义,是用来区分master和doctor的,而keywords域倒是可以使用,只是该域一般很少在jabref之类软件的默认域中,需要进一步设置,而且可能带来不通用的问题。}
+
+\subsubsection{标准/standard}\label{sec:standard}
+“标准”(standard)作为一种文献条目类型biblatex并不支持,因此直接利用book或inbook类型加note域等于standard代替。当然为了兼容传统BIBTeX格式存在standard类型的情况,也可以直接使用standard类型。
+为此本样式对standard条目类型做了特别支持。著录格式的处理原理与前一节所述相同,只是利用动态数据将standard类型转换为book/inbook类型。在bib文件中直接使用standard类型时注意使用其它biblatex样式时可能存在移植障碍,因为其它样式可能不支持standard类型。
+
+\begin{refentry}{}{}
+标准对应的biblatex的entrytype为: standard。文献类型标识用S表示。
+
+\bibliofmt{其著录格式为}(与book和inbook类型类似,其中圆括号内是与inbook类似时存在的内容,此外当出版地和出版者不存在时直接忽略,这是与book和inbook不同的地方。):\\
+主要责任者.文献题名[文献类型标识/文献载体标识].其他责任者(//所在文献集主要责任者.文献集题名:其他题名信息).版本项.出版地:出版者,出版年:文献的页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{标准/standard条目的域格式}{eg:standardfieldfmt}
+\begin{texlist}
+author.title[usera](//bookauthor.booktitle).edition.location:publisher,date或year:pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\emph{需要注意的是: 根据GB/T 7714-2015标准第19页的标准文献示例,当标准不存在出版项时,直接省略}。
+
+
+\subsubsection{专著中的析出文献/inbook}
+\begin{refentry}{}{}
+专著中的析出文献对应的biblatex的entrytype为: inbook。文献类型标识用M表示。
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.2节):\\
+析出文献主要责任者.析出文献题名[文献类型标识/文献载体标识].析出文献其他责任者//专著主要责任者.专著题名:其他题名信息.版本项.出版地:出版者,出版年:析出文献的页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{专著析出文献/inbook条目的域格式}{eg:inbookfieldfmt}
+\begin{texlist}
+author.title[usera]//bookauthor.booktitle.edition.location:publisher,date或year:pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\subsubsection{连续出版物/periodical}
+\begin{refentry}{}{}
+连续出版物对应的biblatex的entrytype为: periodical。文献类型标识用J表示。
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.3节):\\
+主要责任者.题名:其他题名信息[文献类型标识/文献载体标识].年,卷(期)-年,卷(期).出版地:出版者,出版年[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{连续出版物/periodical条目的域格式}{eg:periodicalfieldfmt}
+\begin{texlist}
+author/editor.title[usera].year或date,volume(number)-endyear, endvolume(endnumber).location:institution,date或year[urldate].url.doi
+\end{texlist}
+\end{example}
+
+其中连续出版物的出版者用institution表示。
+\qd{因为连续出版物可能用到两个日期,两个卷,两个期,所以录入数据时需要特别处理。不需要录入endyear等信息,只需要在到year或date域录入两个日期,由biber自动解析,两个日期之间用/分隔。而卷和期由于可能有合订模式,且合订卷期之间用/分隔(参考GB/T 7714-2015第8.8.3节),因此如果需要解析有起止范围的卷和期,录入到volume和number域的信息中起止值之间应用-分隔。}
+
+\subsubsection{连续出版物的析出文献/article}
+\begin{refentry}{}{}%[break at=0.5cm/0pt]
+连续出版物的析出文献对应的biblatex的entrytype为: article。文献类型标识用J表示。
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.4节):\\
+析出文献主要责任者.析出文献题名[文献类型标识/文献载体标识].连续出版物题名:其他题名信息,年,卷(期):页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{连续出版物析出文献/article条目的域格式}{eg:articlefieldfmt}
+\begin{texlist}
+author.title[usera].journaltitle或journal,year,volume(number):pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\qd{由于biblatex不支持newspaper 条目类型,所以条目类型报纸析出的文献用article表示,但使用note域等于news作为一个区分,当note域数据存在且内容等于news时,就将其作为报纸的析出文献进行处理。报纸文献类型标识用N表示,报纸的版次用number域描述。}
+
+\subsubsection{报纸析出的文献/newspaper}\label{sec:standard}
+biblatex没有将报纸的析出文献(newspaper)作为一种文献条目类型,因此可以直接利用article类型加note域等于news代替,或者也可以直接使用newspaper类型。为方便使用考虑,本样式增加了对新条目类型newspaper的支持,这种支持通过类似于standard类型的方式实现,没有对数据模型进行改动或增加,而完全利用动态数据修改将newspaper类型转换为article类型。在bib文件中直接使用newspaper类型时需要注意可能存在移植障碍,因为其它biblatex样式可能不支持newspaper类型。
+
+\begin{refentry}{}{}
+报纸析出的文献对应一个新的entrytype为: newspaper。文献类型标识用N表示。
+
+\bibliofmt{其著录格式为}(类似于article):\\
+析出文献主要责任者.析出文献题名[文献类型标识/文献载体标识].报纸题名:其他题名信息,日期(版号)[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{报纸析出的文献/newspaper条目的域格式}{eg:newspaperfieldfmt}
+\begin{texlist}
+author.title[usera].journaltitle或journal,date(number)[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\qd{newspaper类型与article类型的差别主要是(1)文献标识码不是J而是N;(2)报纸的日期需要表示到日。}
+
+\subsubsection{专利/patent}
+\begin{refentry}{}{}%[break at=3cm/0pt]
+专利文献对应的biblatex的entrytype为: patent。文献类型标识用P表示。
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.5节):\\
+专利申请者或所有者.专利题名:专利号[文献类型标识/文献载体标识].公告日期或公开日期[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{专利文献/patent条目的域格式}{eg:patentfieldfmt}
+\begin{texlist}
+author.title:number[usera].date或year[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\qd{需要注意:公告日期或公开日期需要表示到日。}
+
+\subsubsection{电子资源/online}
+\begin{refentry}{}{}%[break at=0.4cm/0pt]
+电子资源对应的biblatex的entrytype为: online或electronic或者www。文献类型标识用EB表示。
+\bc{(注意: biblatex将electronic或www作为online条目类型的别名,对于标准样式来说这两者出现在bib文件中等同于online,但这种等同标准样式是在驱动层进行处理的,而gb7714-2015样式还需要处理文献类型标识,本样式文件做了进一步支持。因此bib文件中也可以直接使用electronic和www。)}
+
+\bibliofmt{其著录格式为}(参考GB/T 7714-2015第4.6节):\\
+主要责任者.题名:其他题名信息[文献类型标识/文献载体标识].出版地:出版者,出版年:引文页码(更新或修改日期)[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{电子资源/online/electronic/www条目的域格式}{eg:onlinefieldfmt}
+\begin{texlist}
+author.title[usera].organization,date或year:pages(date/enddate/eventdate)[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\qd{尽管GB/T 7714-2015中给出的著录格式包含出版地和出版者,但通常情况下具有出版地和出版者的文献会归类到其它条目类型中,至于存在的url信息,只要标识文献载体即可,即一般情况下(出版地:出版者,出版年:引文页码)这些信息很少出现在online[EB]条目中。因此默认情况下,gb7714-2015样式只处理出现organization中的出版项信息,此外用date表示更新或修改日期,urldate表示引用(访问)日期。如果出现复杂情况,更新或修改日期还可以利用enddate/eventdate表示。注意修改日期需要表示到日}
+
+以上是GB/T 7714-2015直接给出著录格式的条目类型,还有一些类型并没有给出具体格式,但在例子中也有所体现,本样式文件根据这些例子,给出了著录格式。
+
+\subsubsection{汇编或论文集/collection}
+
+\begin{refentry}{}{}
+汇编文献对应的biblatex的entrytype为:collection。文献类型标识用G表示。
+
+\bibliofmt{其著录格式为} 采用与book一致的格式。
+\end{refentry}
+
+\subsubsection{汇编或论文集析出中的文献/incollection}
+\begin{refentry}{}{}
+汇编中的析出文献对应的biblatex的entrytype为:incollection。文献类型标识用G表示。
+
+\bibliofmt{其著录格式为} 采用与inbook一致的格式。
+\end{refentry}
+
+\subsubsection{会议录或会议文集/proceedings}
+\begin{refentry}{}{}
+会议文集的biblatex的entrytype为:proceedings。文献类型标识用C表示。
+
+\paragraph{其著录格式为} 采用与book类似的格式。
+\end{refentry}
+
+\subsubsection{会议文集中析出的文献/inproceedings}
+\begin{refentry}{}{}
+会议文集中析出的文献对应的biblatex的entrytype为:inproceedings。文献类型标识用C表示。
+\bc{(注意: biblatex将conference作为inproceedings条目类型的别名,对于标准样式来说conference出现在bib文件中等同于inproceedings,但这种等同标准样式是在驱动层进行处理的,而gb7714-2015样式还需要处理文献类型标识,本样式文件做了进一步支持。因此bib文件中也可以直接使用conference。)}
+
+\bibliofmt{其著录格式为} 采用与inbook类似的格式。
+\end{refentry}
+
+
+\subsubsection{报告/report}
+\begin{refentry}{}{}
+报告对应的biblatex的entrytype为: report。文献类型标识用R表示。\bc{(注意:biblatex将techreport作为report条目类型的别名,对于标准样式,techreport出现在bib文件中等同于report,但这种等同标准样式是在驱动层处理的,而gb7714-2015样式还需要处理文献类型标识,本样式文件做了进一步支持。因此bib文件中也能直接使用techreport类型。)}
+
+\bibliofmt{其著录格式为} (由biblatex的标准report格式修改得到,注意当出版地和出版者不存在时忽略这两项)
+
+主要责任者.题名:其他题名信息[文献类型标识/文献载体标识].其他责任者.类型.号码.版本项.出版地:出版者,出版年:引文页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{报告/report/techreport条目的域格式}{eg:reportfieldfmt}
+\begin{texlist}
+author.title[usera].translator.type number.version.location:institution,date 或year:pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+\qd{因为有的报告文献可能存在类型和报告号信息,比如AIAA 9076或AD 730029等,所以著录格式需要有所体现,而这两个数据体现在type和number两个域中,或者在version域中体现也可,而对于标题中的出现的报告号,可以直接在标题或子标题或者附加标题中体现。report的版本信息放在version域中,而不是book等条目的edition域中。出版项处理与book一样,但当出版项缺省时,且存在网址时,直接省略出版项,且加上修改和更新日期,类似于online类型的处理。}
+
+\subsubsection{学位论文/thesis}
+\begin{refentry}{}{}
+学位论文对应的biblatex的entrytype为: thesis。文献类型标识用D表示。\bc{(注意:biblatex将mastersthesis或phdthesis作为thesis条目类型的别名,对于标准样式来说这两者出现在bib文件中基本等同于thesis,但却会增加type信息。但这种等同,标准样式是在驱动层进行处理的,而gb7714-2015样式还需要处理文献类型标识并且不需要type信息,本样式文件做了进一步支持。因此bib文件中也可以使用mastersthesis和phdthesis)。}
+
+\bibliofmt{其著录格式为} 由biblatex的标准thesis格式修改得到。
+
+主要责任者.题名:其他题名信息[文献类型标识/文献载体标识].其他责任者.出版地:出版者,出版年:引文页码[引用日期].获取和访问路径.数字对象唯一标识符.
+\end{refentry}
+
+其对应的biblatex数据域为:
+\begin{example}{学位论文/thesis/mastersthesis/phdthesis条目的域格式}{eg:thesisfieldfmt}
+\begin{texlist}
+author.title[usera].translator.location:institution,date或year:pages[urldate].url.doi
+\end{texlist}
+\end{example}
+
+ \bc{thesis出版者用institution域表示,体现的是机构而不是一般的出版社。注意:thesis类型的出版项缺失时直接省略。}
+
+\subsubsection{手册或档案/manual/archive}
+\begin{refentry}{}{}
+手册和档案采用一种格式,对应的biblatex的entrytype为: manual或archive。文献类型标识用A表示。
+
+\bibliofmt{其著录格式为} 借用thesis格式处理,而不是标准样式中的manual格式,这种方式下,当没有出版地和出版者时,完全省略。
+\end{refentry}
+
+
+\subsubsection{未出版物/unpublished}
+\begin{refentry}{}{}
+未出版物,对应的biblatex的entrytype为: unpublished。文献类型标识用Z表示。
+
+\bibliofmt{其著录格式为} 借用thesis格式处理。
+\end{refentry}
+
+\subsubsection{更多类型}
+\begin{refentry}{}{}
+数据库(database)、数据集(dataset)、软件(software)、舆图(map)、其它(misc)分别使用自己的数据类型和类型标识符。
+
+\bibliofmt{其著录格式为} 借用thesis格式处理。
+\end{refentry}
+
+
+\qd{注意:从report类开始的这些类型,当不存在出版项,且存在网址时,都转换为采用online的格式处理。}
+
+
+\subsection{标准的其它细节要求}
+
+除了第\ref{sec:numeric:data}节针对不同条目类型的著录格式要求外,GB/T 7714-2015 还有一些细节规定比如文字、符号等,biblatex-gb7714-2015宏包做如下考虑,
+示例见文档\href{run:./stdGBT7714-2015.pdf}{stdGBT7714-2015}:
+
+\subsubsection{数字}\label{sec:fmt:number}
+
+\begin{property}{}{}
+用户录入文献数据中包含数字时,gb7714-2015按照GB/T 7714-2015第6.2节要求输出阿拉伯数字。
+\end{property}
+
+\subsubsection{英文字母}\label{sec:fmt:lettercase}
+
+\begin{property}{}{}
+为了符合西文文献责任者的字母大小写习惯,gb7714-2015通过判断是否存在givenname/firstname来确定是否是个人作者,当存在givenname/firstname 时认为是个人作者,不存在则是机构作者,当是个人作者时familyname/lastname按GB/T 7714-2015 要求全大写,是机构作者则仅大写首字母。所以为满足GB/T 7714-2015 第6.3节要求,对于仅有英文姓(lastname)的个人作者,用户录入时字母应全大写。
+
+用户录入出版项、西文期刊名缩写以及西文文献的字母时,应按照GB/T 7714-2015第6.4节,第6.5节,6.6节要求,使用符合要求的习惯用法和大小写方式,gb7714-2015以原样打印的方式处理。
+
+对于英文大小写问题,GB/T 7714-2015除了责任者的大写要求外,其它要求均比较模糊,但提到可参照ISO 4的要求。但实际上,不同的期刊可能会有各自不同的要求。从笔者的经验看,一般国内的期刊对于字母大小写通常要求: 责任者(全部大写); 题名(句首字母大写其它全部小写); 期刊名会议名(单词首字母大写); 出版项和其它(单词首字母大写)。所以用户在录入bib文件时可以按照这种常见方式来输入以减少后期修改。
+\end{property}
+
+\subsubsection{标点}
+
+\begin{property}{}{}
+用户录入引文信息时不需要考虑域之间的标点符号,只需录入各数据域时考虑习惯的标点用法。gb7714-2015实现了GB/T 7714-2015第7节所给出的著录用符号要求。
+\end{property}
+
+\subsubsection{责任者}
+
+\begin{property}{}{}
+用户录入引文的责任者信息时,当责任者为多级机关团体时,用户填入auther信息时,应按照GB/T 7714-2015第8.1.4节要求,用英文句点.号分隔。
+
+当责任者是个人英文名,且具有名、姓、前缀和后缀,应按照第\ref{sec:bib:bibtex}节给出姓名录入方式处理才能正确解析,比如:von Peebles, Jr., P. Z.,其中von为姓前的前缀,Jr.为姓后的后缀,P. Z. 为缩写名(包括first name 和middle name)。
+
+gb7714-2015实现了GB/T 7714-2015第8.1节要求的责任者样式,能自动判断责任者语言并分别处理,设置了全局选项useprefix=true以使用前缀,增加了gbnamefmt选项用于设置不同的姓名输出格式。
+\end{property}
+
+\subsubsection{文献类型标识和载体}
+
+\begin{property}{}{}
+用户录入引文题名信息时,无需给出文献类型标识/文献载体标识。同一责任者的合订题名,应用户根据GB/T 7714-2015 第8.2.1节的要求,在多个题名间用英文分号分隔,并整体录入到title数据域中。而分卷号,卷次,册次等信息时,除了专利号用number域录入外,其它可以直接在title数据域或者subtitle/titleaddon等数据域中给出。
+
+gb7714-2015实现了符合GB/T 7714-2015第8.2节要求的格式,能根据条目信息确定文献类型标识/文献载体标识,并在各类参考文献条目驱动中直接使用,也可以利用gbtype选项设置是否输出该信息。各不同类型文献的类型标识/文献载体标识,参考GB/T 7714-2015 表B.1和B.2。
+\end{property}
+
+\subsubsection{版次}\label{sec:fmt:edition}
+
+\begin{property}{}{}
+用户在录入版次信息时,只要录入版次的整数数字比如2,或者录入需要打印的字符串比如明刻本。
+
+gb7714-2015实现了GB/T 7714-2015第8.3节要求的格式,根据edition/version域输入信息分别处理,对于整数则解析后格式化,对于其它特殊版本说明,如新1版,明刻本等,直接在edition域录入后原样打印。
+\end{property}
+
+\subsubsection{出版项}\label{sec:fmt:pubitem}
+
+\begin{property}{}{}
+用户在录入出版项信息时,当出版日期有其它形式的纪年时,将其置于公元纪年后面的()内,并整体录入到 year 数据域(注意不是date域)中,比如: 1845(清同治四年)。而引用/访问日期应录入到 urldate 数据域。当除了出版日期外还有修改/更新日期等时,可在year或date数据域录入第二个日期,并用/符号与前一个出版日期隔开。而专利的公告日期和其它条目类型的出版年应录入到 date 域中。
+
+gb7714-2015实现了GB/T 7714-2015第8.4节要求的格式。当出版地和出版者缺省时,中英文自动区分处理。对于用/符号隔开的两个日期,biblatex后端biber能自动解析,后一个日期数据自动解析到endyear等域可作为修改日期等使用。
+\end{property}
+
+\subsubsection{页码}\label{sec:fmt:pages}
+\begin{property}{}{}
+用户在录入页码信息时,可以在pages域中根据需要录入可解析的页码(即用整数表示页码,起讫页码用-分隔),比如: 81-86。 也可以直接录入需要打印的信息,比如: 序2-3等。
+
+gb7714-2015实现了GB/T 7714-2015第8.5,8.8.2节的要求,对于能解析的页码自动解析后格式化,对于不能解析的页码则原样输出。
+\end{property}
+
+\subsubsection{访问路径URL和DOI}
+\begin{property}{}{}
+用户在录入获取和访问路径、数字对象唯一标识符信息时,将访问路径录入到url域中,数字对象唯一标识符录入到doi域中即可。
+
+gb7714-2015实现了GB/T 7714-2015第8.6,8.7节要求的格式。
+\end{property}
+
+\subsubsection{卷和期}\label{sec:fmt:volnum}
+\begin{property}{}{}%[break at=0.4cm/0pt]
+用户在录入卷、期等信息时,如\ref{sec:bib:bibtex}节中所述,合期的期号用/间隔,比如9/10,填入number域,报纸的版次也填入number域。
+
+gb7714-2015实现了GB/T 7714-2015第8.8节要求的析出文献相关格式。
+\end{property}
+
+
+\section{总结与致谢}
+
+通过对 GB/T 7714-2015 标准的分析,对 biblatex 的学习和理解,在 biblatex 标准样式基础上,设计完成了符合 GB/T 7714-2015 标准的biblatex参考文献样式。从测试实践看,基本能够满足使用要求,用户可以放心使用。遇到问题时,除了可以查看
+本文档说明外,也可以看样式文件代码,其中给出了详细注释,如果遇到无法解决的问题,请邮件联系作者。
+
+%读者若查看样式文件内容可以看到作者对各目标要求所做的修改及,读者也可以根据自己的需求进行修改,作者设计样式文件的思路以及在设计过程中用到的一些biblatex宏包功能说明,详见第\ref{sec:biblatex:mech}节和LaTeX文档中文参考文献的biblatex解决方案的第2.7节。
+
+最后要感谢如下各位师长和朋友,正是在各位的帮助建议下,本样式不断升级逐渐完善。包括: moewew (biblatex 现在的维护者之一,给予不少有益的建议和指导)、 李志奇(基于biblatex的符合GBT7714-2005的中文文献生成工具的作者,工具中的一些设计如usera域的使用/卷期范围解析等带来很多启发,本人之前一直使用该工具,之所以开发biblatex-gb7714-2015其实主要是因为该工具因biblatex升级而无法使用)、caspervector(虽然未曾真正交流,但从biblatex-caspervector样式包中学到很多,包括排序/GBK编码等问题的解决思路)、LeoLiu(刘海洋,给出的CJK字符判断函数
+\footnote{\url{http://bbs.ctex.org/forum.php?mod=viewthread&tid=152663&extra=page\%3D3}} 对本宏包非常有帮助)、chinatex(china tex版主,给了很多建议和帮助,并且一起合作)、Sheng wenbo(biblatex用户手册合作译者,LaTeX2e 插图指南第三版译者,我们一起翻译的过程相互激励相互促进)、zepinglee(gbt7714-2015 bst样式作者,给了很多建议和讨论)、Harry Chen(ctex套件维护者之一,给了不少好的建议)、liubenyuan(关于项目组织给出了很好的建议)、刘小涛(讨论了关于zotero的使用并提出了建议)、ghiclgi(讨论了GB中作者年制标注标签的一些问题)、秀文工作组、leipility、qingkuan、湘厦人、秋平、任蒲军、fredericky123、qiuzhu、chaoxiaosu、Old Jack、Wu Nailong、Yibai Zhang、wayne508、 钟乙源、Xiaodong Yao、dsycircle、rpjshu、zjsdut、谢澜涛、Zutian Luo、海阔天空、zzqzyx、程晨、xmtangjun、蔡伟 等等。当然还有更多朋友提供了bug报告,提出了issue,提供了热心帮助,限于篇幅这里不再一一列举,在此一并表示感谢!
+
+
+\section{存在的问题和下一步工作}
+
+
+\subsection{存在的问题}
+
+\begin{enumerate}
+
+ %\item 当作者多于3个需要添加等或et al.时,如果作者的姓名是用\{\}包起来的,可能判断会出错。
+ %这个问题已经解决了,本来在\testCJKfirst中如果单靠edef加expandafter 组合,无法处理带编组的字符流。所以考虑利用xstring 宏包的\exploregroups函数来,提取字符到命令中,这一就能真正的获得域中的第一个字符,而不会把一个编组当成一个字符进行判断。2016-1223,详见修改历史1.0e中的说明。
+
+ %\item 顺序年制中当不存在著者信息时,如果用佚名或者no author,本样式文件中没有实现。怎么在数据进来后,给一些域添加信息?在biber处理过程中根据一些判断添加信息?(著者年制,没有作者,用佚名,英文怎么办?没有年怎么办?)
+ %这个问题解决了,2016-1114
+
+ %\item 作者年制引用标签时,文中已经存在作者名的,标签只需要写年份,这个需要定义一个新的yearcite命令,是容易实现的,但这里没有实现。
+ %这个问题解决了,2016-1114,增加了一个yearpagescite命令。
+
+ %\item backref的格式也可以修改一下。
+ %没有要求处理,但修改了,2016-1114,修改英文本地化字符串为引用页面。
+
+ %\item shorthand的问题没有遇到,其应用可能需要进一步理解。,主要是获取参考文献的部分信息进行统计和打印。该问题已经解决,参见biblatex-solution-to-latex-bibliography(20180525)。
+
+ \item 当专著同时存在作者和编者的时候,GB/T 7714-2015没有明确的规定,所以目前样式文件中以biblatex标准样式的方式处理,这种处理因为与本地化相关,直接应用可能不好看的,也许需要修改。
+
+ \item 在各类文献的著录格式中,GB/T 7714-2015 对于出版项给出的就是出版地和出版者,但习惯上不同的类型还是存在差异的,比如专利文献出版项还应该再明确,比如在线资源常用organization表示而无出版地。这些有待进一步明确。
+
+ \item 当作者不明时,GB/T 7714-2015 给出的说法是用佚名和其它语言相应的词代替。英文给了一个例子是Anon,似乎是anonymity的缩写。这也有待进一步明确。v1.0l版后将之前用的noauthor换成Anon。
+
+ %\item 因为GB/T 7714-2015中给出的了一些著录格式,如果把这些著录格式作为一个严格标准,那么条目中只能出现其中规定的域,而往往在bib文件中可能存在一些另外的信息比如chapter等,而且从标准样式修改的驱动中也仍然带有这些域的处理,如果为了标准化规范化考虑,可以去掉国标中没有提到的域的信息,可能使得内容更为标准,这可以通过修改增加数据模型,数据源动态修改,驱动修改(驱动中目前存在较多的似乎用不到的域,而且意义不是非常明确,这个等到biblatex说明文档中文版完成后再结合它全面的进行梳理)三条路子做到,需要的话,可以在下一步实现(2017-0226)。添加了gbstrict选项后,该问题基本已经解决(20180525)。
+\end{enumerate}
+
+\subsection{下一步工作}
+
+\begin{enumerate}
+ \item 到目前,无论是基本功能还是附加功能,biblatex-gb7714-2015样式包已经基本够用,剩下的问题可能是一些特殊情况时带来的适应性问题,这需要经过大量的测试来发现问题。如果在使用过程中发现什么问题,请邮件联系作者,非常感谢!
+
+ % 到1.0i版为止,进一步完善了: GB7714风格的文献表标签项对齐设计,编组内信息的中英文判断,特殊或老的bibtex 条目类型支持,改善空格设计以满足断行要求,支持了宏包选项(url等)应用,增加了宏包选项用于GB7714风格实现控制(gbpub 等),重新设计了版本兼容方式,以后的版本中将更容易兼容biblatex的升级。
+
+ %到1.0h版为止,进一步完善了样式宏包,该版本将是最后支持texlive2015的版本,以后版本的功能实现将基于最新texlive中biblatex 版本,而不再考虑texlive2015中3.0版的biblatex。
+
+ %1.0g版增加对mastersthesis,phdthesis,www,electronic,standard,techreport,conference,newspaper等条目类型的兼容,增加了对标准样式standard.bbx中url包选项的兼容性,增加了析出文献标识符//后面的短空格以支持著录表的断行机制,增加了特殊字符处理功能并实现对texlive2015 的兼容,给出了gb7714风格参考文献著录表文本转换为bib文件的perl脚本,与gb7714-2015 样式形成闭环。
+
+ %1.0f版完善了gbalign 选项(用于实现GB7714 风格的著录文献表标签,texlive2016 有效),带花括号的责任者的中英文判断等功能对texlive2015 的兼容性。
+
+ %到1.0e版为止,功能需求已经完全实现,剩下的问题可能是一些文献具有特殊信息或者特殊情况时带来的适应性问题,这需要经过大量的测试来发现问题。各位朋友如果发现什么问题,请邮件联系,作者会非常感谢!
+
+ \item biblatex宏包的说明文档中文版,已经由Shen wenbo和我基本完成,下一步是完善,校对,以及增加新版的内容。如果有朋友觉得这个事情有意义,愿意一起来完成这个事情,非常欢迎,请email联系。
+
+ %\item 打算翻译biblatex宏包的说明文档和biber的说明文档,这个已经在进行中,完成了一部分,但因为只是业余时间做,可能最终完成的时间会比较长。如果有朋友觉得这个事情有意义,愿意一起来完成这个事情,非常欢迎,请email联系。
+
+%\item 进一步完善上一节提到的问题。
+\end{enumerate}
+
+\section{更新历史}
+\input{example/updatehistory.tex} %
+
+\input{example/updatehistoryold.tex} %
+
+
+\end{document}