texlive[62704] Master/texmf-dist: biblatex-gb7714-2015 (14mar22)

commits+karl at tug.org commits+karl at tug.org
Mon Mar 14 21:14:38 CET 2022


Revision: 62704
          http://tug.org/svn/texlive?view=revision&revision=62704
Author:   karl
Date:     2022-03-14 21:14:37 +0100 (Mon, 14 Mar 2022)
Log Message:
-----------
biblatex-gb7714-2015 (14mar22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md
    trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf
    trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
    trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/makeall.py
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.cbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.cbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.cbx

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md	2022-03-14 20:14:37 UTC (rev 62704)
@@ -1,4 +1,4 @@
-<b>Date of last change: 2022-03-07 to version v1.1e</b>
+<b>Date of last change: 2022-03-13 to version v1.1f</b>
 
 
 # biblatex-gb7714-2015: a biblatex style  package
@@ -1561,6 +1561,7 @@
 * 2022/01/24 v1.1c,ctan
 * 2022/02/22 v1.1d,ctan,github
 * 2022/03/07 v1.1e,ctan,github
+* 2022/03/13 v1.1f,ctan,github
 
 
 ---------------------------------------------------------

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex	2022-03-14 20:14:37 UTC (rev 62704)
@@ -2430,6 +2430,19 @@
 
 其中标题相关的附加信息除了可以直接在title域中录入外,还可以在subtitle或titleaddon域中添加,后面出现的booktitle,journaltitle,也有类似情况,可以在booktitleaddon或者journalsubtitle中附加信息。其中出版地用location域表示,也可以用传统的address表示,biblatex将address作为location的别名处理,使用两者中的任何一个都可以表示出版地信息。\bc{特别强调: usera域不用录入,该域内容由bbx样式文件根据条目类型自动处理得到。}
 
+\qd{需要注意的是,当文献没有作者(责任制),但有编者、译者时,可以利用编者和译者替代责任者,这是需要使用选项useeditor或usetranslator。当前默认使用该上述选项,若不使用则可能出现标点问题。文献条目比如:}
+
+\begin{texlist}
+ at Book{周鲁卫2011--,
+  translator = {周鲁卫},
+  title      = {软物质物理导论},
+  year       = {2011},
+  publisher  = {复旦大学出版社},
+  address    = {上海},
+  pages      = {1},
+}
+\end{texlist}
+
 \qd{由于biblatex不支持standard条目类型,所以“标准”类型可以用book或inbook替代,但使用entrysubtype或note域等于standard作为一个区分,当entrysubtype或note域数据存在且内容等于standard时,就将其作为“标准”文献进行处理,其文献类型标识用S表示。这里为什么使用entrysubtype或note域而不是type域和keywords域,是因为考虑到entrysubtype通常标准样式不使用,而note域一般情况下没有什么特殊意义,使用它不会导致冲突,而type域在biblatex标准样式中没有被book和article条目类型当作支持的域,对于支持该域的条目比如thesis,type域又有特殊的意义,是用来区分master和doctor的,而keywords域在biblatex-gb7714-2015中用来存放entrykey以实现一些特殊的判断,所以也不便于使用它。}
 
 \subsubsection{标准/standard}\label{sec:standard}
@@ -2486,6 +2499,8 @@
 其中连续出版物的出版者用institution表示。
 \qd{因为连续出版物可能用到两个日期,两个卷,两个期,所以录入数据时需要特别处理。不需要录入endyear等信息,只需要在到year或date域录入两个日期,由biber自动解析,由于一个日期内部的年月日之间是用-进行分隔,因此两个日期之间用/分隔。而卷和期由于可能有合订模式,且合订卷期之间用/分隔(参考GB/T 7714-2015第8.8.3节),因此如果需要解析有起止范围的卷和期,录入到volume和number域的信息中起止值之间应用-分隔。}
 
+需要注意:当gbpub选项为false时,不使用起止范围的卷期,会导致只有起始范围时不输出后面的-字符,若要使其与国标完全一致,则赢使用gbpub=true选项。
+
 \subsubsection{连续出版物的析出文献/article}
 \begin{refentry}{}{}%[break at=0.5cm/0pt]
 连续出版物的析出文献对应的biblatex的entrytype为: article。文献类型标识用J表示。

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/makeall.py
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/makeall.py	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/makeall.py	2022-03-14 20:14:37 UTC (rev 62704)
@@ -19,7 +19,8 @@
 
 	
 	pwd=os.getcwd()
-	filesneedcopy=['chinese-erj.bbx', 'chinese-erj.cbx','example.bib', 'gb7714-1987.bbx', 'gb7714-1987.cbx', 
+	filesneedcopy=['CCNUthesis.bbx','CCNUthesis.cbx','NWAFUthesis.bbx','NWAFUthesis.cbx','SEUthesis.bbx','SEUthesis.cbx',
+	'chinese-erj.bbx','chinese-erj.cbx','example.bib', 'gb7714-1987.bbx', 'gb7714-1987.cbx', 
 	'gb7714-1987ay.bbx', 'gb7714-1987ay.cbx', 'gb7714-2005.bbx', 'gb7714-2005.cbx', 'gb7714-2005ay.bbx',
 	'gb7714-2005ay.cbx', 'gb7714-2015-gbk.def', 'gb7714-2015.bbx', 'gb7714-2015.cbx', 'gb7714-2015ay.bbx',
 	'gb7714-2015ay.cbx', 'gb7714-2015ms.bbx', 'gb7714-2015ms.cbx', 'gb7714-2015mx.bbx', 'gb7714-2015mx.cbx']
@@ -89,6 +90,7 @@
 			print('pf=',pf)
 			if pf:
 				for file in pf:
+					print('---------compile new file:---------')
 					print('file=',file)
 					print('file=',os.path.splitext(file))
 					jobname=os.path.splitext(file)[0]
@@ -117,6 +119,8 @@
 				jobname="tngbcitationaynew"
 			else:
 				jobname="tngbcitationay"
+			print('---------compile new file:---------')
+			print('file=',jobname)
 			subprocess.run(["xelatex", "-no-pdf",jobname])
 			subprocess.run(["biber",jobname])
 			subprocess.run(["xelatex",jobname])

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2022/03/07 v1.1e}
+\def\versionofgbtstyle{2022/03/13 v1.1f}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -630,6 +630,7 @@
       maxitems     = 1,%设置列表最大数量
       minitems     = 1, %设置缩减后的列表最小数量
       isbn=false,
+      usetranslator=true,
     }
 
     %
@@ -2367,7 +2368,7 @@
 \renewbibmacro*{bytranslator+others}{\bibauthorfont%
   \ifnameundef{translator}
     {}
-    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}
+    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}%
      %\setunit{\addspace}%
      \printnames[bytranslator]{translator}%
      \clearname{translator}%
@@ -3325,17 +3326,18 @@
 
 %
 %   对edition版本信息格式做出修改
