texlive[55931] Master/texmf-dist: biblatex-gb7714-2015 (24jul20)

commits+karl at tug.org commits+karl at tug.org
Fri Jul 24 23:54:07 CEST 2020


Revision: 55931
          http://tug.org/svn/texlive?view=revision&revision=55931
Author:   karl
Date:     2020-07-24 23:54:06 +0200 (Fri, 24 Jul 2020)
Log Message:
-----------
biblatex-gb7714-2015 (24jul20)

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-preamble.tex
    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/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx
    trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md	2020-07-24 21:54:06 UTC (rev 55931)
@@ -1,4 +1,4 @@
-<b>Date of last change: 2020-03-04 to version v1.0t</b>
+<b>Date of last change: 2020-07-21 to version v1.0v</b>
 
 
 # biblatex-gb7714-2015: a biblatex style  package
@@ -47,16 +47,21 @@
 
 * [SJTUThesis(上海交通大学学位论文模板)](https://github.com/sjtug/SJTUThesis)(母校的论文模板,不得不说缘分真的很神奇)
 * [fduthesis(复旦大学论文模板)](https://github.com/Stone-Zeng/fduthesis)
+* [Zhejiang University thesis(浙江大学毕业设计/论文模板)](https://github.com/TheNetAdmin/zjuthesis)
+* [UCASthesis(中国科学院大学学位论文模板**国科大新版标准**)](https://github.com/xiaoyao9933/UCASthesis)
+* [UCASthesis(ucasthesis 国科大学位论文 LaTeX 模板 [最新样式])](https://github.com/mohuangrui/ucasthesis)
+* [TongjiThesis(同济大学硕博士论文LaTeX模板)](https://github.com/marquistj13/TongjiThesis)
+* [neuthesis(东北大学博士学位论文Latex模板)](https://github.com/mervin0502/neuthesis)
+* [nwafuthesis(西北农林科技大学学位论文LaTeX文档类)](https://github.com/registor/nwafuthesis)
+* [nudtpaper(nudt学位论文模板)](https://github.com/liubenyuan/nudtpaper)
 * [ECNU-Undergraduate-LaTeX(华东师范大学本科毕业论文模板)](https://github.com/YijunYuan/ECNU-Undergraduate-LaTeX)
-* [UCASthesis(中国科学院大学学位论文模板**国科大新版标准**)](https://github.com/xiaoyao9933/UCASthesis)
-* [Study-LaTeX(LaTeX学习笔记)](https://github.com/Zousiyu/Study-LaTeX)
-* [Zhejiang University thesis(浙江大学毕业设计/论文模板)](https://github.com/TheNetAdmin/zjuthesis)
 * [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)
-* [neuthesis (东北大学博士学位论文Latex模板)](https://github.com/mervin0502/neuthesis)
-* [nwafuthesis (西北农林科技大学学位论文LaTeX文档类)](https://github.com/registor/nwafuthesis)
+* [Study-LaTeX(LaTeX学习笔记)](https://github.com/Zousiyu/Study-LaTeX)
+* [ElegantBook](https://github.com/ElegantLaTeX/ElegantBook)
+* [《经济研究》杂志 LaTeX 论文模板)](https://github.com/EthanDeng/Chinese-ERJ)
 * [...]
 
 
@@ -851,8 +856,10 @@
   \global\undef\cbx at lastprefix}
 ```
 
+反之,从两个开始压缩改成3个连续压缩,方法是类似的,就是将中的0改回1。
 
 
+
 * <b>在正文中的某一部分,希望取消顺序编码标签中的压缩,而其他部分保持这种压缩,该怎么处理?</b>
 	
 
@@ -1161,8 +1168,11 @@
 * 2019/03/29 v1.0rm,rename erj to chinese-erj,ctan
 * 2019/08/28 v1.0s
 * 2020/03/04 v1.0t,ctan
+* 2020/03/30 v1.0u
+* 2020/07/21 v1.0v,ctan
 
 
+
 ---------------------------------------------------------
 ## Update history:
 

Modified: trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex	2020-07-24 21:54:06 UTC (rev 55931)
@@ -51,36 +51,36 @@
 \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[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[L]{%
+%\raisebox{-\skipfootrule}{%
+%\raisebox{\footskip}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightdown}{\linewidth}}}
+%}%FOOT LEFT
+%}
 \fancyfoot[C]{%
 \thepage%FOOT CENTER
 }

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	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex	2020-07-24 21:54:06 UTC (rev 55931)
@@ -1251,13 +1251,14 @@
 \end{texlist}
 \end{example}
 
-文献表的水平缩进控制,两种编制方式下是不同的。对于著者-出版年制文献表,bibitemindent表示一条文献中第一行相对后面各行的缩进,bibhang 表示页边到文献各行起始位置的距离。因此要调整缩进就是要设置这两尺寸。
+文献表的水平缩进控制,两种编制方式下是不同的。对于著者-出版年制文献表,bibitemindent表示
+\emph{一条文献中第一行相对后面各行的缩进},bibhang 表示\emph{页边到文献各行起始位置的距离}。因此要调整缩进就是要设置这两尺寸。
 
 对于顺序编码制文献表,由于存在数字标签,且其宽度与参考文献数量相关,所以这个宽度是动态变的,无能提前设定的,而是在文献表生成时给出,所以调整缩进需要在文献表输出环境中调整。由于顺序编码样式使用了两类输出环境,所以需要根据设定的选项区分处理:
 
 一是采用list环境的文献表,即设置gbalign=left、right、center时(即顺序编码标签是左对齐、右对齐和居中对齐的情况),在重定义的文献表环境中,调整bibitemindent和bibhang两个尺寸,默认情况下bibhang+labelnumberwidth的长度是页边到各行起始位置的距离。当采用某些字体导致计算计算的标签宽度不足时,可以设置biblabelextend尺寸,来增加labelnumberwidth的宽度,避免缩进格式产生问题,默认情况下biblabelextend尺寸为0pt。
 
-二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置每条参考文献第二行开始的缩进距离。
+二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置\emph{每条参考文献第二行开始的缩进距离}。
 调整方法见例\ref{eg:biblist:hspace}。
 
 \begin{example}{文献表水平缩进控制}{eg:biblist:hspace}

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def	2020-07-24 21:54:06 UTC (rev 55931)
@@ -12,6 +12,7 @@
     \def\str at references{\xB2ο\xBC\xCE\xC4\xCF\xD7}
     \def\str at bytranslator{\xD2\xEB}
     \def\str at andotherscn{\xB5\xC8}
+	\def\str at andcn{\xBA\xCD}
     \def\str at backrefpage{\xD2\xFD\xD3\xC3ҳ}
     \def\str at backrefpages{\xD2\xFD\xD3\xC3ҳ}
     \def\str at noaddress{\xB3\xF6\xB0\xE6\xB5ز\xBB\xCF\xEA}

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	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -454,6 +454,7 @@
     \def\str at references{参考文献}
     \def\str at bytranslator{译}
     \def\str at andotherscn{等}
+    \def\str at andcn{和}
     \def\str at backrefpage{引用页}
     \def\str at backrefpages{引用页}
     \def\str at noaddress{出版地不详}
@@ -522,6 +523,11 @@
         }
 	}{}}
 
+    %
+    %   增加一个处理佚名或noauthor的控制选项
+    %
+    %   原理方法:在顺序编码制中不需要使用,为与作者年制的兼容性考虑,这里也增加避免报错
+    \DeclareBibliographyOption{gbnoauthor}[true]{}%
 
 
     %
@@ -556,13 +562,9 @@
     \ExecuteBibliographyOptions{gbpunctin}
 
 
-    %
-    %   增加一个处理佚名或noauthor的控制选项
-    %
-    %   原理方法:在顺序编码制中不需要使用,为与作者年制的兼容性考虑,这里也增加避免报错
-    \DeclareBibliographyOption{gbnoauthor}[true]{}%
 
 
+
     %
     %   选项设置
     %
@@ -850,7 +852,7 @@
         bytranslator= {\str at bytranslator},%\addperiod,%将trans. by 改成 译\addcomma\
         and         = {\addcomma},%将第2和3人名间的and符号改成逗号,用\finalnamedelim命令也可以定义,参见3.9.1节
         andcn       = {\addcomma},%and本地化字符串的中文对应词
-        andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分
+        andincitecn = {\str at andcn},%将标注中的分开,便于与文献表中的区分
         andincite   = {\addcomma},
         %andothers   = {et al.},%将超过3个人名的省略,et al.改成为 等
         andotherscn   = {\str at andotherscn},%将超过3个人名的省略,et al.改成为 等
@@ -1283,6 +1285,8 @@
             \step[fieldset=userd,origfieldval]
             }
         \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言
+            %biblatex 3.11及以下版本仅有match是区分大小写的,而3.12版开始用matchi来区分大小,而match不区分
+            %这里为兼容3.11及以下版本,所以用一个复杂一点的正则表达式
             \step[fieldsource=language,match=\regexp{(e|E)(n|N)(g|G)(l|L)(i|I)(s|S)(h|H)},final]
             \step[fieldset=langid,fieldvalue={english}]
             \step[fieldset=lansortorder,fieldvalue=\lanenorder]
@@ -2257,7 +2261,6 @@
 }}
 
 
-%
 %   修改省略作者后的本地化字符串,比如et al.
 %   v1.0o,20190103,hzz
 %
@@ -2266,6 +2269,26 @@
 %   首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了
 %   而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置
 \DeclareDelimFormat{strandothersdelim}{%
+  \edef\userfieldabcde{userd}%这里使用\iffieldequalstr{labelnamesource}替代ifcurrentname因为标注中使用ifcurrentname无效
+  \iffieldequalstr{labelnamesource}{translator}{\edef\userfieldabcde{usere}}{}%
+  \iffieldequalstr{labelnamesource}{editor}{\edef\userfieldabcde{userc}}{}%
+  \iffieldequalstr{labelnamesource}{author}{\edef\userfieldabcde{userf}}{}%
+  \iffieldequalstr{labelnamesource}{bookauthor}{\edef\userfieldabcde{userb}}{}%
+  \ifcase\value{gbcitelocalcase}%
+    \iffieldequalstr{\userfieldabcde}{chinese}{\ifbibstring{andothersincitecn}{\bibstring{andothersincitecn}}{\bibstring{andothers}}}{}%中文已经通过english本地化字符串定义
+    \iffieldequalstr{\userfieldabcde}{korean}{\ifbibstring{andotherskr}{\bibstring{andotherskr}}{\bibstring{andothers}}}{}%韩语未定义,所以与bib中一致
+    \iffieldequalstr{\userfieldabcde}{japanese}{\ifbibstring{andothersjp}{\bibstring{andothersjp}}{\bibstring{andothers}}}{}%日与同韩语
+    \iffieldequalstr{\userfieldabcde}{english}{\ifbibstring{andothersincite}{\bibstring{andothersincite}}{\bibstring{andothers}}}{}%英语已定义
+    \iffieldequalstr{\userfieldabcde}{french}{\bibstring{andothers}}{}%法语未定义,若要定义需要针对french本地化字符串定义
+    \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{andothers}}{}%俄语未定义,若要定义需要针对russian本地化字符串定义
+  \or%
+  \bibstring{andothersincitecn}%
+  \or%
+  \bibstring{andothersincite}%
+  \fi}
+
+
+\DeclareDelimFormat[bib,biblist]{strandothersdelim}{%
   \edef\userfieldabcde{userd}%
   \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%
   \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}%
@@ -2294,6 +2317,28 @@
 %   而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置
 \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}{\space\bibstring{andincite}\space}{}%
+    \iffieldequalstr{\userfieldabcde}{french}{\space\bibstring{and}\space}{}%
+    \iffieldequalstr{\userfieldabcde}{russian}{\space\bibstring{and}\space}{}%
+%\space%
+  \or%
+  \bibstring{andincitecn}%\space%
+  \or%
+\space\bibstring{andincite}\space%
+  \fi}
+
+\DeclareDelimFormat[bib,biblist]{finalnamedelim}{%
+  \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
   \addspace%
   \edef\userfieldabcde{userd}%
   \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -7,7 +7,7 @@
 %% Released under the LaTeX Project Public License v1.3c or later
 %% ---------------------------------------------------------------
 %%
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style]
 
 %
@@ -31,6 +31,27 @@
 %\DeclareDelimFormat[textcite]{andothersdelim}{\addspace}%
 
 %
+%将连续3篇文献压缩改为连续2篇文献压缩
+%
+%该宏的目的是抛弃压缩内部的编号,而仅输出最后一个编号,主要通过cbx at tempcnta来控制
+%一般情况下cbx at tempcnta为0,所以该宏不输出任何内容。当cbx at tempcnta在cite:comp:comp宏中更改变大后
+%说明开始进入需要压缩的范围,当到压缩终点时,cbx at tempcnta必然大于1,则输出内容。
+%修改第二行的数字1为0即可将默认的3个开始压缩变为2个开始压缩。
+\renewbibmacro*{cite:dump}{%
+  \ifnumgreater{\value{cbx at tempcnta}}{0}%
+    {\ifnumgreater{\value{cbx at tempcnta}}{0}%1改为0,可以将压缩起始3个编号改为2个编号
+       {\bibrangedash}%
+       {\multicitedelim}%
+     \bibhyperref[\cbx at lastkey]{%
+       \ifdef\cbx at lastprefix%
+         {\printtext[labelprefix]{\cbx at lastprefix}}%
+         {}%
+       \printtext[labelnumber]{\cbx at lastnumber}}}%
+    {}%
+  \setcounter{cbx at tempcnta}{0}%
+  \global\undef\cbx at lastprefix}
+
+%
 %   定义一个上标方括号wrapper
 %
 \newcommand*\mkbibsuperbracket[1]{%
@@ -159,16 +180,92 @@
 %   20190409,v1.0r,hzz
 %   方法:利用newcommand或newrobustcmd命令进行定义
 %   注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突
-\DeclareCiteCommand{\citet}%
-  {\usebibmacro{prenote}}
-  {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace
-  {\renewcommand*{\andothersdelim}{\addspace}}%
-  \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}%
-   \usebibmacro{cite}}}}
-  {\multicitedelim}
-  {\mkbibsuperscript{\printfield{postnote}}}
+%\DeclareCiteCommand{\citet}%
+%  {\usebibmacro{prenote}}
+%  {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace
+%  {\renewcommand*{\andothersdelim}{\addspace}}%
+%  \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}%
+%   \usebibmacro{cite}}}}
+%  {\multicitedelim}
+%  {\mkbibsuperscript{\printfield{postnote}}}
 
+%
+%   重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况
+%   20200721,v1.0v,hzz
+%   方法:利用textcite命令进行定义
+%   基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的上标和页码形式
+\newbool{cbx:incitet}
+\global\booltrue{cbx:incitet}
 
+\newbibmacro*{citet}{%
+  \iffieldequals{namehash}{\cbx at lasthash}%
+    {\usebibmacro{cite:comp}}%
+    {\usebibmacro{cite:dump}%
+     \ifbool{cbx:parens}%
+       {\mkbibsuperscript{\printtext{\bibclosebracket}}\global\boolfalse{cbx:parens}}%
+       {}%
+     \iffirstcitekey
+       {}
+       {\textcitedelim}%
+     \usebibmacro{cite:init}%
+     \ifnameundef{labelname}
+       {\printfield[citetitle]{labeltitle}}
+       {\printnames{labelname}}%
+     \setunit*{\printdelim{namelabeldelim}}%
+     \mkbibsuperscript{\printtext{\bibopenbracket}\global\booltrue{cbx:parens}%
+     \ifnumequal{\value{citecount}}{1}
+       {\usebibmacro{prenote}}%
+       {}%
+     \usebibmacro{cite:comp}%
+     \stepcounter{textcitecount}%
+     \savefield{namehash}{\cbx at lasthash}}}}
+
+\DeclareCiteCommand{\cbx at textcite}%
+  {\usebibmacro{cite:init}}%
+  {\usebibmacro{citeindex}%
+   \ifbool{cbx:incitet}{\usebibmacro{citet}}{\usebibmacro{textcite}}%
+   }%
+  {}%
+  {\ifbool{cbx:incitet}{\mkbibsuperscript{\usebibmacro{cite:dump}\usebibmacro{postnote}}}%
+        {\usebibmacro{cite:dump}\usebibmacro{postnote}}%
+   \ifbool{cbx:parens}%
+     {\ifbool{cbx:incitet}{\mkbibsuperscript{\bibclosebracket}}{\bibclosebracket}%
+     \global\boolfalse{cbx:parens}}%
+     {}}
+
+  \newrobustcmd{\cbx at citet@init}[2]{%
+  \global\booltrue{cbx:incitet}%
+  \setcounter{textcitetotal}{0}%
+  \setcounter{textcitecount}{0}%
+  \def\cbx at savedcites{#1}#2\cbx at savedcites\empty}
+
+  \renewrobustcmd{\cbx at textcite@init}[2]{%
+  \global\boolfalse{cbx:incitet}%
+  \setcounter{textcitetotal}{0}%
+  \setcounter{textcitecount}{0}%
+  \def\cbx at savedcites{#1}#2\cbx at savedcites\empty}
+
+\DeclareCiteCommand{\citet}[\cbx at citet@init\cbx at textcite]
+  {\gdef\cbx at savedkeys{}%
+   \citetrackerfalse%
+   \pagetrackerfalse%
+   \DeferNextCitekeyHook%
+   \usebibmacro{cite:init}}
+  {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}
+     {\protected at xappto\cbx at savedcites{()(\thefield{multipostnote})}%
+      \global\clearfield{multipostnote}}
+     {}%
+   \xappto\cbx at savedkeys{\thefield{entrykey},}%
+   \iffieldequals{namehash}{\cbx at lasthash}
+     {}
+     {\stepcounter{textcitetotal}%
+      \savefield{namehash}{\cbx at lasthash}}}
+  {}
+  {\protected at xappto\cbx at savedcites{%
+     [\thefield{prenote}][\thefield{postnote}]{\cbx at savedkeys}}}
+
+
+
 \DeclareCiteCommand{\citep}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号
   {[\usebibmacro{cite:init}%
    \usebibmacro{prenote}}

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	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -10,7 +10,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -448,6 +448,7 @@
     \def\str at references{参考文献}
     \def\str at bytranslator{译}
     \def\str at andotherscn{等}
+    \def\str at andcn{和}
     \def\str at backrefpage{引用页}
     \def\str at backrefpages{引用页}
     \def\str at noaddress{出版地不详}
@@ -823,7 +824,7 @@
         bytranslator= {\str at bytranslator\adddot}, %将trans. by 改成 译
         and         = {\addcomma},%将第2和3人名见的and符号改成 逗号,用\finalnamedelim命令也可以定义,参见3.9.1节
         andcn       = {\addcomma},%\str at andcn\ and本地化字符串的中文对应词
-        andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分
+        andincitecn = {\str at andcn},%将标注中的分开,便于与文献表中的区分
         andincite   = {\addcomma},
         %andothers   = {et al.},        %将超过3个人名的省略,et al.改成为 等
         andotherscn   = {\str at andotherscn},%将超过3个人名的省略,et al.改成为 等
@@ -896,7 +897,7 @@
 %      incollection和inproceedings基本与inbook类似,因此做inbook驱动别名处理
 %   3. 专利类型有其特殊性,考虑patent类型
 %   4. 电子资源类型有其特殊性,考虑online类型
-%   5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更细日期
+%   5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更新日期
 %      因此考虑用一种类型来输出,使用report类型
 %   6. 手册/学位论文等类型与book有点类似,但对于出版项处理时,有缺省时,直接省略,
 %      同时有version和edition的区别,因此考虑用一种类型来输出,使用manual类型
@@ -917,7 +918,7 @@
 %     modifydate 用于更新或修改日期,输出到日,且用()包围,数据源为date或enddate或eventdate
 
 \DeclareSourcemap{
-\maps[datatype=bibtex]{
+\maps[datatype=bibtex]{%
         \map{%当没有作者时将editor转成author
         \pernottype{inbook}%因为in系列中editor可能用来表示bookauthor,所以排除
         \pernottype{inproceedings}
@@ -1042,7 +1043,7 @@
             \pertype{inproceedings}
             \pertype{conference}%兼容老的conference类型
             \step[fieldset=usera, fieldvalue={C}]
-            \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution
+            \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher
             \step[fieldset=publisher, origfieldval]
             }
         \map{
@@ -1054,7 +1055,7 @@
         \map{
             \pertype{incollection}
             \step[fieldset=usera, fieldvalue={G}]
-            \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution
+            \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher
             \step[fieldset=publisher, origfieldval]
             }
         \map{
@@ -1516,8 +1517,9 @@
 \DeclareBibliographyAlias{database}{manual}
 \DeclareBibliographyAlias{dataset}{manual}
 \DeclareBibliographyAlias{software}{manual}
+\DeclareBibliographyAlias{map}{manual}
+\DeclareBibliographyAlias{archive}{manual}
 
-
 %=====================================================================
 %   设置排序格式
 %=====================================================================
@@ -1866,8 +1868,8 @@
 %
 %   原理方法:set方法可以参考3.11.5 Entry Sets,4.11.1 Entry Sets
 %   这里调整一下两种语言参考文献的间隔,源来自biblatex.def
-\renewcommand*{\entrysetpunct}{\adddot\par\nobreak}
-\renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%页码引用格式的修改%修改为用冒号
+\renewcommand*{\entrysetpunct}{\adddot\par\nobreak}%ay样式用par也可以,因为没有悬挂对齐问题
+\renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%%页码引用格式的修改,修改为用冒号
 %\renewcommand{\relateddelim}{}%\par
 
 %=====================================================================
@@ -1941,6 +1943,7 @@
   {title}{#1}%\nopunct\unspace
 \DeclareFieldFormat{url}{\url{#1}} %url域修改如本行%url相关输出,源来自biblatex.def
 \def\UrlFont{\rmfamily}%设置url字体为roman字体%\ttfamily
+%\urlstyle{rm} %使用这句也一样
 \setcounter{biburlnumpenalty}{100} %让url可以在数字后断行
 \setcounter{biburlucpenalty}{100} %让url可以在大写字母后断行
 \setcounter{biburllcpenalty}{100} %让url可以在小写字母后断行
@@ -2004,7 +2007,7 @@
 %   修改译者位置格式
 %
 %   原理方法:修改来自biblatex.def文件的bytranslator+others宏的格式
-\renewbibmacro*{bytranslator+others}{%
+\renewbibmacro*{bytranslator+others}{\bibauthorfont%
   \ifnameundef{translator}
     {}
     {%\usebibmacro{bytranslator+othersstrg}
@@ -2027,7 +2030,7 @@
 %
 %   原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。
 %   \printnames由start-stop控制项数,默认是1和maxnames/minnames
-\renewbibmacro*{name:andothers}{%
+\renewbibmacro*{name:andothers}{\bibauthorfont%
   \ifboolexpr{
     test {\ifnumequal{\value{listcount}}{\value{liststop}}}
     and
@@ -2853,7 +2856,7 @@
 %
 %   对edition版本信息格式做出修改
 %
-\DeclareFieldFormat{edition}{%源来自biblatex.DEF
+\DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF
 \testCJKfirst{userd}%
 \iftoggle{ifCJKforgbt}%
 {\ifinteger{#1}%
@@ -2866,7 +2869,7 @@
 %
 %   对version的版本信息做出修改
 %
-\DeclareFieldFormat{version}{%源来自biblatex.DEF
+\DeclareFieldFormat{version}{\bibtitlefont%源来自biblatex.DEF
 \testCJKfirst{userd}%
   \ifinteger{#1}%
     {\iftoggle{ifCJKforgbt}{\printtext{#1\str at edition}}%

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -7,7 +7,7 @@
 %% Released under the LaTeX Project Public License v1.3c or later
 %% ---------------------------------------------------------------
 %%
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \ProvidesFile{gb7714-2015ay.cbx}[\versionofgbtstyle biblatex citation style]
 
 %
@@ -181,7 +181,7 @@
 %   20180427,v1.0k,增加,hzz
 %   20190409,v1.0r,hzz
 %   为与顺序编码制兼容,增加了命令,定义与citet相同
-\newbibmacro*{citet}{%
+\newbibmacro*{citeta}{%
   \iffieldundef{shorthand}
     {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
        {\usebibmacro{cite:label}%
@@ -213,7 +213,7 @@
     {\thefield{postnote}}}%
     \usebibmacro{prenote}}%
   {\usebibmacro{citeindex}%
-   \usebibmacro{citet}}
+   \usebibmacro{citeta}}
   {}
   {\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
   }
@@ -225,19 +225,88 @@
 %   注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突
 
 %同\authornumcite
-\DeclareCiteCommand{\citet}%
-  {\usebibmacro{cite:init}%
-  \renewbibmacro*{postnote}{%
-  \iffieldundef{postnote}%
-    {}%
-    {\thefield{postnote}}}%
-    \usebibmacro{prenote}}%
+%\DeclareCiteCommand{\citet}%
+%  {\usebibmacro{cite:init}%
+%  \renewbibmacro*{postnote}{%
+%  \iffieldundef{postnote}%
+%    {}%
+%    {\thefield{postnote}}}%
+%    \usebibmacro{prenote}}%
+%  {\usebibmacro{citeindex}%
+%   \usebibmacro{citet}}
+%  {}
+%  {%(
+%  )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
+%  }
+
+
+%
+%   重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况
+%   20200721,v1.0v,hzz
+%   方法:利用textcite命令进行定义
+%   基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的页码形式
+\newbool{cbx:incitet}
+\newbibmacro*{citet:postnote}{%
+  \ifthenelse{\value{multicitecount}=\value{multicitetotal}}
+    {\setunit{}%
+     \printtext{%
+       \ifbool{cbx:parens}
+         {\bibcloseparen\global\boolfalse{cbx:parens}}
+         {}}}
+    {\setunit{%
+       \ifbool{cbx:parens}
+         {\bibcloseparen\global\boolfalse{cbx:parens}}
+         {}%
+       \textcitedelim}}%
+       \renewbibmacro*{postnote}{%
+      \iffieldundef{postnote}%
+        {}%
+        {\thefield{postnote}}}%
+      \mkbibsuperscript{\usebibmacro{postnote}}%
+       }
+
+\DeclareCiteCommand{\cbx at textcite}
+  {\usebibmacro{cite:init}}
   {\usebibmacro{citeindex}%
-   \usebibmacro{citet}}
+   \usebibmacro{textcite}}
   {}
-  {\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
-  }
+  {\ifbool{cbx:incitet}{\usebibmacro{citet:postnote}}{\usebibmacro{textcite:postnote}}}
 
+  \newrobustcmd{\cbx at citet@init}[2]{%
+  \global\booltrue{cbx:incitet}%
+  \setcounter{textcitetotal}{0}%
+  \setcounter{textcitecount}{0}%
+  \def\cbx at savedcites{#1}#2\cbx at savedcites\empty}
+
+  \renewrobustcmd{\cbx at textcite@init}[2]{%
+  \global\boolfalse{cbx:incitet}%
+  \setcounter{textcitetotal}{0}%
+  \setcounter{textcitecount}{0}%
+  \def\cbx at savedcites{#1}#2\cbx at savedcites\empty}
+
+\DeclareCiteCommand{\citet}[\cbx at citet@init\cbx at textcite]
+  {\gdef\cbx at savedkeys{}%
+   \citetrackerfalse%
+   \pagetrackerfalse%
+   \DeferNextCitekeyHook%
+   \usebibmacro{cite:init}}
+  {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0}
+     {\protected at xappto\cbx at savedcites{()(\thefield{multipostnote})}%
+      \global\clearfield{multipostnote}}
+     {}%
+   \xappto\cbx at savedkeys{\thefield{entrykey},}%
+   \iffieldequals{namehash}{\cbx at lasthash}
+     {}
+     {\stepcounter{textcitetotal}%
+      \savefield{namehash}{\cbx at lasthash}}}
+  {}
+  {\protected at xappto\cbx at savedcites{%
+     [\thefield{prenote}][\thefield{postnote}]{\cbx at savedkeys}}}
+
+\let\cbx at citets@init\cbx at citet@init
+\pretocmd{\cbx at citets@init}{\UseNextMultiCiteHook}{}{}
+\DeclareMultiCiteCommand{\citets}[\cbx at citets@init\cbx at textcites]{\citet}{}
+
 %同cite
 \DeclareCiteCommand{\citep}
   {\usebibmacro{cite:init}%

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	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -7,7 +7,7 @@
 %% Released under the LaTeX Project Public License v1.3c or later
 %% ---------------------------------------------------------------
 %%
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \ProvidesFile{gb7714-2015ms.cbx}[\versionofgbtstyle biblatex citation style]
 
 %

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	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -11,7 +11,7 @@
 %
 %   版本和时间信息
 %
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \def\versionofbiblatex{\abx at version}
 \ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style]
 %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求

Modified: trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx	2020-07-24 21:53:44 UTC (rev 55930)
+++ trunk/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx	2020-07-24 21:54:06 UTC (rev 55931)
@@ -7,7 +7,7 @@
 %% Released under the LaTeX Project Public License v1.3c or later
 %% ---------------------------------------------------------------
 %%
-\def\versionofgbtstyle{2020/03/20 v1.0u}
+\def\versionofgbtstyle{2020/07/21 v1.0v}
 \ProvidesFile{gb7714-2015mx.cbx}[\versionofgbtstyle biblatex citation style]
 
 %



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