summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-01-26 03:00:57 +0000
committerNorbert Preining <norbert@preining.info>2022-01-26 03:00:57 +0000
commitd36626add433e216b29d959884d3593baa216866 (patch)
tree66d46b20b551e605dfe8a3b1dc93889d388f9ce3 /macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
parent54e627ff3ae26ebf28688e2cf04b2ed9fb3a393b (diff)
CTAN sync 202201260300
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx94
1 files changed, 67 insertions, 27 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
index 218823ac90..ede9d2549e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx
@@ -11,7 +11,7 @@
%
% 版本和时间信息
%
-\def\versionofgbtstyle{2021/12/11 v1.1b}
+\def\versionofgbtstyle{2022/01/24 v1.1c}
\def\versionofbiblatex{\abx@version}
\ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style]
%\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求
@@ -396,6 +396,8 @@
\newtoggle{bbx:ctexset}
\DeclareBibliographyOption{gbctexset}[true]{%
\settoggle{bbx:ctexset}{#1}}
+ \providecommand{\bibname}{参考文献}
+ \providecommand{\refname}{参考文献}
\AtEndOfPackage{%
\iftoggle{bbx:ctexset}{%
@@ -425,7 +427,7 @@
% 增加一个出版项自动处理控制选项,当true时使用出版者不详等信息补充缺失的出版信息。
%
\newtoggle{bbx:gbpub}
- \DeclareBibliographyOption{gbpub}[true]{%
+ \DeclareBibliographyOption{gbpub}[false]{%
%\settoggle{bbx:gbpub}{#1} %或采用下面这一句
\ifstrequal{#1}{false}{\togglefalse{bbx:gbpub}}{\toggletrue{bbx:gbpub}}}
@@ -774,10 +776,34 @@
\step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution
\step[fieldset=institution, origfieldval]
}
- \map{%根据增加一个新闻报纸的类型newspaper确定文献类型标识符
+ \map[overwrite]{%根据增加一个新闻报纸的类型newspaper确定文献类型标识符
\pertype{newspaper}
\step[fieldset=usera, fieldvalue={N}]
- \step[fieldset=note, fieldvalue=news]%因为没有专门的驱动,记录note方便映射为article后判断
+ \step[fieldset=entrysubtype, fieldvalue=news]%因为没有专门的驱动,记录note方便映射为article后判断
+ }
+ \map[overwrite]{%
+ \pertype{article}
+ \step[fieldsource=note,match=\regexp{(n|N)(e|E)(w|W)(s|S)},final]%
+ \step[fieldset=usera, fieldvalue={N}]
+ \step[fieldset=entrysubtype, fieldvalue=news]%
+ }
+ \map[overwrite]{%
+ \pertype{article}
+ \step[fieldsource=note,match=\regexp{(n|N)(e|E)(w|W)(s|S)(p|P)(a|A)(p|P)(e|E)(r|R)},final]%
+ \step[fieldset=usera, fieldvalue={N}]
+ \step[fieldset=entrysubtype, fieldvalue=news]%
+ }
+ \map[overwrite]{%
+ \pertype{article}
+ \step[fieldsource=entrysubtype,match=\regexp{(n|N)(e|E)(w|W)(s|S)(p|P)(a|A)(p|P)(e|E)(r|R)},final]%
+ \step[fieldset=usera, fieldvalue={N}]
+ \step[fieldset=entrysubtype, fieldvalue=news]%
+ }
+ \map[overwrite]{%
+ \pertype{article}
+ \step[fieldsource=entrysubtype,match=\regexp{(n|N)(e|E)(w|W)(s|S)},final]%
+ \step[fieldset=usera, fieldvalue={N}]
+ \step[fieldset=entrysubtype, fieldvalue=news]%
}
\map{%对应增加的一个数据库类型database确定文献类型标识符
\pertype{database}
@@ -826,10 +852,24 @@
\step[fieldsource=version] %有时会把version和edition混淆,处理后直接用edition
\step[fieldset=edition, origfieldval]
}
- \map{%兼容老的standard类型,确定文献类型标识符
+ \map[overwrite]{%兼容老的standard类型,确定文献类型标识符
\pertype{standard}
\step[fieldset=usera, fieldvalue={S}]
- \step[fieldset=note, fieldvalue=standard]%因为没有专门的驱动,记录note方便映射为book和inbook后判断
+ \step[fieldset=entrysubtype, fieldvalue=standard]%因为没有专门的驱动,记录note方便映射为book和inbook后判断
+ }
+ \map[overwrite]{%根据standard
+ \pertype{inbook}
+ \pertype{book}
+ \step[fieldsource=entrysubtype,match=\regexp{(s|S)(t|T)(a|A)(n|N)(d|D)(a|A)(r|R)(d|D)},final]%\x80-\xFF
+ \step[fieldset=usera, fieldvalue={S}]
+ \step[fieldset=entrysubtype, fieldvalue=standard]%
+ }
+ \map[overwrite]{%根据standard
+ \pertype{inbook}
+ \pertype{book}
+ \step[fieldsource=note,match=\regexp{(s|S)(t|T)(a|A)(n|N)(d|D)(a|A)(r|R)(d|D)},final]%\x80-\xFF
+ \step[fieldset=usera, fieldvalue={S}]
+ \step[fieldset=entrysubtype, fieldvalue=standard]%
}
\map{
\pertype{patent}
@@ -1999,9 +2039,9 @@ togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{chinese}}%
\iffieldundef{titleaddon}{}%判断一下titleaddon,否则直接加可能多一个空格
{\setunit{\subtitlepunct}\printfield{titleaddon}}%
\iftoggle{bbx:gbtype}{%
- \iffieldundef{note}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准
- {\iffieldequalstr{note}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准
- {\iffieldequalstr{note}{news}{\printfield[gbtypeflagn]{usera}}%判断是否为报纸
+ \iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准
+ {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准
+ {\iffieldequalstr{entrysubtype}{news}{\printfield[gbtypeflagn]{usera}}%判断是否为报纸
{\printfield[gbtypeflag]{usera}}}%其它
}}{}%
%\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点
@@ -2097,13 +2137,13 @@ test {\iflistundef{location}} and test {\iflistundef{institution}}%
\iftoggle{bbx:gbpub}%
{\testCJKfirst{userd}%
\ifboolexpr{ test {\iflistundef{location}} and test {\iflistundef{publisher}} }%
- {\iffieldequalstr{note}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}%
+ {\iffieldequalstr{entrysubtype}{standard}{}{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress}\space :\space\str@nopublisher]}{\printtext{[S.l.\space :\space s.n.\adddot]}}}}%
{\iflistundef{location}{%\adddot
- \iffieldequalstr{note}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。
+ \iffieldequalstr{entrysubtype}{standard}{}%%从gbt7714-2015标准第19页看到,标准存在出版项时输出,没有时完全省略。
{\iftoggle{ifCJKforgbt}{\printtext{[\str@noaddress]}\addcolon\addspace}{\printtext{[S.l.\adddot]}\publocpunct}}}% \bibstring{noaddress}
{\printlist{location}\publocpunct}%%\addcolon\addspace%
\iflistundef{publisher}{%
- \iffieldequalstr{note}{standard}{}%
+ \iffieldequalstr{entrysubtype}{standard}{}%
{\iftoggle{ifCJKforgbt}{\printtext{[\str@nopublisher]}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}%
{\printtext{\mkbibbrackets{s.n.}}\setunit{\adddot\addspace}\setunit*{\addcomma\addspace}}}}%
{\printlist{publisher}}}%
@@ -2242,15 +2282,15 @@ incollection,proceedings,inproceedings]{number}{%
\printtext{%去掉了[parens]
\iffieldundef{issue}
{%\usebibmacro{date}
- \iffieldundef{note}{\usebibmacro{date}}%判断一下,是否是报纸
- {\iffieldequalstr{note}{news}{\usebibmacro{newsdate}}%判断是否为报纸
+ \iffieldundef{entrysubtype}{\usebibmacro{date}}%判断一下,是否是报纸
+ {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}%判断是否为报纸
{\usebibmacro{date}}%
}}%
{\iftoggle{bbx:gbstrict}{}{\printfield{issue}%
\setunit*{\addspace}}%
%\usebibmacro{date}
- \iffieldundef{note}{\usebibmacro{date}}%判断一下,是否是报纸
- {\iffieldequalstr{note}{news}{\usebibmacro{newsdate}}%判断是否为报纸
+ \iffieldundef{entrysubtype}{\usebibmacro{date}}%判断一下,是否是报纸
+ {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}%判断是否为报纸
{\usebibmacro{date}}%
}}}%
%\newunit
@@ -2259,7 +2299,7 @@ incollection,proceedings,inproceedings]{number}{%
% 调整页码前的标点和去掉期刊文章等页码后面的标点
%
\renewbibmacro*{note+pages}{%源来自standard.bbx
- %\printfield{note}%不要note,note用来判断是否是报纸newspaper
+ %\printfield{note}%
\iffieldundef{pages}{}{%
\setunit{\bibpagespunct}%
\printfield{pages}}%
@@ -2484,7 +2524,7 @@ incollection,proceedings,inproceedings]{number}{%
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 期刊文章,连续出版物中的析出文献的格式
%
@@ -2510,7 +2550,7 @@ incollection,proceedings,inproceedings]{number}{%
% \usebibmacro{byeditor+others}%
% \newunit
\usebibmacro{note+pages}%
- \iffieldequalstr{note}{news}{}{%当是新闻时不输出修改或更新日期
+ \iffieldequalstr{entrysubtype}{news}{}{%当是新闻时不输出修改或更新日期
\iffieldundef{url}{}{%当没有网址时也不输出
\iftoggle{bbx:url}{%当url选项为false时,也不输出
\usebibmacro{modifydate}}{}}}%带括号的修改或更新日期,
@@ -2530,7 +2570,7 @@ incollection,proceedings,inproceedings]{number}{%
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 连续出版物的驱动
%
@@ -2565,7 +2605,7 @@ incollection,proceedings,inproceedings]{number}{%
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 专利文献驱动
%
@@ -2607,7 +2647,7 @@ incollection,proceedings,inproceedings]{number}{%
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 在线文献驱动
%
@@ -2652,7 +2692,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 报告类型驱动
% 2016-11-11,增加了译者信息
@@ -2700,7 +2740,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 手册类型驱动
% 2016-11-11,增加了译者信息
@@ -2752,7 +2792,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 备选类型驱动
%
@@ -2792,7 +2832,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
%
% 专著中的析出文献的格式修改
%
@@ -2851,7 +2891,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
- \usebibmacro{finentry}\usebibmacro{annotation}}%
+ \usebibmacro{annotation}\usebibmacro{finentry}}%
}{}%
}