From d36626add433e216b29d959884d3593baa216866 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 26 Jan 2022 03:00:57 +0000 Subject: CTAN sync 202201260300 --- .../biblatex-gb7714-2015/gb7714-2015ms.bbx | 94 +++++++++++++++------- 1 file changed, 67 insertions(+), 27 deletions(-) (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx') 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}}% }{}% } -- cgit v1.2.3