-%
+%   注意实现逻辑:
+%   1. 不是整数时原样输出
+%   2. 当是整数且大于1时按版本格式输出
 \DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
-\ifnumgreater{#1}{1}{%
     \testCJKfirst{userd}%
     \iftoggle{ifCJKforgbt}%
         {\ifinteger{#1}%
-            {\printtext{#1\str at edition}}%
+            {\ifnumgreater{#1}{1}{\printtext{#1\str at edition}}{}}%
             {#1\isdot}}%
         {\ifinteger{#1}%
-            {\mkbibordedition{#1}~\bibstring{edition}}%
-            {#1\isdot}}}{}%
+            {\ifnumgreater{#1}{1}{\mkbibordedition{#1}~\bibstring{edition}}{}}%
+            {#1\isdot}}%
 }
 
 %
@@ -3571,7 +3573,7 @@
     and
     not test {\ifnameundef{translator}}
   }
-    {\renewcommand{\aftertransdelim}{\adddot\addspace}{\adddot\addspace}\printnames{translator}%
+    {\renewcommand{\aftertransdelim}{\adddot\addspace}\printnames{translator}%
      \clearname{translator}}
     {}}
 
@@ -3685,6 +3687,7 @@
 %   20190212,v1.0q,增加中英文区分,by hzz
 %
 %   原理方法:使用bibmacro{in:}改变了以前在driver中直接输出//的方式,同时也简化了标点控制。
+%   需要注意\bibstring命令会把首字母大写的。
 \renewbibmacro*{in:}{%
  \iftoggle{bbx:gbpunctin}{\printtext{\allowbreak\texttt{//}\allowbreak}}%\addthinspace
                          {\setunit{\adddot\addspace}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -10,7 +10,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2022/03/07 v1.1e}
+\def\versionofgbtstyle{2022/03/13 v1.1f}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -572,6 +572,7 @@
       isbn=false,
       sorting=gb7714-2015,
       sortlocale=zh__pinyin,%zh__big5han,%zh__stroke,%zh__gb2312han,%zh__pinyin,
+      usetranslator=true,
     }
 
     %
@@ -2221,7 +2222,7 @@
 \renewbibmacro*{bytranslator+others}{\bibauthorfont%
   \ifnameundef{translator}
     {}
-    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}
+    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}%
      %\setunit{\addspace}%
      \printnames[bytranslator]{translator}%
      \clearname{translator}%
@@ -3147,17 +3148,18 @@
 
 %
 %   对edition版本信息格式做出修改
-%
+%   注意实现逻辑:
+%   1. 不是整数时原样输出
+%   2. 当是整数且大于1时按版本格式输出
 \DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
-\ifnumgreater{#1}{1}{%
     \testCJKfirst{userd}%
     \iftoggle{ifCJKforgbt}%
         {\ifinteger{#1}%
-            {\printtext{#1\str at edition}}%
+            {\ifnumgreater{#1}{1}{\printtext{#1\str at edition}}{}}%
             {#1\isdot}}%
         {\ifinteger{#1}%
-            {\mkbibordedition{#1}~\bibstring{edition}}%
-            {#1\isdot}}}{}%
+            {\ifnumgreater{#1}{1}{\mkbibordedition{#1}~\bibstring{edition}}{}}%
+            {#1\isdot}}%
 }
 
 

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2022/03/07 v1.1e}
+\def\versionofgbtstyle{2022/03/13 v1.1f}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -580,6 +580,7 @@
       urldate =gb7714-2015, %iso,针对3.10<=biblatex版本的选项设置,比如texlive2018中的3.11版
       eventdate =gb7714-2015,
       gblocal=gb7714-2015,
+      usetranslator=true,
     }
 
 
@@ -1898,7 +1899,7 @@
 \renewbibmacro*{bytranslator+others}{\bibauthorfont%
   \ifnameundef{translator}
     {}
-    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}
+    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}%
      %\setunit{\addspace}%
      \printnames[bytranslator]{translator}%
      \clearname{translator}%
@@ -2199,17 +2200,18 @@
 }%
 %
 %   对edition版本信息格式做出修改
-%
+%   注意实现逻辑:
+%   1. 不是整数时原样输出
+%   2. 当是整数且大于1时按版本格式输出
 \DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
-\ifnumgreater{#1}{1}{%
     \testCJKfirst{userd}%
     \iftoggle{ifCJKforgbt}%
-        {\ifinteger{#1}%
-            {\printtext{#1\str at edition}}%
-            {#1\isdot}}%
-        {\ifinteger{#1}%
-            {\mkbibordedition{#1}~\bibstring{edition}}%
-            {#1\isdot}}}{}%
+        {\ifinteger{##1}%
+            {\ifnumgreater{##1}{1}{\printtext{##1\str at edition}}{}}%
+            {##1\isdot}}%
+        {\ifinteger{##1}%
+            {\ifnumgreater{##1}{1}{\mkbibordedition{##1}~\bibstring{edition}}{}}%
+            {##1\isdot}}%
 }%
 %
 %   对version的版本信息做出修改

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx	2022-03-14 15:32:23 UTC (rev 62703)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2022/03/07 v1.1e}
+\def\versionofgbtstyle{2022/03/13 v1.1f}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -472,6 +472,7 @@
       minitems     = 1, %设置缩减后的列表最小数量
       isbn=false,
       sortlocale=zh__pinyin,%zh__big5han,%zh__stroke,%zh__gb2312han,%zh__pinyin,
+      usetranslator=true,
     }
 
     %
@@ -1831,7 +1832,7 @@
 \renewbibmacro*{bytranslator+others}{\bibauthorfont%
   \ifnameundef{translator}
     {}
-    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}
+    {\iffieldequalstr{usere}{chinese}{}{\usebibmacro{bytranslator+othersstrg}}%
      %\setunit{\addspace}%
      \printnames[bytranslator]{translator}%
      \clearname{translator}%
@@ -2481,17 +2482,18 @@
 
 %
 %   对edition版本信息格式做出修改
-%
+%   注意实现逻辑:
+%   1. 不是整数时原样输出
+%   2. 当是整数且大于1时按版本格式输出
 \DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
-\ifnumgreater{#1}{1}{%
     \testCJKfirst{userd}%
     \iftoggle{ifCJKforgbt}%
         {\ifinteger{#1}%
-            {\printtext{#1\str at edition}}%
+            {\ifnumgreater{#1}{1}{\printtext{#1\str at edition}}{}}%
             {#1\isdot}}%
         {\ifinteger{#1}%
-            {\mkbibordedition{#1}~\bibstring{edition}}%
-            {#1\isdot}}}{}%
+            {\ifnumgreater{#1}{1}{\mkbibordedition{#1}~\bibstring{edition}}{}}%
+            {#1\isdot}}%
 }
 
 %

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.bbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,341 @@
+%%
+%% ---------------------------------------------------------------
+%% gb7714-CCNU.bbx --- A bibliography style for CCNUthesis template
+%% ---------------------------------------------------------------
+%%
+%%用法:类似于标准的样式在biblatex加载时设置样式
+%%文献表正常处理,标注命令主要用cite和parencite
+\ProvidesFile{gb7714-CCNU.bbx}
+  [2022/03/10 v0.1 a biblatex bibliography style for CCNUthesis]
+
+
+%关于格式和bib文件的注意点
+%1. bib文件按照正常的模式写,除了patent将国别放到number里。
+%2. bib文件中会议文集和会议论文区分清楚,会议论文是带in的那种。若会议文集有附加的出版信息请一并放入publisher中。
+%3. 标识为J的都是article,不管是否有url,所以不是online。
+%4. 若inbook需要给出主编这种信息,需要给出editortype域,否则就当bookauthor处理。
+
+
+%==================================================
+%加载gb样式
+%==================================================
+\RequireBibliographyStyle{gb7714-2015}
+
+
+% 增加一个控制标点是英文还是中文的选项
+\DeclareBibliographyOption{CCNUpunctcn}[true]{%biblatex低版本
+  \ifstrequal{#1}{false}{\execpuncten}{}
+}
+
+
+%==================================================
+%选项设置
+%==================================================
+\ExecuteBibliographyOptions{
+  gbpunctin    = false,
+  gbfieldtype  = true,       % 输出type域,主要处理学位论文
+  gbnamefmt=lowercase
+}
+
+% 根据《通知》调整间距和缩进
+\setlength{\biblabelsep}{0.5em}
+\setlength{\bibitemindent}{0em} % bibitemindent表示一条文献中第一行相对后面各行的缩进
+\setlength{\bibhang}{1.2ex}
+\setlength{\bibparsep}{0em}
+
+%==================================================
+% 定义一些标点为中文全角标点
+%==================================================
+\def\erjpunctdot{.}%
+\def\erjpunctdotlanen{\adddot\addspace}%
+\def\erjpunctmark{、}%
+\def\erjpunctcomma{,}%
+\def\erjpunctcommalanen{\addcomma\addspace}%
+\def\erjpunctcolon{:}%
+\def\erjpunctcolonlanen{\addcolon\addspace}%
+\def\erjpunctsemicolon{;}%
+\def\erjpunctsemicolonlanen{\addsemicolon\addspace}%
+\def\erjpunctparenl{(}%
+\def\erjpunctparenr{)}%
+
+\def\execpuncten{%
+\def\erjpunctdot{\adddot\addspace}%
+\def\erjpunctdotlanen{\adddot\addspace}%
+\def\erjpunctmark{\addcomma\addspace}%
+\def\erjpunctcomma{\addcomma\addspace}%
+\def\erjpunctcommalanen{\addcomma\addspace}%
+\def\erjpunctcolon{\addcolon\addspace}%
+\def\erjpunctcolonlanen{\addcolon\addspace}%
+\def\erjpunctsemicolon{\addcolon\addspace}%
+\def\erjpunctsemicolonlanen{\addsemicolon\addspace}%
+\def\erjpunctparenl{(}%
+\def\erjpunctparenr{)}%
+}
+
+
+
+%==================================================
+%为标注和文献表中标点格式,重设and本地化字符串
+%==================================================
+\DefineBibliographyStrings{english}{
+    and           = {\addcomma},
+    andcn         = {\erjpunctcomma},
+    andincitecn   = {和}, %将标注中的分开,便于与文献表中的区分
+    andincite     = {\&},
+    andothers     = {et al.},
+    andotherscn   = {等},
+    bytranslator  = {\addcomma\ 译},
+    editors       = {\MakeLowercase{eds}\adddot\isdot},
+    editor        = {\MakeLowercase{ed}\adddot\isdot},
+    in            = {In:\addspace},
+    incn          = {见\iffieldequalstr{userd}{chinese}{\erjpunctcolon}{\erjpunctcolonlanen}},
+    mathesis      = {(Master dissertation)},
+    mathesiscn    = {[硕士学位论文]},
+    phdthesis     = {(Ph D dissertation)},
+    phdthesiscn   = {[博士学位论文]},
+}
+
+
+%==================================================
+%设置一些标点格式为中文的标点
+%==================================================
+\DeclareFieldFormat*{title}{\iffieldequalstr{userd}{chinese}{#1}{#1\isdot}}
+\def\gbcaselocalset{%
+\renewrobustcmd*{\bibinitperiod}{}%
+\renewcommand*{\revsdnamepunct}{}%
+\renewrobustcmd*{\bibinitdelim}{}%
+}
+\renewcommand{\aftertransdelim}{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}
+\DeclareDelimFormat*{multinamedelim}{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%\addcomma\addspace
+\DeclareDelimFormat{finalnamedelim}{%
+  \edef\userfieldabcde{userd}%
+  \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%
+  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
+  \ifcurrentname{author}{\edef\userfieldabcde{userf}}{}%
+  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
+  \ifcase\value{gbcitelocalcase}%
+    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{andincitecn}}{}%
+    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{andkr}}{}%
+    \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{andjp}}{}%
+    \iffieldequalstr{\userfieldabcde}{english}{\space\bibstring{andincite}\space}{}%
+    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{and}}{}%
+    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{and}}{}%
+  \or%
+  \bibstring{andincitecn}%
+  \or%
+  \bibstring{andincite}%
+  \fi}
+\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
+  \edef\userfieldabcde{userd}%
+  \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%
+  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
+  \ifcurrentname{author}{\edef\userfieldabcde{userf}}{}%
+  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
+  \ifcase\value{gbbiblocalcase}%
+    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{andcn}}{}%
+    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{andkr}}{}%
+    \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{andjp}}{}%
+    \iffieldequalstr{\userfieldabcde}{english}{\bibstring{and}}{}%
+    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{and}}{}%
+    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{and}}{}%
+  \or%
+  \bibstring{andcn}%
+  \or%
+  \bibstring{and}%
+  \fi}
+\DeclareDelimFormat{nameyeardelim}{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%\addcomma\addspace
+\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%\addcomma\addspace
+\DeclareDelimFormat{bibpagespunct}{\iffieldequalstr{userd}{chinese}{\erjpunctcolon}{\erjpunctcolonlanen}}%\addcomma\addspace\mbox{}
+\renewcommand*{\newunitpunct}{\iffieldequalstr{userd}{chinese}{\erjpunctdot}{\erjpunctdotlanen}}%\addcomma\space %,
+\renewcommand*{\finentrypunct}{\iffieldequalstr{userd}{chinese}{\erjpunctdot}{\adddot}}
+\renewcommand{\publocpunct}{\iffieldequalstr{userd}{chinese}{\erjpunctcolon}{\addcolon\addspace}}%出版项中:出版社地址后面的标点
+
+
+%==================================================
+%调整部分域的输出格式
+%==================================================
+
+%
+%   调整期刊名的格式
+%
+%   v1.0k,20180425,增加了字体控制命令,hzz
+\renewbibmacro*{journal+issuetitle}{\bibpubfont%源来自standard.bbx
+  \usebibmacro{journal}%
+  \setunit*{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%修改为增加一个逗号
+  \iffieldundef{series}
+    {}
+    {\newunit
+     \printfield{series}%
+     \setunit{\addspace}}%
+  \usebibmacro{issue+date}%
+  %\setunit{\addcolon\space}%
+  \iffieldundef{volume}{}{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%
+  %换成逗号和空格
+  \usebibmacro{issue}%
+  \usebibmacro{volume+number+eid}%把卷期放到年份后面
+  %\newunit
+  }
+
+
+%
+%   调整期刊卷和期的格式
+%
+\renewbibmacro*{volume+number+eid}{%源来自standard.bbx
+\iftoggle{bbx:gbfieldstd}{%
+  \printfield{volume}%
+  \setunit*{\adddot}%
+  \printfield{number}%
+  \setunit{\addcomma\space}%
+  \printfield{eid}}{%
+  \printfield{volume}%
+  %\setunit*{\adddot}%去掉点号
+  %\printfield{number}%
+  \iffieldundef{number}{}{%
+  \iffieldequalstr{entrysubtype}{news}{\printtext{\mkbibparens{\printfield{number}}}}{%
+  \iffieldequalstr{userd}{chinese}{\printtext{\erjpunctparenl\printfield{number}\erjpunctparenr}}%
+  {\printtext{\mkbibparens{\printfield{number}}}}}%
+  }%增加一个圆括号
+  \iffieldundef{eid}{}{%
+  \setunit{\addcomma\space}%
+  \printfield{eid}}}}
+
+
+%   新增一个样式用于输出连续出版物的地址,单位,时间,
+%   用于periodical连续出版物的出版社和地址的处理
+%
+%   v1.0k,20180425,为出版信息增加字体控制命令,hzz
+%   %类似\newbibmacro*{publisher+location+date}
+\newbibmacro*{location+institution+date}{\bibpubfont%
+\iftoggle{bbx:gbpub}%
+{\testCJKfirst{userd}%
+\ifboolexpr{%
+test {\iflistundef{location}} and test {\iflistundef{institution}}%
+}{\iftoggle{ifCJKforgbt}{\printtext{[\str at noaddress}\space :\space\str at nopublisher]}%
+{\printtext{[S.l.\space :\space s.n.\adddot]}}%
+}{%
+\iflistundef{location}{\iftoggle{ifCJKforgbt}{\printtext{[\str at noaddress]}}{\printtext{[S.l.\adddot]}}}%
+  {\printlist{location}}%
+\publocpunct%
+\iflistundef{institution}{%
+\iftoggle{ifCJKforgbt}{\printtext{[\str at nopublisher]}}{\printtext{\mkbibbrackets{s.n.}}}}%
+{\printlist{institution}}}%
+\setunit{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%
+  %\usebibmacro{date}%
+  \printfield{year}%
+  \bibrangedash%
+  \iffieldundef{endyear}{}{\printfield{endyear}}%
+  \newunit}%
+{\printlist{location}%
+  \iflistundef{institution}%
+    {\setunit*{\addcomma\space}}
+    {\setunit*{\publocpunct}}%
+  \printlist{institution}%
+  \setunit*{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%
+  \usebibmacro{date}%
+  \newunit}%
+}
+
+
+%
+%   通用的出版社和地址的处理
+%
+%   原理方法:当没有出版社地址时,直接判断title的信息是否是中文,若为中文,则写出版地不详,否则用英文的字符表示。
+%   事实上title对于每个文献来说是必须的,所以用它判断是最快的,而且一般标题和出版社的语言是一样的。
+%   注意标准standard类型,因为当没有出版项时直接省略,所以做特殊处理
+\renewbibmacro*{publisher+location+date}{\bibpubfont%
+\iftoggle{bbx:gbpub}%
+{\testCJKfirst{userd}%
+    \ifboolexpr{ test {\iflistundef{location}} and test {\iflistundef{publisher}} }%
+    {\iffieldequalstr{entrysubtype}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str at noaddress}\space :\space\str at nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}%
+    {\iflistundef{location}{%\adddot
+        \iffieldequalstr{entrysubtype}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。
+        {\iftoggle{ifCJKforgbt}{\printtext{[\str at noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\publocpunct}}}%  \bibstring{noaddress}
+        {\printlist{location}\publocpunct}%%\addcolon\addspace%
+    \iflistundef{publisher}{%
+        \iffieldequalstr{entrysubtype}{standard}{}%
+        {\iftoggle{ifCJKforgbt}{\printtext{[\str at nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}%
+        {\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}}}%
+        {\printlist{publisher}}}%
+\setunit*{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%\addcomma\addspace%
+\ifentrytype{report}{\printtext{\blx at gbdate{}{}}}%
+{\usebibmacro{date}}%
+}%
+{\printlist{location}%
+  \iflistundef{publisher}
+    {\setunit*{\addcomma\space}}
+    {\setunit*{\publocpunct}}%
+  \printlist{publisher}%
+  \setunit*{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%
+\ifentrytype{report}{\printtext{\blx at gbdate{}{}}}%
+{\usebibmacro{date}}%
+  }%
+}
+
+%
+%   修改了一个institution+location+date用于manual、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*{\publocpunct}}%
+  \printlist{institution}%
+  \setunit*{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}%
+  \usebibmacro{date}%
+  %\newunit
+  }}
+
+%
+%   编者的符号修改一下
+%   v1.0 2016-07-01
+%   v1.0q 2019-03-01 hzz 修改editortype前的标点
+%
+\renewbibmacro*{editor}{%源来自biblatex.DEF
+  \ifboolexpr{
+    test \ifuseeditor
+    and
+    not test {\ifnameundef{editor}}
+  }
+    {\printnames{editor}%
+    \iffieldundef{editortype}%增加一个类型判断,用于存在editortype的情况
+    {\setunit{\iffieldequalstr{userd}{chinese}{\erjpunctdot}{\erjpunctdotlanen}}}%当没有editortype时,直接用句点
+    {\usebibmacro{editorstrg}\setunit{\iffieldequalstr{userd}{chinese}{\erjpunctcomma}{\erjpunctcommalanen}}}%
+     }%
+    {}}
+
+
+%
+%   增加inbook:parent用于辅助crossref传统功能的实现
+%   用在{crosscite}宏中
+%   20210216,v1.0w,hzz
+\newbibmacro*{inbook:parent}{%
+\usebibmacro{bybookauthor}%
+%\ifnameundef{bookauthor}{%
+%  \ifnameundef{editor}{}{\newunit}%
+%}{\newunit}%替换下一句
+  %\newunit\newblock
+\iffieldundef{series}{}{\usebibmacro{series+number}\setunit{\addcolon\addspace}}%为处理一些存在series的情况而增加
+\usebibmacro{maintitle+booktitle}%
+\iffieldundef{volume}{}{\setunit{\addcolon\addspace}\printfield{volume}}%
+\iffieldundef{number}{}{\setunit{\addcolon\addspace}\printfield{number}}%增加卷和册信息
+  \newunit\newblock%
+  \printfield{edition}%
+  \newunit\newblock
+  \usebibmacro{publisher+location+date}}
+
+
+%
+%   修改in:用于inbook、incollection、inproceedings等类型
+%   2018.04.20,v1.0k,renewed marco,by hzz
+%   20190212,v1.0q,增加中英文区分,by hzz
+%
+%   原理方法:使用bibmacro{in:}改变了以前在driver中直接输出//的方式,同时也简化了标点控制。
+\renewbibmacro*{in:}{%
+ \iftoggle{bbx:gbpunctin}{\printtext{\allowbreak\texttt{//}\allowbreak}}%\addthinspace
+                         {\setunit{\iffieldequalstr{userd}{chinese}{\erjpunctdot}{\erjpunctdotlanen}}%
+                         \iffieldequalstr{userd}{chinese}%
+                         {\printtext{\bibstring{incn}}}%
+                         {\printtext{\bibstring{in}}}%
+                         }}%\newunit\newblock\intitlepunct

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.cbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-CCNU.cbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,30 @@
+%%
+%% ---------------------------------------------------------------
+%% gb7714-CCNU.cbx --- A bibliography style for CCNUthesis template
+%% ---------------------------------------------------------------
+%%
+\ProvidesFile{gb7714-CCNU.cbx}[a biblatex citation style for CCNUthesis]
+
+%
+%   加载样式
+%
+\RequireCitationStyle{gb7714-2015} %numeric
+
+
+\DeclareCiteCommand{\parencite}%[\mkbibbrackets]
+  {\mkbibleftborder\usebibmacro{cite:init}%
+   \usebibmacro{prenote}}%
+  {\usebibmacro{citeindex}%
+   \usebibmacro{cite:comp}}
+  {}
+  {\usebibmacro{cite:dump}\setunit{\addcomma\addspace}\printfield{postnote}\mkbibrightborder}
+
+
+\DeclareCiteCommand{\cite}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号
+  {\mkbibleftborder\usebibmacro{cite:init}%
+   \usebibmacro{prenote}}
+  {\usebibmacro{citeindex}%
+   \usebibmacro{cite:comp}}
+  {}
+  {\usebibmacro{cite:dump}\setunit{\addcomma\addspace}%
+   \printfield{postnote}\mkbibrightborder}

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.bbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,384 @@
+%%
+%% ---------------------------------------------------------------
+%% NWAFUthesis.bbx --- A bibliography style for NWAFUthesis template
+%% ---------------------------------------------------------------
+%%
+%%用法:类似于标准的样式在biblatex加载时设置样式
+%%文献表正常处理,标注命令主要用cite和parencite
+\ProvidesFile{gb7714-NWAFU.bbx}
+  [2022/03/10 v0.1 a biblatex bibliography style for NWAFUthesis]
+
+
+%==================================================
+%加载gb样式
+%==================================================
+\RequireBibliographyStyle{gb7714-2015ay}
+
+
+%==================================================
+%选项设置
+%==================================================
+\ExecuteBibliographyOptions{
+            sortlocale=zh__pinyin,
+            gbtype=false,
+            maxbibnames=99,% 著录所有作者
+            minbibnames=1,
+            gbnamefmt=familyahead,
+            %url=false,
+            doi=false,
+            isbn=false,
+            gbfieldtype=true,
+            gbpunctin=false,
+            uniquename=false,
+            uniquelist=false,
+            nohashothers=false,
+}
+
+
+%==================================================
+%一些字体设置
+%==================================================
+%\def\bibrangedash{$\sim$}% 表示范围的波浪线符号
+\DefineBibliographyExtras{english}{\renewcommand*{\bibrangedash}{$\sim$}}
+%\newcommand\nwafubibfont{\linespread{1.0}\zihao{-5}}% 字体
+\newcommand\nwafubibfont{\zihao{-5}}% 字体
+\renewcommand{\bibfont}{\nwafubibfont}% 全局字体设置
+
+\setlength{\bibitemsep}{2pt}%0ex
+\setlength{\bibnamesep}{0ex}
+\setlength{\bibinitsep}{0ex}
+
+%==================================================
+%为标注和文献表中标点格式,重设and本地化字符串
+%==================================================
+\DefineBibliographyStrings{english}{
+    andincitecn = {和},%将标注中的分开,便于与文献表中的区分
+    andincite   = {and},
+    mathesiscn={[硕士学位论文]},
+    phdthesiscn={[博士学位论文]},
+    in={In:\addspace},
+    incn={见:\addspace},
+}
+
+%==================================================
+%设置一些标点格式为中文的标点
+%==================================================
+
+\renewcommand{\postnotedelim}{\addcolon\space}
+\renewcommand*{\nameyeardelim}{\addspace}
+\DeclareDelimFormat[bib,biblist]{nameyeardelim}{\addperiod\space}
+\DeclareFieldFormat{postnote}{#1}
+
+
+%==================================================
+%调整部分域的输出格式
+%==================================================
+
+\DeclareFieldFormat[article]{journaltitle}{\iffieldequalstr{userd}{chinese}{#1}{\textit{#1}}\isdot}% 英文刊名用斜体
+
+
+% “和”与“and”前后的空格调整
+\DeclareDelimFormat{finalnamedelim}{%
+  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
+  %\addspace%
+  \edef\userfieldabcde{userd}%
+  \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%
+  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
+  \ifcurrentname{author}{\edef\userfieldabcde{userf}}{}%
+  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
+  \ifcase\value{gbcitelocalcase}%
+    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{andincitecn}}{}%
+    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{andkr}}{}%
+    \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{andjp}}{}%
+    \iffieldequalstr{\userfieldabcde}{english}{\addspace\bibstring{andincite}\addspace}{}%
+    \iffieldequalstr{\userfieldabcde}{french}{\addspace\bibstring{and}\addspace}{}%
+    \iffieldequalstr{\userfieldabcde}{russian}{\addspace\bibstring{and}\addspace}{}%
+  \or%
+  \bibstring{andincitecn}%
+  \or%
+  \addspace\bibstring{andincite}\addspace%
+  \fi
+}
+
+\newbibmacro*{origdate+extradate}{%
+  \printtext{\printorigdate}%
+  }
+
+  %
+%   修改译者位置格式
+%
+%   原理方法:修改来自biblatex.def文件的bytranslator+others宏的格式
+\renewbibmacro*{bytranslator+others}{%
+  \ifnameundef{translator}
+    {}
+    {%\usebibmacro{bytranslator+othersstrg}
+     %\setunit{\addspace}%
+     \printnames[bytranslator]{translator}%
+     %\clearname{translator}%
+     %从macro*{bytranslator+othersstrg}%中可以看到当地化字符串格式的引用前的代码处理
+     %比如生成cotranslator等用于调用cotranslator所代表的当地化字符串
+     \usebibmacro{bytranslator+othersstrg}%“译”的位置换到下面来,即放到译者后面。
+     %\setunit{\addspace}%
+     \newunit}%
+  \usebibmacro{withothers}%
+  \ifboolexpr{%
+    test {\iffieldundef{origyear}} or test {\ifnameundef{translator}}%%
+     }{}{\printtext{\printdate}}%
+  }
+
+%
+%   url和url日期格式
+%
+\renewbibmacro*{url+urldate}{%
+  %\usebibmacro{url}%%更换url的位置,放到下面
+     \usebibmacro{url}%
+     \iffieldundef{urlyear}%
+    {}{%\setunit*{\addspace}%
+    \usebibmacro{urldate}}}
+
+\DeclareFieldFormat{addnumflag}{%
+\ifentrytype{newspaper}{\setunit{\addcomma\addspace}\printtext{#1}}
+{\nobreak\printtext{(}\nobreak #1\nobreak\printtext{)}}}
+
+%
+%   重设专利title的输出,将文献类型标识符输出出去
+%
+\newbibmacro*{patenttitle}{%原输出来自biblatex.def文件
+  \ifboolexpr{%
+    test{\iffieldundef{title}}%
+    and%
+    test{\iffieldundef{subtitle}}%
+  }%
+    {}%
+    {\printtext[title]{\bibtitlefont%
+       \printfield[titlecase]{title}%
+       \ifboolexpr{test {\iffieldundef{subtitle}}}%这里增加了对子标题的判断,解决不判断多一个点的问题
+       {}{\setunit{\subtitlepunct}%
+       \printfield[titlecase]{subtitle}}%
+       \iffieldundef{titleaddon}{}%判断一下titleaddon,否则直接加可能多一个空格
+        {\setunit{\subtitlepunct}\printfield{titleaddon}}%
+        \setunit{\adddot\addspace}\printfield{number}%写专利号
+        \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}%
+     %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点
+     %\newunit
+     }%
+}%
+}
+
+%
+%   修改作者数量超过限定值,做省略时的处理格式
+%   v1.0,20160701,hzz
+%   v1.0O,20190103,hzz,修改利用新定义的一个分隔符strandothersdelim
+%
+%   原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。
+\renewbibmacro*{name:andothers}{%
+  \ifboolexpr{
+    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
+    and
+    test \ifmorenames
+  }{\ifnumgreater{\value{liststop}}{1}%
+       {\finalandcomma}%
+       {}%biblatex作者要区别单作者加等的情况,这里为符合gbt7714-2015第7.2节的要求加上了逗号。
+\printdelim{andothersdelim}\printdelim{strandothersdelim}%
+}{%当是译者的时候需要特殊处理:从7.2节看等,译前面加逗号,但从示例看等和译同时出现时,译前的逗号没有,比如:
+%袁训来, 陈哲, 肖书海, 等.
+%胡泳, 范海燕, 译.
+%潘惠霞, 魏婧, 杨艳, 等译.
+%\ifcurrentname{translator}{\addcomma}{}%
+}}
+
+
+%
+%   对edition版本信息格式做出修改
+%
+\DeclareFieldFormat{edition}{%源来自biblatex.DEF
+\testCJKfirst{userd}%
+\iftoggle{ifCJKforgbt}%
+{\ifinteger{#1}%
+{\printtext{\bibstring{serialcn}\zhnumber{#1}\str at edition}}%
+{#1\isdot}}%
+{\ifinteger{#1}%
+{\mkbibordedition{#1}~\bibstring{edition}}%
+{#1\isdot}}}
+
+
+%注意这里当没有作者只有标题时在年份之前的标点是否需要标准并未涉及,所以未做处理。
+\renewbibmacro*{author}{%以前的date+extrayear变为date+extradate,所以对3.8以上版本重定义一下author
+  \ifboolexpr{
+    test \ifuseauthor
+    and
+    not test {\ifnameundef{author}}
+  }
+    {\usebibmacro{bbx:dashcheck}
+       {%\bibnamedash %去掉相同作者用横线代替的处理
+       \printnames{author}\setunit{\printdelim{nameyeardelim}}%把标点也带上
+       }
+       {\usebibmacro{bbx:savehash}%
+        \printnames{author}%
+        \iffieldundef{authortype}
+          {\setunit{\printdelim{nameyeardelim}}}
+          {\setunit{\printdelim{authortypedelim}}}}%
+     \iffieldundef{authortype}
+       {}
+       {\usebibmacro{authorstrg}%
+        \setunit{\printdelim{nameyeardelim}}}}%
+    {\global\undef\bbx at lasthash
+     \usebibmacro{labeltitle}%
+     \setunit*{\printdelim{nonameyeardelim}}}%
+     \ifboolexpr{%
+    test {\iffieldundef{origyear}} or test {\ifnameundef{translator}}%
+     }{\usebibmacro{date+extradate}}%
+  {\usebibmacro{origdate+extradate}}%
+  }
+
+%==================================================
+%调整部分类型驱动
+%==================================================
+
+
+%
+%   book条目类的驱动
+%
+  \DeclareBibliographyDriver{book}{%源来自standard.bbx文件
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+\usebibmacro{author/editor+others/translator+others}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+\usebibmacro{maintitle+title}%
+\iftoggle{bbx:gbstrict}{}{%
+\newunit
+\printlist{language}%
+\newunit\newblock%
+\usebibmacro{byauthor}%
+\newunit\newblock}%
+\newunit
+\printfield{edition}%
+\newunit
+\usebibmacro{byeditor+others}%
+\newunit\newblock%%
+\iftoggle{bbx:gbstrict}{}{%
+\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}%
+  \iffieldundef{url}{}{%当没有网址时也不输出
+  \usebibmacro{modifydate}}%带括号的修改或更新日期,
+\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}}
+
+%
+%   在线文献驱动
+%
+\DeclareBibliographyDriver{online}{%源来自standard.BBX
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+  \usebibmacro{author/editor+others/translator+others}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+  \usebibmacro{title}%
+  \iftoggle{bbx:gbstrict}{}{%
+  \newunit%
+  \printlist{language}%
+  \newunit\newblock
+  \usebibmacro{byauthor}%
+  \newunit\newblock
+  \usebibmacro{byeditor+others}%
+  \newunit\newblock
+  \printfield{note}}%
+  \newunit
+  \printfield{version}%
+  \newunit\newblock
+% \printlist{organization}%
+ \printlist{institution}%
+  \newunit\newblock
+\ifboolexpr{%
+test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{eventday}}%
+}{\usebibmacro{date}}%
+%{\usebibmacro{modifydate}}%修改或更新日期,为带括号的时间
+  \usebibmacro{url+urldate}%从下面移上来
+  \newunit\newblock
+  \iftoggle{bbx:eprint}
+    {\usebibmacro{eprint}}
+    {}%
+  \newunit\newblock
+  %\usebibmacro{url+urldate}%
+  %\newunit\newblock
+  \usebibmacro{addendum+pubstate}%
+  \setunit{\bibpagerefpunct}\newblock
+  \usebibmacro{pageref}%
+  \newunit\newblock
+  \iftoggle{bbx:related}
+    {\usebibmacro{related:init}%
+     \usebibmacro{related}}
+    {}%
+  \usebibmacro{finentry}}
+
+
+%
+%   专利文献驱动
+%
+  \DeclareBibliographyDriver{patent}{%源来自standard.BBX
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+  \usebibmacro{author}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+  %\usebibmacro{title}%
+  \usebibmacro{patenttitle}%给出专利专用的标题输出
+  \iftoggle{bbx:gbstrict}{}{%
+  \newunit%
+  \printlist{language}%
+  \newunit\newblock
+  \usebibmacro{byauthor}}%
+  \newunit\newblock
+  \printfield{type}%
+  \setunit*{\addspace}%
+  %\printfield{number}%已放到patenttitle中处理
+  \iflistundef{location}
+    {}
+    {\setunit*{\addspace}%
+     \printtext{%[parens]
+       \printlist[][-\value{listtotal}]{location}}}%
+  \newunit\newblock
+  \usebibmacro{byholder}%
+  \newunit\newblock
+  \printfield{note}%
+  \newunit\newblock
+  %\usebibmacro{newsdate}%
+  %\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}}

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.cbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-NWAFU.cbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,52 @@
+%%
+%% ---------------------------------------------------------------
+%% NWAFUthesis.cbx --- A bibliography style for NWAFUthesis template
+%% ---------------------------------------------------------------
+%%
+\ProvidesFile{gb7714-NWAFU.cbx}[a biblatex citation style for NWAFUthesis]
+
+%
+%   加载样式
+%
+\RequireCitationStyle{gb7714-2015ay} %numeric
+
+\ExecuteBibliographyOptions{
+    maxcitenames=2,% 引用标注中最多显示2个作者
+    mincitenames=1,% 3个及3个以上的作者截断为1个作者
+}
+
+\DeclareDelimFormat[textcite,cite,parencite,citet,citep]{nameyeardelim}{\addspace}
+
+
+%之所以不用\DeclareDelimFormat{andothersdelim}{}这样的设置是因为gb7714-2015中为兼容老版本的biblatex做的处理就是这样的
+%所以用相同的方式
+\AtEveryCitekey{%
+\iffieldequalstr{userf}{chinese}{\renewcommand*{\andothersdelim}{}}%\addthinspace
+  {\renewcommand*{\andothersdelim}{\addspace}}%
+}
+
+%标注压缩时,直接用date+extradate代替extradate实现2006a,2006b的效果
+\newbibmacro*{cite:extradate}{%
+  \iffieldundef{extradate}
+    {}
+    {\printtext[bibhyperref]{\printlabeldateextra}}}%\printfield{extradate}
+
+
+\renewbibmacro*{date+extradate}{%
+    \iffieldundef{labelyear}
+      {}%
+      {\ifboolexpr{%
+        test {\ifentrytype{patent}}
+        or
+        (test {\ifentrytype{newspaper}} )%
+        }%
+        {\printtext{\blx at isodate{}{}}
+        %\printtext{\blx at edtfdate{}{}}%
+        }%
+        {\printtext{%
+                 \iflabeldateisdate
+                 %\iffieldsequal{year}{labelyear}%for biblatex<=3.7
+                   {\printdateextra}
+                   {\printlabeldateextra}}}%
+      }%
+}

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.bbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.bbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,338 @@
+%%
+%% ---------------------------------------------------------------
+%% gb7714-SEU.bbx --- A bibliography style for SEUthesis template
+%% ---------------------------------------------------------------
+%%
+%%用法:类似于标准的样式在biblatex加载时设置样式
+%%文献表正常处理,标注命令主要用cite和parencite
+\ProvidesFile{gb7714-SEU.bbx}
+  [2022/03/10 v0.1 a biblatex bibliography style for SEUthesis]
+
+
+%==================================================
+%加载gb样式
+%==================================================
+\RequireBibliographyStyle{gb7714-2015}
+
+
+%==================================================
+%选项设置
+%==================================================
+\ExecuteBibliographyOptions{
+    maxnames=3,
+    minnames=3,
+    %url=false,
+    doi=false,
+    gbfieldtype=true,
+    gbpunctin=false,
+    gbpub=false,
+    gbnamefmt=lowercase,
+    gbbiblabel=dot,
+}
+
+
+%==================================================
+%为标注和文献表中标点格式,重设and本地化字符串
+%==================================================
+\DefineBibliographyStrings{english}{
+    mathesiscn={[硕士学位论文]},
+    phdthesiscn={[博士学位论文]},
+    in={In:\addthinspace},
+    incn={见:\addthinspace},
+}
+
+
+%==================================================
+%设置一些标点格式为中文的标点
+%==================================================
+\renewcommand*{\bibpagespunct}{%
+\ifentrytype{article}{\addcolon\addthinspace}{\adddot\addthinspace}%
+}%
+
+
+%==================================================
+%调整部分域的输出格式
+%==================================================
+
+\DeclareFieldFormat%将thesis的标题格式重设
+  [thesis]
+  {title}{#1}%\mkbibquote{#1\isdot}
+
+%
+%   url和url日期格式
+%
+\renewbibmacro*{url+urldate}{%
+  \usebibmacro{url}%%更换url的位置,放到下面
+  \iffieldundef{urlyear}%
+    {}{%\setunit*{\addspace}%
+    \usebibmacro{urldate}}%
+     \setunit{\addperiod\addspace}%
+     }
+    \renewbibmacro*{urldate}{%
+    \setunit{\addcomma\addthinspace}\printtext{\printurldate}}%能用高层命令+选项尽量用命令(比如这里的\printurldate),而不用\blx at edtfdate这种更底层的命令
+
+
+%
+%   修改作者数量超过限定值,做省略时的处理格式
+%   v1.0,20160701,hzz
+%   v1.0O,20190103,hzz,修改利用新定义的一个分隔符strandothersdelim
+%
+%   原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。
+\renewbibmacro*{name:andothers}{%
+  \ifboolexpr{
+    test {\ifnumequal{\value{listcount}}{\value{liststop}}}
+    and
+    test \ifmorenames
+  }{\ifnumgreater{\value{liststop}}{1}%
+       {\finalandcomma}%
+       {}%biblatex作者要区别单作者加等的情况,这里为符合gbt7714-2015第7.2节的要求加上了逗号。
+%\printdelim{andothersdelim}
+\printdelim{strandothersdelim}%
+}{%当是译者的时候需要特殊处理:从7.2节看等/译前面加逗号,但从示例看等和译同时出现时,译前的逗号没有,比如:
+%袁训来, 陈哲, 肖书海, 等.
+%胡泳, 范海燕, 译.
+%潘惠霞, 魏婧, 杨艳, 等译.
+%\ifcurrentname{translator}{\addcomma}{}%
+}}
+
+%
+%   修改省略作者后的本地化字符串,比如et al.
+%   v1.0o,20190103,hzz
+%
+%   原理方法:默认情况下判断作者或译者是否中文,若中文用字符andotherscn=“等”,否则用andothers=“et al.”。
+%   非默认情况,根据选项信息,选择选择强制中文或英文
+%   首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了
+%   而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置
+\DeclareDelimFormat{strandothersdelim}{%
+  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
+  %\addspace%
+  \edef\userfieldabcde{userd}%
+  \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%
+  \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
+  \ifcurrentname{author}{\edef\userfieldabcde{userf}}{}%
+  \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}%
+  \ifcase\value{gbbiblocalcase}%
+    \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{andotherscn}}{}%
+    \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{andotherskr}}{}%
+    \iffieldequalstr{\userfieldabcde}{japnese}{\bibstring{andothersjp}}{}%
+    \iffieldequalstr{\userfieldabcde}{english}{\bibstring{andothers}}{}%
+    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{andothers}}{}%
+    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{andothers}}{}%
+  \or%
+  \bibstring{andotherscn}%
+  \or%
+  \bibstring{andothers}%
+  \fi}
+
+%
+%   重设专利title的输出,将文献类型标识符输出出去
+%
+\newbibmacro*{patenttitle}{%原输出来自biblatex.def文件
+  \ifboolexpr{%
+    test{\iffieldundef{title}}%
+    and%
+    test{\iffieldundef{subtitle}}%
+  }%
+    {}%
+    {\printtext[title]{\bibtitlefont%
+       \printfield[titlecase]{title}%
+       \ifboolexpr{test {\iffieldundef{subtitle}}}%
+       {}{\setunit{\subtitlepunct}%
+       \printfield[titlecase]{subtitle}}%
+       \iffieldundef{titleaddon}{}%
+        {\setunit{\subtitlepunct}\printfield{titleaddon}}%
+        \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}%
+     %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点
+     %\newunit
+     }%
+}%
+}
+
+
+%==================================================
+%调整部分类型驱动
+%==================================================
+
+
+\DeclareBibliographyAlias{conference}{inproceedings}%会议论文文献类型驱动
+\DeclareBibliographyAlias{incollection}{inproceedings}%文集中析出文献类型驱动
+
+%
+%%
+%%   专利文献驱动
+%%
+  \DeclareBibliographyDriver{patent}{%源来自standard.BBX
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+  \usebibmacro{author}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+  %\usebibmacro{title}%
+  \usebibmacro{patenttitle}%给出专利专用的标题输出
+  \iftoggle{bbx:gbstrict}{}{%
+  \newunit%
+  \printlist{language}%
+  \newunit\newblock
+  \usebibmacro{byauthor}}%
+  \newunit\newblock
+  \printfield{type}%
+  \setunit*{\addcomma\addspace}%
+  \printfield{number}%已放到patenttitle中处理
+  \iflistundef{location}
+    {}
+    {\setunit*{\addspace}%
+     \printtext{%[parens]
+       \printlist[][-\value{listtotal}]{location}}}%
+  \newunit\newblock
+  \usebibmacro{byholder}%
+  \newunit\newblock
+  \printfield{note}%
+  \newunit\newblock
+  \usebibmacro{newsdate}%
+  \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{thesis}{%
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+  \usebibmacro{author}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+  \usebibmacro{title}%
+  \newunit\newblock
+  \usebibmacro{byeditor+others}%增加的译者信息
+  \newunit\newblock
+  \iftoggle{bbx:gbfieldtype}{%
+  \setunit{\addcolon\addspace}
+  \printfield{type}%
+  \setunit*{\addspace}}{}%
+  \printfield{number}%
+  \newunit\newblock
+  \printfield{version}%
+  \newunit
+  \printfield{note}%
+  \newunit\newblock
+  \usebibmacro{institution+location+date}%
+  %\newunit\newblock
+  \usebibmacro{chapter+pages}%
+  \iffieldundef{url}{}{%当没有网址时也不输出修改或更新日期
+  \usebibmacro{modifydate}}%修改或更新日期为带括号的时间
+  \usebibmacro{doi+eprint+url}%
+  \newunit
+  \printfield{pagetotal}%
+  \newunit\newblock
+  \iftoggle{bbx:isbn}
+    {\printfield{isrn}}
+    {}%
+  \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}}
+
+%
+%   book条目类的驱动
+%
+  \DeclareBibliographyDriver{book}{%源来自standard.bbx文件
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+\usebibmacro{author/editor+others/translator+others}%
+\ifnameundef{author}{}{\setunit{\labelnamepunct}\newblock}%这一段用于去除作者不存在时多出的标点
+\usebibmacro{maintitle+title}%
+\iftoggle{bbx:gbstrict}{}{%
+\newunit
+\printlist{language}%
+\newunit\newblock%
+\usebibmacro{byauthor}%
+\newunit\newblock}%
+\printfield{edition}%
+\newunit
+\usebibmacro{byeditor+others}%
+\newunit\newblock%%
+\iftoggle{bbx:gbstrict}{}{%
+\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}%
+  \iffieldundef{url}{}{%当没有网址时也不输出
+  \usebibmacro{modifydate}}%带括号的修改或更新日期,
+\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}}
+
+
+\DeclareBibliographyDriver{inproceedings}{%
+  \usebibmacro{bibindex}%
+  \usebibmacro{begentry}%
+  \usebibmacro{author/translator+others}%
+  \setunit{\printdelim{nametitledelim}}\newblock
+  \usebibmacro{title}%
+  \newunit\newblock
+  \usebibmacro{in:}%
+  \usebibmacro{editor}%
+  \newunit\newblock
+  \usebibmacro{maintitle+booktitle}%
+  \newunit\newblock
+  \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}}

Added: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.cbx	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-SEU.cbx	2022-03-14 20:14:37 UTC (rev 62704)
@@ -0,0 +1,16 @@
+%%
+%% ---------------------------------------------------------------
+%% gb7714-SEU.bbx --- A bibliography style for SEUthesis template
+%% ---------------------------------------------------------------
+%%
+\ProvidesFile{gb7714-SEU.cbx}[a biblatex citation style for SEUthesis]
+
+%
+%   加载样式
+%
+\RequireCitationStyle{gb7714-2015} %numeric
+
+\ExecuteBibliographyOptions{
+    maxcitenames=3,
+    mincitenames=3,
+}



More information about the tex-live-commits mailing list.