From c2a09572734aa4ad68eb752f7d85a61f1fd38b11 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 16 Apr 2022 20:23:50 +0000 Subject: biblatex-gb7714-2015 (16apr22) git-svn-id: svn://tug.org/texlive/trunk@63041 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx | 77 ++++++++++++---------- 1 file changed, 41 insertions(+), 36 deletions(-) (limited to 'Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.bbx') 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 5860bd87a9b..496fe5d98b4 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{2022/04/03 v1.1g} +\def\versionofgbtstyle{2022/04/16 v1.1h} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -2090,29 +2090,36 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 %===================================================================== % 参考文献表环境 %===================================================================== +\AtBeginBibliography{% +\hyphenpenalty=100 %断词阈值,值越大越不容易出现断词 +\tolerance=8000 %丑度, 10000为最大无溢出盒子,参考the texbook 第6章 +\hbadness=5000 %如果丑度超过hbadness这一阀值,那么就会发出警告 +\interlinepenalty=100\relax% +\widowpenalty=100\relax% +\clubpenalty=100\relax% +} %设置断行阈值,避免行溢出 % % 列表格式 % % 增加一个\bibitemindent尺寸用于控制list环境的itemindent % v1.0l,20180615,hzz % v1.0t,20200319,hzz,增加尺寸\biblabelextend使某些字体下标签宽度不足时可增加标签宽度 -\setlength{\bibhang}{\biblabelsep}% \newlength{\bibitemindent} \setlength{\bibitemindent}{0pt} \newlength{\biblabelextend} \setlength{\biblabelextend}{0pt} - \defbibenvironment{bibliography} {\list {\printtext[labelnumberwidth]{% \printfield{labelprefix}% \printfield{labelnumber}}} {\addtolength{\labelnumberwidth}{\biblabelextend}% - \setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\labelwidth}{\labelnumberwidth}% \setlength{\labelsep}{\biblabelsep}% + \setlength{\bibhang}{\biblabelsep}% + \addtolength{\bibhang}{\labelnumberwidth}% \setlength{\leftmargin}{\bibhang}% - \addtolength{\leftmargin}{\labelnumberwidth}% \setlength{\itemindent}{\bibitemindent}% \setlength{\itemsep}{\bibitemsep}% \setlength{\parsep}{\bibparsep}}% @@ -2240,14 +2247,14 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iftoggle{bbx:gbmedium}% {\iftoggle{bbx:url}% {\iffieldundef{url}%当存在url时,增加一个OL标识符 - {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% - {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% + {\allowbreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% + {\allowbreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% }% {\ifentrytype{online}% - {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% - {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% + {\allowbreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% + {\allowbreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% }}% - {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% + {\allowbreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% } % @@ -2257,11 +2264,11 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iftoggle{bbx:gbmedium}% {\iftoggle{bbx:url}% {\iffieldundef{url}%当存在url时,增加一个OL标识符 - {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% - {\nobreak\printtext{[}\nobreak N\printtext{\texttt{/}OL]}\nobreak}% + {\allowbreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% + {\allowbreak\printtext{[}\nobreak N\printtext{\texttt{/}OL]}\nobreak}% }% - {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% -}{\nobreak\printtext{[}\nobreak N\printtext{]}\nobreak}% + {\allowbreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\allowbreak\printtext{[}\nobreak N\printtext{]}\nobreak}% } % @@ -2271,11 +2278,11 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \iftoggle{bbx:gbmedium}% {\iftoggle{bbx:url}% {\iffieldundef{url}%当存在url时,增加一个OL标识符 - {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% - {\nobreak\printtext{[}\nobreak S\printtext{\texttt{/}OL]}\nobreak}% + {\allowbreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% + {\allowbreak\printtext{[}\nobreak S\printtext{\texttt{/}OL]}\nobreak}% }% - {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% -}{\nobreak\printtext{[}\nobreak S\printtext{]}\nobreak}% + {\allowbreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\allowbreak\printtext{[}\nobreak S\printtext{]}\nobreak}% } % @@ -2531,32 +2538,30 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 重设title的输出 % % 20180425,v1.0k,为标题增加字体控制命令,Hu Zhenzhen +% 20220416,v1.1g,增加book类卷的输出 % 原理方法:将文献类型标识符输出出去,原输出来自biblatex.def文件 % 利用toggle做标识符是否输出的判断 \renewbibmacro*{title}{% - \ifboolexpr{% +\ifboolexpr{% test{\iffieldundef{title}}% and - test{\iffieldundef{subtitle}}% - }% + test{\iffieldundef{subtitle}}}% {}% {\printtext[title]{\bibtitlefont%增加字体控制命令 \printfield[titlecase]{title}% - \ifboolexpr{test {\iffieldundef{subtitle}}}%这里增加了对子标题的判断,解决不判断多一个点的问题 - {}{\setunit{\subtitlepunct}% - \printfield[titlecase]{subtitle}}% - \iffieldundef{titleaddon}{}%判断一下titleaddon,否则直接加可能多一个空格 - {\setunit{\subtitlepunct}\printfield{titleaddon}}% - \iftoggle{bbx:gbtype}{% - \iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 - {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 - {\iffieldequalstr{entrysubtype}{news}{\printfield[gbtypeflagn]{usera}}%判断是否为报纸 - {\printfield[gbtypeflag]{usera}}}%其它 - }}{}% - %\iffieldundef{booktitle}{\newunit}{}%当title是析出时,不要标点 - %\newunit -}% -}} + \ifboolexpr{test {\iffieldundef{subtitle}}}%增加了对子标题的判断 + {}{\setunit{\subtitlepunct}\printfield[titlecase]{subtitle}}% + \iffieldundef{titleaddon}{}{\setunit{\subtitlepunct}\printfield{titleaddon}}%判断一下titleaddon + \ifboolexpr{test{\ifentrytype{book}} and (not test{\iffieldundef{volume}})}%判断一下book类有没有volume + {\setunit{\subtitlepunct}\printfield{volume}}{}% + \iftoggle{bbx:gbtype}% + {\iffieldundef{entrysubtype}{\printfield[gbtypeflag]{usera}}%在标题后直接给出文献标识字母,判断一下,是否是报纸和标准 + {\iffieldequalstr{entrysubtype}{standard}{\printfield[gbtypeflags]{usera}}%判断是否为标准 + {\iffieldequalstr{entrysubtype}{news}{\printfield[gbtypeflagn]{usera}}%判断是否为报纸 + {\printfield[gbtypeflag]{usera}}}}}{}%%其它 + }% + }% +} % % 作者信息的输出格式 -- cgit v1.2.3