diff options
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx')
-rw-r--r-- | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx | 83 |
1 files changed, 44 insertions, 39 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx index 3ef25f0a4c..deee0fd76f 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx @@ -10,7 +10,7 @@ % % 版本和时间信息 % -\def\versionofgbtstyle{2022/04/03 v1.1g} +\def\versionofgbtstyle{2022/04/16 v1.1h} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -1935,7 +1935,14 @@ 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% +} %设置断行阈值,避免行溢出 % % 列表格式 % @@ -1962,8 +1969,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \newlength{\biblabelextend} \def\setaligngbnumeric{% \defbibenvironment{bibliography} - {\setlength{\bibhang}{\biblabelsep}% - \setlength{\labelnumberwidth}{2em}% + {\setlength{\labelnumberwidth}{2em}% \setlength{\bibitemindent}{0pt}% \setlength{\biblabelextend}{0pt}% \setlength{\biblabelextend}{0pt}% @@ -1973,8 +1979,9 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \addtolength{\labelnumberwidth}{\biblabelextend}% \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}}% @@ -1984,8 +1991,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 } \defbibenvironment{numerical}%作者年制中数字标签的文献表环境 - {\setlength{\bibhang}{\biblabelsep}% - \setlength{\labelnumberwidth}{2em}% + {\setlength{\labelnumberwidth}{2em}% \setlength{\bibitemindent}{0pt}% \setlength{\biblabelextend}{0pt}% \setlength{\biblabelextend}{0pt}% @@ -1995,8 +2001,9 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \addtolength{\labelnumberwidth}{\biblabelextend}% \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}}% @@ -2095,14 +2102,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{]}}% } % @@ -2112,11 +2119,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}% } % @@ -2126,11 +2133,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}% } % @@ -2384,32 +2391,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}}}}}{}%%其它 + }% + }% +} % |