summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx
diff options
context:
space:
mode:
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.bbx83
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}}}}}{}%%其它
+ }%
+ }%
+}
%