diff options
author | Karl Berry <karl@freefriends.org> | 2019-01-22 22:18:43 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-01-22 22:18:43 +0000 |
commit | 5bee6f1ca16cbb2563ba57c1a3bfa7951f453c0b (patch) | |
tree | da2cda75fc2e5955f24b5ccd2d5240e941c98287 /Master | |
parent | a8a4b6646d0e9e80061d89b21aee5ffcc853b90d (diff) |
biblatex-gb7714-2015 (22jan19)
git-svn-id: svn://tug.org/texlive/trunk@49789 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
78 files changed, 9124 insertions, 5178 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md index 3e3af10348a..e1cdacf3ac8 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md @@ -1,4 +1,4 @@ -<b>Date of last change: 2018-11-04 to version v1.0n</b> +<b>Date of last change: 2019-01-19 to version v1.0p</b> # biblatex-gb7714-2015: a biblatex style package @@ -120,6 +120,16 @@ The biblatex-gb7714-2015 package provides an implementation of the bibliography `\usepackage[backend=biber,style=gb7714-2015,gbtitlelink=true]{biblatex}` + - add options `gbcitelocal` `gbbiblocal` to control the local strings in citation and bibliography respectively, the `gblocal` set the both options (These options are also for author year style): + + `gbcitelocal = gb7714-2015` to output local strings according to the reference's language, this is the default setting. + + `gbcitelocal = chinese` to output local strings with chinese language word like "等". + + `gbcitelocal = english` to output local strings with western language word like "et al.". + + `\usepackage[backend=biber,style=gb7714-2015,gbcitelocal = chinese]{biblatex}` + - add an option `gbstrict` to control the output of some unnecessary fields for GB/T7714-2015 (This option is also for author year style). `gbstrict=true`, not to print those fields such as language, eprint, this is the default setting. @@ -176,6 +186,7 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information! * [fjnu-bathesis (福建师范大学本科毕业论文LaTeX 模板)](https://github.com/fjnuer/fjnu-bathesis) * [Thesis-Template-for-XJTU (西安交大毕业设计模板)](https://github.com/DXie123/Thesis-Template-for-XJTU) * [CAUTemplate(中国农业大学课程论文模板)](https://github.com/Cdmium/CAUTemplate) +* [Yet anoter BUPT Thesis LaTeX class (北邮研究生学位设计的LaTeX文档类)](https://github.com/qcts33/BUPTthesis-ctex) * [...] @@ -629,7 +640,7 @@ biber -l zh__stroke jobname > 宏包加载时使用: -```\usepackage[backend=biber,style=gb7714-2015ay,sortcite,sorting=ynt]{biblatex}``` +```\usepackage[backend=biber,style=gb7714-2015ay,sortcites,sorting=ynt]{biblatex}``` > 正文中引用: @@ -652,6 +663,12 @@ biber -l zh__stroke jobname > 参考:[issue:citation的顺序和bibliography的顺序如何不关联](https://github.com/hushidong/biblatex-gb7714-2015/issues/30) + +* <b>在使用作者年制时,我希望文献表同一位置引用同一作者的不同的文献实现作者姓名的压缩,该怎么操作?</b> + +> 可以通过将gb7714-2015ay.cbx 中的引用的基础样式authoryear更换成authoryear-comp。 + + * <b>请问希望正文中作者年制的标注(引用)标签中作者数量超过国标规定的1个时,该怎么处理?</b> @@ -828,6 +845,8 @@ biber -l zh__stroke jobname * 2018/06/01 v1.0l * 2018/08/14 v1.0m,CTAN * 2018/11/04 v1.0n +* 2018/12/22 v1.0o +* 2019/01/19 v1.0p --------------------------------------------------------- ## Update history: diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex deleted file mode 100644 index ba15efb86e8..00000000000 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex +++ /dev/null @@ -1,1592 +0,0 @@ - -%------------------------------------------------------------ -%-----------------标题和目录--------------------------------- -\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 -\phantomsection -%\addcontentsline{toc}{section}{目录} -\tableofcontents -%\renewcommand{\numberline}[1]{#1~} -%\phantomsection -%\addcontentsline{toc}{section}{示例} -\listoffigures -\listoftables -\listofegcode -%------------------------------------------------------------ - -\section{概述} -提供了符合《GB/T 7714-2015~信息与文献~参考文献著录规则》要求的biblatex参考文献样式。分为两种编制方式:一、顺序编码制;二、著者-出版年制。主要特点包括: -\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} - -宏包文件结构如图\ref{fig:pkg:structure}所示: -\begin{figure}[!htb] -\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} -\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的参考文献生成方法} -笔者从最初开始学习latex时利用 thebibliography 环境生成参考文献,到对格式化有更多需求后开始寻求利用参考文献宏包,再到最后选择使用biblatex宏包,越发感觉到biblatex 在生成参考文献方面的巨大潜力。经过大量实践,总结其优点如下: -%[也由于对bibtex语言不熟悉,偷懒不想学$( \hat{} \bot \hat{} )$] -\begin{enumerate} -\item 使用简单。样式随宏包加载,参考文献源bib文件利用addbibresource加载,打印文献表利用printbibliography命令可以在文档任意位置打印。参考文献只需三步编译,第一遍xelatex,第二遍biber,第三遍xelatex,当然如果需要反向超链接,除设置backref 选项外,还需要第四遍xelatex。例\ref{eg:compile:cmd} 给出编译命令,其中--synctex=-1 选项也可以是-synctex=1。而且这四步命令可以用一条命令latexmk -xelatex jobname.tex 代替。除使用xelatex进行编译外,也可以使用pdflatex进行编译,但要注意的是pdflatex编译可能因为某些样式比如authoryear,使用了xstring宏包中的一些命令而导致错误,但numeric类样式通常没有问题。该问题在biblatex更新到3.12版本后取消xstring宏包后得以解决。中文用户编译还需要注意编码问题。utf-8编码的文档,采用xelatex编译没有任何注意事项,但使用pdflatex编译时,需要给ctex宏包加载UTF8选项,比如\verb|\usepackage[UTF8]{ctex}|,该选项在文档类加载时给出也可,比如\verb|\documentclass[[UTF8]{article}|,同时引用文献时使用的引用关键词应使用英文。当文档使用其他编码时,xelatex编译通常需要指定一个文档编码,比如windows环境下的GB2312编码的文档需要指定\verb|\XeTeXinputencoding "GBK"|,否则会显示乱码。使用pdflatex进行编译时,如果biblatex不能正确的处理编码问题,那么需要为其明确的指定texencoding和bibencoding选项。比如windows环境下的GB2312编码的文档,需要指定\verb|\usepackge[texencoding=GBK]{biblatex}|。 - - \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} -%使用够方便 - -\item 划分自由。利用biblatex宏包可以在一个文档中生成任意数量的参考文献表,而不需要用include把分档划分成不同的文件来生成分章参考文献。利用refsection 和refsegment可以很方便地划分参考文献节,甚至还可以嵌套使用。 -%划分很自由,划分无限制 - -%处理无限制,支持更全面 -\item 支持全面。后端处理程序biber处理大数据量参考文献毫无压力,不用担心bibtex 可能存在的内存不足等局限,字符编码支持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} - -\item 定制方便。biblatex宏包实现参考文献著录格式使用的是tex语法,相比传统的bibtex 语言学习更为容易。biblatex 提供了很多不同类型的参考文献标准样式,参考和引用都很方便,因此定制起需要的参考文献格式也很便捷。 -%定制很容易 -%\item 学习无障碍,因为biblatex宏包用的是tex语言,所以查看代码,学习都很方便,自然也便于生成需要的参考文献样式。 -%\item 定制很容易,biblatex提供了很多不同的参考文献标准样式,学习参考都很方便,因此定制起需要的参考文献格式来非常容易。 -\end{enumerate} - -%上述这些优点也是笔者决定编写符合GB/T 7714-2015标准的参考文献样式文件的原因之一。 - -下面直接给出最小工作示例,用以介绍biblatex宏包参考文献生成的一般方法。 -例\ref{code:doc:structrue}对应的结果如图\ref{fig:eg:ref}所示。 -示例源代码给出了详细注释,说明了使用biblatex的tex文档的基本结构,所有基于 biblatex 生成参考文献的文档无论大小万变不离其宗,当然除tex源文档外还需准备保存参考文献信息的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样式 -\usepackage[backend=biber,bibstyle=gb7714-2015,%nature,% -citestyle=gb7714-2015%,backref=true% -]{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} - -\begin{refsection} -\begin{figure}[!htb] -\centering -\fbox{ -\parbox{16cm}{%\raggedright -详见文献\cite{Peebles2001-100-100}\parencite{Babu2014--} -参考文献\cite[见][49页]{于潇2012-1518-1523}\parencite[见][49页]{Babu2014--} -\renewcommand{\bibfont}{\zihao{-5}} -\printbibliography[heading=subbibliography,title=参考文献] -} -} -\caption{最小工作示例的结果}\label{fig:eg:ref} -\end{figure} -\end{refsection} - - -\subsection{gb7714-2015样式加载方式和选项} -\subsubsection{加载方式} -例\ref{code:doc:structrue}中给出了宏包和样式的基本加载方式。注意,当著录样式bibstyle和标注样式citestyle相同时,两者可以合并为一个选项style。比如: - -\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提供的标准样式。这种方式尽管不会很常用,但既然有需求提出,那么就做了实现。主要的实现原理是把所有的GB/T 7714-2015 规定产生的格式修改局部化到每一条文献打印时处理,此时先判断gbstyle选项及文献的语言,当满足要求则使用这些局部化格式修改,否则使用默认的标准样式。这种实现为一篇文档内实现两种样式提供了思路,尽管目前其它语言文献的著录格式是标准样式,但只要对其做格式修改就可以形成符合某种格式规范的样式,比如像ieee,nature等样式都是可以实现的,因此存在中文使用GB/T 7714-2015 著录格式,而英文文献使用ieee等著录格式的可能性。测试文档见: -\href{run:./example/opt-gbstyle.tex}{opt-gbstyle.tex}。 - -\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}。 - -\end{description} - - -\subsubsection{与标准选项的兼容性} -绝大部分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{gb7714-2015样式的进一步说明} - -\subsubsection{关于参考文献数据源: 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 - - 其中第一个年-月-日会解析并存储到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} - - - -\subsubsection{关于参考文献著录样式: bbx文件的说明}\label{sec:usage:bbx} -参考文献著录样式也称著录表样式或著录格式,主要分两类:顺序编码制和作者年制(著者-出版年制)。 - -%顺序编码制的参考文献样式基于标准样式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提供的bibfont命令基础上,增加了bibauthorfont、bibtitlefont、bibpubfont 等命令用于控制文献不同部分的格式,比如作者,标题,出版项等。增加了尺寸bibitemindent 用于控制参考文献条目在文献表中的缩进,其意义与 list 环境中 itemindent 相同。 -用法具体见例\ref{eg:biblist:fontset}, -测试用例见\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} - -\subsubsection{关于参考文献标注样式: cbx文件的说明}\label{sec:cbx:usage} -正文中的参考文献标注样式也称引用样式或引用标签样式,也分两类: 顺序编码制和作者年制。 - -%顺序编码制的标注样式文件大体使用标准引用样式numeric-comp的内容 -\paragraph{顺序编码制的标注样式} 大体使用标准标注样式numeric,仅对cite等部分命令做了修改。为满足GB/T 7714-2015第10.1.3节的要求,增加了pagescite命令。为方便在同一文章中同时使用上标和非上标的标注方式,仅将cite命令修改为上标模式,而parencite保留标准样式提供的非上标模式。为使用户免于输入文献作者来作为句子主语,完善了textcite命令并增加了authornumcite命令以同时输出作者和顺序编码。 -使用方式如例\ref{eg:citefornumeric}所示。 -测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。 - -\begin{example}{顺序编码制cbx样式命令使用说明}{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} - -其中,当不指定页码时,pagescite命令默认调用参考文献的页码数据进行输出,如果需要指定页码,那么需要在[]内或第二个[]内(当有两个[]时)输入页码。 - -\qd{对于多个文献一起的压缩形式,指定页码只会应用最后一个参考文献的页码,这是不正确的,但这种情况其实本不应出现,因为指定页码本来就需要具体化指某一文献。使用时请尽可能使用pagescite\{key1\}pagescite\{key2\}这种形式而不是pagescite\{key1,key2\}。} - -%作者年制的标注样式文件大体使用标准引用样式authoryear的内容。 -\paragraph{作者年制的标注样式} 情况类似。对cite,parencite进行了修改,将引用标签用圆括号括起来。为满足GB/T 7714-2015第10.2.4节的要求,增加了pagescite命令。为满足GB/T 7714-2015第10.2.1节的要求,增加了yearpagescite,yearcite命令用于处理文中已有作者信息只需要年份和页码的情况(为兼容性考虑,顺序编码制也给出该命令,但作用与pagescite命令相同),也完善了textcite命令为句子提供主语。 -使用方式如例\ref{eg:citeforauthoryear}所示。 -测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。 - - -\begin{example}{作者年制cbx样式命令使用说明}{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]{赵耀东1998--}和Simon\yearpagescite[][15]{Simon2001--}。 -作者年制文中已有作者只需给出年份的引用,三种方式: - 见赵耀东\yearcite{赵耀东1998--} - 见赵耀东(\cite*{赵耀东1998--}) - 见赵耀东(\citeyear{赵耀东1998--}) -作者年制文中无作者需要标注命令给出作者作为主语的引用: - 见\textcite{赵耀东1998--} -在页脚中引用和打印文献表: - \footnote{在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--} - \end{texlist} -\end{example} - -%各引用命令的效果见\ref{sec:test:book}节。%\ref{sec:cite:cmd:test} - -\subsubsection{样式使用的注意事项} - -\begin{enumerate} - \item 本样式包的设计与实现方法以及设计到的一些biblatex功能介绍,以项目示例的形式总结在 - \href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}{\LaTeX 文档中文参考文献的biblatex解决方案}中,本文档不再重复给出,有需要了解的用户可以参见其中的第3.1节。 - - \item 当tex源文档采用UTF-8编码时,可以采用xelatex编译。当tex源文档为GBK 编码时,可以利用notepad++ 或notepad2 等编辑器将其转换为UTF-8编码,然后用xelatex编译,或者也可以直接利用pdflatex或latex进行编译,本样式已经做了支持。编译时需要的一些特殊处理见前述的编译命令介绍内容。 - %增加了对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{gb7714-2015样式的多语言支持}\label{sec:multilan:implement} - -\subsubsection{多语言混合文献}\label{sec:multilan:combine} - -一般情况中,在国内不太会超过两种语言混合的情况,比如中英文混合的情况。但有时可能也会存在多种语言,比如存在中/英/日/俄这种多语言环境。 - -使用xelatex编译时下,由于其原生支持unicode的特性,在tex文档内实现多语言混合比较容易实现,要正确显示关键在于合适的字体设置。一般情况下中/日/韩语利用ctex宏包可以解决。而西文如英/法/俄可以利用fontspec宏包选择合适的字体来解决。 - -对于参考文献来说还有一个更重要的问题是本地化字符串问题。中英文情况下,中文利用在英文本地化文件基础上新增本地化字符串加以解决。但其它语言需要自己的解决方案。 - -如第\ref{sec:usage:bbx}节所述,本样式使用language域来区分文献的语言类型,默认情况下该域不需要人工输入,可由biber根据文献信息自动判断,但也可以手动输入来人工指定。根据 biblatex 提供的多语言解决方案,还需要利用langid/langidopt域,以及babel/polyglossia宏包的支持。 - -目前的解决方案做如下的考虑: -\begin{enumerate} - \item 日韩语采用类似中文的方式处理,即通过在英语本地化文件基础上处理。因此langid通常设为english。对于日文通常作者这种信息都是用的汉字,因此用中文的字符串。韩语暂没有考虑它自身的字符串,而使用英文的字符串。当不存在除英文外的其它西语时,langid也不需要处理。注意:默认情况下 langid 都是自动处理的,用户无需过多关注。 - \item 如俄语/法语这样的西方语言,通过biblatex提供的方案解决。即:使用babel/polyglossia宏包和langid/langidopt域。这时如果存在中日韩语,那么相应文献也需要设置langid。因此,需要在tex文档内加入babel宏包以及需要使用的语言,需要使用本地化字符串的西语都要加入,否则无法自动切换。然后在加载biblatex宏包时使用 autolang=other 选项。 -\end{enumerate} - -本样式做了中日韩英俄法六种语言的测试,详细内容见: -\href{run:example/opt-eg-multilan.tex}{opt-eg-multilan.tex}, -\href{run:example/opt-autolang-multilan.tex}{opt-autolang-multilan.tex}。 - - - - -\subsubsection{多语言对照文献表} - -某些期刊对于参考文献表有双语文献对照的要求,那么可以通过条目集类型(set)/或者条目关联(related)来解决。具体要求见GB/T 7714-2015第6.1节。 - -\paragraph{利用条目集类型满足双语文献要求} - -设置条目集类型(set)有静态和动态两种方法: -动态方法使用更为方便,在写文档时候,直接利用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条目类型除了子条目关键词信息外,并无其他信息,因此它的标注标签通常会是空的。这个问题目前的解决方法是设置一个指定格式和内容中间无空格无英文逗号的关键字,用它来作为标签。这个问题与biblatex版本升级有关,biblatex v3.7及之前版本没有这个问题,因为这些版本中 set 中带有第一个子条目的信息}。比如: -\begin{example}{设置set条目集用于双语文献动态方法}{eg:setforbilangentry} -\begin{texlist} -\defbibentryset{易仕和,等,2013}{易仕和2013--,Yi2013--} -专著,双语文献引用\cite{易仕和,等,2013} -\end{texlist} -\end{example} - -\qd{注意到“易仕和,等,2013”中的逗号是中文全角逗号,这样使得“易仕和,等,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} - -\qd{使用静态条目集时,如果仅采用上述这般简单设置,中文排序会出现问题,条目集会出现在文献表末尾,这是因为条目集没有设置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{利用条目关联满足双语文献要求} - -除上述给出的条目集方案外,关联条目方法则是另一种可行方案,该方案的讨论可以见“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文件后当不需要双语文献时,它还需要改回来,这会带来不便,因此可以考虑下面的动态方法,但要注意动态方法需要利用多个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文件做直接修改。本样式中对该过程进行了封装,定义一个新的命令defdoublelangentry,例如: -\begin{example}{设置关联条目的动态方法}{eg:related:dynamic} -\begin{texlist} -\defdoublelangentry{易仕和2013--}{Yi2013--} -\end{texlist} -\end{example} - -使用该命令后,可以引用主条目“易仕和2013--”生成双语文献。但要注意由于DeclareStyleSourcemap命令只能在导言区中使用,因此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}。 - -\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域代替。 -或者使用本节下面给出的方式。 - -因为在一些bib文件中可能存在standard类型,为兼容性考虑,本样式对standard条目类型做了支持。著录格式的处理原理与前一节所述相同,只是利用动态数据将standard类型转换为book/inbook类型。因此在bib文件中可以直接使用standard类型,但要注意使用其它样式时可能存在移植障碍,因为其它样式可能不支持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} - -需要注意的是: 根据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域代替。或者使用本节下面给出的方式。 - -因为报纸析出的文献的文献标识码比较特殊不是J而是N,所以可以把报纸析出的文献独立出来进行处理。为方便使用考虑,本样式增加了对一个全新的类型newspaper的支持,这种支持通过类似于standard类型的方式实现,没有对数据模型进行改动或增加,而完全利用动态数据修改将newspaper类型转换为article类型。因此在bib文件中可以直接使用newspaper类型,但要注意使用其它样式时可能存在移植障碍,因为其它样式可能不支持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} - -\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} - -\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{学位论文/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和后面report及manual的出版者用institution域表示,体现的是机构而不是一般的出版社。} - -\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和后面manual的版本信息放在version域中,而不是book等条目的edition域中。} - -\subsubsection{手册或档案/manual/archive} -\begin{refentry}{}{} -手册和档案采用一种格式,对应的biblatex的entrytype为: manual或archive。文献类型标识用A表示。 - -\bibliofmt{其著录格式为} 借用report格式处理,而不是标准样式中的manual格式,这种方式下,当没有出版地和出版者时,完全省略,因为GB/T 7714-2015并没有明确这种情况怎么处理。 -\end{refentry} - - -\subsubsection{未出版物/unpublished} -\begin{refentry}{}{} -未出版物,对应的biblatex的entrytype为: unpublished。文献类型标识用Z表示。 - -\bibliofmt{其著录格式为} 借用report格式处理。 -\end{refentry} - -\subsubsection{更多类型} -\begin{refentry}{}{} -数据库(database)、数据集(dataset)、软件(software)、舆图(map)、其它(misc)分别使用自己的数据类型和类型标识符。 - -\bibliofmt{其著录格式为} 借用report格式处理。 -\end{refentry} - - - -\subsection{标准的其它细节要求} - -除了第\ref{sec:numeric:data}节针对不同条目类型的著录格式要求外,GB/T 7714-2015 还有一些细节要求比如文字、符号等需要满足,可以采用如下方法: - -\subsubsection{数字}\label{sec:fmt:number} - -\begin{property}{}{} -用户给bib源文件录入数字时,应按照GB/T 7714-2015第6.2节要求用阿拉伯数字表示。 -\end{property} - -\subsubsection{英文字母}\label{sec:fmt:lettercase} - -\begin{property}{}{} -为了符合西文文献责任者的字母大小写习惯,本样式通过判断是否存在givenname/firstname来确定是否是个人作者,当存在givenname/firstname 时认为是个人作者,不存在则是机构作者,当是个人作者时familyname/lastname按GB/T 7714-2015 要求全大写,是机构作者则仅大写首字母。所以对于仅有lastname的个人作者,填入信息英文姓的字母请全用大写。个人著者的格式要求见GB/T 7714-2015 第6.3节。 - -用户给bib源文件录入出版项、西文期刊名缩写以及西文文献的字母时,应按照GB/T 7714-2015第6.4节,第6.5节,6.6节要求,使用符合要求的习惯用法和大小写方式。本样式使用原样打印的方式进行处理。 - -实际上,对于英文大小写问题,GB/T 7714-2015除了责任者的大写要求外,其它要求均比较模糊,但提到可参照ISO 4的要求。而一般不同的期刊会有各自不同的要求。从作者的经验看,一般国内的期刊对于字母大小写通常要求:责任者(全部大写);题名(句首字母大写其它全部小写);期刊名会议名(单词首字母大写);出版项和其它(单词首字母大写)。所以在录入bib文件时可以按照这种常见方式来输入以减少后期的修改。 -\end{property} - -\subsubsection{标点} - -\begin{property}{}{} -用户给bib源文件录入引文信息时不需要考虑标点符号问题,只需录入各数据域的信息即可。 - -本样式实现了GB/T 7714-2015第7部分所给出的著录用符号要求。 -\end{property} - -\subsubsection{责任者} - -\begin{property}{}{} -用户给bib源文件录入引文的责任者信息时,当责任者为多级机关团体时,用户填入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)。 - -本样式实现了GB/T 7714-2015第8.1节要求的责任者样式,能自动判断责任者是中文还是英文,并分别处理。并且设置了全局选项useprefix=true,可以使用前缀。 -\end{property} - -\subsubsection{文献类型标识和载体} - -\begin{property}{}{} -用户在给bib源文件录入引文题名信息时,不需要给出文献类型标识/文献载体标识。同一责任者的合订题名,应用户根据GB/T 7714-2015 第8.2.1节的要求,在多个题名间用英文分号分隔,并整体录入到title数据域中。而分卷号,卷次,册次等信息时,除了专利号用number域录入外,其它可以直接在title数据域或者subtitle/titleaddon等数据域中给出。 - -本样式实现了符合GB/T 7714-2015第8.2节要求的格式,能根据条目信息确定文献类型标识/文献载体标识,并在各类参考文献条目驱动中直接使用。各不同类型文献的类型标识/文献载体标识,参考GB/T 7714-2015表B.1和B.2。 -\end{property} - -\subsubsection{版次}\label{sec:fmt:edition} - -\begin{property}{}{} -用户在给bib源文件录入版次信息时,只要录入版次的整数数字或者录入需要打印的字符串。 - -本样式实现了GB/T 7714-2015第8.3节要求的格式,对于一般的版次格式,根据edition/version域输入的整数进行处理,其它特殊的版本说明,比如新1版,明刻本等直接在edition域录入后原样打印。 -\end{property} - -\subsubsection{出版项}\label{sec:fmt:pubitem} - -\begin{property}{}{} -用户在给bib源文件录入出版项信息时,当出版日期有其它形式的纪年时,将其置于公元纪年后面的()内,并整体录入到 year 数据域中,比如: 1845(清同治四年)。而引用日期应录入到 urldate 数据域。当除了出版日期外还有修改/更新日期等时,可在year或date数据域录入第二个日期,并用/符号与前一个出版日期隔开。而专利的公告日期和其它条目类型的出版年应录入到 date 域中。 - -本样式实现了GB/T 7714-2015第8.4节要求的格式。当出版地和出版者缺省时,中英文自动区分处理。对于用/符号隔开的两个日期,biblatex后端biber能自动解析,后一个日期数据自动解析到endyear等域可作为修改日期等使用。 -\end{property} - -\subsubsection{页码}\label{sec:fmt:pages} -\begin{property}{}{} -用户在给bib源文件录入页码信息时,可以在pages域中根据需要录入可解析的页码(即用整数表示页码,起讫页码用-分隔),比如: 81-86。 也可以直接录入需要打印的信息,比如: 序2-3等。 - -本样式实现了GB/T 7714-2015第8.5,8.8.2节的要求,对于能解析的页码自动解析,对于不能解析的页码则原样输出。 -\end{property} - -\subsubsection{访问路径URL和DOI} -\begin{property}{}{} -用户在给bib源文件录入获取和访问路径、数字对象唯一标识符信息时,将访问路径录入到url域中,数字对象唯一标识符录入到doi域中即可。 - -本样式实现了GB/T 7714-2015第8.6,8.7节要求的格式。 -\end{property} - -\subsubsection{卷和期}\label{sec:fmt:volnum} -\begin{property}{}{}%[break at=0.4cm/0pt] -用户在给bib源文件录入卷、期等信息时,如\ref{sec:bib:bibtex}节中所述,合期的期号用/间隔,比如9/10,填入number域,报纸的版次也填入number域。 - -本样式实现了GB/T 7714-2015第8.8节要求的析出文献相关格式。 -\end{property} - - - - -\section{参考文献著录格式测试} - -\subsection{GB/T 7714-2015标准中的参考文献格式示例}\label{sec:eg:gb77142015} - -\begin{refsection} -普通图书(book) -\cite{张伯伟2002--} -\cite{2009-155-155} -\cite{胡承正2010-112-112} -\cite{美国妇产科医师学会2010-38-39} -\cite{1962-50-50} -\cite{汪昂1881--} -\cite{蒋有绪1998--} -\cite{中国企业投资协会2013--} -\cite{罗斯基2009--} -\cite{库恩2012--} -\cite{候文顺2010-119-119} -\cite{CRAWFPRD1995--} -\cite{IFLAI1977--} -\cite{OBRIEN1994--} -\cite{Kinchy2012-50-50} -\cite{Praetzellis2011-13-13} - -论文集(collection)、会议录(proceedings) -\cite{中国职工教育研究会1985--} -\cite{中国社会科学院台湾史研究中心2012--} -\cite{雷光春2012--} -\cite{陈志勇2011--} -\cite{Babu2014--} - -报告(report) -\cite{中华人民共和国国务院新闻办公室2013-04-16--} -\cite{汤万金2013-09-30--} -\cite{Calkin2011-8-9} -\cite{DTFHA1990--} -\cite{WHO1970--} - -学位论文(thesis) -\cite{马欢2011-27-27} -\cite{吴云芳2003--} -\cite{CALMS1965--} - -专利文献(patent) -\cite{张凯军2012-04-05--} -\cite{河北绿洲生态环境科技有限公司2001--} -\cite{KOSEKI2002--} - -标准文献(book,inbook,note=standard) -\cite{全国信息文献标准化技术委员会2010-3-3} -\cite{全国广播电视标准化技术委员会2007-1-1} -\cite{国家环境保护局科技标准司1996-2-3} -\cite{standardinfoiso158} - -专著中析出的文献(inbook) -\cite{1988-590-590} -\cite{白书农1998-146-163} -\cite{汪学军2002-22-25} -\cite{国家标准局信息分类编码研究所1988-59-92} -\cite{1977-49-49} -\cite{楼梦麟2011-11-12} -\cite{BUSECK1980-117-211} -\cite{FOURNEY1971-17-38} - -期刊中析出的文献(article) -\cite{杨洪升2013-56-75} -\cite{李炳穆2000-5-8} -\cite{于潇2012-1518-1523} -\cite{陈建军2010-93-93} -\cite{DESMARAIS1992-605-609} -\cite{Saito2006-169-176} -\cite{Walls2013-399-418} -\cite{Franz2013-1053-1062} -\cite{Park2010-696-715} - -报纸中析出的文献(article,note=news) -\cite{丁文祥2000--} -\cite{张田勤2000--} -\cite{傅刚2000--} -\cite{刘裕国2013-01-12--} - -电子资源(online) -\cite{萧钰2001--} -\cite{李强2012-05-03--} -\cite{Commonwealth--} -\cite{Dublin2012-06-14--} - - -\printbibliography[heading=subbibliography,type=book,notkeyword=standard,title=【A1- 普通图书-著录格式示例】]%subbibintoc -\defbibfilter{collections}{% -type=collection -or type=proceedings -or type=incollection -or type=inproceedings -} -\printbibliography[heading=subbibliography,filter=collections,title=【A2-论文集、会议录-著录格式示例】] -\printbibliography[heading=subbibliography,type=report,title=【A3-报告-著录格式示例】] -\printbibliography[heading=subbibliography,type=thesis,title=【A4-学位论文-著录格式示例】] -\printbibliography[heading=subbibliography,type=patent,title=【A5-专利-著录格式示例】] -\defbibfilter{standard}{% -( type=book or type=inbook ) -and keyword=standard -} -\printbibliography[heading=subbibliography,filter=standard,title=【A6-标准文献-著录格式示例】] -\hypertarget{entrystdwithoutauthor}{注意:这里最后一篇标准文献没有责任者,所以作者年制默认情况下无法给出文献标识符。} -\printbibliography[heading=subbibliography,type=inbook,notkeyword=standard,title=【A7- 专著中析出的文献-著录格式示例】] -\printbibliography[heading=subbibliography,type=article,notkeyword=news,title=【A8- 期刊中析出的文献-著录格式示例】] -\printbibliography[heading=subbibliography,keyword=news,title=【A9-报纸析出的文献-著录格式示例】]%type=article,有时type是newspaper所以不指定type为article -\printbibliography[heading=subbibliography,type=online,title=【A10-电子资源-著录格式示例】] -\end{refsection} - -\subsection{beamer类中的应用} - -beamer类中的参考文献测试,参见: - -顺序编码制: -\href{run:./example/egbeamer.tex}{cls-beamer.tex}, - -作者年制: -\href{run:./example/egbeameray.tex}{cls-beameray.tex}, - -\subsection{更多测试} - -\begin{itemize} - - \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} - -测试文件,参见: -\href{run:./example/testallformat.tex}{testallformat.tex}。 - -\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} % - - - - - diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex index 5aee96521d6..79b29ec9437 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex @@ -4,33 +4,85 @@ \ctexset{today=old} \let\kaiti=\kaishu \usepackage{xeCJKfntef} +\setmainfont{CMU Serif} +\setCJKmainfont{SourceHanSerifSC-Regular.otf} \usepackage{xcolor} +\colorlet{examplefill}{yellow!80!black} +\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8} +\definecolor{codebackground}{rgb}{0.9,0.9,1} \definecolor{gbsteelblue}{RGB}{70,130,180} \definecolor{gborange}{RGB}{255,138,88} \definecolor{gbblue}{RGB}{23,74,117} \definecolor{gbforestgreen}{RGB}{21,122,81} \definecolor{gbyellow}{RGB}{255,185,88} \definecolor{gbgrey}{RGB}{200,200,200} +\colorlet{gblabelcolor}{violet} +\colorlet{gbemphcolor}{blue!60!black} + +%定义版面,showframe, +\usepackage[paperwidth=210mm,paperheight=290mm,left=25mm,right=25mm,top=25mm, bottom=20mm,showcrop]{geometry}%,showframe +\renewcommand{\baselinestretch}{1.35} +%页面布局的标尺 +\usepackage[type=none]{fgruler} +%[unit=cm,type=lowerleft,showframe=true,hshift=3cm,vshift=2cm] +\rulerparams{}{}{gray!50}{}{0.4pt} +\fgrulerdefnum{}\fgrulercaptioncm{}%fgruler加数字后,导致基线对齐出现问题,所以这里去掉 + +\newlength{\skipheadrule} +\deflength{\skipheadrule}{3.5pt} +\newlength{\skipfootrule} +\deflength{\skipfootrule}{5.5pt} +\newlength{\ruletotalen} +\deflength{\ruletotalen}{\textheight} +\newlength{\ruleraised} +\deflength{\ruleraised}{\headsep+\textheight} +\usepackage{fancyhdr} +\fancyhf{} +\fancyhead[LO]{% +\raisebox{-\skipheadrule}{% +\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% +\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% +}%HEAD LEFT% +} +\fancyhead[LE]{% +\raisebox{-\skipheadrule}{% +\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% +\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% +}\leftmark%HEAD LEFT% +} +\fancyhead[RO]{% +%HEAD RIGHT% +\raisebox{-\skipheadrule}{% +\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% +}} +\fancyhead[RE]{% +\rightmark%HEAD RIGHT% +\raisebox{-\skipheadrule}{% +\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% +}} +\fancyhead[CO]{% +符合GB/T 7714-2015标准的biblatex参考文献样式%HEAD CENTER +} +\fancyfoot[L]{% +\raisebox{-\skipfootrule}{% +\raisebox{\footskip}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightdown}{\linewidth}}} +}%FOOT LEFT +} +\fancyfoot[C]{% +\thepage%FOOT CENTER +} +\fancyfoot[R]{% +%FOOT RIGHT +} +\renewcommand{\headrulewidth}{0.4pt} +\renewcommand{\footrulewidth}{0pt} +\pagestyle{fancy} -%一些字符串格式化命令 -\newcommand*{\verbatimfont}{\ttfamily} -\newrobustcmd*{\cnt}[1]{\mbox{\verbatimfont#1}} -\newrobustcmd*{\bibfield}[1]{\mbox{\verbatimfont#1}} -\newrobustcmd*{\opt}[1]{\mbox{\verbatimfont#1}} -\newrobustcmd*{\prm}[1]{% - \ifblank{#1} - {} - {\mbox{% - \ensuremath\langle - \normalfont\textit{#1}% - \ensuremath\rangle}}} - -\usepackage[paperwidth=210mm,paperheight=290mm,left=20mm,right=20mm,top=25mm, bottom=15mm,showcrop -]{geometry}%定义版面showframe, +%超链接书签功能,选项去掉链接红色方框 \usepackage[colorlinks=true,% -pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接红色方框 +pdfstartview=FitH,allcolors=gbemphcolor]{hyperref} %linkcolor=gbblue,anchorcolor=gbblue,citecolor=gbblue %linkcolor=black,linkcolor=green,blue,red,cyan, magenta, %yellow, black, gray,white, darkgray, lightgray, brown, @@ -38,10 +90,7 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 %CJKbookmarks,bookmarksnumbered=true, \usepackage{titleref} %标题引用 - -%\usepackage[unit=cm,type=lowerleft,showframe=true,hshift=2cm,vshift=1.5cm]{fgruler} - - +%标题格式设置 \usepackage{titlesec} %\titlespacing*{hcommandi}{hlefti}{hbefore-sepi}{hafter-sepi}[hright-sepi] \titlespacing*{\section}{0pt}{\baselineskip}{0.5\baselineskip} @@ -49,25 +98,24 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \titlespacing*{\subsubsection}{0pt}{0.5\baselineskip}{0pt} \titlespacing{\paragraph}{2em}{0.5\baselineskip}{1em} +%参考文献 +\usepackage[backend=biber,style=gb7714-2015,gbalign=center%,gbtype=true% +]{biblatex}%,backref=true% +\addbibresource[location=local]{example/example.bib} \setlength{\bibitemsep}{1pt} %\defbibheading{bibliography}[\bibname]{% %%\phantomsection%解决链接指引出错的问题,相当于加入了一个引导点 %%\addcontentsline{toc}{subsection}{#1} % \centering\subsubsection*{#1}}% -%自定义下划红线和背景颜色 -\usepackage{ulem} -\newcommand\yellowback{\bgroup\markoverwith -{\textcolor{yellow}{\rule[-0.5ex]{2pt}{2.5ex}}}\ULon} -\newcommand\reduline{\bgroup\markoverwith -{\textcolor{red}{\rule[-0.5ex]{2pt}{0.4pt}}}\ULon} +%目录,图/表/例目录,图表题注 \usepackage{subfigure} \usepackage[subfigure]{tocloft} %注意其与titletoc共用时分页会有问题 \usepackage{ccaption} \captiondelim{. } %图序图题中间的间隔符号 \captionnamefont{\zihao{-5}\heiti} %图序样式 -\captiontitlefont{\zihao{-5}} %图题样式 +\captiontitlefont{\zihao{-5}\heiti} %图题样式 \captionwidth{0.8\linewidth} %标题宽度 \changecaptionwidth \captionstyle{\centering} %\captionstyle{<style>} style are: \centering, \raggedleft or \raggedright @@ -77,8 +125,8 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \setlength{\abovecaptionskip}{0pt} %\setlength{\abovelegendskip}{0pt} %设置legend上下间距 %\setlength{\belowlegendskip}{0pt} -%新的浮动体设置 -\newcommand{\listegcodename}{\centerline{示~~例}}%listegcodename,新环境目录的标题 +%新的浮动体设置,\centerline{} +\newcommand{\listegcodename}{\zihao{4}示~~例\thispagestyle{plain}}%listegcodename,新环境目录的标题 \newcommand{\egcodename}{例}%egcodename,新环境标题的图序 \newfloatlist{egcode}{loc}{\listegcodename}{\egcodename}%loc,写入条目的文件的扩展名 \newfixedcaption{\codecaption}{egcode}%egcode,环境名 @@ -93,28 +141,28 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \setlength{\cftbeforeloctitleskip}{\baselineskip} \setlength{\cftafterloctitleskip}{0.5\baselineskip} %\renewcommand\contentsname{\hfill 目~~ 录 \hfill \hspace{1cm}} %用这一句也是一样的。 -\renewcommand{\cfttoctitlefont}{\zihao{-3}\heiti} +\renewcommand{\cfttoctitlefont}{\heiti} \renewcommand{\cftaftertoctitle}{} -\renewcommand{\cftloftitlefont}{\zihao{-3}\heiti} +\renewcommand{\cftloftitlefont}{\heiti} \renewcommand{\cftafterloftitle}{} -\renewcommand{\cftlottitlefont}{\zihao{-3}\heiti} +\renewcommand{\cftlottitlefont}{\heiti} \renewcommand{\cftafterlottitle}{} -\renewcommand{\cftloctitlefont}{\zihao{-3}\heiti} +\renewcommand{\cftloctitlefont}{\heiti} \renewcommand{\cftafterloctitle}{} -\renewcommand{\contentsname}{\centerline{目~~录}} -\renewcommand{\listfigurename}{\centerline{图~~片}} -\renewcommand{\listtablename}{\centerline{表~~格}} +\renewcommand{\contentsname}{\zihao{4}目~~录} +\renewcommand{\listfigurename}{\zihao{4}图~~片} +\renewcommand{\listtablename}{\zihao{4}表~~格} \renewcommand{\cftsecfont}{\zihao{5}\heiti} %条目样式 -\renewcommand{\cftsubsecfont}{\zihao{5}\fangsong} %条目样式 -\renewcommand{\cftsubsubsecfont}{\zihao{-5}\songti} %条目样式 +\renewcommand{\cftsubsecfont}{\zihao{-5}\songti} %条目样式\fangsong +\renewcommand{\cftsubsubsecfont}{\zihao{-5}\kaiti} %条目样式 %−−−−−−−−−−设置egcode条目样式−−−−−−−−−−−−−−−−−−−−−− %\renewcommand{\cftegcodeleader}{\leaders\hbox to 1em{\hss.\hss}\hfill} \setlength{\cftbeforeegcodeskip}{0.1ex} %条目前的间距 \setlength{\cftegcodeindent}{0em} %条目缩进 \setlength{\cftegcodenumwidth}{2.5em} %条目标签宽度 -\renewcommand{\cftegcodefont}{\color{blue}\fangsong} %条目样式 +\renewcommand{\cftegcodefont}{\color{gbemphcolor}\zihao{-5}}%条目样式\fangsong \renewcommand{\cftegcodepresnum}{例} -\renewcommand{\cftegcodeaftersnum}{.} +\renewcommand{\cftegcodeaftersnum}{ } \renewcommand{\cftegcodeaftersnumb}{~} %\cftsetindents{egcode}{0em}{3em} %\renewcommand{\cftegcodepagefont}{\bfseries} @@ -123,9 +171,9 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \setlength{\cftbeforefigskip}{0.1ex} %条目前的间距 \setlength{\cftfigindent}{0em} %条目缩进 \setlength{\cftfignumwidth}{2.5em} %条目标签宽度 -\renewcommand{\cftfigfont}{\color{blue}\fangsong} %条目样式 +\renewcommand{\cftfigfont}{\color{gbemphcolor}\zihao{-5}} %条目样式\heiti \renewcommand{\cftfigpresnum}{图} %条目数字前的内容 -\renewcommand{\cftfigaftersnum}{.} %条目数字后的内容 +\renewcommand{\cftfigaftersnum}{ } %条目数字后的内容 \renewcommand{\cftfigaftersnumb}{~} %条目数字后的第二个内容 %\renewcommand{\cftfigdotsep}{\cftdotsep} %连接符之间的宽度 %\renewcommand{\cftfigleader}{\bfseries\cftfigfill} %连接符粘连团 @@ -136,22 +184,22 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \setlength{\cftbeforetabskip}{0.1ex} %条目前的间距 \setlength{\cfttabindent}{0em} %条目缩进 \setlength{\cfttabnumwidth}{2.5em} %条目标签宽度 -\renewcommand{\cfttabfont}{\color{blue}\fangsong} %条目样式 +\renewcommand{\cfttabfont}{\color{gbemphcolor}\zihao{-5}} %条目样式 \renewcommand{\cfttabpresnum}{表} %条目数字前的内容 -\renewcommand{\cfttabaftersnum}{.} %条目数字后的内容 +\renewcommand{\cfttabaftersnum}{ } %条目数字后的内容 \renewcommand{\cfttabaftersnumb}{~} %条目数字后的第二个内容 %\renewcommand{\cfttabdotsep}{\cftdotsep} %连接符之间的宽度 %\renewcommand{\cfttableader}{\bfseries\cfttabfill} %连接符粘连团 %\renewcommand{\cfttabpagefont}{\color{red}\zihao{-5}$\infty$\itshape} %页码的样式 %\renewcommand{\cfttabafterpnum}{\color{red}$\infty$} %页码后内容 +\usepackage{pdfpages}%直接插入pdf文件页 +\graphicspath{{egfigure/}{example/}} + +%代码环境设置 \usepackage{listings} \usepackage{tikz,pgf} \usetikzlibrary{calc} -\colorlet{examplefill}{yellow!80!black} -\definecolor{graphicbackground}{rgb}{0.96,0.96,0.8} -\definecolor{codebackground}{rgb}{0.9,0.9,1} - \newenvironment{example}[3][代码]% {\list{}{\begingroup\codecaption{#2}\label{#3}\endgroup @@ -162,10 +210,9 @@ pdfstartview=FitH,allcolors=blue]{hyperref} %书签功能,选项去掉链接 \setlength{\leftmargin}{0pt}% \setlength{\itemindent}{0pt}% %\renewcommand*{\makelabel}[1]{\hss\llap{\footnotesize\color{orange}\bfseries##1}} -}\item[\footnotesize\color{gbblue}\bfseries#1]\relax} +}\item[\footnotesize\color{gblabelcolor}\bfseries#1]\relax} {\endlist} - \lstnewenvironment{texlist}% {\lstset{% general command to set parameter(s) %name=#1, @@ -181,25 +228,29 @@ boxpos=t, rulesep=0pt, frame=tb, framesep=0pt, -rulecolor=\color{gbblue}, +rulecolor=\color{gblabelcolor}, fontadjust=true, language=[LaTeX]TeX, -%backgroundcolor=\color{yellow}, %背景颜色 +backgroundcolor=\color{gbyellow!3},%\color{yellow}, %背景颜色 numbers=left, -numberstyle=\tiny\color{gbblue}, +numberstyle=\tiny\color{gblabelcolor}, basicstyle=\footnotesize\ttfamily, % print whole listing small -keywordstyle=\color{blue}\bfseries,%\underbar, +keywordstyle=\bfseries\color{gbemphcolor},%\underbar, % underlined bold black keywords identifierstyle=, % nothing happens -commentstyle=\color{green!50!black}, % white comments -stringstyle=\ttfamily, % typewriter type for strings +commentstyle=\color{green!40!gray}, % white comments +stringstyle=\ttfamily\color{purple!50}, % typewriter type for strings showstringspaces=false}% no special string spaces } {} +%定理环境设置 \usepackage[listings,theorems,most]{tcolorbox} \tcbuselibrary{breakable} \newcounter{myprop}\def\themyprop{\arabic{myprop}} +%一个强调显示 +\newcommand{\bibliofmt}[1]{\medskip\textcolor{gbforestgreen}{\heiti#1}} + %序号如果带章节的话可以改为比如:\thesection.\arabic{myprop} \tcbmaketheorem{property}{方法} {enhanced jigsaw,breakable,pad at break*=1mm,left=2em,boxsep=0pt, @@ -223,9 +274,10 @@ theorem style=plain,fonttitle=\bfseries,coltitle=gbforestgreen %coltitle=green!35!black,colbacktitle=green!15!white, %colback=green!50!yellow!15!white,terminator sign={\ } }{rfeg} -%最后一个必须参数是prefix用来做label比如这里是eg:加上给出的标签名 -\newcommand{\bibliofmt}[1]{\medskip\textcolor{gbforestgreen}{\heiti#1}} +%最后一个必须参数是prefix用来做label比如这里是rfeg:加上给出的标签名 + +%标题区命令设置 \newcommand{\titleformanual}[1]{\def\biaotiudf{#1}} \newcommand{\authorformanual}[1]{\def\zuozheudf{#1}} \newcommand{\dateformanual}[1]{\def\riqiudf{#1}} @@ -241,46 +293,65 @@ theorem style=plain,fonttitle=\bfseries,coltitle=gbforestgreen {\songti{\zihao{-4}{\riqiudf}}\par} \end{center} } - +%脚注的数字带圈 \renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + %--------------列表环境--------------------------------------------- \usepackage[inline]{enumitem} %重设list环境 -\setlist[enumerate]{label=\bfseries\textcolor{gbblue}{(\arabic*)},topsep=2pt,partopsep=0pt,parsep=0pt,% +\setlist[enumerate]{label=\bfseries\textcolor{gbemphcolor}{(\arabic*)},topsep=2pt,partopsep=0pt,parsep=0pt,% align=left,leftmargin=0em,itemsep=0.5em,labelwidth=0.1em,itemindent=2.6em,listparindent=2em}%label=$\triangleright$,itemindent=1em \setlist[itemize]{topsep=2pt,partopsep=0pt,parsep=0pt,% leftmargin=3em,itemindent=0em} -\setlist[description]{font=\bfseries\textcolor{gbblue},align=right,topsep=5pt,partopsep=0pt,parsep=0pt,% -itemsep=0pt,leftmargin=2em,itemindent=0em}%注意,font或format中的最后一个命令自动提取标签为其参数 - +\setlist[description]{font=\bfseries\textcolor{gbemphcolor},align=right,topsep=5pt,partopsep=0pt,parsep=0pt,% +itemsep=0pt,leftmargin=0em,itemindent=0em}%注意,font或format中的最后一个命令自动提取标签为其参数 \usepackage{longtable} +%自定义下划红线和背景颜色 +\usepackage{ulem} +\newcommand\yellowback{\bgroup\markoverwith +{\textcolor{yellow}{\rule[-0.5ex]{2pt}{2.5ex}}}\ULon} +\newcommand\reduline{\bgroup\markoverwith +{\textcolor{red}{\rule[-0.5ex]{2pt}{0.4pt}}}\ULon} + +%一些字符串格式化命令 +\newcommand*{\verbatimfont}{\ttfamily} +\newrobustcmd*{\cnt}[1]{\mbox{\verbatimfont#1}} +\newrobustcmd*{\bibfield}[1]{\mbox{\verbatimfont#1}} +\newrobustcmd*{\opt}[1]{\mbox{\verbatimfont#1}} +\newrobustcmd*{\prm}[1]{% + \ifblank{#1} + {} + {\mbox{% + \ensuremath\langle + \normalfont\textit{#1}% + \ensuremath\rangle}}} + \usepackage{amssymb} + \newcommand{\HandRight}{$\bigstar$} -\newcommand{\zhongdian}[1]{\textcolor{gbblue}{\HandRight\heiti#1}} +\newcommand{\zhongdian}[1]{\textcolor{gbemphcolor}{\HandRight\small\heiti#1}} \newcommand{\pz}[1]{%定义pz为旁注命令 -\marginpar[\flushright\youyuan\color{gbblue}\footnotesize #1]{\youyuan\color{gbblue}\small #1}} +\marginpar[\flushright\small\youyuan\color{gbemphcolor}\footnotesize #1]{\youyuan\color{gbemphcolor}\small #1}} \newcommand{\PZ}[1]{%定义pz为旁注命令 -\marginpar[\flushright\youyuan\color{gbblue}\footnotesize #1]{\youyuan\color{gbblue}\small #1}} +\marginpar[\flushright\small\youyuan\color{gbemphcolor}\footnotesize #1]{\small\youyuan\color{gbemphcolor}\small #1}} \newcommand{\qd}[1]{%定义qd为强调命令 \begin{quote} - \fangsong\color{gbblue}#1%blue!50!black + \small\youyuan\color{gbemphcolor}#1%blue!50!black\fangsong \end{quote}} \newcommand{\QD}[1]{%定义qd为强调命令 \begin{quote} - \fangsong\color{gbblue}#1 + \small\youyuan\color{gbemphcolor}#1 \end{quote}} \newcommand{\bc}[1]{%定义补充信息 -{\kaiti\color{gbblue}#1}} %orange,brown,purple,teal,gbblue,olive,cyan +{\small\youyuan\color{gbemphcolor}#1}} %orange,brown,purple,teal,gbblue,olive,cyan \newcommand{\BC}[1]{%定义补充信息 -{\kaiti\color{gbblue}#1}} +{\small\youyuan\color{gbemphcolor}#1}} \newcommand{\zd}[1]{%定义补充信息 -{\heiti\color{gbblue}#1}} %orange,brown,purple,teal,gbblue,olive,cyan +{\small\youyuan\color{gbemphcolor}#1}} %orange,brown,purple,teal,gbblue,olive,cyan \newcommand{\ZD}[1]{%定义补充信息 -{\heiti\color{gbblue}#1}} - - +{\small\youyuan\color{gbemphcolor}#1}} \newenvironment*{marglist} @@ -296,7 +367,7 @@ itemsep=0pt,leftmargin=2em,itemindent=0em}%注意,font或format中的最后一 \makeatletter \newcommand{\updateinfo}[2][\@empty]{% \par\small\addvspace{2ex plus 1ex}% -\noindent{\color{gbblue}\rule{\linewidth}{2pt}} +\noindent{\color{gbemphcolor}\rule{\linewidth}{2pt}} \vskip -\parskip \ifx\@empty#1 \begin{marglist} \item #2\end{marglist} \else \begin{marglist} \item[#1] #2\end{marglist} \fi} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf Binary files differindex 43f373b2d87..4479230d153 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf 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} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteay.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteay.tex new file mode 100644 index 00000000000..62b39f62917 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteay.tex @@ -0,0 +1,152 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay的标注样式,是否满足GB要求 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=13cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{蔡敏2006a--, + Title = {UML基础和Rose建模教程-练习册一}, + Address = {北京}, + Author = {蔡敏}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{蔡敏2006b--, + Title = {UML基础和Rose建模教程-练习册二}, + Address = {北京}, + Author = {蔡敏}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + +\begin{document} + +%\small + +不带页码的引用: +\cite{Peebles2001-100-100} \parencite{Miroslav2004--}\par +带页码的引用: +\cite[见][49页]{蔡敏2006--} \parencite[见][49页]{Miroslav2004--}\par +\pagescite{Peebles2001-100-100}\pagescite[150]{Peebles2001-100-100} +\pagescite[][201-301]{Peebles2001-100-100}\par +作者年制文中已有作者只需给出年份和页码的引用: +见赵学功\yearpagescite[][205]{赵学功2001--}和Miroslav\yearpagescite[][15]{Miroslav2004--}\par +作者年制文中已有作者只需给出年份的引用,三种方式:\par +见赵学功\yearcite{赵学功2001--};见赵学功(\cite*{赵学功2001--}); +见赵学功(\citeyear{赵学功2001--})\par +作者年制文中无作者需要标注命令给出作者作为主语的引用: +见\textcite{赵学功2001--}\par +在页脚中引用和打印文献表: +\footnote{在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--} + +\noindent\fbox{ +\parbox{\textwidth}{ +国标示例:\par + 引用文献文中无作者信息:文献\cite{Peebles2001-100-100},文献\cite{赵学功2001--}\par + 引用文献文中有作者信息:文献Peebles\yearcite{Peebles2001-100-100} + ,文献蔡敏\yearcite{赵学功2001--}\par + 引用多作者文献:中文文献\cite{蔡敏2006--},英文文献\cite{Miroslav2004--}\par + 引用同一作者同一年份文献:文献\cite{蔡敏2006a--},文献\cite{蔡敏2006b--}\par + 同一处引用多篇文献:文献\cite{Peebles2001-100-100,Miroslav2004--}, + 文献\cite{蔡敏2006--,Miroslav2004--,赵学功2001--}\par + 多次引用同一作者的同一文献: + 文献\pagescite[100-108]{蔡敏2006--}, + 文献\pagescite[205-208]{蔡敏2006--}。 +}} + +%\printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteaytp.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteaytp.tex new file mode 100644 index 00000000000..e0ddadf31c0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egciteaytp.tex @@ -0,0 +1,136 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay的配合natbib模块,使用natbib的常用标注命令 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=6cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015ay,natbib]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{蔡敏2006a--, + Title = {UML基础和Rose建模教程-练习册一}, + Address = {北京}, + Author = {蔡敏}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{蔡敏2006b--, + Title = {UML基础和Rose建模教程-练习册二}, + Address = {北京}, + Author = {蔡敏}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + +\begin{document} + + +\noindent\fbox{ +\parbox{\textwidth}{ +国标示例:\par + 引用文献文中无作者信息:文献\citep{Peebles2001-100-100},文献\citep{赵学功2001--}\par + 引用文献文中有作者信息:文献\citet{Peebles2001-100-100} + ,文献\citet{赵学功2001--}\par + 引用多作者文献:中文文献\citep{蔡敏2006--}, + 英文文献\citep{Miroslav2004--}\par + 引用同一作者同一年份文献:文献\cite{蔡敏2006a--},文献\cite{蔡敏2006b--}\par + 同一处引用多篇文献:文献\cite{Peebles2001-100-100,Miroslav2004--}, + 文献\cite{蔡敏2006--,Miroslav2004--,赵学功2001--}\par + 多次引用同一作者的同一文献: + 文献\citep[100-108]{蔡敏2006--}, + 文献\citep[205-208]{蔡敏2006--}。 +}} + +%\printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenum.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenum.tex new file mode 100644 index 00000000000..84a448e6670 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenum.tex @@ -0,0 +1,129 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015的标注样式,是否满足GB要求 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=13cm,paperheight=9cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + +\begin{document} + + 不带页码的引用(上标,方括号包围): + \cite{Peebles2001-100-100}\upcite{Peebles2001-100-100} + \supercite{Peebles2001-100-100}\par + 不带页码的引用(非上标,方括号包围): + \parencite{Miroslav2004--}\par + 带页码的引用: + \cite[见][49页]{蔡敏2006--} \parencite[见][49页]{Miroslav2004--} + \pagescite{Peebles2001-100-100}\pagescite[150]{Peebles2001-100-100} + \pagescite[][201-301]{Peebles2001-100-100}\par + 同时输出作者和顺序编码的三种引用方式:\par + ( a)直接的方法:见\citeauthor{蔡敏2006--}\cite{蔡敏2006--}, \citeauthor{Miroslav2004--}\cite{Miroslav2004--}\par + ( b)定义新的标注命令:见\authornumcite{蔡敏2006--,Miroslav2004--}\par + ( c)用textcite但没有上标:见\textcite{蔡敏2006--,Miroslav2004--}\par + 在页脚中引用和打印文献表: + \footnote{在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--} + +\noindent\fbox{ +\parbox{\textwidth}{ +国标示例:\par + 引用单篇文献:文献\cite{Peebles2001-100-100}\par + 同一处引用多篇文献:文献\cite{Peebles2001-100-100,Miroslav2004--}, + 文献\cite{蔡敏2006--,Miroslav2004--,赵学功2001--}\par + 多次引用同一作者的同一文献: + 文献\pagescite[100-108]{蔡敏2006--}, + 文献\pagescite[205-208]{蔡敏2006--}。 +}} + + + %\printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenumtp.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenumtp.tex new file mode 100644 index 00000000000..e90e86d06df --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcitenumtp.tex @@ -0,0 +1,113 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015的配合natbib模块,使用natbib的常用标注命令 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=13cm,paperheight=3.5cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015,natbib]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + +\begin{document} + +\noindent\fbox{ +\parbox{\textwidth}{ +国标示例:\par + 引用单篇文献:文献\citet{Peebles2001-100-100}\citep{赵学功2001--}\par + 同一处引用多篇文献:文献\citet{Peebles2001-100-100,Miroslav2004--}, + 文献\citep{蔡敏2006--,Miroslav2004--,赵学功2001--}\par + 多次引用同一作者的同一文献: + 文献\citet[100-108]{蔡敏2006--}, + 文献\citep[205-208]{蔡敏2006--}。 +}} + + + %\printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmt.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmt.tex new file mode 100644 index 00000000000..cfac2b3bb8b --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmt.tex @@ -0,0 +1,105 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,利用biblatex和样式定义的各种选项来控制文献表条目内容的格式 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=10cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=givenahead, +gbpub=false,gbbiblabel=box,gbtitlelink=true]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi He and Zhao, Yu Xin and He, Lin and Zhang, Min Li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\begin{document} + + +\nocite{Peebles2001-100-100,Miroslav2004--,蔡敏2006--,赵学功2001--,易仕和2013--,Yi2013--} + +\printbibliography + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtb.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtb.tex new file mode 100644 index 00000000000..f99bcd97dfe --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtb.tex @@ -0,0 +1,95 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ms样式,利用biblatex和样式定义的各种选项来控制文献表条目内容的格式 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=11cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015ms,gbnamefmt=lowercase, +gbpub=false,gbtitlelink=true,gbstyle=false,sorting=nyt]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi He and Zhao, Yu Xin and He, Lin and Zhang, Min Li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-Li and Yi, Shi-He and Zhao, Yu-Xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\begin{document} + + +\nocite{*} + +\printbibliography + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtc.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtc.tex new file mode 100644 index 00000000000..45f7ca91343 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egcontentfmtc.tex @@ -0,0 +1,163 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay样式,利用biblatex和样式定义的各种选项来控制文献表条目内容的格式 +% 这是科学院大学资源环境类学位论文的标注和文献表要求。 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=15cm,paperheight=11.5cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +%\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=givenahead, +%gbpub=false,gbbiblabel=box,gbtitlelink=true]{biblatex}%sorting=nyt +\usepackage[backend=biber,style=gb7714-2015ay,gbnamefmt=lowercase,maxcitenames=2,mincitenames=1, +sortcites,sorting=gbyntd]{biblatex} +\DefineBibliographyStrings{english}{ + andincite = {和}, + andincitecn = {和}, + andothersincitecn = {等}, + andothersincite = {等{\adddot}},%adddot才能避开标点追踪 +} +\renewcommand{\bibfont}{\small} +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi He and Zhao, Yu Xin and He, Lin and Zhang, Min Li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + +@patent{IEEEexample:frenchpatreq, + author = "F. Kowalik and M. Isard", + title = "Estimateur d'un D{\'e}faut de Fonctionnement + d'un Modulateur en Quadrature et {\'E}tage de Modulation + l'Utilisant", + language = "french", + type = "French Patent Request", + number = "9500261", + year = "1995-01-11" +} + +@ARTICLE{吕捷2015cpi, + AUTHOR = {吕捷 and 王高望}, + DATE = {2015}, + JOURNALTITLE = {经济研究}, + KEYWORDS = {吕捷2015cpi}, + PAGES = {011}, + TITLE = {CPI 与 PPI “背离” 的结构性解释}, + VOLUME = {4}, +} + +@patent{IEEEexample:uspat, + author = "Ronald E. Sorace and Victor S. Reinhardt and + Steven A. Vaughn", + holder = "Hughes Aircraft Company", + location = "Los Angeles, CA", + title = "High-Speed Digital-to-{RF} Converter", + type = "patentus", + number = "5668842", + yearfiled = "1995-02-28", + year = "1997-09-16", +} + +@ARTICLE{杨光2015经济波动, + AUTHOR = {杨光 and 孙浦阳 and 龚刚}, + DATE = {2015}, + JOURNALTITLE = {经济研究}, + KEYWORDS = {杨光2015经济波动}, + NUMBER = {2}, + PAGES = {47--60}, + TITLE = {经济波动, 成本约束与资源配置}, + VOLUME = {50}, +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\begin{document} + +\small + +\cite{IEEEexample:frenchpatreq,吕捷2015cpi,IEEEexample:uspat,杨光2015经济波动} + +\cite{Miroslav2004--,蔡敏2006--,赵学功2001--,易仕和2013--} + +\cite{Peebles2001-100-100,Yi2013--} + +\printbibliography[heading=subbibliography] + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelan.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelan.tex new file mode 100644 index 00000000000..e400a94b1ad --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelan.tex @@ -0,0 +1,109 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现的双语对照文献表 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=7cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\makeatletter +\@ifpackagelater{biblatex}{2016/12/01}{ +\defdoublelangentry{易仕和2013--}{Yi2013--} +\defdoublelangentry{张敏莉2007-500-503}{Zhang2007-500-503} +}{} +\makeatother + +\begin{document} + +\nocite{易仕和2013--,张敏莉2007-500-503} + + \printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelanb.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelanb.tex new file mode 100644 index 00000000000..3525d4cb266 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egdoublelanb.tex @@ -0,0 +1,110 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现的双语对照文献表 +% 这是国内某一期刊要求的文献表格式 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=7cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=pinyin]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\makeatletter +\@ifpackagelater{biblatex}{2016/12/01}{ +\defdoublelangentry{易仕和2013--}{Yi2013--} +\defdoublelangentry{张敏莉2007-500-503}{Zhang2007-500-503} +}{} +\makeatother + +\begin{document} + +\nocite{易仕和2013--,张敏莉2007-500-503} + + \printbibliography + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbbiblio.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbbiblio.tex new file mode 100644 index 00000000000..feafd9bc530 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbbiblio.tex @@ -0,0 +1,157 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现GB/T 7714-2015 标准的附录的文献表示例 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=21cm,paperheight=29cm,top=3cm,bottom=2cm,left=1.5cm,right=1.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015]{biblatex}%sorting=nyt + +%\usepackage{filecontents} +%\begin{filecontents}{\jobname.bib} +% +%\end{filecontents} + +\addbibresource{example.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + + +\begin{document} + +\section*{GB/T 7714-2015 中的附录参考文献示例} + +\begin{refsection} +%普通图书(book) +\nocite{张伯伟2002--} +\nocite{2009-155-155} +\nocite{胡承正2010-112-112} +\nocite{美国妇产科医师学会2010-38-39} +\nocite{1962-50-50} +\nocite{汪昂1881--} +\nocite{蒋有绪1998--} +\nocite{中国企业投资协会2013--} +\nocite{罗斯基2009--} +\nocite{库恩2012--} +\nocite{候文顺2010-119-119} +\nocite{CRAWFPRD1995--} +\nocite{IFLAI1977--} +\nocite{OBRIEN1994--} +\nocite{Kinchy2012-50-50} +\nocite{Praetzellis2011-13-13} + +%论文集(collection)、会议录(proceedings) +\nocite{中国职工教育研究会1985--} +\nocite{中国社会科学院台湾史研究中心2012--} +\nocite{雷光春2012--} +\nocite{陈志勇2011--} +\nocite{Babu2014--} + +%报告(report) +\nocite{中华人民共和国国务院新闻办公室2013-04-16--} +\nocite{汤万金2013-09-30--} +\nocite{Calkin2011-8-9} +\nocite{DTFHA1990--} +\nocite{WHO1970--} + +%学位论文(thesis) +\nocite{马欢2011-27-27} +\nocite{吴云芳2003--} +\nocite{CALMS1965--} + +%专利文献(patent) +\nocite{张凯军2012-04-05--} +\nocite{河北绿洲生态环境科技有限公司2001--} +\nocite{KOSEKI2002--} + +%标准文献(book,inbook,note=standard) +\nocite{全国信息文献标准化技术委员会2010-3-3} +\nocite{全国广播电视标准化技术委员会2007-1-1} +\nocite{国家环境保护局科技标准司1996-2-3} +\nocite{standardinfoiso158} + +%专著中析出的文献(inbook) +\nocite{1988-590-590} +\nocite{白书农1998-146-163} +\nocite{汪学军2002-22-25} +\nocite{国家标准局信息分类编码研究所1988-59-92} +\nocite{1977-49-49} +\nocite{楼梦麟2011-11-12} +\nocite{BUSECK1980-117-211} +\nocite{FOURNEY1971-17-38} + +%期刊中析出的文献(article) +\nocite{杨洪升2013-56-75} +\nocite{李炳穆2008-6-12} +\nocite{于潇2012-1518-1523} +\nocite{陈建军2010-93-93} +\nocite{DESMARAIS1992-605-609} +\nocite{Saito2006-169-176} +\nocite{Walls2013-399-418} +\nocite{Franz2013-1053-1062} +\nocite{Park2010-696-715} + +%报纸中析出的文献(article,note=news) +\nocite{丁文祥2000--} +\nocite{张田勤2000--} +\nocite{傅刚2000--} +\nocite{刘裕国2013-01-12--} + +%电子资源(online) +\nocite{萧钰2001--} +\nocite{李强2012-05-03--} +\nocite{Commonwealth--} +\nocite{Dublin2012-06-14--} + + +\printbibliography[heading=subbibliography,type=book,notkeyword=standard,title=【A1- 普通图书-著录格式示例】]%subbibintoc + +\defbibfilter{collections}{% +type=collection +or type=proceedings +or type=collection +} +\printbibliography[heading=subbibliography,filter=collections,title=【A2-论文集、会议录-著录格式示例】] + +\defbibfilter{reports}{% +type=report +or ( keyword=report ) +} + +\printbibliography[heading=subbibliography,filter=reports,title=【A3-报告-著录格式示例】] + +\printbibliography[heading=subbibliography,type=thesis,title=【A4-学位论文-著录格式示例】] + +\printbibliography[heading=subbibliography,type=patent,title=【A5-专利-著录格式示例】] + +\defbibfilter{standard}{% +type=book and keyword=standard +} +\printbibliography[heading=subbibliography,filter=standard,title=【A6-标准文献-著录格式示例】] + +\hypertarget{entrystdwithoutauthor}{注意:这里最后一篇标准文献没有责任者,所以作者年制默认情况下无法给出文献标识符。} + +\defbibfilter{inbooks}{% +type=inbook or type=incollection or type=inproceedings +} + +\printbibliography[heading=subbibliography,filter=inbooks,title=【A7- 专著中析出的文献-著录格式示例】] + + +\printbibliography[heading=subbibliography,type=article,notkeyword=news,title=【A8- 期刊中析出的文献-著录格式示例】] + +\printbibliography[heading=subbibliography,keyword=news,title=【A9-报纸析出的文献-著录格式示例】]%type=article,有时type是newspaper所以不指定type为article + +\defbibfilter{onlines}{% +type=online and not keyword=report +} + +\printbibliography[heading=subbibliography,filter=onlines,title=【A10-电子资源-著录格式示例】] + + +\end{refsection} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitation.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitation.tex new file mode 100644 index 00000000000..c260c864f64 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitation.tex @@ -0,0 +1,553 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现GB/T 7714-2015 标准说明中给出的顺序编码制示例 +\documentclass{article} +\usepackage{ctex} +\usepackage[russian,french,english]{babel} +\usepackage{fontspec} + \setmainfont{CMU Serif} + \setCJKmainfont{SourceHanSerifSC-Regular.otf} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=21cm,paperheight=29cm,top=3cm,bottom=2cm,left=1.5cm,right=1.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +%%注意:这里使用other*来使得babel切换环境时忽略空白,使得条目集中各文献间的标点正确 +\usepackage[backend=biber,style=gb7714-2015,autolang=other*]{biblatex}%sorting=nyt + + + +% printbiblist命令需要一个与其参数同名的文献输出驱动,详见92-bibliographylists.tex +\DeclareBibliographyDriver{authorexample}{% +%\usebibmacro{begentry}% +\begingroup +\usebibmacro{author/editor+others/translator+others}\par +%\usebibmacro{finentry} +\endgroup +} + + +\DeclareFieldFormat{titlea}{#1} + +\renewbibmacro*{titlea}{% + \ifboolexpr{% + test{\iffieldundef{title}}% + and + test{\iffieldundef{subtitle}}% + }% + {}% + {\printtext[titlea]{\bibtitlefont%增加字体控制命令 + \printfield[titlecase]{title}% + \ifboolexpr{test {\iffieldundef{subtitle}}}%这里增加了对子标题的判断,解决不判断多一个点的问题 + {}{\setunit{\subtitlepunct}% + \printfield[titlecase]{subtitle}}% + \iffieldundef{titleaddon}{}%判断一下titleaddon,否则直接加可能多一个空格 + {\setunit{\subtitlepunct}\printfield{titleaddon}}% +}}} + +\DeclareBibliographyDriver{titlexamplea}{% +\usebibmacro{begentry}% +\iffieldundef{title}{\usebibmacro{journal}}{\usebibmacro{titlea}} +\usebibmacro{finentry} +} + + +\DeclareBibliographyDriver{titlexample}{% +\usebibmacro{begentry}% +\iffieldundef{title}{\usebibmacro{journal+issuetitle}}{\usebibmacro{title}} +\usebibmacro{finentry} +} + +\DeclareBibliographyDriver{editionexample}{% +%\usebibmacro{begentry}% +\begingroup +\printfield{edition}\par +%\usebibmacro{finentry} +\endgroup +} + +\DeclareBibliographyDriver{pubexample}{% +\usebibmacro{begentry}% +\ifentrytype{online}{\usebibmacro{institution+location+date}}{\usebibmacro{publisher+location+date}}%\par +\usebibmacro{chapter+pages}% +\usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 +\usebibmacro{finentry} +} + +\DeclareBibliographyDriver{dateexample}{% +\usebibmacro{begentry}% +\ifentrytype{online}{\usebibmacro{modifydate}}{% +\ifkeyword{news}{\usebibmacro{newsdate}}{\usebibmacro{institution+location+date}}}%\par +\usebibmacro{chapter+pages}% +\usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 +\usebibmacro{finentry} +} + +\DeclareBibliographyDriver{dvnpexample}{% +\usebibmacro{issue+date}% +\iffieldundef{volume}{}{\setunit{\addcomma\space}}% +\usebibmacro{volume+number+eid}%把卷期放到年份后面 +\usebibmacro{note+pages}\par% +} + +\defbibenvironment{exampleenv} + {\list + {示例\printfield{labelnumber}:\space} + {\setlength{\labelwidth}{1cm}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} + +\defbibheading{biblist}[\bibname]{% +\paragraph*{#1}} + +\addbibresource{example.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + + +\begin{document} + +\section*{GB/T 7714-2015 中的著录标准和顺序编码制示例} + +\section*{4 著录项目和著录格式} + +\subsection*{4.1 专著} +\begin{refsection} + +\nocite{陈登原2000-29-29, +哈里森沃尔德伦2012-235-236, +北京市政协民族和宗教委员会2012-112-112, +全国信息与文献标准化技术委员会2010-2-3, +徐光宪2010--, +顾炎武1992--, +王夫之1865--, +牛志明2012--, +中国第一历史档案馆2001--, +杨保军2012--, +赵学功2001--, +同济大学土木工程防灾国家重点实验室2011-5-6, +中国造纸学会2003--, +PEEBLES2001--, +Yufin2000--, +Baldock2011-105-105, +Fan2013-25-26 +} + +\printbibliography[heading=subbibliography,title={示例:}] +\end{refsection} + +\subsection*{4.2 专著中的析出文献} +\begin{refsection} + +\nocite{ +王夫之2011-1109-1109, +程根伟1999-32-36, +陈晋镳1980-56-114a, +马克思2013-302-302, +贾东琴2011-45-52, +Weinstein1974-745-772, +Roberson2011-1-36 +} + +\printbibliography[heading=subbibliography,title={示例:}] +\end{refsection} + +\subsection*{4.3 连续出版物} +\begin{refsection} + +\nocite{ +中华医学会湖北分会1984----, +中国图书馆学会1957--1990--, +AAAS1883----, +} + +\printbibliography[heading=subbibliography,title={示例:}] +\end{refsection} + +\subsection*{4.4 连续出版物中的析出文献} +\begin{refsection} + +\nocite{袁训来2012-3219-3219, +余建斌2013--, +李炳穆2008-6-12, +李幼平2010-225-228, +武丽丽2008-8-9, +Kanamori1998-2063-2063, +Caplan1993-61-66, +Frese2013-378-398, +Myburg2014-356-362 +} + +\printbibliography[heading=subbibliography,title={示例:}] +\end{refsection} + +\subsection*{4.5 专利文献} +\begin{refsection} + +\nocite{邓一刚2006--, +西安电子科技大学2002--, +Tachibana2005--} + +{ + \hyphenpenalty=100 %断词阈值,值越大越不容易出现断词 + \tolerance=5000 %丑度,10000为最大无溢出盒子,参考the texbook 第6章 +\printbibliography[heading=subbibliography,title={示例:}] +} +\end{refsection} + +\subsection*{4.6 电子资源} +\begin{refsection} + +\nocite{中国互联网络信息中心2012--, +北京市人民政府办公厅2005--, +Bawden2008--, +OCLC--, +Hopkinson2009-- +} + +{ + \hyphenpenalty=100 %断词阈值,值越大越不容易出现断词 + \tolerance=5000 %丑度,10000为最大无溢出盒子,参考the texbook 第6章 +\printbibliography[heading=subbibliography,title={示例:}] +} +\end{refsection} + +\section*{6 著录用文字} +\section*{示例1} +\begin{refsection} +\nocite{周鲁卫2011--} +\nocite{常森2013--} +\nocite{kereanrefa} +\nocite{japaneserefc} +\nocite{RUDDOCK2009--} +\nocite{russianrefc} +\printbibliography[heading=subbibliography,title={用原语种著录参考文献}] +\end{refsection} + +\section*{示例2} +\begin{refsection} +\defbibentryset{李炳穆set}{kereanrefb,李炳穆2005--} +\defbibentryset{图书馆信息政策set}{kereanrefc,图书馆信息政策委员会2007--} +\nocite{李炳穆set} +\nocite{图书馆信息政策set} +\printbibliography[heading=subbibliography,title={用韩中2种语言著录文献}] +\end{refsection} + +\section*{示例3} +\begin{refsection} +\defbibentryset{熊平set}{熊平2005--,xiong2005--} +\defbibentryset{食品药品监督set}{上海市食品药品监督管理局课题组2008--,Rgsfda2008--} +\nocite{熊平set} +\nocite{食品药品监督set} +\printbibliography[heading=subbibliography,title={用中英2种语言著录文献}] +\end{refsection} + + +\section*{7 著录用符号} + +\begin{refsection} +\nocite{GPS1988--} +\nocite{李约瑟1991--} +\nocite{武丽丽2008-8-9} +\printbibliography[heading=subbibliography,title={符号.示例}] +\end{refsection} + +\begin{refsection} +\nocite{WHO1970--} +\nocite{刘彻东1998-38-39} +\nocite{邓一刚2006--} +\printbibliography[heading=subbibliography,title={符号:示例}] +\end{refsection} + +\begin{refsection} +\nocite{罗杰斯2011-15-16} +\nocite{袁训来2012-3219-3219} +\printbibliography[heading=subbibliography,title={符号,示例}] +\end{refsection} + +\begin{refsection} +\nocite{编者1964--} +\printbibliography[heading=subbibliography,title={符号;示例}] +\end{refsection} + +\begin{refsection} +\nocite{李约瑟1991--} +\nocite{张忠智1997-33-34} +\printbibliography[heading=subbibliography,title={符号//示例}] +\end{refsection} + +\begin{refsection} +\nocite{DUBAR2013--} +\nocite{余建斌2013--} +\nocite{Bawden2008--} +\printbibliography[heading=subbibliography,title={符号()示例}] +\end{refsection} + +\begin{refsection} +\nocite{DUBAR2013--} +\printbibliography[heading=subbibliography,title={符号{[}{]}示例}] +\end{refsection} + +\begin{refsection} +\nocite{Dowler1995-5-26} +\nocite{DUBAR2013--} +\printbibliography[heading=subbibliography,title={符号/示例}] +\end{refsection} + +\begin{refsection} +\nocite{Dowler1995-5-26} +\nocite{DUBAR2013--} +\printbibliography[heading=subbibliography,title={符号-示例}] +\end{refsection} + + +\section*{8.1 责任者} +\subsection*{8.1.1 个人著者} +\begin{refsection} +注意其中“昂温”文献的情况,姓名是中英文混合的情况是比较特殊的,因为存在中文,所以判定为中文,但为了输出的形式保持英文中姓和名之间的空格,因此bib文件中的输入以\{\}进行保护。 +\nocite{李时珍--} +\nocite{乔纳斯--} +\nocite{昂温1988--} +\nocite{GPS1988--} +\nocite{丸山敏秋--} +\nocite{凯西尔--} +\nocite{Einstein--} +\nocite{Williams-ellis--} +\nocite{morgan--} +\nocite{lijianning--a} +\nocite{lijianning--b} +\printbiblist[title={作者姓名示例},env=exampleenv]{authorexample} +\end{refsection} + +\subsection*{8.1.2 多位著者} +\begin{refsection} +\nocite{钱学森--} +\nocite{李四光--} +\nocite{印森林--} +\nocite{fordham--} +\printbiblist[title={作者姓名示例},env=exampleenv]{authorexample} +\end{refsection} + +\subsection*{8.1.3 缺省著者} +\begin{refsection} +\nocite{anon1981-628} +\printbibliography[heading=subbibliography,title={作者姓名示例}] +\end{refsection} + +\subsection*{8.1.4 团体著者} +\begin{refsection} +\nocite{中国科学院物理研究所--} +\nocite{贵州省土穰普查办公室--} +\nocite{AmericanChemicalSociety--} +\nocite{StanfordUniversity--} +\printbiblist[title={作者姓名示例},env=exampleenv]{authorexample} +\end{refsection} + +\section*{8.2 题名} +\begin{refsection} +\nocite{王夫之的诠释--} +\nocite{张子正蒙注--} +\nocite{化学动力学和反应器原理--} +\nocite{袖珍神学--} +\nocite{北京师范大学学报--} +\nocite{Gasesinsea--} +\nocite{jmath--} +\printbiblist[title={题名示例},env=exampleenv]{titlexamplea} +\end{refsection} + +\subsection*{8.2.1 合订题名} +\begin{refsection} +\nocite{为人民服务--} +\nocite{大趋势--} +\printbiblist[title={题名示例},env=exampleenv]{titlexamplea} +\end{refsection} + + +\subsection*{8.2.3/8.2.4 标识符和其它题名信息} +\begin{refsection} +\nocite{地壳运动--} +\nocite{三松堂--} +\nocite{世界出版业--} +\nocite{ECL集成电路--} +\nocite{中国科学技术史--} +\nocite{商鞅战秋菊--} +\nocite{中国科学--} +\nocite{信息与文献--} +\nocite{中子反射--} +\nocite{AsianPacificjournal--} +\printbiblist[title={题名示例},env=exampleenv]{titlexample} +\end{refsection} + +\section*{8.3 版本} +\begin{refsection} +\nocite{egbookeda--} +\nocite{egbookedb--} +\nocite{egbookedc--} +\nocite{egbookedd--} +\nocite{egbookede--} +\printbiblist[title={版本示例},env=exampleenv]{editionexample} +\end{refsection} + +\section*{8.4 出版项} +\begin{refsection} +\nocite{egbookpuba--} +\nocite{egbookpubb--} +\printbiblist[title={出版项示例},env=exampleenv]{pubexample} +\end{refsection} + +\subsection*{8.4.1 出版地} +\begin{refsection} +\nocite{egbookpubaddressa--} +\nocite{egbookpubaddressb--} +\nocite{egbookpubaddressc--} +\nocite{egbookpubaddressd--} +\nocite{egbookpubaddresse--} +\nocite{egbookpubaddressf--} +\nocite{egbookpubaddressg--} +\printbiblist[title={出版地示例},env=exampleenv]{pubexample} +\end{refsection} + + +\subsection*{8.4.2 出版者} +\begin{refsection} +\nocite{egbookpubpublishera--} +\nocite{egbookpubpublisherb--} +\nocite{egbookpubpublisherc--} +\nocite{egbookpubpublisherd--} +\nocite{egbookpubpublishere--} +\nocite{egbookpubpublisherf--} +\printbiblist[title={出版者示例},env=exampleenv]{pubexample} +\end{refsection} + +\subsection*{8.4.3 出版日期} +\begin{refsection} +\nocite{egbookpubdatea--} +\nocite{egbookpubdateb--} +\nocite{egbookpubdatec--} +\nocite{egbookpubdated--} +\nocite{egbookpubdatee--} +\nocite{egbookpubdatef--} +\printbiblist[title={出版日期示例},env=exampleenv]{dateexample} +\end{refsection} + +\subsection*{8.4.4 公告更新引用日期} +\begin{refsection} +\nocite{egbookpubdateg--} +\printbiblist[title={公告更新引用日期示例},env=exampleenv]{dateexample} +\end{refsection} + +\section*{8.5 页码} +\begin{refsection} +\nocite{曹凌2011-19-} +\nocite{钱学森2001--} +\nocite{冯友兰2008--} +\nocite{李约瑟1991--} +\nocite{DUBAR2013--} +\printbibliography[heading=subbibliography,title=页码示例] +\end{refsection} + + +\subsection*{8.6 获取和访问路径} +\begin{refsection} + +\nocite{储大同2010-721-724,weiner2010-38} + +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{8.7 数字对象唯一识别符} +\begin{refsection} + +\nocite{刘乃安2000-17-18,Deverell2013-21-22} +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{8.8 析出文献} + +\subsection*{8.8.1 析出关系表示} +\begin{refsection} + +\nocite{姚中秋2009--,关立哲2014--,TENOPIR1987--} + +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{8.8.2-5 年卷期页码} +\begin{refsection} + +\nocite{egdatevolnumpagea--,egdatevolnumpageb--,% +egdatevolnumpagec--,egdatevolnumpaged--,% +egdatevolnumpagee--,egdatevolnumpagef--,% +egdatevolnumpageg--} + +\printbiblist[title={年卷期页码},env=exampleenv]{dvnpexample} +\end{refsection} + +\subsection*{9.2 文献表} +\begin{refsection} + +\nocite{Baker1995--,Chernik1982--,尼葛洛庞帝1996--,汪冰1997-16-16,杨宗英1996-24-29,Dowler1995-5-26} + +\printbibliography[heading=subbibliography,title={示例}] +\end{refsection} + +\subsection*{10.1.1 一处引用一篇文献} + +\begin{refsection} + +所谓移情,就是“说话人将自己认同于......他用句子所描述的时间或状态中的一个参与者”\cite{Sunstein1996-903-903}。《汉语大词典》和张相 +\cite{Morri2010--}都认为“可”是“痊愈”, +候精一认为是“减轻”\cite{罗杰斯2011-15-16}。......另外,根据候精一,表示病痛程度减轻的形容词“可”和表示逆转否定的副词“可” +是兼类词\cite{陈登原2000-29-29},这也说明二者应该存在着源流关系。 + + +所谓移情,就是“说话人将自己认同于......他用句子所描述的时间或状态中的一个参与者”\footfullcite{Sunstein1996-903-903}。《汉语大词典》和张相 +\footfullcite{Morri2010--}都认为“可”是“痊愈”, +候精一认为是“减轻”\footfullcite{罗杰斯2011-15-16}。......另外,根据候精一,表示病痛程度减轻的形容词“可”和表示逆转否定的副词“可” +是兼类词\footfullcite{陈登原2000-29-29},这也说明二者应该存在着源流关系。 + + +\end{refsection} + +\subsection*{10.1.2 一处引用多篇文献} +\begin{refsection} + +裴伟提出\cite{Humphrey1971--,CRANE1972--}...... + +莫拉德对稳定区的研究 +\cite{CRANE1972--,Weinstein1974-745-772,KENNEDY1975-311-386}...... + + +\end{refsection} + +\subsection*{10.1.3 多次引用同一著者的同一文献} +\begin{refsection} +……改变社会规范也可能存在类似的“二阶囚徒困境”问题:尽管改变旧的规范对所有人都好,但个人理性选择使得没有人愿意率先违反旧的规范\cite{Sunstein1996-903-903}。 +……事实上,古希腊对轴心时代思想真正的贡献不是来自对民主的赞扬,而是来自对民主制度的批评,苏格拉底、柏拉图和亚里士多德3位贤圣 +都是民主制度的坚决反对者\pagescite[20]{Morri2010--}。 +……柏拉图在西方世界的影响力是如此之大以至于有学者评论说,一切后世的思想都是一系列为柏拉图思想所作的脚注\cite{罗杰斯2011-15-16}。 +……据《唐会要》记载,当时拆毁的寺院有4 600余所,招提、兰若等佛教建筑4万余所,没收寺产,并强迫僧尼还俗达260 500人。 +佛教受到极大的打击\pagescite[326-329]{Morri2010--}。 +……陈登原先生的考证是非常精确的,他印证了《春秋说题辞》“黍者绪也,故其立字,禾入米为黍,为酒以扶老,为酒以序尊卑,禾为柔物,亦宜养老”,指出:“以上谓等威之辨,尊卑之序,由于饮食荣辱。”\cite{陈登原2000-29-29} + +\printbibliography[heading=subbibliography] +\end{refsection} + +\begin{refsection} +……改变社会规范也可能存在类似的“二阶囚徒困境”问题:尽管改变旧的规范对所有人都好,但个人理性选择使得没有人愿意率先违反旧的规范 +\footfullcite{Sunstein1996-903-903}。 +……事实上,古希腊对轴心时代思想真正的贡献不是来自对民主的赞扬,而是来自对民主制度的批评,苏格拉底、柏拉图和亚里士多德3位贤圣 +都是民主制度的坚决反对者\footfullcite[20]{Morri2010--}。 +……柏拉图在西方世界的影响力是如此之大以至于有学者评论说,一切后世的思想都是一系列为柏拉图思想所作的脚注\footfullcite{罗杰斯2011-15-16}。 +……据《唐会要》记载,当时拆毁的寺院有4 600余所,招提、兰若等佛教建筑4万余所,没收寺产,并强迫僧尼还俗达260 500人。 +佛教受到极大的打击\footfullcite[326-329]{Morri2010--}。 +……陈登原先生的考证是非常精确的,他印证了《春秋说题辞》“黍者绪也,故其立字,禾入米为黍,为酒以扶老,为酒以序尊卑,禾为柔物,亦宜养老”,指出:“以上谓等威之辨,尊卑之序,由于饮食荣辱。”\footfullcite{陈登原2000-29-29} +\end{refsection} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitationay.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitationay.tex new file mode 100644 index 00000000000..df9482832c3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/eggbcitationay.tex @@ -0,0 +1,75 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现GB/T 7714-2015 标准说明中给出的著者年份制示例 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=21cm,paperheight=29cm,top=3cm,bottom=2cm,left=1.5cm,right=1.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015ay,gbnoauthor]{biblatex}%sorting=nyt + +%\usepackage{filecontents} +%\begin{filecontents}{\jobname.bib} +% +%\end{filecontents} + +\addbibresource{example.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + + +\begin{document} + +\section*{GB/T 7714-2015 中的著者年份制示例} + +\subsection*{8.1.3 缺省著者} +\begin{refsection} +\nocite{anon1981-628} +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{9.2 文献表} +\begin{refsection} + +\nocite{尼葛洛庞帝1996--,汪冰1997-16-16,杨宗英1996-24-29,Baker1995--,Chernik1982--,Dowler1995-5-26} + +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{10.2.1 引用单篇文献} +\begin{refsection} + +the notion of an invisible college has been explored in thesciences\cite{CRANE1972--}.Its absence among historians was noted by Stieg\yearcite{STIEG1981-549-560} ... + +\printbibliography[heading=subbibliography] +\end{refsection} + + + +\subsection*{10.2.2/10.2.3 多著者、同著者同年份多篇文献} +\begin{refsection} + +\nocite{王临慧2010-147,王临慧2010-138} +\nocite{KENNEDY1975-311-386,KENNEDY1975-339-360} + + +\printbibliography[heading=subbibliography] +\end{refsection} + +\subsection*{10.2.4 多次引用同一著者的同一文献} +\begin{refsection} +主编靠编辑思想指挥全局已是编辑界的共识\cite{张忠智1997-33-34},然而对编辑思想至今没有一个明确的界定,故不妨提出一个构架……参与讨论。 +由于“思想”的内涵是“客观存在反映在人的意识中经过思维活动而产生的结果” +\pagescite[1194]{中国社会科学院语言研究所词典编辑室1996--},所以“编辑思想”的内涵就是编辑实践反映在编辑工作者 +的意识中,“经过思维活动而产生的结果”。 +……《中国青年》杂志创办人追求的高格调- +理性的成熟与热点的凝聚\cite{刘彻东1998-38-39},表明其读者群的文化的品位的高层次……“方针”指“引导事业前进的方向和目标” +\pagescite[235]{中国社会科学院语言研究所词典编辑室1996--}。 +……对编辑方针,1981年中国科协副主席裴丽生曾有过科学的论断—“自然科学学术期刊必须坚持以马列主义、毛泽东思想为指导,贯彻为国民经济发展服务,理论与实践相结合,普及与提高相结合,‘百花齐放,百家争鸣’的方针。” \cite{裴丽生1981-2-10}它完整地回答了为谁服务怎样服务,如何服务得更好的间题。 + +\printbibliography[heading=subbibliography] +\end{refsection} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egmultilan.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egmultilan.tex new file mode 100644 index 00000000000..609ca01886e --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egmultilan.tex @@ -0,0 +1,74 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,实现的多语言混合的文献表 +\documentclass{article} +\usepackage{ctex} +\usepackage[english,russian,french]{babel} +\usepackage{fontspec} +\setmainfont{CMU Serif} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=8.5cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage[backend=biber,style=gb7714-2015,autolang=other,gbpub=false,gbnamefmt=familyahead]{biblatex} + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@INPROCEEDINGS{frenchref, + AUTHOR = {Beneton Philippe and Touchard Jean and Beton Philippe and Betin Philippe}, + BOOKTITLE = {Revue française de science politique}, + DATE = {1968}, + PAGES = {19--46}, + TITLE = {ôçLes interprétations de la crise de mai-juinŕł}, +} + +@ARTICLE{greenwood1988, + AUTHOR = {Greenwood, Jeremy and Hercowitz, Zvi and Huffman, Gregory W and Williams, Joedge}, + PUBLISHER = {JSTOR}, + DATE = {1988}, + JOURNALTITLE = {The American Economic Review}, + KEYWORDS = {greenwood1988investment}, + PAGES = {402--417}, + TITLE = {Investment, capacity utilization, and the real business cycle}, +} +%langid={english} + +@BOOK{russainref, + AUTHOR = {Кузнецов, А. В. and Кузнецов, C. В. and Кузнецов, D. В. and Кузнецов, E. В.}, + TITLE = {Русский язык и языковая личность}, + LOCATION = {М.}, + PUBLISHER = {Диалог МГУ}, + DATE = {1998}, + PAGES = {28}, +} +%langid={russian} + +@ARTICLE{刘凤良2017, + AUTHOR = {刘凤良 and 章潇萌 and 于泽 and 黄晓}, + DATE = {2017}, + JOURNALTITLE = {金融研究}, + KEYWORDS = {刘凤良2017}, + NUMBER = {2}, + PAGES = {54--69}, + TITLE = {高投资、结构失衡与价格指数二元分化}, +}% langid={english} + +@BOOK{青木昌彦1996--, + AUTHOR = {青木昌彦 and 青木昌一 and 青木昌二 and 青木昌三}, + PUBLISHER = {東洋経済新報社}, + DATE = {1996}, + PAGES = {288}, + TITLE = {メインバンク ・ システムのモニタリング機能としての特徴}, +} + +\end{filecontents} + \addbibresource{\jobname.bib} + % + \begin{document} + + \nocite{*} + + \printbibliography[title=参考文献] + + \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egparfmt.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egparfmt.tex new file mode 100644 index 00000000000..51ceaf76eb1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egparfmt.tex @@ -0,0 +1,135 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,利用biblatex和样式定义的各种选项和命令 +% 来控制文献表段落格式,包括缩进,颜色,字体,间距等 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=14cm,paperheight=7.5cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015,block=par]{biblatex}%sorting=nyt + +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +% 换行的控制 + % + % 选项 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{blue!50!black}}% + \renewcommand{\bibtitlefont}{\ttfamily\color{red!50!black}}% + \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}{2em} % bibitemindent表示一条文献中第一行相对后面各行的缩进 + %\setlength{\bibhang}{0pt} % 作者年制中 bibhang 表示的各行起始位置到页边的距离, 顺序编码制中 bibhang+labelnumberwidth 表示各行起始位置到页边的距离 + + + % 标点类型的控制(全局字体能控制标点的字体) + +\begin{document} + + +\nocite{Peebles2001-100-100,Miroslav2004--,蔡敏2006--,赵学功2001--} + +%\centering +% +%\parbox{0.95\linewidth}{\centering +\printbibliography +%} + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egtest.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egtest.tex new file mode 100644 index 00000000000..721fbc4f06b --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/egtest.tex @@ -0,0 +1,26 @@ +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=21cm,paperheight=29cm,top=3cm,bottom=2cm,left=1.5cm,right=1.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +\usepackage[backend=biber,style=gb7714-2015]{biblatex}%sorting=nyt + +%\usepackage{filecontents} +%\begin{filecontents}{\jobname.bib} +% +%\end{filecontents} + +\addbibresource{example.bib} +\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + + +\begin{document} + +\cite{Myburg2014-356-362,中国互联网络信息中心2012--} + +\printbibliography[heading=subbibliography] + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makeclear.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makeclear.bat new file mode 100755 index 00000000000..33f3659e916 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makeclear.bat @@ -0,0 +1,5 @@ +@echo off +del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.userbak *.nav *.snm *.vrb + + +del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileGBT.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileGBT.bat new file mode 100755 index 00000000000..89330b9f79d --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileGBT.bat @@ -0,0 +1,43 @@ +@echo off + + +IF NOT EXIST gb7714-2015.bbx ( +copy ..\example.bib . /y +copy ..\gb7714-2015.bbx . /y +copy ..\gb7714-2015.cbx . /y +copy ..\gb7714-2015ay.bbx . /y +copy ..\gb7714-2015ay.cbx . /y +copy ..\gb7714-2015ms.bbx . /y +copy ..\gb7714-2015ms.cbx . /y +copy ..\gb7714-2015-gbk.def . /y +) + + +setlocal enabledelayedexpansion +for %%a in ( eggb*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + + + +call makeclear + + +del *.bbx /Q +del *.cbx /Q +del *.def /Q +del eg*.bib /Q + + + + +::pause diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileeg.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileeg.bat new file mode 100755 index 00000000000..c6dcdd963fa --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/egfigure/makefileeg.bat @@ -0,0 +1,43 @@ +@echo off + + +IF NOT EXIST gb7714-2015.bbx ( +copy ..\example.bib . /y +copy ..\gb7714-2015.bbx . /y +copy ..\gb7714-2015.cbx . /y +copy ..\gb7714-2015ay.bbx . /y +copy ..\gb7714-2015ay.cbx . /y +copy ..\gb7714-2015ms.bbx . /y +copy ..\gb7714-2015ms.cbx . /y +copy ..\gb7714-2015-gbk.def . /y +) + + +setlocal enabledelayedexpansion +for %%a in ( eg*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + + + +call makeclear + + +del *.bbx /Q +del *.cbx /Q +del *.def /Q +del eg*.bib /Q + + + + +::pause diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/example.bib b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example.bib index 428a9d2b5d5..54865771bb5 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/example.bib +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example.bib @@ -1,11 +1,709 @@ -% This file was created with JabRef 2.11. -% Encoding: UTF8 +% Encoding: UTF-8 @Other{易仕和,2013, Entryset = {易仕和2013--,Yi2013--} } +@book{李时珍--, +author={李时珍} +} + +@book{乔纳斯--, +author={乔纳斯} +} + +@Book{昂温1988--, + Author = {昂温, S.}, +} + +@Book{GPS1988--, + Title = {外国出版史}, + Author = {{昂温, G} and {昂温, P S}}, + Publisher = {中国书籍出版社}, + Translator = {陈生诤}, + Year = {1988}, + Location = {北京} +} + +@Book{丸山敏秋--, + Author = {丸山敏秋}, +} + +@Book{凯西尔--, + Author = {凯西尔}, +} + +@book{Einstein--, + author = {Einstein, Albert} +} + +@book{Williams-ellis--, + author = {Williams-ellis, Amabel} +} + +@book{morgan--, + author = {De Morgan, Augustus} +} + +@book{lijianning--a, + author = {{LI Jiangning}} +} + +@book{lijianning--b, + author = {Li, Jiang Ning} +} + +@book{钱学森--, + author = {钱学森 and 刘再复} +} + +@book{李四光--, + author = {李四光 and 华罗庚 and 茅以升} +} + +@book{印森林--, + author = {印森林 and 吴胜和 and 李俊飞 and 冯文杰} +} + +@book{fordham--, + author = {Evenst W. Fordham and Amiad Ali and David A. Truner and John R. Charters} +} + +@Article{anon1981-628, + title = {Coffee drinking and cancer of the pancreas}, + journal = {Br Med J}, + year = {1981}, + volume = {283}, + number = {6292}, + pages = {628} +} + +@book{中国科学院物理研究所--, + author = {{中国科学院物理研究所}} +} + +@book{贵州省土穰普查办公室--, + author = {{贵州省土穰普查办公室}} +} + +@book{AmericanChemicalSociety--, + author = {{American Chemical Society}} +} + + +@book{StanfordUniversity--, + author = {{Stanford University. Department of Civil Eng ineering}} +} + + +@book{王夫之的诠释--, + title = {王夫之“乾坤并建”的诠释面向} +} + +@book{张子正蒙注--, + title = {张子正蒙注} +} + +@book{化学动力学和反应器原理--, + title = {化学动力学和反应器原理} +} + +@book{袖珍神学--, + title = {袖珍神学,或,简明基督教词典} +} + +@article{北京师范大学学报--, + Journaltitle = {北京师范大学学报(自然科学版)} +} + +@book{Gasesinsea--, + title = {Gases in sea ice 1975-1979} +} + +@article{jmath--, + Journaltitle = {J Math \& Phys} +} + +@book{为人民服务--, + title = {为人民服务;纪念白求恩;愚公移山} +} + +@book{编者1964--, + title = {为人民服务;纪念白求恩;愚公移山}, + address= {北京}, + publisher={人民出版社}, + date ={1964}, + pages= {1-3;7-11;31-35} +} + +@book{大趋势--, + title = {大趋势} +} + +@book{地壳运动--, + title = {地壳运动假说:从大陆漂移到板块构造} +} + +@book{三松堂--, + title = {三松堂全集:第4卷} +} + +@book{世界出版业--, + title = {世界出版业:美国卷} +} + +@book{ECL集成电路--, + title = {ECL集成电路:原理与设计} +} + +@book{中国科学技术史--, + title = {中国科学技术史:第2卷~~科学思想史} +} + +@article{商鞅战秋菊--, + title = {商鞅战秋菊:法治转型的一个思想实验} +} + +@article{中国科学--, + title = {中国科学:D辑~~地球科学} +} + +@Standard{信息与文献--, + title = {信息与文献---都柏林核心元数据元素集:GB/T 25100—2010} +} + +@Standard{全国信息与文献标准化技术委员会2010-2-3, + author = {全国信息与文献标准化技术委员会}, + title = {信息与文献\ 都柏林核心元数据元素集: GB/T 25100—2010}, + year = {2010}, + address = {北京}, + pages = {2--3}, + publisher = {中国标准出版社}, +} + +@report{中子反射--, + title = {中子反射数据分析技术:CNIC-01887} +} + +@article{AsianPacificjournal--, + Journaltitle = {Asian Pacific journal of eancer prevention: e-only} +} + + +@book{egbookeda--, + title = {中文书}, + edition={3} +} + +@book{egbookedb--, + title = {中文书}, + edition={新1版} +} + +@book{egbookedc--, + title = {中文书}, + edition={明刻本} +} + +@book{egbookedd--, + title = {english book}, + edition={5} +} + +@book{egbookede--, + title = {english book}, + edition={Rev. ed.} +} + +@book{egbookpuba--, + title = {中文书}, + date = {2013}, + address = {北京}, + publisher = {人民出版社}, +} + +@book{egbookpubb--, + title = {english book}, + date = {2012}, + address = {New York}, + publisher = {Academic Press}, +} + +@book{egbookpubaddressa--, + title = {english book}, + address = {Cambridge, Eng.}, + publisher = {Academic Press}, +} + +@book{egbookpubaddressb--, + title = {english book}, + address = {Cambridge, Mass.}, + publisher = {Academic Press}, +} + +@book{egbookpubaddressc--, + title = {中文书}, + date = {2013}, + address = {北京 and 上海}, + publisher = {科学出版社}, +} + +@book{egbookpubaddressd--, + title = {english book}, + date = {2000}, + address = {London and Boston and Durban and Syngapore and Sydney and Toronto and Wellington}, + publisher = {Butterworths}, +} + +@book{egbookpubaddresse--, + title = {中文书}, + date = {1990}, + publisher = {三户图书刊行社}, +} + +@book{egbookpubaddressf--, + title = {english book}, + date = {1975}, + publisher = {MacMillan}, +} + +@online{egbookpubaddressg--, + date = {2011}, + pages ={105}, + url={http://lib.myilibrary.com/Open.aspx?id=312377}, + urldate={2014-06-16}, + publisher = {Open University Press}, +} + + + +@book{egbookpubpublishera--, + title = {中文书}, + address = {北京}, + publisher = {中国标准出版社}, +} + +@book{egbookpubpublisherb--, + title = {english book}, + address = {Cambridge}, + publisher = {Elsevier Science Publishers}, +} + +@book{egbookpubpublisherc--, + title = {english book}, + address = {Cambridge}, + publisher = {IRRI}, +} + +@book{egbookpubpublisherd--, + title = {english book}, + address = {Chicago}, + publisher = {ALA and CLA}, + date ={1978} +} + +@book{egbookpubpublishere--, + title = {中文书}, + address = {哈尔滨}, + date ={2013} +} + +@book{egbookpubpublisherf--, + title = {english book}, + address = {Salt Lake City}, + date ={1964} +} + + +@book{egbookpubdatea--, + title = {中文书}, + year ={1947(民国三十六年)} +} + +@book{egbookpubdateb--, + title = {中文书}, + year ={1705(康熙四十四年)} +} + +@newspaper{egbookpubdatec--, + title = {中文书}, + date ={2013-01-08} +} + +@book{egbookpubdated--, + title = {中文书}, + year ={c1988} +} + +@book{egbookpubdatee--, + title = {中文书}, + year ={1985印刷} +} + +@book{egbookpubdatef--, + title = {中文书}, + year ={[1936]} +} + + +@online{egbookpubdateg--, + title = {english book}, + date = {2012-05-03}, + urldate={2013-11-12}, +} + +@Book{曹凌2011-19-, + author = {曹凌}, + title = {中国佛教疑伪经综录}, + year = {2011}, + publisher = {上海古籍出版社}, + address = {上海}, + pages ={19} +} + +@Book{钱学森2001--, + author = {钱学森}, + title = {创建系统学}, + year = {2001}, + publisher = {山西科学技术出版社}, + address = {太原}, + pages ={序2-3} +} + +@Book{冯友兰2008--, + author = {冯友兰}, + title = {冯友兰自选集}, + year = {2008}, + publisher = {北京大学出版社}, + address = {北京}, + edition ={2}, + pages ={第1版自序} +} + +@inbook{李约瑟1991--, + author = {李约瑟}, + title = {题词}, + bookauthor = {苏克福 and 管成学 and 邓明鲁}, + booktitle = {苏颂与《本草图经》研究}, + year = {1991}, + publisher = {长春出版社}, + address = {长春}, + pages = {扉页} +} + +@ARTICLE{DUBAR2013--, + author = {DUBAR, K L. AND MITCHELL, D A.}, + title = {Revealing nature's synthetic potential through the study of ribosomal natural product biosynthesis}, + Journaltitle = {ACS chemical biology}, + DATE = {2013}, + VOLUME = {8}, + pages = {473-487}, + url = {http://pubs.acs.org/doi/pdfplus/10.1021/cb3005325}, + urldate = {2013-10-16} +} + +@Book{周鲁卫2011--, + author = {周鲁卫}, + title = {软物质物理导论}, + year = {2011}, + publisher = {复旦大学出版社}, + address = {上海}, + pages = {1} +} + +@ARTICLE{常森2013--, + author = {常森}, + title = {《五行》学说与《荀子》}, + Journaltitle = {北京大学学报(哲学社会科学版)}, + DATE = {2013}, + VOLUME = {50}, + number = {1}, + pages = {75}, +} + +@Book{RUDDOCK2009--, + author = {RUDDOCK, L.}, + title = {Economics for the modern built environment}, + year = {2009}, + publisher = {Taylor & Francis}, + address = {London}, + pages = {12}, + url = {http://lib.mylib.com}, + urldate = {2010-06-15}, +} + +@book{kereanrefa, + AUTHOR = {김세훈 and others}, + TITLE = { 도서판및특서진흥업 개정안 연구}, + DATE = {2003}, + address={서울}, + PAGES = {15}, + publisher = {한국운화관팡정책연구원}, +} +%%김세훈, 외. 도서판및특서진흥업 개정안 연구〔M〕, 서울; 한국운화관팡정책연구원,2003: 15. + + +@book{kereanrefb, + AUTHOR = {이냉목 }, + TITLE = { 도서관꺾규총람: 세 1 권}, + DATE = {2005}, + address={서울}, + PAGES = {67-68}, + publisher = {구미무역 출판부}, +} +%%이냉목 도서관꺾규총람: 세 1 권[M〕. 서울: 구미무역 출판부,2005: 67-68. +%% + +@Book{李炳穆2005--, + author = {李炳穆}, + title = {图书馆法柜总览:第1卷}, + year = {2005}, + publisher = {九美贸易出版部}, + address = {首尔}, + pages = {67-68} +} + + +@article{kereanrefc, + DATE = {2007}, + volume={48}, + number={7}, + PAGES = {11-12}, + journaltitle={ 圖書館文化}, + TITLE = {도서관 정보정책위원회 설립식 및 도서관 정보정책기획단신성}, +} +%%도서관 정보정책위원회 설립식 및 도서관 정보정책기획단신성. 圖書館文化,2007 ,48(7): 11-12. + +@ARTICLE{图书馆信息政策委员会2007--, + title = {图书馆信息政策委员会成立仪式与图书馆信息政策规划团}, + Journaltitle = {图书馆文化}, + DATE = {2007}, + VOLUME = {48}, + number = {7}, + pages = {11-12}, +} + +@book{japaneserefc, + AUTHOR = {図書館用語辞典編集委員会}, + TITLE = { 最新図書館用語大辞典}, + DATE = {2004}, + address={東京}, + PAGES = {154}, + publisher = {柏書房株式会社}, +} +%% +%%図書館用語辞典編集委員会.最新図書館用語大辞典[M].東京:柏書房株式会社,2004:154. +%% + +@article{russianrefc, + author={Кочекоs, А Я}, + TITLE = {Молибден-медно-эолотопорфиооое месторождение Рябиноосе}, + DATE = {1993}, + number={7}, + PAGES = {50-58}, + journaltitle={ Отечестsенная гелогия} +} +%%Кочекоs А Я. Молибден-медно-эолотопорфиооое месторождение Рябиноосе[J/ОL]. ,1993(7):50-58 + +@ARTICLE{熊平2005--, + author = {熊平 and 吴颉}, + title = {从交易费用的角度谈如何构建药品流通的良性机制}, + Journaltitle = {中国物价}, + DATE = {2005}, + number = {8}, + pages = {42-45}, +} + +@ARTICLE{xiong2005--, + author = {Xiong, Ping and Wu, Xie}, + title = {Discussion on how to construct benign medicine circulantion mechanism fromtranaction cosperspective}, + Journaltitle = {China price}, + DATE = {2005}, + number = {8}, + pages = {42-45}, +} + +@ARTICLE{上海市食品药品监督管理局课题组2008--, + author = {上海市食品药品监督管理局课题组}, + title = {互联网药品经营现状和监管机制的研究}, + Journaltitle = {上海食品药品监管情报研究}, + DATE = {2008}, + number = {1}, + pages = {8-11}, +} + +@ARTICLE{Rgsfda2008--, + author = {{Research Group of Shanghai Food and Drug Administration}}, + title = {A study on online pharmaceutical operating situation and supervision mechanism}, + Journaltitle = {Shanghai food and drug information research}, + DATE = {2008}, + number = {1}, + pages = {8-11}, +} + + +@PhdThesis{刘乃安2000-17-18, + author = {刘乃安}, + title = {生物质材料热解失重动力学及其分析方法研究}, + year = {2000}, + pages = {17--18}, + doi = {10.7666/d.y351065}, + url = {http://wenku.baidu.com/link?url=GJDJxb4lxBUXnIPmq1XoEGSIr1H8TMLbidW_LjlYu33tpt707u62rKliypU_FBGUmox7ovPNaVIVBALAMd5yfwuKUUOAGYuB7cuZ-BYEhXa}, + urldate = {2014-08-29}, + address = {安徽}, + school = {中国科学技术大学}, +} + +@book{Deverell2013-21-22, + author = {Deverell, William and Igler, David}, + title = {A Companion to {California} History}, + year = {2013}, + date = {2013-11-15}, + pages = {21--22}, + doi = {10.1002/9781444305036.ch2}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/9781444305036.ch2/summary}, + urldate = {2014-06-24}, + address = {New York}, + school = {John Wiley \& Sons}, +} + +@inbook{姚中秋2009--, + author = {姚中秋}, + title = {作为一种制度变迁模式的“转型”}, + bookauthor = {罗卫东 and 姚中秋}, + booktitle = {中国转型的理论分析:奥地利学派的视角}, + year = {2009}, + publisher = {浙江大学出版社}, + address = {杭州}, + pages = {44} +} + + +@ARTICLE{关立哲2014--, + author = {关立哲 and 韩纪富 and 张晨延}, + title = {科技期刊编辑审读中要注重比较思维的科学运用}, + Journaltitle = {编辑学报}, + DATE = {2014}, + VOLUME = {26}, + number = {2}, + pages = {144-146} +} + +@ARTICLE{TENOPIR1987--, + author = {TENOPIR, C.}, + title = {Online databases, quality control}, + Journaltitle = {Library journal}, + DATE = {1987}, + VOLUME = {113}, + number = {2}, + pages = {124-125} +} + +@ARTICLE{egdatevolnumpagea--, + title = {article of journal}, + DATE = {2001}, + VOLUME = {1}, + number = {1}, + pages = {5-6} +} + +@ARTICLE{egdatevolnumpageb--, + title = {article of journal}, + DATE = {2014}, + VOLUME = {510}, + pages = {356-363} +} + +@ARTICLE{egdatevolnumpagec--, + title = {article of journal}, + DATE = {2010}, + number = {6}, + pages = {23} +} + +@ARTICLE{egdatevolnumpaged--, + title = {article of journal}, + DATE = {2012}, + VOLUME = {22}, + number = {增刊2}, + pages = {81-86} +} + +@ARTICLE{egdatevolnumpagee--, + title = {article of journal}, + DATE = {2001}, + number = {9/10}, + pages = {36-39} +} + +@ARTICLE{egdatevolnumpagef--, + title = {article of journal}, + year = {2011, 33(2):20-25;2011, 33(3):26-30}, +} + +@newspaper{egdatevolnumpageg--, + title = {article of journal}, + date = {2013-03-16}, + number = {1} +} + + +@Book{尼葛洛庞帝1996--, + author = {尼葛洛庞帝}, + title = {数字化生存}, + year = {1996}, + translator = {胡泳 and 范海燕}, + publisher = {海南出版社}, + address = {海口}, +} + +@Book{汪冰1997-16-16, + author = {汪冰}, + title = {电子图书馆理论与实践研究}, + year = {1997}, + publisher = {北京图书馆出版社}, + pages = {16}, + address = {北京}, +} + +@Article{杨宗英1996-24-29, + author = {杨宗英}, + title = {电子图书馆的现实模型}, + journal = {中国图书馆学报}, + year = {1996}, + number = {2}, + pages = {24--29}, +} + +@Book{Baker1995--, + author = {Baker, S K and Jackson, M E}, + title = {The future of resource sharing}, + year = {1995}, + publisher = {The Haworth Press}, + address = {New York}, +} + +@Book{Chernik1982--, + author = {Chernik, B E}, + title = {Introduction to library services for library technicians}, + year = {1982}, + publisher = {Libraries Unlimited, Inc.}, + address = {Littleton, Colo.}, +} + + +@Article{Dowler1995-5-26, + author = {Dowler, L}, + title = {The research university’s dilemma: resource sharing and research in a transinstitutional environment}, + journal = {Journal of library administration}, + year = {1995}, + volume = {21}, + number = {1/2}, + pages = {5--26}, +} + + @Inproceedings{ref-replace-char, Title = {Cognitive Radio and Cooperative Strategies for Power Saving in Multi-Standard Wireless Devices}, Address = {Florence, Italy}, @@ -31,6 +729,28 @@ Year = {2012-06-14} } +@Article{王临慧2010-147, + author = {王临慧 and others}, + title = {天津方言的源流关系刍议}, + journal = {山西师范大学学报(社会科学版)}, + year = {2010}, + volume = {37}, + number = {4}, + pages = {147}, +} + + +@InProceedings{王临慧2010-138, + author = {王临慧}, + title = {从几组声母的演变看天津方言形成的自然条件和历史条件}, + bookauthor= {曹志耘}, + booktitle = {汉语方言的地理语言学研究:首届中国地理语言学国际学术研讨会论文集}, + year = {2010}, + publisher = {北京语言大学出版社}, + pages = {138}, + address = {北京}, +} + @Book{王夫之1845--, Title = {宋论}, Author = {王夫之}, @@ -47,7 +767,7 @@ Edition = {刻本}, Publisher = {老二酉堂}, Year = {1881(清光绪七年)}, - Location = {上海} + Location = {京都} } @Periodical{AAAS1883--, @@ -79,37 +799,6 @@ Publisher = {地质出版社} } -@Periodical{中国图书馆学会1957--, - Title = {图书馆学通信}, - Address = {北京}, - Date = {1957/1990}, - Editor = {中国图书馆学会}, - Institution = {北京图书馆}, - Number = {1-4} -} - -@Periodical{中国图书馆学会1957a--, - Title = {图书馆学通信}, - Date = {1957/1990}, - Editor = {中国图书馆学会}, - Institution = {北京图书馆}, - Number = {1-4} -} - -@Periodical{中国图书馆学会1957b--, - Title = {图书馆学通信}, - Address = {北京}, - Date = {1957/1990}, - Editor = {中国图书馆学会}, - Number = {1-4} -} - -@Periodical{中国图书馆学会1957c--, - Title = {图书馆学通信}, - Date = {1957/1990}, - Editor = {中国图书馆学会}, - Number = {1-4} -} @Book{1962-50-50, Title = {康熙字典:已集上:水部}, @@ -149,7 +838,7 @@ Title = {Advances in holographic photoelasticity}, Author = {M E FOURNEY}, Booktitle = {Symposium on Applications of Holography in Mechanics, August 23-25, 1971, University of Southern California, Los Angeles, California}, - Date = {1971}, + year = {c1971}, Pages = {17-38}, Publisher = {ASME}, Location = {New York} @@ -176,23 +865,13 @@ @Book{CRANE1972--, Title = {Invisible college}, - Author = {D. CRANE}, + Author = {D. Crane}, Date = {1972}, Publisher = {Univ. of Chicago Press}, Location = {Chicago} } -@Inbook{WEINSTEIN1974-745-772, - Title = {Pathogenic properties of invading microorganism}, - Author = {L WEINSTEIN and M N SWERTZ}, - Bookauthor = {SODEMAN, Jr., W A and W A SODEMAN}, - Booktitle = {Pathologic physiology}, - Pages = {745-772}, - Publisher = {Saunders}, - Booktitleaddon = {mechanisms of disease}, - Location = {Philadelphia}, - Year = {1974} -} + @Article{KENNEDY1975-311-386, Title = {Morphology and genesis of nodular chalks and hardgrounds in the Upper @@ -205,8 +884,7 @@ } @Article{KENNEDY1975-339-360, - Title = {Morphology and genesis of nodular chalks and hardgrounds in the Upper - Cretacesous of southern England}, + Title = {Morphology and genesis of nodular phosphates in the cenomanian of South-east England}, Author = {W. J. KENNEDY and R. E. GARRISON}, Date = {1975}, Journaltitle = {Lethaia}, @@ -232,6 +910,50 @@ Location = {London} } + +@InProceedings{张忠智1997-33-34, + author = {张忠智}, + title = {科技书刊的总编(主编)的角色要求}, + booktitle = {中国科学技术期刊编辑学会建会十周年学术研讨会论文汇编}, + year = {1997}, + editor = {中国科学技术期刊编辑学会}, + publisher = {中国科学技术期刊编辑学会学术委员会}, + pages = {33--34}, + address = {北京}, +} + +@Book{中国社会科学院语言研究所词典编辑室1996--, + author = {中国社会科学院语言研究所词典编辑室}, + title = {现代汉语词典}, + year = {1996}, + edition = {修订本}, + publisher = {商务印书馆}, + address = {北京}, +} + + +@Article{刘彻东1998-38-39, + Title = {中国的青年刊物}, + Author = {刘彻东}, + Date = {1998}, + Journaltitle = {中国出版}, + Number = {5}, + Pages = {38-39}, + Titleaddon = {个性特色为本} +} + +@InProceedings{裴丽生1981-2-10, + author = {裴丽生}, + title = {在中国科协学术期刊编辑工作经验交流会上的讲话}, + booktitle = {中国科协学术期刊编辑工作经验交流会资料选}, + year = {1981}, + editor = {中国科学技术协会}, + publisher = {中国科学技术协会学会工作部}, + pages = {2--10}, + address = {北京}, +} + + @Article{亚洲地质图编目组1978-194-208, Title = {亚洲地层与地质历史概述}, Author = {亚洲地质图编目组}, @@ -263,6 +985,526 @@ Year = {1980} } +@Article{Sunstein1996-903-903, + author = {Sunstein, Cass R.}, + title = {Social Norms and Social Roles}, + journal = {Columbia law review}, + year = {1996}, + volume = {96}, + pages = {903}, + url = {http://www.heinonline.org/HOL/Page?handle=hein.journals/clr96&id=913&collection=journals&index=journals/clr}, + urldate = {2012-01-26}, +} + +@Book{罗杰斯2011-15-16, + author = {罗杰斯}, + title = {西方文明史: 问题与源头}, + year = {2011}, + translator = {潘惠霞 and 魏婧 and 杨艳 and others}, + publisher = {东北财经大学出版社}, + pages = {15--16}, + address = {大连}, +} + +@Book{陈登原2000-29-29, + author = {陈登原}, + title = {国史旧闻: 第1卷}, + year = {2000}, + publisher = {中华书局}, + pages = {29}, + address = {北京}, +} + +@Book{哈里森沃尔德伦2012-235-236, + author = {哈里森·沃尔德伦}, + title = {经济数学与金融数学}, + year = {2012}, + translator = {谢远涛}, + publisher = {中国人民大学出版社}, + pages = {235--236}, + address = {北京}, +} + +@Book{北京市政协民族和宗教委员会2012-112-112, + author = {北京市政协民族和宗教委员会 and 北京联合大学民族与宗教研究所}, + title = {历代王朝与民族宗教}, + year = {2012}, + publisher = {民族出版社}, + pages = {112}, + address = {北京}, +} + + +@Book{徐光宪2010--, + author = {徐光宪 and 王祥云}, + title = {物质结构}, + year = {2010}, + publisher = {科学出版社}, + address = {北京}, +} + +@Book{顾炎武1992--, + author = {顾炎武}, + title = {昌平山水记:京东考古录}, + year = {1992}, + publisher = {北京古籍出版社}, + address = {北京}, +} + +@Book{王夫之1865--, + author = {王夫之}, + title = {宋论}, + year = {1865(清同治四年)}, + edition = {刻本}, + publisher = {湘乡曾国荃}, + address = {金陵}, +} + +@Proceedings{牛志明2012--, + title = {综合湿地管理国际研讨会论文集}, + year = {2012}, + editor = {牛志明 and 斯温兰德 and 雷光春}, + publisher = {海洋出版社}, + address = {北京}, +} + +@Archive{中国第一历史档案馆2001--, + author = {中国第一历史档案馆 and 辽宁省档案馆}, + title = {中国明朝档案总汇}, + year = {2001}, + address = {桂林}, + publisher = {广西师范大学出版社}, +} + +@PhdThesis{杨保军2012--, + author = {杨保军}, + title = {新闻道德论}, + year = {2010}, + url = {http://apabi.lib.pku.edu.cn/usp/pku/pub.mvc?pid=book.detail&metaid=m.20101104-BPO-889-1023&cult=CN}, + urldate = {2012-11-01}, + address = {北京}, + publisher = {中国人民大学出版社}, +} + +@Book{赵学功2001--, + author = {赵学功}, + title = {当代美国外交}, + year = {2001}, + publisher = {社会科学文献出版社}, + url = {http://www.cadal.zju.edu.cn/book/trySinglePage/33023884/1}, + urldate = {2014-06-11}, + address = {北京}, +} + +@Book{同济大学土木工程防灾国家重点实验室2011-5-6, + author = {同济大学土木工程防灾国家重点实验室}, + title = {汶川地震灾害研究}, + year = {2011}, + publisher = {同济大学出版社}, + pages = {5--6}, + url = {http://apabi.lib.pku.edu.cn/usp/pku/pub.mvc?pid=book.detail&metaid=m.20120406-YPT-889-0010}, + urldate = {2013-05-09}, + address = {上海}, +} + +@Book{中国造纸学会2003--, + author = {中国造纸学会}, + title = {中国造纸年鉴: 2003}, + year = {2003}, + publisher = {中国轻工业出版社}, + url = {http://www.cadal.zju.edu.cn/book/view/25010080}, + urldate = {2014-04-25}, + address = {北京}, +} + + +@Proceedings{Yufin2000--, + title = {Geoecology and computers: proceedings of the {Third International Conference on Advances of Computer Methods in Geotechnical and Geoenvironmental Engineering, Moscow, Russia, February 1--4, 2000}}, + year = {2000}, + editor = {Yufin, Sergey A}, + publisher = {A. A. Balkema}, + address = {Rotterdam}, +} + +@Book{Baldock2011-105-105, + author = {Baldock, Peter}, + title = {Developing early childhood services: past, present and future}, + year = {2011}, + publisher = {Open University Press}, + pages = {105}, + url = {http://lib.myilibrary.com/Open.aspx?id=312377}, + urldate = {2012-11-27}, +} + +@Book{Fan2013-25-26, + author = {Fan, Xuetong and Sommers, Christopher H.}, + title = {Food irradiation research and technology}, + year = {2013}, + edition = {2}, + publisher = {Blackwell Publishing}, + pages = {25--26}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/9781118422557.ch2/summary}, + urldate = {2014-06-26}, + address = {Ames, Iowa}, +} + + +@Inbook{王夫之2011-1109-1109, + title = {周易外传:卷 5}, + booktitle = {船山全书}, + year = {2011}, + editor = {王夫之}, + number = {6}, + publisher = {岳麓书社}, + pages = {1109}, + address = {长沙}, +} + +@Inbook{程根伟1999-32-36, + author = {程根伟}, + title = {1998 年长江洪水的成因与减灾对策}, + booktitle = {长江流域洪涝灾害与科技对策}, + year = {1999}, + editor = {许厚泽 and 赵其国}, + publisher = {科学出版社}, + pages = {32--36}, + address = {北京}, +} + +@Inbook{陈晋镳1980-56-114a, + author = {陈晋镳 and 张惠民 and 朱士兴 and 赵震 and 王振刚}, + title = {蓟县震旦亚界研究}, + booktitle = {中国震旦亚界}, + year = {1980}, + editor = {中国地质科学院天津地质矿产研究所}, + publisher = {天津科学技术出版社}, + pages = {56--114}, + address = {天津}, +} + +@Inbook{马克思2013-302-302, + author = {马克思}, + title = {政治经济学批判}, + booktitle = {马克思恩格斯全集}, + year = {2013}, + editor = {马克思 and 恩格斯}, + volume = {35}, + publisher = {人民出版社}, + pages = {302}, + address = {北京}, +} + + + + + +@InProceedings{贾东琴2011-45-52, + author = {贾东琴 and 柯平}, + title = {面向数字素养的高校图书馆数字服务体系研究}, + booktitle = {中国图书馆学会年会论文集: 2011年卷}, + year = {2011}, + editor = {中国图书馆学会}, + publisher = {国家图书馆出版社}, + pages = {45--52}, + address = {北京}, +} + +@Inbook{Weinstein1974-745-772, + author = {Weinstein, L and Swertz, M N}, + title = {Pathogenic properties of invading microorganism}, + booktitle = {Pathologic physiology: mechanisms of disease}, + year = {1974}, + editor = {Sodeman, Jr., William A and Sodeman, William A}, + publisher = {Saunders}, + pages = {745--772}, + address = {Philadelphia}, +} + +@InBOOK{Roberson2011-1-36, + author = {Roberson, J. Alan and Burneson, Eric G.}, + title = {Drinking water standards, regulations and goals}, + booktitle = {Water quality \& treatment: a handbook on drinking water}, + year = {2011}, + editor = {{American Water Works Association}}, + edition = {6}, + publisher = {McGraw-Hill}, + pages = {1.1--1.36}, + url = {http://lib.myilibrary.com/Open.aspx?id=291430}, + urldate = {2012-12-10}, + address = {New York}, +} + +@Periodical{中华医学会湖北分会1984----, + title = {临床内科杂志}, + year = {1984}, + volume = {1}, + number = {1}, + address = {武汉}, + author = {中华医学会湖北分会}, + publisher = {中华医学会湖北分会}, +} + +@Periodical{中国图书馆学会1957--1990--, + title = {图书馆学通讯}, + year = {1957/1990}, + number = {1-4}, + address = {北京}, + author = {中国图书馆学会}, + publisher = {北京图书馆}, +} + +@Periodical{中国图书馆学会1957--, + Title = {图书馆学通信}, + Address = {北京}, + Date = {1957/1990}, + Editor = {中国图书馆学会}, + Institution = {北京图书馆}, + Number = {1-4} +} + +@Periodical{中国图书馆学会1957a--, + Title = {图书馆学通信}, + Date = {1957/1990}, + Editor = {中国图书馆学会}, + Institution = {北京图书馆}, + Number = {1-4} +} + +@Periodical{中国图书馆学会1957b--, + Title = {图书馆学通信}, + Address = {北京}, + Date = {1957/1990}, + Editor = {中国图书馆学会}, + Number = {1-4} +} + +@Periodical{中国图书馆学会1957c--, + Title = {图书馆学通信}, + Date = {1957/1990}, + Editor = {中国图书馆学会}, + Number = {1-4} +} + +@Periodical{AAAS1883----, + title = {Science}, + year = {1883}, + volume = {1}, + number = {1}, + address = {Washington, D.C.}, + author = {{American Association for the Advancement of Science}}, + publisher = {American Association for the Advancement of Science}, +} + + +@Article{袁训来2012-3219-3219, + author = {袁训来 and 陈哲 and 肖书海 and others}, + title = {蓝田生物群: 一个认识多细胞生物起源和早期演化的新窗口}, + journal = {科学通报}, + year = {2012}, + volume = {55}, + number = {34}, + pages = {3219}, +} + +@Newspaper{余建斌2013--, + author = {余建斌}, + date = {2013-01-12}, + journal = {人民日报}, + number = {2}, + title = {我们的科技一直在追赶: 访中国工程院院长周济}, + url = {http://paper.people.com.cn/rmrb/html/2013-01/12/nw.D110000renmrb_20130112_5-02.htm}, + urldate = {2013-03-20}, + year = {2013}, +} + +@Article{李炳穆2008-6-12, + author = {李炳穆}, + title = {韩国图书馆法}, + journal = {图书情报工作}, + year = {2008}, + volume = {52}, + number = {6}, + pages = {6--12}, + url = {http://www.docin.com/p-400265742.html}, + urldate = {2013-10-25}, +} + +@Article{李幼平2010-225-228, + author = {李幼平 and 王莉}, + title = {循证医学研究方法: 附视频}, + journal = {中华移植杂志(电子版)}, + year = {2010}, + volume = {4}, + number = {3}, + pages = {225--228}, + url = {http://www.cqvip.com/Read/Read.aspx?id=36658332}, + urldate = {2014-06-09}, +} + +@Article{武丽丽2008-8-9, + author = {武丽丽 and 华一新 and 张亚军 and others}, + title = {“北斗一号”监控管理网设计与实现}, + journal = {测绘科学}, + year = {2008}, + volume = {33}, + number = {5}, + pages = {8--9}, + doi = {10.3771/j.issn.1009-2307.2008.05.002}, + url = {http://vip.calis.edu.cn/CSTJ/Sear.dll?OPAC_CreateDetail}, + urldate = {2009-10-25}, +} + +@Article{Kanamori1998-2063-2063, + author = {Kanamori, H}, + title = {Shaking without quaking}, + journal = {Science}, + year = {1998}, + volume = {279}, + number = {5359}, + pages = {2063}, +} + +@Article{Caplan1993-61-66, + author = {Caplan, P}, + title = {Cataloging internet resources}, + journal = {The public access computer systems review}, + year = {1993}, + volume = {4}, + number = {2}, + pages = {61--66}, +} + +@Article{Frese2013-378-398, + author = {Frese, Karen S. and Katus, Hugo A. and Meder, Benjamin}, + title = {Next-generation sequencing: from understanding biology to personalized medicine}, + journal = {Biology}, + year = {2013}, + volume = {2}, + number = {1}, + pages = {378--398}, + doi = {10.3390/biology2010378}, + url = {http://www.mdpi.com/2079-7737/2/1/378}, + urldate = {2013-03-19}, +} + +@Article{Myburg2014-356-362, + author = {Myburg, Alexander A. and Grattapaglia, Dario and Tuskan, Gerald A. and others}, + title = {The genome of eucalyptus grandis}, + journal = {Nature}, + year = {2014}, + date = {2014-06-19}, + volume = {510}, + pages = {356--362}, + doi = {10.1038/nature13308}, + url = {http://www.nature.com/nature/journal/v510/n7505/pdf/nature13308.pdf}, + urldate = {2014-06-25}, +} + +@Patent{邓一刚2006--, + author = {邓一刚}, + title = {全智能节电器}, + number = {200610171314.3}, + year = {2006}, + date = {2006-12-13}, +} + +@Patent{西安电子科技大学2002--, + author = {西安电子科技大学}, + title = {光折变自适应光外差探测方法}, + number = {01128777.2}, + year = {2002}, + date = {2002-03-06}, + url = {http://211.152.9.47/sipoasp/zljs/hyjs-yx-new.asp?recid=01128777.2&leixin=0}, + urldate = {2002-05-28}, +} + +@Patent{Tachibana2005--, + author = {Tachibana, Ryuki and Shimizu, Shuhichi and Kobayshi, Seiji and Nakamura, Taiga}, + title = {Electronic watermarking method and system}, + number = {US6915001}, + year = {2005}, + date = {2005-07-05}, + url = {http://www.google.co.in/patents/US6915001}, + urldate = {2013-11-11}, +} + +@TechReport{中国互联网络信息中心2012--, + author = {中国互联网络信息中心}, + title = {第 29 次中国互联网络发展现状统计报告}, + year = {2012}, + date = {2012-01-16}, + url = {http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/201201/P020120709345264469680}, + urldate = {2013-03-26}, +} + +@Archive{北京市人民政府办公厅2005--, + author = {北京市人民政府办公厅}, + title = {关于转发北京市企业投资项目核准暂行实施办法的通知: 京政办发[2005]37号}, + year = {2005}, + date = {2005-07-12}, + url = {http://china.findlaw.cn/fagui/p_1/39934.html}, + urldate = {2011-07-12}, +} + +@Online{Bawden2008--, + author = {Bawden, D}, + title = {Origins and Concepts of Digital Literacy}, + date = {2008-05-04}, + url = {http://www.soi.city.ac.uk/~dbawden/digital%20literacy%20chapter.pdf}, + urldate = {2013-03-08}, + year = {2008}, +} + +@Online{OCLC--, + author = {{Online Computer Library Center, Inc}}, + title = {About {OCLC}: History of Cooperation}, + url = {http://www.oclc.org/about/cooperation.en.html}, + urldate = {2012-03-27}, +} + +@Online{Hopkinson2009--, + author = {Hopkinson, A}, + title = {{UNIMARC} and Metadata: Dublin Core}, + date = {2009-04-22}, + url = {http://archive.ifla.org/IV/ifla64/138-161e.htm}, + urldate = {2013-03-27}, + year = {2009}, +} + +@PhdThesis{刘乃安2000-17-18a, + author = {刘乃安}, + title = {生物质材料热解失重动力学及其分析方法研究}, + year = {2000}, + pages = {17--18}, + doi = {10.7666/d.y351065}, + url = {http://wenku.baidu.com/link?url=GJDJxb4lxBUXnIPmq1XoEGSIr1H8TMLbidW_LjlYu33tpt707u62rKliypU_FBGUmox7ovPNaVIVBALAMd5yfwuKUUOAGYuB7cuZ-BYEhXa}, + urldate = {2014-08-29}, + address = {安徽}, + school = {中国科学技术大学}, +} + +@PhdThesis{Deverell2013-21-22a, + author = {Deverell, William and Igler, David}, + title = {A Companion to {California} History}, + year = {2013}, + date = {2013-11-15}, + pages = {21--22}, + doi = {10.1002/9781444305036.ch2}, + url = {http://onlinelibrary.wiley.com/doi/10.1002/9781444305036.ch2/summary}, + urldate = {2014-06-24}, + address = {New York}, + school = {John Wiley \& Sons}, +} + +@Book{Morri2010--, + author = {Morri, I}, + title = {Why the West Rules for Now: the Patterns of History, and What They Reveal about the Future}, + year = {2010}, + publisher = {Farrar, Straus and Giroux}, + address = {New York}, +} + + @Article{STIEG1981-549-560, Title = {The information needs of historians}, Author = {M. F. STIEG}, @@ -273,15 +1515,7 @@ Volume = {42} } -@Inproceedings{裴丽生1981-2-10, - Title = {在中国科协技术期刊编辑工作经验交流会上的讲话}, - Author = {裴丽生}, - Booktitle = {中国科协学术期刊编辑工作经验交流会资料选}, - Date = {1981}, - Pages = {2-10}, - Institution = {中国科学技术协会学会工作部}, - Location = {北京} -} + @Article{Milstein1982-436-446, Title = {The effect of multiple-tone interfering signals on a direct sequence spread spectrum communication system}, @@ -391,14 +1625,7 @@ Year = {1988} } -@Book{GPS1988--, - Title = {外国出版史}, - Author = {昂温, G and 昂温, P S}, - Publisher = {中国书籍出版社}, - Translator = {陈生诤}, - Year = {1988}, - Location = {北京} -} + @Standard{国家标准局信息分类编码研究所1988-59-92, Title = {世界各国和地区名称代码 GB/T 2659-1986}, @@ -431,7 +1658,7 @@ } @Report{DTFHA1990--, - Title = {Guidelines for handling excavated acid-producing materials, PB 91-194001}, + Title = {Guidelines for handling excavated acid-producing materials: PB 91-194001}, Author = {{U.S. Department of Transportation Federal Highway Administration}}, Institution = {U.S. Department of Commerce National Information Service}, Location = {Springfield}, @@ -465,7 +1692,7 @@ Year = {1992} } -@Article{CAPLAN1993-61-66, +@Article{CAPLAN1993-61-66a, Title = {Cataloging internet resources}, Author = {P CAPLAN}, Date = {1993}, @@ -497,7 +1724,7 @@ Date = {1994}, Edition = {7}, Publisher = {Irwin}, - Location = {Burr Ridge, III.} + Location = {Burr Ridge, III} } @Book{辛希孟1994--, @@ -520,7 +1747,7 @@ } @Book{CRAWFPRD1995--, - Title = {Future libraries:dreams, maddness, \& reality}, + Title = {Future libraries: dreams, maddness, \& reality}, Author = {W CRAWFPRD and M GORMAN}, Date = {1995}, Publisher = {American Library Association}, @@ -548,7 +1775,7 @@ } @Book{国家环境保护局科技标准司1996-2-3, - Title = {土壤环境质量标准:GB 15616-1995}, + Title = {土壤环境质量标准: GB 15616-1995}, Address = {北京}, Author = {国家环境保护局科技标准司}, Note = {standard}, @@ -559,14 +1786,7 @@ Year = {1996} } -@Book{中国社会科学院语言研究所词典编辑室1996--, - Title = {现代汉语词典}, - Author = {中国社会科学院语言研究所词典编辑室}, - Date = {1996}, - Edition = {修订本}, - Publisher = {商务印书馆}, - Location = {北京} -} + @Inbook{钟文发1996-468-471, Title = {非线性规划在可燃毒物配置中的应用}, @@ -589,15 +1809,7 @@ Year = {1997} } -@Inproceedings{张忠智1997-33-34, - Title = {科技书刊的总编(主编)的角色要求}, - Author = {张忠智}, - Booktitle = {中国科学技术期刊编辑学会建会十周年学术研讨会论文汇编}, - Date = {1997}, - Pages = {33-34}, - Institution = {中国科学技术期刊编辑学会学术委员会}, - Location = {北京} -} + @Article{Andrisano1998-1383-1401, Title = {Millimeter waves for short-range multimedia communication systems}, @@ -659,15 +1871,7 @@ Year = {1998} } -@Article{刘彻东1998-38-39, - Title = {中国的青年刊物}, - Author = {刘彻东}, - Date = {1998}, - Journaltitle = {中国出版}, - Number = {5}, - Pages = {38-39}, - Titleaddon = {个性特色为本} -} + @Article{鲁明羽1998-290-295, Title = {关于数据库系统数据词典的重要作用}, @@ -718,15 +1922,15 @@ Year = {1999} } -@Inbook{程根伟1999-32-36, - Title = {1998年长江洪水的成因与减灾对策}, - Author = {程根伟}, - Bookauthor = {许厚泽 and 赵其国}, - Booktitle = {长江流域洪涝灾害与科技对策}, - Pages = {32-36}, - Publisher = {科学出版社}, - Location = {北京}, - Year = {1999} +@InBook{程根伟1999-32-36a, + author = {程根伟}, + title = {1998年长江洪水的成因与减灾对策}, + booktitle = {长江流域洪涝灾害与科技对策}, + year = {1999}, + bookauthor = {许厚泽 and 赵其国}, + publisher = {科学出版社}, + location = {北京}, + pages = {32-36}, } @Article{江向东1999-4-4, @@ -886,7 +2090,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Year = {2000} } -@Book{YUFIN2000--, +@Book{YUFIN2000--a, Title = {Geoecology and computers}, Author = {S. A. YUFIN}, Publisher = {A. A. Balkema}, @@ -922,7 +2126,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Number = {14}, Note = {news}, Url = {http://www.bjyouth.com.cn/Bqb/20000412/GB/4216%5ED0412B1401.htm}, - Urldate = {2005-07-12} + Urldate = {2005-09-28} } @Newspaper{张田勤2000--, @@ -1085,21 +2289,21 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Location = {北京} } -@Book{赵学功2001--, - Title = {当代美国外交}, - Author = {赵学功}, - Publisher = {社会科学文献出版社}, - Url = {http://www.baidu.com}, - Urldate = {2014-06-11}, - Year = {2001} +@Book{赵学功2001--a, + author = {赵学功}, + title = {当代美国外交}, + year = {2001}, + publisher = {社会科学文献出版社}, + url = {http://www.baidu.com}, + urldate = {2014-06-11}, } -@Manual{中国第一历史档案馆2001--, - Title = {中国明朝档案总汇}, - Author = {中国第一历史档案馆 and 辽宁省档案馆}, - Address = {桂林}, - Organization = {广西师范大学出版社}, - Year = {2001} +@Manual{中国第一历史档案馆2001--a, + author = {中国第一历史档案馆 and 辽宁省档案馆}, + title = {中国明朝档案总汇}, + year = {2001}, + organization = {广西师范大学出版社}, + address = {桂林}, } @Article{郜宪林2001-114-116, @@ -1218,13 +2422,13 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Year = {2002} } -@Patent{西安电子科技大学2002--, - Title = {光折变自适应光外差探测方法}, - Author = {西安电子科技大学}, - Date = {2002-03-06}, - Number = {01128777.2}, - Url = {http://211.152.9.47/sipoasp/zljs/hyjs-yx-new.asp?recid=01128777.2&leixin=0}, - Urldate = {2002-05-28} +@Patent{西安电子科技大学2002--a, + author = {西安电子科技大学}, + title = {光折变自适应光外差探测方法}, + number = {01128777.2}, + date = {2002-03-06}, + url = {http://211.152.9.47/sipoasp/zljs/hyjs-yx-new.asp?recid=01128777.2&leixin=0}, + urldate = {2002-05-28}, } @Patent{TACHIBANA2002--, @@ -1756,12 +2960,22 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Number = {10}, Pages = {721-724}, Volume = {32}, - Doi = {10.7666/d.y351065}, Url = {http://www.sohu.com}, Urldate = {2014-06-25}, Year = {2010} } +@book{weiner2010-38, + Title = {Microarchaeology: beyond the visible archaeological record}, + Author = {Weiner, S}, + Address = {Cambridge, Eng.}, + Date = {2010}, + Publisher = {Cambridge University Press Textbooks}, + Url = {http://lib.MYLIB.COM/OPEN.aspx?id=253897}, + Urldate = {2013-10-14}, + pages = {38} +} + @Article{储大同2010-721-724m, Title = {恶性肿瘤个体化治疗靶向药物的临床表现}, Author = {储大同}, @@ -1870,7 +3084,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 } @Book{Praetzellis2011-13-13, - Title = {death by theory: a tale of mystery and archaeological theory}, + Title = {death by theory : a tale of mystery and archaeological theory}, Author = {Praetzellis, A.}, Edition = {Rev. ed.}, Pages = {13}, @@ -1890,15 +3104,15 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Year = {2011} } -@Inproceedings{贾东琴2011-45-52, - Title = {面向数字素养的高校图书馆数字服务体系研究}, - Address = {北京}, - Author = {贾东琴 and 柯平}, - Bookauthor = {中国图书馆学会}, - Booktitle = {中国图书馆学会年会论文集:2011年卷}, - Pages = {45-52}, - Publisher = {国家图书馆出版社}, - Year = {2011} +@InProceedings{贾东琴2011-45-52a, + author = {贾东琴 and 柯平}, + title = {面向数字素养的高校图书馆数字服务体系研究}, + booktitle = {中国图书馆学会年会论文集:2011年卷}, + year = {2011}, + publisher = {国家图书馆出版社}, + pages = {45-52}, + address = {北京}, + bookauthor = {中国图书馆学会}, } @Inbook{楼梦麟2011-11-12, @@ -1907,7 +3121,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Author = {楼梦麟 and 杨燕}, Bookauthor = {同济大学土木工程防灾国家重点实验室}, Booktitle = {汶川地震震害研究}, - Pages = {11-12}, + Pages = {{011-012}}, Publisher = {同济大学出版社}, Url = {http://apabi.lib.pku.edu.cn}, Urldate = {2013-05-09}, @@ -1925,14 +3139,14 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Year = {2011} } -@Inbook{王夫之2011-1109-1109, - Title = {周易外传:卷5}, - Bookauthor = {王夫之}, - Booktitle = {船山全书:第6册}, - Pages = {1109}, - Publisher = {岳麓书社}, - Location = {长沙}, - Year = {2011} +@InBook{2011-1109-1109, + title = {周易外传:卷5}, + booktitle = {船山全书:第6册}, + year = {2011}, + bookauthor = {王夫之}, + publisher = {岳麓书社}, + location = {长沙}, + pages = {1109}, } @Book{胡伟2011--, @@ -2080,7 +3294,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 } @Online{Dublin2012-06-14--, - Title = {Dublin Core metadata element set: version 1.1}, + Title = {Dublin core metadata element set: version 1.1}, Url = {http://dublincore.org}, Urldate = {2014-06-11}, Year = {2012-06-14} @@ -2116,7 +3330,8 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Volume = {2}, Url = {http://www.mdpi.com}, Urldate = {2013-11-04}, - Year = {2013} + Year = {2013}, + doi = {10.3390/biology2010399} } @Article{Zhang2007-500-503, @@ -2153,15 +3368,15 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Year = {2003} } -@Inbook{马克思2013-302-302, - Title = {政治经济学批判}, - Address = {北京}, - Author = {马克思}, - Bookauthor = {马克思 and 恩格斯}, - Booktitle = {马克思恩格斯全集:第35卷}, - Pages = {302}, - Publisher = {人民出版社}, - Year = {2013} +@InBook{马克思2013-302-302a, + author = {马克思}, + title = {政治经济学批判}, + booktitle = {马克思恩格斯全集:第35卷}, + year = {2013}, + bookauthor = {马克思 and 恩格斯}, + publisher = {人民出版社}, + pages = {302}, + address = {北京}, } @Article{杨洪升2013-56-75, @@ -2257,7 +3472,8 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Author = {中华人民共和国国务院新闻办公室}, Url = {http://www.mod.gov.cn}, Urldate = {2014-06-11}, - Year = {2013-04-16} + Year = {2013}, + date = {2013-04-16} } @Book{刘海洋2013--, @@ -2279,11 +3495,12 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 } @Report{汤万金2013-09-30--, - Title = {人体安全重要技术标准研制最终报告:7178999X}, + Title = {人体安全重要技术标准研制最终报告: 7178999X}, Author = {汤万金 and 杨跃翔 and 刘文 and others}, Url = {http://www.nstrs.org.cn}, Urldate = {2014-06-24}, - Year = {2013-09-30} + date = {2013-09-30}, + Year = {2013} } @Manual{Lehman2013--, @@ -2296,7 +3513,7 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 } @Proceedings{Babu2014--, - Title = {Proceedings of the second international conference on soft computing for problem solving, December 28-30}, + Title = {Proceedings of the second international conference on soft computing for problem solving, December 28-30, 2012}, Address = {New Delhi}, Publisher = {Springer}, Year = {2014}, @@ -2423,11 +3640,11 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Url = {http://blog.csdn.net/zd0303/article/details/7676807} } -@Online{OCLC--, - Title = {History of OCLC}, - Author = {{Online Computer Library Center, Inc.}}, - Url = {http://www.oclc.org/about/history/default.htm}, - Urldate = {2000-01-08} +@Online{OCLC--a, + author = {{Online Computer Library Center, Inc.}}, + title = {History of OCLC}, + url = {http://www.oclc.org/about/history/default.htm}, + urldate = {2000-01-08}, } @Book{Parsons2000nodate--, @@ -2586,17 +3803,6 @@ Workshop on Computer Algebra in Scientific Computing, Samarkand, October 5-9, 20 Pages = {50-63} } -@comment{jabref-meta: databaseType:biblatex;} - -@comment{jabref-entrytype: Collection: req[author;title;location;publisher;date] opt[]} - -@comment{jabref-entrytype: Newspaper: req[] opt[]} - -@comment{jabref-entrytype: Online: req[author;title;date;url;urldate;publisher] opt[doi]} - -@comment{jabref-entrytype: Report: req[author;title;type;number;address;institution;date;pages] opt[url;urldate;doi;subtitle]} - -@comment{jabref-entrytype: Thesis: req[author;title;type;address;institution;date;pages] opt[url;urldate;doi]} - -@comment{jabref-entrytype: Www: req[;author;title;url;urldate] opt[]} +@Comment{jabref-meta: databaseType:biblatex;} +@Comment{jabref-entrytype: Newspaper: req[] opt[]} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beamer.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beamer.tex index 0ba87a88500..4bd78a351e9 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beamer.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beamer.tex @@ -1,4 +1,5 @@ % !Mode:: "TeX:UTF-8" +% 用于测试beamer中使用gb7714-2015样式,是否满足GBT7714-2015要求,是否与book等文档类中一致 \documentclass[xcolor=svgnames]{beamer} \mode<presentation> \usepackage{ctex} @@ -605,11 +606,12 @@ Biblatex宏包使用和GB/T7714-2015参考文献样式} \begin{document} -\begin{frame}[plain] - \titlepage -\end{frame} +%\begin{frame}[plain] +% \titlepage +%\end{frame} -\begin{frame}{测试参考文献} +\begin{frame}{测试beamer中使用gb7714-2015样式-脚注中的文献表} + created with biblatex v\versionofbiblatex, last revised at 2019-01-19;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. \tiny 在脚注中引用或者把文献表放到脚注中 \footnote{在脚注中引用\footcite{张伯伟2002--}} @@ -628,7 +630,7 @@ Biblatex宏包使用和GB/T7714-2015参考文献样式} \footfullcite{中华医学会湖北分会1984--} \end{frame} -\begin{frame}{参考文献} +\begin{frame}{测试beamer中使用gb7714-2015样式-使用segment} %\noindent\setlength{\parindent}{0pt} \printbibliography[segment=0,heading=bibliography,title=参考文献] @@ -636,7 +638,6 @@ Biblatex宏包使用和GB/T7714-2015参考文献样式} \end{frame} \begin{frame} - created with biblatex v\versionofbiblatex, last revised at \today;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. \begin{refsegment} 文献\cite{adam2011house,AAAS1883--,bernanke1989agency,CALMS1965--, calvo2006phoenix,davis2005housing,enders2009international, diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beameray.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beameray.tex index ca36db157d1..9f81dbbd140 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beameray.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/cls-beameray.tex @@ -1,4 +1,5 @@ % !Mode:: "TeX:UTF-8" +% 用于测试beamer中使用gb7714-2015ay样式,是否满足GBT7714-2015要求,是否与book等文档类中一致 \documentclass[xcolor=svgnames]{beamer} \mode<presentation> \usepackage{ctex} @@ -21,11 +22,11 @@ Biblatex宏包使用和GB/T7714-2015参考文献样式} \begin{document} -\begin{frame}[plain] - \titlepage -\end{frame} +%\begin{frame}[plain] +% \titlepage +%\end{frame} -\begin{frame}{测试参考文献} +\begin{frame}{测试beamer中使用gb7714-2015ay样式-脚注中的文献表} \tiny 在脚注中引用或者把文献表放到脚注中 \footnote{在脚注中引用\footcite{张伯伟2002--}} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/codeopt-gbcodegbk.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/codeopt-gbcodegbk.tex index 06d6088e456..574b530c472 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/codeopt-gbcodegbk.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/codeopt-gbcodegbk.tex @@ -1,10 +1,15 @@ + +% !Mode:: "TeX:GBK" +% ڲgb7714-2015ayʽGBKļ +% ڲgbcodegbkѡ +% ĵʹpdflatex+biber \documentclass[twoside]{article} \usepackage{ctex} \usepackage{xcolor} \usepackage{hyperref} \usepackage{lipsum} %\usepackage[backend=biber,style=caspervector,gbk]{biblatex} - \usepackage[backend=biber,style=gb7714-2015ay,gbcodegbk=true]{biblatex} + \usepackage[backend=biber,style=gb7714-2015,gbcodegbk=true]{biblatex} \usepackage{filecontents} \begin{filecontents}{\jobname.bib} @Book{Yi2014--, @@ -32,8 +37,8 @@ Volume = {25}, language = {chinese} } - - + + @BOOK{zbw2002--, AUTHOR = {Ųΰ}, LOCATION = {Ͼ}, @@ -198,7 +203,7 @@ % \begin{document} - \section{set title} + \section{gb7714-2015ʽGBKĵļ} \nocite{*} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/eg-opt-gbstyle.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/eg-opt-gbstyle.tex index 9d9fec122d6..1e8a5dd8789 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/eg-opt-gbstyle.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/eg-opt-gbstyle.tex @@ -1,3 +1,8 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ms样式,是否能够在一篇文档中使用两种样式的格式设置 +% 即中文文献以GB格式设置,英文文献以biblatex标准样式设置。 + \documentclass[twoside]{article} \usepackage{ctex} \usepackage{xcolor} @@ -769,7 +774,7 @@ gbnamefmt=familyahead,sorting=nyt]{biblatex}% \begin{document} - \section{测试:中文文献} + \section{测试gb7714-2015ms样式中英文不同样式:中文文献} \begin{refsection} 中文文献\cite{中华医学会湖北分会1984--,中国职工教育研究会1985--,abx2007-500-503,张凯军2012-04-05--,张成思2010长期均衡,张伯伟2002--,杨汝岱2015中国制造,杨洪升2013-56-75,杨光2015经济波动,徐伟康2010对,王文甫2010价格粘性,王国静2014金融冲击,汤万金2013-09-30--,马欢2011-27-27,罗德明2012要素市场扭曲,吕捷2015cpi,楼继伟2016改革,刘凤良2017,李晓西1994转轨过程中的结构性通货膨胀,李强2012-05-03--,雷光春2012--,贾东琴2011-45-52,韩吉人1985-90-99,国家环境保护局科技标准司1996-2-3,方军雄2007所有制,丁文祥2000--,白书农1998-146-163} @@ -777,7 +782,7 @@ gbnamefmt=familyahead,sorting=nyt]{biblatex}% \end{refsection} - \section{测试:英文文献} + \section{测试gb7714-2015ms样式中英文不同样式:英文文献} \begin{refsection} 英文文献\cite{dataseteg,Misceg,zhang2009china,databaseeg,mapeg,aritileeg, softwareeg, archiveeg,Yi2013--,Yi2014--,xu2012role,wang2006another,IEEEexample:uspat, @@ -793,7 +798,7 @@ gbnamefmt=familyahead,sorting=nyt]{biblatex}% \printbibliography \end{refsection} - \section{测试:中英文对照文献} + \section{测试gb7714-2015ms样式中英文不同样式:中英文对照文献} \begin{refsection} \defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} @@ -807,7 +812,7 @@ gbnamefmt=familyahead,sorting=nyt]{biblatex}% \printbibliography \end{refsection} - \section{测试:标注命令} + \section{测试gb7714-2015ms样式中英文不同样式:标注命令} \begin{refsection} 不带页码的引用(上标,方括号包围): \cite{FOURNEY1971-17-38}\cite{wang2006another} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-a.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-a.tex new file mode 100644 index 00000000000..7fec5f1d1ad --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-a.tex @@ -0,0 +1,13 @@ +\section{测试:根据biblatex版本判断texlive年份} + +judged environment: +%\iftoggle{iftlfive}{biblatex<=3.2 maybe texlive<=2015 }{}%处理biblatex3.2之前版本,时间2016-03-01前 +%\iftoggle{iftlsix}{3.3<=biblatex<=3.6 maybe texlive2016 }{}%处理biblatex3.3开始改变姓名机制后版本,时间2016-03-01及以后 +%\iftoggle{iftlseven}{biblatex 3.7 maybe texlive 2017 }{}%处理biblatex3.7的兼容性,时间2016-12-01后 +%\iftoggle{iftleight}{biblatex 3.8-3.9 maybe texlive 2017 }{}%处理biblatex3.8到3.9的兼容性,时间2017-11-01后到2017-12-01前 +%\iftoggle{iftlnine}{biblatex 3.10 maybe texlive 2017 }{}%处理biblatex10的兼容性,时间2017-12-01后 +%\iftoggle{iftlatest}{biblatex >=3.11 maybe texlive 2018 }{}%假设是最新版biblatex + +biblatex version: \versionofbiblatex + +biblatex-gb7714-2015 version: \versionofgbtstyle diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-b.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-b.tex new file mode 100644 index 00000000000..eacca9d6ca7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-b.tex @@ -0,0 +1,63 @@ +\section{测试:间距字体颜色控制} + \begin{refsection} + { + +% 换行的控制 +% +% 选项 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} + +% 标点类型的控制(全局字体能控制标点的字体) + +%\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} + + 文献 +\cite{张伯伟2002--} +\cite{白书农1998-146-163} +\cite{杨洪升2013-56-75} +\cite{中华医学会湖北分会1984--} +\cite{雷光春2012--} +\cite{贾东琴2011-45-52} +\cite{汤万金2013-09-30--} +\cite{韩吉人1985-90-99} +\cite{马欢2011-27-27} +\cite{张凯军2012-04-05--} +\cite{国家环境保护局科技标准司1996-2-3} +\cite{中国职工教育研究会1985--} +\cite{丁文祥2000--} +\cite{李强2012-05-03--} + +\cite{OBRIEN1994--} +\cite{FOURNEY1971-17-38} +\cite{Park2010-696-715} +\cite{Babu2014--} +\cite{Calkin2011-8-9} +\cite{CALMS1965--} +\cite{KOSEKI2002--} +\cite{standardinfoiso158} +\cite{Dublin2012-06-14--} + + +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography[heading=subbibliography,title=【参考文献】] +} + + \end{refsection}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-c.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-c.tex new file mode 100644 index 00000000000..783d6306bf2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-c.tex @@ -0,0 +1,141 @@ + + + \section{测试:标注命令} + \begin{refsection} + 不带页码的引用(上标,方括号包围): + \cite{FOURNEY1971-17-38}\cite{wang2006another} + + 不带页码的引用(非上标,方括号包围): + \parencite{FOURNEY1971-17-38}\parencite{wang2006another} + \upcite{FOURNEY1971-17-38}\upcite{wang2006another} + + 带页码的引用: + \cite[见][49页]{FOURNEY1971-17-38} \parencite[见][49页]{wang2006another} + \pagescite{FOURNEY1971-17-38}\pagescite[150]{wang2006another} + + 带页码的引用,使用pagescite命令。 +\pagescite{Peebles2001-100-100}\pagescite[][201-301]{Peebles2001-100-100} +\parencite[见][49页]{Miroslav2004--}\cite[见][49页]{蔡敏2006--} + + 同时输出作者和顺序编码的三种引用方式: + + (a)直接的方法:见\citeauthor{FOURNEY1971-17-38}\cite{FOURNEY1971-17-38}, \citeauthor{wang2006another}\cite{wang2006another} + + (b)定义新的标注命令:见\authornumcite{FOURNEY1971-17-38,wang2006another} + + (c)用textcite但没有上标:见\textcite{FOURNEY1971-17-38,wang2006another} + + +作者年制文中已有作者只需给出年份和页码的引用: +见赵耀东\yearpagescite[][205]{FOURNEY1971-17-38}和Simon\yearpagescite[][15]{wang2006another}。 + +作者年制文中已有作者只需给出年份的引用,三种方式: + +见赵耀东\yearcite{FOURNEY1971-17-38},赵耀东\yearcite{wang2006another} + +见赵耀东(\cite*{FOURNEY1971-17-38}),赵耀东(\cite*{wang2006another}) + +见赵耀东(\citeyear{FOURNEY1971-17-38}),赵耀东(\citeyear{wang2006another}) + +作者年制文中无作者需要标注命令给出作者作为主语的引用: +见\textcite{FOURNEY1971-17-38},\textcite{wang2006another} + + 在页脚中引用和打印文献表: + + \footnote{在脚注中引用\footcite{FOURNEY1971-17-38}} \footfullcite{FOURNEY1971-17-38} + \footnote{在脚注中引用\footcite{wang2006another}} \footfullcite{wang2006another} + + 页脚中引用和打印文献表\footnote{参考文献在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--} + + \printbibliography + \end{refsection} + + \section{测试:顺序编码制引用多篇文献的标注} + \begin{refsection} + GB/T 7714-2015 标准 10.1.1 节,引用单篇文献: + + 文献\cite{徐伟康2010对}提到。文献\cite{FOURNEY1971-17-38}提到。(use cite)\par + 文献\parencite{徐伟康2010对}提到。文献\parencite{FOURNEY1971-17-38}提到。(use parencite)\par + \textcite{徐伟康2010对}提到。\textcite{FOURNEY1971-17-38}提到。(use textcite)\par + \authornumcite{徐伟康2010对}提到。\authornumcite{FOURNEY1971-17-38}提到。 + (use authornumcite)\par + \textcite{徐伟康2010对}提到。(use textcite) + +\bigskip + GB/T 7714-2015 标准 10.1.2 节,引用多篇文献: + + 文献\cite{杨光2015经济波动,Yi2013--}提到。(use cite)\par + 文献\parencite{杨光2015经济波动,Yi2013--}提到。(use parencite)\par + \textcite{杨光2015经济波动,Yi2013--}提到。(use textcite)\par + \authornumcite{杨光2015经济波动,Yi2013--}提到。(use authornumcite)\par + + +\bigskip + GB/T 7714-2015 标准 10.1.3 节,多次引用文献: + + 文献\pagescite[16]{杨光2015经济波动}提到。 + 文献\pagescite[16]{徐伟康2010对}提到。 + 文献\pagescite[16]{Yi2013--}提到。 + 文献\pagescite[16]{FOURNEY1971-17-38}提到。(use pagescite)\par + \authornumcite{杨光2015经济波动}提到。 + \authornumcite{徐伟康2010对}提到。 + \authornumcite{Yi2013--}提到。 + \authornumcite{FOURNEY1971-17-38}提到。(use authornumcite)\par + +\bigskip + 其它用法: + + 文献\cite[见][49页]{杨光2015经济波动}。 + 文献\parencite[见][49页]{杨光2015经济波动}。 + 见\citeauthor{杨光2015经济波动}\cite{杨光2015经济波动}。 + 文献\footnote{脚注中引用文献\footcite{杨光2015经济波动}。}。 + 文献\footfullcite{杨光2015经济波动}。 + + + \printbibliography + \end{refsection} + + \section{测试:著者年份制引用多篇文献的标注} + \begin{refsection} + GB/T 7714-2015 标准 10.2.1 节,引用单篇文献: + + 文献\cite{徐伟康2010对}提到。文献\cite{FOURNEY1971-17-38}提到。(use cite)\par + 文献\parencite{徐伟康2010对}提到。文献\parencite{FOURNEY1971-17-38}提到。(use parencite)\par + 徐伟康\yearcite{徐伟康2010对}提到。FOURNEY\yearcite[18]{FOURNEY1971-17-38}提到。(use yearcite)\par + \textcite{徐伟康2010对}提到。\textcite{FOURNEY1971-17-38}提到。(use textcite)\par + +\bigskip + GB/T 7714-2015 标准 10.2.2 节,引用单篇文献(多个作者的情况): + + 文献\cite{杨光2015经济波动}提到。文献\cite{Yi2013--}提到。(use cite)\par + 文献\parencite{杨光2015经济波动}提到。文献\parencite{Yi2013--}提到。(use parencite)\par + 杨光\ 等\yearcite{杨光2015经济波动}提到。Yi et al. \yearcite{Yi2013--}提到。(use yearcite)\par + \textcite{杨光2015经济波动}提到。\textcite{Yi2013--}提到。(use textcite)\par + + +\bigskip + GB/T 7714-2015 标准 10.2.4 节,多次引用文献: + + 文献\pagescite[16]{杨光2015经济波动}提到。 + 文献\pagescite[16]{徐伟康2010对}提到。 + 文献\pagescite[16]{Yi2013--}提到。 + 文献\pagescite[16]{FOURNEY1971-17-38}提到。(use pagescite)\par + 杨光\yearpagescite[17]{杨光2015经济波动}提到。 + 徐伟康\yearpagescite[16]{徐伟康2010对}提到。Yi\yearpagescite[17]{Yi2013--}提到。FOURNEY\yearpagescite[17]{FOURNEY1971-17-38}提到。(use yearpagescite)\par + +\bigskip + 其它用法: + + 文献\cite[见][49页]{杨光2015经济波动}。 + 文献\parencite[见][49页]{杨光2015经济波动}。 + 见赵耀东(\cite*{杨光2015经济波动})。 + 见赵耀东(\citeyear{杨光2015经济波动})。 + 文献\footnote{脚注中引用文献\footcite{杨光2015经济波动}。}。 + 文献\footfullcite{杨光2015经济波动}。 + + + \printbibliography + \end{refsection} + + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-d.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-d.tex new file mode 100644 index 00000000000..adbc335de6b --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-d.tex @@ -0,0 +1,90 @@ + + + \section{测试:国标要求的条目类型} + \begin{refsection} + 条目类型:database\cite{databaseeg} + +条目类型:dataset\cite{dataseteg} + +条目类型:archive\cite{archiveeg} + +条目类型:software\cite{softwareeg} + +条目类型:map\cite{mapeg} + +条目类型:Misc\cite{Misceg} + +条目类型:ARTICLE\cite{aritileeg} + +条目类型:ARTICLE\cite{方军雄2007所有制} + +条目类型:Article\cite{abx2007-500-503} + +条目类型:ARTICLE\cite{杨洪升2013-56-75} + +条目类型:ARTICLE\cite{丁文祥2000--} + +条目类型:Book\cite{Yi2014--} + +条目类型:Book\cite{Yi2013--} + +条目类型:BOOK\cite{张伯伟2002--} + +条目类型:BOOK\cite{国家环境保护局科技标准司1996-2-3} + +条目类型:INBOOK\cite{白书农1998-146-163} + +条目类型:Periodical\cite{AAAS1883--} + +条目类型:PERIODICAL\cite{中华医学会湖北分会1984--} + +条目类型:Proceedings\cite{ROSENTHALL1963--} + +条目类型:PROCEEDINGS\cite{雷光春2012--} + +条目类型:Thesis\cite{CALMS1965--} + +条目类型:THESIS\cite{马欢2011-27-27} + +条目类型:Report\cite{WHO1970--} + +条目类型:REPORT\cite{汤万金2013-09-30--} + +条目类型:Inproceedings\cite{FOURNEY1971-17-38} + +条目类型:INPROCEEDINGS\cite{贾东琴2011-45-52} + +条目类型:COLLECTION\cite{中国职工教育研究会1985--} + +条目类型:INCOLLECTION\cite{韩吉人1985-90-99} + +条目类型:PATENT\cite{张凯军2012-04-05--} + + \printbibliography + \end{refsection} + + + + \section{测试:传统条目类型的兼容性} + \begin{refsection} + + 包括:mastersthsis,phdthsis,www,electronic,standard,techreport,conference条目类型,本样式增加的newspaper类型: + + \begin{itemize} + \item newspaper:\cite{张田勤2000--} + \item standard:\cite{全国文献工作标准化委员会第七分委员会1986--,国家标准局信息分类编码研究所1988-59-92} + \item conference:\cite{Li2004-21-24} + \item www:\cite{萧钰2001--} + \item electronic:\cite{OMG2003--} + \item techreport:\cite{Humphrey1971--} + \item mastersthsis:\cite{张志祥1998--} + \item phdthsis:\cite{张若凌2004--} + \end{itemize} + + \printbibliography[heading=subbibliography,title=【兼容phdthsis等条目类型】] +\end{refsection} + + + + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-e.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-e.tex new file mode 100644 index 00000000000..5996b2289e1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-e.tex @@ -0,0 +1,31 @@ + + \section{测试:中文文献} + \begin{refsection} + 中文文献测试,主要检查GB/T 7714-2015标准要的中文格式是否实现: + + \cite{中华医学会湖北分会1984--,中国职工教育研究会1985--,abx2007-500-503,张凯军2012-04-05--,张成思2010长期均衡,张伯伟2002--,杨汝岱2015中国制造,杨洪升2013-56-75,杨光2015经济波动,徐伟康2010对,王文甫2010价格粘性,王国静2014金融冲击,汤万金2013-09-30--,马欢2011-27-27, 罗德明2012要素市场扭曲,吕捷2015cpi,楼继伟2016改革,刘凤良2017,李晓西1994转轨过程中的结构性通货膨胀,李强2012-05-03--,雷光春2012--,贾东琴2011-45-52, 韩吉人1985-90-99,国家环境保护局科技标准司1996-2-3,方军雄2007所有制,丁文祥2000--,白书农1998-146-163} + + \printbibliography + \end{refsection} + + + \section{测试:英文文献} + \begin{refsection} + 英文文献测试,主要检查GB/T 7714-2015标准要的英文格式是否实现: + + \cite{dataseteg,Misceg,zhang2009china,databaseeg,mapeg,aritileeg, + softwareeg, archiveeg,Yi2013--,Yi2014--,xu2012role,wang2006another,IEEEexample:uspat, + saiz2010geographic,ROSENTHALL1963--,quadrini2011financial,IEEEexample:unpublished, + WHO1970--,lucas1976econometric,lucas1987money,IEEEexample:frenchpatreq, + kocherlakota2000creating,kiyotaki1997credit,khan2013credit, + IEEEexample:masterstype,jermann2012macroeconomic,iacoviello2005house, + IEEEexample:jppat,hayashi1985tests,greenwood1988investment, + FOURNEY1971-17-38,FOURNEY1971-55,fazzari1993working,enders2009international, + davis2005housing,IEEEexample:repeatedauthorone,IEEEexample:repeatedauthortwo, + calvo2006phoenix,CALMS1965--,bernanke1989agency,AAAS1883--,adam2011house} + + \printbibliography + \end{refsection} + + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-f.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-f.tex new file mode 100644 index 00000000000..e9489f03591 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-f.tex @@ -0,0 +1,30 @@ + + + + \section{测试:中英文对照文献} + \begin{refsection} + \defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} + + 双语文献对照测试,主要检查:条目集方法和关联条目方法是否能实现对照, + 条目集方法是否使用默认样式,关联条目方法是否使用语言判断后选择的样式。 + + + set动态方法\cite{张敏莉,等,2007};\par + + %related动态方法\cite{易仕和2013--}(biblatex 3.7及以上版本可以使用多个stylesourcemap,进而可以动态的定义related)。 + + \printbibliography + \end{refsection} + + \section{测试:中英文混合的文献表} + \begin{refsection} + 中英文混合的文献表测试,主要检查多语言混合时的格式处理: + + \cite{张敏莉2007-500-503} + \cite{丁文祥2000--,CALMS1965--,白书农1998-146-163,FOURNEY1971-17-38} + + \printbibliography + \end{refsection} + + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-g.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-g.tex new file mode 100644 index 00000000000..280a0de6268 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-g.tex @@ -0,0 +1,192 @@ + + \section{测试:专著/专著中的析出文献/标准} +\begin{refsection} + +\begin{enumerate} + \item 中文文献存在信息缺省的情况测试 +\cite{booknodate,booknolocation,booknopages,booknopublisher,booknopublishernoyear,booknopublisherpage, 余敏2001-179-193,余敏2001-179-193a,余敏2001-179-193b,余敏2001-179-193c,booknoauthor} + \item 英文文献信息缺省情况以及英文个人作者判断测试 +\cite{Parsons2000a--,Parsons2000b--,Parsons2000--,Parsons2000nodate--, +Parsons2000noloc--,Parsons2000nopub--,Parsons2000nopubnoyear--, +Parsons2000nopubpages--,Parsons2000noauthor--} + \item 年份信息有额外说明的文献比较测试\cite{汪昂1912--,汪昂1881--,王夫之1845--} + + \item 专著带前后缀的作者名\cite{Peebles2001-100-100} + + \item 专著更多文献测试 +\cite{GPS1988--}\cite{顾炎武1982--}\cite{PIGGOT1990--}\cite{PEEBLES2001--} +\cite{Poisel2013--}\cite{张伯伟2002--}\cite{2009-155-155} +\cite{GPS1988--,CRANE1972--,CRAWFPRD1995--,Gradshteyn2000--,IFLAI1977--,Kinchy2012-50-50,Lin2004--,Miroslav2004--,Mittelbach2004--,OBRIEN1994--} +\cite{PEEBLES2001--,Peebles2001-100-100,PIGGOT1990--,Poisel2013--,Praetzellis2011-13-13,Proakis2007--,Reed2005--,ROOD2001--,Ross2010--,Simon2004--,Simon2001--,Stueber2001--,Yi2013--,YUFIN2000--, 埃伯哈德$ullet$蔡德勒等2012--,蔡敏2006--,陈希孺2009--,陈志杰2006--,樊昌信2005--,顾炎武1982--,广西壮族自治区林业厅1993--,郭文彬2006--,候文顺2010-119-119,胡承正2010-112-112,胡广书2012--,胡伟2011--,蒋有绪1998--,库恩2012--,李云霞2009--,廖平2012--,刘海洋2013--,罗斯基2009--,美国妇产科医师学会2010-38-39,鸟哥--,孙玉文2000--,唐绪军1999-117-121,同济大学数学系2014--,王雪松2010--,辛希孟1994--,阎毅2013--,杨林2015--} +\cite{张伯伟2002--,赵凯华1995--,赵学功2001--,赵耀东1998--,中国企业投资协会2013--,中国社会科学院语言研究所词典编辑室1996--,庄钊文2007--,1962-50-50,2009-155-155,booknoauthor,Parsons2000noauthor--} +\end{enumerate} +\printbibliography[heading=bibliography,title=【专著】] +\end{refsection} + + +\begin{refsection} +\begin{enumerate} + \item 专著的析出文献\cite{马克思2013-302-302}\cite{王夫之2011-1109-1109} + \cite{BUSECK1980-117-211,MARTIN1996-85-96,Weinstein1974-745-772,白书农1998-146-163,陈晋镳1980-56-114,程根伟1999-32-36,楼梦麟2011-11-12,马克思1982-505-505,马克思2013-302-302,钟文发1996-468-471,1977-49-49,1988-590-590,王夫之2011-1109-1109} +\end{enumerate} +\printbibliography[heading=bibliography,title=【专著中的析出文献】] +\end{refsection} + + +\begin{refsection} + +\begin{enumerate} + \item 标准引用\cite{国家标准局信息分类编码研究所1988-59-92,国家环境保护局科技标准司1996-2-3, 全国广播电视标准化技术委员会2007-1-1,全国文献工作标准化委员会第七分委员会1986--,全国信息文献标准化技术委员会2010-3-3, 中华人民共和国国家质量监督检验检疫总局2015,standardinfoiso158} +\end{enumerate} +\printbibliography[heading=bibliography,title=【标准】] +\end{refsection} + + +\section{测试:汇编文集} +\begin{refsection} +汇编文集类似于book和inbook\cite{韩吉人1985-90-99}\cite{中国职工教育研究会1985--} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} + +\end{refsection} + +\section{测试:连续出版物及其析出文献} +\begin{refsection} + +\begin{enumerate} + \item 期刊完整引用\cite{中国地质学会1936--,中国图书馆学会1957--,AAAS1883--,中华医学会湖北分会1984--} +\end{enumerate} + +\printbibliography[heading=bibliography,title=【连续出版物】] +\end{refsection} + +\begin{refsection} + +\begin{enumerate} + \item 期刊文章引用和引用标签测试 + \cite{Chiani1998-2998-3008,Chiani2004-1312-1318,Chiani2004-1312-1318a, +Chiani2004-1312-1318b,Chiani2003-840-845,Chiani2009-231-254} + + \item doi和卷期样式\cite{储大同2010-721-724} + + \item 合期期刊测试\cite{储大同2010-721-724m} + + \item 报纸引用测试\cite{丁文祥2000--,傅刚2000--,刘裕国2013-01-12--,张田勤2000--} + + \item 更多测试 + \cite{Andersen1995-42-49,Andrisano1998-1383-1401,Caplan1993-61-66,Chiani1998-2998-3008,Chiani2004-1312-1318,Chiani2009-231-254,CHRISTINE1998-331-332,Coulson2004-2277-2287,Coulson2006-2484-2492,Dardari2004-1557-1567,Dardari1999-1709-1721,DESMARAIS1992-605-609,Franz2013-1053-1062,Giorgetti2005-384-389,Giorgetti2005-2139-2149,Giorgetti2005-1037-1042,Haemaelaeinen2002-1712-1721,HEWITT1984-205-218,Holtzman1992-243-247,Hu2006-1720-1724,KANAMORI1998-2063-2064,KENNEDY1975-311-386,KENNEDY1975-339-360,McEliece1984-44-53,Milstein1982-436-446,Moeneclaey2001-497-505,Molisch2006-3151-3166,Nasri2007-4090-4100,articlemorenames,Park2010-696-715,Pinto2009-1268-1282,Quek2007-2126-2139,Saito2006-169-176,Shi2007-1118-1128,Snow2007-1736-1746,STIEG1981-549-560,Walls2013-399-418,Zhang2007-500-503,Zhao2002-1684-1691, 陈高峰2011-230-232,陈建军2010-93-93,陈金成2001-1861-1864,储大同2010-721-724,储大同2010-721-724m,高光明1998-60-65, 高翔2015-26-31,江向东1999-4-4,李炳穆2000-5-8,李晓东1999-101-106,梁振兴1999-24-32,刘彻东1998-38-39,刘晨2007-400-404, 刘武1999-2481-2488,卢秋红2009-247-251,鲁明羽1998-290-295,莫少强1999-1-6,谭跃进2011-441-445,陶仁骥1984-527-527,王雪峥2013-249-254, 伍江华2010-70-74,亚洲地质图编目组1978-194-208,杨洪升2013-56-75,杨友烈1999-60-65, 于潇2012-1518-1523,詹广平2013-8-10,张敏莉2007-500-503,张庆杰2009-30-33,张晓琴2011--,周学武2013-49-52,郜宪林2001-114-116} +\end{enumerate} + +\printbibliography[heading=bibliography,title=【连续出版物中的析出文献】] +\end{refsection} + +\section{测试:电子资源} +\begin{refsection} +\begin{enumerate} + \item 电子资源\cite{Commonwealth--,HOPKINSON--,OMG2003--,OCLC--,李强2012-05-03--,萧钰2001--,Alliance--,Dublin2012-06-14--,JabRef中文手册--,1989--,JabRefManual--} + + \item 仅有网址的文献 +\cite{1962-50-50,2009-155-155} +\cite{olnoauthorcn} +\cite{olnoauthoren} +\cite{Allianceurlonly} + +\item 注意:对于作者年制,这里有4篇文献都是noauthor,有两篇有年份可以轻易分开,还有两篇没有年份存在歧义,所以在标注中用了[n.d.]加a和b分开,但在参考文献表中,各个版本的biblatex表现是不同的,其中3.4版因为进行newbibmacro*\{date+extrayear\}的定义时候,首先判断iffieldundef\{\textbackslash thefield\{datelabelsource\}year\},当不存在datelabelsource的值+year的域时,就不再添加了。如果需要加extrayear也可以修改出来,但其实并无必要。这与标注中用的newbibmacro*\{cite:labelyear+extrayear\}(在authoryear.cbx文件中)的定义是不一样的。 + +\end{enumerate} + +{ +\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + +\section{测试:会议论文集及其析出文献} +\begin{refsection} +会议论文集\cite{陈志勇2011--,雷光春2012--,ROSENTHALL1963--,GANZHA2000--,Babu2014--,中国力学学会1999--, 中国社会科学院台湾史研究中心2012--} + +会议论文引用\cite{韩吉人1985-90-99,FOURNEY1971-17-38,FOURNEY1971-17-38a,Nemec1997-209-214, 贾东琴2011-45-52, 裴丽生1981-2-10,汪学军2002-22-25,张忠智1997-33-34} + \cite{Choi2002-1075-1080,Dardari2002-201-206,Firoozbakhsh2003-473-477,Foerster2002-1931-1935, + Fontana2002-309-313,Giorgetti2005-794-798,Giorgetti2006--,Li2004-21-24,Nasri2008-3616-3621,Piazzo2001--} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + +\section{测试:报告} +\begin{refsection} +\begin{enumerate} + \item 技术报告引用 + \cite{Calkin2011-8-9,Eggrers--,Humphrey1971--,DTFHA1990--,WHO1970--,汤万金2013-09-30--,中华人民共和国国务院新闻办公室2013-04-16--} + \item 手册引用 + \cite{Lehman2013--,Lehman2015,Mittelbach2015--,Oetiker2011--,Robertson2011--,Sommerfeldt2011--,Umeki2010--, 胡振震2016,吴凌云2007--} + \item 档案引用\cite{中国第一历史档案馆2001--} + \item 未出版物引用\cite{包太雷2013--} +\end{enumerate} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + + +\section{测试:学位论文} +\begin{refsection} +\begin{enumerate} + \item 学位论文引用\cite{CALMS1965--,马欢2011-27-27,吴云芳2003--,张若凌2004--,张志祥1998--} +\end{enumerate} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + + +\section{测试:专利} +\begin{refsection} +\begin{enumerate} + \item 专利引用\cite{KOSEKI2002--,TACHIBANA2002--,河北绿洲生态环境科技有限公司2001--,姜锡洲1989--,刘加林1993--,西安电子科技大学2002--,张凯军2012-04-05--} + + \item 注意:专利文献\{刘加林1993--\}的location定义了中国,但从GB/T 7714-2015中给出的示例看其实并不需要该域,但这里并没有去掉。因为GB/T 7714-2015中给出的著录格式包括了出版项但没有示例,尽管这里的location是专利地域,但也可以作为出版项来考虑。未来国标完善后再做处理。 +\end{enumerate} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + +\section{测试:其它类型} +\begin{refsection} +\begin{enumerate} + \item 其它类型文献引用\cite{gom,gom1,gom2} +\end{enumerate} + +{ +%\hyphenation{kurose-gawa} +%\hyphenpenalty=1000 +%\tolerance=500 +\printbibliography%[heading=subbibintoc,title=【参考文献】] +} +\end{refsection} + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-h.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-h.tex new file mode 100644 index 00000000000..a9da8ae4a12 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/fmttest-h.tex @@ -0,0 +1,38 @@ + + + \section{测试: 中英文判断信息中存在编组时的情况} +\begin{refsection} +当责任者等需要判断中英文的信息中存在编组时的处理 +\cite{IFLAI1977b--,IFLAI1977--} +\cite{r27-BenHadjAlaya-FekiA.2008-1-5,中国企业投资协会2014--,中国企业投资协会2015--} + +\printbibliography[heading=subbibliography,title=【中英文判断信息中存在编组的测试】] +\end{refsection} + + + \section{测试: 参考文献信息中存在\&等特殊字符的情况} +\begin{refsection} +文献中\cite{ref-replace-char}的booktitle域中含有\%,\&,\#符号,样式文件自动处理使其符合tex代码规则。 +\printbibliography[heading=subbibliography,title=【处理参考文献信息中\&等特殊字符】] +\end{refsection} + +\section{测试: 作者年制article中卷信息缺省时的标点情况} +\begin{refsection} +文献\cite{刘彻东1998-38-39}\cite{亚洲地质图编目组1978-194-208} +\cite{高光明1998-60-65} + +\printbibliography[heading=subbibliography,title=【author-year style: article without volume】] +\end{refsection} + +\section{测试: 标题中存在\textbackslash LaTeX\{\}等命令时的情况} + +\begin{refsection} +文献\cite{Peebles2001-100-100}\cite{赵凯华1995--}\cite{蒋有绪1998--} + +\printbibliography[heading=subbibliography,title=【title with \textbackslash LaTeX\{\}】] +\end{refsection} + + + + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makeclear.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makeclear.bat index ac04e1fc675..4d2893099f8 100755 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makeclear.bat +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makeclear.bat @@ -1,7 +1,7 @@ -@echo off
-
-
-del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy)
-del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk
-
-
+@echo off + + +del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy) +del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk + + diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileeg.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileeg.bat index 8f0b25eb3a1..16ec61819fb 100755 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileeg.bat +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileeg.bat @@ -1,90 +1,91 @@ -@echo off
-
-
-IF NOT EXIST gb7714-2015.bbx (
-copy ..\gb7714-2015.bbx . /y
-copy ..\gb7714-2015.cbx . /y
-copy ..\gb7714-2015ay.bbx . /y
-copy ..\gb7714-2015ay.cbx . /y
-copy ..\gb7714-2015ms.bbx . /y
-copy ..\gb7714-2015ms.cbx . /y
-copy ..\gb7714-2015-gbk.def . /y
-)
-
-echo compiled files info: > makerecord.dat
-
-setlocal enabledelayedexpansion
-for %%a in ( test*.tex ) do (
-call makeclear
-set jobfile=%%a
-set jobname=!jobfile:~0,-4!
-echo %%a
-echo !jobfile!
-echo !jobname!
-echo !jobfile! >> makerecord.dat
-xelatex.exe --synctex=-1 !jobfile!
-biber !jobname!
-xelatex.exe --synctex=-1 !jobfile!
-)
-setlocal DISABLEDELAYEDEXPANSION
-
-setlocal enabledelayedexpansion
-for %%a in ( cls*.tex ) do (
-call makeclear
-set jobfile=%%a
-set jobname=!jobfile:~0,-4!
-echo %%a
-echo !jobfile!
-echo !jobname!
-echo !jobfile! >> makerecord.dat
-xelatex.exe --synctex=-1 !jobfile!
-biber !jobname!
-xelatex.exe --synctex=-1 !jobfile!
-)
-setlocal DISABLEDELAYEDEXPANSION
-
-setlocal enabledelayedexpansion
-for %%a in ( opt*.tex ) do (
-call makeclear
-set jobfile=%%a
-set jobname=!jobfile:~0,-4!
-echo %%a
-echo !jobfile!
-echo !jobname!
-echo !jobfile! >> makerecord.dat
-xelatex.exe --synctex=-1 !jobfile!
-biber !jobname!
-xelatex.exe --synctex=-1 !jobfile!
-)
-setlocal DISABLEDELAYEDEXPANSION
-
-setlocal enabledelayedexpansion
-for %%a in ( code*.tex ) do (
-call makeclear
-set jobfile=%%a
-set jobname=!jobfile:~0,-4!
-echo %%a
-echo !jobfile!
-echo !jobname!
-echo !jobfile! >> makerecord.dat
-pdflatex.exe !jobfile!
-biber !jobname!
-pdflatex.exe !jobfile!
-pdflatex.exe !jobfile!
-)
-setlocal DISABLEDELAYEDEXPANSION
-
-::call makeclear
-
-
-del *.bbx /Q
-del *.cbx /Q
-del *.def /Q
-del cls-*.bib /Q
-del opt*.bib /Q
-del code*.bib /Q
-del test*.bib /Q
-
-
-
-::pause
+@echo off + + +IF NOT EXIST gb7714-2015.bbx ( +copy ..\example.bib . /y +copy ..\gb7714-2015.bbx . /y +copy ..\gb7714-2015.cbx . /y +copy ..\gb7714-2015ay.bbx . /y +copy ..\gb7714-2015ay.cbx . /y +copy ..\gb7714-2015ms.bbx . /y +copy ..\gb7714-2015ms.cbx . /y +copy ..\gb7714-2015-gbk.def . /y +) + +echo compiled files info: > makerecord.dat + +setlocal enabledelayedexpansion +for %%a in ( test*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +echo !jobfile! >> makerecord.dat +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + +setlocal enabledelayedexpansion +for %%a in ( cls*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +echo !jobfile! >> makerecord.dat +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + +setlocal enabledelayedexpansion +for %%a in ( opt*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +echo !jobfile! >> makerecord.dat +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + +setlocal enabledelayedexpansion +for %%a in ( code*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +echo !jobfile! >> makerecord.dat +pdflatex.exe !jobfile! +biber !jobname! +pdflatex.exe !jobfile! +pdflatex.exe !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + +::call makeclear + + +del *.bbx /Q +del *.cbx /Q +del *.def /Q +del cls-*.bib /Q +del opt*.bib /Q +del code*.bib /Q +del test*.bib /Q + + + +::pause diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileegstyle.bat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileegstyle.bat index 61ad33b11c8..706f61270da 100755 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileegstyle.bat +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makefileegstyle.bat @@ -1,52 +1,52 @@ -@echo off
-
-rem 用于测试英文中文分别采用两种样式的情况
-rem 即测试gb7714-2015ms
-rem 需要biblatex3.10以上版本,即从texlive2018开始,而texlive2017中的biblatex3.7也不会报错,但一些细节可能没有支持。
-
-IF NOT EXIST gb7714-2015.bbx (
-copy ..\gb7714-2015.bbx . /y
-copy ..\gb7714-2015.cbx . /y
-copy ..\gb7714-2015ay.bbx . /y
-copy ..\gb7714-2015ay.cbx . /y
-copy ..\gb7714-2015ms.bbx . /y
-copy ..\gb7714-2015ms.cbx . /y
-copy ..\gb7714-2015-gbk.def . /y
-)
-
-echo compiled files info: > makerecord.dat
-
-
-
-setlocal enabledelayedexpansion
-for %%a in ( eg-opt*.tex ) do (
-call makeclear
-set jobfile=%%a
-set jobname=!jobfile:~0,-4!
-echo %%a
-echo !jobfile!
-echo !jobname!
-echo !jobfile! >> makerecord.dat
-xelatex.exe --synctex=-1 !jobfile!
-biber !jobname!
-xelatex.exe --synctex=-1 !jobfile!
-)
-setlocal DISABLEDELAYEDEXPANSION
-
-
-
-call makeclear
-
-
-del *.bbx /Q
-del *.cbx /Q
-del *.def /Q
-del cls-*.bib /Q
-del opt*.bib /Q
-del eg-opt*.bib /Q
-del code*.bib /Q
-del test*.bib /Q
-
-
-
-::pause
+@echo off + +rem 用于测试英文中文分别采用两种样式的情况 +rem 即测试gb7714-2015ms +rem 需要biblatex3.10以上版本,即从texlive2018开始,而texlive2017中的biblatex3.7也不会报错,但一些细节可能没有支持。 + +IF NOT EXIST gb7714-2015.bbx ( +copy ..\gb7714-2015.bbx . /y +copy ..\gb7714-2015.cbx . /y +copy ..\gb7714-2015ay.bbx . /y +copy ..\gb7714-2015ay.cbx . /y +copy ..\gb7714-2015ms.bbx . /y +copy ..\gb7714-2015ms.cbx . /y +copy ..\gb7714-2015-gbk.def . /y +) + +echo compiled files info: > makerecord.dat + + + +setlocal enabledelayedexpansion +for %%a in ( eg-opt*.tex ) do ( +call makeclear +set jobfile=%%a +set jobname=!jobfile:~0,-4! +echo %%a +echo !jobfile! +echo !jobname! +echo !jobfile! >> makerecord.dat +xelatex.exe --synctex=-1 !jobfile! +biber !jobname! +xelatex.exe --synctex=-1 !jobfile! +) +setlocal DISABLEDELAYEDEXPANSION + + + +call makeclear + + +del *.bbx /Q +del *.cbx /Q +del *.def /Q +del cls-*.bib /Q +del opt*.bib /Q +del eg-opt*.bib /Q +del code*.bib /Q +del test*.bib /Q + + + +::pause diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makerecord.dat b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makerecord.dat index 4dc477ec117..00366d43667 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makerecord.dat +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/makerecord.dat @@ -1,4 +1,3 @@ compiled files info: eg-opt-gbstyle.tex biblatex-gb7714-2015.tex -biblatex-gb7714-2015.tex diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-autolang-multilan.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-autolang-multilan.tex index 1c27650e159..1fe032bbc4a 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-autolang-multilan.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-autolang-multilan.tex @@ -1,9 +1,15 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,是否支持多语言混合的文献表 +% 测试biblatex提供的基于babel的本地化字符串自动切换 +% 测试biblatex的autolang选项 \documentclass[twoside]{article} \usepackage{ctex} - \usepackage[english,russian,french]{babel} + \usepackage[russian,french,english]{babel} \usepackage{fontspec} \setmainfont{CMU Serif} + \setCJKmainfont {SourceHanSerifSC-Regular.otf} \usepackage{xcolor} \usepackage{hyperref} \usepackage{lipsum} @@ -11,7 +17,7 @@ %\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015, %gbnamefmt=none,gbfieldstd=false,gbtype=true,gbpunctin=true,gbpub=true]{biblatex} %,gbnamefmt=apa,gbtitlelink=true -\usepackage[backend=biber,style=gb7714-2015ay,gbpub=false,autolang=other]{biblatex} +\usepackage[backend=biber,style=gb7714-2015ay,gbpub=false,language=auto,autolang=other]{biblatex} %\usepackage[backend=biber,style=authoryear,autolang=other]{biblatex} %\usepackage[backend=biber,style=numeric-comp,giveninits=false]{biblatex}%giveninits=false @@ -25,7 +31,7 @@ DATE = {1968}, PAGES = {19--46}, TITLE = {ôçLes interprétations de la crise de mai-juinŕł}, -} +}% langid={french} @ARTICLE{greenwood1988, AUTHOR = {Greenwood, Jeremy and Hercowitz, Zvi and Huffman, Gregory W and Williams, Joedge}, @@ -35,6 +41,7 @@ KEYWORDS = {greenwood1988investment}, PAGES = {402--417}, TITLE = {Investment, capacity utilization, and the real business cycle}, + langid={english} } %langid={english} @@ -73,22 +80,23 @@ address={울산}, PAGES = {19--46}, TITLE = {해저 저질과 환경 하중을 고려한 침몰 선체 인양 시뮬레이션}, -} +}%외 \end{filecontents} \addbibresource{\jobname.bib} % - \makeatletter - \def\versionofgbtstyle{2018/04/03 v1.0k} - \def\versionofbiblatex{\abx@version} - \makeatother %\renewcommand{\bibtitlefont}{\kaishu} \begin{document} - \section{set title} - created with biblatex v\versionofbiblatex, last revised at \today;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. + \section{测试gb7714-2015样式多语言混合的文献表} + created with biblatex v\versionofbiblatex, last revised at 2019-01-19;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. - refs\nocite{*} + \cite{frenchref} + \cite{greenwood1988} +\cite{russainref} +\cite{刘凤良2017} +\cite{青木昌彦1996--} +\cite{kereanref} \printbibliography diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-authoryear.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-authoryear.tex index 27659be6d1b..1953351ebad 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-authoryear.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-authoryear.tex @@ -1,3 +1,6 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay样式,是否满足GB要求 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -17,7 +20,7 @@ \begin{document} -\section{作者年制标注与著录样式} +\section{测试gb7714-2015ay样式是否满足GB要求} \defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} 双语文献:set动态方法\cite{张敏莉,等,2007}; \iftoggle{iftleight}{related动态方法\cite{易仕和2013--}}{} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-multilan.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-multilan.tex index 1093b8ed4de..8de2febcc8f 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-multilan.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-eg-multilan.tex @@ -1,9 +1,13 @@ +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,是否支持多语言混合的文献表 +% 测试不使用利用babel进行本地化字符串自动切换的情况 +% 测试不使用biblatex的autolang选项。 \documentclass[twoside]{article} \usepackage{ctex} %\usepackage[english,russian,french]{babel} \usepackage{fontspec} - \setmainfont{CMU Serif} + \setCJKmainfont {SourceHanSerifSC-Regular.otf} \usepackage{xcolor} \usepackage{hyperref} \usepackage{lipsum} @@ -70,20 +74,71 @@ TITLE = {해저 저질과 환경 하중을 고려한 침몰 선체 인양 시뮬레이션}, } +@book{kereanrefa, + AUTHOR = {김세훈 and others}, + TITLE = { 도서판및특서진흥업 개정안 연구}, + DATE = {2003}, + address={서울}, + PAGES = {15}, + publisher = {한국운화관팡정책연구원}, +} +%%김세훈, 외. 도서판및특서진흥업 개정안 연구〔M〕, 서울; 한국운화관팡정책연구원,2003: 15. + + +@book{kereanrefb, + AUTHOR = {이냉목 }, + TITLE = { 도서관꺾규총람: 세 1 권}, + DATE = {2005}, + address={서울}, + PAGES = {67-68}, + publisher = {구미무역 출판부}, +} +%%이냉목 도서관꺾규총람: 세 1 권[M〕. 서울: 구미무역 출판부,2005: 67-68. +%% + +@article{kereanrefc, + DATE = {2007}, + volume={48}, + number={7}, + PAGES = {11-12}, + journaltitle={ 圖書館文化}, + TITLE = {도서관 정보정책위원회 설립식 및 도서관 정보정책기획단신성}, +} + +%%도서관 정보정책위원회 설립식 및 도서관 정보정책기획단신성. 圖書館文化,2007 ,48(7): 11-12. + +@book{japaneserefc, + AUTHOR = {図書館用語辞典編集委員会}, + TITLE = { 最新図書館用語大辞典}, + DATE = {2004}, + address={東京}, + PAGES = {154}, + publisher = {柏書房株式会社}, +} +%% +%%図書館用語辞典編集委員会.最新図書館用語大辞典[M].東京:柏書房株式会社,2004:154. +%% + +@article{russianrefc, + author={Кочекоs, А Я}, + TITLE = {Молибден-медно-эолотопорфиооое месторождение Рябиноосе}, + DATE = {1993}, + number={7}, + PAGES = {50-58-12}, + journaltitle={ Отечестsенная гелогия} +} +%%Кочекоs А Я. Молибден-медно-эолотопорфиооое месторождение Рябиноосе[J/ОL]. ,1993(7):50-58 + + \end{filecontents} \addbibresource{\jobname.bib} % - \makeatletter - \def\versionofgbtstyle{2018/04/03 v1.0k} - \def\versionofbiblatex{\abx@version} - \makeatother - %\renewcommand{\bibtitlefont}{\kaishu} \begin{document} - \section{set title} - created with biblatex v\versionofbiblatex, last revised at \today;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. + \section{测试gb7714-2015样式多语言混合文献表:不使用babel} + created with biblatex v\versionofbiblatex, last revised at 2019-01-19;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. - refs\nocite{*} + \nocite{*} \printbibliography diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-center.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-center.tex index 5048400f995..380b6e2113c 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-center.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-center.tex @@ -1,3 +1,6 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,的gbalign=center选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -12,7 +15,7 @@ %\setlength{\bibinitsep}{0ex} \begin{document} -\section{文献表} +\section{测试gb7714-2015样式gbalign=center选项} 文献\cite{张伯伟2002--}\cite{CRAWFPRD1995--}\cite{陈志勇2011--}\cite{Babu2014--}\cite{汤万金2013-09-30--} \cite{Calkin2011-8-9}\cite{吴云芳2003--}\cite{CALMS1965--}\cite{张凯军2012-04-05--}\cite{KOSEKI2002--} \cite{全国广播电视标准化技术委员会2007-1-1}\cite{国家环境保护局科技标准司1996-2-3} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-gb.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-gb.tex index 5920e0387ed..c16eee3dba1 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-gb.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-gb.tex @@ -1,3 +1,6 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式的gbalign=gb7714-2015选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -18,7 +21,7 @@ \begin{document} 编译信息:biblatex v\versionofbiblatex;gb7714-2015*.* version number \versionofgbtstyle. -\section{顺序编码制标注与著录样式} +\section{测试gb7714-2015样式gbalign=gb7714-2015选项} \defbibentryset{bilangzhang}{张敏莉2007-500-503,Zhang2007-500-503} %\defbibentryset{bilangyi}{易仕和2013--,Yi2013--} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-left.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-left.tex index 9f0edb382e9..c2f5ae9d806 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-left.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbalign-left.tex @@ -1,3 +1,6 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式的gbalign=left选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -12,7 +15,7 @@ %\setlength{\bibinitsep}{0ex} \begin{document} -\section{文献表} +\section{测试gb7714-2015样式的gbalign=left选项} 文献\cite{张伯伟2002--}\cite{CRAWFPRD1995--}\cite{陈志勇2011--}\cite{Babu2014--}\cite{汤万金2013-09-30--} \cite{Calkin2011-8-9}\cite{吴云芳2003--}\cite{CALMS1965--}\cite{张凯军2012-04-05--}\cite{KOSEKI2002--} \cite{全国广播电视标准化技术委员会2007-1-1}\cite{国家环境保护局科技标准司1996-2-3} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbbiblabel.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbbiblabel.tex new file mode 100644 index 00000000000..79be6e5ea13 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbbiblabel.tex @@ -0,0 +1,47 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式文献表中数字标签的格式 +% 测试gbbiblabel选项 +\documentclass[twoside]{article} +\usepackage{ctex} +\usepackage{geometry} +\geometry{paperwidth=21cm,paperheight=29cm,top=2cm, bottom=2cm, left=2cm,right=2cm} +\usepackage{xcolor} +\usepackage[CJKbookmarks,colorlinks,bookmarksnumbered=true,pdfstartview=FitH,linkcolor=blue]{hyperref} +\usepackage[backend=biber,style=gb7714-2015,gbbiblabel=box]{biblatex} +%• gbbiblabel=bracket,序号数字由方括号包围,比如 [1]; +%• gbbiblabel=parens,序号数字由圆括号包围,比如 (1); +%• gbbiblabel=dot,序号数字数字后面加点,比如 1.; +%• gbbiblabel=plain,序号数字无装饰,比如 1; +%• gbbiblabel=box,序号数字由方框包围,比如 1 ; +%• gbbiblabel=circle,序号数字由圆圈包围,比如⃝ 1 。 + +\addbibresource[location=local]{example.bib} +%\renewcommand{\bibfont}{\zihao{5}} +%\setlength{\bibitemsep}{0ex} +%\setlength{\bibnamesep}{0ex} +%\setlength{\bibinitsep}{0ex} + +\iftoggle{iftleight}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlnine}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlatest}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} + +\begin{document} + +\section{测试gb7714-2015样式文献表中数字标签的格式} +\defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} +双语文献:set动态方法\cite{张敏莉,等,2007}; +\iftoggle{iftleight}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlnine}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlatest}{related动态方法\cite{易仕和2013--}}{} + +文献\cite{王夫之1845--}\cite{陈建军2010-93-93}; +文献\parencite{张田勤2000--}\parencite{吴云芳2003--}; +文献\pagescite[][300]{汤万金2013-09-30--}\pagescite[][100-107]{张凯军2012-04-05--}; +文献:萧钰\yearpagescite{萧钰2001--}, +国家环境保护局科技标准司\yearpagescite{国家环境保护局科技标准司1996-2-3}; +其它\cite{Calkin2011-8-9,CRAWFPRD1995--, +Babu2014--,CALMS1965--,DESMARAIS1992-605-609} + +\printbibliography[heading=subbibintoc,title=【参考文献】] +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbctexset.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbctexset.tex new file mode 100644 index 00000000000..e603b1dd0a7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbctexset.tex @@ -0,0 +1,58 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,是否可以利用ctex的设置对文献表的标题进行修改 +% 测试gbctexset选项 +\documentclass[twoside]{article} +\usepackage{ctex} +\usepackage{geometry} +\geometry{paperwidth=21cm,paperheight=29cm,top=2cm, bottom=2cm, left=2cm,right=2cm} +\usepackage{xcolor} +\usepackage[CJKbookmarks,colorlinks,bookmarksnumbered=true,pdfstartview=FitH,linkcolor=blue]{hyperref} +\usepackage[backend=biber,style=gb7714-2015ay,gbctexset=false]{biblatex} +\addbibresource[location=local]{example.bib} + +%gbctexset=true,时可利用ctexset来设置文献表标题 +\ctexset{ + bibname={ctexset设置的中文参考文献} +} + +%gbctexset=false,时可利用本地化字符串来设置文献表标题 +\DefineBibliographyStrings{english}{ +bibliography={本地化字符串设置的ref title}, +references={本地化字符串设置的ref title}, +} + + +\iftoggle{iftleight}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlnine}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlatest}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} + +\begin{document} + +\section{测试利用ctexset或本地化字符串设置文献表标题} + +\begin{refsection} +\defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} +双语文献:set动态方法\cite{张敏莉,等,2007}; +\iftoggle{iftleight}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlnine}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlatest}{related动态方法\cite{易仕和2013--}}{} + +文献\cite{王夫之1845--}\cite{陈建军2010-93-93}; + +\printbibliography[heading=subbibintoc] +\end{refsection} + +\section{测试利用printbibliography的title选项设置文献表标题} + +\begin{refsection} +文献\parencite{张田勤2000--}\parencite{吴云芳2003--}; +文献\pagescite[][300]{汤万金2013-09-30--}\pagescite[][100-107]{张凯军2012-04-05--}; +文献:萧钰\yearpagescite{萧钰2001--}, +国家环境保护局科技标准司\yearpagescite{国家环境保护局科技标准司1996-2-3}; +其它\cite{Calkin2011-8-9,CRAWFPRD1995--, +Babu2014--,CALMS1965--,DESMARAIS1992-605-609} + +\printbibliography[heading=subbibintoc,title=References] +\end{refsection} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbfieldstd.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbfieldstd.tex new file mode 100644 index 00000000000..ff5f086b4b7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbfieldstd.tex @@ -0,0 +1,40 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,是否通过一个gbfiledstd选项将 +% 一些文献内容项格式还原为biblatex标准样式的格式 +\documentclass[twoside]{article} +\usepackage{ctex} +\usepackage{geometry} +\geometry{paperwidth=21cm,paperheight=29cm,top=2cm, bottom=2cm, left=2cm,right=2cm} +\usepackage{xcolor} +\usepackage[CJKbookmarks,colorlinks,bookmarksnumbered=true,pdfstartview=FitH,linkcolor=blue]{hyperref} +\usepackage[backend=biber,style=gb7714-2015,gbfieldstd=true]{biblatex} +\addbibresource[location=local]{example.bib} +%\renewcommand{\bibfont}{\zihao{5}} +%\setlength{\bibitemsep}{0ex} +%\setlength{\bibnamesep}{0ex} +%\setlength{\bibinitsep}{0ex} + +\iftoggle{iftleight}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlnine}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlatest}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} + +\begin{document} + +\section{测试gb7714-2015样式通过gbfiledstd选项还原默认格式} +\defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} +双语文献:set动态方法\cite{张敏莉,等,2007}; +\iftoggle{iftleight}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlnine}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlatest}{related动态方法\cite{易仕和2013--}}{} + +文献\cite{王夫之1845--}\cite{陈建军2010-93-93}; +文献\parencite{张田勤2000--}\parencite{吴云芳2003--}; +文献\pagescite[][300]{汤万金2013-09-30--}\pagescite[][100-107]{张凯军2012-04-05--}; +文献:萧钰\yearpagescite{萧钰2001--}, +国家环境保护局科技标准司\yearpagescite{国家环境保护局科技标准司1996-2-3}; +其它\cite{Calkin2011-8-9,CRAWFPRD1995--, +Babu2014--,CALMS1965--,DESMARAIS1992-605-609} + +\printbibliography[heading=subbibintoc,title=【参考文献】] +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gblocal.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gblocal.tex new file mode 100644 index 00000000000..3b52301c205 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gblocal.tex @@ -0,0 +1,172 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,能否对本地化字符串做强制语言的设置 +% 或者不同语言的设置 +% 测试标注和文献表中的不同设置 +% 测试gblocal及相关选项 +\documentclass{article} +\usepackage{ctex} +\usepackage{xcolor} +\usepackage{toolbox} +\usepackage[colorlinks]{hyperref} +\usepackage{lipsum} +\usepackage[paperwidth=15cm,paperheight=11.5cm,top=10pt,bottom=10pt,left=0.5cm,right=0.5cm]{geometry} +\usepackage{xltxtra,mflogo,texnames} +%\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=givenahead, +%gbpub=false,gbbiblabel=box,gbtitlelink=true]{biblatex}%sorting=nyt +\usepackage[backend=biber,style=gb7714-2015ay,gbnamefmt=lowercase,maxcitenames=2,mincitenames=1, +gblocal=english,sortcites,sorting=gbyntd]{biblatex} +%默认的中英文区分的设置gblocal=gb7714-2015 +%全部用中文的字符串,则为gblocal=chinese +%全部用英文的字符串,则为gblocal=english +\DefineBibliographyStrings{english}{ + andincite = {and}, + andincitecn = {和}, + andothersincitecn = {等}, + %andothersincite = {等{\adddot}},%adddot才能避开标点追踪 + %andothersincite = {等.},% + andothersincite = {et al{\adddot}},%adddot才能避开标点追踪 +} +\renewcommand{\bibfont}{\small} +\usepackage{filecontents} +\begin{filecontents}{\jobname.bib} + +@Book{易仕和2013--, + Title = {超声速和高超声速喷管设计}, + Address = {北京}, + Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, + Publisher = {国防工业出版社}, + Year = {2013} +} + +@Book{Yi2013--, + Title = {Supersonic and hypersonic nozzle design}, + Address = {Beijing}, + Author = {Yi, Shi He and Zhao, Yu Xin and He, Lin and Zhang, Min Li}, + Publisher = {National Defense Industry Press}, + Year = {2013} +} + +@Article{张敏莉2007-500-503, + Title = {超声速短化喷管的设计和试验研究}, + Author = {张敏莉 and 易仕和 and 赵玉新}, + Journal = {空气动力学报}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Article{Zhang2007-500-503, + Title = {The design and experimental investigations of supersonic length shorted nozzle}, + Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, + Journal = {ACTA AERODYNAMICA SINICA}, + Number = {4}, + Pages = {500-503}, + Volume = {25}, + Year = {2007} +} + +@Book{Peebles2001-100-100, + Title = {Probability, random variable, and random signal Principles and \LaTeX{}}, + Address = {New York}, + Author = {von Peebles, Jr., P. Z.}, + Edition = {4}, + Pages = {100}, + Publisher = {McGraw-Hill}, + Year = {2001} +} + +@Book{蔡敏2006--, + Title = {UML基础和Rose建模教程}, + Address = {北京}, + Author = {蔡敏 and 徐慧慧 and 黄柄强}, + Publisher = {人民邮电出版社}, + Year = {2006}, + Month = {1} +} + +@Book{Miroslav2004--, + Title = {信号处理滤波器设计-基于matlab和mathematica的设计方法}, + Address = {北京}, + Author = {Miroslav, D. L. and Dejan, V. T. and Brian, L. E.}, + Publisher = {电子工业出版社}, + Translator = {朱义胜 and 董辉}, + Year = {2004}, + Month = {1} +} + +@Book{赵学功2001--, + Title = {当代美国外交}, + Author = {赵学功}, + Publisher = {社会科学文献出版社}, + Url = {http://www.baidu.com}, + Urldate = {2014-06-11}, + Year = {2001} +} + +@patent{IEEEexample:frenchpatreq, + author = "F. Kowalik and M. Isard", + title = "Estimateur d'un D{\'e}faut de Fonctionnement + d'un Modulateur en Quadrature et {\'E}tage de Modulation + l'Utilisant", + language = "french", + type = "French Patent Request", + number = "9500261", + year = "1995-01-11" +} + +@ARTICLE{吕捷2015cpi, + AUTHOR = {吕捷 and 王高望}, + DATE = {2015}, + JOURNALTITLE = {经济研究}, + KEYWORDS = {吕捷2015cpi}, + PAGES = {011}, + TITLE = {CPI 与 PPI “背离” 的结构性解释}, + VOLUME = {4}, +} + +@patent{IEEEexample:uspat, + author = "Ronald E. Sorace and Victor S. Reinhardt and + Steven A. Vaughn", + holder = "Hughes Aircraft Company", + location = "Los Angeles, CA", + title = "High-Speed Digital-to-{RF} Converter", + type = "patentus", + number = "5668842", + yearfiled = "1995-02-28", + year = "1997-09-16", +} + +@ARTICLE{杨光2015经济波动, + AUTHOR = {杨光 and 孙浦阳 and 龚刚}, + DATE = {2015}, + JOURNALTITLE = {经济研究}, + KEYWORDS = {杨光2015经济波动}, + NUMBER = {2}, + PAGES = {47--60}, + TITLE = {经济波动, 成本约束与资源配置}, + VOLUME = {50}, +} + + +\end{filecontents} + +\addbibresource{\jobname.bib} + +\begin{document} + +\section{测试gb7714-2015样式利用gblocal选择本地化字符串设置方式} + +\small + +\cite{IEEEexample:frenchpatreq,吕捷2015cpi,IEEEexample:uspat,杨光2015经济波动} + +\cite{Miroslav2004--,蔡敏2006--,赵学功2001--,易仕和2013--} + +\cite{Peebles2001-100-100,Yi2013--} + +\printbibliography[heading=subbibliography] + + +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt-default.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt-default.tex index c5341800e0b..7ddc51b37d9 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt-default.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt-default.tex @@ -1,3 +1,8 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,对于作者姓名格式的控制和选项 +% 测试gbnamefmt选项 +% 测试bib文件中的nameformat域 \documentclass[twoside]{article} \usepackage[heading]{ctex} \usepackage{geometry} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt.tex index 89411cb8652..2a50bf3e476 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnamefmt.tex @@ -1,3 +1,7 @@ +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,对于作者姓名格式的控制和选项 +% 测试gbnamefmt选项 +% 测试bib文件中的nameformat域 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{xcolor} @@ -176,7 +180,7 @@ calvo2006phoenix,bernanke1989agency,adam2011house,fazzari1993working} \begin{document} - \section{作者姓名格式} + \section{测试gb7714-2015样式对于作者姓名格式的控制和选项} 不带页码的引用(上标,方括号包围): \cite{FOURNEY1971-17-38}\cite{wang2006another} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-false.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-false.tex index 753e5ddabb9..3757d5e091c 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-false.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-false.tex @@ -1,3 +1,8 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay样式,对于作者缺省时的控制 +% 测试gbnoauthor=false选项 +% 注意没有年份时的默认处理,由于这种细节国标无规定,所以不做进一步的处理 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -19,10 +24,9 @@ %%%测试作者年/biblatex版本兼容性的文件 %%%test file for author year style -\section{文献表} +\section{测试gb7714-2015ay样式gbnoauthor=false选项} 文献 \cite{1962-50-50,2009-155-155} - \cite{olnoauthorcn} \cite{olnoauthoren} \cite{Allianceurlonly} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-true.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-true.tex index f03d1321534..ad20bfc8d40 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-true.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbnoauthor-true.tex @@ -1,3 +1,7 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015ay样式,对于作者缺省时的控制 +% 测试gbnoauthor=true选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -19,7 +23,7 @@ %%%测试作者年/biblatex版本兼容性的文件 %%%test file for author year style -\section{文献表} +\section{测试gb7714-2015ay样式gbnoauthor=true选项} 文献 \cite{1962-50-50,2009-155-155} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpub-true.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpub-true.tex index e09e3fb0006..27d7fa07a7e 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpub-true.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpub-true.tex @@ -1,3 +1,6 @@ +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,对于出版项缺省的控制和选项 +% 测试gbpub=true选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{geometry} @@ -19,7 +22,7 @@ %%%测试作者年/biblatex版本兼容性的文件 %%%test file for author year style -\section{文献表} +\section{测试gb7714-2015样式对于出版项缺省的控制和gbpub=true选项} 文献 \cite{Parsons2000noloc--,Parsons2000nopub--,booknolocation,booknopublisher,booknopubitems} \cite{赵学功2001--,李强2012-05-03--}\cite{裴丽生1981-2-10,Nemec1997-209-214} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpunctin.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpunctin.tex index 15c0ba38add..a28e9313004 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpunctin.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbpunctin.tex @@ -1,6 +1,15 @@ +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,对于洗出文献的//符号的控制和选项 +% 测试gbpunctin=false选项 +% 测试本地化字符串in的设置 \documentclass[twoside]{article} \usepackage{ctex} \usepackage[backend=biber,style=gb7714-2015,gbpunctin=false,gbpub=false,gbnamefmt=lowercase]{biblatex}% + +\DefineBibliographyStrings{english}{ +in={源自:\ } +} + \usepackage{filecontents} \begin{filecontents}{\jobname.bib} @Inproceedings{ref-replace-char, @@ -35,7 +44,7 @@ \addbibresource{\jobname.bib} \begin{document} - \section{Inproceedings references} + \section{测试gb7714-2015样式对于析出文献的//符号的控制和选项} \nocite{*} \printbibliography diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbstyle.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbstyle.tex deleted file mode 100644 index 9d9fec122d6..00000000000 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbstyle.tex +++ /dev/null @@ -1,840 +0,0 @@ -\documentclass[twoside]{article} -\usepackage{ctex} -\usepackage{xcolor} -\usepackage{toolbox} -\usepackage{hyperref} -\usepackage{lipsum} -\usepackage[top=10pt,bottom=10pt,left=1cm,right=1cm,showframe,showcrop]{geometry} - -\usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false, -gbnamefmt=familyahead,sorting=nyt]{biblatex}% - -\usepackage{filecontents} -\begin{filecontents}{\jobname.bib} - -@Book{易仕和2013--, - Title = {超声速和高超声速喷管设计}, - Address = {北京}, - Author = {易仕和 and 赵玉新 and 何霖 and 张敏莉}, - Publisher = {国防工业出版社}, - Year = {2013} -} - -@Book{Yi2013--, - Title = {Supersonic and hypersonic nozzle design}, - Address = {Beijing}, - Author = {Yi, Shi he and Zhao, Yu xin and He, Lin and Zhang, Min li}, - Publisher = {National Defense Industry Press}, - Year = {2013} -} - -@Article{张敏莉2007-500-503, - Title = {超声速短化喷管的设计和试验研究}, - Author = {张敏莉 and 易仕和 and 赵玉新}, - Journal = {空气动力学报}, - Number = {4}, - Pages = {500-503}, - Volume = {25}, - Year = {2007} -} - -@Article{Zhang2007-500-503, - Title = {The design and experimental investigations of supersonic length shorted nozzle}, - Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, - Journal = {ACTA AERODYNAMICA SINICA}, - Number = {4}, - Pages = {500-503}, - Volume = {25}, - Year = {2007} -} - - -@patent{IEEEexample:jppat, - author = "U. Hideki", - title = "Quadrature Modulation Circuit", - type = "patentjp", - number = "152932/92", - year = "1992-05-20" -} - -@patent{IEEEexample:frenchpatreq, - author = "F. Kowalik and M. Isard", - title = "Estimateur d'un D{\'e}faut de Fonctionnement - d'un Modulateur en Quadrature et {\'E}tage de Modulation - l'Utilisant", - language = "french", - type = "French Patent Request", - number = "9500261", - year = "1995-01-11" -} - -@patent{IEEEexample:uspat, - author = "Ronald E. Sorace and Victor S. Reinhardt and - Steven A. Vaughn", - holder = "Hughes Aircraft Company", - location = "Los Angeles, CA", - title = "High-Speed Digital-to-{RF} Converter", - type = "patentus", - number = "5668842", - yearfiled = "1995-02-28", - year = "1997-09-16", -} - - -@inbook{IEEEexample:repeatedauthorone, - author = "W. Dai and H. V. Pham and O. Milenkovic", - title = "Distortion-rate functions for quantized compressive sensing", - booktitle = - "IEEE Information Theory Workshop on Networking and Information Theory", - year = "2009" -} - -@inbook{IEEEexample:repeatedauthortwo, - author = "W. Dai and H. V. Pham and O. Milenkovic", - title = "comparative study of quantized compressive sensing schemes", - booktitle = - "IEEE Information Theory Workshop on Networking and Information Theory", - year = "2009" -} - - -@thesis{IEEEexample:masterstype, - author = "A. Karnik", - title = "Performance of {TCP} Congestion Control with Rate - Feedback: {TCP/ABR} and Rate Adaptive {TCP/IP}", - institution = "Indian Institute of Science", - type = "M. Eng. thesis", - location = "Bangalore, India", - year = "1999-01" -} - -@unpublished{IEEEexample:unpublished, - author = "T. J. Ott and N. Aggarwal", - title = "{TCP} over {ATM}: {ABR} or {UBR}", - howpublished = "Unpublished" -} - - - - -@database{databaseeg, - AUTHOR = {Zhang, San}, - DATE = {2007}, - TITLE = {A data base}, - medium={CD} -} - -@dataset{dataseteg, - AUTHOR = {Zhang, Yi}, - DATE = {2008}, - TITLE = {A data set}, - medium={DK} -} - -@archive{archiveeg, - AUTHOR = {Zhang, Er}, - DATE = {2009}, - TITLE = {An archive for friend B}, - medium={MT} -} - -@software{softwareeg, - AUTHOR = {Zhang, Liu}, - DATE = {2009}, - TITLE = {A software for science computation}, - medium={CD} -} - -@map{mapeg, - AUTHOR = {Zhang, Si}, - DATE = {2010}, - TITLE = {An map}, -} - -@Misc{Misceg, - AUTHOR = {Zhang, Wu}, - DATE = {2010}, - TITLE = {An unknow type reference}, -} - -@ARTICLE{aritileeg, - AUTHOR = {Zhang, Qi}, - DATE = {2007}, - JOURNALTITLE = {An periodical}, - PAGES = {82--92}, - TITLE = {An article for test}, - VOLUME = {12}, - NUMBER ={2}, - mark={J}, - medium={OL}, -} - -@ARTICLE{方军雄2007所有制, - AUTHOR = {方军雄}, - DATE = {2007}, - JOURNALTITLE = {经济研究}, - PAGES = {82--92}, - TITLE = {所有制, 制度环境与信贷资金配置}, - VOLUME = {12}, -} - -@ARTICLE{李晓西1994转轨过程中的结构性通货膨胀, - AUTHOR = {李晓西}, - DATE = {1994}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {李晓西1994转轨过程中的结构性通货膨胀}, - NUMBER = {10}, - PAGES = {28--32}, - TITLE = {转轨过程中的结构性通货膨胀}, -} - -@ARTICLE{刘凤良2017, - AUTHOR = {刘凤良 and 章潇萌 and 于泽}, - DATE = {2017}, - JOURNALTITLE = {金融研究}, - KEYWORDS = {刘凤良2017}, - NUMBER = {2}, - PAGES = {54--69}, - TITLE = {高投资、结构失衡与价格指数二元分化}, -} - -@ARTICLE{楼继伟2016改革, - AUTHOR = {楼继伟}, - DATE = {2016}, - JOURNALTITLE = {求是}, - KEYWORDS = {楼继伟2016改革}, - NUMBER = {1}, - PAGES = {24--26}, - TITLE = {中国经济最大潜力在于改革}, -} - -@ARTICLE{吕捷2015cpi, - AUTHOR = {吕捷 and 王高望}, - DATE = {2015}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {吕捷2015cpi}, - PAGES = {011}, - TITLE = {CPI 与 PPI “背离” 的结构性解释}, - VOLUME = {4}, -} - -@ARTICLE{罗德明2012要素市场扭曲, - AUTHOR = {罗德明 and 李晔 and 史晋川}, - DATE = {2012}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {罗德明2012要素市场扭曲}, - NUMBER = {3}, - PAGES = {4--14}, - TITLE = {要素市场扭曲、资源错置与生产率}, -} - -@ARTICLE{王国静2014金融冲击, - AUTHOR = {王国静 and 田国强}, - DATE = {2014}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {王国静2014金融冲击}, - NUMBER = {3}, - PAGES = {20--34}, - TITLE = {金融冲击和中国经济波动}, - VOLUME = {49}, -} - -@ARTICLE{王文甫2010价格粘性, - AUTHOR = {王文甫}, - DATE = {2010}, - JOURNALTITLE = {管理世界}, - KEYWORDS = {王文甫2010价格粘性}, - NUMBER = {9}, - PAGES = {11--25}, - TITLE = {价格粘性, 流动性约束与中国财政政策的宏观效应——动态新凯恩斯主义视角}, -} - -@ARTICLE{徐伟康2010对, - AUTHOR = {徐伟康}, - DATE = {2010}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {徐伟康2010对}, - NUMBER = {5}, - PAGES = {139--148}, - TITLE = {对《 消费者价格指数与生产者价格指数: 谁带动谁?》 一文的质疑}, -} - -@ARTICLE{杨光2015经济波动, - AUTHOR = {杨光 and 孙浦阳 and 龚刚}, - DATE = {2015}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {杨光2015经济波动}, - NUMBER = {2}, - PAGES = {47--60}, - TITLE = {经济波动, 成本约束与资源配置}, - VOLUME = {50}, -} - -@ARTICLE{杨汝岱2015中国制造, - AUTHOR = {杨汝岱}, - DATE = {2015}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {杨汝岱2015中国制造}, - PAGES = {61--74}, - TITLE = {中国制造业企业全要素生产率研究}, - VOLUME = {2}, -} - -@ARTICLE{张成思2010长期均衡, - AUTHOR = {张成思}, - DATE = {2010}, - JOURNALTITLE = {经济研究}, - KEYWORDS = {张成思2010长期均衡}, - PAGES = {42--52}, - TITLE = {长期均衡, 价格倒逼与货币驱动}, - VOLUME = {6}, -} - -@INCOLLECTION{adam2011house, - AUTHOR = {Adam, Klaus and Kuang, Pei and Marcet, Albert}, - PUBLISHER = {University of Chicago Press}, - BOOKTITLE = {NBER Macroeconomics Annual 2011, Volume 26}, - DATE = {2011}, - KEYWORDS = {adam2011house}, - PAGES = {77--122}, - TITLE = {House price booms and the current account}, -} - -@ARTICLE{bernanke1989agency, - AUTHOR = {Bernanke, Ben and Gertler, Mark}, - PUBLISHER = {JSTOR}, - DATE = {1989}, - JOURNALTITLE = {The American Economic Review}, - KEYWORDS = {bernanke1989agency}, - PAGES = {14--31}, - TITLE = {Agency costs, net worth, and business fluctuations}, -} - -@REPORT{calvo2006phoenix, - AUTHOR = {Calvo, Guillermo A and Izquierdo, Alejandro and Talvi, Ernesto}, - INSTITUTION = {National Bureau of Economic Research}, - DATE = {2006}, - KEYWORDS = {calvo2006phoenix}, - TITLE = {Phoenix miracles in emerging markets: recovering without credit from systemic financial crises}, -} - -@ARTICLE{davis2005housing, - AUTHOR = {Davis, Morris A and Heathcote, Jonathan}, - PUBLISHER = {Wiley Online Library}, - DATE = {2005}, - JOURNALTITLE = {International Economic Review}, - KEYWORDS = {davis2005housing}, - NUMBER = {3}, - PAGES = {751--784}, - TITLE = {Housing and the business cycle}, - VOLUME = {46}, -} - -@ARTICLE{enders2009international, - AUTHOR = {Enders, Zeno and M{ü}ller, Gernot J}, - PUBLISHER = {Elsevier}, - DATE = {2009}, - JOURNALTITLE = {Journal of International Economics}, - KEYWORDS = {enders2009international}, - NUMBER = {1}, - PAGES = {45--59}, - TITLE = {On the international transmission of technology shocks}, - VOLUME = {78}, -} - -@ARTICLE{fazzari1993working, - AUTHOR = {Fazzari, Steven M and Petersen, Bruce C}, - PUBLISHER = {JSTOR}, - DATE = {1993}, - JOURNALTITLE = {The RAND Journal of Economics}, - KEYWORDS = {fazzari1993working}, - PAGES = {328--342}, - TITLE = {Working capital and fixed investment: new evidence on financing constraints}, -} - -@ARTICLE{greenwood1988investment, - AUTHOR = {Greenwood, Jeremy and Hercowitz, Zvi and Huffman, Gregory W}, - PUBLISHER = {JSTOR}, - DATE = {1988}, - JOURNALTITLE = {The American Economic Review}, - KEYWORDS = {greenwood1988investment}, - PAGES = {402--417}, - TITLE = {Investment, capacity utilization, and the real business cycle}, -} - -@ARTICLE{hayashi1985tests, - AUTHOR = {Hayashi, Fumio}, - DATE = {1985}, - JOURNALTITLE = {NBER Working Paper}, - KEYWORDS = {hayashi1985tests}, - NUMBER = {w1720}, - TITLE = {Tests for Liquidity Constraints: a Critical Survey}, -} - -@ARTICLE{iacoviello2005house, - AUTHOR = {Iacoviello, Matteo}, - PUBLISHER = {American Economic Association}, - DATE = {2005}, - JOURNALTITLE = {The American economic review}, - KEYWORDS = {iacoviello2005house}, - NUMBER = {3}, - PAGES = {739--764}, - TITLE = {House prices, borrowing constraints, and monetary policy in the business cycle}, - VOLUME = {95}, -} - -@ARTICLE{jermann2012macroeconomic, - AUTHOR = {Jermann, Urban and Quadrini, Vincenzo}, - PUBLISHER = {American Economic Association}, - DATE = {2012}, - JOURNALTITLE = {The American Economic Review}, - KEYWORDS = {jermann2012macroeconomic}, - NUMBER = {1}, - PAGES = {238--271}, - TITLE = {Macroeconomic effects of financial shocks}, - VOLUME = {102}, -} - -@ARTICLE{khan2013credit, - AUTHOR = {Khan, Aubhik and Thomas, Julia K}, - PUBLISHER = {University of Chicago Press}, - DATE = {2013}, - JOURNALTITLE = {Journal of Political Economy}, - KEYWORDS = {khan2013credit}, - NUMBER = {6}, - PAGES = {1055--1107}, - TITLE = {Credit shocks and aggregate fluctuations in an economy with production heterogeneity}, - VOLUME = {121}, -} - -@ARTICLE{kiyotaki1997credit, - AUTHOR = {Kiyotaki, Nobuhiro and Moore, John}, - PUBLISHER = {University of Chicago Press}, - DATE = {1997}, - JOURNALTITLE = {Journal of Political Economy}, - KEYWORDS = {kiyotaki1997credit}, - NUMBER = {2}, - PAGES = {211--248}, - TITLE = {Credit cycles}, - VOLUME = {105}, -} - -@ARTICLE{kocherlakota2000creating, - AUTHOR = {Kocherlakota, Narayana and others}, - DATE = {2000}, - JOURNALTITLE = {Federal Reserve Bank of Minneapolis Quarterly Review}, - KEYWORDS = {kocherlakota2000creating}, - NUMBER = {3}, - PAGES = {2--10}, - TITLE = {Creating business cycles through credit constraints}, - VOLUME = {24}, -} - -@INPROCEEDINGS{lucas1976econometric, - AUTHOR = {Lucas, Robert E}, - ORGANIZATION = {North-Holland}, - BOOKTITLE = {Carnegie-Rochester conference series on public policy}, - DATE = {1976}, - KEYWORDS = {lucas1976econometric}, - PAGES = {19--46}, - TITLE = {Econometric policy evaluation: A critique}, - VOLUME = {1}, -} - -@ARTICLE{lucas1987money, - AUTHOR = {Lucas, Robert and Stokey, Nancy}, - PUBLISHER = {Econometric Society}, - DATE = {1987}, - JOURNALTITLE = {Econometrica}, - KEYWORDS = {lucas1987money}, - NUMBER = {3}, - PAGES = {491--513}, - TITLE = {Money and Interest in a Cash-in-Advance Economy}, - VOLUME = {55}, -} - -@ARTICLE{quadrini2011financial, - AUTHOR = {Quadrini, Vincenzo}, - DATE = {2011}, - JOURNALTITLE = {Economic Quarterly}, - KEYWORDS = {quadrini2011financial}, - NUMBER = {3}, - PAGES = {209--254}, - TITLE = {Financial Frictions in Macroeconomic Fluctuations}, - VOLUME = {79}, -} - -@ARTICLE{saiz2010geographic, - AUTHOR = {Saiz, Albert}, - PUBLISHER = {JSTOR}, - DATE = {2010}, - JOURNALTITLE = {quarterly Journal of Economics}, - KEYWORDS = {saiz2010geographic}, - NUMBER = {3}, - TITLE = {The geographic determinants of housing supply}, - VOLUME = {125}, -} - -@ARTICLE{wang2006another, - AUTHOR = {Wang, Peng-fei and Wen, Yi}, - PUBLISHER = {Elsevier}, - DATE = {2006}, - JOURNALTITLE = {Journal of Economic Dynamics and Control}, - KEYWORDS = {wang2006another}, - NUMBER = {12}, - PAGES = {2533--2552}, - TITLE = {Another look at sticky prices and output persistence}, - VOLUME = {30}, -} - -@REPORT{xu2012role, - AUTHOR = {Xu, TengTeng}, - INSTITUTION = {Faculty of Economics, University of Cambridge}, - DATE = {2012}, - KEYWORDS = {xu2012role}, - TITLE = {The role of credit in international business cycles}, -} - -@ARTICLE{zhang2009china, - AUTHOR = {Zhang, Wenlang}, - PUBLISHER = {Elsevier}, - DATE = {2009}, - JOURNALTITLE = {Journal of Macroeconomics}, - KEYWORDS = {zhang2009china}, - NUMBER = {3}, - PAGES = {473--484}, - TITLE = {China’s monetary policy: Quantity versus price rules}, - VOLUME = {31}, -} - - - @Book{Yi2014--, - Title = {Test}, - Address = {Address}, - Author = {Yi and B and C}, - Publisher = {Publisher}, - Year = {2014} - } - - @Periodical{AAAS1883--, - Title = {Science}, - Date = {1883}, - Editor = {{American Association for the Advancement of Science}}, - Number = {1}, - Volume = {1}, - Location = {Washington, D.C.}, - Publisher = {American Association for the Advancement of Science} -} - -@Proceedings{ROSENTHALL1963--, - Title = {Proceedings of the Fifth Canadian Mathematical Congress, University of Montreal, 1961}, - Date = {1963}, - Publisher = {University of Toronto Press}, - Editor = {E M ROSENTHALL}, - Location = {Toronto} -} - -@Thesis{CALMS1965--, - Title = {Infrared spectroscopic studies on solid oxygen}, - Author = {R B CALMS}, - Date = {1965}, - Institution = {Univ. of California}, - Location = {Berkeley} -} - -@Report{WHO1970--, - Title = {Factors regulating the immune response}, - Author = {{World Health Organization}}, - Date = {1970}, - Institution = {WHO}, - Location = {Geneva}, - Titleaddon = {report of WHO Scientific Group} -} - -@Inproceedings{FOURNEY1971-17-38, - Title = {Advances in holographic photoelasticity}, - Author = {M E FOURNEY}, - Booktitle = {Symposium on Applications of Holography in Mechanics, August 23-25, 1971, University of Southern California, Los Angeles, California}, - Date = {1971}, - Pages = {17-38}, - Publisher = {ASME}, - Location = {New York} -} - -@book{FOURNEY1971-55, - Title = {Advances in holographic photoelasticity}, - Author = {M E FOURNEY}, - Date = {1971}, - Pages = {55}, - Publisher = {ASME}, - Location = {New York}, - url={http://www.cnki.com}, - urldate={2018-03-06} -} - - @Article{abx2007-500-503, - Title = {超声速短化喷管的设计和试验研究}, - Author = {张敏莉 and 易仕和 and 赵玉新 and 李明}, - Journal = {空气动力学报}, - Year = {2007}, - Number = {4}, - Pages = {500-503}, - Volume = {25}, - language = {chinese} - } - - - - @BOOK{张伯伟2002--, - AUTHOR = {张伯伟}, - LOCATION = {南京}, - PUBLISHER = {江苏古籍出版社}, - DATE = {2002}, - KEYWORDS = {张伯伟2002--}, - PAGES = {288}, - TITLE = {全唐五代诗格会考}, - language = {chinese}, - url={http://www.cnki.com}, - urldate={2018-03-06} -} - -@PROCEEDINGS{雷光春2012--, - AUTHOR = {雷光春}, - LOCATION = {北京}, - PUBLISHER = {海洋出版社}, - DATE = {2012}, - KEYWORDS = {雷光春2012--}, - TITLE = {综合湿地管理:综合湿地管理国际研讨会论文集}, - language = {chinese} -} - -@REPORT{汤万金2013-09-30--, - AUTHOR = {汤万金 and 杨跃翔 and 刘文 and others}, - URL = {http://www.nstrs.org.cn}, - DATE = {2013-09-30}, - KEYWORDS = {汤万金2013-09-30--}, - TITLE = {人体安全重要技术标准研制最终报告:7178999X}, - URLDATE = {2014-06-24}, - language = {chinese} -} - -@INPROCEEDINGS{贾东琴2011-45-52, - AUTHOR = {贾东琴 and 柯平}, - BOOKAUTHOR = {中国图书馆学会}, - LOCATION = {北京}, - PUBLISHER = {国家图书馆出版社}, - BOOKTITLE = {中国图书馆学会年会论文集:2011年卷}, - DATE = {2011}, - KEYWORDS = {贾东琴2011-45-52}, - PAGES = {45--52}, - TITLE = {面向数字素养的高校图书馆数字服务体系研究}, - language = {chinese} -} - -@INCOLLECTION{韩吉人1985-90-99, - AUTHOR = {韩吉人}, - BOOKAUTHOR = {中国职工教育研究会}, - LOCATION = {北京}, - PUBLISHER = {人民教育出版社}, - BOOKTITLE = {职工教育研究论文集}, - DATE = {1985}, - KEYWORDS = {韩吉人1985-90-99}, - PAGES = {90--99}, - TITLE = {论职工教育的特点}, - language = {chinese} -} - -@THESIS{马欢2011-27-27, - AUTHOR = {马欢}, - INSTITUTION = {清华大学}, - LOCATION = {北京}, - URL = {http://www.cnki.net}, - DATE = {2011}, - KEYWORDS = {马欢2011-27-27}, - PAGES = {27}, - TITLE = {人类活动影响下海河流域典型区水循环变化分析}, - URLDATE = {2013-10-14}, - language = {chinese} -} - -@PATENT{张凯军2012-04-05--, - AUTHOR = {张凯军}, - DATE = {2012-04-05}, - KEYWORDS = {张凯军2012-04-05--}, - NUMBER = {201220158825.2}, - TITLE = {轨道火车及高速轨道火车紧急安全制动辅助装置}, - language = {chinese} -} - -@BOOK{国家环境保护局科技标准司1996-2-3, - AUTHOR = {国家环境保护局科技标准司}, - LOCATION = {北京}, - PUBLISHER = {中国标准出版社}, - URL = {http://wenku.baidu.com}, - DATE = {1996}, - KEYWORDS = {国家环境保护局科技标准司1996-2-3,standard}, - NOTE = {standard}, - PAGES = {2--3}, - TITLE = {土壤环境质量标准:GB 15616-1995}, - URLDATE = {2013-10-14}, - language = {chinese} -} - -@INBOOK{白书农1998-146-163, - AUTHOR = {白书农}, - BOOKAUTHOR = {李承森}, - LOCATION = {北京}, - PUBLISHER = {高等教育出版社}, - BOOKTITLE = {植物科学进展}, - DATE = {1998}, - KEYWORDS = {白书农1998-146-163}, - PAGES = {146--163}, - TITLE = {植物开花研究}, - language = {chinese} -} - -@ARTICLE{杨洪升2013-56-75, - AUTHOR = {杨洪升}, - DATE = {2013}, - JOURNALTITLE = {文献}, - KEYWORDS = {杨洪升2013-56-75}, - NUMBER = {1}, - PAGES = {56--75}, - TITLE = {四库馆私家抄校书考略}, - language = {chinese} -} - -@COLLECTION{中国职工教育研究会1985--, - AUTHOR = {中国职工教育研究会}, - LOCATION = {北京}, - PUBLISHER = {人民教育出版社}, - DATE = {1985}, - KEYWORDS = {中国职工教育研究会1985--}, - TITLE = {职工教育研究论文集}, - language = {chinese} -} - -@ARTICLE{丁文祥2000--, - AUTHOR = {丁文祥}, - DATE = {2000-11-20}, - JOURNALTITLE = {中国青年报}, - KEYWORDS = {丁文祥2000--,news}, - NOTE = {news}, - NUMBER = {15}, - TITLE = {数字革命与竞争国际化}, - language = {chinese} -} - -@ONLINE{李强2012-05-03--, - AUTHOR = {李强}, - URL = {http://wenku.baidu.com}, - DATE = {2012-05-03}, - KEYWORDS = {李强2012-05-03--}, - TITLE = {化解医患矛盾需釜底抽薪}, - URLDATE = {2013-03-25}, - language = {chinese} -} - -@PERIODICAL{中华医学会湖北分会1984--, - EDITOR = {中华医学会湖北分会}, - INSTITUTION = {中华医学会湖北分会}, - LOCATION = {武汉}, - DATE = {1984}, - KEYWORDS = {中华医学会湖北分会1984--}, - NUMBER = {1}, - TITLE = {临床内科杂志}, - VOLUME = {1}, - language = {chinese} -} - -@ARTICLE{wang2006another, - AUTHOR = {Wang, Peng-fei and Wen, Yi}, - PUBLISHER = {Elsevier}, - DATE = {2006}, - JOURNALTITLE = {Journal of Economic Dynamics and Control}, - NUMBER = {12}, - PAGES = {2533--2552}, - TITLE = {Another look at sticky prices and output persistence}, - VOLUME = {30}, - nameformat={pinyin}, -} -\end{filecontents} - -\addbibresource{\jobname.bib} - -\makeatletter -\@ifpackagelater{biblatex}{2017/04/01}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} -\makeatother - - - - \begin{document} - \section{测试:中文文献} - \begin{refsection} - 中文文献\cite{中华医学会湖北分会1984--,中国职工教育研究会1985--,abx2007-500-503,张凯军2012-04-05--,张成思2010长期均衡,张伯伟2002--,杨汝岱2015中国制造,杨洪升2013-56-75,杨光2015经济波动,徐伟康2010对,王文甫2010价格粘性,王国静2014金融冲击,汤万金2013-09-30--,马欢2011-27-27,罗德明2012要素市场扭曲,吕捷2015cpi,楼继伟2016改革,刘凤良2017,李晓西1994转轨过程中的结构性通货膨胀,李强2012-05-03--,雷光春2012--,贾东琴2011-45-52,韩吉人1985-90-99,国家环境保护局科技标准司1996-2-3,方军雄2007所有制,丁文祥2000--,白书农1998-146-163} - - \printbibliography - \end{refsection} - - - \section{测试:英文文献} - \begin{refsection} - 英文文献\cite{dataseteg,Misceg,zhang2009china,databaseeg,mapeg,aritileeg, - softwareeg, archiveeg,Yi2013--,Yi2014--,xu2012role,wang2006another,IEEEexample:uspat, - saiz2010geographic,ROSENTHALL1963--,quadrini2011financial,IEEEexample:unpublished, - WHO1970--,lucas1976econometric,lucas1987money,IEEEexample:frenchpatreq, - kocherlakota2000creating,kiyotaki1997credit,khan2013credit, - IEEEexample:masterstype,jermann2012macroeconomic,iacoviello2005house, - IEEEexample:jppat,hayashi1985tests,greenwood1988investment, - FOURNEY1971-17-38,FOURNEY1971-55,fazzari1993working,enders2009international, - davis2005housing,IEEEexample:repeatedauthorone,IEEEexample:repeatedauthortwo, - calvo2006phoenix,CALMS1965--,bernanke1989agency,AAAS1883--,adam2011house} - - \printbibliography - \end{refsection} - - \section{测试:中英文对照文献} - \begin{refsection} - \defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} - - 双语文献: - 考虑条目集方法使用默认样式,而关联条目方法使用语言判断后选择的样式。 - - - set动态方法\cite{张敏莉,等,2007};\par - related动态方法\cite{易仕和2013--} - - \printbibliography - \end{refsection} - - \section{测试:标注命令} - \begin{refsection} - 不带页码的引用(上标,方括号包围): - \cite{FOURNEY1971-17-38}\cite{wang2006another} - - 不带页码的引用(非上标,方括号包围): - \parencite{FOURNEY1971-17-38}\parencite{wang2006another} - \upcite{FOURNEY1971-17-38}\upcite{wang2006another} - - 带页码的引用: - \cite[见][49页]{FOURNEY1971-17-38} \parencite[见][49页]{wang2006another} - \pagescite{FOURNEY1971-17-38}\pagescite[150]{wang2006another} - - - 同时输出作者和顺序编码的三种引用方式: - - (a)直接的方法:见\citeauthor{FOURNEY1971-17-38}\cite{FOURNEY1971-17-38}, \citeauthor{wang2006another}\cite{wang2006another} - - (b)定义新的标注命令:见\authornumcite{FOURNEY1971-17-38,wang2006another} - - (c)用textcite但没有上标:见\textcite{FOURNEY1971-17-38,wang2006another} - - 在页脚中引用和打印文献表: - - \footnote{在脚注中引用\footcite{FOURNEY1971-17-38}} \footfullcite{FOURNEY1971-17-38} - \footnote{在脚注中引用\footcite{wang2006another}} \footfullcite{wang2006another} - - \printbibliography - \end{refsection} - - \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtitlelink.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtitlelink.tex index d12a533b354..2ed2b5e2b3d 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtitlelink.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtitlelink.tex @@ -1,9 +1,13 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,当文献存在url时对文献标题做超链接 +% 测试gbtitlelink选项 \documentclass[twoside]{article} \usepackage{ctex} \usepackage{fontspec} %\setmainfont{CMU Serif} \usepackage{xcolor} -\usepackage{hyperref} +\usepackage[colorlinks=true]{hyperref} \usepackage{lipsum} \usepackage[top=10pt,bottom=10pt,left=10pt,right=10pt]{geometry} \usepackage[backend=biber,style=gb7714-2015,gbpub=false,gbtitlelink=true]{biblatex} @@ -42,10 +46,10 @@ %\renewcommand{\bibtitlefont}{\kaishu} \begin{document} - \section{set title} - created with biblatex v\versionofbiblatex, last revised at \today;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. + \section{测试gb7714-2015样式当文献存在url时对文献标题做超链接} + created with biblatex v\versionofbiblatex, last revised at 2019-01-19;\\ \hspace*{1.5em} Style Files (gb7714-2015*.*) have version number: \versionofgbtstyle. - refs\nocite{*} + \nocite{*} \printbibliography diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtype.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtype.tex new file mode 100644 index 00000000000..d859f5bb12e --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/opt-gbtype.tex @@ -0,0 +1,40 @@ + +% !Mode:: "TeX:UTF-8" +% 用于测试gb7714-2015样式,是否通过选项设置去掉类似[J]这样的文献标识符 +% 测试gbtype=false选项 +\documentclass[twoside]{article} +\usepackage{ctex} +\usepackage{geometry} +\geometry{paperwidth=21cm,paperheight=29cm,top=2cm, bottom=2cm, left=2cm,right=2cm} +\usepackage{xcolor} +\usepackage[CJKbookmarks,colorlinks,bookmarksnumbered=true,pdfstartview=FitH,linkcolor=blue]{hyperref} +\usepackage[backend=biber,style=gb7714-2015ay,gbtype=false]{biblatex} +\addbibresource[location=local]{example.bib} +%\renewcommand{\bibfont}{\zihao{5}} +%\setlength{\bibitemsep}{0ex} +%\setlength{\bibnamesep}{0ex} +%\setlength{\bibinitsep}{0ex} + +\iftoggle{iftleight}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlnine}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} +\iftoggle{iftlatest}{\defdoublelangentry{易仕和2013--}{Yi2013--}}{} + +\begin{document} + +\section{测试gb7714-2015样式选项设置去掉文献标识符} +\defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} +双语文献:set动态方法\cite{张敏莉,等,2007}; +\iftoggle{iftleight}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlnine}{related动态方法\cite{易仕和2013--}}{} +\iftoggle{iftlatest}{related动态方法\cite{易仕和2013--}}{} + +文献\cite{王夫之1845--}\cite{陈建军2010-93-93}; +文献\parencite{张田勤2000--}\parencite{吴云芳2003--}; +文献\pagescite[][300]{汤万金2013-09-30--}\pagescite[][100-107]{张凯军2012-04-05--}; +文献:萧钰\yearpagescite{萧钰2001--}, +国家环境保护局科技标准司\yearpagescite{国家环境保护局科技标准司1996-2-3}; +其它\cite{Calkin2011-8-9,CRAWFPRD1995--, +Babu2014--,CALMS1965--,DESMARAIS1992-605-609} + +\printbibliography[heading=subbibintoc,title=【参考文献】] +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/testallformat.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/testallformat.tex index 8af5c2182d0..abbc4173c7b 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/testallformat.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/testallformat.tex @@ -6,7 +6,7 @@ \usepackage{lipsum} \usepackage[top=10pt,bottom=10pt,left=1cm,right=1cm,showframe,showcrop]{geometry} \usepackage{xltxtra,mflogo,texnames} -\usepackage[backend=biber,style=gb7714-2015]{biblatex}%sorting=nyt +\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}%sorting=nyt \usepackage{filecontents} \begin{filecontents}{\jobname.bib} @@ -790,591 +790,15 @@ author={Gom} \begin{document} -\section{测试:根据biblatex版本判断texlive年份} - -judged environment: -\iftoggle{iftlfive}{biblatex<=3.2 maybe texlive<=2015 }{}%处理biblatex3.2之前版本,时间2016-03-01前 -\iftoggle{iftlsix}{3.3<=biblatex<=3.6 maybe texlive2016 }{}%处理biblatex3.3开始改变姓名机制后版本,时间2016-03-01及以后 -\iftoggle{iftlseven}{biblatex 3.7 maybe texlive 2017 }{}%处理biblatex3.7的兼容性,时间2016-12-01后 -\iftoggle{iftleight}{biblatex 3.8-3.9 maybe texlive 2017 }{}%处理biblatex3.8到3.9的兼容性,时间2017-11-01后到2017-12-01前 -\iftoggle{iftlnine}{biblatex 3.10 maybe texlive 2017 }{}%处理biblatex10的兼容性,时间2017-12-01后 -\iftoggle{iftlatest}{biblatex >=3.11 maybe texlive 2018 }{}%假设是最新版biblatex - -biblatex version: \versionofbiblatex - -biblatex-gb7714-2015 version: \versionofgbtstyle - - -\section{测试:间距字体颜色控制} - \begin{refsection} - { - -% 换行的控制 -% -% 选项 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} - -% 标点类型的控制(全局字体能控制标点的字体) - -%\renewcommand{\thefootnote}{\textcircled{\tiny\arabic{footnote}}} - - 文献 -\cite{张伯伟2002--} -\cite{白书农1998-146-163} -\cite{杨洪升2013-56-75} -\cite{中华医学会湖北分会1984--} -\cite{雷光春2012--} -\cite{贾东琴2011-45-52} -\cite{汤万金2013-09-30--} -\cite{韩吉人1985-90-99} -\cite{马欢2011-27-27} -\cite{张凯军2012-04-05--} -\cite{国家环境保护局科技标准司1996-2-3} -\cite{中国职工教育研究会1985--} -\cite{丁文祥2000--} -\cite{李强2012-05-03--} - -\cite{OBRIEN1994--} -\cite{FOURNEY1971-17-38} -\cite{Park2010-696-715} -\cite{Babu2014--} -\cite{Calkin2011-8-9} -\cite{CALMS1965--} -\cite{KOSEKI2002--} -\cite{standardinfoiso158} -\cite{Dublin2012-06-14--} - - -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography[heading=subbibliography,title=【参考文献】] -} - - \end{refsection} - - - - \section{测试:标注命令} - \begin{refsection} - 不带页码的引用(上标,方括号包围): - \cite{FOURNEY1971-17-38}\cite{wang2006another} - - 不带页码的引用(非上标,方括号包围): - \parencite{FOURNEY1971-17-38}\parencite{wang2006another} - \upcite{FOURNEY1971-17-38}\upcite{wang2006another} - - 带页码的引用: - \cite[见][49页]{FOURNEY1971-17-38} \parencite[见][49页]{wang2006another} - \pagescite{FOURNEY1971-17-38}\pagescite[150]{wang2006another} - - 带页码的引用,使用pagescite命令。 -\pagescite{Peebles2001-100-100}\pagescite[][201-301]{Peebles2001-100-100} -\parencite[见][49页]{Miroslav2004--}\cite[见][49页]{蔡敏2006--} - - 同时输出作者和顺序编码的三种引用方式: - - (a)直接的方法:见\citeauthor{FOURNEY1971-17-38}\cite{FOURNEY1971-17-38}, \citeauthor{wang2006another}\cite{wang2006another} - - (b)定义新的标注命令:见\authornumcite{FOURNEY1971-17-38,wang2006another} - - (c)用textcite但没有上标:见\textcite{FOURNEY1971-17-38,wang2006another} - - -作者年制文中已有作者只需给出年份和页码的引用: -见赵耀东\yearpagescite[][205]{FOURNEY1971-17-38}和Simon\yearpagescite[][15]{wang2006another}。 - -作者年制文中已有作者只需给出年份的引用,三种方式: - -见赵耀东\yearcite{FOURNEY1971-17-38},赵耀东\yearcite{wang2006another} - -见赵耀东(\cite*{FOURNEY1971-17-38}),赵耀东(\cite*{wang2006another}) - -见赵耀东(\citeyear{FOURNEY1971-17-38}),赵耀东(\citeyear{wang2006another}) - -作者年制文中无作者需要标注命令给出作者作为主语的引用: -见\textcite{FOURNEY1971-17-38},\textcite{wang2006another} - - 在页脚中引用和打印文献表: - - \footnote{在脚注中引用\footcite{FOURNEY1971-17-38}} \footfullcite{FOURNEY1971-17-38} - \footnote{在脚注中引用\footcite{wang2006another}} \footfullcite{wang2006another} - - 页脚中引用和打印文献表\footnote{参考文献在脚注中引用\footcite{赵学功2001--}} \footfullcite{赵学功2001--} - - \printbibliography - \end{refsection} - - \section{测试:顺序编码制引用多篇文献的标注} - \begin{refsection} - GB/T 7714-2015 标准 10.1.1 节,引用单篇文献: - - 文献\cite{徐伟康2010对}提到。文献\cite{FOURNEY1971-17-38}提到。(use cite)\par - 文献\parencite{徐伟康2010对}提到。文献\parencite{FOURNEY1971-17-38}提到。(use parencite)\par - \textcite{徐伟康2010对}提到。\textcite{FOURNEY1971-17-38}提到。(use textcite)\par - \authornumcite{徐伟康2010对}提到。\authornumcite{FOURNEY1971-17-38}提到。 - (use authornumcite)\par - \textcite{徐伟康2010对}提到。(use textcite) - -\bigskip - GB/T 7714-2015 标准 10.1.2 节,引用多篇文献: - - 文献\cite{杨光2015经济波动,Yi2013--}提到。(use cite)\par - 文献\parencite{杨光2015经济波动,Yi2013--}提到。(use parencite)\par - \textcite{杨光2015经济波动,Yi2013--}提到。(use textcite)\par - \authornumcite{杨光2015经济波动,Yi2013--}提到。(use authornumcite)\par - - -\bigskip - GB/T 7714-2015 标准 10.1.3 节,多次引用文献: - - 文献\pagescite[16]{杨光2015经济波动}提到。 - 文献\pagescite[16]{徐伟康2010对}提到。 - 文献\pagescite[16]{Yi2013--}提到。 - 文献\pagescite[16]{FOURNEY1971-17-38}提到。(use pagescite)\par - \authornumcite{杨光2015经济波动}提到。 - \authornumcite{徐伟康2010对}提到。 - \authornumcite{Yi2013--}提到。 - \authornumcite{FOURNEY1971-17-38}提到。(use authornumcite)\par - -\bigskip - 其它用法: - - 文献\cite[见][49页]{杨光2015经济波动}。 - 文献\parencite[见][49页]{杨光2015经济波动}。 - 见\citeauthor{杨光2015经济波动}\cite{杨光2015经济波动}。 - 文献\footnote{脚注中引用文献\footcite{杨光2015经济波动}。}。 - 文献\footfullcite{杨光2015经济波动}。 - - - \printbibliography - \end{refsection} - - \section{测试:著者年份制引用多篇文献的标注} - \begin{refsection} - GB/T 7714-2015 标准 10.2.1 节,引用单篇文献: - - 文献\cite{徐伟康2010对}提到。文献\cite{FOURNEY1971-17-38}提到。(use cite)\par - 文献\parencite{徐伟康2010对}提到。文献\parencite{FOURNEY1971-17-38}提到。(use parencite)\par - 徐伟康\yearcite{徐伟康2010对}提到。FOURNEY\yearcite[18]{FOURNEY1971-17-38}提到。(use yearcite)\par - \textcite{徐伟康2010对}提到。\textcite{FOURNEY1971-17-38}提到。(use textcite)\par - -\bigskip - GB/T 7714-2015 标准 10.2.2 节,引用单篇文献(多个作者的情况): - - 文献\cite{杨光2015经济波动}提到。文献\cite{Yi2013--}提到。(use cite)\par - 文献\parencite{杨光2015经济波动}提到。文献\parencite{Yi2013--}提到。(use parencite)\par - 杨光\ 等\yearcite{杨光2015经济波动}提到。Yi et al. \yearcite{Yi2013--}提到。(use yearcite)\par - \textcite{杨光2015经济波动}提到。\textcite{Yi2013--}提到。(use textcite)\par - - -\bigskip - GB/T 7714-2015 标准 10.2.4 节,多次引用文献: - - 文献\pagescite[16]{杨光2015经济波动}提到。 - 文献\pagescite[16]{徐伟康2010对}提到。 - 文献\pagescite[16]{Yi2013--}提到。 - 文献\pagescite[16]{FOURNEY1971-17-38}提到。(use pagescite)\par - 杨光\yearpagescite[17]{杨光2015经济波动}提到。 - 徐伟康\yearpagescite[16]{徐伟康2010对}提到。Yi\yearpagescite[17]{Yi2013--}提到。FOURNEY\yearpagescite[17]{FOURNEY1971-17-38}提到。(use yearpagescite)\par - -\bigskip - 其它用法: - - 文献\cite[见][49页]{杨光2015经济波动}。 - 文献\parencite[见][49页]{杨光2015经济波动}。 - 见赵耀东(\cite*{杨光2015经济波动})。 - 见赵耀东(\citeyear{杨光2015经济波动})。 - 文献\footnote{脚注中引用文献\footcite{杨光2015经济波动}。}。 - 文献\footfullcite{杨光2015经济波动}。 - - - \printbibliography - \end{refsection} - - - \section{测试:国标要求的条目类型} - \begin{refsection} - 条目类型:database\cite{databaseeg} - -条目类型:dataset\cite{dataseteg} - -条目类型:archive\cite{archiveeg} - -条目类型:software\cite{softwareeg} - -条目类型:map\cite{mapeg} - -条目类型:Misc\cite{Misceg} - -条目类型:ARTICLE\cite{aritileeg} - -条目类型:ARTICLE\cite{方军雄2007所有制} - -条目类型:Article\cite{abx2007-500-503} - -条目类型:ARTICLE\cite{杨洪升2013-56-75} - -条目类型:ARTICLE\cite{丁文祥2000--} - -条目类型:Book\cite{Yi2014--} - -条目类型:Book\cite{Yi2013--} - -条目类型:BOOK\cite{张伯伟2002--} - -条目类型:BOOK\cite{国家环境保护局科技标准司1996-2-3} - -条目类型:INBOOK\cite{白书农1998-146-163} - -条目类型:Periodical\cite{AAAS1883--} - -条目类型:PERIODICAL\cite{中华医学会湖北分会1984--} - -条目类型:Proceedings\cite{ROSENTHALL1963--} - -条目类型:PROCEEDINGS\cite{雷光春2012--} - -条目类型:Thesis\cite{CALMS1965--} - -条目类型:THESIS\cite{马欢2011-27-27} - -条目类型:Report\cite{WHO1970--} - -条目类型:REPORT\cite{汤万金2013-09-30--} - -条目类型:Inproceedings\cite{FOURNEY1971-17-38} - -条目类型:INPROCEEDINGS\cite{贾东琴2011-45-52} - -条目类型:COLLECTION\cite{中国职工教育研究会1985--} - -条目类型:INCOLLECTION\cite{韩吉人1985-90-99} - -条目类型:PATENT\cite{张凯军2012-04-05--} - - \printbibliography - \end{refsection} - - - - \section{测试:传统条目类型的兼容性} - \begin{refsection} - - 包括:mastersthsis,phdthsis,www,electronic,standard,techreport,conference条目类型,本样式增加的newspaper类型: - - \begin{itemize} - \item newspaper:\cite{张田勤2000--} - \item standard:\cite{全国文献工作标准化委员会第七分委员会1986--,国家标准局信息分类编码研究所1988-59-92} - \item conference:\cite{Li2004-21-24} - \item www:\cite{萧钰2001--} - \item electronic:\cite{OMG2003--} - \item techreport:\cite{Humphrey1971--} - \item mastersthsis:\cite{张志祥1998--} - \item phdthsis:\cite{张若凌2004--} - \end{itemize} - - \printbibliography[heading=subbibliography,title=【兼容phdthsis等条目类型】] -\end{refsection} - - - - - \section{测试:中文文献} - \begin{refsection} - 中文文献测试,主要检查GB/T 7714-2015标准要的中文格式是否实现: - - \cite{中华医学会湖北分会1984--,中国职工教育研究会1985--,abx2007-500-503,张凯军2012-04-05--,张成思2010长期均衡,张伯伟2002--,杨汝岱2015中国制造,杨洪升2013-56-75,杨光2015经济波动,徐伟康2010对,王文甫2010价格粘性,王国静2014金融冲击,汤万金2013-09-30--,马欢2011-27-27, 罗德明2012要素市场扭曲,吕捷2015cpi,楼继伟2016改革,刘凤良2017,李晓西1994转轨过程中的结构性通货膨胀,李强2012-05-03--,雷光春2012--,贾东琴2011-45-52, 韩吉人1985-90-99,国家环境保护局科技标准司1996-2-3,方军雄2007所有制,丁文祥2000--,白书农1998-146-163} - - \printbibliography - \end{refsection} - - - \section{测试:英文文献} - \begin{refsection} - 英文文献测试,主要检查GB/T 7714-2015标准要的英文格式是否实现: - - \cite{dataseteg,Misceg,zhang2009china,databaseeg,mapeg,aritileeg, - softwareeg, archiveeg,Yi2013--,Yi2014--,xu2012role,wang2006another,IEEEexample:uspat, - saiz2010geographic,ROSENTHALL1963--,quadrini2011financial,IEEEexample:unpublished, - WHO1970--,lucas1976econometric,lucas1987money,IEEEexample:frenchpatreq, - kocherlakota2000creating,kiyotaki1997credit,khan2013credit, - IEEEexample:masterstype,jermann2012macroeconomic,iacoviello2005house, - IEEEexample:jppat,hayashi1985tests,greenwood1988investment, - FOURNEY1971-17-38,FOURNEY1971-55,fazzari1993working,enders2009international, - davis2005housing,IEEEexample:repeatedauthorone,IEEEexample:repeatedauthortwo, - calvo2006phoenix,CALMS1965--,bernanke1989agency,AAAS1883--,adam2011house} - - \printbibliography - \end{refsection} - - - \section{测试:中英文混合的文献表} - \begin{refsection} - 中英文混合的文献表测试,主要检查多语言混合时的格式处理: - - \cite{张敏莉2007-500-503,Yi2013--,丁文祥2000--,CALMS1965--,白书农1998-146-163,FOURNEY1971-17-38} - - \printbibliography - \end{refsection} - - \section{测试:中英文对照文献} - \begin{refsection} - \defbibentryset{张敏莉,等,2007}{张敏莉2007-500-503,Zhang2007-500-503} - - 双语文献对照测试,主要检查:条目集方法和关联条目方法是否能实现对照, - 条目集方法是否使用默认样式,关联条目方法是否使用语言判断后选择的样式。 - - - set动态方法\cite{张敏莉,等,2007};\par - related动态方法\cite{易仕和2013--}(biblatex 3.7及以上版本可以使用多个stylesourcemap,进而可以动态的定义related)。 - - \printbibliography - \end{refsection} - - - - - \section{测试:专著/专著中的析出文献/标准} -\begin{refsection} - -\begin{enumerate} - \item 中文文献存在信息缺省的情况测试 -\cite{booknodate,booknolocation,booknopages,booknopublisher,booknopublishernoyear,booknopublisherpage, 余敏2001-179-193,余敏2001-179-193a,余敏2001-179-193b,余敏2001-179-193c,booknoauthor} - \item 英文文献信息缺省情况以及英文个人作者判断测试 -\cite{Parsons2000a--,Parsons2000b--,Parsons2000--,Parsons2000nodate--, -Parsons2000noloc--,Parsons2000nopub--,Parsons2000nopubnoyear--, -Parsons2000nopubpages--,Parsons2000noauthor--} - \item 年份信息有额外说明的文献比较测试\cite{汪昂1912--,汪昂1881--,王夫之1845--} - - \item 专著带前后缀的作者名\cite{Peebles2001-100-100} - - \item 专著更多文献测试 -\cite{GPS1988--}\cite{顾炎武1982--}\cite{PIGGOT1990--}\cite{PEEBLES2001--} -\cite{Poisel2013--}\cite{张伯伟2002--}\cite{2009-155-155} -\cite{GPS1988--,CRANE1972--,CRAWFPRD1995--,Gradshteyn2000--,IFLAI1977--,Kinchy2012-50-50,Lin2004--,Miroslav2004--,Mittelbach2004--,OBRIEN1994--} -\cite{PEEBLES2001--,Peebles2001-100-100,PIGGOT1990--,Poisel2013--,Praetzellis2011-13-13,Proakis2007--,Reed2005--,ROOD2001--,Ross2010--,Simon2004--,Simon2001--,Stueber2001--,Yi2013--,YUFIN2000--, 埃伯哈德$ullet$蔡德勒等2012--,蔡敏2006--,陈希孺2009--,陈志杰2006--,樊昌信2005--,顾炎武1982--,广西壮族自治区林业厅1993--,郭文彬2006--,候文顺2010-119-119,胡承正2010-112-112,胡广书2012--,胡伟2011--,蒋有绪1998--,库恩2012--,李云霞2009--,廖平2012--,刘海洋2013--,罗斯基2009--,美国妇产科医师学会2010-38-39,鸟哥--,孙玉文2000--,唐绪军1999-117-121,同济大学数学系2014--,王雪松2010--,辛希孟1994--,阎毅2013--,杨林2015--} -\cite{张伯伟2002--,赵凯华1995--,赵学功2001--,赵耀东1998--,中国企业投资协会2013--,中国社会科学院语言研究所词典编辑室1996--,庄钊文2007--,1962-50-50,2009-155-155,booknoauthor,Parsons2000noauthor--} -\end{enumerate} -\printbibliography[heading=bibliography,title=【专著】] -\end{refsection} - - -\begin{refsection} -\begin{enumerate} - \item 专著的析出文献\cite{马克思2013-302-302}\cite{王夫之2011-1109-1109} - \cite{BUSECK1980-117-211,MARTIN1996-85-96,WEINSTEIN1974-745-772,白书农1998-146-163,陈晋镳1980-56-114,程根伟1999-32-36,楼梦麟2011-11-12,马克思1982-505-505,马克思2013-302-302,钟文发1996-468-471,1977-49-49,1988-590-590,王夫之2011-1109-1109} -\end{enumerate} -\printbibliography[heading=bibliography,title=【专著中的析出文献】] -\end{refsection} - - -\begin{refsection} - -\begin{enumerate} - \item 标准引用\cite{国家标准局信息分类编码研究所1988-59-92,国家环境保护局科技标准司1996-2-3, 全国广播电视标准化技术委员会2007-1-1,全国文献工作标准化委员会第七分委员会1986--,全国信息文献标准化技术委员会2010-3-3, 中华人民共和国国家质量监督检验检疫总局2015,standardinfoiso158} -\end{enumerate} -\printbibliography[heading=bibliography,title=【标准】] -\end{refsection} - - -\section{测试:汇编文集} -\begin{refsection} -汇编文集类似于book和inbook\cite{韩吉人1985-90-99}\cite{中国职工教育研究会1985--} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} - -\end{refsection} - -\section{测试:连续出版物及其析出文献} -\begin{refsection} - -\begin{enumerate} - \item 期刊完整引用\cite{中国地质学会1936--,中国图书馆学会1957--,AAAS1883--,中华医学会湖北分会1984--} -\end{enumerate} - -\printbibliography[heading=bibliography,title=【连续出版物】] -\end{refsection} - -\begin{refsection} - -\begin{enumerate} - \item 期刊文章引用和引用标签测试 - \cite{Chiani1998-2998-3008,Chiani2004-1312-1318,Chiani2004-1312-1318a, -Chiani2004-1312-1318b,Chiani2003-840-845,Chiani2009-231-254} - - \item doi和卷期样式\cite{储大同2010-721-724} - - \item 合期期刊测试\cite{储大同2010-721-724m} - - \item 报纸引用测试\cite{丁文祥2000--,傅刚2000--,刘裕国2013-01-12--,张田勤2000--} - - \item 更多测试 - \cite{Andersen1995-42-49,Andrisano1998-1383-1401,CAPLAN1993-61-66,Chiani1998-2998-3008,Chiani2004-1312-1318,Chiani2009-231-254,CHRISTINE1998-331-332,Coulson2004-2277-2287,Coulson2006-2484-2492,Dardari2004-1557-1567,Dardari1999-1709-1721,DESMARAIS1992-605-609,Franz2013-1053-1062,Giorgetti2005-384-389,Giorgetti2005-2139-2149,Giorgetti2005-1037-1042,Haemaelaeinen2002-1712-1721,HEWITT1984-205-218,Holtzman1992-243-247,Hu2006-1720-1724,KANAMORI1998-2063-2064,KENNEDY1975-311-386,KENNEDY1975-339-360,McEliece1984-44-53,Milstein1982-436-446,Moeneclaey2001-497-505,Molisch2006-3151-3166,Nasri2007-4090-4100,articlemorenames,Park2010-696-715,Pinto2009-1268-1282,Quek2007-2126-2139,Saito2006-169-176,Shi2007-1118-1128,Snow2007-1736-1746,STIEG1981-549-560,Walls2013-399-418,Zhang2007-500-503,Zhao2002-1684-1691, 陈高峰2011-230-232,陈建军2010-93-93,陈金成2001-1861-1864,储大同2010-721-724,储大同2010-721-724m,高光明1998-60-65, 高翔2015-26-31,江向东1999-4-4,李炳穆2000-5-8,李晓东1999-101-106,梁振兴1999-24-32,刘彻东1998-38-39,刘晨2007-400-404, 刘武1999-2481-2488,卢秋红2009-247-251,鲁明羽1998-290-295,莫少强1999-1-6,谭跃进2011-441-445,陶仁骥1984-527-527,王雪峥2013-249-254, 伍江华2010-70-74,亚洲地质图编目组1978-194-208,杨洪升2013-56-75,杨友烈1999-60-65, 于潇2012-1518-1523,詹广平2013-8-10,张敏莉2007-500-503,张庆杰2009-30-33,张晓琴2011--,周学武2013-49-52,郜宪林2001-114-116} -\end{enumerate} - -\printbibliography[heading=bibliography,title=【连续出版物中的析出文献】] -\end{refsection} - -\section{测试:电子资源} -\begin{refsection} -\begin{enumerate} - \item 电子资源\cite{Commonwealth--,HOPKINSON--,OMG2003--,OCLC--,李强2012-05-03--,萧钰2001--,Alliance--,Dublin2012-06-14--,JabRef中文手册--,1989--,JabRefManual--} - - \item 仅有网址的文献 -\cite{1962-50-50,2009-155-155} -\cite{olnoauthorcn} -\cite{olnoauthoren} -\cite{Allianceurlonly} - -\item 注意:对于作者年制,这里有4篇文献都是noauthor,有两篇有年份可以轻易分开,还有两篇没有年份存在歧义,所以在标注中用了[n.d.]加a和b分开,但在参考文献表中,各个版本的biblatex表现是不同的,其中3.4版因为进行newbibmacro*\{date+extrayear\}的定义时候,首先判断iffieldundef\{\textbackslash thefield\{datelabelsource\}year\},当不存在datelabelsource的值+year的域时,就不再添加了。如果需要加extrayear也可以修改出来,但其实并无必要。这与标注中用的newbibmacro*\{cite:labelyear+extrayear\}(在authoryear.cbx文件中)的定义是不一样的。 - -\end{enumerate} - -{ -\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - -\section{测试:会议论文集及其析出文献} -\begin{refsection} -会议论文集\cite{陈志勇2011--,雷光春2012--,ROSENTHALL1963--,GANZHA2000--,Babu2014--,中国力学学会1999--, 中国社会科学院台湾史研究中心2012--} - -会议论文引用\cite{韩吉人1985-90-99,FOURNEY1971-17-38,FOURNEY1971-17-38a,Nemec1997-209-214, 贾东琴2011-45-52, 裴丽生1981-2-10,汪学军2002-22-25,张忠智1997-33-34} - \cite{Choi2002-1075-1080,Dardari2002-201-206,Firoozbakhsh2003-473-477,Foerster2002-1931-1935, - Fontana2002-309-313,Giorgetti2005-794-798,Giorgetti2006--,Li2004-21-24,Nasri2008-3616-3621,Piazzo2001--} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - -\section{测试:报告} -\begin{refsection} -\begin{enumerate} - \item 技术报告引用 - \cite{Calkin2011-8-9,Eggrers--,Humphrey1971--,DTFHA1990--,WHO1970--,汤万金2013-09-30--,中华人民共和国国务院新闻办公室2013-04-16--} - \item 手册引用 - \cite{Lehman2013--,Lehman2015,Mittelbach2015--,Oetiker2011--,Robertson2011--,Sommerfeldt2011--,Umeki2010--, 胡振震2016,吴凌云2007--} - \item 档案引用\cite{中国第一历史档案馆2001--} - \item 未出版物引用\cite{包太雷2013--} -\end{enumerate} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - - -\section{测试:学位论文} -\begin{refsection} -\begin{enumerate} - \item 学位论文引用\cite{CALMS1965--,马欢2011-27-27,吴云芳2003--,张若凌2004--,张志祥1998--} -\end{enumerate} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - - -\section{测试:专利} -\begin{refsection} -\begin{enumerate} - \item 专利引用\cite{KOSEKI2002--,TACHIBANA2002--,河北绿洲生态环境科技有限公司2001--,姜锡洲1989--,刘加林1993--,西安电子科技大学2002--,张凯军2012-04-05--} - - \item 注意:专利文献\{刘加林1993--\}的location定义了中国,但从GB/T 7714-2015中给出的示例看其实并不需要该域,但这里并没有去掉。因为GB/T 7714-2015中给出的著录格式包括了出版项但没有示例,尽管这里的location是专利地域,但也可以作为出版项来考虑。未来国标完善后再做处理。 -\end{enumerate} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - -\section{测试:其它类型} -\begin{refsection} -\begin{enumerate} - \item 其它类型文献引用\cite{gom,gom1,gom2} -\end{enumerate} - -{ -%\hyphenation{kurose-gawa} -%\hyphenpenalty=1000 -%\tolerance=500 -\printbibliography%[heading=subbibintoc,title=【参考文献】] -} -\end{refsection} - - - \section{测试: 中英文判断信息中存在编组时的情况} -\begin{refsection} -当责任者等需要判断中英文的信息中存在编组时的处理 -\cite{IFLAI1977b--,IFLAI1977--} -\cite{r27-BenHadjAlaya-FekiA.2008-1-5,中国企业投资协会2014--,中国企业投资协会2015--} - -\printbibliography[heading=subbibliography,title=【中英文判断信息中存在编组的测试】] -\end{refsection} - - - \section{测试: 参考文献信息中存在\&等特殊字符的情况} -\begin{refsection} -文献中\cite{ref-replace-char}的booktitle域中含有\%,\&,\#符号,样式文件自动处理使其符合tex代码规则。 -\printbibliography[heading=subbibliography,title=【处理参考文献信息中\&等特殊字符】] -\end{refsection} - -\section{测试: 作者年制article中卷信息缺省时的标点情况} -\begin{refsection} -文献\cite{刘彻东1998-38-39}\cite{亚洲地质图编目组1978-194-208} -\cite{高光明1998-60-65} - -\printbibliography[heading=subbibliography,title=【author-year style: article without volume】] -\end{refsection} - -\section{测试: 标题中存在\textbackslash LaTeX\{\}等命令时的情况} - -\begin{refsection} -文献\cite{Peebles2001-100-100}\cite{赵凯华1995--}\cite{蒋有绪1998--} - -\printbibliography[heading=subbibliography,title=【title with \textbackslash LaTeX\{\}】] -\end{refsection} - +\input{fmttest-a.tex} +\input{fmttest-b.tex} +\input{fmttest-c.tex} +\input{fmttest-d.tex} +\input{fmttest-e.tex} +\input{fmttest-f.tex} +\input{fmttest-g.tex} +\input{fmttest-h.tex} \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/updatehistory.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/updatehistory.tex index d890c4c3066..8366234bf52 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/updatehistory.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/example/updatehistory.tex @@ -1,6 +1,38 @@ %更新历史仅给出更新针对的问题,相应的处理代码和解释不在此给出,详见提示对应的说明文档内容 +%============================ +\updateinfo[2019-01-19]{date of update: 2019-01-19 to version v1.0p}\label{up:190119} +\begin{enumerate} + +\item 完善了样式和文档的细节,使更精确符合GBT7714-2015。 + +improve the style files and document to match the Standard GB/T 7714-2015. + +\item 增加GBT7714-2015、GBT7714-2015eg两个文档,用于国标示例和测试示例对比,以后每次更新后可以将上述两个文档与stdGBT7714-2015、stdGBT7714-2015eg进行比较,确保更新不引入BUG。 + +add two files GBT7714-2015、GBT7714-2015eg to compare the examples from the GB and the testfiles, these files can be used to compare with the stdGBT7714-2015、stdGBT7714-2015eg to avoid BUG after update. + + +\end{enumerate} + + +%============================ +\updateinfo[2018-12-22]{date of update: 2018-12-22 to version v1.0o}\label{up:181222} +\begin{enumerate} + +\item 对文档的格式做了完善。 + +improve the format of the document. + +\item 增加了gblocal、gbcitelocal、gbbiblocal选项。 + +add options gblocal, gbcitelocal, gbbiblocal. + + +\end{enumerate} + + %============================ \updateinfo[2018-11-04]{date of update: 2018-11-04 to version v1.0n}\label{up:181104} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex new file mode 100644 index 00000000000..780b6ec41f4 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex @@ -0,0 +1,13 @@ +\documentclass{article} +\usepackage{pdfpages}%直接插入pdf文件页 +\graphicspath{{egfigure/}{example/}} + +\begin{document} + +\includepdf[pages=-]{egfigure/eggbcitation.pdf} + +\includepdf[pages=-]{egfigure/eggbcitationay.pdf} + +\includepdf[pages=-]{egfigure/eggbbiblio.pdf} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015eg.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015eg.tex new file mode 100644 index 00000000000..4acfe097263 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015eg.tex @@ -0,0 +1,122 @@ +\documentclass{article} +\usepackage[colorlinks=true]{hyperref} +\usepackage{pdfpages}%直接插入pdf文件页 +\graphicspath{{egfigure/}{example/}} + +\begin{document} + +\phantomsection +\addcontentsline{toc}{section}{cls-beamer} +\includepdf[pages=-]{example/cls-beamer.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{cls-beameray} +\includepdf[pages=-]{example/cls-beameray.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{codeopt-gbcodegbk} +\includepdf[pages=-]{example/codeopt-gbcodegbk.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{eg-opt-gbstyle} +\includepdf[pages=-]{example/eg-opt-gbstyle.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-autolang-multilan} +\includepdf[pages=-]{example/opt-autolang-multilan.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-eg-multilan} +\includepdf[pages=-]{example/opt-eg-multilan.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-eg-authoryear} +\includepdf[pages=-]{example/opt-eg-authoryear.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbalign-center} +\includepdf[pages=-]{example/opt-gbalign-center.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbalign-gb} +\includepdf[pages=-]{example/opt-gbalign-gb.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbalign-left} +\includepdf[pages=-]{example/opt-gbalign-left.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbbiblabel} +\includepdf[pages=-]{example/opt-gbbiblabel.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbctexset} +\includepdf[pages=-]{example/opt-gbctexset.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbfieldstd} +\includepdf[pages=-]{example/opt-gbfieldstd.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gblocal} +\includepdf[pages=-]{example/opt-gblocal.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbnamefmt} +\includepdf[pages=-]{example/opt-gbnamefmt.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbnamefmt-default} +\includepdf[pages=-]{example/opt-gbnamefmt-default.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbnoauthor-false} +\includepdf[pages=-]{example/opt-gbnoauthor-false.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbnoauthor-true} +\includepdf[pages=-]{example/opt-gbnoauthor-true.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbpub-true} +\includepdf[pages=-]{example/opt-gbpub-true.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbpunctin} +\includepdf[pages=-]{example/opt-gbpunctin.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbtitlelink} +\includepdf[pages=-]{example/opt-gbtitlelink.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{opt-gbtype} +\includepdf[pages=-]{example/opt-gbtype.pdf} + + +\phantomsection +\addcontentsline{toc}{section}{testallformat} +\includepdf[pages=-]{example/testallformat.pdf} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdGBT7714-2015.pdf b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdGBT7714-2015.pdf Binary files differnew file mode 100644 index 00000000000..d30e62809bf --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdGBT7714-2015.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdgbT7714-2015eg.pdf b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdgbT7714-2015eg.pdf Binary files differnew file mode 100644 index 00000000000..aca542d6819 --- /dev/null +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/stdgbT7714-2015eg.pdf diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeall.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeall.bat index a9f9d0d2ddb..bba0248a1cb 100755 --- a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeall.bat +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeall.bat @@ -1,40 +1,53 @@ -:: Copyright (c) 2012-2016 hzz
-
-@echo off
-
-if exist *.userbak (
- del *.userbak /Q
-)
-FOR %%c IN (*.pdf) DO (
- copy /Y "%%c" "%%c.userbak"
-)
-if exist *.pdf (
- del *.pdf /Q
-)
-
-::pause
-
-cd example
-
-call makefileeg
-
-call makefileegstyle.bat
-
-cd ..
-
-echo biblatex-gb7714-2015.tex >> example/makerecord.dat
-
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-biber biblatex-gb7714-2015
-
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-::to do it again for backref
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-::call makeclear
-
-if exist *.userbak (
- del *.userbak /Q
+:: Copyright (c) 2012-2016 hzz + +@echo off + +title %date% %time% makefileall + +if exist *.userbak ( + del *.userbak /Q +) +FOR %%c IN (gb*.pdf) DO ( + copy /Y "%%c" "%%c.userbak" +) +if exist gb*.pdf ( + del gb*.pdf /Q +) + +::pause + +cd example + +call makefileeg + +call makefileegstyle.bat + +cd .. + +cd egfigure + +call makefileeg.bat + +cd .. + + +echo biblatex-gb7714-2015.tex >> example/makerecord.dat + +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + +biber biblatex-gb7714-2015 + +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + +::to do it again for backref +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + +xelatex.exe --synctex=-1 gbT7714-2015.tex + +xelatex.exe --synctex=-1 gbT7714-2015eg.tex + +::call makeclear + +if exist *.userbak ( + del *.userbak /Q )
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclear.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclear.bat index c214d378848..0ecac2d0e52 100644 --- a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclear.bat +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclear.bat @@ -1,25 +1,40 @@ -@echo off
-
-
-
-del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy)
-
-del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk
-
-
-cd example
-
-call makeclear
-
-
-del *.bbx /Q
-
-del *.cbx /Q
-
-del *.def /Q
-
-
-del *.pdf /Q
-
-
+@echo off + + + +del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy) + +del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk + + +cd example + +call makeclear + + +del *.bbx /Q + +del *.cbx /Q + +del *.def /Q + + +del *.bib /Q + +cd .. + +cd egfigure + +call makeclear + + +del *.bbx /Q + +del *.cbx /Q + +del *.def /Q + +del *.bib /Q + + cd ..
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclearpdf.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclearpdf.bat new file mode 100755 index 00000000000..8a2dfd40758 --- /dev/null +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makeclearpdf.bat @@ -0,0 +1,17 @@ +@echo off + + +cd example + +del *.pdf /Q + +cd .. + +cd egfigure + +del *.pdf /Q + + +cd .. + +del gbT*.pdf /Q
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefile.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefile.bat index 5c17269bcd6..f8bf5df08f1 100755 --- a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefile.bat +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefile.bat @@ -1,41 +1,33 @@ -:: Copyright (c) 2012-2018 hzz
-
-@echo off
-
-
-:: compile the tex file
-
-call makeclear
-
-cd
-
-
-::pause
-
-echo biblatex-gb7714-2015.tex >> example/makerecord.dat
-
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-biber biblatex-gb7714-2015
-
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-::to do it again for backref
-xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex
-
-cd example
-
-call makeclear
-
-del *.bbx /Q
-del *.cbx /Q
-del *.def /Q
-del *.pdf /Q
-
-cd ..
-
-
-:: clear aux files
-
-::call makeclear
-
+:: Copyright (c) 2012-2018 hzz + +@echo off + +title %date% %time% makefile + +:: compile the tex file + + +del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy) + + + +del /q *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk + +::pause + +echo biblatex-gb7714-2015.tex >> example/makerecord.dat + +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + +biber biblatex-gb7714-2015 + +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + +::to do it again for backref +xelatex.exe --synctex=-1 biblatex-gb7714-2015.tex + + +:: clear aux files + +::call makeclear + diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBT.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBT.bat new file mode 100755 index 00000000000..c5dbbc2105a --- /dev/null +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBT.bat @@ -0,0 +1,17 @@ +:: Copyright (c) 2012-2016 hzz + +@echo off + +title %date% %time% makefileGBT + +cd egfigure + +call makefileGBT.bat + +cd .. + + +xelatex.exe GBT7714-2015.tex + +::call makeclear + diff --git a/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBTeg.bat b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBTeg.bat new file mode 100755 index 00000000000..0be44a95294 --- /dev/null +++ b/Master/texmf-dist/source/latex/biblatex-gb7714-2015/makefileGBTeg.bat @@ -0,0 +1,20 @@ +:: Copyright (c) 2012-2016 hzz + +@echo off + +title %date% %time% makefileGBTeg + + +cd example + +call makefileeg.bat + +call makefileegstyle.bat + +cd .. + + +xelatex.exe GBT7714-2015eg.tex + +::call makeclear + diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def index c78fd53c7c3..249c3a40773 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def @@ -17,3 +17,6 @@ \def\str@noaddress{ز} \def\str@nopublisher{߲} \def\str@edition{} + \def\str@volumecn{} + \def\str@numbercn{} + \def\str@serialcn{} diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx index 2121eafa7e3..dd3603b3d29 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx @@ -11,16 +11,15 @@ % % 版本和时间信息 % -\ProvidesFile{gb7714-2015.bbx}[2018/11/04 v1.0n biblatex bibliography style] -\def\versionofgbtstyle{2018/11/04 v1.0n} +\def\versionofgbtstyle{2019/01/19 v1.0p} \def\versionofbiblatex{\abx@version} +\ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style] \RequireBiber[3]%显式指定用biber后端 %===================================================================== % 加载标准样式 %===================================================================== \RequireBibliographyStyle{numeric-comp} -\RequireBibliographyStyle{standard} \RequirePackage{xstring}%解决texlive2015的biblatex3.0不加载xstring包的问题 @@ -39,7 +38,9 @@ \providetoggle{iftleight}\togglefalse{iftleight}%处理biblatex3.8到3.9的兼容性,时间2017-11-01后到2017-12-01前 \providetoggle{iftlnine}\togglefalse{iftlnine} %处理biblatex10的兼容性,时间2017-12-01后 \providetoggle{iftlatest}\toggletrue{iftlatest} %假设是最新版biblatex - \@ifpackagelater{biblatex}{2016/03/01}{ + + \@ifpackagelater{biblatex}{2014/04/01}{ + \@ifpackagelater{biblatex}{2016/03/01}{ \@ifpackagelater{biblatex}{2016/12/01}{ \@ifpackagelater{biblatex}{2017/11/01}{ \@ifpackagelater{biblatex}{2017/12/01}{ @@ -48,7 +49,9 @@ {\toggletrue{iftleight}\togglefalse{iftlatest}}} {\toggletrue{iftlseven}\togglefalse{iftlatest}}} {\toggletrue{iftlsix}\togglefalse{iftlatest}}} - {\toggletrue{iftlfive}\togglefalse{iftlatest}} + {\toggletrue{iftlfive}\togglefalse{iftlatest}}} + {\PackageError{biblatex}{Outdated 'biblatex' package} + {Please update biblatex, This is a fatal error.}} \newcommand\defversion[2]{\csdef{codeversion#1#2}}%定义不同版本的命令 \newcommand\switchversion[2]{\csuse{codeversion#1#2}}%使用不同版本的命令 @@ -66,7 +69,7 @@ \providetoggle{ifCJKforgbt} \def\testCJKfirst#1{% \iffieldundef{#1}{\togglefalse{ifCJKforgbt}}{% - \iffieldequalstr{#1}{cn}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} + \iffieldequalstr{#1}{chinese}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} % % 2个卷的解析函数,用于连续出版物 @@ -189,6 +192,7 @@ %定义类型和载体标识,从gb内容看载体基本属于介质。 %为与lee zeping的bst的样式统一,使用mark和medium这两域名 %为单个条目的姓名格式控制增加nameformat和namefmtid两个域 + %为缩略信息文献表增加了shortbooktitle域 \DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat} \DeclareDatamodelFields[type=field,datatype=integer]{namefmtid} \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} @@ -199,6 +203,14 @@ % 设置宏包选项 %===================================================================== % + % 增加一个选项,用于控制gb7714的使用范围,即英文文献和中文文献使用不同的样式 + % 20180814,v1.0m,hzz + % 原理方法: + % 只为兼容性考虑不做任何处理 + \DeclareBibliographyOption{gbstyle}[true]{%biblatex低版本 + } + + % % 增加一个控制是否输出文献类型和载体标识的选项 % % 原理方法: @@ -236,6 +248,9 @@ \def\str@noaddress{出版地不详} \def\str@nopublisher{出版者不详} \def\str@edition{版} + \def\str@volumecn{卷} + \def\str@numbercn{册} + \def\str@serialcn{第} \AtEndOfPackage{% \iftoggle{bbx:codegbk}{% @@ -341,6 +356,8 @@ date = year, %日期仅写到年 maxbibnames = 3,%设置名字最大数量 minbibnames = 3, %设置缩减后的名字最小数量 + maxitems = 1,%设置列表最大数量 + minitems = 1, %设置缩减后的列表最小数量 isbn=false, } @@ -364,12 +381,9 @@ %为姓名格式选择增加的计数器 - \newcounter{namefmtcase} - \def\thenamefmtcase{\the\c@namefmtcase} - + \newcounter{gbnamefmtcase} + \def\thegbnamefmtcase{\the\c@gbnamefmtcase} %为数字标签格式选择增加的计数器/命令 - %\newcounter{bibnumlabel} - %\def\thebibnumlabel{\the\c@bibnumlabel} \newcommand{\mkgbnumlabel}[1]{\mkbibbrackets{#1}} \def\gbbiblabelopt@bracket{\renewcommand{\mkgbnumlabel}[1]{\mkbibbrackets{##1}}} \def\gbbiblabelopt@parens{\renewcommand{\mkgbnumlabel}[1]{\mkbibparens{##1}}} @@ -377,12 +391,45 @@ \def\gbbiblabelopt@plain{\renewcommand{\mkgbnumlabel}[1]{##1}} \def\gbbiblabelopt@box{\renewcommand{\mkgbnumlabel}[1]{\framebox{##1}}} \def\gbbiblabelopt@circle{\renewcommand{\mkgbnumlabel}[1]{\textcircled{##1}}} - \newcounter{alignlabel} - \def\thealignlabel{\the\c@alignlabel} - + %为文献表中数字标签对齐方式选择增加的计数器/命令 + \newcounter{gbalignlabel} + \def\thegbalignlabel{\the\c@gbalignlabel} + %为引用标签标注/文献表中本地化字符串中英文选择增加的计数器/命令 + \newcounter{gbcitelocalcase} + \newcounter{gbbiblocalcase} + \def\thegbcitelocalcase{\the\c@gbcitelocalcase} + \def\thegbbiblocalcase{\the\c@gbbiblocalcase} \@ifpackagelater{biblatex}{2016/03/27} { % 针对biblatex>=3.3版本的选项设置 + % + % 增加本地化字符串的中英文切换选项 + % gbcitelocal指标注中的本地化字符串 + % gbbiblocal 指文献表中的本地化字符串 + % gblocal 指设置文献表和标注中的本地化字符串 + % v1.0o,20190103,hzz + % + \DeclareBibliographyOption[string]{gbcitelocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbcitelocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbcitelocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbcitelocalcase}{2}}{}% + } + \ExecuteBibliographyOptions{gbcitelocal} + + \DeclareBibliographyOption[string]{gbbiblocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbbiblocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbbiblocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbbiblocalcase}{2}}{}% + } + \ExecuteBibliographyOptions{gbbiblocal} + + \DeclareBibliographyOption[string]{gblocal}[gb7714-2015]{% + \ExecuteBibliographyOptions{gbbiblocal=#1}% + \ExecuteBibliographyOptions{gbcitelocal=#1}% + } + %\ExecuteBibliographyOptions{gblocal} %默认值已经通过两个相关选项设置 + + % % 增加序号标签格式处理选项 % v1.0l,20180623,hzz % @@ -395,11 +442,11 @@ % 增加姓名大小写格式处理选项 % \DeclareBibliographyOption[string]{gbnamefmt}[uppercase]{% - \ifstrequal{#1}{uppercase}{\setcounter{namefmtcase}{0}}{}% - \ifstrequal{#1}{lowercase}{\setcounter{namefmtcase}{1}}{}% - \ifstrequal{#1}{givenahead}{\setcounter{namefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{namefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{namefmtcase}{4}}{}%family-given + \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% + \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% + \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given } \ExecuteBibliographyOptions{gbnamefmt} @@ -408,9 +455,9 @@ % % right是默认的右对齐,left是左对齐,gb7714-2015是项对齐方式 \DeclareBibliographyOption[string]{gbalign}[right]{% - \ifstrequal{#1}{right}{\setcounter{alignlabel}{0}}{} - \ifstrequal{#1}{left}{\setcounter{alignlabel}{1}}{} - \ifstrequal{#1}{center}{\setcounter{alignlabel}{2}}{} + \ifstrequal{#1}{right}{\setcounter{gbalignlabel}{0}}{} + \ifstrequal{#1}{left}{\setcounter{gbalignlabel}{1}}{} + \ifstrequal{#1}{center}{\setcounter{gbalignlabel}{2}}{} \ifstrequal{#1}{gb7714-2015}{\setaligngbstyle}{} } } @@ -428,11 +475,11 @@ % 增加姓名大小写格式处理选项 % \DeclareBibliographyOption{gbnamefmt}[uppercase]{% - \ifstrequal{#1}{uppercase}{\setcounter{namefmtcase}{0}}{}% - \ifstrequal{#1}{lowercase}{\setcounter{namefmtcase}{1}}{}% - \ifstrequal{#1}{givenahead}{\setcounter{namefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{namefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{namefmtcase}{4}}{}%family-given + \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% + \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% + \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given } \ExecuteBibliographyOptions{gbnamefmt} @@ -443,9 +490,9 @@ % 因为在这种biblatex低版本中,舍弃了list类环境后,会出错。 % 注意:texlive2015中的3.0版中的DeclareBibliographyOption选项没有类型说明 \DeclareBibliographyOption{gbalign}[right]{% - \ifstrequal{#1}{right}{\setcounter{alignlabel}{0}}{} - \ifstrequal{#1}{left}{\setcounter{alignlabel}{1}}{} - \ifstrequal{#1}{center}{\setcounter{alignlabel}{2}}{} + \ifstrequal{#1}{right}{\setcounter{gbalignlabel}{0}}{} + \ifstrequal{#1}{left}{\setcounter{gbalignlabel}{1}}{} + \ifstrequal{#1}{center}{\setcounter{gbalignlabel}{2}}{} \ifstrequal{#1}{gb7714-2015}{}{} } } @@ -505,9 +552,21 @@ % 设置本地化字符串 %===================================================================== % - % 新建当地化字符串,用来记录“等”字符 + % 新建当地化字符串,用来记录“等”字符、“和”字符 % \NewBibliographyString{andotherscn} + \NewBibliographyString{andothersincitecn} + \NewBibliographyString{andothersincite} + \NewBibliographyString{andcn} + \NewBibliographyString{andothersjp} + \NewBibliographyString{andotherskr} + \NewBibliographyString{andjp} + \NewBibliographyString{andkr} + \NewBibliographyString{andincitecn} + \NewBibliographyString{andincite} + \NewBibliographyString{volumecn} + \NewBibliographyString{numbercn} + \NewBibliographyString{serialcn} % % 修改一些当地化字符串 @@ -519,112 +578,197 @@ \DefineBibliographyStrings{english}{ bibliography = {\str@bibliography}, references = {\str@references}, - %bytranslator= {\addcomma\ 译\adddot}, %将trans. by 改成 译 - bytranslator= {\addcomma\ \str@bytranslator},%\addperiod - and = {\addcomma},%将第2和3人名见的and符号改成 逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 - %andothers = {et al.}, %将超过3个人名的省略,et al.改成为 等 - andotherscn = {\str@andotherscn}, %将超过3个人名的省略,et al.改成为 等 + bytranslator= {\addcomma\ \str@bytranslator},%\addperiod,%将trans. by 改成 译 + and = {\addcomma},%将第2和3人名间的and符号改成逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 + andcn = {\addcomma},%and本地化字符串的中文对应词 + andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分 + andincite = {\addcomma}, + %andothers = {et al.},%将超过3个人名的省略,et al.改成为 等 + andotherscn = {\str@andotherscn},%将超过3个人名的省略,et al.改成为 等 + andothersincitecn={\str@andotherscn},%将标注中的分开,便于与文献表中的区分 + andothersincite={et al.}, backrefpage = {\str@backrefpage:}, backrefpages = {\str@backrefpages:}, in={in\intitlepunct}, - } - + volumecn={\str@volumecn}, + numbercn={\str@numbercn}, + serialcn={\str@serialcn}, + andothersjp={他}, + andotherskr={외}, + andjp={和}, + andkr={和}, +} %===================================================================== -% 动态数据修改,修改输入的源文件数据,用于中文判断等 +% 动态数据修改 %===================================================================== % -% 修改输入的参考文献数据,源文件层的操作 -% -% 原理方法:增加文献标识符如[M],[J]等 -% 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 -% 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, -% 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 -% 注意\DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 +% 各层次的数据映射和动态修改 +% +% 原理方法: +% 1. 进行语言包括中英文判断,并设置和记录,比如记录到userf,usere中 +% 2. 增加文献标识符如[M],[J]等,对一些容易混淆的域进行设置以增强兼容性 +% 3. \DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 +% 4. \DeclarestyleSourcemap在biblatex v3.7版开始可以支持出现多次 +% 5. 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 +% 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, +% 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 +% +% 不同的文献类型使用相同的驱动输出可以有5种方法: +% 1. 是数据源层的映射,将其它类型转换为某一要使用驱动的类型 +% 2. 是样式层映射,也是将其它类型转换为某一要使用驱动的类型 +% 3. 是驱动层映射,也是将其它类型转换为某一要使用驱动的类型 +% 4. 定义驱动类型别名DeclareBibliographyAlias,将其它类型定义为某一要使用驱动的类型的别名 +% 驱动别名定义本质上是做了驱动层映射 +% 5. 直接定义不同的类型的驱动,但驱动内容相同。 +% +% 关于数据映射和驱动使用的考虑如下: +% 1. 为避免利用biber输出bib文件时的数据变动,尽量不在数据源层映射做类型转换 +% 2. 为减少代码量,尽量少做内容相同的不同类型驱动 +% 3. 因此类型相关的处理主要在样式层映射、驱动层映射、驱动别名 +% 4. 由于biblatex默认做的驱动别名处理可能增加一些信息比如masterthesis转thesis时增加的type +% 可以在样式层映射做某些需要避免这种默认处置的转换 +% 5. 当没有避免默认行为的需求时,全部采用驱动别名的方式处理,等价于驱动层的映射 +% +% 文献类型和驱动考虑如下: +% 1. 连续出版物及析出文献有其特殊性,因此考虑两类periodical和article +% newpaper映射为article,并以note域做区分特殊处理 +% 2. 专著和专著中的析出文献是主要的类型,因此考虑book和inbook +% standard映射为book或inbook,并以note域做区分特殊处理 +% collection和proceedings基本与book类似,因此做book驱动别名处理 +% incollection和inproceedings基本与inbook类似,因此做inbook驱动别名处理 +% 3. 专利类型有其特殊性,考虑patent类型 +% 4. 电子资源类型有其特殊性,考虑online类型 +% 5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更新日期 +% 因此考虑用一种类型来输出,使用report类型 +% 6. 手册/学位论文等类型与book有点类似,但对于出版项处理时,有缺省时,直接省略, +% 同时有version和edition的区别,因此考虑用一种类型来输出,使用manual类型 +% 7. 包括报告,学位论文在内的其它所有的类型,都做一个判断,当没有出版项时, +% 且存在网址信息时,将其转换为online类型输出,否则都做为manual类型输出。 + \DeclareSourcemap{ \maps[datatype=bibtex]{% + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将editor复制给author + \step[fieldsource=editor,fieldtarget=author]%并删除editor + } + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将translator复制给author + \step[fieldsource=translator,fieldtarget=author]%并删除translator + } + \map{ + \step[notfield=address]%当address和location同步 + \step[fieldsource=location,final] + \step[fieldset=address,origfieldval] + } + \map{ + \step[notfield=location]%当address和location同步 + \step[fieldsource=address,final] + \step[fieldset=location,origfieldval] + } \map[overwrite]{%用于处理zotero从cnki导出中文文献姓名中存在逗号的情况 \step[fieldsource={author}, match=\regexp{([\x{2FF0}-\x{9FA5}])\,\s*}, replace=\regexp{$1}] - } - \map{% + }%\perdatasource{examples.bib} + \map{%处理在bib文件用mark标记文献类型标识符的情况 \step[fieldsource=mark,final] \step[fieldset=usera, origfieldval] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为lowercase的情况 \step[fieldsource=nameformat,match=lowercase,final] \step[fieldset=namefmtid,fieldvalue={1}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为givenahead的情况 \step[fieldsource=nameformat,match=givenahead,final] \step[fieldset=namefmtid,fieldvalue={2}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为familyahead的情况 \step[fieldsource=nameformat,match=familyahead,final] \step[fieldset=namefmtid,fieldvalue={3}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为pinyin的情况 \step[fieldsource=nameformat,match=pinyin,final] \step[fieldset=namefmtid,fieldvalue={4}] } - \map{% - %\perdatasource{examples.bib} + \map{%根据article确定文献类型标识符 \pertype{article} \step[fieldset=usera, fieldvalue={J}] } - \map{ + \map{%根据periodical确定文献类型标识符 \pertype{periodical} \step[fieldset=usera, fieldvalue={J}] - \step[fieldsource=author] %有时会把author和editor混淆,处理后避免该问题 + \step[fieldsource=author] %有时会把author和editor混淆,处理后使用editor \step[fieldset=editor, origfieldval] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } - \map{ - \pertype{newspaper}%增加一个新闻报纸的类型newspaper - \step[fieldset=usera, fieldvalue={N}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为article后判断 - \step[fieldset=note, fieldvalue=news] + \map{%根据增加一个新闻报纸的类型newspaper确定文献类型标识符 + \pertype{newspaper} + \step[fieldset=usera, fieldvalue={N}] + \step[fieldset=note, fieldvalue=news]%因为没有专门的驱动,记录note方便映射为article后判断 } - \map{ - \pertype{database}%对应增加的一个数据库类型database - \step[fieldset=usera, fieldvalue={DB}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据库类型database确定文献类型标识符 + \pertype{database} + \step[fieldset=usera, fieldvalue={DB}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{dataset}%对应增加的一个数据集类型dataset - \step[fieldset=usera, fieldvalue={DS}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据集类型dataset确定文献类型标识符 + \pertype{dataset} + \step[fieldset=usera, fieldvalue={DS}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{software}%对应增加的一个软件类型software - \step[fieldset=usera, fieldvalue={CP}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个软件类型software确定文献类型标识符 + \pertype{software} + \step[fieldset=usera, fieldvalue={CP}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{map}%对应增加的一个舆图类型map - \step[fieldset=usera, fieldvalue={CM}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个舆图类型map确定文献类型标识符 + \pertype{map} + \step[fieldset=usera, fieldvalue={CM}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{archive}%对应增加的一个档案类型archive - \step[fieldset=usera, fieldvalue={A}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个档案类型archive确定文献类型标识符 + \pertype{archive} + \step[fieldset=usera, fieldvalue={A}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{misc}%当misc类型带有网址时,将其转换为online类型 + \map{%因为misc类型本身就是没有类型,而不像其它文献有明确的类型,所以 + %当misc类型带有网址时,直接将其转换为online类型 + \pertype{misc} \step[fieldsource=url,final] \step[typesource=misc,typetarget=online] } - \map{ - \pertype{misc}%对应增加的一个备选类型misc - \step[fieldset=usera, fieldvalue={Z}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个备选类型misc确定文献类型标识符 + \pertype{misc} + \step[fieldset=usera, fieldvalue={Z}]% } \map{ \pertype{book} \pertype{inbook} \step[fieldset=usera, fieldvalue={M}] - \step[fieldsource=version] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=version] %有时会把version和edition混淆,处理后直接用edition \step[fieldset=edition, origfieldval] } \map{ - \pertype{standard}%兼容老的standard类型 - \step[fieldset=usera, fieldvalue={S}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为book和inbook后判断 - \step[fieldset=note, fieldvalue=standard] + \pertype{inbook} + \step[fieldsource=editor]%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{%兼容老的standard类型,确定文献类型标识符 + \pertype{standard} + \step[fieldset=usera, fieldvalue={S}] + \step[fieldset=note, fieldvalue=standard]%因为没有专门的驱动,记录note方便映射为book和inbook后判断 } \map{ \pertype{patent} @@ -634,67 +778,81 @@ \pertype{inproceedings} \pertype{conference}%兼容老的conference类型 \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] % + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor \step[fieldset=bookauthor, origfieldval] } \map{ \pertype{proceedings} \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,这里处理后就没有这个问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] + } + \map{ + \pertype{incollection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=publisher, origfieldval] + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{ + \pertype{collection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] %有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{report} \pertype{techreport}%兼容老的techreport类型 \step[fieldset=usera, fieldvalue={R}] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 - \step[fieldset=institution, origfieldval] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] } \map{ \pertype{thesis} \pertype{mastersthesis}%兼容老的mastersthesis和phdthesis类型 \pertype{phdthesis} \step[fieldset=usera, fieldvalue={D}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } \map{ \pertype{online} \pertype{electronic}%兼容老的electronic类型 \pertype{www}%兼容老的www类型 \step[fieldset=usera, fieldvalue={EB}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval]%因为online的出版项处理类似手册 + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 + \step[fieldset=institution, origfieldval] } \map{ \pertype{manual} \step[fieldset=usera, fieldvalue={A}] - \step[fieldsource=edition] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=edition]%有时会把version和edition混淆,处理后使用version \step[fieldset=version, origfieldval] - \step[fieldsource=organization]%因为用的report的驱动,所以需要institution域,把organization转成它以增强兼容性 + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 \step[fieldset=institution, origfieldval] - } - \map{ - \pertype{incollection} - \step[fieldset=usera, fieldvalue={G}] - } - \map{ - \pertype{collection} - \step[fieldset=usera, fieldvalue={G}] - \step[fieldsource=editor] %%有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{unpublished} \step[fieldset=usera, fieldvalue={Z}] } - \map{ + \map{%作者的中文判断 \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=userf, fieldvalue={cn}] + \step[fieldset=userf, fieldvalue={chinese}] } - \map{ + \map{%译者的中文判断 \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=usere, fieldvalue={cn}] + \step[fieldset=usere, fieldvalue={chinese}] + } + \map{%编者的中文判断 + \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] + \step[fieldset=userc, fieldvalue={chinese}] } \map{%处理一些用year表示date的情况 %这样处理将会设置date域,并使得labeldatesource变为空,因为date的前缀为空(如果是urldate,那么labeldatesource就是url)。 @@ -702,20 +860,15 @@ \step[fieldsource=year] \step[fieldset=date, origfieldval] } - \map{%将title信息保存到userd中避免因为标签生成原因导致title域被清除 - \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%} - \step[fieldset=userd, fieldvalue={cn}] + \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题 + \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]% + \step[fieldset=userd, fieldvalue={chinese}] } - \map{%将entrykey放入keywords中用于后期的使用 + \map{%将entrykey放入keywords中用于后期使用 \step[fieldsource=entrykey] \step[fieldset=keywords, origfieldval] } - \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) - \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 - \step[fieldset=keywords, fieldvalue={,}, append] - \step[fieldset=keywords, origfieldval, append] - } - \map{% + \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言 \step[fieldsource=language,match=english,final] \step[fieldset=langid,fieldvalue={english}] } @@ -739,7 +892,8 @@ \step[fieldsource=language,match=korean,final] \step[fieldset=langid,fieldvalue={english}] } - \map{%把语言信息设置language域内,而不再用userb域(20180525) + \map{%当没有language域信息给出时,根据title域来自动判断语言并设置本地化字符串语言 + %把语言信息设置language域内,而不再用userb域(20180525) %接着根据信息域字符的unicode码判断 \step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF \step[fieldset=language,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪 @@ -776,6 +930,9 @@ \step[fieldset=language,fieldvalue={english}] \step[fieldset=langid,fieldvalue={english}] } + \map{%将非中文的语言放入userd中,以便进行多语言处理 + \step[fieldsource=language,fieldtarget=userd,final] + } } } @@ -787,29 +944,87 @@ \defversion{3.0}{map}{ \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ - % \map{%尝试未定义数据模型的newspaper类型映射为article,newspaper完全是针对gb7714的新类型,在biblatex中完全没有定义 - % %但从实践看,并没有什么影响,映射过来就可以了。 - % \step[typesource=newspaper, typetarget=article, final] - % } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + \map{%尝试未定义数据模型的standard类型映射为其他类型book或inbook, + %standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + %因为可能要映射两种类型,所以不能在驱动层处理,因为要做判断 \step[fieldsource=booktitle,final]%当存在booktitle域是映射为inbook \step[typesource=standard, typetarget=inbook, final] } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 - \step[typesource=standard, typetarget=book, final]%当不存在booktitle域是映射为book + \map{%剩下的全部映射为book + \step[typesource=standard, typetarget=book, final] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=mastersthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=mathesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=phdthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=phdthesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=techreport, typetarget=report, final] %\step[fieldset=type, fieldvalue=techreport] } + \map{% + \pertype{report} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=report,typetarget=online] + \step[fieldset=note,fieldvalue={report}] + } + \map{% + \pertype{thesis} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=thesis,typetarget=online] + } + \map{% + \pertype{manual} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=manual,typetarget=online] + } + \map{% + \pertype{unpublished} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=unpublished,typetarget=online] + } + \map{% + \pertype{database} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=databasetypetarget=online] + } + \map{% + \pertype{dataset} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=dataset,typetarget=online] + } + \map{% + \pertype{software} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=software,typetarget=online] + } + \map{% + \pertype{map} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=map,typetarget=online] + } + \map{% + \pertype{archive} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=archive,typetarget=online] + } + \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) + \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 + \step[fieldset=keywords, fieldvalue={,}, append] + \step[fieldset=keywords, origfieldval, append] + } \map[overwrite]{%title,booktitle,journaltitle,journal,publisher,address,location,institution,organization \step[fieldsource={title}, match=\regexp{([^\\])\x26}, replace=\regexp{$1\\\x26}] } @@ -851,29 +1066,87 @@ \defversion{3.4}{map}{ \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ - % \map{%尝试未定义数据模型的newspaper类型映射为article,newspaper完全是针对gb7714的新类型,在biblatex中完全没有定义 - % %但从实践看,并没有什么影响,映射过来就可以了。 - % \step[typesource=newspaper, typetarget=article, final] - % } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + \map{%尝试未定义数据模型的standard类型映射为其他类型book或inbook, + %standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + %因为可能要映射两种类型,所以不能在驱动层处理,因为要做判断 \step[fieldsource=booktitle,final]%当存在booktitle域是映射为inbook \step[typesource=standard, typetarget=inbook, final] } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 - \step[typesource=standard, typetarget=book, final]%当不存在booktitle域是映射为book + \map{%剩下的全部映射为book + \step[typesource=standard, typetarget=book, final] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=mastersthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=mathesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=phdthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=phdthesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=techreport, typetarget=report, final] %\step[fieldset=type, fieldvalue=techreport] } + \map{% + \pertype{report} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=report,typetarget=online] + \step[fieldset=note,fieldvalue={report}] + } + \map{% + \pertype{thesis} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=thesis,typetarget=online] + } + \map{% + \pertype{manual} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=manual,typetarget=online] + } + \map{% + \pertype{unpublished} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=unpublished,typetarget=online] + } + \map{% + \pertype{database} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=databasetypetarget=online] + } + \map{% + \pertype{dataset} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=dataset,typetarget=online] + } + \map{% + \pertype{software} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=software,typetarget=online] + } + \map{% + \pertype{map} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=map,typetarget=online] + } + \map{% + \pertype{archive} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=archive,typetarget=online] + } + \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) + \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 + \step[fieldset=keywords, fieldvalue={,}, append] + \step[fieldset=keywords, origfieldval, append] + } \map[overwrite, foreach={title,booktitle,journaltitle,journal,publisher,address,location,institution,organization}]{ \step[fieldsource=\regexp{$MAPLOOP}, match=\regexp{([^\\])\#}, replace=\regexp{$1\\\#}] } @@ -892,8 +1165,17 @@ {\switchversion{3.0}{map}}%%当采用biblatex<=3.2版本时 {\switchversion{3.4}{map}}%%当采用3.3<=biblatex版本时 -\DeclareBibliographyAlias{newspaper}{article}%定义驱动别名,尝试以替代驱动层映射,实践表明是可行的。 -\DeclareBibliographyAlias{unpublished}{manual} +% +%驱动别名等价于驱动层映射 +% +\DeclareBibliographyAlias{newspaper}{article}% +\DeclareBibliographyAlias{inproceedings}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{conference}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{incollection}{inbook}%文集中析出文献类型驱动 +\DeclareBibliographyAlias{collection}{book}%%文集类型驱动 +\DeclareBibliographyAlias{proceedings}{book}%会议论文集文献类型驱动 +\DeclareBibliographyAlias{thesis}{manual}%学位论文驱动 +\DeclareBibliographyAlias{unpublished}{manual}%其它类型驱动 \DeclareBibliographyAlias{database}{manual} \DeclareBibliographyAlias{dataset}{manual} \DeclareBibliographyAlias{software}{manual} @@ -901,6 +1183,7 @@ \DeclareBibliographyAlias{archive}{manual} + %===================================================================== % 参考文献表环境 %===================================================================== @@ -909,9 +1192,10 @@ % % 增加一个\bibitemindent尺寸用于控制list环境的itemindent % v1.0l,20180615,hzz +\setlength{\bibhang}{\biblabelsep}% \newlength{\bibitemindent} \setlength{\bibitemindent}{0pt} -\setlength{\bibhang}{\biblabelsep}% + \defbibenvironment{bibliography} {\list @@ -942,7 +1226,7 @@ % \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} %源来自numeric.BBX % \DeclareFieldFormat{labelnumberwidth}{\ttfamily\mkbibbrackets{#1}\hfill} \DeclareFieldFormat{labelnumberwidth}{% -\ifcase\value{alignlabel}%右对齐,整个标签为右对齐 +\ifcase\value{gbalignlabel}%右对齐,整个标签为右对齐 \mkgbnumlabel{#1}% \or%左对齐,整个标签为左对齐 \mkgbnumlabel{#1}\hfill% @@ -1006,7 +1290,7 @@ % 设置单元或块等的标点 %===================================================================== \renewrobustcmd*{\bibinithyphendelim}{\addhighpenspace}%用于处理姓名中名部分存在-的情况,比如ZHANG Yu-xin -\renewcommand*{\subtitlepunct}{\addcolon\space} %修改标题和其它标题信息间的标点,来源biblatex.def, +\renewcommand*{\subtitlepunct}{\addcolon\addspace} %修改标题和其它标题信息间的标点,来源biblatex.def, % % 利用set实现的多语言文献不同语言间的分隔符 % 20170411,双语之间用newline替换par,避免采用gb7714-2015的项对齐方式第二语言间分段导致没有缩进 @@ -1015,13 +1299,16 @@ % 这里调整一下两种语言参考文献的间隔,源来自biblatex.def \renewcommand*{\entrysetpunct}{\adddot\newline\nobreak} \renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%%页码引用格式的修改,修改为用冒号 - +%\renewcommand{\relateddelim}{}%\par %===================================================================== % 修改域的格式,重定义域的输出宏 %===================================================================== % % 新增文献类型标识符的格式 +% []前的nobreak,从GB4.1节的例子看不应该加,所以去掉 +% 但因为考虑到cjk字符和[]之间可能添加空格,所以仍然加上 +% 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% \iftoggle{bbx:url}{\iffieldundef{url}%当存在url时,增加一个OL标识符 @@ -1072,6 +1359,11 @@ \setcounter{biburlnumpenalty}{100} %让url可以在数字后断行 \setcounter{biburlucpenalty}{100} %让url可以在大写字母后断行 \setcounter{biburllcpenalty}{100} %让url可以在小写字母后断行 +\DeclareFieldFormat{doi}{% + \rmfamily{DOI}\addcolon\space + \ifhyperref + {\href{https://doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} % % 标题的字母大小写格式修改 % @@ -1134,37 +1426,87 @@ %\setunit{\addspace}% \printnames[bytranslator]{translator}% \clearname{translator}% + %从macro*{bytranslator+othersstrg}%中可以看到当地化字符串格式的引用前的代码处理 + %比如生成cotranslator等用于调用cotranslator所代表的当地化字符串 \usebibmacro{bytranslator+othersstrg}%“译”的位置换到下面来,即放到译者后面。 \setunit*{\addspace}% \newunit}% \usebibmacro{withothers}} % -% 下面一段没有用,但从中可以看到当地化字符串格式的引用前的代码处理 -% 比如生成cotranslator等用于调用cotranslator所代表的当地化字符串 -%\renewbibmacro*{bytranslator+othersstrg}{% - -% % 修改作者数量超过限定值,做省略时的处理格式 +% v1.0,20160701,hzz +% v1.0O,20190103,hzz,修改利用新定义的一个分隔符strandothersdelim % -% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用etcl。 +% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。 \renewbibmacro*{name:andothers}{% \ifboolexpr{ test {\ifnumequal{\value{listcount}}{\value{liststop}}} and test \ifmorenames - }{%这里做一个判断是在处理author还是translator用于两者是不同语言的情况 - \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% - %这句判断如果放到\andothersdelim后面会在等或etc.前增加一个空格,所以放前面 - \ifnumgreater{\value{liststop}}{1} + }{\ifnumgreater{\value{liststop}}{1} {\finalandcomma}% {}%biblatex作者要区别单作者加等的情况,这里为符合gbt7714-2015第7.2节的要求加上了逗号。 -\printdelim{andothersdelim}\iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{\bibstring{andothers}}% -%\andothersdelim\bibstring{andotherscn} +\printdelim{andothersdelim}\printdelim{strandothersdelim}% }{}} % +% 修改省略作者后的本地化字符串,比如et al. +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andotherscn=“等”,否则用andothers=“et al.”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{strandothersdelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{% + \iffieldequalstr{userd}{korean}{\bibstring{andotherskr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andothersjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{french}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{andothers}}{}% +}\space% + \or% + \bibstring{andotherscn}\space% + \or% + \bibstring{andothers}\space% + \fi} + +% +% 修改最后一个作者前的字符串,比如 and +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andcn=“和”,否则用and=“and”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andcn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andkr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{and}}{}% +\iffieldequalstr{userd}{french}{\bibstring{and}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{and}}{}% +}\space% + \or% + \bibstring{andcn}\space% + \or% + \bibstring{and}\space% + \fi} + + +% % 重设title的输出 % % 20180425,v1.0k,为标题增加字体控制命令,Hu Zhenzhen @@ -1202,8 +1544,8 @@ % 20180603,v1.0l,增加使用nameformat域来选择姓名格式 \DeclareNameFormat{namefmtselected}{% \iffieldundef{namefmtid}{}% -{\defcounter{namefmtcase}{\thefield{namefmtid}}}% -\ifcase\value{namefmtcase}% +{\defcounter{gbnamefmtcase}{\thefield{namefmtid}}}% +\ifcase\value{gbnamefmtcase}% \ifgiveninits {\usebibmacro{name:gbuppercase} {\namepartfamily} @@ -1281,7 +1623,7 @@ \ifprefchar{}{\bibnamedelimc}}% \ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot% \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeUppercase{#2}}\isdot}%\MakeCapital - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + \ifdefvoid{#4}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%后缀前加逗号 {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot% @@ -1292,7 +1634,7 @@ {}{\revsdnamepunct}% \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{\MakeUppercase{#2}}\isdot}%\MakeCapital \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + \ifdefvoid{#4}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%%后缀前加逗号 } %GB/T 7714-2015 风格,大小写不变,根据bib文件内输入原样输出 @@ -1309,7 +1651,7 @@ \ifprefchar{}{\bibnamedelimc}}% \ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{{#1}}}\isdot% \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{{#2}}\isdot}%\MakeCapital - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}} + \ifdefvoid{#4}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%后缀前加逗号 {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{{#1}}}\isdot% @@ -1320,7 +1662,7 @@ {}{\revsdnamepunct}% \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{{#2}}\isdot}%\MakeCapital \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot} - \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}% + \ifdefvoid{#4}{}{\addcomma\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}%%后缀前加逗号 } %中文常见风格,汉语拼音全拼模式 @@ -1375,7 +1717,7 @@ %\mkbibnamelast{\MakeUppercase{#1}}\isdot %\ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%这句放到后面 \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{\MakeUppercase{#2}}\isdot}% - \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}} + \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}%后缀前加逗号 {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% %\mkbibnamelast{#1}\isdot %3.9.1 Generic Commands and Hooks,对姓重新处理,如下句: %\mkbibnamelast{\MakeUppercase{#1}} @@ -1386,7 +1728,7 @@ \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{\MakeUppercase{#2}}\isdot}% \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% \addcomma\addspace% - \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}%%后缀前加逗号 }% } @@ -1404,7 +1746,7 @@ \ifpunctmark{'}{}{\bibnamedelimc}}% \ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{{#1}}}\isdot%\MakeUppercase %\mkbibnamelast{\MakeUppercase{#1}} %\MakeSentenceCase \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{{#2}}\isdot}% - \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}} + \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}%后缀前加逗号 {\usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{{#1}}}\isdot %大写,参考4.6.4 Miscellaneous Commands,\MakeUppercase %\MakeSentenceCase @@ -1412,7 +1754,7 @@ \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{{#2}}\isdot}% \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}% \addcomma\addspace% - \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}% + \ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}%%后缀前加逗号 }% } @@ -1446,8 +1788,8 @@ %%biblatex<3.2版的情况,姓名的处理格式带参数 \DeclareNameFormat{namefmtselected}{% \iffieldundef{namefmtid}{}% - {\defcounter{namefmtcase}{\thefield{namefmtid}}}% - \ifcase\value{namefmtcase}% + {\defcounter{gbnamefmtcase}{\thefield{namefmtid}}}% + \ifcase\value{gbnamefmtcase}% \iffirstinits {\usebibmacro{name:gbuppercase}{#1}{#4}{#5}{#7}} {\usebibmacro{name:gbuppercase}{#1}{#3}{#5}{#7}}% @@ -1496,14 +1838,18 @@ \iffieldundef{urlmonth}{}{\bibrangedash\printfield{urlmonth}}% \iffieldundef{urlday}{}{\bibrangedash\printfield{urlday}}\printtext{]}} - \newbibmacro*{newsdate}{%%新增加一个新闻日期 + \newbibmacro*{newsdate}{%%新增加一个公告日期,公开日期或新闻日期 \iffieldundef{year}{}{\printfield{year}% \iffieldundef{month}{}{\bibrangedash\printtext{\thefield{month}}% \iffieldundef{day}{}{\bibrangedash\printfield{day}}}}% } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldequalstr{year}{}{%替换\iffieldundef{year},因为year总是存在,但为空 + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldequalstr{year}{}{%替换\iffieldundef{year},因为year总是存在,但为空 \iffieldundef{endyear}{% \iffieldundef{eventyear}{}{\printtext{\mkbibparens{\printtext{\printfield{eventyear}}% \iffieldundef{eventmonth}{}{\bibrangedash\thefield{eventmonth}}% @@ -1522,7 +1868,7 @@ \iffieldundef{day}{}{\bibrangedash\printfield{day}}}}% }% }% - }% + }}% } % @@ -1545,13 +1891,17 @@ } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldundef{year}{% + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldundef{year}{% \iffieldundef{endyear}{\iffieldundef{eventyear}{}{\printtext{(}\printeventdate\printtext{)}}}% {\printtext{(}\printenddate\printtext{)}}% }{\iffieldequalstr{year}{}{%因为year存在,但为空 }{\printtext{(}\blx@edtfdate{}{}\printtext{)}}% }% - }% + }}% } % @@ -1576,13 +1926,17 @@ } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldundef{year}{% + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldundef{year}{% \iffieldundef{endyear}{\iffieldundef{eventyear}{}{\printtext{(}\printeventdate\printtext{)}}}% {\printtext{(}\printenddate\printtext{)}}% }{\iffieldequalstr{year}{}{%因为year存在,但为空 }{\printtext{(}\blx@gbdate{}{}\printtext{)}}% }% - }% + }}% } % @@ -1728,12 +2082,19 @@ test{\iftoggle{iftlnine}} } % -% 出版社和地址的处理 +% 当location等出版项超过maxitem缩减后不再输出etal +% +\DeclareListFormat{location}{% + \usebibmacro{list:delim}{#1}% + #1\isdot} +\DeclareListAlias{institution}{location} +\DeclareListAlias{publisher}{location} + +% 新增一个样式用于输出连续出版物的地址,单位,时间, +% 用于periodical连续出版物的出版社和地址的处理 % % v1.0k,20180425,为出版信息增加字体控制命令,hzz -% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 -% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 -% 新增一个样式用于输出连续出版物的地址,单位,时间,%类似\newbibmacro*{publisher+location+date} +% %类似\newbibmacro*{publisher+location+date} \newbibmacro*{location+institution+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% @@ -1764,30 +2125,27 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}% \newunit}% } % +% 通用的出版社和地址的处理 % +% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 +% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 +% 注意标准standard类型,因为当没有出版项时直接省略,所以做特殊处理 \renewbibmacro*{publisher+location+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% -\ifboolexpr{% -test {\iflistundef{location}} and test {\iflistundef{publisher}}% -}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}% -{\printtext{[S.l.\space :\space s.n.\adddot]}}% -}{% -\iflistundef{location}{%\adddot -\iffieldequalstr{note}{standard}{}{%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 -\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}% -}}% \bibstring{noaddress} -{\printlist{location}\addcolon\addspace}% -%\addcolon\addspace% -\iflistundef{publisher}{% -\iffieldequalstr{note}{standard}{}{% -\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -{\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -}}% -{\printlist{publisher}}}% + \ifboolexpr{ test {\iflistundef{location}} and test {\iflistundef{publisher}} }% + {\iffieldequalstr{note}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}% + {\iflistundef{location}{%\adddot + \iffieldequalstr{note}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 + {\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}}}% \bibstring{noaddress} + {\printlist{location}\addcolon\addspace}%%\addcolon\addspace% + \iflistundef{publisher}{% + \iffieldequalstr{note}{standard}{}% + {\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% + {\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}}}% + {\printlist{publisher}}}% \setunit*{\addcomma\addspace}%\addcomma\addspace% -\usebibmacro{date}% -%\newunit %去掉这个标点 +\usebibmacro{date}%%\newunit %去掉这个标点 }% {\printlist{location}% \iflistundef{publisher} @@ -1795,12 +2153,52 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\newunit + \usebibmacro{date}%%\newunit }% } % +% 修改了一个institution+location+date用于manual、report、thesis等类型 +% +% 20180425,v1.0k,增加了字体控制命令,hzz +% 20190105,v1.0o,加了一个编组避免\usebibmacro{date}把month和day信息去掉 +\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 +{\printlist{location}%%加了一个编组避免\usebibmacro{date}把month和day信息去掉 + \iflistundef{institution} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + %\newunit + }} + +% +% 对volume卷信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{volume}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{volumecn}}% +{\bibstring{volume}~#1}% +}% volume of a book +\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal + +% +% 对number册信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{number}{#1}% +\DeclareFieldFormat[book,collection,inbook,% +incollection,proceedings,inproceedings]{number}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{numbercn}}% +{#1}% +}% + +% % 对edition版本信息格式做出修改 % \DeclareFieldFormat{edition}{%源来自biblatex.DEF @@ -1942,8 +2340,8 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \renewbibmacro*{editorstrg}{%源来自biblatex.DEF \printtext[editortype]{% \iffieldundef{editortype} - { -% \ifboolexpr{ %这一段去掉 + {% +% \ifboolexpr{ %这一段去掉,未定义编者类型情况下不处理 % test {\ifnumgreater{\value{editor}}{1}} % or % test {\ifandothers{editor}} @@ -1951,7 +2349,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % {\bibstring{editors}} % {\bibstring{editor}} } - {\ifbibxstring{\thefield{editortype}} + {\ifbibxstring{\thefield{editortype}} %定义编者类型情况下处理,以后根据需要修改 {\ifboolexpr{ test {\ifnumgreater{\value{editor}}{1}} or @@ -1959,7 +2357,8 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% } {\bibstring{\thefield{editortype}s}} {\bibstring{\thefield{editortype}}}} - {\thefield{editortype}}}}} + {\thefield{editortype}}}% + }} % % 修改期刊的标题 @@ -1973,11 +2372,11 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \ifboolexpr{test {\iffieldundef{subtitle}}}%这里增加了对子标题的判断,解决不判断多一个点的问题 {}{\setunit{\subtitlepunct} \printfield[titlecase]{subtitle}}% - % - %\iffieldundef{usera}{}{}%在标题后直接给出文献标识字母 - \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}% - }%把编组结束移到这里 - }% + %}%把编组结束移到后面去 + \iftoggle{bbx:gbtype}{% + \iffieldundef{usera}{}{%在标题后直接给出文献标识字母 + \printfield[gbtypeflag]{usera}}}{} + }} } % @@ -2062,21 +2461,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% }% } -% -% 修改了一个institution+location+date用于report等类型 -% -% 20180425,v1.0k,增加了字体控制命令,hzz -\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 - \printlist{location}% - \iflistundef{institution} - {\setunit*{\addcomma\space}} - {\setunit*{\addcolon\space}}% - \printlist{institution}% - \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\usebibmacro{modifydate}% - %\newunit - } + % % 修改in:用于inbook、incollection、inproceedings等类型 @@ -2084,7 +2469,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % % 原理方法:使用bibmacro{in:}改变了以前在driver中直接输出//的方式,同时也简化了标点控制。 \renewbibmacro*{in:}{% - \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\addthinspace}}% + \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\allowbreak}}%\addthinspace {\setunit{\adddot\addspace}\printtext{\bibstring{in}}}}%\newunit\newblock\intitlepunct @@ -2098,12 +2483,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}%这个注释去除标题前空格 +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{maintitle+title}% \iftoggle{bbx:gbstrict}{}{% \newunit @@ -2112,14 +2492,14 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{byauthor}% \newunit\newblock}% \usebibmacro{byeditor+others}% -\newunit\newblock% +\newunit \printfield{edition}% -\newunit% +\newunit\newblock%% +\iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% {\printfield{volume}% \printfield{part}}% {}% -\iftoggle{bbx:gbstrict}{}{% \newunit% \printfield{volumes}% \newunit\newblock% @@ -2132,7 +2512,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{chapter+pages}% \usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 \newunit\newblock% - %\newunit \printfield{pagetotal}% \newunit\newblock% \iftoggle{bbx:isbn} @@ -2151,69 +2530,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {}% \usebibmacro{finentry}} -% -% 文集中析出文献类型驱动 -% - - -% 直接利用inbook做incollection -\DeclareBibliographyDriver{incollection}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% -%\setunit{\labelnamepunct}\newblock -\usebibmacro{title}% -\usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}% -\usebibmacro{bybookauthor}% -\ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - %\newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - - % % 期刊文章,连续出版物中的析出文献的格式 @@ -2222,7 +2538,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2240,6 +2556,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % \usebibmacro{byeditor+others}% % \newunit \usebibmacro{note+pages}% + \iffieldequalstr{note}{news}{}{\usebibmacro{modifydate}}%带括号的修改或更新日期,当是新闻时不输出 \usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置 \newunit\newblock \iftoggle{bbx:isbn} @@ -2303,7 +2620,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 %\usebibmacro{title}% \usebibmacro{patenttitle}%给出专利专用的标题输出 \iftoggle{bbx:gbstrict}{}{% @@ -2347,13 +2664,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% - %\setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2361,16 +2672,17 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit\newblock \usebibmacro{byauthor}% \newunit\newblock - \usebibmacro{byeditor+others}}% + \usebibmacro{byeditor+others}% \newunit\newblock - \printfield{version}% + \printfield{note}}% \newunit - \printfield{note}% + \printfield{version}% \newunit\newblock - \printlist{organization}% + %\printlist{organization}% + \printlist{institution}% \newunit\newblock %\usebibmacro{date}% - \usebibmacro{modifydate}%修改为带括号的时间 + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{url+urldate}%从下面移上来 \newunit\newblock \iftoggle{bbx:eprint} @@ -2390,58 +2702,15 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{finentry}} - -% -% 学位论文修改 -% - \DeclareBibliographyDriver{thesis}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printfield{type}}% - \newunit\newblock - \usebibmacro{institution+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - % % 报告类型驱动 -% 2016-11-11,增加了译者信息 +% 当有网址无出版项时,用online输出 % \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2459,7 +2728,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit \printfield{note}% \newunit\newblock - \usebibmacro{institution+location+date}% + \usebibmacro{publisher+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% \usebibmacro{doi+eprint+url}% @@ -2483,15 +2752,14 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{finentry}} % -% 手册类型驱动 +% 论文、手册类型驱动 % 2016-11-11,增加了译者信息 % -% 直接利用report做manual \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2512,6 +2780,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{institution+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{doi+eprint+url}% \newunit \printfield{pagetotal}% @@ -2540,7 +2809,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \setunit{\printdelim{nametitledelim}}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit @@ -2573,120 +2842,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {}% \usebibmacro{finentry}} -% -% 会议论文文献类型驱动 -% - \DeclareBibliographyDriver{inproceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% -% \newunit -% \printlist{language}% -% \newunit\newblock -% \usebibmacro{byauthor}% -% \newunit\newblock -\usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}% - \usebibmacro{bybookauthor}%用类似inbook的方式处理 - \ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - -% -% 会议论文集文献类型驱动 -% -\DeclareBibliographyDriver{proceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - %\usebibmacro{editor+others}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{maintitle+title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}%从下面移上来 - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - % % 专著中的析出文献的格式修改 @@ -2695,31 +2850,26 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% -%\setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}%%\texttt{//}\addnbthinspace -\usebibmacro{bybookauthor}% -\ifnameundef{bookauthor}{}{\newunit}%替换下一句\newblock -%\newunit\newblock -\usebibmacro{maintitle+booktitle}%}% - \newunit\newblock +%\printtext{\texttt{//}\addthinspace}% + \usebibmacro{bybookauthor}% + \ifnameundef{bookauthor}{}{\newunit}%替换下一句 + %\newunit\newblock + \usebibmacro{maintitle+booktitle}% + \setunit{\addcolon}\printfield{volume}\printfield{number}%增加卷和册信息 + \newunit\newblock% % \usebibmacro{byeditor+others}% % \newunit\newblock \printfield{edition}% \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% \iftoggle{bbx:gbstrict}{}{% - \newunit +% \iffieldundef{maintitle} +% {\printfield{volume}% +% \printfield{part}} +% {}% +% \newunit \printfield{volumes}% \newunit\newblock \usebibmacro{series+number}}% @@ -2727,7 +2877,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% %\printfield{note}% %\newunit\newblock \usebibmacro{publisher+location+date}% -%\newunit\newblock + %\newunit\newblock \usebibmacro{chapter+pages}% %\newunit\newblock \usebibmacro{doi+eprint+url}%移到上面来 @@ -2736,7 +2886,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\printfield{isbn}} {}% \newunit\newblock - %\usebibmacro{doi+eprint+url}% +% \usebibmacro{doi+eprint+url}% % \newunit\newblock \usebibmacro{addendum+pubstate}% \setunit{\bibpagerefpunct}\newblock @@ -2747,64 +2897,3 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{related}} {}% \usebibmacro{finentry}} - - -% -% -% 文集类型驱动 -% -% 直接利用book做collection - \DeclareBibliographyDriver{collection}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% -\usebibmacro{author/editor+others/translator+others} -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 - \ifnameundef{editor}{% - \ifnameundef{translator}{\relax}% - {\setunit{\labelnamepunct}\newblock}}% - {\setunit{\labelnamepunct}\newblock}}% - {\setunit{\labelnamepunct}\newblock}% - \usebibmacro{maintitle+title} - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - %\newunit\newblock %这里标点去掉 - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 - \newunit\newblock - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - %\usebibmacro{doi+eprint+url}% - %\newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx index efa60d6750d..e63eddf2792 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx @@ -7,7 +7,8 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\ProvidesFile{gb7714-2015.cbx}[2018/11/04 v1.0n biblatex citation style] +\def\versionofgbtstyle{2019/01/19 v1.0p} +\ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style] % % 加载标准样式 diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx index 47d9b9883f6..b2d3e61a9fe 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx @@ -10,9 +10,9 @@ % % 版本和时间信息 % -\ProvidesFile{gb7714-2015ay.bbx}[2018/11/04 v1.0n biblatex bibliography style] -\def\versionofgbtstyle{2018/11/04 v1.0n} +\def\versionofgbtstyle{2019/01/19 v1.0p} \def\versionofbiblatex{\abx@version} +\ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style] \RequireBiber[3]%显式指定用biber后端 %===================================================================== @@ -37,7 +37,8 @@ \providetoggle{iftleight}\togglefalse{iftleight}%处理biblatex3.8到3.9的兼容性,时间2017-11-01后到2017-12-01前 \providetoggle{iftlnine}\togglefalse{iftlnine} %处理biblatex10的兼容性,时间2017-12-01后 \providetoggle{iftlatest}\toggletrue{iftlatest} %假设是最新版biblatex - \@ifpackagelater{biblatex}{2016/03/01}{ + \@ifpackagelater{biblatex}{2014/04/01}{ + \@ifpackagelater{biblatex}{2016/03/01}{ \@ifpackagelater{biblatex}{2016/12/01}{ \@ifpackagelater{biblatex}{2017/11/01}{ \@ifpackagelater{biblatex}{2017/12/01}{ @@ -46,7 +47,9 @@ {\toggletrue{iftleight}\togglefalse{iftlatest}}} {\toggletrue{iftlseven}\togglefalse{iftlatest}}} {\toggletrue{iftlsix}\togglefalse{iftlatest}}} - {\toggletrue{iftlfive}\togglefalse{iftlatest}} + {\toggletrue{iftlfive}\togglefalse{iftlatest}}} + {\PackageError{biblatex}{Outdated 'biblatex' package} + {Please update biblatex, This is a fatal error.}} \newcommand\defversion[2]{\csdef{codeversion#1#2}}%定义不同版本的命令 \newcommand\switchversion[2]{\csuse{codeversion#1#2}}%使用不同版本的命令 @@ -64,7 +67,7 @@ \providetoggle{ifCJKforgbt} \def\testCJKfirst#1{% \iffieldundef{#1}{\togglefalse{ifCJKforgbt}}{% - \iffieldequalstr{#1}{cn}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} + \iffieldequalstr{#1}{chinese}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} % % 2个卷的解析函数,用于连续出版物 @@ -186,6 +189,7 @@ %定义类型和载体标识,从gb内容看载体基本属于介质。 %为与lee zeping的bst的样式统一,使用mark和medium这两域名 %为单个条目的姓名格式控制增加nameformat和namefmtid两个域 + %为缩略信息文献表增加了shortbooktitle域 \DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat} \DeclareDatamodelFields[type=field,datatype=integer]{namefmtid} \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} @@ -196,6 +200,14 @@ % 设置宏包选项 %===================================================================== % + % 增加一个选项,用于控制gb7714的使用范围,即英文文献和中文文献使用不同的样式 + % 20180814,v1.0m,hzz + % 原理方法: + % 只为兼容性考虑不做任何处理 + \DeclareBibliographyOption{gbstyle}[true]{%biblatex低版本 + } + + % % 增加一个控制是否输出文献类型和载体标识的选项 % % 原理方法: @@ -233,6 +245,9 @@ \def\str@noaddress{出版地不详} \def\str@nopublisher{出版者不详} \def\str@edition{版} + \def\str@volumecn{卷} + \def\str@numbercn{册} + \def\str@serialcn{第} \AtEndOfPackage{% \iftoggle{bbx:codegbk}{% @@ -288,6 +303,12 @@ } }{}} + % + %增加一个处理佚名或noauthor的控制选项 + \DeclareBibliographyOption{gbnoauthor}[true]{% + \ifstrequal{#1}{false}{}{\dealnoathor}} + %\ExecuteBibliographyOptions{gbnoauthor=true}%对于需要展开较早(展开层级优先)的选项,这一执行无效,只能用宏包加载时给出的选项。 + % % 增加一个恢复域格式为标准样式的控制选项 @@ -320,7 +341,7 @@ \settoggle{bbx:gbpunctin}{#1}} \ExecuteBibliographyOptions{gbpunctin} - % + % 选项设置 % \ExecuteBibliographyOptions{ @@ -328,9 +349,11 @@ date = year, %日期仅写到年 maxbibnames=3, %将文献列表和引用中最大名字数量区分开 minbibnames=3, + maxitems = 1,%设置列表最大数量 + minitems = 1, %设置缩减后的列表最小数量 isbn=false, sorting=gb7714-2015, - sortlocale=zh__pinyin, + sortlocale=zh__pinyin,%zh__big5han,%zh__stroke,%zh__gb2312han,%zh__pinyin, } % @@ -352,15 +375,47 @@ \iffieldundef{#2#3day}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3day}}}} %为姓名格式选择增加的计数器 - \newcounter{namefmtcase} - \def\thenamefmtcase{\the\c@namefmtcase} + \newcounter{gbnamefmtcase} + \def\thegbnamefmtcase{\the\c@gbnamefmtcase} + %为引用标签标注/文献表中本地化字符串中英文选择增加的计数器/命令 + \newcounter{gbcitelocalcase} + \newcounter{gbbiblocalcase} + \def\thegbcitelocalcase{\the\c@gbcitelocalcase} + \def\thegbbiblocalcase{\the\c@gbbiblocalcase} \@ifpackagelater{biblatex}{2016/03/27} - { + { % 针对biblatex>=3.3版本的选项设置 + % 增加本地化字符串的中英文切换选项 + % gbcitelocal指标注中的本地化字符串 + % gbbiblocal 指文献表中的本地化字符串 + % gblocal 指设置文献表和标注中的本地化字符串 + % v1.0o,20190103,hzz + % + \DeclareBibliographyOption[string]{gbcitelocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbcitelocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbcitelocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbcitelocalcase}{2}}{}% + } + \ExecuteBibliographyOptions{gbcitelocal} + + \DeclareBibliographyOption[string]{gbbiblocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbbiblocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbbiblocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbbiblocalcase}{2}}{}% + } + \ExecuteBibliographyOptions{gbbiblocal} + + \DeclareBibliographyOption[string]{gblocal}[gb7714-2015]{% + \ExecuteBibliographyOptions{gbbiblocal=#1}% + \ExecuteBibliographyOptions{gbcitelocal=#1}% + } + %\ExecuteBibliographyOptions{gblocal} %默认值已经通过两个相关选项设置 + + % % 增加序号标签格式处理选项,作者年制不做处理,给出只为兼容选项考虑 - % v1.0l,20180623,hzz + % v1.0l,20180623,hzz % \DeclareBibliographyOption[string]{gbbiblabel}[bracket]{} @@ -368,25 +423,23 @@ % 增加姓名大小写格式处理选项 % \DeclareBibliographyOption[string]{gbnamefmt}[uppercase]{% - \ifstrequal{#1}{uppercase}{\setcounter{namefmtcase}{0}}{}% - \ifstrequal{#1}{lowercase}{\setcounter{namefmtcase}{1}}{}% - \ifstrequal{#1}{givenahead}{\setcounter{namefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{namefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{namefmtcase}{4}}{}%family-given + \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% + \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% + \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given } \ExecuteBibliographyOptions{gbnamefmt} % % 增加标签对齐选项 % - %因为在作者年制中,不需要使用,这里也增加,为了与顺序编码制的兼容性考虑。 \DeclareBibliographyOption[string]{gbalign}[right]{}% - %增加一个处理佚名或noauthor的控制选项 - \DeclareBibliographyOption{gbnoauthor}[true]{% - \ifstrequal{#1}{false}{}{\dealnoathor}} - %\ExecuteBibliographyOptions{gbnoauthor=true}%对于需要展开较早(展开层级优先)的选项,这一执行无效,只能用宏包加载时给出的选项。 + + + } { % @@ -399,11 +452,11 @@ % 增加姓名大小写格式处理选项 % \DeclareBibliographyOption{gbnamefmt}[uppercase]{% - \ifstrequal{#1}{uppercase}{\setcounter{namefmtcase}{0}}{}% - \ifstrequal{#1}{lowercase}{\setcounter{namefmtcase}{1}}{}% - \ifstrequal{#1}{givenahead}{\setcounter{namefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{namefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{namefmtcase}{4}}{}%family-given + \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% + \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% + \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given } \ExecuteBibliographyOptions{gbnamefmt} @@ -413,10 +466,6 @@ %因为在作者年制中,不需要使用,这里也增加,为了与顺序年制的兼容性考虑。 \DeclareBibliographyOption{gbalign}[right]{}% - %增加一个处理佚名或noauthor的控制选项 - \DeclareBibliographyOption{gbnoauthor}[true]{% - \ifstrequal{#1}{false}{}{\dealnoathor}} - %\ExecuteBibliographyOptions{gbnoauthor=true}%对于需要展开较早(展开层级优先)的选项,这一执行无效,只能用宏包加载时给出的选项。 } @@ -474,9 +523,21 @@ %设置本地化字符串 %===================================================================== % - % 新建当地化字符串,用来记录“等”字符 + % 新建当地化字符串,用来记录“等”字符、“和”字符 % \NewBibliographyString{andotherscn} + \NewBibliographyString{andothersincitecn} + \NewBibliographyString{andothersincite} + \NewBibliographyString{andcn} + \NewBibliographyString{andothersjp} + \NewBibliographyString{andotherskr} + \NewBibliographyString{andjp} + \NewBibliographyString{andkr} + \NewBibliographyString{andincitecn} + \NewBibliographyString{andincite} + \NewBibliographyString{volumecn} + \NewBibliographyString{numbercn} + \NewBibliographyString{serialcn} % % 修改一些当地化字符串 @@ -489,108 +550,195 @@ references = {\str@references}, bytranslator= {\addcomma\ \str@bytranslator\adddot}, %将trans. by 改成 译 and = {\addcomma},%将第2和3人名见的and符号改成 逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 + andcn = {\addcomma},%\str@andcn\ and本地化字符串的中文对应词 + andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分 + andincite = {\addcomma}, %andothers = {et al.}, %将超过3个人名的省略,et al.改成为 等 - andotherscn = {\str@andotherscn}, %将超过3个人名的省略,et al.改成为 等 + andotherscn = {\str@andotherscn},%将超过3个人名的省略,et al.改成为 等 + andothersincitecn={\str@andotherscn},%将标注中的分开,便于与文献表中的区分 + andothersincite={et al.}, backrefpage = {\str@backrefpage:}, backrefpages = {\str@backrefpages:}, in={in\intitlepunct}, + volumecn={\str@volumecn}, + numbercn={\str@numbercn}, + serialcn={\str@serialcn}, + andothersjp={他}, + andotherskr={외}, + andjp={和}, + andkr={和}, } %===================================================================== -%动态数据修改,修改输入的源文件数据,用于中文判断等操作 +% 动态数据修改 %===================================================================== % -% 修改输入的参考文献数据,源文件层的操作 -% -% 原理方法:增加文献标识符如[M],[J]等 -% 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 -% 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, -% 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 -% 注意\DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 +% 各层次的数据映射和动态修改 +% +% 原理方法: +% 1. 进行语言包括中英文判断,并设置和记录,比如记录到userf,usere中 +% 2. 增加文献标识符如[M],[J]等,对一些容易混淆的域进行设置以增强兼容性 +% 3. \DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 +% 4. \DeclarestyleSourcemap在biblatex v3.7版开始可以支持出现多次 +% 5. 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 +% 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, +% 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 +% +% 不同的文献类型使用相同的驱动输出可以有5种方法: +% 1. 是数据源层的映射,将其它类型转换为某一要使用驱动的类型 +% 2. 是样式层映射,也是将其它类型转换为某一要使用驱动的类型 +% 3. 是驱动层映射,也是将其它类型转换为某一要使用驱动的类型 +% 4. 定义驱动类型别名DeclareBibliographyAlias,将其它类型定义为某一要使用驱动的类型的别名 +% 驱动别名定义本质上是做了驱动层映射 +% 5. 直接定义不同的类型的驱动,但驱动内容相同。 +% +% 关于数据映射和驱动使用的考虑如下: +% 1. 为避免利用biber输出bib文件时的数据变动,尽量不在数据源层映射做类型转换 +% 2. 为减少代码量,尽量少做内容相同的不同类型驱动 +% 3. 因此类型相关的处理主要在样式层映射、驱动层映射、驱动别名 +% 4. 由于biblatex默认做的驱动别名处理可能增加一些信息比如masterthesis转thesis时增加的type +% 可以在样式层映射做某些需要避免这种默认处置的转换 +% 5. 当没有避免默认行为的需求时,全部采用驱动别名的方式处理,等价于驱动层的映射 +% +% 文献类型和驱动考虑如下: +% 1. 连续出版物及析出文献有其特殊性,因此考虑两类periodical和article +% newpaper映射为article,并以note域做区分特殊处理 +% 2. 专著和专著中的析出文献是主要的类型,因此考虑book和inbook +% standard映射为book或inbook,并以note域做区分特殊处理 +% collection和proceedings基本与book类似,因此做book驱动别名处理 +% incollection和inproceedings基本与inbook类似,因此做inbook驱动别名处理 +% 3. 专利类型有其特殊性,考虑patent类型 +% 4. 电子资源类型有其特殊性,考虑online类型 +% 5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更细日期 +% 因此考虑用一种类型来输出,使用report类型 +% 6. 手册/学位论文等类型与book有点类似,但对于出版项处理时,有缺省时,直接省略, +% 同时有version和edition的区别,因此考虑用一种类型来输出,使用manual类型 +% 7. 包括报告,学位论文在内的其它所有的类型,都做一个判断,当没有出版项时, +% 且存在网址信息时,将其转换为online类型输出,否则都做为manual类型输出。 + \DeclareSourcemap{ \maps[datatype=bibtex]{ + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将editor复制给author + \step[fieldsource=editor,fieldtarget=author]%并删除editor + } + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将translator复制给author + \step[fieldsource=translator,fieldtarget=author]%并删除translator + } + \map{ + \step[notfield=address]%当address和location同步 + \step[fieldsource=location,final] + \step[fieldset=address,origfieldval] + } + \map{ + \step[notfield=location]%当address和location同步 + \step[fieldsource=address,final] + \step[fieldset=location,origfieldval] + } \map[overwrite]{%用于处理zotero从cnki导出中文文献姓名中存在逗号的情况 \step[fieldsource={author}, match=\regexp{([\x{2FF0}-\x{9FA5}])\,\s*}, replace=\regexp{$1}] - } - \map{% + }%\perdatasource{examples.bib} + \map{%处理在bib文件用mark标记文献类型标识符的情况 \step[fieldsource=mark,final] \step[fieldset=usera, origfieldval] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为lowercase的情况 \step[fieldsource=nameformat,match=lowercase,final] \step[fieldset=namefmtid,fieldvalue={1}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为givenahead的情况 \step[fieldsource=nameformat,match=givenahead,final] \step[fieldset=namefmtid,fieldvalue={2}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为familyahead的情况 \step[fieldsource=nameformat,match=familyahead,final] \step[fieldset=namefmtid,fieldvalue={3}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为pinyin的情况 \step[fieldsource=nameformat,match=pinyin,final] \step[fieldset=namefmtid,fieldvalue={4}] } - \map{% - %\perdatasource{examples.bib} + \map{%根据article确定文献类型标识符 \pertype{article} \step[fieldset=usera, fieldvalue={J}] } - \map{ + \map{%根据periodical确定文献类型标识符 \pertype{periodical} \step[fieldset=usera, fieldvalue={J}] - \step[fieldsource=author] %有时会把author和editor混淆,处理后避免该问题 + \step[fieldsource=author] %有时会把author和editor混淆,处理后使用editor \step[fieldset=editor, origfieldval] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } - \map{ - \pertype{newspaper}%增加一个新闻报纸的类型newspaper - \step[fieldset=usera, fieldvalue={N}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为article后判断 - \step[fieldset=note, fieldvalue=news] + \map{%根据增加一个新闻报纸的类型newspaper确定文献类型标识符 + \pertype{newspaper} + \step[fieldset=usera, fieldvalue={N}] + \step[fieldset=note, fieldvalue=news]%因为没有专门的驱动,记录note方便映射为article后判断 } - \map{ - \pertype{database}%对应增加的一个数据库类型database - \step[fieldset=usera, fieldvalue={DB}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据库类型database确定文献类型标识符 + \pertype{database} + \step[fieldset=usera, fieldvalue={DB}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{dataset}%对应增加的一个数据集类型dataset - \step[fieldset=usera, fieldvalue={DS}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据集类型dataset确定文献类型标识符 + \pertype{dataset} + \step[fieldset=usera, fieldvalue={DS}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{software}%对应增加的一个软件类型software - \step[fieldset=usera, fieldvalue={CP}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个软件类型software确定文献类型标识符 + \pertype{software} + \step[fieldset=usera, fieldvalue={CP}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{map}%对应增加的一个舆图类型map - \step[fieldset=usera, fieldvalue={CM}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个舆图类型map确定文献类型标识符 + \pertype{map} + \step[fieldset=usera, fieldvalue={CM}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{archive}%对应增加的一个档案类型archive - \step[fieldset=usera, fieldvalue={A}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个档案类型archive确定文献类型标识符 + \pertype{archive} + \step[fieldset=usera, fieldvalue={A}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{misc}%当misc类型带有网址时,将其转换为online类型 + \map{%因为misc类型本身就是没有类型,而不像其它文献有明确的类型,所以 + %当misc类型带有网址时,直接将其转换为online类型 + \pertype{misc} \step[fieldsource=url,final] \step[typesource=misc,typetarget=online] } - \map{ - \pertype{misc}%对应增加的一个备选类型misc - \step[fieldset=usera, fieldvalue={Z}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个备选类型misc确定文献类型标识符 + \pertype{misc} + \step[fieldset=usera, fieldvalue={Z}]% } \map{ \pertype{book} \pertype{inbook} \step[fieldset=usera, fieldvalue={M}] - \step[fieldsource=version] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=version] %有时会把version和edition混淆,处理后直接用edition \step[fieldset=edition, origfieldval] } \map{ - \pertype{standard}%兼容老的standard类型 - \step[fieldset=usera, fieldvalue={S}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为book和inbook后判断 - \step[fieldset=note, fieldvalue=standard] + \pertype{inbook} + \step[fieldsource=editor]%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{%兼容老的standard类型,确定文献类型标识符 + \pertype{standard} + \step[fieldset=usera, fieldvalue={S}] + \step[fieldset=note, fieldvalue=standard]%因为没有专门的驱动,记录note方便映射为book和inbook后判断 } \map{ \pertype{patent} @@ -600,67 +748,81 @@ \pertype{inproceedings} \pertype{conference}%兼容老的conference类型 \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] % + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor \step[fieldset=bookauthor, origfieldval] } \map{ \pertype{proceedings} \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,这里处理后就没有这个问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] + } + \map{ + \pertype{incollection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=publisher, origfieldval] + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{ + \pertype{collection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] %%有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{report} \pertype{techreport}%兼容老的techreport类型 \step[fieldset=usera, fieldvalue={R}] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 - \step[fieldset=institution, origfieldval] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] } \map{ \pertype{thesis} \pertype{mastersthesis}%兼容老的mastersthesis和phdthesis类型 \pertype{phdthesis} \step[fieldset=usera, fieldvalue={D}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } \map{ \pertype{online} \pertype{electronic}%兼容老的electronic类型 \pertype{www}%兼容老的www类型 \step[fieldset=usera, fieldvalue={EB}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval]%因为online的出版项处理类似手册 + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 + \step[fieldset=institution, origfieldval] } \map{ \pertype{manual} \step[fieldset=usera, fieldvalue={A}] - \step[fieldsource=edition] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=edition]%有时会把version和edition混淆,处理后使用version \step[fieldset=version, origfieldval] - \step[fieldsource=organization]%因为用的report的驱动,所以需要institution域,把organization转成它以增强兼容性 + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 \step[fieldset=institution, origfieldval] - } - \map{ - \pertype{incollection} - \step[fieldset=usera, fieldvalue={G}] - } - \map{ - \pertype{collection} - \step[fieldset=usera, fieldvalue={G}] - \step[fieldsource=editor] %%有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{unpublished} \step[fieldset=usera, fieldvalue={Z}] } - \map{ + \map{%作者的中文判断 \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=userf, fieldvalue={cn}] + \step[fieldset=userf, fieldvalue={chinese}] } - \map{ + \map{%译者的中文判断 \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=usere, fieldvalue={cn}] + \step[fieldset=usere, fieldvalue={chinese}] + } + \map{%编者的中文判断 + \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] + \step[fieldset=userc, fieldvalue={chinese}] } \map{%处理一些用year表示date的情况 %这样处理将会设置date域,并使得labeldatesource变为空,因为date的前缀为空(如果是urldate,那么labeldatesource就是url)。 @@ -668,24 +830,15 @@ \step[fieldsource=year] \step[fieldset=date, origfieldval] } - \map{%将title信息保存到userd中避免因为标签生成原因导致title域被清除 - \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%} - \step[fieldset=userd, fieldvalue={cn}] + \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题 + \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]% + \step[fieldset=userd, fieldvalue={chinese}] } - \map{%将entrykey放入keywords中用于后期的使用 + \map{%将entrykey放入keywords中用于后期使用 \step[fieldsource=entrykey] \step[fieldset=keywords, origfieldval] } - \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) - \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 - \step[fieldset=keywords, fieldvalue={,}, append] - \step[fieldset=keywords, origfieldval, append] - } - \map{%因为要对author进行判断,所以这里先对有些只有编者而没有作者的情况进行处理 - \step[fieldsource=editor] - \step[fieldset=author,origfieldval] - } - \map{% + \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言 \step[fieldsource=language,match=english,final] \step[fieldset=langid,fieldvalue={english}] } @@ -709,7 +862,8 @@ \step[fieldsource=language,match=korean,final] \step[fieldset=langid,fieldvalue={english}] } - \map{%把语言信息设置language域内,而不再用userb域(20180525) + \map{%当没有language域信息给出时,根据title域来自动判断语言并设置本地化字符串语言 + %把语言信息设置language域内,而不再用userb域(20180525) %接着根据信息域字符的unicode码判断 \step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF \step[fieldset=language,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪 @@ -739,39 +893,99 @@ \step[fieldsource=author,match=\regexp{[\x{2FF0}-\x{9FA5}]},final] \step[fieldset=language,fieldvalue={chinese}] } - \map{\step[fieldsource=title,match=\regexp{[\x{2FF0}-\x{9FA5}]},final] + \map{ + \step[fieldsource=title,match=\regexp{[\x{2FF0}-\x{9FA5}]},final] \step[fieldset=language,fieldvalue={chinese}] }%如果没有作者和标题,那么剩下的最可能有意义的只有网址了,而网址通常是英文的,因此不用再进一步对其它域进行判断了。 \map{%将没有设置的language设置成en,即认为不是中文的就是英文的。 \step[fieldset=language,fieldvalue={english}] \step[fieldset=langid,fieldvalue={english}] } - %本来后面这些是放到DeclareStyleSourcemap中处理的,但是因为texlive2016的biblatex3.4不支持多个DeclareStyleSourcemap, - %但又有处理特殊字符和处理gbnoauthor选项两个需求,但gbnoauthor需要用DeclareStyleSourcemap所以把这些提到这来, - %以后将这两个功能结合到一个DeclareStyleSourcemap时,不用复制如下段代码了。 - \map{%尝试未定义数据模型的newspaper类型映射为article,newspaper完全是针对gb7714的新类型,在biblatex中完全没有定义 - %但从实践看,并没有什么影响,映射过来就可以了。 - \step[typesource=newspaper, typetarget=article, final] - } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + \map{%将非中文的语言放入userd中,以便进行多语言处理 + \step[fieldsource=language]%,notmatch={chinese},final + \step[fieldset=userd,origfieldval] + }% + \map{%尝试未定义数据模型的standard类型映射为其他类型book或inbook, + %standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + %因为可能要映射两种类型,所以不能在驱动层处理,因为要做判断 \step[fieldsource=booktitle,final]%当存在booktitle域是映射为inbook \step[typesource=standard, typetarget=inbook, final] } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 - \step[typesource=standard, typetarget=book, final]%当不存在booktitle域是映射为book + \map{%剩下的全部映射为book + \step[typesource=standard, typetarget=book, final] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=mastersthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=mathesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=phdthesis, typetarget=thesis, final] %\step[fieldset=type, fieldvalue=phdthesis] } - \map{%先于标准样式的driver层映射,将其先映射过来,并取消type设置 + \map{%先于标准样式的driver层映射,以取消type设置 \step[typesource=techreport, typetarget=report, final] %\step[fieldset=type, fieldvalue=techreport] } + \map{% + \pertype{report} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=report,typetarget=online] + \step[fieldset=note,fieldvalue={report}] + } + \map{% + \pertype{thesis} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=thesis,typetarget=online] + } + \map{% + \pertype{manual} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=manual,typetarget=online] + } + \map{% + \pertype{unpublished} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=unpublished,typetarget=online] + } + \map{% + \pertype{database} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=databasetypetarget=online] + } + \map{% + \pertype{dataset} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=dataset,typetarget=online] + } + \map{% + \pertype{software} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=software,typetarget=online] + } + \map{% + \pertype{map} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=map,typetarget=online] + } + \map{% + \pertype{archive} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=archive,typetarget=online] + } + \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) + \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 + \step[fieldset=keywords, fieldvalue={,}, append] + \step[fieldset=keywords, origfieldval, append] + } \map[overwrite]{%title,booktitle,journaltitle,journal,publisher,address,location,institution,organization \step[fieldsource={title}, match=\regexp{([^\\])\x26}, replace=\regexp{$1\\\x26}] } @@ -823,11 +1037,11 @@ \def\dealnoathor{ \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ - \map{%默认情况下将空缺作者设置为佚名 + \map{%默认情况下将空缺作者的中文文献设置为佚名 \step[fieldsource=language,match={chinese},final] \step[fieldset=author, fieldvalue={佚名}] } - \map{%默认情况下将空缺作者设置为佚名 + \map{%默认情况下将空缺作者的英文文献设置为A{non} \step[fieldsource=language,match={english},final] \step[fieldset=author, fieldvalue={A{non}}]%noauthor换成Anon,同时为避免大写还加了{} } @@ -836,6 +1050,22 @@ } +% +%驱动别名等价于驱动层映射 +% +\DeclareBibliographyAlias{newspaper}{article}% +\DeclareBibliographyAlias{inproceedings}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{conference}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{incollection}{inbook}%文集中析出文献类型驱动 +\DeclareBibliographyAlias{collection}{book}%%文集类型驱动 +\DeclareBibliographyAlias{proceedings}{book}%会议论文集文献类型驱动 +\DeclareBibliographyAlias{thesis}{manual}%学位论文驱动 +\DeclareBibliographyAlias{unpublished}{manual}%其它类型驱动 +\DeclareBibliographyAlias{database}{manual} +\DeclareBibliographyAlias{dataset}{manual} +\DeclareBibliographyAlias{software}{manual} + + %===================================================================== % 设置排序格式 %===================================================================== @@ -874,13 +1104,107 @@ \literal{0000}%3.7版是\literal{0} } } + + %降序的nyt + \DeclareSortingScheme{gbnytd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort[direction=descending]{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } + + %降序的ynt + \DeclareSortingScheme{gbyntd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort[direction=descending]{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } + + %升序的ynt + \DeclareSortingScheme{gbynta}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } } -\DeclareBibliographyAlias{unpublished}{manual} -\DeclareBibliographyAlias{database}{manual} -\DeclareBibliographyAlias{dataset}{manual} -\DeclareBibliographyAlias{software}{manual} -\DeclareBibliographyAlias{map}{manual} -\DeclareBibliographyAlias{archive}{manual} + % % 排序格式,用降序,及userb域,针对biblatex3.8及以上版本 @@ -918,6 +1242,105 @@ } } + %降序的nyt + \DeclareSortingTemplate{gbnytd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort[direction=descending]{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + + %降序的ynt + \DeclareSortingTemplate{gbyntd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort[direction=descending]{ + \field{sortyear} + \field{year} + } + \sort{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + + %升序的ynt + \DeclareSortingTemplate{gbynta}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{language} + } + \sort{%[direction=ascending] + \field{sortyear} + \field{year} + } + \sort{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + % % 定义命令\defdoublelangentry,用于biblatex>v3.8版利用related实现双语文献的处理 % @@ -949,7 +1372,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %===================================================================== -%参考文献列表环境 +%参考文献表环境 %===================================================================== % @@ -991,6 +1414,9 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %===================================================================== % % 新增文献类型标识符的格式 +% []前的nobreak,从GB4.1节的例子看不应该加,所以去掉 +% 但因为考虑到cjk字符和[]之间可能添加空格,所以仍然加上 +% 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% \iftoggle{bbx:url}{\iffieldundef{url}%当存在url时,增加一个OL标识符 @@ -1039,6 +1465,11 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \setcounter{biburlnumpenalty}{100} %让url可以在数字后断行 \setcounter{biburlucpenalty}{100} %让url可以在大写字母后断行 \setcounter{biburllcpenalty}{100} %让url可以在小写字母后断行 +\DeclareFieldFormat{doi}{% + \rmfamily{DOI}\addcolon\space + \ifhyperref + {\href{https://doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} % % 标题的字母大小写格式修改 % @@ -1101,37 +1532,123 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %\setunit{\addspace}% \printnames[bytranslator]{translator}% \clearname{translator}% + %从macro*{bytranslator+othersstrg}%中可以看到当地化字符串格式的引用前的代码处理 + %比如生成cotranslator等用于调用cotranslator所代表的当地化字符串 \usebibmacro{bytranslator+othersstrg}%“译”的位置换到下面来,即放到译者后面。 \setunit{\addspace}% \newunit}% \usebibmacro{withothers}} -% -% 下面一段没有用,但从中可以看到当地化字符串格式的引用前的代码处理 -% 比如生成cotranslator等用于调用cotranslator所代表的当地化字符串 -% \renewbibmacro*{bytranslator+othersstrg}{% % % 修改作者数量超过限定值,做省略时的处理格式 +% v1.0,20160701,hzz +% v1.0O,20190103,hzz,修改利用新定义的一个分隔符strandothersdelim % -% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用etcl。 +% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。 \renewbibmacro*{name:andothers}{% \ifboolexpr{ test {\ifnumequal{\value{listcount}}{\value{liststop}}} and test \ifmorenames - }{%这里做一个判断是在处理author还是translator用于两者是不同语言的情况 - \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% - %这句判断如果放到\andothersdelim后面会在等或etc.前增加一个空格,所以放前面 - \ifnumgreater{\value{liststop}}{1} + }{\ifnumgreater{\value{liststop}}{1}% {\finalandcomma}% {}%\finalandcomma -\printdelim{andothersdelim}\iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{\bibstring{andothers}} -%\andothersdelim\bibstring{andotherscn} +\printdelim{andothersdelim}\printdelim{strandothersdelim}% }{}} +% 修改省略作者后的本地化字符串,比如et al. +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andotherscn=“等”,否则用andothers=“et al.”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{strandothersdelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace%%做一个判断是在处理author还是translator,用于两者是不同语言的情况 + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbcitelocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andothersincitecn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andotherskr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andothersjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{andothersincite}}{}% +\iffieldequalstr{userd}{french}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{andothers}}{}% +}\space% + \or% + \bibstring{andothersincitecn}\space% + \or% + \bibstring{andothersincite}\space% + \fi} +\DeclareDelimFormat[bib,biblist]{strandothersdelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andotherskr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andothersjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{french}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{andothers}}{}% +}\space% + \or% + \bibstring{andotherscn}\space% + \or% + \bibstring{andothers}\space% + \fi} + +% +% 修改最后一个作者前的字符串,比如 and +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andcn=“和”,否则用and=“and”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbcitelocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andincitecn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andkr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{andincite}}{}% +\iffieldequalstr{userd}{french}{\bibstring{and}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{and}}{}% + }\space% + \or% + \bibstring{andincitecn}\space% + \or% + \bibstring{andincite}\space% + \fi} +\DeclareDelimFormat[bib,biblist]{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andcn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andkr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{and}}{}% +\iffieldequalstr{userd}{french}{\bibstring{and}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{and}}{}% +}\space% + \or% + \bibstring{andcn}\space% + \or% + \bibstring{and}\space% + \fi} + +% % 重设title的输出 % % 20180425,v1.0k,为标题增加字体控制命令,Hu Zhenzhen @@ -1157,7 +1674,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 {\iffieldequalstr{note}{news}{\printfield[gbtypeflagn]{usera}}%判断是否为报纸 {\printfield[gbtypeflag]{usera}}}%其它 }}{}% - \iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 + %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 %\newunit }% }} @@ -1170,8 +1687,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 20180603,v1.0l,增加使用nameformat域来选择姓名格式 \DeclareNameFormat{namefmtselected}{% \iffieldundef{namefmtid}{}% -{\defcounter{namefmtcase}{\thefield{namefmtid}}}% -\ifcase\value{namefmtcase}% +{\defcounter{gbnamefmtcase}{\thefield{namefmtid}}}% +\ifcase\value{gbnamefmtcase}% \ifgiveninits {\usebibmacro{name:gbuppercase} {\namepartfamily} @@ -1236,7 +1753,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %\DeclareDelimFormat[textcite]{andothersdelim}{\addspace}% %GB/T 7714-2015 风格,全部大写 -\renewbibmacro*{name:gbuppercase}[4]{\bibauthorfont% +\newbibmacro*{name:gbuppercase}[4]{\bibauthorfont% \renewrobustcmd*{\bibinitperiod}{}%将名字简写后的点去掉 \renewcommand*{\revsdnamepunct}{}% \ifuseprefix% @@ -1264,7 +1781,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 } %GB/T 7714-2015 风格,大小写不变,根据bib文件内输入原样输出 -\renewbibmacro*{name:gblowercase}[4]{\bibauthorfont% +\newbibmacro*{name:gblowercase}[4]{\bibauthorfont% \renewrobustcmd*{\bibinitperiod}{}%将名字简写后的点去掉 \renewcommand*{\revsdnamepunct}{}%%来源biblatex.def \ifuseprefix @@ -1292,7 +1809,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 } %中文常见风格,汉语拼音全拼模式 -\renewbibmacro*{name:gbpinyin}[4]{\bibauthorfont% +\newbibmacro*{name:gbpinyin}[4]{\bibauthorfont% \renewrobustcmd*{\bibinitperiod}{}%将名字简写后的点去掉,%来源biblatex2.STY \renewcommand*{\revsdnamepunct}{}%%来源biblatex.def \renewrobustcmd*{\bibnamedelima}{\mbox{-}}% @@ -1414,8 +1931,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %%biblatex<3.2版的情况,姓名的处理格式带参数 \DeclareNameFormat{namefmtselected}{% \iffieldundef{namefmtid}{}% - {\defcounter{namefmtcase}{\thefield{namefmtid}}}% - \ifcase\value{namefmtcase}% + {\defcounter{gbnamefmtcase}{\thefield{namefmtid}}}% + \ifcase\value{gbnamefmtcase}% \iffirstinits {\usebibmacro{name:gbuppercase}{#1}{#4}{#5}{#7}} {\usebibmacro{name:gbuppercase}{#1}{#3}{#5}{#7}}% @@ -1424,7 +1941,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 {\usebibmacro{name:gblowercase}{#1}{#4}{#5}{#7}} {\usebibmacro{name:gblowercase}{#1}{#3}{#5}{#7}}% \or - \iffirstinits + \iffirstinits {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}} {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}% \ifblank{#3#5} @@ -1461,14 +1978,18 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iffieldundef{urlmonth}{}{\bibrangedash\printfield{urlmonth}}% \iffieldundef{urlday}{}{\bibrangedash\printfield{urlday}}\printtext{]}} - \newbibmacro*{newsdate}{%%新增加一个新闻日期 + \newbibmacro*{newsdate}{%%新增加一个公告日期,公开日期或新闻日期 \iffieldundef{year}{}{\printfield{year}% \iffieldundef{month}{}{\bibrangedash\printtext{\thefield{month}}% \iffieldundef{day}{}{\bibrangedash\printfield{day}}}}% } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldequalstr{year}{}{%替换\iffieldundef{year},因为year总是存在,但为空 + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldequalstr{year}{}{%替换\iffieldundef{year},因为year总是存在,但为空 \iffieldundef{endyear}{% \iffieldundef{eventyear}{}{\printtext{\mkbibparens{\printtext{\printfield{eventyear}}% \iffieldundef{eventmonth}{}{\bibrangedash\thefield{eventmonth}}% @@ -1487,7 +2008,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iffieldundef{day}{}{\bibrangedash\printfield{day}}}}% }% }% - }% + }}% } % @@ -1510,13 +2031,17 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldundef{year}{% + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldundef{year}{% \iffieldundef{endyear}{\iffieldundef{eventyear}{}{\printtext{(}\printeventdate\printtext{)}}}% {\printtext{(}\printenddate\printtext{)}}% }{\iffieldequalstr{year}{}{%因为year存在,但为空 }{\printtext{(}\blx@edtfdate{}{}\printtext{)}}% }% - }% + }}% } % @@ -1533,19 +2058,25 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 20180405,为biblatexv3.10版本,出现多出点bug做处理,Hu Zhenzhen % % 原理方法:加上printtext避免破坏异步标点机制 - % + % 本可以用\printdate,但由于date选项设置为year,所以仅会给出年份 + % 所以无法再用选项设置的方法,印象需要用底层的命令 + % 这里可以用\blx@isodate,但用\blx@gbdate试图避免版本判断 \newbibmacro*{newsdate}{%% - \printtext{\blx@gbdate{}{}}%% + \printtext{\blx@gbdate{}{}}%%\blx@isodate{}{}% } \newbibmacro*{modifydate}{%新增加一个带括号的日期,用于表示电子资源的更新和修改日期,而公告日期则按日期格式 - \iffieldundef{year}{% + \ifboolexpr{% + test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}% + }% + {}%更新或修改日期通常有day信息 + {\iffieldundef{year}{% \iffieldundef{endyear}{\iffieldundef{eventyear}{}{\printtext{(}\printeventdate\printtext{)}}}% {\printtext{(}\printenddate\printtext{)}}% }{\iffieldequalstr{year}{}{%因为year存在,但为空 }{\printtext{(}\blx@gbdate{}{}\printtext{)}}% }% - }% + }}% } % @@ -1665,12 +2196,19 @@ test{\iftoggle{iftlnine}} } % -% 出版社和地址的处理 +% 当location等出版项超过maxitem缩减后不再输出etal +% +\DeclareListFormat{location}{% + \usebibmacro{list:delim}{#1}% + #1\isdot} +\DeclareListAlias{institution}{location} +\DeclareListAlias{publisher}{location} + +% 新增一个样式用于输出连续出版物的地址,单位,时间, +% 用于periodical连续出版物的出版社和地址的处理 % % v1.0k,20180425,为出版信息增加字体控制命令,hzz -% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 -% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 -% 新增一个样式用于输出连续出版物的地址,单位,时间,%类似\newbibmacro*{publisher+location+date} +% %类似\newbibmacro*{publisher+location+date} \newbibmacro*{location+institution+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% @@ -1701,30 +2239,27 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}% \newunit}% } % +% 通用的出版社和地址的处理 % +% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 +% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 +% 注意标准standard类型,因为当没有出版项时直接省略,所以做特殊处理 \renewbibmacro*{publisher+location+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% -\ifboolexpr{% -test {\iflistundef{location}} and test {\iflistundef{publisher}}% -}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}% -{\printtext{[S.l.\space :\space s.n.\adddot]}}% -}{% -\iflistundef{location}{%\adddot -\iffieldequalstr{note}{standard}{}{%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 -\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}% -}}% \bibstring{noaddress} -{\printlist{location}\addcolon\addspace}% -%\addcolon\addspace% -\iflistundef{publisher}{% -\iffieldequalstr{note}{standard}{}{% -\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -{\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -}}% -{\printlist{publisher}}}% + \ifboolexpr{ test {\iflistundef{location}} and test {\iflistundef{publisher}} }% + {\iffieldequalstr{note}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}% + {\iflistundef{location}{%\adddot + \iffieldequalstr{note}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 + {\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}}}% \bibstring{noaddress} + {\printlist{location}\addcolon\addspace}%%\addcolon\addspace% + \iflistundef{publisher}{% + \iffieldequalstr{note}{standard}{}% + {\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% + {\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}}}% + {\printlist{publisher}}}% \setunit*{\addcomma\addspace}%\addcomma\addspace% -\usebibmacro{date}% -%\newunit %去掉这个标点 +\usebibmacro{date}%%\newunit %去掉这个标点 }% {\printlist{location}% \iflistundef{publisher} @@ -1732,21 +2267,63 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\newunit + \usebibmacro{date}%%\newunit }% } +% +% 修改了一个institution+location+date用于manual、report、thesis等类型 +% +% 20180425,v1.0k,增加了字体控制命令,hzz +% 20190105,v1.0o,加了一个编组避免\usebibmacro{date}把month和day信息去掉 +\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 +{\printlist{location}%%加了一个编组避免\usebibmacro{date}把month和day信息去掉 + \iflistundef{institution} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + %\newunit + }} + +% +% 对volume卷信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{volume}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{volumecn}}% +{\bibstring{volume}~#1}% +}% volume of a book +\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal + +% +% 对number册信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{number}{#1}% +\DeclareFieldFormat[book,collection,inbook,% +incollection,proceedings,inproceedings]{number}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{numbercn}}% +{#1}% +}% % % 对edition版本信息格式做出修改 % \DeclareFieldFormat{edition}{%源来自biblatex.DEF \testCJKfirst{userd}% - \ifinteger{#1}% - {\iftoggle{ifCJKforgbt}{\printtext{#1\str@edition}}% - {\mkbibordedition{#1}~\bibstring{edition}}}% - {#1\isdot}} +\iftoggle{ifCJKforgbt}% +{\ifinteger{#1}% +{\printtext{#1\str@edition}}% +{#1\isdot}}% +{\ifinteger{#1}% +{\mkbibordedition{#1}~\bibstring{edition}}% +{#1\isdot}}} % % 对version的版本信息做出修改 @@ -1951,8 +2528,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \printfield{volume}% %\setunit*{\adddot}%去掉点号 %\printfield{number}% - \iffieldundef{number}{}{\printfield[addnumflag]{number}}% - %\iffieldundef{number}{}{\printtext{\mkbibparens{\printfield{number}}}}%增加一个圆括号 + \iffieldundef{number}{}{\printfield[addnumflag]{number}}%区别于顺序编码制 \iffieldundef{eid}{}{% \setunit{\addcomma\space}% \printfield{eid}}}} @@ -2003,7 +2579,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% } {\bibstring{\thefield{editortype}s}} {\bibstring{\thefield{editortype}}}} - {\thefield{editortype}}} + {\thefield{editortype}}}% }} % @@ -2101,27 +2677,13 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\setunit{\subtitlepunct}\printfield{titleaddon}}% \setunit{\subtitlepunct}\printfield{number}%写专利号 \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}% - \iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 + %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 %\newunit }% }% } -% -% 修改了一个institution+location+date用于report等类型 -% -% 20180425,v1.0k,增加了字体控制命令,hzz -\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 - \printlist{location}% - \iflistundef{institution} - {\setunit*{\addcomma\space}} - {\setunit*{\addcolon\space}}% - \printlist{institution}% - \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\usebibmacro{modifydate}% - %\newunit - } + % % 修改in:用于inbook、incollection、inproceedings等类型 @@ -2129,7 +2691,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % % 原理方法:使用bibmacro{in:}改变了以前在driver中直接输出//的方式,同时也简化了标点控制。 \renewbibmacro*{in:}{% - \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\addthinspace}}% + \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\allowbreak}}%\addthinspace {\setunit{\adddot\addspace}\printtext{\bibstring{in}}}}%\newunit\newblock\intitlepunct @@ -2142,39 +2704,38 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \DeclareBibliographyDriver{book}{%源来自standard.bbx文件 \usebibmacro{bibindex}% \usebibmacro{begentry}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{maintitle+title}% +\usebibmacro{author/editor+others/translator+others}% +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 +\usebibmacro{maintitle+title}% \iftoggle{bbx:gbstrict}{}{% \newunit \printlist{language}% -\newunit\newblock +\newunit\newblock% \usebibmacro{byauthor}% \newunit\newblock}% \usebibmacro{byeditor+others}% -\newunit\newblock -\printfield{edition}% \newunit -\iffieldundef{maintitle} +\printfield{edition}% +\newunit\newblock%% +\iftoggle{bbx:gbstrict}{}{% +\iffieldundef{maintitle}% {\printfield{volume}% -\printfield{part}} +\printfield{part}}% {}% -\iftoggle{bbx:gbstrict}{}{% \newunit% \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - %\newunit - \usebibmacro{doi+eprint+url}%从下面提上来 - \newunit\newblock +\newunit\newblock% +\usebibmacro{series+number}}% +\newunit\newblock% +%\printfield{note}% +%\newunit\newblock% +\usebibmacro{publisher+location+date}% +%\newunit\newblock %这里标点去掉 +\usebibmacro{chapter+pages}% +\usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 + \newunit\newblock% \printfield{pagetotal}% - \newunit\newblock + \newunit\newblock% \iftoggle{bbx:isbn} {\printfield{isbn}} {}% @@ -2191,59 +2752,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {}% \usebibmacro{finentry}} -% -% 文集中析出文献类型驱动 -% -% 直接利用inbook做incollection -\DeclareBibliographyDriver{incollection}{%直接用inbook的驱动 - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% - \usebibmacro{in:}% - %\printtext{\texttt{//}\addthinspace}% - \usebibmacro{bybookauthor}% - \ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - %\newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} @@ -2254,7 +2762,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2272,6 +2780,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % \usebibmacro{byeditor+others}% % \newunit \usebibmacro{note+pages}% + \iffieldequalstr{note}{news}{}{\usebibmacro{modifydate}}%带括号的修改或更新日期,当是新闻时不输出 \usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置 \newunit\newblock \iftoggle{bbx:isbn} @@ -2301,7 +2810,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% %\setunit{\labelnamepunct}\newblock \newunit\newblock %删除上面一行,添加这一行 \usebibmacro{title+issuetitle}% - \newunit\newblock + \newunit\newblock% \usebibmacro{location+institution+date}%添加这一行用于输出地址,单位和时间 \newunit\newblock%添加这一行 \iftoggle{bbx:gbstrict}{}{% @@ -2334,7 +2843,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 %\usebibmacro{title}% \usebibmacro{patenttitle}%给出专利专用的标题输出 \iftoggle{bbx:gbstrict}{}{% @@ -2345,7 +2854,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit\newblock \printfield{type}% \setunit*{\addspace}% - %\printfield{number}%%已放到patenttitle中处理 + %\printfield{number}%已放到patenttitle中处理 \iflistundef{location} {} {\setunit*{\addspace}% @@ -2378,7 +2887,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2386,16 +2895,17 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit\newblock \usebibmacro{byauthor}% \newunit\newblock - \usebibmacro{byeditor+others}}% + \usebibmacro{byeditor+others}% \newunit\newblock - \printfield{version}% + \printfield{note}}% \newunit - \printfield{note}% + \printfield{version}% \newunit\newblock - \printlist{organization}% +% \printlist{organization}% + \printlist{institution}% \newunit\newblock %\usebibmacro{date}% - \usebibmacro{modifydate}%修改为带括号的时间 + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{url+urldate}%从下面移上来 \newunit\newblock \iftoggle{bbx:eprint} @@ -2416,57 +2926,16 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% -% -% 学位论文修改 -% - \DeclareBibliographyDriver{thesis}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printfield{type}}% - \newunit\newblock - \usebibmacro{institution+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} % % 报告类型驱动 -% 2016-11-11,增加了译者信息 +% 当有网址无出版项时,用online输出 % \DeclareBibliographyDriver{report}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2484,7 +2953,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit \printfield{note}% \newunit\newblock - \usebibmacro{institution+location+date}% + \usebibmacro{publisher+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% \usebibmacro{doi+eprint+url}% @@ -2508,15 +2977,14 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{finentry}} % -% 手册类型驱动 +% 论文、手册类型驱动 % 2016-11-11,增加了译者信息 % -% 直接利用report做manual \DeclareBibliographyDriver{manual}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -2524,7 +2992,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit\newblock \usebibmacro{byauthor}}% \newunit\newblock - \usebibmacro{byeditor+others}% + \usebibmacro{byeditor+others}%增加的译者信息 \newunit\newblock \printfield{type}% \setunit*{\addspace}% @@ -2537,6 +3005,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{institution+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{doi+eprint+url}% \newunit \printfield{pagetotal}% @@ -2565,7 +3034,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \setunit{\printdelim{nametitledelim}}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit @@ -2599,142 +3068,36 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{finentry}} -% -% 会议论文文献类型驱动 -% - \DeclareBibliographyDriver{inproceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% - \usebibmacro{in:}% - %\printtext{\texttt{//}\addthinspace}% - \usebibmacro{bybookauthor}%用类似inbook的方式处理 - \ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} -% -% 会议论文集文献类型驱动 -% -\DeclareBibliographyDriver{proceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - %\usebibmacro{editor+others}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{maintitle+title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} % % 专著中的析出文献的格式修改 % -\DeclareBibliographyDriver{inbook}{%源来自standard.BBX +\DeclareBibliographyDriver{inbook}{%源来自standard.bbx \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock% - \usebibmacro{title}% +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 +\usebibmacro{title}% \usebibmacro{in:}% %\printtext{\texttt{//}\addthinspace}% \usebibmacro{bybookauthor}% \ifnameundef{bookauthor}{}{\newunit}%替换下一句 %\newunit\newblock \usebibmacro{maintitle+booktitle}% + \setunit{\addcolon}\printfield{volume}\printfield{number}%增加卷和册信息 \newunit\newblock% % \usebibmacro{byeditor+others}% % \newunit\newblock \printfield{edition}% \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% \iftoggle{bbx:gbstrict}{}{% - \newunit +% \iffieldundef{maintitle} +% {\printfield{volume}% +% \printfield{part}} +% {}% +% \newunit \printfield{volumes}% \newunit\newblock \usebibmacro{series+number}}% @@ -2762,58 +3125,3 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{related}} {}% \usebibmacro{finentry}} - - -% -% 文集类型驱动 -% -% 直接利用book做collection -\DeclareBibliographyDriver{collection}{%直接用book的驱动 - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{maintitle+title}% -\iftoggle{bbx:gbstrict}{}{% - \newunit - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 - \newunit\newblock - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - %\usebibmacro{doi+eprint+url}% - %\newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx index 24873296196..c21620cff80 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx @@ -7,7 +7,8 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\ProvidesFile{gb7714-2015ay.cbx}[2018/11/04 v1.0n biblatex citation style] +\def\versionofgbtstyle{2019/01/19 v1.0p} +\ProvidesFile{gb7714-2015ay.cbx}[\versionofgbtstyle biblatex citation style] % % 加载标准样式 diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx index f6b319644de..6a83013c810 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx @@ -11,17 +11,16 @@ % % 版本和时间信息 % -\ProvidesFile{gb7714-2015ms.bbx}[2018/11/04 v1.0n biblatex bibliography style] -\def\versionofgbtstyle{2018/11/04 v1.0n} +\def\versionofgbtstyle{2019/01/19 v1.0p} \def\versionofbiblatex{\abx@version} +\ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style] \RequireBiber[3]%显式指定用biber后端 %===================================================================== % 加载标准样式 %===================================================================== \RequireBibliographyStyle{numeric-comp} -\RequireBibliographyStyle{standard} - +\RequirePackage{xstring}%解决texlive2015的biblatex3.0不加载xstring包的问题 %===================================================================== % 功能函数 @@ -51,7 +50,7 @@ \providetoggle{ifCJKforgbt} \def\testCJKfirst#1{% \iffieldundef{#1}{\togglefalse{ifCJKforgbt}}{% - \iffieldequalstr{#1}{cn}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} + \iffieldequalstr{#1}{chinese}{\toggletrue{ifCJKforgbt}}{\togglefalse{ifCJKforgbt}}}} % % 2个卷的解析函数,用于连续出版物 @@ -80,6 +79,7 @@ %定义类型和载体标识,从gb内容看载体基本属于介质。 %为与lee zeping的bst的样式统一,使用mark和medium这两域名 %为单个条目的姓名格式控制增加nameformat和namefmtid两个域 + %为缩略信息文献表增加了shortbooktitle域 \DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat} \DeclareDatamodelFields[type=field,datatype=integer]{namefmtid} \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} @@ -134,6 +134,9 @@ \def\str@noaddress{出版地不详} \def\str@nopublisher{出版者不详} \def\str@edition{版} + \def\str@volumecn{卷} + \def\str@numbercn{册} + \def\str@serialcn{第} \AtEndOfPackage{% \iftoggle{bbx:codegbk}{% @@ -239,12 +242,9 @@ \iffieldundef{#2#3day}{}{\hyphen\blx@imc@forcezerosmdt{\thefield{#2#3day}}}} %为姓名格式选择增加的计数器 - \newcounter{namefmtcase} - \def\thenamefmtcase{\the\c@namefmtcase} - + \newcounter{gbnamefmtcase} + \def\thegbnamefmtcase{\the\c@gbnamefmtcase} %为数字标签格式选择增加的计数器/命令 - %\newcounter{bibnumlabel} - %\def\thebibnumlabel{\the\c@bibnumlabel} \newcommand{\mkgbnumlabel}[1]{\mkbibbrackets{#1}} \def\gbbiblabelopt@bracket{\renewcommand{\mkgbnumlabel}[1]{\mkbibbrackets{##1}}} \def\gbbiblabelopt@parens{\renewcommand{\mkgbnumlabel}[1]{\mkbibparens{##1}}} @@ -252,8 +252,38 @@ \def\gbbiblabelopt@plain{\renewcommand{\mkgbnumlabel}[1]{##1}} \def\gbbiblabelopt@box{\renewcommand{\mkgbnumlabel}[1]{\framebox{##1}}} \def\gbbiblabelopt@circle{\renewcommand{\mkgbnumlabel}[1]{\textcircled{##1}}} - \newcounter{alignlabel} - \def\thealignlabel{\the\c@alignlabel} + %为文献表中数字标签对齐方式选择增加的计数器/命令 + \newcounter{gbalignlabel} + \def\thegbalignlabel{\the\c@gbalignlabel} + %为引用标签标注/文献表中本地化字符串中英文选择增加的计数器/命令 + \newcounter{gbcitelocalcase} + \newcounter{gbbiblocalcase} + \def\thegbcitelocalcase{\the\c@gbcitelocalcase} + \def\thegbbiblocalcase{\the\c@gbbiblocalcase} + + % + % 增加本地化字符串的中英文切换选项 + % gbcitelocal指标注中的本地化字符串 + % gbbiblocal 指文献表中的本地化字符串 + % gblocal 指设置文献表和标注中的本地化字符串 + % v1.0o,20190103,hzz + % + \DeclareBibliographyOption[string]{gbcitelocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbcitelocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbcitelocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbcitelocalcase}{2}}{}% + } + + \DeclareBibliographyOption[string]{gbbiblocal}[gb7714-2015]{% + \ifstrequal{#1}{gb7714-2015}{\setcounter{gbbiblocalcase}{0}}{}% + \ifstrequal{#1}{chinese}{\setcounter{gbbiblocalcase}{1}}{}% + \ifstrequal{#1}{english}{\setcounter{gbbiblocalcase}{2}}{}% + } + + \DeclareBibliographyOption[string]{gblocal}[gb7714-2015]{% + \ExecuteBibliographyOptions{gbbiblocal=#1}% + \ExecuteBibliographyOptions{gbcitelocal=#1}% + } % % 增加序号标签格式处理选项 @@ -267,11 +297,11 @@ % 增加姓名大小写格式处理选项 % \DeclareBibliographyOption[string]{gbnamefmt}[uppercase]{% - \ifstrequal{#1}{uppercase}{\setcounter{namefmtcase}{0}}{}% - \ifstrequal{#1}{lowercase}{\setcounter{namefmtcase}{1}}{}% - \ifstrequal{#1}{givenahead}{\setcounter{namefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{namefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{namefmtcase}{4}}{}%family-given + \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% + \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% + \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given } @@ -280,9 +310,9 @@ % % right是默认的右对齐,left是左对齐,gb7714-2015是项对齐方式 \DeclareBibliographyOption[string]{gbalign}[right]{% - \ifstrequal{#1}{right}{\setcounter{alignlabel}{0}}{} - \ifstrequal{#1}{left}{\setcounter{alignlabel}{1}}{} - \ifstrequal{#1}{center}{\setcounter{alignlabel}{2}}{} + \ifstrequal{#1}{right}{\setcounter{gbalignlabel}{0}}{} + \ifstrequal{#1}{left}{\setcounter{gbalignlabel}{1}}{} + \ifstrequal{#1}{center}{\setcounter{gbalignlabel}{2}}{} \ifstrequal{#1}{gb7714-2015}{\setaligngbstyle}{} } @@ -298,6 +328,8 @@ date = year, %日期仅写到年 maxbibnames = 3,%设置名字最大数量 minbibnames = 3, %设置缩减后的名字最小数量 + maxitems = 1,%设置列表最大数量 + minitems = 1, %设置缩减后的列表最小数量 isbn=false, gbstyle=true, gbtype=true, @@ -315,6 +347,7 @@ %eventdate =edtf,%针对3.7<=biblatex<=3.9版本的选项设置,比如texlive2017中的3.7版 urldate =gb7714-2015, %iso,针对3.10<=biblatex版本的选项设置,比如texlive2018中的3.11版 eventdate =gb7714-2015, + gblocal=gb7714-2015, } @@ -322,9 +355,21 @@ % 设置本地化字符串 %===================================================================== % - % 新建当地化字符串,用来记录“等”字符 + % 新建当地化字符串,用来记录“等”字符、“和”字符 % \NewBibliographyString{andotherscn} + \NewBibliographyString{andothersincitecn} + \NewBibliographyString{andothersincite} + \NewBibliographyString{andcn} + \NewBibliographyString{andothersjp} + \NewBibliographyString{andotherskr} + \NewBibliographyString{andjp} + \NewBibliographyString{andkr} + \NewBibliographyString{andincitecn} + \NewBibliographyString{andincite} + \NewBibliographyString{volumecn} + \NewBibliographyString{numbercn} + \NewBibliographyString{serialcn} % % 修改一些当地化字符串 @@ -335,112 +380,197 @@ \DefineBibliographyStrings{english}{ bibliography = {\str@bibliography}, references = {\str@references}, - %bytranslator= {\addcomma\ 译\adddot}, %将trans. by 改成 译 - bytranslator= {\addcomma\ \str@bytranslator},%\addperiod - and = {\addcomma},%将第2和3人名见的and符号改成 逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 + bytranslator= {\addcomma\ \str@bytranslator},%\addperiod,%将trans. by 改成 译 + and = {\addcomma},%将第2和3人名间的and符号改成逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 + andcn = {\addcomma},%and本地化字符串的中文对应词 + andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分 + andincite = {\addcomma}, %andothers = {et al.}, %将超过3个人名的省略,et al.改成为 等 andotherscn = {\str@andotherscn}, %将超过3个人名的省略,et al.改成为 等 + andothersincitecn={\str@andotherscn},%将标注中的分开,便于与文献表中的区分 + andothersincite={et al.}, backrefpage = {\str@backrefpage:}, backrefpages = {\str@backrefpages:}, in={in\intitlepunct}, - } - + volumecn={\str@volumecn}, + numbercn={\str@numbercn}, + serialcn={\str@serialcn}, + andothersjp={他}, + andotherskr={외}, + andjp={和}, + andkr={和}, +} %===================================================================== -% 动态数据修改,修改输入的源文件数据,用于中文判断等 +% 动态数据修改 %===================================================================== - % - % 修改输入的参考文献数据,源文件层的操作 - % - % 原理方法:增加文献标识符如[M],[J]等 - % 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 - % 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, - % 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 - % 注意\DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 - \DeclareSourcemap{ - \maps[datatype=bibtex]{% +% +% 各层次的数据映射和动态修改 +% +% 原理方法: +% 1. 进行语言包括中英文判断,并设置和记录,比如记录到userf,usere中 +% 2. 增加文献标识符如[M],[J]等,对一些容易混淆的域进行设置以增强兼容性 +% 3. \DeclareSourcemap命令对于biblatex3.11以下版本只能出现一次,3.11版开始支持多个 +% 4. \DeclarestyleSourcemap在biblatex v3.7版开始可以支持出现多次 +% 5. 把作者和译者信息准确的记录到userf,usere中,用于后面判断是否是cjk字符。 +% 注意:这里用userf,usere而不是namee,namef,是因为只有把name列表转成域,才能有效读取姓名中的字符, +% 如果用namee,namef,name信息会自动解析,所以就不能为cjk判断提供需要的信息 +% +% 不同的文献类型使用相同的驱动输出可以有5种方法: +% 1. 是数据源层的映射,将其它类型转换为某一要使用驱动的类型 +% 2. 是样式层映射,也是将其它类型转换为某一要使用驱动的类型 +% 3. 是驱动层映射,也是将其它类型转换为某一要使用驱动的类型 +% 4. 定义驱动类型别名DeclareBibliographyAlias,将其它类型定义为某一要使用驱动的类型的别名 +% 驱动别名定义本质上是做了驱动层映射 +% 5. 直接定义不同的类型的驱动,但驱动内容相同。 +% +% 关于数据映射和驱动使用的考虑如下: +% 1. 为避免利用biber输出bib文件时的数据变动,尽量不在数据源层映射做类型转换 +% 2. 为减少代码量,尽量少做内容相同的不同类型驱动 +% 3. 因此类型相关的处理主要在样式层映射、驱动层映射、驱动别名 +% 4. 由于biblatex默认做的驱动别名处理可能增加一些信息比如masterthesis转thesis时增加的type +% 可以在样式层映射做某些需要避免这种默认处置的转换 +% 5. 当没有避免默认行为的需求时,全部采用驱动别名的方式处理,等价于驱动层的映射 +% +% 文献类型和驱动考虑如下: +% 1. 连续出版物及析出文献有其特殊性,因此考虑两类periodical和article +% newpaper映射为article,并以note域做区分特殊处理 +% 2. 专著和专著中的析出文献是主要的类型,因此考虑book和inbook +% standard映射为book或inbook,并以note域做区分特殊处理 +% collection和proceedings基本与book类似,因此做book驱动别名处理 +% incollection和inproceedings基本与inbook类似,因此做inbook驱动别名处理 +% 3. 专利类型有其特殊性,考虑patent类型 +% 4. 电子资源类型有其特殊性,考虑online类型 +% 5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更细日期 +% 因此考虑用一种类型来输出,使用report类型 +% 6. 手册/学位论文等类型与book有点类似,但对于出版项处理时,有缺省时,直接省略, +% 同时有version和edition的区别,因此考虑用一种类型来输出,使用manual类型 +% 7. 包括报告,学位论文在内的其它所有的类型,都做一个判断,当没有出版项时, +% 且存在网址信息时,将其转换为online类型输出,否则都做为manual类型输出。 + +\DeclareSourcemap{ +\maps[datatype=bibtex]{% + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将editor复制给author + \step[fieldsource=editor,fieldtarget=author]%并删除editor + } + \map{ + \pernottype{inbook} + \pernottype{inproceedings} + \pernottype{incollection} + \step[notfield=author]%当author不存在,将translator复制给author + \step[fieldsource=translator,fieldtarget=author]%并删除translator + } + \map{ + \step[notfield=address]%当address和location同步 + \step[fieldsource=location,final] + \step[fieldset=address,origfieldval] + } + \map{ + \step[notfield=location]%当address和location同步 + \step[fieldsource=address,final] + \step[fieldset=location,origfieldval] + } \map[overwrite]{%用于处理zotero从cnki导出中文文献姓名中存在逗号的情况 \step[fieldsource={author}, match=\regexp{([\x{2FF0}-\x{9FA5}])\,\s*}, replace=\regexp{$1}] - } - \map{% + }%\perdatasource{examples.bib} + \map{%处理在bib文件用mark标记文献类型标识符的情况 \step[fieldsource=mark,final] \step[fieldset=usera, origfieldval] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为lowercase的情况 \step[fieldsource=nameformat,match=lowercase,final] \step[fieldset=namefmtid,fieldvalue={1}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为givenahead的情况 \step[fieldsource=nameformat,match=givenahead,final] \step[fieldset=namefmtid,fieldvalue={2}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为familyahead的情况 \step[fieldsource=nameformat,match=familyahead,final] \step[fieldset=namefmtid,fieldvalue={3}] } - \map{% + \map{%处理在bib文件中直接给出文献的姓名格式为pinyin的情况 \step[fieldsource=nameformat,match=pinyin,final] \step[fieldset=namefmtid,fieldvalue={4}] } - \map{% - %\perdatasource{examples.bib} + \map{%根据article确定文献类型标识符 \pertype{article} \step[fieldset=usera, fieldvalue={J}] } - \map{ + \map{%根据periodical确定文献类型标识符 \pertype{periodical} \step[fieldset=usera, fieldvalue={J}] - \step[fieldsource=author] %有时会把author和editor混淆,处理后避免该问题 + \step[fieldsource=author] %有时会把author和editor混淆,处理后使用editor \step[fieldset=editor, origfieldval] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } - \map{ - \pertype{newspaper}%增加一个新闻报纸的类型newspaper - \step[fieldset=usera, fieldvalue={N}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为article后判断 - \step[fieldset=note, fieldvalue=news] + \map{%根据增加一个新闻报纸的类型newspaper确定文献类型标识符 + \pertype{newspaper} + \step[fieldset=usera, fieldvalue={N}] + \step[fieldset=note, fieldvalue=news]%因为没有专门的驱动,记录note方便映射为article后判断 } - \map{ - \pertype{database}%对应增加的一个数据库类型database - \step[fieldset=usera, fieldvalue={DB}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据库类型database确定文献类型标识符 + \pertype{database} + \step[fieldset=usera, fieldvalue={DB}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{dataset}%对应增加的一个数据集类型dataset - \step[fieldset=usera, fieldvalue={DS}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个数据集类型dataset确定文献类型标识符 + \pertype{dataset} + \step[fieldset=usera, fieldvalue={DS}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{software}%对应增加的一个软件类型software - \step[fieldset=usera, fieldvalue={CP}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个软件类型software确定文献类型标识符 + \pertype{software} + \step[fieldset=usera, fieldvalue={CP}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{map}%对应增加的一个舆图类型map - \step[fieldset=usera, fieldvalue={CM}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个舆图类型map确定文献类型标识符 + \pertype{map} + \step[fieldset=usera, fieldvalue={CM}]% + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{archive}%对应增加的一个档案类型archive - \step[fieldset=usera, fieldvalue={A}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个档案类型archive确定文献类型标识符 + \pertype{archive} + \step[fieldset=usera, fieldvalue={A}] + \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } - \map{ - \pertype{misc}%当misc类型带有网址时,将其转换为online类型 + \map{%因为misc类型本身就是没有类型,而不像其它文献有明确的类型,所以 + %当misc类型带有网址时,直接将其转换为online类型 + \pertype{misc} \step[fieldsource=url,final] \step[typesource=misc,typetarget=online] } - \map{ - \pertype{misc}%对应增加的一个备选类型misc - \step[fieldset=usera, fieldvalue={Z}]%没有专门的驱动,定义一个usera域,方便映射后使用 + \map{%对应增加的一个备选类型misc确定文献类型标识符 + \pertype{misc} + \step[fieldset=usera, fieldvalue={Z}]% } \map{ \pertype{book} \pertype{inbook} \step[fieldset=usera, fieldvalue={M}] - \step[fieldsource=version] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=version] %有时会把version和edition混淆,处理后直接用edition \step[fieldset=edition, origfieldval] } \map{ - \pertype{standard}%兼容老的standard类型 - \step[fieldset=usera, fieldvalue={S}]%因为没有专门的驱动,这句的目的是定义一个usera域,方便映射为book和inbook后判断 - \step[fieldset=note, fieldvalue=standard] + \pertype{inbook} + \step[fieldsource=editor]%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{%兼容老的standard类型,确定文献类型标识符 + \pertype{standard} + \step[fieldset=usera, fieldvalue={S}] + \step[fieldset=note, fieldvalue=standard]%因为没有专门的驱动,记录note方便映射为book和inbook后判断 } \map{ \pertype{patent} @@ -450,67 +580,81 @@ \pertype{inproceedings} \pertype{conference}%兼容老的conference类型 \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,处理后避免该问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] % + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor \step[fieldset=bookauthor, origfieldval] } \map{ \pertype{proceedings} \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution] %有时会把publisher和institution混淆,这里处理后就没有这个问题 + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] + } + \map{ + \pertype{incollection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=publisher, origfieldval] + \step[fieldsource=editor]%%有时会把editor和bookauthor混淆,处理后使用bookauthor + \step[fieldset=bookauthor, origfieldval] + } + \map{ + \pertype{collection} + \step[fieldset=usera, fieldvalue={G}] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher \step[fieldset=publisher, origfieldval] - \step[fieldsource=editor] %有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{report} \pertype{techreport}%兼容老的techreport类型 \step[fieldset=usera, fieldvalue={R}] - \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后避免该问题 - \step[fieldset=institution, origfieldval] + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher + \step[fieldset=publisher, origfieldval] } \map{ \pertype{thesis} \pertype{mastersthesis}%兼容老的mastersthesis和phdthesis类型 \pertype{phdthesis} \step[fieldset=usera, fieldvalue={D}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] } \map{ \pertype{online} \pertype{electronic}%兼容老的electronic类型 \pertype{www}%兼容老的www类型 \step[fieldset=usera, fieldvalue={EB}] + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval]%因为online的出版项处理类似手册 + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 + \step[fieldset=institution, origfieldval] } \map{ \pertype{manual} \step[fieldset=usera, fieldvalue={A}] - \step[fieldsource=edition] %有时会把version和edition混淆,处理后避免该问题,可以直接用version + \step[fieldsource=edition]%有时会把version和edition混淆,处理后使用version \step[fieldset=version, origfieldval] - \step[fieldsource=organization]%因为用的report的驱动,所以需要institution域,把organization转成它以增强兼容性 + \step[fieldsource=publisher]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldset=institution, origfieldval] + \step[fieldsource=organization]%有时会把organization和institution混淆,处理后使用institution,以增强兼容性 \step[fieldset=institution, origfieldval] - } - \map{ - \pertype{incollection} - \step[fieldset=usera, fieldvalue={G}] - } - \map{ - \pertype{collection} - \step[fieldset=usera, fieldvalue={G}] - \step[fieldsource=editor] %%有的时候可能只填写了编者,没有author,把它复制一下 - \step[fieldset=author, origfieldval] } \map{ \pertype{unpublished} \step[fieldset=usera, fieldvalue={Z}] } - \map{ + \map{%作者的中文判断 \step[fieldsource=author, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=userf, fieldvalue={cn}] + \step[fieldset=userf, fieldvalue={chinese}] } - \map{ + \map{%译者的中文判断 \step[fieldsource=translator, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] - \step[fieldset=usere, fieldvalue={cn}] + \step[fieldset=usere, fieldvalue={chinese}] + } + \map{%编者的中文判断 + \step[fieldsource=editor, match=\regexp{[\x{2FF0}-\x{9FA5}]},final] + \step[fieldset=userc, fieldvalue={chinese}] } \map{%处理一些用year表示date的情况 %这样处理将会设置date域,并使得labeldatesource变为空,因为date的前缀为空(如果是urldate,那么labeldatesource就是url)。 @@ -518,20 +662,15 @@ \step[fieldsource=year] \step[fieldset=date, origfieldval] } - \map{%将title信息保存到userd中避免因为标签生成原因导致title域被清除 - \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]%} - \step[fieldset=userd, fieldvalue={cn}] + \map{%文献题名的中文判断,将信息保存到userd中,避免因为标签生成原因导致title域被清除而产生问题 + \step[fieldsource=title, match=\regexp{[\x{2FF0}-\x{9FA5}]},final]% + \step[fieldset=userd, fieldvalue={chinese}] } - \map{%将entrykey放入keywords中用于后期的使用 + \map{%将entrykey放入keywords中用于后期使用 \step[fieldsource=entrykey] \step[fieldset=keywords, origfieldval] } - \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) - \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 - \step[fieldset=keywords, fieldvalue={,}, append] - \step[fieldset=keywords, origfieldval, append] - } - \map{% + \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言 \step[fieldsource=language,match=english,final] \step[fieldset=langid,fieldvalue={english}] } @@ -555,7 +694,8 @@ \step[fieldsource=language,match=korean,final] \step[fieldset=langid,fieldvalue={english}] } - \map{%把语言信息设置language域内,而不再用userb域(20180525) + \map{%当没有language域信息给出时,根据title域来自动判断语言并设置本地化字符串语言 + %把语言信息设置language域内,而不再用userb域(20180525) %接着根据信息域字符的unicode码判断 \step[fieldsource=title,match=\regexp{[\x{0100}-\x{017F}]},final]%\x80-\xFF \step[fieldset=language,fieldvalue={french}]%法语,0080开始到00ff的字符没法匹配有点奇怪 @@ -592,6 +732,9 @@ \step[fieldset=language,fieldvalue={english}] \step[fieldset=langid,fieldvalue={english}] } + \map{%将非中文的语言放入userd中,以便进行多语言处理 + \step[fieldsource=language,fieldtarget=userd,final] + } } } @@ -602,11 +745,9 @@ % 原理方法:biblatex3.4以上版本map可使用foreach选项来处理特殊字符 \DeclareStyleSourcemap{ \maps[datatype=bibtex]{ - % \map{%尝试未定义数据模型的newspaper类型映射为article,newspaper完全是针对gb7714的新类型,在biblatex中完全没有定义 - % %但从实践看,并没有什么影响,映射过来就可以了。 - % \step[typesource=newspaper, typetarget=article, final] - % } - \map{%尝试未定义数据模型的standard类型映射为book,standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + \map{%尝试未定义数据模型的standard类型映射为其他类型book或inbook, + %standard类型在blx-dm中有出现,但仅定义了类型,域和约束等都没有定义 + %因为可能要映射两种类型,所以不能在驱动层处理,因为要做判断 \step[fieldsource=booktitle,final]%当存在booktitle域是映射为inbook \step[typesource=standard, typetarget=inbook, final] } @@ -625,6 +766,66 @@ \step[typesource=techreport, typetarget=report, final] %\step[fieldset=type, fieldvalue=techreport] } + \map{% + \pertype{report} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=report,typetarget=online] + \step[fieldset=note,fieldvalue={report}] + } + \map{% + \pertype{thesis} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=thesis,typetarget=online] + } + \map{% + \pertype{manual} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=manual,typetarget=online] + } + \map{% + \pertype{unpublished} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=unpublished,typetarget=online] + } + \map{% + \pertype{database} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=databasetypetarget=online] + } + \map{% + \pertype{dataset} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=dataset,typetarget=online] + } + \map{% + \pertype{software} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=software,typetarget=online] + } + \map{% + \pertype{map} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=map,typetarget=online] + } + \map{% + \pertype{archive} + \step[notfield=address,final]%当address不存在则继续 + \step[fieldsource=url,final]%地址不存在且存在url那么转变为online + \step[typesource=archive,typetarget=online] + } + \map[overwrite]{%这里还必须有overwrite,注意不同版本存在差异,比如texlive2015变16后biber有变化(20161207修改正确) + \step[fieldsource=note, final]%将note域信息复制给keywords,用于输出时容易区分标准和报纸 + \step[fieldset=keywords, fieldvalue={,}, append] + \step[fieldset=keywords, origfieldval, append] + } \map[overwrite, foreach={title,booktitle,journaltitle,journal,publisher,address,location,institution,organization}]{ \step[fieldsource=\regexp{$MAPLOOP}, match=\regexp{([^\\])\#}, replace=\regexp{$1\\\#}] } @@ -638,8 +839,17 @@ } } -\DeclareBibliographyAlias{newspaper}{article}%定义驱动别名,尝试以替代驱动层映射,实践表明是可行的。 -\DeclareBibliographyAlias{unpublished}{manual} +% +%驱动别名等价于驱动层映射 +% +\DeclareBibliographyAlias{newspaper}{article}% +\DeclareBibliographyAlias{inproceedings}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{conference}{inbook}%会议论文文献类型驱动 +\DeclareBibliographyAlias{incollection}{inbook}%文集中析出文献类型驱动 +\DeclareBibliographyAlias{collection}{book}%%文集类型驱动 +\DeclareBibliographyAlias{proceedings}{book}%会议论文集文献类型驱动 +\DeclareBibliographyAlias{thesis}{manual}%学位论文驱动 +\DeclareBibliographyAlias{unpublished}{manual}%其它类型驱动 \DeclareBibliographyAlias{database}{manual} \DeclareBibliographyAlias{dataset}{manual} \DeclareBibliographyAlias{software}{manual} @@ -655,9 +865,10 @@ % % 增加一个\bibitemindent尺寸用于控制list环境的itemindent % v1.0l,20180615,hzz +\setlength{\bibhang}{\biblabelsep}% \newlength{\bibitemindent} \setlength{\bibitemindent}{0pt} -\setlength{\bibhang}{\biblabelsep}% + \defbibenvironment{bibliography} {\list @@ -688,7 +899,7 @@ % \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} %源来自numeric.BBX % \DeclareFieldFormat{labelnumberwidth}{\ttfamily\mkbibbrackets{#1}\hfill} \DeclareFieldFormat{labelnumberwidth}{% -\ifcase\value{alignlabel}%右对齐,整个标签为右对齐 +\ifcase\value{gbalignlabel}%右对齐,整个标签为右对齐 \mkgbnumlabel{#1}% \or%左对齐,整个标签为左对齐 \mkgbnumlabel{#1}\hfill% @@ -752,7 +963,7 @@ % 设置单元或块等的标点 %===================================================================== \renewrobustcmd*{\bibinithyphendelim}{\addhighpenspace}%用于处理姓名中名部分存在-的情况,比如ZHANG Yu-xin -\renewcommand*{\subtitlepunct}{\addcolon\space} %修改标题和其它标题信息间的标点,来源biblatex.def, +\renewcommand*{\subtitlepunct}{\addcolon\addspace} %修改标题和其它标题信息间的标点,来源biblatex.def, % % 利用set实现的多语言文献不同语言间的分隔符 % 20170411,双语之间用newline替换par,避免采用gb7714-2015的项对齐方式第二语言间分段导致没有缩进 @@ -761,13 +972,16 @@ % 这里调整一下两种语言参考文献的间隔,源来自biblatex.def \renewcommand*{\entrysetpunct}{\adddot\newline\nobreak} \renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%%页码引用格式的修改,修改为用冒号 - +%\renewcommand{\relateddelim}{}%\par %===================================================================== % 修改域的格式,重定义域的输出宏 %===================================================================== % % 新增文献类型标识符的格式 +% []前的nobreak,从GB4.1节的例子看不应该加,所以去掉 +% 但因为考虑到cjk字符和[]之间可能添加空格,所以仍然加上 +% 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% \iftoggle{bbx:url}{\iffieldundef{url}%当存在url时,增加一个OL标识符 @@ -808,8 +1022,8 @@ % 20180603,v1.0l,增加使用nameformat域来选择姓名格式 \DeclareNameFormat{namefmtselected}{% \iffieldundef{namefmtid}{}% -{\defcounter{namefmtcase}{\thefield{namefmtid}}}% -\ifcase\value{namefmtcase}% +{\defcounter{gbnamefmtcase}{\thefield{namefmtid}}}% +\ifcase\value{gbnamefmtcase}% \ifgiveninits {\usebibmacro{name:gbuppercase} {\namepartfamily} @@ -965,6 +1179,11 @@ \setcounter{biburlnumpenalty}{100} %让url可以在数字后断行 \setcounter{biburlucpenalty}{100} %让url可以在大写字母后断行 \setcounter{biburllcpenalty}{100} %让url可以在小写字母后断行 +\DeclareFieldFormat{doi}{% + \rmfamily{DOI}\addcolon\space + \ifhyperref + {\href{https://doi.org/#1}{\nolinkurl{#1}}} + {\nolinkurl{#1}}} \DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{-}}%将页码间隔符替换会英文的短横线 @@ -1086,7 +1305,7 @@ \AtEveryBibitem{% \ifboolexpr{ -togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{cn}} +togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{chinese}} } { @@ -1133,23 +1352,75 @@ togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{cn}} % % 修改作者数量超过限定值,做省略时的处理格式 +% v1.0,20160701,hzz +% v1.0O,20190103,hzz,修改利用新定义的一个分隔符strandothersdelim % -% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用etcl。 +% 原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。 \renewbibmacro*{name:andothers}{% \ifboolexpr{ test {\ifnumequal{\value{listcount}}{\value{liststop}}} and test \ifmorenames - }{%这里做一个判断是在处理author还是translator用于两者是不同语言的情况 - \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% - %这句判断如果放到\andothersdelim后面会在等或etc.前增加一个空格,所以放前面 - \ifnumgreater{\value{liststop}}{1} + }{\ifnumgreater{\value{liststop}}{1} {\finalandcomma}% {}%biblatex作者要区别单作者加等的情况,这里为符合gbt7714-2015第7.2节的要求加上了逗号。 -\printdelim{andothersdelim}\iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{\bibstring{andothers}}% -%\andothersdelim\bibstring{andotherscn} +\printdelim{andothersdelim}\printdelim{strandothersdelim}% }{}} +% +% 修改省略作者后的本地化字符串,比如et al. +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andotherscn=“等”,否则用andothers=“et al.”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{strandothersdelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andotherscn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andotherskr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andothersjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{french}{\bibstring{andothers}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{andothers}}{}% + }\space% + \or% + \bibstring{andotherscn}\space% + \or% + \bibstring{andothers}\space% + \fi} + +% +% 修改最后一个作者前的字符串,比如 and +% v1.0o,20190103,hzz +% +% 原理方法:默认情况下判断作者或译者是否中文,若中文用字符andcn=“和”,否则用and=“and”。 +% 非默认情况,根据选项信息,选择选择强制中文或英文 +% 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 +% 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 +\DeclareDelimFormat{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% + \addspace% + \ifcurrentname{translator}{\testCJKfirst{usere}}{\testCJKfirst{userf}}% + \ifcurrentname{editor}{\testCJKfirst{userc}}{\testCJKfirst{userf}}% + \ifcase\value{gbbiblocalcase}% + \iftoggle{ifCJKforgbt}{\bibstring{andcn}}{% +\iffieldequalstr{userd}{korean}{\bibstring{andkr}}{}% +\iffieldequalstr{userd}{japnese}{\bibstring{andjp}}{}% +\iffieldequalstr{userd}{english}{\bibstring{and}}{}% +\iffieldequalstr{userd}{french}{\bibstring{and}}{}% +\iffieldequalstr{userd}{russian}{\bibstring{and}}{}% + }\space% + \or% + \bibstring{andcn}\space% + \or% + \bibstring{and}\space% + \fi} + % % url和url日期格式 % @@ -1234,12 +1505,19 @@ togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{cn}} } % -% 出版社和地址的处理 +% 当location等出版项超过maxitem缩减后不再输出etal +% +\DeclareListFormat{location}{% + \usebibmacro{list:delim}{#1}% + #1\isdot} +\DeclareListAlias{institution}{location} +\DeclareListAlias{publisher}{location} + +% 新增一个样式用于输出连续出版物的地址,单位,时间, +% 用于periodical连续出版物的出版社和地址的处理 % % v1.0k,20180425,为出版信息增加字体控制命令,hzz -% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 -% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 -% 新增一个样式用于输出连续出版物的地址,单位,时间,%类似\newbibmacro*{publisher+location+date} +% %类似\newbibmacro*{publisher+location+date} \newbibmacro*{location+institution+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% @@ -1270,30 +1548,27 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}% \newunit}% } % +% 通用的出版社和地址的处理 % +% 原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。 +% 事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。 +% 注意标准standard类型,因为当没有出版项时直接省略,所以做特殊处理 \renewbibmacro*{publisher+location+date}{\bibpubfont% \iftoggle{bbx:gbpub}% {\testCJKfirst{userd}% -\ifboolexpr{% -test {\iflistundef{location}} and test {\iflistundef{publisher}}% -}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}% -{\printtext{[S.l.\space :\space s.n.\adddot]}}% -}{% -\iflistundef{location}{%\adddot -\iffieldequalstr{note}{standard}{}{%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 -\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}% -}}% \bibstring{noaddress} -{\printlist{location}\addcolon\addspace}% -%\addcolon\addspace% -\iflistundef{publisher}{% -\iffieldequalstr{note}{standard}{}{% -\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -{\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% -}}% -{\printlist{publisher}}}% + \ifboolexpr{ test {\iflistundef{location}} and test {\iflistundef{publisher}} }% + {\iffieldequalstr{note}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}% + {\iflistundef{location}{%\adddot + \iffieldequalstr{note}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。 + {\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\addcolon\addspace}}}% \bibstring{noaddress} + {\printlist{location}\addcolon\addspace}%%\addcolon\addspace% + \iflistundef{publisher}{% + \iffieldequalstr{note}{standard}{}% + {\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}% + {\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}}}% + {\printlist{publisher}}}% \setunit*{\addcomma\addspace}%\addcomma\addspace% -\usebibmacro{date}% -%\newunit %去掉这个标点 +\usebibmacro{date}%%\newunit %去掉这个标点 }% {\printlist{location}% \iflistundef{publisher} @@ -1301,11 +1576,53 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\newunit + \usebibmacro{date}%%\newunit }% } + + +% +% 修改了一个institution+location+date用于manual、report、thesis等类型 +% +% 20180425,v1.0k,增加了字体控制命令,hzz +% 20190105,v1.0o,加了一个编组避免\usebibmacro{date}把month和day信息去掉 +\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 +{\printlist{location}%%加了一个编组避免\usebibmacro{date}把month和day信息去掉 + \iflistundef{institution} + {\setunit*{\addcomma\space}} + {\setunit*{\addcolon\space}}% + \printlist{institution}% + \setunit*{\addcomma\space}% + \usebibmacro{date}% + %\newunit + }} + +% +% 对volume卷信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{volume}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{volumecn}}% +{\bibstring{volume}~#1}% +}% volume of a book +\DeclareFieldFormat[article,periodical]{volume}{#1}% volume of a journal + +% +% 对number册信息格式做出修改 +% v1.0o,20190105,hzz +% +\DeclareFieldFormat{number}{#1}% +\DeclareFieldFormat[book,collection,inbook,% +incollection,proceedings,inproceedings]{number}{% +\testCJKfirst{userd}% +\iftoggle{ifCJKforgbt}% +{\bibstring{serialcn}#1\bibstring{numbercn}}% +{#1}% +}% + % % 对edition版本信息格式做出修改 % @@ -1400,8 +1717,8 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {\iffieldequalstr{note}{news}{\usebibmacro{newsdate}}%判断是否为报纸 {\usebibmacro{date}}% }}% - {\printfield{issue}% - \setunit*{\addspace}% + {\iftoggle{bbx:gbstrict}{}{\printfield{issue}% + \setunit*{\addspace}}% %\usebibmacro{date} \iffieldundef{note}{\usebibmacro{date}}%判断一下,是否是报纸 {\iffieldequalstr{note}{news}{\usebibmacro{newsdate}}%判断是否为报纸 @@ -1445,8 +1762,8 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \renewbibmacro*{editorstrg}{%源来自biblatex.DEF \printtext[editortype]{% \iffieldundef{editortype} - { -% \ifboolexpr{ %这一段去掉 + {% +% \ifboolexpr{ %这一段去掉,未定义编者类型情况下不处理 % test {\ifnumgreater{\value{editor}}{1}} % or % test {\ifandothers{editor}} @@ -1454,7 +1771,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % {\bibstring{editors}} % {\bibstring{editor}} } - {\ifbibxstring{\thefield{editortype}} + {\ifbibxstring{\thefield{editortype}} %定义编者类型情况下处理,以后根据需要修改 {\ifboolexpr{ test {\ifnumgreater{\value{editor}}{1}} or @@ -1462,7 +1779,8 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% } {\bibstring{\thefield{editortype}s}} {\bibstring{\thefield{editortype}}}} - {\thefield{editortype}}}}} + {\thefield{editortype}}}% + }} % % 修改期刊的标题 @@ -1476,11 +1794,11 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \ifboolexpr{test {\iffieldundef{subtitle}}}%这里增加了对子标题的判断,解决不判断多一个点的问题 {}{\setunit{\subtitlepunct} \printfield[titlecase]{subtitle}}% - % - %\iffieldundef{usera}{}{}%在标题后直接给出文献标识字母 - \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}% - }%把编组结束移到这里 - }% + %}%把编组结束移到后面去 + \iftoggle{bbx:gbtype}{% + \iffieldundef{usera}{}{%在标题后直接给出文献标识字母 + \printfield[gbtypeflag]{usera}}}{} + }} } % @@ -1524,21 +1842,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{issue}% \newunit} -% -% 修改了一个institution+location+date用于report等类型 -% -% 20180425,v1.0k,增加了字体控制命令,hzz -\renewbibmacro*{institution+location+date}{\bibpubfont%当没有institution时不处理。 - \printlist{location}% - \iflistundef{institution} - {\setunit*{\addcomma\space}} - {\setunit*{\addcolon\space}}% - \printlist{institution}% - \setunit*{\addcomma\space}% - \usebibmacro{date}% - %\usebibmacro{modifydate}% - %\newunit - } % % 修改in:用于inbook、incollection、inproceedings等类型 @@ -1546,7 +1849,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % % 原理方法:使用bibmacro{in:}改变了以前在driver中直接输出//的方式,同时也简化了标点控制。 \renewbibmacro*{in:}{% - \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\addthinspace}}% + \iftoggle{bbx:gbpunctin}{\printtext{\texttt{//}\allowbreak}}%\addthinspace {\setunit{\adddot\addspace}\printtext{\bibstring{in}}}}%\newunit\newblock\intitlepunct % @@ -1556,12 +1859,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}%这个注释去除标题前空格 +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{maintitle+title}% \iftoggle{bbx:gbstrict}{}{% \newunit @@ -1570,14 +1868,14 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{byauthor}% \newunit\newblock}% \usebibmacro{byeditor+others}% -\newunit\newblock% +\newunit \printfield{edition}% -\newunit% +\newunit\newblock%% +\iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% {\printfield{volume}% \printfield{part}}% {}% -\iftoggle{bbx:gbstrict}{}{% \newunit% \printfield{volumes}% \newunit\newblock% @@ -1590,7 +1888,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{chapter+pages}% \usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 \newunit\newblock% - %\newunit \printfield{pagetotal}% \newunit\newblock% \iftoggle{bbx:isbn} @@ -1609,69 +1906,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% {}% \usebibmacro{finentry}} -% -% 文集中析出文献类型驱动 -% - - -% 直接利用inbook做incollection -\csdef{blx@bbx@incollection}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% -%\setunit{\labelnamepunct}\newblock -\usebibmacro{title}% -\usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}% -\usebibmacro{bybookauthor}% -\ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - %\newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - - % % 期刊文章,连续出版物中的析出文献的格式 @@ -1680,7 +1914,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -1698,6 +1932,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % \usebibmacro{byeditor+others}% % \newunit \usebibmacro{note+pages}% + \iffieldequalstr{note}{news}{}{\usebibmacro{modifydate}}%带括号的修改或更新日期,当是新闻时不输出 \usebibmacro{doi+eprint+url}%从后面移上来,调整url和页码之间的位置 \newunit\newblock \iftoggle{bbx:isbn} @@ -1761,7 +1996,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 %\usebibmacro{title}% \usebibmacro{patenttitle}%给出专利专用的标题输出 \iftoggle{bbx:gbstrict}{}{% @@ -1805,13 +2040,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% - %\setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -1819,16 +2048,17 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit\newblock \usebibmacro{byauthor}% \newunit\newblock - \usebibmacro{byeditor+others}}% + \usebibmacro{byeditor+others}% \newunit\newblock - \printfield{version}% + \printfield{note}}% \newunit - \printfield{note}% + \printfield{version}% \newunit\newblock - \printlist{organization}% +%\printlist{organization}% + \printlist{institution}% \newunit\newblock %\usebibmacro{date}% - \usebibmacro{modifydate}%修改为带括号的时间 + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{url+urldate}%从下面移上来 \newunit\newblock \iftoggle{bbx:eprint} @@ -1850,48 +2080,6 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % -% 学位论文修改 -% -\csdef{blx@bbx@thesis}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printfield{type}}% - \newunit\newblock - \usebibmacro{institution+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - -% % 报告类型驱动 % 2016-11-11,增加了译者信息 % @@ -1899,7 +2087,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -1917,7 +2105,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \newunit \printfield{note}% \newunit\newblock - \usebibmacro{institution+location+date}% + \usebibmacro{publisher+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% \usebibmacro{doi+eprint+url}% @@ -1944,12 +2132,12 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % 手册类型驱动 % 2016-11-11,增加了译者信息 % -% 直接利用report做manual +% \csdef{blx@bbx@manual}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author}% - \setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit% @@ -1970,6 +2158,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{institution+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% + \usebibmacro{modifydate}%修改或更新日期,为带括号的时间 \usebibmacro{doi+eprint+url}% \newunit \printfield{pagetotal}% @@ -1998,7 +2187,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/editor+others/translator+others}% - \setunit{\printdelim{nametitledelim}}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \iftoggle{bbx:gbstrict}{}{% \newunit @@ -2033,152 +2222,32 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% % -% 会议论文文献类型驱动 -% -\csdef{blx@bbx@inproceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{title}% -% \newunit -% \printlist{language}% -% \newunit\newblock -% \usebibmacro{byauthor}% -% \newunit\newblock -\usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}% - \usebibmacro{bybookauthor}%用类似inbook的方式处理 - \ifnameundef{bookauthor}{}{\newunit}%替换下一句 - %\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - -% -% 会议论文集文献类型驱动 -% -\csdef{blx@bbx@proceedings}{%源来自standard.BBX - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - %\usebibmacro{editor+others}% - \usebibmacro{author/translator+others}% - \setunit{\labelnamepunct}\newblock - \usebibmacro{maintitle+title}% - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}}% - \newunit\newblock - \usebibmacro{event+venue+date}% - \newunit\newblock -% \usebibmacro{byeditor+others}% -% \newunit\newblock - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \iftoggle{bbx:gbstrict}{}{% - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \printlist{organization}% - \newunit} - \usebibmacro{publisher+location+date}% - %\newunit\newblock - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}%从下面移上来 - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock -% \usebibmacro{doi+eprint+url}% -% \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} - - -% % 专著中的析出文献的格式修改 % \csdef{blx@bbx@inbook}{%源来自standard.bbx \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 -\ifnameundef{editor}{% -\ifnameundef{translator}{\relax}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}}% -{\setunit{\labelnamepunct}\newblock}% -%\setunit{\labelnamepunct}\newblock +\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点 \usebibmacro{title}% \usebibmacro{in:}% -%\printtext{\texttt{//}\addthinspace}%%\texttt{//}\addnbthinspace -\usebibmacro{bybookauthor}% -\ifnameundef{bookauthor}{}{\newunit}%替换下一句\newblock -%\newunit\newblock -\usebibmacro{maintitle+booktitle}%}% - \newunit\newblock +%\printtext{\texttt{//}\addthinspace}% + \usebibmacro{bybookauthor}% + \ifnameundef{bookauthor}{}{\newunit}%替换下一句 + %\newunit\newblock + \usebibmacro{maintitle+booktitle}% + \setunit{\addcolon}\printfield{volume}\printfield{number}%增加卷和册信息 + \newunit\newblock% % \usebibmacro{byeditor+others}% % \newunit\newblock \printfield{edition}% \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% \iftoggle{bbx:gbstrict}{}{% - \newunit +% \iffieldundef{maintitle} +% {\printfield{volume}% +% \printfield{part}} +% {}% +% \newunit \printfield{volumes}% \newunit\newblock \usebibmacro{series+number}}% @@ -2208,65 +2277,7 @@ test {\iflistundef{location}} and test {\iflistundef{publisher}}% \usebibmacro{finentry}} -% -% -% 文集类型驱动 -% -% 直接利用book做collection -\csdef{blx@bbx@collection}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% -\usebibmacro{author/editor+others/translator+others} -\ifnameundef{author}{%这一段用于去除作者不存在时多出的标点 - \ifnameundef{editor}{% - \ifnameundef{translator}{\relax}% - {\setunit{\labelnamepunct}\newblock}}% - {\setunit{\labelnamepunct}\newblock}}% - {\setunit{\labelnamepunct}\newblock}% - \usebibmacro{maintitle+title} - \iftoggle{bbx:gbstrict}{}{% - \newunit% - \printlist{language}% - \newunit\newblock - \usebibmacro{byauthor}}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}% - \newunit - \iffieldundef{maintitle} - {\printfield{volume}% - \printfield{part}} - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - %\printfield{note}% - %\newunit\newblock - \usebibmacro{publisher+location+date}% - %\newunit\newblock %这里标点去掉 - \usebibmacro{chapter+pages}% - \usebibmacro{doi+eprint+url}%从下面移动到上面来,因为gbt2015的url需直接放在页码后面。 - \newunit\newblock - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - %\usebibmacro{doi+eprint+url}% - %\newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \newunit\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} + }{} } diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx index 165c133a4cd..2011cd03af8 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx @@ -7,7 +7,8 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\ProvidesFile{gb7714-2015.cbx}[2018/11/04 v1.0n biblatex citation style] +\def\versionofgbtstyle{2019/01/19 v1.0p} +\ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style] % % 加载标准样式 |