diff options
13 files changed, 308 insertions, 82 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md index c3f3656ea04..086d623f8e0 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/README.md @@ -1,4 +1,4 @@ -<b>Date of last change: 2020-03-04 to version v1.0t</b> +<b>Date of last change: 2020-07-21 to version v1.0v</b> # biblatex-gb7714-2015: a biblatex style package @@ -47,16 +47,21 @@ biblatex-gb7714-2015 宏包是中文参考文献著录/标注标准 `GB/T 7714-2 * [SJTUThesis(上海交通大学学位论文模板)](https://github.com/sjtug/SJTUThesis)(母校的论文模板,不得不说缘分真的很神奇) * [fduthesis(复旦大学论文模板)](https://github.com/Stone-Zeng/fduthesis) -* [ECNU-Undergraduate-LaTeX(华东师范大学本科毕业论文模板)](https://github.com/YijunYuan/ECNU-Undergraduate-LaTeX) -* [UCASthesis(中国科学院大学学位论文模板**国科大新版标准**)](https://github.com/xiaoyao9933/UCASthesis) -* [Study-LaTeX(LaTeX学习笔记)](https://github.com/Zousiyu/Study-LaTeX) * [Zhejiang University thesis(浙江大学毕业设计/论文模板)](https://github.com/TheNetAdmin/zjuthesis) +* [UCASthesis(中国科学院大学学位论文模板**国科大新版标准**)](https://github.com/xiaoyao9933/UCASthesis) +* [UCASthesis(ucasthesis 国科大学位论文 LaTeX 模板 [最新样式])](https://github.com/mohuangrui/ucasthesis) +* [TongjiThesis(同济大学硕博士论文LaTeX模板)](https://github.com/marquistj13/TongjiThesis) +* [neuthesis(东北大学博士学位论文Latex模板)](https://github.com/mervin0502/neuthesis) +* [nwafuthesis(西北农林科技大学学位论文LaTeX文档类)](https://github.com/registor/nwafuthesis) +* [nudtpaper(nudt学位论文模板)](https://github.com/liubenyuan/nudtpaper) +* [ECNU-Undergraduate-LaTeX(华东师范大学本科毕业论文模板)](https://github.com/YijunYuan/ECNU-Undergraduate-LaTeX) * [fjnu-bathesis (福建师范大学本科毕业论文LaTeX 模板)](https://github.com/fjnuer/fjnu-bathesis) * [Thesis-Template-for-XJTU (西安交大毕业设计模板)](https://github.com/DXie123/Thesis-Template-for-XJTU) * [CAUTemplate(中国农业大学课程论文模板)](https://github.com/Cdmium/CAUTemplate) * [Yet anoter BUPT Thesis LaTeX class (北邮研究生学位设计的LaTeX文档类)](https://github.com/qcts33/BUPTthesis-ctex) -* [neuthesis (东北大学博士学位论文Latex模板)](https://github.com/mervin0502/neuthesis) -* [nwafuthesis (西北农林科技大学学位论文LaTeX文档类)](https://github.com/registor/nwafuthesis) +* [Study-LaTeX(LaTeX学习笔记)](https://github.com/Zousiyu/Study-LaTeX) +* [ElegantBook](https://github.com/ElegantLaTeX/ElegantBook) +* [《经济研究》杂志 LaTeX 论文模板)](https://github.com/EthanDeng/Chinese-ERJ) * [...] @@ -851,6 +856,8 @@ biblatex中处理顺序数字编码压缩的代码默认从3个连续编码开 \global\undef\cbx@lastprefix} ``` +反之,从两个开始压缩改成3个连续压缩,方法是类似的,就是将中的0改回1。 + * <b>在正文中的某一部分,希望取消顺序编码标签中的压缩,而其他部分保持这种压缩,该怎么处理?</b> @@ -1161,6 +1168,9 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information! * 2019/03/29 v1.0rm,rename erj to chinese-erj,ctan * 2019/08/28 v1.0s * 2020/03/04 v1.0t,ctan +* 2020/03/30 v1.0u +* 2020/07/21 v1.0v,ctan + --------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex index e5ff2178e6e..89a481574ee 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex @@ -51,36 +51,36 @@ \deflength{\ruleraised}{\headsep+\textheight} \usepackage{fancyhdr} \fancyhf{} -\fancyhead[LO]{% -\raisebox{-\skipheadrule}{% -\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% -\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% -}%HEAD LEFT% -} -\fancyhead[LE]{% -\raisebox{-\skipheadrule}{% -\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% -\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% -}\leftmark%HEAD LEFT% -} -\fancyhead[RO]{% -%HEAD RIGHT% -\raisebox{-\skipheadrule}{% -\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% -}} -\fancyhead[RE]{% -\rightmark%HEAD RIGHT% -\raisebox{-\skipheadrule}{% -\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% -}} +%\fancyhead[LO]{% +%\raisebox{-\skipheadrule}{% +%\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% +%\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% +%}%HEAD LEFT% +%} +%\fancyhead[LE]{% +%\raisebox{-\skipheadrule}{% +%\raisebox{-\headsep}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightup}{\linewidth}}}% +%\raisebox{-\ruleraised}[0pt][0pt]{\makebox[0pt][r]{\ruler{upleft}{\ruletotalen}}}% +%}\leftmark%HEAD LEFT% +%} +%\fancyhead[RO]{% +%%HEAD RIGHT% +%\raisebox{-\skipheadrule}{% +%\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% +%}} +%\fancyhead[RE]{% +%\rightmark%HEAD RIGHT% +%\raisebox{-\skipheadrule}{% +%\hfill\makebox[0pt][l]{\raisebox{-\ruleraised}[0pt][0pt]{\ruler{downright}{\ruletotalen}}\hss}% +%}} \fancyhead[CO]{% 符合GB/T 7714-2015标准的biblatex参考文献样式%HEAD CENTER } -\fancyfoot[L]{% -\raisebox{-\skipfootrule}{% -\raisebox{\footskip}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightdown}{\linewidth}}} -}%FOOT LEFT -} +%\fancyfoot[L]{% +%\raisebox{-\skipfootrule}{% +%\raisebox{\footskip}[0pt][0pt]{\makebox[0pt][l]{\ruler{rightdown}{\linewidth}}} +%}%FOOT LEFT +%} \fancyfoot[C]{% \thepage%FOOT CENTER } diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf Binary files differindex c6a841b3076..b1520870396 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex index dc81acdede4..2702ae168ee 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015.tex @@ -1251,13 +1251,14 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \end{texlist} \end{example} -文献表的水平缩进控制,两种编制方式下是不同的。对于著者-出版年制文献表,bibitemindent表示一条文献中第一行相对后面各行的缩进,bibhang 表示页边到文献各行起始位置的距离。因此要调整缩进就是要设置这两尺寸。 +文献表的水平缩进控制,两种编制方式下是不同的。对于著者-出版年制文献表,bibitemindent表示 +\emph{一条文献中第一行相对后面各行的缩进},bibhang 表示\emph{页边到文献各行起始位置的距离}。因此要调整缩进就是要设置这两尺寸。 对于顺序编码制文献表,由于存在数字标签,且其宽度与参考文献数量相关,所以这个宽度是动态变的,无能提前设定的,而是在文献表生成时给出,所以调整缩进需要在文献表输出环境中调整。由于顺序编码样式使用了两类输出环境,所以需要根据设定的选项区分处理: 一是采用list环境的文献表,即设置gbalign=left、right、center时(即顺序编码标签是左对齐、右对齐和居中对齐的情况),在重定义的文献表环境中,调整bibitemindent和bibhang两个尺寸,默认情况下bibhang+labelnumberwidth的长度是页边到各行起始位置的距离。当采用某些字体导致计算计算的标签宽度不足时,可以设置biblabelextend尺寸,来增加labelnumberwidth的宽度,避免缩进格式产生问题,默认情况下biblabelextend尺寸为0pt。 -二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置每条参考文献第二行开始的缩进距离。 +二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置\emph{每条参考文献第二行开始的缩进距离}。 调整方法见例\ref{eg:biblist:hspace}。 \begin{example}{文献表水平缩进控制}{eg:biblist:hspace} diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def index 50b9a5c39c6..b2dc830eb60 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015-gbk.def @@ -12,6 +12,7 @@ \def\str@references{ο} \def\str@bytranslator{} \def\str@andotherscn{} + \def\str@andcn{} \def\str@backrefpage{ҳ} \def\str@backrefpages{ҳ} \def\str@noaddress{ز} 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 f7aee9c42c0..ea6357c25e1 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{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -454,6 +454,7 @@ \def\str@references{参考文献} \def\str@bytranslator{译} \def\str@andotherscn{等} + \def\str@andcn{和} \def\str@backrefpage{引用页} \def\str@backrefpages{引用页} \def\str@noaddress{出版地不详} @@ -522,6 +523,11 @@ } }{}} + % + % 增加一个处理佚名或noauthor的控制选项 + % + % 原理方法:在顺序编码制中不需要使用,为与作者年制的兼容性考虑,这里也增加避免报错 + \DeclareBibliographyOption{gbnoauthor}[true]{}% % @@ -556,11 +562,7 @@ \ExecuteBibliographyOptions{gbpunctin} - % - % 增加一个处理佚名或noauthor的控制选项 - % - % 原理方法:在顺序编码制中不需要使用,为与作者年制的兼容性考虑,这里也增加避免报错 - \DeclareBibliographyOption{gbnoauthor}[true]{}% + % @@ -850,7 +852,7 @@ bytranslator= {\str@bytranslator},%\addperiod,%将trans. by 改成 译\addcomma\ and = {\addcomma},%将第2和3人名间的and符号改成逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 andcn = {\addcomma},%and本地化字符串的中文对应词 - andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分 + andincitecn = {\str@andcn},%将标注中的分开,便于与文献表中的区分 andincite = {\addcomma}, %andothers = {et al.},%将超过3个人名的省略,et al.改成为 等 andotherscn = {\str@andotherscn},%将超过3个人名的省略,et al.改成为 等 @@ -1283,6 +1285,8 @@ \step[fieldset=userd,origfieldval] } \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言 + %biblatex 3.11及以下版本仅有match是区分大小写的,而3.12版开始用matchi来区分大小,而match不区分 + %这里为兼容3.11及以下版本,所以用一个复杂一点的正则表达式 \step[fieldsource=language,match=\regexp{(e|E)(n|N)(g|G)(l|L)(i|I)(s|S)(h|H)},final] \step[fieldset=langid,fieldvalue={english}] \step[fieldset=lansortorder,fieldvalue=\lanenorder] @@ -2257,7 +2261,6 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 }} -% % 修改省略作者后的本地化字符串,比如et al. % v1.0o,20190103,hzz % @@ -2266,6 +2269,26 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 首先设置全局的,然后设置文献表中的,这一等价于将所有的cite命令环境都设置过了 % 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 \DeclareDelimFormat{strandothersdelim}{% + \edef\userfieldabcde{userd}%这里使用\iffieldequalstr{labelnamesource}替代ifcurrentname因为标注中使用ifcurrentname无效 + \iffieldequalstr{labelnamesource}{translator}{\edef\userfieldabcde{usere}}{}% + \iffieldequalstr{labelnamesource}{editor}{\edef\userfieldabcde{userc}}{}% + \iffieldequalstr{labelnamesource}{author}{\edef\userfieldabcde{userf}}{}% + \iffieldequalstr{labelnamesource}{bookauthor}{\edef\userfieldabcde{userb}}{}% + \ifcase\value{gbcitelocalcase}% + \iffieldequalstr{\userfieldabcde}{chinese}{\ifbibstring{andothersincitecn}{\bibstring{andothersincitecn}}{\bibstring{andothers}}}{}%中文已经通过english本地化字符串定义 + \iffieldequalstr{\userfieldabcde}{korean}{\ifbibstring{andotherskr}{\bibstring{andotherskr}}{\bibstring{andothers}}}{}%韩语未定义,所以与bib中一致 + \iffieldequalstr{\userfieldabcde}{japanese}{\ifbibstring{andothersjp}{\bibstring{andothersjp}}{\bibstring{andothers}}}{}%日与同韩语 + \iffieldequalstr{\userfieldabcde}{english}{\ifbibstring{andothersincite}{\bibstring{andothersincite}}{\bibstring{andothers}}}{}%英语已定义 + \iffieldequalstr{\userfieldabcde}{french}{\bibstring{andothers}}{}%法语未定义,若要定义需要针对french本地化字符串定义 + \iffieldequalstr{\userfieldabcde}{russian}{\bibstring{andothers}}{}%俄语未定义,若要定义需要针对russian本地化字符串定义 + \or% + \bibstring{andothersincitecn}% + \or% + \bibstring{andothersincite}% + \fi} + + +\DeclareDelimFormat[bib,biblist]{strandothersdelim}{% \edef\userfieldabcde{userd}% \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}% \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}% @@ -2294,6 +2317,28 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 而不用对每一个引用命令单独设置,比如cite,parancite,textcite都设置 \DeclareDelimFormat{finalnamedelim}{% \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% +% \addspace% + \edef\userfieldabcde{userd}% + \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}% + \ifcurrentname{editor}{\edef\userfieldabcde{userc}}{}% + \ifcurrentname{author}{\edef\userfieldabcde{userf}}{}% + \ifcurrentname{bookauthor}{\edef\userfieldabcde{userb}}{}% + \ifcase\value{gbcitelocalcase}% + \iffieldequalstr{\userfieldabcde}{chinese}{\bibstring{andincitecn}}{}% + \iffieldequalstr{\userfieldabcde}{korean}{\bibstring{andkr}}{}% + \iffieldequalstr{\userfieldabcde}{japanese}{\bibstring{andjp}}{}% + \iffieldequalstr{\userfieldabcde}{english}{\space\bibstring{andincite}\space}{}% + \iffieldequalstr{\userfieldabcde}{french}{\space\bibstring{and}\space}{}% + \iffieldequalstr{\userfieldabcde}{russian}{\space\bibstring{and}\space}{}% +%\space% + \or% + \bibstring{andincitecn}%\space% + \or% +\space\bibstring{andincite}\space% + \fi} + +\DeclareDelimFormat[bib,biblist]{finalnamedelim}{% + \ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}% \addspace% \edef\userfieldabcde{userd}% \ifcurrentname{translator}{\edef\userfieldabcde{usere}}{}% diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx index 740b23d9a14..43705f28cc2 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015.cbx @@ -7,7 +7,7 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\def\versionofgbtstyle{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \ProvidesFile{gb7714-2015.cbx}[\versionofgbtstyle biblatex citation style] % @@ -31,6 +31,27 @@ %\DeclareDelimFormat[textcite]{andothersdelim}{\addspace}% % +%将连续3篇文献压缩改为连续2篇文献压缩 +% +%该宏的目的是抛弃压缩内部的编号,而仅输出最后一个编号,主要通过cbx@tempcnta来控制 +%一般情况下cbx@tempcnta为0,所以该宏不输出任何内容。当cbx@tempcnta在cite:comp:comp宏中更改变大后 +%说明开始进入需要压缩的范围,当到压缩终点时,cbx@tempcnta必然大于1,则输出内容。 +%修改第二行的数字1为0即可将默认的3个开始压缩变为2个开始压缩。 +\renewbibmacro*{cite:dump}{% + \ifnumgreater{\value{cbx@tempcnta}}{0}% + {\ifnumgreater{\value{cbx@tempcnta}}{0}%1改为0,可以将压缩起始3个编号改为2个编号 + {\bibrangedash}% + {\multicitedelim}% + \bibhyperref[\cbx@lastkey]{% + \ifdef\cbx@lastprefix% + {\printtext[labelprefix]{\cbx@lastprefix}}% + {}% + \printtext[labelnumber]{\cbx@lastnumber}}}% + {}% + \setcounter{cbx@tempcnta}{0}% + \global\undef\cbx@lastprefix} + +% % 定义一个上标方括号wrapper % \newcommand*\mkbibsuperbracket[1]{% @@ -159,14 +180,90 @@ % 20190409,v1.0r,hzz % 方法:利用newcommand或newrobustcmd命令进行定义 % 注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突 -\DeclareCiteCommand{\citet}% - {\usebibmacro{prenote}} - {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace - {\renewcommand*{\andothersdelim}{\addspace}}% - \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}% - \usebibmacro{cite}}}} - {\multicitedelim} - {\mkbibsuperscript{\printfield{postnote}}} +%\DeclareCiteCommand{\citet}% +% {\usebibmacro{prenote}} +% {\iffieldequalstr{userf}{cn}{\renewcommand*{\andothersdelim}{\addthinspace}}%\addthinspace +% {\renewcommand*{\andothersdelim}{\addspace}}% +% \printnames{labelname}\mkbibsuperscript{\mkbibbrackets{\usebibmacro{citeindex}% +% \usebibmacro{cite}}}} +% {\multicitedelim} +% {\mkbibsuperscript{\printfield{postnote}}} + +% +% 重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况 +% 20200721,v1.0v,hzz +% 方法:利用textcite命令进行定义 +% 基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的上标和页码形式 +\newbool{cbx:incitet} +\global\booltrue{cbx:incitet} + +\newbibmacro*{citet}{% + \iffieldequals{namehash}{\cbx@lasthash}% + {\usebibmacro{cite:comp}}% + {\usebibmacro{cite:dump}% + \ifbool{cbx:parens}% + {\mkbibsuperscript{\printtext{\bibclosebracket}}\global\boolfalse{cbx:parens}}% + {}% + \iffirstcitekey + {} + {\textcitedelim}% + \usebibmacro{cite:init}% + \ifnameundef{labelname} + {\printfield[citetitle]{labeltitle}} + {\printnames{labelname}}% + \setunit*{\printdelim{namelabeldelim}}% + \mkbibsuperscript{\printtext{\bibopenbracket}\global\booltrue{cbx:parens}% + \ifnumequal{\value{citecount}}{1} + {\usebibmacro{prenote}}% + {}% + \usebibmacro{cite:comp}% + \stepcounter{textcitecount}% + \savefield{namehash}{\cbx@lasthash}}}} + +\DeclareCiteCommand{\cbx@textcite}% + {\usebibmacro{cite:init}}% + {\usebibmacro{citeindex}% + \ifbool{cbx:incitet}{\usebibmacro{citet}}{\usebibmacro{textcite}}% + }% + {}% + {\ifbool{cbx:incitet}{\mkbibsuperscript{\usebibmacro{cite:dump}\usebibmacro{postnote}}}% + {\usebibmacro{cite:dump}\usebibmacro{postnote}}% + \ifbool{cbx:parens}% + {\ifbool{cbx:incitet}{\mkbibsuperscript{\bibclosebracket}}{\bibclosebracket}% + \global\boolfalse{cbx:parens}}% + {}} + + \newrobustcmd{\cbx@citet@init}[2]{% + \global\booltrue{cbx:incitet}% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} + + \renewrobustcmd{\cbx@textcite@init}[2]{% + \global\boolfalse{cbx:incitet}% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} + +\DeclareCiteCommand{\citet}[\cbx@citet@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + \DeclareCiteCommand{\citep}[\mkbibsuperscript]%利用mkbibsuperbracket添加方括号 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 2e54a40149a..a6009971046 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{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 @@ -448,6 +448,7 @@ \def\str@references{参考文献} \def\str@bytranslator{译} \def\str@andotherscn{等} + \def\str@andcn{和} \def\str@backrefpage{引用页} \def\str@backrefpages{引用页} \def\str@noaddress{出版地不详} @@ -823,7 +824,7 @@ bytranslator= {\str@bytranslator\adddot}, %将trans. by 改成 译 and = {\addcomma},%将第2和3人名见的and符号改成 逗号,用\finalnamedelim命令也可以定义,参见3.9.1节 andcn = {\addcomma},%\str@andcn\ and本地化字符串的中文对应词 - andincitecn = {\addcomma},%将标注中的分开,便于与文献表中的区分 + andincitecn = {\str@andcn},%将标注中的分开,便于与文献表中的区分 andincite = {\addcomma}, %andothers = {et al.}, %将超过3个人名的省略,et al.改成为 等 andotherscn = {\str@andotherscn},%将超过3个人名的省略,et al.改成为 等 @@ -896,7 +897,7 @@ % incollection和inproceedings基本与inbook类似,因此做inbook驱动别名处理 % 3. 专利类型有其特殊性,考虑patent类型 % 4. 电子资源类型有其特殊性,考虑online类型 -% 5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更细日期 +% 5. 报告类型与book有点类似,出版项处理与book一样,但有时又要有修改和更新日期 % 因此考虑用一种类型来输出,使用report类型 % 6. 手册/学位论文等类型与book有点类似,但对于出版项处理时,有缺省时,直接省略, % 同时有version和edition的区别,因此考虑用一种类型来输出,使用manual类型 @@ -917,7 +918,7 @@ % modifydate 用于更新或修改日期,输出到日,且用()包围,数据源为date或enddate或eventdate \DeclareSourcemap{ -\maps[datatype=bibtex]{ +\maps[datatype=bibtex]{% \map{%当没有作者时将editor转成author \pernottype{inbook}%因为in系列中editor可能用来表示bookauthor,所以排除 \pernottype{inproceedings} @@ -1042,7 +1043,7 @@ \pertype{inproceedings} \pertype{conference}%兼容老的conference类型 \step[fieldset=usera, fieldvalue={C}] - \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher \step[fieldset=publisher, origfieldval] } \map{ @@ -1054,7 +1055,7 @@ \map{ \pertype{incollection} \step[fieldset=usera, fieldvalue={G}] - \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用institution + \step[fieldsource=institution]%有时会把publisher和institution混淆,处理后使用publisher \step[fieldset=publisher, origfieldval] } \map{ @@ -1516,7 +1517,8 @@ \DeclareBibliographyAlias{database}{manual} \DeclareBibliographyAlias{dataset}{manual} \DeclareBibliographyAlias{software}{manual} - +\DeclareBibliographyAlias{map}{manual} +\DeclareBibliographyAlias{archive}{manual} %===================================================================== % 设置排序格式 @@ -1866,8 +1868,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % % 原理方法:set方法可以参考3.11.5 Entry Sets,4.11.1 Entry Sets % 这里调整一下两种语言参考文献的间隔,源来自biblatex.def -\renewcommand*{\entrysetpunct}{\adddot\par\nobreak} -\renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%页码引用格式的修改%修改为用冒号 +\renewcommand*{\entrysetpunct}{\adddot\par\nobreak}%ay样式用par也可以,因为没有悬挂对齐问题 +\renewcommand*{\bibpagespunct}{\addcolon\addthinspace}%%页码引用格式的修改,修改为用冒号 %\renewcommand{\relateddelim}{}%\par %===================================================================== @@ -1941,6 +1943,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 {title}{#1}%\nopunct\unspace \DeclareFieldFormat{url}{\url{#1}} %url域修改如本行%url相关输出,源来自biblatex.def \def\UrlFont{\rmfamily}%设置url字体为roman字体%\ttfamily +%\urlstyle{rm} %使用这句也一样 \setcounter{biburlnumpenalty}{100} %让url可以在数字后断行 \setcounter{biburlucpenalty}{100} %让url可以在大写字母后断行 \setcounter{biburllcpenalty}{100} %让url可以在小写字母后断行 @@ -2004,7 +2007,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 修改译者位置格式 % % 原理方法:修改来自biblatex.def文件的bytranslator+others宏的格式 -\renewbibmacro*{bytranslator+others}{% +\renewbibmacro*{bytranslator+others}{\bibauthorfont% \ifnameundef{translator} {} {%\usebibmacro{bytranslator+othersstrg} @@ -2027,7 +2030,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % % 原理方法:判断作者或译者是否中文,若中文用字符等,否则用et al. 。 % \printnames由start-stop控制项数,默认是1和maxnames/minnames -\renewbibmacro*{name:andothers}{% +\renewbibmacro*{name:andothers}{\bibauthorfont% \ifboolexpr{ test {\ifnumequal{\value{listcount}}{\value{liststop}}} and @@ -2853,7 +2856,7 @@ incollection,proceedings,inproceedings]{number}{% % % 对edition版本信息格式做出修改 % -\DeclareFieldFormat{edition}{%源来自biblatex.DEF +\DeclareFieldFormat{edition}{\bibtitlefont%源来自biblatex.DEF \testCJKfirst{userd}% \iftoggle{ifCJKforgbt}% {\ifinteger{#1}% @@ -2866,7 +2869,7 @@ incollection,proceedings,inproceedings]{number}{% % % 对version的版本信息做出修改 % -\DeclareFieldFormat{version}{%源来自biblatex.DEF +\DeclareFieldFormat{version}{\bibtitlefont%源来自biblatex.DEF \testCJKfirst{userd}% \ifinteger{#1}% {\iftoggle{ifCJKforgbt}{\printtext{#1\str@edition}}% diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx index 11fa65d16ef..868af8c8638 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ay.cbx @@ -7,7 +7,7 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\def\versionofgbtstyle{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \ProvidesFile{gb7714-2015ay.cbx}[\versionofgbtstyle biblatex citation style] % @@ -181,7 +181,7 @@ test {\iftoggle{iftlseven}}%3.7=biblatex % 20180427,v1.0k,增加,hzz % 20190409,v1.0r,hzz % 为与顺序编码制兼容,增加了命令,定义与citet相同 -\newbibmacro*{citet}{% +\newbibmacro*{citeta}{% \iffieldundef{shorthand} {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}} {\usebibmacro{cite:label}% @@ -213,7 +213,7 @@ test {\iftoggle{iftlseven}}%3.7=biblatex {\thefield{postnote}}}% \usebibmacro{prenote}}% {\usebibmacro{citeindex}% - \usebibmacro{citet}} + \usebibmacro{citeta}} {} {\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} } @@ -225,18 +225,87 @@ test {\iftoggle{iftlseven}}%3.7=biblatex % 注意\citet和\citep命令之所以不用newrobustcmd,是为避免加载natbib模块后产生冲突 %同\authornumcite -\DeclareCiteCommand{\citet}% - {\usebibmacro{cite:init}% - \renewbibmacro*{postnote}{% - \iffieldundef{postnote}% - {}% - {\thefield{postnote}}}% - \usebibmacro{prenote}}% +%\DeclareCiteCommand{\citet}% +% {\usebibmacro{cite:init}% +% \renewbibmacro*{postnote}{% +% \iffieldundef{postnote}% +% {}% +% {\thefield{postnote}}}% +% \usebibmacro{prenote}}% +% {\usebibmacro{citeindex}% +% \usebibmacro{citet}} +% {} +% {%( +% )\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} +% } + + +% +% 重定义citet,因为前面与\authornumcite同定义的命令无法正确处理多个bibtexkey同时给出的压缩情况 +% 20200721,v1.0v,hzz +% 方法:利用textcite命令进行定义 +% 基本利用textcite命令来写citet,仅利用bool{cbx:incitet}做判断,进而处理不同的页码形式 +\newbool{cbx:incitet} +\newbibmacro*{citet:postnote}{% + \ifthenelse{\value{multicitecount}=\value{multicitetotal}} + {\setunit{}% + \printtext{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}}} + {\setunit{% + \ifbool{cbx:parens} + {\bibcloseparen\global\boolfalse{cbx:parens}} + {}% + \textcitedelim}}% + \renewbibmacro*{postnote}{% + \iffieldundef{postnote}% + {}% + {\thefield{postnote}}}% + \mkbibsuperscript{\usebibmacro{postnote}}% + } + +\DeclareCiteCommand{\cbx@textcite} + {\usebibmacro{cite:init}} {\usebibmacro{citeindex}% - \usebibmacro{citet}} + \usebibmacro{textcite}} {} - {\mkbibsuperscript{\usebibmacro{postnote}}%\usebibmacro{postnote} - } + {\ifbool{cbx:incitet}{\usebibmacro{citet:postnote}}{\usebibmacro{textcite:postnote}}} + + \newrobustcmd{\cbx@citet@init}[2]{% + \global\booltrue{cbx:incitet}% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} + + \renewrobustcmd{\cbx@textcite@init}[2]{% + \global\boolfalse{cbx:incitet}% + \setcounter{textcitetotal}{0}% + \setcounter{textcitecount}{0}% + \def\cbx@savedcites{#1}#2\cbx@savedcites\empty} + +\DeclareCiteCommand{\citet}[\cbx@citet@init\cbx@textcite] + {\gdef\cbx@savedkeys{}% + \citetrackerfalse% + \pagetrackerfalse% + \DeferNextCitekeyHook% + \usebibmacro{cite:init}} + {\ifthenelse{\iffirstcitekey\AND\value{multicitetotal}>0} + {\protected@xappto\cbx@savedcites{()(\thefield{multipostnote})}% + \global\clearfield{multipostnote}} + {}% + \xappto\cbx@savedkeys{\thefield{entrykey},}% + \iffieldequals{namehash}{\cbx@lasthash} + {} + {\stepcounter{textcitetotal}% + \savefield{namehash}{\cbx@lasthash}}} + {} + {\protected@xappto\cbx@savedcites{% + [\thefield{prenote}][\thefield{postnote}]{\cbx@savedkeys}}} + +\let\cbx@citets@init\cbx@citet@init +\pretocmd{\cbx@citets@init}{\UseNextMultiCiteHook}{}{} +\DeclareMultiCiteCommand{\citets}[\cbx@citets@init\cbx@textcites]{\citet}{} %同cite \DeclareCiteCommand{\citep} 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 012a468c0b3..3747757004e 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{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx index cb2f092213e..e339e22c5c4 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015ms.cbx @@ -7,7 +7,7 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\def\versionofgbtstyle{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \ProvidesFile{gb7714-2015ms.cbx}[\versionofgbtstyle biblatex citation style] % 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 0ff11167a2e..2efd24b091a 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{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显式指定用biber后端,当用bibtex时会报错,但其实不会影响编译,只是采用bibtex后无法达成格式需求 diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx index ab1dfcb1b90..d1d882e4df5 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/gb7714-2015mx.cbx @@ -7,7 +7,7 @@ %% Released under the LaTeX Project Public License v1.3c or later %% --------------------------------------------------------------- %% -\def\versionofgbtstyle{2020/03/20 v1.0u} +\def\versionofgbtstyle{2020/07/21 v1.0v} \ProvidesFile{gb7714-2015mx.cbx}[\versionofgbtstyle biblatex citation style] % |