diff options
author | Karl Berry <karl@freefriends.org> | 2024-02-11 02:14:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-02-11 02:14:07 +0000 |
commit | 5192e43d95d94bc3a08acf368dff48632f8ec02b (patch) | |
tree | 950469d7de8d79b57e194b1e9a1d0d0cb9467e64 /Master/texmf-dist/tex/latex | |
parent | 402c13319bbba905e1fa75a5c2a9241723d7fa24 (diff) |
biblatex-gb7714-2015 (10feb24)
git-svn-id: svn://tug.org/texlive/trunk@69790 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
4 files changed, 150 insertions, 24 deletions
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 2ce88b01ad2..bc09f63c6eb 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{2023/09/10 v1.1o} +\def\versionofgbtstyle{2024/02/10 v1.1p} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -796,8 +796,8 @@ \ifstrequal{#1}{uppercase}{\setcounter{gbnamefmtcase}{0}}{}% \ifstrequal{#1}{lowercase}{\setcounter{gbnamefmtcase}{1}}{}% \ifstrequal{#1}{givenahead}{\setcounter{gbnamefmtcase}{2}}{}%given-family - \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{} - \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{}%family-given + \ifstrequal{#1}{familyahead}{\setcounter{gbnamefmtcase}{3}}{}%family-given + \ifstrequal{#1}{pinyin}{\setcounter{gbnamefmtcase}{4}}{} \ifstrequal{#1}{reverseorder}{\setcounter{gbnamefmtcase}{5}}{}%family-given/given-family \ifstrequal{#1}{quanpin}{\setcounter{gbnamefmtcase}{6}}{}%全拼 \ifstrequal{#1}{fullname}{\setcounter{gbnamefmtcase}{7}}{}%英文的全拼,名在前-姓在后 @@ -1181,6 +1181,10 @@ \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } + \map{ + \pertype{legislation} + \step[typesource=legislation, typetarget=archive] + } \map{%对应增加的一个档案类型archive确定文献类型标识符 \pertype{archive} \step[fieldset=usera, fieldvalue={A}] @@ -1197,6 +1201,10 @@ \pertype{misc} \step[fieldset=usera, fieldvalue={Z}]% } + \map{\pertype{mvbook} + \step[typesource=mvbook,typetarget=book] + \step[fieldset=usera, fieldvalue={M}]% + } \map{ \pertype{book} \pertype{inbook} @@ -2664,6 +2672,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iffieldundef{titleaddon}{}{\setunit{\subtitlepunct}\printfield{titleaddon}}%判断一下titleaddon \ifboolexpr{test{\ifentrytype{book}} and (not test{\iffieldundef{volume}})}%判断一下book类有没有volume {\setunit{\subtitlepunct}\printfield{volume}}{}% + \ifboolexpr{(test{\ifentrytype{archive}} or test{\ifentrytype{online}}) and (not test{\iffieldundef{number}})}%判断一下archive类有没有number + {\setunit{\subtitlepunct}\printfield{number}}{}% \iftoggle{bbx:gbtype}% {\iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 @@ -3604,9 +3614,23 @@ incollection,proceedings,inproceedings]{number}{% % \renewbibmacro*{note+pages}{%源来自standard.bbx %\printfield{note}% - \iffieldundef{pages}{}{% - \setunit{\bibpagespunct}% - \printfield{pages}}% + \iffieldundef{entrysubtype}{% + \iffieldundef{pages}{}{% + \setunit{\bibpagespunct}% + \printfield{pages}}% + }% + {% + \ifboolexpr{test{\iffieldequalstr{entrysubtype}{news}} and test{\iffieldundef{number}}}%判断一下archive类有没有number + {% + \iffieldundef{pages}{}{% + \printtext[parens]{\printfield{pages}}}% + }% + {% + \iffieldundef{pages}{}{% + \setunit{\bibpagespunct}% + \printfield{pages}}% + }% + }% %\newunit } @@ -3903,7 +3927,7 @@ incollection,proceedings,inproceedings]{number}{% \newunit\newblock%% \iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% -{\printfield{volume}% +{%\printfield{volume}% \printfield{part}}% {}% \newunit% @@ -4194,7 +4218,7 @@ test{\iffieldundef{day}} and test{\iffieldundef{endday}} and test{\iffieldundef{ \usebibmacro{institution+location+date}% %\newunit\newblock \usebibmacro{chapter+pages}% - \iffieldundef{url}{}{%当没有网址时也不输出修改或更新日期 + \iffieldundef{url}{}{a%当没有网址时也不输出修改或更新日期 \usebibmacro{modifydate}}%修改或更新日期为带括号的时间 \usebibmacro{doi+eprint+url}% \newunit 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 fa23a27dcfc..73316ea3cb4 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{2023/09/10 v1.1o} +\def\versionofgbtstyle{2024/02/10 v1.1p} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -1133,6 +1133,10 @@ \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } + \map{ + \pertype{legislation} + \step[typesource=legislation, typetarget=archive] + } \map{%对应增加的一个档案类型archive确定文献类型标识符 \pertype{archive} \step[fieldset=usera, fieldvalue={A}] @@ -1149,6 +1153,10 @@ \pertype{misc} \step[fieldset=usera, fieldvalue={Z}]% } + \map{\pertype{mvbook} + \step[typesource=mvbook,typetarget=book] + \step[fieldset=usera, fieldvalue={M}]% + } \map{ \pertype{book} \pertype{inbook} @@ -2520,6 +2528,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iffieldundef{titleaddon}{}{\setunit{\subtitlepunct}\printfield{titleaddon}}%判断一下titleaddon \ifboolexpr{test{\ifentrytype{book}} and (not test{\iffieldundef{volume}})}%判断一下book类有没有volume {\setunit{\subtitlepunct}\printfield{volume}}{}% + \ifboolexpr{(test{\ifentrytype{archive}} or test{\ifentrytype{online}}) and (not test{\iffieldundef{number}})}%判断一下archive类有没有number + {\setunit{\subtitlepunct}\printfield{number}}{}% \iftoggle{bbx:gbtype}% {\iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 @@ -3365,6 +3375,22 @@ incollection,proceedings,inproceedings]{number}{% \usebibmacro{date+extrayear} } + +\DeclareFieldFormat{Labelyear}{% +\ifboolexpr{% + (test{\iffieldundef{year}}% + and % + test{\iffieldundef{endyear}}% + and + test{\iffieldundef{eventyear}}) and (not test{\iffieldundef{urlyear}})% + }% + {\printtext[labelurlyear]{#1}}% + {\printtext[labelyear]{#1}}% +} + +\DeclareFieldFormat{labelurlyear}{\mkbibbrackets{#1}} +\DeclareFieldFormat{labelyear}{#1} + %\mkbibbrackets{#1}/\mkbibparens{#1}/【#1】等 % % 设置标注和文献表中作者和年份之间的分隔符 % @@ -3377,7 +3403,7 @@ incollection,proceedings,inproceedings]{number}{% \renewbibmacro*{date+extrayear}{%%重设date+extrayear格式,源来自authoryear.BBX \iffieldundef{\thefield{datelabelsource}year} {} - {\printtext{%[parens]%这里把括号去掉 + {\printtext[Labelyear]{%[parens]%这里把括号去掉 \iffieldsequal{year}{\thefield{datelabelsource}year} {\printdateextralabel}% {\printfield{labelyear}% @@ -3391,7 +3417,7 @@ incollection,proceedings,inproceedings]{number}{% \renewbibmacro*{date+extrayear}{%%重设date+extrayear格式,源来自authoryear.BBX \iffieldundef{\thefield{datelabelsource}year} {} - {\printtext{%[parens]%这里把括号去掉 + {\printtext[Labelyear]{%[parens]%这里把括号去掉 \iffieldsequal{year}{\thefield{datelabelsource}year} {\printdateextralabel}% {\printfield{labelyear}% @@ -3404,7 +3430,7 @@ incollection,proceedings,inproceedings]{number}{% \renewbibmacro*{date+extrayear}{%以前的\printdateextralabel宏变为了\printlabeldateextra \iffieldundef{labelyear} {} - {\printtext{%[parens] + {\printtext[Labelyear]{%[parens] \iffieldsequal{year}{labelyear} {\printlabeldateextra}% {\printfield{labelyear}% @@ -3441,7 +3467,7 @@ incollection,proceedings,inproceedings]{number}{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear} {} - {\printtext{%[parens]%这里去掉括号 + {\printtext[Labelyear]{%[parens]%这里去掉括号 \iflabeldateisdate {\printdateextra} {\printlabeldateextra}}}}% @@ -3479,6 +3505,35 @@ incollection,proceedings,inproceedings]{number}{% }% } +\def\bbx@opt@mergedate@false{% + \renewbibmacro*{date+extradate}{% + \iffieldundef{labelyear} + {} + {\printtext[Labelyear]{%[parens]%这里去掉括号 + \iflabeldateisdate + {\printdateextra} + {\printlabeldateextra}}}}% +\renewbibmacro*{bbx:ifmergeddate}{\@secondoftwo}%这一句用于3.12版本 +\renewbibmacro*{date}{\printdate}%这一句用于biblatex3.11以下版本 +\renewbibmacro*{issue+date}{%去掉括号 + \printtext{%去掉了[parens] + \iffieldundef{issue} + {%\usebibmacro{date} + \iffieldundef{entrysubtype}{\usebibmacro{date}}%判断一下,是否是报纸 + {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}%判断是否为报纸 + {\usebibmacro{date}}% + }}% + {\iftoggle{bbx:gbstrict}{}{\printfield{issue}% + \setunit*{\addspace}}% + %\usebibmacro{date} + \iffieldundef{entrysubtype}{\usebibmacro{date}}%判断一下,是否是报纸 + {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}%判断是否为报纸 + {\usebibmacro{date}}% + }}}% + %\newunit + }% + } + \iftoggle{iftlfive}{\switchversion{3.0}{dateextra}}{}%biblatex<=3.2 \iftoggle{iftlsix}{\switchversion{3.4}{dateextra}}{}%3.3<=biblatex<=3.6 \iftoggle{iftlseven}{\switchversion{3.7}{dateextra}}{}%biblatex=3.7 @@ -3575,9 +3630,21 @@ incollection,proceedings,inproceedings]{number}{% % 原理方法:原在authoryear.BBX中\bbx@opt@mergedate@compact中定义 % 当issue存在时,才设置newunit。避免直接设置标点后,当volume不存在是需要使用\nopuct去标点进而引入不必要的空格 \renewbibmacro*{issue+date}{% + \printtext{%去掉了[parens] \iffieldundef{issue}% - {}% - {\iftoggle{bbx:gbstrict}{}{\printtext[parens]{\printfield{issue}}\newunit}}} + {%\usebibmacro{date} + \iffieldundef{entrysubtype}{}%判断一下,是否是报纸 + {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}{}%判断是否为报纸 + }}% + {\iftoggle{bbx:gbstrict}{}{\printfield{issue}% + \setunit*{\addspace}}% + %\usebibmacro{date} + \iffieldundef{entrysubtype}{}%判断一下,是否是报纸 + {\iffieldequalstr{entrysubtype}{news}{\usebibmacro{newsdate}}{}%判断是否为报纸 + }}}% + } + + @@ -3586,9 +3653,23 @@ incollection,proceedings,inproceedings]{number}{% % \renewbibmacro*{note+pages}{%源来自standard.bbx %\printfield{note}% - \iffieldundef{pages}{}{% - \setunit{\bibpagespunct}% - \printfield{pages}}% + \iffieldundef{entrysubtype}{% + \iffieldundef{pages}{}{% + \setunit{\bibpagespunct}% + \printfield{pages}}% + }% + {% + \ifboolexpr{test{\iffieldequalstr{entrysubtype}{news}} and test{\iffieldundef{number}}}%判断一下archive类有没有number + {% + \iffieldundef{pages}{}{% + \printtext[parens]{\printfield{pages}}}% + }% + {% + \iffieldundef{pages}{}{% + \setunit{\bibpagespunct}% + \printfield{pages}}% + }% + }% %\newunit } @@ -3917,7 +3998,7 @@ test {\ifentrytype{conference}} \newunit\newblock%% \iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% -{\printfield{volume}% +{%\printfield{volume}% \printfield{part}}% {}% \newunit% @@ -3980,7 +4061,8 @@ test {\ifentrytype{conference}} % \usebibmacro{byeditor+others}% % \newunit \usebibmacro{note+pages}% - \iffieldequalstr{entrysubtype}{news}{}{%当是新闻时不输出修改或更新日期 + \iffieldequalstr{entrysubtype}{news}{}%当是新闻时不输出修改或更新日期 + {% \iffieldundef{url}{}{%当没有网址时也不输出 \iftoggle{bbx:url}{%当url选项为false时,也不输出 \usebibmacro{modifydate}}{}}}%带括号的修改或更新日期, 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 fe97e022861..a4668eb0ff0 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{2022/11/07 v1.1k} +\def\versionofgbtstyle{2024/02/10 v1.1p} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -857,6 +857,10 @@ \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } + \map{ + \pertype{legislation} + \step[typesource=legislation, typetarget=archive] + } \map{%对应增加的一个档案类型archive确定文献类型标识符 \pertype{archive} \step[fieldset=usera, fieldvalue={A}] @@ -873,6 +877,10 @@ \pertype{misc} \step[fieldset=usera, fieldvalue={Z}]% } + \map{\pertype{mvbook} + \step[typesource=mvbook,typetarget=book] + \step[fieldset=usera, fieldvalue={M}]% + } \map{ \pertype{book} \pertype{inbook} @@ -2084,6 +2092,8 @@ togl{bbx:gbstyle} or test {\iffieldequalstr{userd}{chinese}}% \iffieldundef{titleaddon}{}{\setunit{\subtitlepunct}\printfield{titleaddon}}%判断一下titleaddon \ifboolexpr{test{\ifentrytype{book}} and (not test{\iffieldundef{volume}})}%判断一下book类有没有volume {\setunit{\subtitlepunct}\printfield{volume}}{}% + \ifboolexpr{(test{\ifentrytype{archive}} or test{\ifentrytype{online}}) and (not test{\iffieldundef{number}})}%判断一下archive类有没有number + {\setunit{\subtitlepunct}\printfield{number}}{}% \iftoggle{bbx:gbtype}% {\iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 @@ -2542,7 +2552,7 @@ incollection,proceedings,inproceedings]{number}{% \newunit\newblock%% \iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% -{\printfield{volume}% +{%\printfield{volume}% \printfield{part}}% {}% \newunit% 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 e829ef3c3a1..8351664a2a0 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{2022/11/07 v1.1k} +\def\versionofgbtstyle{2024/02/10 v1.1p} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -904,6 +904,10 @@ \step[fieldsource=publisher] %有时会把publisher和institution混淆,处理后使用institution \step[fieldset=institution, origfieldval] } + \map{ + \pertype{legislation} + \step[typesource=legislation, typetarget=archive] + } \map{%对应增加的一个档案类型archive确定文献类型标识符 \pertype{archive} \step[fieldset=usera, fieldvalue={A}] @@ -920,6 +924,10 @@ \pertype{misc} \step[fieldset=usera, fieldvalue={Z}]% } + \map{\pertype{mvbook} + \step[typesource=mvbook,typetarget=book] + \step[fieldset=usera, fieldvalue={M}]% + } \map{ \pertype{book} \pertype{inbook} @@ -2055,6 +2063,8 @@ \iffieldundef{titleaddon}{}{\setunit{\subtitlepunct}\printfield{titleaddon}}%判断一下titleaddon \ifboolexpr{test{\ifentrytype{book}} and (not test{\iffieldundef{volume}})}%判断一下book类有没有volume {\setunit{\subtitlepunct}\printfield{volume}}{}% + \ifboolexpr{(test{\ifentrytype{archive}} or test{\ifentrytype{online}}) and (not test{\iffieldundef{number}})}%判断一下archive类有没有number + {\setunit{\subtitlepunct}\printfield{number}}{}% \iftoggle{bbx:gbtype}% {\iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 @@ -2946,7 +2956,7 @@ incollection,proceedings,inproceedings]{number}{% \newunit\newblock%% \iftoggle{bbx:gbstrict}{}{% \iffieldundef{maintitle}% -{\printfield{volume}% +{%\printfield{volume}% \printfield{part}}% {}% \newunit% |