summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-12-11 21:18:04 +0000
committerKarl Berry <karl@freefriends.org>2021-12-11 21:18:04 +0000
commit7a57fbcb22256ac540317f8969ee1cc0f8e47a5a (patch)
tree3ad79be3f2cfc9146c03aab0b4b148386f246e87
parenta85d763fcf68de971de2ca193c7dac68faa16d04 (diff)
biblatex-gb7714-2015 (11dec21)
git-svn-id: svn://tug.org/texlive/trunk@61274 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md7
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdfbin1654384 -> 1655072 bytes
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex17
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005.bbx31
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005ay.bbx33
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx104
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.bbx18
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx110
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.bbx14
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx14
11 files changed, 295 insertions, 71 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 8e0a745fdca..3959490ae38 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: 2021-09-11 to version v1.1a</b>
+<b>Date of last change: 2021-12-11 to version v1.1b</b>
# biblatex-gb7714-2015: a biblatex style package
@@ -44,6 +44,7 @@ biblatex-gb7714-2015 宏包是中文参考文献著录/标注标准 `GB/T 7714-2
* special characters in all fields?
* entry without author: the delimiter between title and year?
* TEST FOR texlive 2015,2016,2017
+ * 标注中包围符号的定义[]、()、圆圈、方框等,有些命令没有去修改。
@@ -670,7 +671,7 @@ gbyntd 以语言、年份、作者、标题、降序排列
* <b>我习惯用传统的bst文件来生成参考文献,有没有GB/T 7714-2015标准的实现版本?</b>
-GB/T 7714-2015标准实现的bst版本,已经由[zeping lee](https://github.com/zepinglee/gbt7714-bibtex-style)开发完毕,直接使用即可。
+GB/T 7714-2015标准实现的bst版本,已经由[zeping lee](https://github.com/CTeX-org/gbt7714-bibtex-style)开发完毕,直接使用即可。
@@ -1546,7 +1547,7 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information!
* 2021/05/06 v1.0y,ctan
* 2021/08/19 v1.0z,ctan
* 2021/09/11 v1.1a,ctan
-
+* 2021/12/11 v1.1b,ctan
---------------------------------------------------------
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
index 7f970fb784e..0181a2f4388 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
Binary files differ
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 60833504ae5..c94e6f3588d 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
@@ -100,6 +100,7 @@ sorting选项值(gb7714-2015支持以语言著者-出版年标题升序排列,
析出文献标识符控制(gbpunctin选项,可设置\texttt{//}不输出或其它表示形式)、
标题超链接控制(gbtitlelink选项,可设置文献表中各条目标题超链接)、
标准标签超链接控制(gblabelref选项,可设置标注中作者标签的超链接)、
+标注标签格式控制(gbcitelabel选项,可设置标签包围符号)、
作者项处理(gbnoauthor选项,可设置作者缺失时是否填补信息);
著录表格式选项和命令:
@@ -514,6 +515,22 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt]
\end{figure}
+ \pdfbookmark[4]{gbcitelabel}{gbcitelabel}
+ \item[gbcitelabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket
+
+ 为标注标签的包围符号增加的选项,用于选择正文中标注标签符号。
+ \begin{itemize}
+ \item gbcitelabel=bracket,标注标签由方括号包围,比如[1];
+ \item gbcitelabel=parens,标注标签由圆括号包围,比如(1);
+ \item gbcitelabel=dot,标注标签数字后面加点,比如1.;
+ \item gbcitelabel=plain,标注标签无装饰,比如1;
+ \item gbcitelabel=box,标注标签由方框包围,比如\framebox{1};
+ \item gbcitelabel=circle,标注标签由圆圈包围,比如\textcircled{1}。
+ \end{itemize}
+ 顺序编码制和作者年制存在一定的差异,作者年制主要是方括号、圆括号、无括号的选择。
+ 顺序编码制默认是方括号,作者年制默认是圆括号。
+
+
\pdfbookmark[4]{gbnamefmt}{gbnamefmt}
\item[gbnamefmt]=\textbf{uppercase},lowercase,givenahead,familyahead,pinyin. \hfill default is uppercase
diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005.bbx
index 12271aa8a82..825dd92b756 100644
--- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005.bbx
@@ -52,3 +52,34 @@
}
}
}
+
+%==================================================
+%输出格式调整
+%==================================================
+%
+% 重设专利title的输出,将文献类型标识符输出出去,并将国别加入进来
+%
+\renewbibmacro*{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}}%
+ {\setunit{\subtitlepunct}\printfield{titleaddon}\setunit{\addcomma\space}}%
+ \iflistundef{location}{}%
+ {\setunit{\subtitlepunct}\printlist{location}\setunit{\addcomma\space}}%
+ \printfield{number}%
+ \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}%
+ %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点
+ %\newunit
+ }%
+}%
+\clearlist{location}\clearlist{address}%
+}
diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005ay.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005ay.bbx
index 44d089fdddd..a3c3059832c 100644
--- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005ay.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2005ay.bbx
@@ -50,3 +50,36 @@
}
}
}
+
+
+
+%==================================================
+%输出格式调整
+%==================================================
+%
+% 重设专利title的输出,将文献类型标识符输出出去,并将国别加入进来
+%
+\renewbibmacro*{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}}%
+ {\setunit{\subtitlepunct}\printfield{titleaddon}\setunit{\addcomma\space}}%
+ \iflistundef{location}{}%
+ {\setunit{\subtitlepunct}\printlist{location}\setunit{\addcomma\space}}%
+ \printfield{number}%
+ \iftoggle{bbx:gbtype}{\printfield[gbtypeflag]{usera}}{}%
+ %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点
+ %\newunit
+ }%
+}%
+\clearlist{location}\clearlist{address}%
+}
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 f383483dd43..a61fde5bd62 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,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2021/09/11 v1.1a}
+\def\versionofgbtstyle{2021/12/11 v1.1b}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -194,10 +194,12 @@
%为单个条目的姓名格式控制增加nameformat和namefmtid两个域
%为缩略信息文献表增加了shortbooktitle域
%为多语言排序增加了lansortorder域
+ %因为language域会被clearlang选项清除,增加languageid域,类型设为field而不是list
\DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat}
\DeclareDatamodelFields[type=field,datatype=integer]{namefmtid}
\DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle}
\DeclareDatamodelFields[type=field,datatype=literal]{lansortorder}
+ \DeclareDatamodelFields[type=field,datatype=literal]{languageid}
%因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型
%不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时
@@ -1343,31 +1345,37 @@
%这里为兼容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=languageid,fieldvalue={english}]
\step[fieldset=lansortorder,fieldvalue=\lanenorder]
}
\map{
\step[fieldsource=language,match=\regexp{(r|R)(u|U)(s|S)(s|S)(i|I)(a|A)(n|N)},final]
\step[fieldset=langid,fieldvalue={russian}]
+ \step[fieldset=languageid,fieldvalue={russian}]
\step[fieldset=lansortorder,fieldvalue=\lanruorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(f|F)(r|R)(e|E)(n|N)(c|C)(h|H)},final]
\step[fieldset=langid,fieldvalue={french}]
+ \step[fieldset=languageid,fieldvalue={french}]
\step[fieldset=lansortorder,fieldvalue=\lanfrorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(c|C)(h|H)(i|I)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={chinese}]
\step[fieldset=lansortorder,fieldvalue=\lancnorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(j|J)(a|A)(p|P)(a|A)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={japanese}]
\step[fieldset=lansortorder,fieldvalue=\lanjporder]
}
\map{%
\step[fieldsource=language,match=\regexp{(k|K)(o|O)(r|R)(e|E)(a|A)(n|N)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={korean}]
\step[fieldset=lansortorder,fieldvalue=\lankrorder]
}
\map[overwrite]{%bib中abstract和howpublished常出现特殊字符这里做一下预处理。
@@ -2690,7 +2698,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2720,7 +2728,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeCapital{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2809,7 +2817,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{\MakeUppercase{#1}}}\isdot%\MakeUppercase %\mkbibnamelast{\MakeUppercase{#1}} %\MakeSentenceCase
- \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamefirst{#2}}\isdot}%
+ \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{\MakeSentenceCase{#2}}\isdot}%
\ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2833,7 +2841,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{\MakeCapital{#1}}}\isdot%\MakeUppercase %\mkbibnamelast{\MakeUppercase{#1}} %\MakeSentenceCase
- \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamefirst{#2}}\isdot}%
+ \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{\MakeSentenceCase{#2}}\isdot}%
\ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
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 ddc80006c23..8ce01ed8729 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
@@ -22,6 +22,58 @@
\settoggle{bbx:gblabelref}{#1}}
\ExecuteBibliographyOptions{gblabelref}
+%
+% 增加标签包围符号格式处理选项
+% 20211030,1.1a,hzz
+%
+\newrobustcmd{\mkbibleftborder}{[}
+\newrobustcmd{\mkbibrightborder}{]}
+\DeclareBibliographyOption[string]{gbcitelabel}[bracket]{%
+ \csuse{gbcitelabelopt@#1}
+}
+\ExecuteBibliographyOptions{gbcitelabel}
+
+\renewrobustcmd{\mkbibsuperscript}[1]{%
+ \unspace\allowhyphens\textsuperscript{%
+ \begingroup
+ \protected\long\def\mkbibsuperscript##1{%
+ \blx@warning{Nested superscript}%
+ \mkbibbrackets{##1}}%嵌套的这里没有动
+ #1\endgroup}\kern\z@}%
+
+\def\gbcitelabelopt@bracket{%
+\renewrobustcmd{\mkbibleftborder}{[}%
+\renewrobustcmd{\mkbibrightborder}{]}%
+}
+\def\gbcitelabelopt@parens{%
+\renewrobustcmd{\mkbibleftborder}{(}%
+\renewrobustcmd{\mkbibrightborder}{)}%
+}
+\def\gbcitelabelopt@dot{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{.}%
+}
+\def\gbcitelabelopt@plain{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+}
+\def\gbcitelabelopt@box{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+\renewrobustcmd{\mkbibsuperscript}[1]{%
+ \unspace\allowhyphens\textsuperscript{%
+ \begingroup
+\framebox{##1}\endgroup}\kern\z@}%
+}
+\def\gbcitelabelopt@circle{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+\renewrobustcmd{\mkbibsuperscript}[1]{%
+ \unspace\allowhyphens\textsuperscript{%
+ \begingroup
+\textcircled{##1}\endgroup}\kern\z@}%
+}
+
%
% 选项设置
@@ -125,14 +177,15 @@
%修改\mkbibsuperscript宏在最后加上一个空白使得xeCJK不会自动在引用标签后面加上中英文之间的空白
-%hzz,v1.0w,2021-0401
-\renewrobustcmd{\mkbibsuperscript}[1]{%
- \unspace\allowhyphens\textsuperscript{%
- \begingroup
- \protected\long\def\mkbibsuperscript##1{%
- \blx@warning{Nested superscript}%
- \mkbibbrackets{##1}}%
- #1\endgroup}\kern\z@}
+%20210401,v1.0w,hzz
+%20211030,v1.1a,hzz,调整到选项中去
+%\renewrobustcmd{\mkbibsuperscript}[1]{%
+% \unspace\allowhyphens\textsuperscript{%
+% \begingroup
+% \protected\long\def\mkbibsuperscript##1{%
+% \blx@warning{Nested superscript}%
+% \mkbibbrackets{##1}}%
+% #1\endgroup}\kern\z@}
\newrobustcmd{\mkbibsuperscriptusp}[1]{%
\unspace\allowhyphens\textsuperscript{%
@@ -142,19 +195,20 @@
\mkbibbrackets{##1}}%
#1\endgroup}}
+
+
%
% 重定义cite命令
%
% 方法:\DeclareCiteCommand{\cite}[\mkbibparens]{precode}{loopcode}{sepcode}{postcode}
% v1.0p版后将cite的处理方式修改为类似pagescite,而不再使用biblatex的标准方式
\DeclareCiteCommand{\cite}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号 \textsuperscript
- {[\usebibmacro{cite:init}%]
+ {\mkbibleftborder\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
- {%[
- \usebibmacro{cite:dump}]%
+ {\usebibmacro{cite:dump}\mkbibrightborder%
\printfield{postnote}}%\kern\p@ \kern\z@
%\renewcommand{\cite}[1]{\textsuperscript{[\supercite{#1}]}\kern\z@}
@@ -180,13 +234,13 @@
% 重定义parencite命令,以满足标签带页码的国标要求
%
\DeclareCiteCommand{\parencite}%[\mkbibbrackets]
- {[\usebibmacro{cite:init}%]
+ {\mkbibleftborder\usebibmacro{cite:init}%
\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
{%[
- \usebibmacro{cite:dump}]%
+ \usebibmacro{cite:dump}\mkbibrightborder%
\mkbibsuperscriptusp{\printfield{postnote}}}
%
@@ -200,26 +254,26 @@
{\printfield{postnote}}}
% 2.新增\pagescite引用命令
\DeclareCiteCommand{\pagescite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标
- {[\usebibmacro{cite:init}%]直接添加方括号
+ {\mkbibleftborder\usebibmacro{cite:init}%]直接添加方括号
\usebibmacro{prenote}%
}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
- {\usebibmacro{cite:dump}]%
+ {\usebibmacro{cite:dump}\mkbibrightborder%
\usebibmacro{postpages}}
%
% 定义yearpagescite,为与ay样式兼容,等同于\pagescite
%
\DeclareCiteCommand{\yearpagescite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标
- {[\usebibmacro{cite:init}%]直接添加方括号
+ {\mkbibleftborder\usebibmacro{cite:init}%直接添加方括号
\usebibmacro{prenote}%
}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
- {\usebibmacro{cite:dump}]%
+ {\usebibmacro{cite:dump}\mkbibrightborder%
\usebibmacro{postpages}}
%
@@ -227,13 +281,14 @@
%
% 原理方法:等同于\pagescite,但不要页码
\DeclareCiteCommand{\yearcite}[\mkbibsuperscript]%\mkbibbrackets,仍然用上标
- {[\usebibmacro{cite:init}%]直接添加方括号
+ {\mkbibleftborder\usebibmacro{cite:init}%直接添加方括号
\usebibmacro{prenote}%
}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
- {\usebibmacro{cite:dump}]}
+ {\usebibmacro{cite:dump}\mkbibrightborder}
+
%
% 定义\authornumcite命令,输出作者信息,然后在后面带上顺序编码
@@ -254,8 +309,8 @@
{\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace
{\renewcommand*{\andothersdelim}{\addspace}}%
\iftoggle{bbx:gblabelref}{\printtext[bibhyperref]{\printnames{labelname}}}{\printnames{labelname}}%
- \mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}%
- \usebibmacro{citeathn}}}}
+ \mkbibsuperscript{\mkbibleftborder\usebibmacro{citeindex}%
+ \usebibmacro{citeathn}\mkbibrightborder}}
{\multicitedelim}
{\mkbibsuperscript{\printfield{postnote}}}
@@ -354,12 +409,12 @@
\DeclareCiteCommand{\citep}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号
- {[\usebibmacro{cite:init}%
+ {\mkbibleftborder\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite:comp}}
{}
- {\usebibmacro{cite:dump}]%
+ {\usebibmacro{cite:dump}\mkbibrightborder%
\printfield{postnote}}
\newrobustcmd*{\citetns}%
@@ -376,7 +431,8 @@
% 20190430,v1.0r,hzz
% citec和citecs命令是实现了[1]-[3]这样的压缩形式。
% authornumcites是常用命令authornumcite的复数形式
-\DeclareFieldFormat{labelbracket}{\mkbibbrackets{#1}}
+%\DeclareFieldFormat{labelbracket}{\mkbibbrackets{#1}}
+\DeclareFieldFormat{labelbracket}{\mkbibleftborder{#1}\mkbibrightborder}
\newbibmacro*{citec:comp:comp}{%
\ifboolexpr{
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 25455abe4a6..2e38ec22c49 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,7 +10,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2021/09/11 v1.1a}
+\def\versionofgbtstyle{2021/12/11 v1.1b}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -191,10 +191,12 @@
%为单个条目的姓名格式控制增加nameformat和namefmtid两个域
%为缩略信息文献表增加了shortbooktitle域
%为多语言排序增加了lansortorder域
+ %因为language域会被clearlang选项清除,增加languageid域,类型设为field而不是list
\DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat}
\DeclareDatamodelFields[type=field,datatype=integer]{namefmtid}
\DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle}
\DeclareDatamodelFields[type=field,datatype=literal]{lansortorder}
+ \DeclareDatamodelFields[type=field,datatype=literal]{languageid}
%因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型
%不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时
@@ -1292,31 +1294,37 @@
%这里为兼容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=languageid,fieldvalue={english}]
\step[fieldset=lansortorder,fieldvalue=\lanenorder]
}
\map{
\step[fieldsource=language,match=\regexp{(r|R)(u|U)(s|S)(s|S)(i|I)(a|A)(n|N)},final]
\step[fieldset=langid,fieldvalue={russian}]
+ \step[fieldset=languageid,fieldvalue={russian}]
\step[fieldset=lansortorder,fieldvalue=\lanruorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(f|F)(r|R)(e|E)(n|N)(c|C)(h|H)},final]
\step[fieldset=langid,fieldvalue={french}]
+ \step[fieldset=languageid,fieldvalue={french}]
\step[fieldset=lansortorder,fieldvalue=\lanfrorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(c|C)(h|H)(i|I)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={chinese}]
\step[fieldset=lansortorder,fieldvalue=\lancnorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(j|J)(a|A)(p|P)(a|A)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={japanese}]
\step[fieldset=lansortorder,fieldvalue=\lanjporder]
}
\map{%
\step[fieldsource=language,match=\regexp{(k|K)(o|O)(r|R)(e|E)(a|A)(n|N)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={korean}]
\step[fieldset=lansortorder,fieldvalue=\lankrorder]
}
\map{%尝试未定义数据模型的standard类型映射为其他类型book或inbook,
@@ -2543,7 +2551,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2573,7 +2581,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeCapital{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2662,7 +2670,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{\MakeUppercase{#1}}}\isdot%\MakeUppercase %\mkbibnamelast{\MakeUppercase{#1}} %\MakeSentenceCase
- \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamefirst{#2}}\isdot}%
+ \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{\MakeSentenceCase{#2}}\isdot}%
\ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2686,7 +2694,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7
{\mkbibnameprefix{#3}\isdot}%
\ifpunctmark{'}{}{\bibnamedelimc}}%
\ifblank{#2}{\MakeCapital#1}{\mkbibnamelast{\MakeCapital{#1}}}\isdot%\MakeUppercase %\mkbibnamelast{\MakeUppercase{#1}} %\MakeSentenceCase
- \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamefirst{#2}}\isdot}%
+ \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{\MakeSentenceCase{#2}}\isdot}%
\ifblank{#4}{}{\addcomma\addspace\bibnamedelimd\mkbibnameaffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
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 e6540216ba4..19a92bceed4 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
@@ -24,6 +24,43 @@
\ExecuteBibliographyOptions{gblabelref}
+%
+% 增加标签包围符号格式处理选项
+% 20211030,1.1a,hzz
+%
+\newrobustcmd{\mkbibleftborder}{(}
+\newrobustcmd{\mkbibrightborder}{)}
+\DeclareBibliographyOption[string]{gbcitelabel}[bracket]{%
+ \csuse{gbcitelabelopt@#1}
+}
+\ExecuteBibliographyOptions{gbcitelabel}
+
+\def\gbcitelabelopt@bracket{%
+\renewrobustcmd{\mkbibleftborder}{[}%
+\renewrobustcmd{\mkbibrightborder}{]}%
+}
+\def\gbcitelabelopt@parens{%
+\renewrobustcmd{\mkbibleftborder}{(}%
+\renewrobustcmd{\mkbibrightborder}{)}%
+}
+\def\gbcitelabelopt@dot{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{.}%
+}
+\def\gbcitelabelopt@plain{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+}
+\def\gbcitelabelopt@box{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+}
+\def\gbcitelabelopt@circle{%
+\renewrobustcmd{\mkbibleftborder}{}%
+\renewrobustcmd{\mkbibrightborder}{}%
+}
+
+
\ExecuteBibliographyOptions{
%autocite = superscript ,
%autopunct = true ,
@@ -69,6 +106,11 @@ or
test {\iftoggle{iftlseven}}%3.7=biblatex
}{\newbibmacro{cite:labeldate+extradate}{\usebibmacro{cite:labelyear+extrayear}}}{}%else: biblatex>3.7
+%标注中biblatex专门定义了labelname来控制格式
+%所以如果要让标注的格式也同著录表一样的话
+%就可以使用下面这一个定义,当然通常情况下我们使用默认的定义即可。
+%\DeclareNameAlias{labelname}{namefmtselected}
+
%textcite标注命令中的标点设置,注意只针对textcite命令。
% v-old
% v1.0t,20200320,hzz,修改如下
@@ -179,12 +221,11 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
\iffieldundef{postnote}%
{}%
{\thefield{postnote}}}%
- (\usebibmacro{prenote}}%)
+ \mkbibleftborder\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
- {%(
- )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
+ {\mkbibrightborder\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
}
%
@@ -198,19 +239,34 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
%
% 重定义parencite命令
%
-%\DeclareCiteCommand{\parencite}
-% {\usebibmacro{cite:init}%
-% \renewbibmacro*{postnote}{%
-% \iffieldundef{postnote}%
-% {}%
-% {\nopunct%
-% \printfield{postnote}}}%
-% (\usebibmacro{prenote}}%)
-% {\usebibmacro{citeindex}%
-% \usebibmacro{cite}}
-% {}
-% {%(
-% )\mkbibsuperscript{\usebibmacro{postnote}}}
+\DeclareCiteCommand{\parencite}%[\mkbibparens]
+ {\usebibmacro{cite:init}%
+ \renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}%
+ {}%
+ {\nopunct%
+ \printfield{postnote}}}%
+ \mkbibleftborder\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}
+ {}
+ {\mkbibrightborder\mkbibsuperscript{\usebibmacro{postnote}}}
+
+%
+% 重定义footcite需要使用的命令
+%
+\renewrobustcmd{\blx@mkbibfootnote}[2]{%
+ \iftoggle{blx@footnote}
+ {\blx@warning{Nested notes}%
+ \addspace\mkbibleftborder{#2}\mkbibrightborder}
+ {\unspace
+ \ifnum\blx@notetype=\tw@
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+ {\csuse{blx@theendnote#1}{\protecting{\blxmkbibnote{end}{#2}}}}
+ {\csuse{footnote#1}{\protecting{\blxmkbibnote{foot}{#2}}}}}}
%
@@ -224,13 +280,12 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
\iffieldundef{postnote}%
{\thefield{pages}}%
{\thefield{postnote}}}%
- (\usebibmacro{prenote}%)
+ \mkbibleftborder\usebibmacro{prenote}%
}%
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
- {%(
- )\mkbibsuperscript{\usebibmacro{postnote}}}
+ {\mkbibrightborder\mkbibsuperscript{\usebibmacro{postnote}}}
%
% 定义yearpagescite,用于当文中作者已经存在,需要页码和年份的情况
@@ -243,10 +298,10 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
\iffieldundef{postnote}%
{\thefield{pages}}%
{\thefield{postnote}}}%
- \printtext{(}\usebibmacro{prenote}}%
+ \printtext{\mkbibleftborder}\usebibmacro{prenote}}%
{\usebibmacro{cite:labeldate+extradate}}%\printfield{year}\printfield{extrayear}
{\multicitedelim}%
- {\printtext{)}\textsuperscript{\usebibmacro{postnote}}}
+ {\printtext{\mkbibrightborder}\textsuperscript{\usebibmacro{postnote}}}
%
% 定义yearcite,用于当文中作者已经存在,仅需要年份的情况
@@ -254,10 +309,10 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
% 原理:增加一个命令yearcite
\DeclareCiteCommand{\yearcite}%仅输出年份,不要页码
{\usebibmacro{cite:init}%
- \printtext{(}\usebibmacro{prenote}}%
+ \printtext{\mkbibleftborder}\usebibmacro{prenote}}%
{\usebibmacro{cite:labeldate+extradate}}%\printfield{year}\printfield{extrayear}
{\multicitedelim}%
- {\printtext{)}}
+ {\printtext{\mkbibrightborder}}
%
% 定义\authornumcite命令,输出作者信息,然后在后面带上顺序编码
@@ -355,13 +410,13 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
{}
{\ifbool{cbx:incitet}{\usebibmacro{citet:postnote}}{\usebibmacro{textcite:postnote}}}
- \newrobustcmd{\cbx@citet@init}[2]{%
+\newrobustcmd{\cbx@citet@init}[2]{%
\global\booltrue{cbx:incitet}%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
\def\cbx@savedcites{#1}#2\cbx@savedcites\empty}
- \renewrobustcmd{\cbx@textcite@init}[2]{%
+\renewrobustcmd{\cbx@textcite@init}[2]{%
\global\boolfalse{cbx:incitet}%
\setcounter{textcitetotal}{0}%
\setcounter{textcitecount}{0}%
@@ -397,12 +452,11 @@ test {\iftoggle{iftlseven}}%3.7=biblatex
\iffieldundef{postnote}%
{}%
{\thefield{postnote}}}%
- (\usebibmacro{prenote}}%)
+ \mkbibleftborder\usebibmacro{prenote}}%
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
- {%(
- )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
+ {\mkbibrightborder\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote}
}
\newrobustcmd*{\citetns}%
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 3044440ca21..218823ac907 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,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2021/09/11 v1.1a}
+\def\versionofgbtstyle{2021/12/11 v1.1b}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -85,10 +85,12 @@
%为单个条目的姓名格式控制增加nameformat和namefmtid两个域
%为缩略信息文献表增加了shortbooktitle域
%为多语言排序增加了lansortorder域
+ %因为language域会被clearlang选项清除,增加languageid域,类型设为field而不是list
\DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat}
\DeclareDatamodelFields[type=field,datatype=integer]{namefmtid}
\DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle}
\DeclareDatamodelFields[type=field,datatype=literal]{lansortorder}
+ \DeclareDatamodelFields[type=field,datatype=literal]{languageid}
%因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型
%不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时
@@ -1052,26 +1054,32 @@
\map{%当文献给出language域时,设置文献要使用的本地化字符串的语言
\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=languageid,fieldvalue={english}]
}
\map{
\step[fieldsource=language,match=\regexp{(r|R)(u|U)(s|S)(s|S)(i|I)(a|A)(n|N)},final]
\step[fieldset=langid,fieldvalue={russian}]
+ \step[fieldset=languageid,fieldvalue={russian}]
}
\map{%
\step[fieldsource=language,match=\regexp{(f|F)(r|R)(e|E)(n|N)(c|C)(h|H)},final]
\step[fieldset=langid,fieldvalue={french}]
+ \step[fieldset=languageid,fieldvalue={french}]
}
\map{%
\step[fieldsource=language,match=\regexp{(c|C)(h|H)(i|I)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={chinese}]
}
\map{%
\step[fieldsource=language,match=\regexp{(j|J)(a|A)(p|P)(a|A)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={japanese}]
}
\map{%
\step[fieldsource=language,match=\regexp{(k|K)(o|O)(r|R)(e|E)(a|A)(n|N)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={korean}]
}
}
}
@@ -1578,7 +1586,7 @@
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -1609,7 +1617,7 @@
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeCapital{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx
index e622a03e495..9266b481a56 100644
--- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.bbx
@@ -11,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2021/09/11 v1.1a}
+\def\versionofgbtstyle{2021/12/11 v1.1b}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -109,10 +109,12 @@
%为单个条目的姓名格式控制增加nameformat和namefmtid两个域
%为缩略信息文献表增加了shortbooktitle域
%为多语言排序增加了lansortorder域
+ %因为language域会被clearlang选项清除,增加languageid域,类型设为field而不是list
\DeclareDatamodelFields[type=field,datatype=literal]{mark,medium,nameformat}
\DeclareDatamodelFields[type=field,datatype=integer]{namefmtid}
\DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle}
\DeclareDatamodelFields[type=field,datatype=literal]{lansortorder}
+ \DeclareDatamodelFields[type=field,datatype=literal]{languageid}
%为多样式文献表增加的stylesections、styleaysection域:
\DeclareDatamodelFields[type=field,datatype=integer]{aysections}
\DeclareDatamodelFields[type=field,datatype=literal]{styleaysection}
@@ -1102,31 +1104,37 @@
%这里为兼容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=languageid,fieldvalue={english}]
\step[fieldset=lansortorder,fieldvalue=\lanenorder]
}
\map{
\step[fieldsource=language,match=\regexp{(r|R)(u|U)(s|S)(s|S)(i|I)(a|A)(n|N)},final]
\step[fieldset=langid,fieldvalue={russian}]
+ \step[fieldset=languageid,fieldvalue={russian}]
\step[fieldset=lansortorder,fieldvalue=\lanruorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(f|F)(r|R)(e|E)(n|N)(c|C)(h|H)},final]
\step[fieldset=langid,fieldvalue={french}]
+ \step[fieldset=languageid,fieldvalue={french}]
\step[fieldset=lansortorder,fieldvalue=\lanfrorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(c|C)(h|H)(i|I)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={chinese}]
\step[fieldset=lansortorder,fieldvalue=\lancnorder]
}
\map{%
\step[fieldsource=language,match=\regexp{(j|J)(a|A)(p|P)(a|A)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={japanese}]
\step[fieldset=lansortorder,fieldvalue=\lanjporder]
}
\map{%
\step[fieldsource=language,match=\regexp{(k|K)(o|O)(r|R)(e|E)(a|A)(n|N)},final]%中日韩语目前都用english,
\step[fieldset=langid,fieldvalue={english}]
+ \step[fieldset=languageid,fieldvalue={korean}]
\step[fieldset=lansortorder,fieldvalue=\lankrorder]
}
}
@@ -2153,7 +2161,7 @@
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeUppercase{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%
@@ -2184,7 +2192,7 @@
{\mkbibnameprefix{#3}\isdot}%
\ifprefchar{}{\bibnamedelimc}}%
\ifdefvoid{#2}{\mkbibnamefamily{\MakeCapital{#1}}}{\mkbibnamefamily{\MakeCapital{#1}}}\isdot%
- \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\MakeSentenceCase{\mkbibnamegiven{#2}}\isdot}%\MakeCapital
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{\MakeSentenceCase{#2}}\isdot}%\MakeCapital
\ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}
{\usebibmacro{name:delim}{#1}%
\usebibmacro{name:hook}{#1}%