diff options
author | Karl Berry <karl@freefriends.org> | 2020-03-05 00:52:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-03-05 00:52:09 +0000 |
commit | 4ffa903a186d0ed2bf071a2bbe6f0da0926e4350 (patch) | |
tree | 6c623515e14455fcc9108257aac3e4dafa98f269 | |
parent | 3848f603b7ff9c1452267d1756dbc42244e4f870 (diff) |
biblatex-gb7714-2015 (4mar20)
git-svn-id: svn://tug.org/texlive/trunk@54094 c570f23f-e606-0410-a88d-b1316a301751
12 files changed, 1499 insertions, 487 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 a0bb4f301c2..c3f3656ea04 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: 2019-08-28 to version v1.0s</b> +<b>Date of last change: 2020-03-04 to version v1.0t</b> # biblatex-gb7714-2015: a biblatex style package @@ -22,211 +22,25 @@ A biblatex implementation of the `GB/T 7714-2015` bibliography style for Chinese The biblatex-gb7714-2015 package provides an implementation of the bibliography style of the `GB/T 7714-2015` bibliography style. This implementation follows `GB/T 7714-2015` standard, and can be used simply by loading biblatex with the appropriate option ---------------------------------------------------------- - -## Need to do: - - * special characters in all fields? - * entry without author: the delimiter between title and year? - * TEST FOR texlive 2015,2016,2017 - - - -## Usage -* for numerical sequence style: gb7714-2015 - - `\usepackage[backend=biber,style=gb7714-2015]{biblatex}` - - - add an option `gbalign` to control the align style of the numerical label: - - `gbalign=right` for the label ragged left in a list environment, this is the default setting. - - `gbalign=center` for the same width label in a list environment with the number centered in a wrapper like bracket [] - - `gbalign=left` for the label ragged right in list environment - - `gbalign=gb7714-2015` for the label in paragraph with same separation space between label and content of the reference entry - - `\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015]{biblatex}` - - - add an option `gbpub` for dealing publishing items (This option is also for author-year style): - - `gbpub = true` for gb7714 style, to print `[出版者不详]` and the like when publisher or address is absent, this is the default setting. - - `gbpub = false` for standard style, not to print the additional infomation. - - `\usepackage[backend=biber,style=gb7714-2015,gbpub=true]{biblatex}` - - - add an option `gbnamefmt` for dealing author name's letter case (This option is also for author-year style): - - `gbnamefmt = uppercase` for gb7714 style, to capitalize all the letters of the name, like: ZHANG M L, this is the default setting. - - `gbnamefmt = lowercase` for gb7714 style, do no case switch of the name, like: Zhang M L - - `gbnamefmt = givenahead` for standard style, given-family style, like: M. L. Zhang as the ieee style - - `gbnamefmt = familyahead` for standard style, family-given style, like: Zhang, M. L. as the apa style. - - `gbnamefmt = pinyin` for a common Chinese style, like: ZHANG Min-li, YI Shi-he and so on. - - `gbnamefmt = reserveorder` for standard style:family-given/given-family style - - the name format can be set per-entry using a field `nameformat`, add this field like `nameformat={pinyin}` to an entry in the bib file to set the entry's name format. - - `\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=uppercase]{biblatex}` - - - add an option `gbbiblabel` to control the format of the numerical label: - - `gbbiblabel=bracket` for the numerical number in the label wrapped by bracket, like: [1], this is the default setting. - - `gbbiblabel=parens` for the numerical number in the label wrapped by parenthesis, like: (1) - - `gbbiblabel=plain` for the numerical number in the label wrapped by nothing, like: 1 - - `gbbiblabel=dot` for the numerical number in the label followed with dot, like: 1. - - `gbbiblabel=box` for the numerical number in the label wrapped by box which generated by `\framebox` - - `gbbiblabel=circle` for the numerical number in the label wrapped by circle which generated by `\textcircled` - - `\usepackage[backend=biber,style=gb7714-2015,gbbiblabel=bracket]{biblatex}` - - - add an option `gbtype` to control the output of the reference type and carrier identifier like [J/OL] (This option is also for author year style): - - `gbtype = true` for gb7714 style, print a title with the identifier, like: `an on-line article [J/OL]`, this is the default setting. - - `gbtype = false` for none identifier, print a title without identifier, like: `an on-line article` - - `\usepackage[backend=biber,style=gb7714-2015,gbtype=true]{biblatex}` - - - add an option `gbfieldtype` to control the output of field type: - - `gbfieldtype = true` to print type field, like the thesis type: `PHD thesis` or `博士学位论文`。please use `\DefineBibliographyStrings{english}{mathesis={str you want}}`,`\DefineBibliographyStrings{english}{phdthesis={str you want}}`, - `\DefineBibliographyStrings{english}{mathesiscn={str you want}}`,`\DefineBibliographyStrings{english}{phdthesiscn={str you want}}` to - define the output string, or set it in bibfile like: `type={str you want},` - - `gbfieldtype = false` not to print type field. +biblatex-gb7714-2015 宏包是中文参考文献著录/标注标准 `GB/T 7714-2015` 的 biblatex 实现。它本质上是一个样式包,提供了顺序编码制和著者年份制样式,在 tex 文档中配合 biblatex 宏包使用,以生成满足《GB/T 7714-2015 信息与文献 参考文献著录规则》要求的参考文献。除了具备 biblatex 提供的不同于传统基于 bibtex 的参考文献解决方案的特点外,还具有如下特点: - `\usepackage[backend=biber,style=gb7714-2015,gbfieldtype=true]{biblatex}` - - - - add an option `gbpunctin` to control the output of `//` before bookauthor for entrytypes like inbook/incollection/inproceedings(This option is also for author year style): - - `gbpunctin=true` for gb7714 style, to output `//`, this is the default setting - - `gbpunctin=false` for standard style, to output a bibstring, for English it is `IN:`, If you want to eliminate it at all, please redefine the bibstring like `\DefineBibliographyStrings{english}{in={}}` and `\DefineBibliographyStrings{english}{incn={}}`in the preamble. +* 较强的兼容性。能够兼容 biblatex v2.8 以上版本;能够兼容国标样式的一些常用条目类型、数据域。 - `\usepackage[backend=biber,style=gb7714-2015,gbpunctin=true]{biblatex}` - - - add an option `gbctexset` to control the bibliography heading's setting method (This option is also for author year style): - - `gbctexset=true` , the bibliography heading can be set by `\bibname` or `\refname`, this is the default setting. - - `gbpunctin=false`, the heading can be set by bibstring like `\DefineBibliographyStrings{english}{bibliography={title you want}}` or `\DefineBibliographyStrings{english}{references={title you want}}` - - or alternatively, it can also be set through the printbibliography option `title`, like `printbibliography[title=title you want]`. - - `\usepackage[backend=biber,style=gb7714-2015,gbctexset=true]{biblatex}` - - - add an option `gbcodegbk` to deal the tex source file encoded with GBK (This option is also for author year style): - - `gbcodegbk=true` , if you want to compile the GBK encoded source file with pdflatex or latex - - `gbcodegbk=false`, if you want to compile the utf-8 endcoded source file with xelatex, this is the default setting. - - `\usepackage[backend=biber,style=gb7714-2015,gbcodegbk=true]{biblatex}` - - - add an option `gbtitlelink` to control the hyperlink of title field (This option is also for author year style): - - `gbtitlelink = false` not to add hyperlink, this is the default setting. - - `gbtitlelink = true` to set the title as a hyperlink. - - `\usepackage[backend=biber,style=gb7714-2015,gbtitlelink=true]{biblatex}` - - - add an option `gbfootbib` to control the bibliography in footnote (This option is also for author year style): - - `gbfootbib = true` make patches to match the standard, this is the default setting. - - `gbfootbib = false` not to patch. - - `\usepackage[backend=biber,style=gb7714-2015,gbtitlelink=true]{biblatex}` - - - add options `gbcitelocal` `gbbiblocal` to control the local strings in citation and bibliography respectively, the `gblocal` set the both options (These options are also for author year style): - - `gbcitelocal = gb7714-2015` to output local strings according to the reference's language, this is the default setting. - - `gbcitelocal = chinese` to output local strings with chinese language word like "等". - - `gbcitelocal = english` to output local strings with western language word like "et al.". - - `\usepackage[backend=biber,style=gb7714-2015,gbcitelocal = chinese]{biblatex}` - - - add an option `gbstrict` to control the output of some unnecessary fields for GB/T7714-2015 (This option is also for author year style). - - `gbstrict=true`, not to print those fields such as language, eprint, this is the default setting. - - `gbstrict=false`, to output them as the standard style - - `\usepackage[backend=biber,style=gb7714-2015,gbstrict=true]{biblatex}` - - - add an option `gbfieldstd` to control the format of some fields such as title, url and pages (This option is also for author year style): - - `gbfieldstd = false` for gb7714 style, format of the fields follows the GB/T7714-2015 standard, this is the default setting. - - `gbfieldstd = true` for standard style. - - `\usepackage[backend=biber,style=gb7714-2015,gbfieldstd=true]{biblatex}` - +* 较高的易用性。标注/著录格式完全由样式实现,不必为排序、多语言等问题手动处理bib文件;提供了丰富的标注(引用)命令,包括一些中文中习惯的命令;提供了多语言对照,多语言文献表等功能。 - -* for multi-style: gb7714-2015ms +* 较大的灵活性。提供丰富的选项来帮助用户进行排序调整、著录项(姓名、出版项、文献标识符、标题超链接)格式调整、文献表格式(标签对齐、标签格式、条目格式、字体、段落格式)调整、编码兼容。 - In order to use two styles in a tex file, add a style gb7714-2015ms. option `gbstyle` is added to control the using mode. `gbstyle=true` means all references are printed with GB/T7714-2015 style, and `gbstyle=false` means the chinese references are printed with GB/T7714-2015 style while the other references are printed with standard style shipped by biblatex, and `gbstyle=true` is the default set. all the options for numerical sequence style gb7714-2015 can also be used in gb7714-2015ms. - - `\usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex}` +* 较好的维护性。样式代码主要是在标准样式基础上提供的中文国标解决方案,保持与标准样式一致的结构、风格和习惯,并提供详尽的注释,用户可轻松理解,并可在其基础上进一步修改以实现其它要求的样式,比如宏包附带的chinese-erj样式,就是基于本样式实现的经济学研究期刊的参考文献样式。 -* for author year style: gb7714-2015ay +简单使用说明见:[使用入门](#jumptotutorial) - `\usepackage[backend=biber,style=gb7714-2015ay,gbpub=true]{biblatex}` - - - add an option `gbnoauthor` for dealing undefined author: - - `gbnoauthor = true` for gb7714 style, to print `佚名` or `Anon` when the author of the entry is absent. - - `gbnoauthor = false` for standard style, not to pring anything, this is the default setting. - - `\usepackage[backend=biber,style=gb7714-2015ay,gbnoauthor=true]{biblatex}` - - - add an option value `mergedate=none` to control the date in bibliography: - - `mergedate=true` to output date only after author,like:LAMPORT L, (1986). Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA. - - `mergedate=false` to output date after author and in publish items,like:LAMPORT L, (1986). Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA, 1986. - - `mergedate=none` to output date only in publish items,like:LAMPORT L. Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA, 1986. - - do not set mergedate output like:LAMPORT L, 1986. Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA. - - `\usepackage[backend=biber,style=gb7714-2015ay,mergedate=none]{biblatex}` - - - add an option `gblanorder` to control sequence of reference groups of different languagesin the bibliography: - - `gblanorder=chineseahead` to set the sequence as: cn;jp;kr;en;fr;ru - - `gblanorder=englishahead` to set the sequence as: en;fr;ru;cn;jp;kr - - `gblanorder=user defined string like: cn;en;jp;kr;fr;ru` to set the sequence as: cn;en;jp;kr;fr;ru. - - `\usepackage[backend=biber,style=gb7714-2015ay,gblanorder=cn;en;jp;fr;kr;ru]{biblatex}` - -* for perl script transformation tool(only for the numerical style) - - `perl gb7714texttobib.pl in=textfilename out=bibfilename` +--------------------------------------------------------- -A demonstration database is provided to show how to format input for the style. The biblatex-gb7714-2015 style works with texlive2014, texlive2015, texlive2016, texlive2017 , texlive2018 and so on. +## Need to do: -please see the file 'biblatex-gb7714-2015.pdf' for further information! + * special characters in all fields? + * entry without author: the delimiter between title and year? + * TEST FOR texlive 2015,2016,2017 ## Applications @@ -246,8 +60,6 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information! * [...] - - ## Related Links * [Biblatex 宏包](https://github.com/plk/biblatex) @@ -265,12 +77,54 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information! --------------------------------------------------------- <h2 id="jumptotutorial">Tutorial/使用入门</h2> +[//]: # "这里这种方式不适合可能主要是因为标题所导致,因此用上面的方式进行处理" -[comment]: # (这里这种方式不适合可能主要是因为标题所导致,因此用上面的方式进行处理 -<span id="jumptotutorial">## Tutorial/使用入门</span>) +<h3 id="jumptopkgload">0. pacakge usage/宏包加载方式</h3> +样式包配合biblatex使用,即在biblatex调用时加载样式包: + +* 使用顺序编码制: + +``` + \usepackage[backend=biber,style=gb7714-2015]{biblatex} +``` + +* 使用著者-出版年制: + +``` + \usepackage[backend=biber,style=gb7714-2015ay]{biblatex} +``` + +* 使用宏包提供的选项: + +``` + %设置gbalign选项以改变文献表序号标签对齐方式, + %设置gbpub=false取消缺省出版项自填补信息,比如: + \usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015,gbpub=false]{biblatex} +``` + +* 使用同一文献表中不同语言区分著录格式的样式(gb7714-2015ms): + +``` + %设置gbstyle=false,中文文献使用GB/T 7714-2015著录格式,而其它语言文献使用biblatex标准样式 + \usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex} +``` + +* 同一文档中不同文献分节区分不同著录格式的样式(gb7714-2015mx): + +``` + %gb7714-2015mx默认使用顺序编码制样式 + \usepackage[backend=biber,style=gb7714-2015mx]{biblatex} + %如需在某一参考文件分节使用著者年份制样式,比如第2个refsection中使用时,则在导言区设置: + \setaystylesection{2} +``` + +更多宏包选项的说明见:[biblatex-gb7714-2015.pdf](biblatex-gb7714-2015.pdf) + +宏包加载的完整文档示例见:[tex文档一般结构](#jumptotexsrcf) <h3 id="jumptotexsrcf">1. Tex source file/tex文档一般结构</h3> +注意其中加载biblatex宏包的代码: ``` \documentclass{article}%文档类%导言区开始: @@ -299,7 +153,7 @@ citestyle=gb7714-2015%,backref=true%%其中后端backend使用biber } @Book{蔡敏2006--, - Title = {UML基础和Rose建模教程}, + Title = {UML基础和Rose建模教程},27 Address = {北京}, Author = {蔡敏 and 徐慧慧 and 黄柄强}, Publisher = {人民邮电出版社}, @@ -330,7 +184,7 @@ citestyle=gb7714-2015%,backref=true%%其中后端backend使用biber 4. 顺序编码制中同时输出作者和顺序编码标签,比如:\\ 见\citeauthor{蔡敏2006--}\cite{蔡敏2006--}\\ - 见\authornumcite{蔡敏2006--}\\ + 见\authornu*mcite{蔡敏2006--}\\ 见\textcite{蔡敏2006--} (顺序编码标签不上标) 5. 作者年制文中已有作者还需要年份和页码(顺序编码制与pagescite作用相同,作者年制年份行内页码上标):\\ @@ -373,7 +227,7 @@ citestyle=gb7714-2015%,backref=true%%其中后端backend使用biber ### 3. Recommended environment/推荐使用环境 - + - Texlive+Winedt - Texlive+Texstudio - texlive及其它发行版安装见[安装指南](https://github.com/sjtug/SJTUThesis/wiki/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97) @@ -385,58 +239,89 @@ citestyle=gb7714-2015%,backref=true%%其中后端backend使用biber * <b>怎么利用biblatex生成国标GB/T 7714-2015格式的参考文献表?</b> -> (1)在导言区加载biblatex宏包,并使用gb7714-2015样式: +(1)在导言区加载biblatex宏包,并使用gb7714-2015样式: -```\usepackage[backend=biber,style=gb7714-2015]{biblatex}``` +``` \usepackage[backend=biber,style=gb7714-2015]{biblatex}``` -> (2)正文中引用参考文献: +(2)正文中引用参考文献: -```见文献\cite{referencbibtexkey}``` +``` 见文献\cite{referencbibtexkey}``` -> (3)在需要的地方打印参考文献表: +(3)在需要的地方打印参考文献表: ```\printbibliography``` - 更直接的例子见前述的[tex源文档](#jumptotexsrcf) + * <b>请问我应该怎么安装和更新biblatex-gb7714-2015宏包?</b> -> biblatex-gb7714-2015宏包是基于biblatex的样式宏包,目前texlive,miktex都已收录,因此可以直接使用,一般不需要安装。如果使用时,系统提示找不gb7714-2015.bbx或gb7714-2015ay.bbx文件的错误,说明当前tex系统未安装biblatex-gb7714-2015样式包,这时需要安装它。最简单的方法是从本项目源码中下载 gb7714-2015.bbx, gb7714-2015ay.bbx, gb7714-2015.cbx, gb7714-2015ay.cbx 四个文件放到你要编译的主文档所在目录,如果需要使用gbk编码,则还需复制 gb7714-2015-gbk.def 文件。对于已经安装的用户需要更新到最新版,则可以下载这些文件替换系统已经安装的文件。 + +biblatex-gb7714-2015宏包是基于biblatex的样式宏包,目前texlive,miktex都已收录,因此可以直接使用,一般不需要安装。 + +如果使用时,系统提示找不gb7714-2015.bbx或gb7714-2015ay.bbx文件的错误,说明当前tex系统未安装biblatex-gb7714-2015样式包,这时需要安装它。 + +最简单的方法是从本项目源码中下载 gb7714-2015.bbx, gb7714-2015ay.bbx, gb7714-2015.cbx, gb7714-2015ay.cbx 四个文件放到你要编译的主文档所在目录,如果需要使用gbk编码,则还需复制 gb7714-2015-gbk.def 文件。对于已经安装的用户需要更新到最新版,也可以下载这些文件替换系统已经安装的文件。 + + + +* <b>请问使用时biblatex-gb7714-2015宏包时出现错误“ Package xkeyval Error: gb****** ' undefined in families blx@opt@pre'. [\blx@processoptions] ”?</b> + + + +因为宏包的功能不断增加和完善,当在tex源文档中,使用新版中的一些选项时,而系统中的biblatex-gb7714-2015宏包是旧版时,就会出现`gb****`选项未定义的错误。解决方法就是更新biblatex-gb7714-2015宏包。更新方法见上一个问题。 * <b>为什么我之前使用样式`style=caspervector`进行编译没有问题,换成`style=gb7714-2015`后,编译就出现错误?</b> - -> 可能有三个原因: -> 1. 辅助文件没有清理导致,当采用caspervector样式时编译产生的辅助文件中可能带有该样式的一些特有信息,由此产生一些不兼容。因此需要的操作是,清除辅助文件,然后再进行编译。清除命令为(下面的命令是windows下的,linux下的是类似的只需把删除命令换成`rm -f`): +可能有三个原因: + +(1) 辅助文件没有清理导致,当采用caspervector样式时编译产生的辅助文件中可能带有该样式的一些特有信息,由此产生一些不兼容。因此需要的操作是,清除辅助文件,然后再进行编译。清除命令为(下面的命令是windows下的,linux下的是类似的只需把删除命令换成`rm -f`): ```del /q *.aux *.bbl *.blg *.log *.out *.toc *.bcf *.xml *.synctex *.nlo *.nls *.bak *.ind *.idx *.ilg *.lof *.lot *.ent-x *.tmp *.ltx *.los *.lol *.loc *.listing *.gz *.synctex(busy) *.nav *.snm *.vrb *.fls *.xdv *.fdb_latexmk``` -> 2. biblatex-gb7714-2015 版本过于陈旧,旧版本对于一些特殊情况可能考虑不全面。因此需要的操作是更新biblatex-gb7714-2015,方法见上一个问题。 +(2) biblatex-gb7714-2015 版本过于陈旧,旧版本对于一些特殊情况可能考虑不全面。因此需要的操作是更新biblatex-gb7714-2015,方法见上一个问题。 + +(3) 编译命令问题,通常情况下tex文档和bib文档是utf8编码的,因此最好采用xelatex编译,而不用pdflatex。因此如果编译时用pdflatex出现错误,请换成xelatex。 -> 3. 编译命令问题,通常情况下tex文档和bib文档是utf8编码的,因此最好采用xelatex编译,而不用pdflatex。因此如果编译时用pdflatex出现错误,请换成xelatex。 +* <b>为什么我编译文档后没有出现参考文献表?</b> + +当编译过程出现错误时,那么检查错误的原因,并解决它。 +当编译过程没有出现错误,那么很有可能是没有采用正确的命令进行文献编译,比如采用了传统的bibtex而不是biber。那么采用正确的编译命令重新编译即可: +``` +xelatex jobname.tex +biber jobname +xelatex jobname.tex +``` * <b>为什么利用 ctex2.9 套装进行编译时,出现错误?</b> -> 由于ctex2.9套装多年未更新,其中的biblatex宏包过于陈旧,所以需要更新 biblatex。 - - - + +由于ctex2.9套装多年未更新,其中的biblatex宏包过于陈旧,所以需要更新 biblatex。 + + + * <b>请问除了利用xelatex进行编译外,能不能用pdflatex进行编译?</b> -> 能用pdflatex进行编译,但要注意的是因为某些样式比如authoryear等使用了xstring宏包中的一些命令,所以会产生错误,但numeric类样式通常没有问题。这一问题在biblatex更新到3.12版本后取消xstring宏包后得以解决。 -> 中文用户需要注意一些编码的问题。utf-8编码的文档,采用xelatex编译没有任何注意事项,但使用pdflatex编译时,需要给ctex宏包加载UTF8选项,比如`\usepackage[UTF8]{ctex}`或者在文档类加载时给出也可以比如`\documentclass[[UTF8]{article}`,同时引用文献时使用的引用关键词应使用英文。当文档使用其他编码时,xelatex编译通常需要指定一个文档编码,比如windows环境下的GB2312编码的文档需要指定`\XeTeXinputencoding "GBK"`, 否则显示乱码。使用pdflatex进行编译,如果biblatex不能正确的处理编码问题,那么需要为其明确的指定texencoding和bibencoding选项。比如windows环境下的GB2312编码的文档,需要指定`\usepackge[texencoding=GBK]{biblatex}`。 +能用pdflatex进行编译。但要注意的是因为某些样式比如authoryear等使用了xstring宏包中的一些命令,所以会产生错误,但numeric类样式通常没有问题。这一问题在biblatex更新到3.12版本后取消xstring宏包后得以解决。 + +中文用户需要注意一些编码的问题: + +utf-8编码的文档,采用xelatex编译没有任何注意事项,但使用pdflatex编译时,需要给ctex宏包加载UTF8选项,比如`\usepackage[UTF8]{ctex}`或者在文档类加载时给出也可以比如`\documentclass[[UTF8]{article}`,同时引用文献时使用的引用关键词应使用英文。 + +当文档使用其他编码时,xelatex编译通常需要指定一个文档编码,比如windows环境下的GB2312编码的文档需要指定`\XeTeXinputencoding "GBK"`, 否则显示乱码。使用pdflatex进行编译,如果biblatex不能正确的处理编码问题,那么需要为其明确的指定texencoding和bibencoding选项。比如windows环境下的GB2312编码的文档,需要指定`\usepackge[texencoding=GBK]{biblatex}`。 * <b>请问使用backref=true选项后,某个反向超链接总是链接到封面页是怎么回事?</b> -> 对页码进行正确超链接需要一个前提是,当前链接的页码是唯一的。当有两页具有相同的页码时,超链接总是链接到第一各具有该页码的页面上。比如封面页页码是1,正文第一页页码也是1,那么到正文第一页的反向超链接总会链接到封面页上。解决该问题就是要解决页码的唯一性问题。当页码的表示形式不是同一种时,那么也会得到正确的区分。比如封面页用罗马字母I表示,而正文第一页用阿拉伯数字1表示,那么就能得到正确的反向超链接。类似于: + +对页码进行正确超链接需要一个前提是,当前链接的页码是唯一的。当有两页具有相同的页码时,超链接总是链接到第一各具有该页码的页面上。比如封面页页码是1,正文第一页页码也是1,那么到正文第一页的反向超链接总会链接到封面页上。解决该问题就是要解决页码的唯一性问题。当页码的表示形式不是同一种时,那么也会得到正确的区分。比如封面页用罗马字母I表示,而正文第一页用阿拉伯数字1表示,那么就能得到正确的反向超链接。类似于: + ``` \pagenumbering{roman} \title{title} @@ -446,25 +331,29 @@ citestyle=gb7714-2015%,backref=true%%其中后端backend使用biber \pagenumbering{arabic} \section{文献表} ``` - - + + * <b>我希望参考文献表中的文献不是按引用顺序而是以文献作者的字母顺序排序,怎么实现?</b> -> 一般情况下文献表是按引用顺序进行排列,标签是顺序的数字,这种方式称为顺序编码制。 -> 如果要以文献作者字母顺序排列,那么可以换一种编制方式,称为作者年制: - + +一般情况下文献表是按引用顺序进行排列,标签是顺序的数字,这种方式称为顺序编码制。 +如果要以文献作者字母顺序排列,那么可以换一种编制方式,称为作者年制: + ```\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}``` -> 如果要求使用顺序编码制文献表,又要以文献作者字母顺序排列,那么可以增加排序选项`sorting=nyt`: - +如果要求使用顺序编码制文献表,又要以文献作者字母顺序排列,那么可以增加排序选项`sorting=nyt`,意为按照姓名、年份、标题的字母顺序进行排序: + ```\usepackage[backend=biber,style=gb7714-2015,sorting=nyt]{biblatex}``` * <b>作者年制中英文文献能按字母顺序排列,那么中文文献能否以拼音或者笔画进行排序呢?</b> -> 能,可以通过编译时给biber设置选项来实现: - + +能,有两种方式实现: + +(1)通过编译时给biber设置选项来实现: + ``` %按拼音排序,biber命令 biber -l zh__pinyin jobname @@ -472,51 +361,71 @@ biber -l zh__pinyin jobname biber -l zh__stroke jobname ``` -> 或者,也可以通过增加 biblatex 选项来实现(此时biber编译无需另加选项),比如: +(2)通过增加 biblatex 选项来实现(此时biber编译无需另加选项),比如: ```\usepackage[backend=biber,style=gb7714-2015ay,sortlocale=zh__pinyin]{biblatex}``` - - + + * <b>作者年制参考文献表目前的排序时升序排列,能不能改成降序排序?</b> -> 能,这需要通过修改gb7714-2015ay.bbx中的代码来实现,找到: -```\sort{%[direction=descending]``` +能,通过修改sorting选项实现: + + +```\usepackage[backend=biber,style=gb7714-2015ay,sorting=gbnytd]{biblatex}``` + +可用的选项值包括: +``` +nty 按照姓名、标题、年份排序。 +nyt 按照姓名、年份、标题排序。 +nyvt 按照姓名、年份、卷数、标题排序。 +anyt 按照字母标签、姓名、年份、标题排序。 +anyvt 按照字母标签、姓名、年份、卷数、标题排序。 +ynt 按照年份、姓名、标题排序。 +ydnt 按照年份(降序)、姓名、标题排序。 +none 不进行排序。所有的条目按照引用顺序处理。 +gb7714-2015 以语言、作者、年份、标题、升序排列 +gbnytd 以语言、作者、年份、标题、降序排列 +gbynta 以语言、年份、作者、标题、升序排列 +gbyntd 以语言、年份、作者、标题、降序排列 +``` + +* <b>如果我还希望顺序编码的文献著录表以拼音排序,请问该怎么操作?</b> + +顺序编码文献著录表默认是按引用顺序排序,但可以通过设置sorting选项进行调整,比如sorting=nyt表示按作者姓名年份以及文献标题进行排序。要使中文能按拼音排序,可以设置本地化排序调整方案,即sortlocale选项,比如: + +```\usepackage[backend=biber,citestyle=gb7714-2015ay,bibstyle=gb7714-2015,sorting=nyt,sortlocale=zh__pinyin]{biblatex}``` -> 修改为: -```\sort[direction=descending]{%``` * <b>我希望文献表以阿拉伯数字编号,而正文中的引用标签使用作者和年份标注而不是数字,请问我该如何处理?</b> -> 可以设置不同的标注和著录样式,比如标注样式用作者年制,而著录样式用顺序编码制,比如: +可以设置不同的标注和著录样式,比如标注样式用作者年制,而著录样式用顺序编码制,比如: ```\usepackage[backend=biber,citestyle=gb7714-2015ay,bibstyle=gb7714-2015]{biblatex}``` -> 参见:[issue:参考文献的顺序](https://github.com/sjtug/SJTUThesis/issues/300) +参见:[issue:参考文献的顺序](https://github.com/sjtug/SJTUThesis/issues/300) -* <b>如果我还希望顺序编码的文献著录表以拼音排序,请问该怎么操作?</b> -> 顺序编码文献著录表默认是按引用顺序排序,但可以通过设置sorting选项进行调整,比如sorting=nyt表示按作者姓名年份以及文献标题进行排序。要使中文能按拼音排序,可以设置本地化排序调整方案,即sortlocale选项,比如: -```\usepackage[backend=biber,citestyle=gb7714-2015ay,bibstyle=gb7714-2015,sorting=nyt,sortlocale=zh__pinyin]{biblatex}``` - - + * <b>请问如果参考文献中存在一些特殊字符比如&或者一些特殊命令比如\LaTex{}等,是不是会出现问题?</b> -> 通常不会出现问题,直接输入即可,当出现问题时可以手动调整比如修改为`\&`和`{\LaTex{}}` + +通常不会出现问题,直接输入即可,当出现问题时可以手动调整比如修改为`\&`和`{\LaTex{}}` * <b>如果希望在参考文献中直接使用一些unicode字符比如希腊字母等而不想用数学环境中的命令,请问该怎么处理?</b> -> 直接显示希腊字母等unicode字符需要字体的支持,比如CMU Serif等,可以在整个文档全局使用该字体,也可以仅在文献表中使用该字体,比如: + +直接显示希腊字母等unicode字符需要字体的支持,比如CMU Serif等,可以在整个文档全局使用该字体,也可以仅在文献表中使用该字体,比如: ``` { @@ -526,82 +435,192 @@ biber -l zh__stroke jobname } ``` -> 当然字体设置需要fontspec宏包的支持。 - - - +当然字体设置需要fontspec宏包的支持。 + + + +* <b>如何修改参考文献文献表的垂直间距(竖直间距)?</b> + +设置如下尺寸即可 + +``` +% 间距的控制 +\setlength{\bibitemsep}{0ex} +\setlength{\bibnamesep}{0ex} +\setlength{\bibinitsep}{0ex} + +``` +其中itemsep设置各条文献之间的间隔,一般够用,后面两个常在西文中使用。具体意义参考biblatex-zh-cn + + + +* <b>如何修参考文献表的缩进?</b> + +对于著者-出版年制文献表,设置如下尺寸即可: +``` +% 文献表中各条文献的缩进控制 +\setlength{\bibitemindent}{0em} % bibitemindent表示一条文献中第一行相对后面各行的缩进 +\setlength{\bibhang}{0pt} % 著者-出版年制中 bibhang 表示的各行起始位置到页边的距离 +``` + +对于顺序编码制文献表,可以采用如下方法: + +由于顺序编码制存在数字标签,且其宽度与参考文献数量相关的,在biblatex中这个宽度是一个动态变量,不是提前设定的,而是在文献表生成时给出,所以设定缩进需要更复杂的操作。 + +对于采用list环境的文献表,即设置gbalign=left、right、center时,那么需要修改文献表环境来设定缩进,比如: + +``` +%调整顺序标签与文献内容的间距 +\setlength{\biblabelsep}{2mm} +%修改对齐环境-使不缩进 +\defbibenvironment{bibliography} + {\list + {\printtext[labelnumberwidth]{% + \printfield{labelprefix}% + \printfield{labelnumber}}} + {%这里是所做的调整,通过设置\bibitemindent,\bibhang调整缩进 + \addtolength{\bibitemindent}{\labelnumberwidth}% + \addtolength{\bibitemindent}{\biblabelsep}% + \addtolength{\bibhang}{-\labelnumberwidth} % + \addtolength{\bibhang}{-\biblabelsep}% + %以下是默认的设置 + \setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\labelsep}{\biblabelsep}% + \setlength{\leftmargin}{\bibhang}% + \addtolength{\leftmargin}{\labelnumberwidth}% + \setlength{\itemindent}{\bibitemindent}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{\hss##1}} + {\endlist} + {\item} +``` + +对于不采用list环境的文献表,即设置gbalign=gb7714-2015时,可以采用如下设定: + +``` +%调整顺序标签与文献内容的间距 +\setlength{\biblabelsep}{2mm} +%修改对齐环境-使不缩进 +\renewcommand{\itemcmd}{% +\settowidth{\lengthid}{\mkgbnumlabel{\printfield{labelnumber}}} +%%这里是所做的调整,以下两句通过调整\lengthid来调整缩进 +\setlength{\lengthid}{0pt} +\addtolength{\lengthid}{-\biblabelsep} +%如下是默认设置 +\addtolength{\lengthid}{\biblabelsep} +\setlength{\lengthlw}{\textwidth} +\addtolength{\lengthlw}{-\lengthid} +\addvspace{\bibitemsep}%恢复\bibitemsep的作用 +%\parshape 2 0em \textwidth \lengthid \lengthlw +\hangindent\lengthid +\mkgbnumlabel{\printfield{labelnumber}}% +\hspace{\biblabelsep}} +``` + +示例见:https://github.com/hushidong/biblatex-gb7714-2015/issues/62 + + + + +* <b>如何修改参考文献表的字体字号?</b> + +通过修改如下命令实现 + +``` +% 字体的控制: \textit, sl, emph-楷体, \textbf, sf-黑体, \texttt-仿宋, \textsc, md, up-宋体 +% 全局字体 +\renewcommand{\bibfont}{\zihao{-5}}%\fangsong +% 题名字体 +\renewcommand{\bibauthorfont}{\bfseries\color{teal}}% +\renewcommand{\bibtitlefont}{\ttfamily\color{blue}}% +\renewcommand{\bibpubfont}{\itshape\color{violet}}% +% url和doi字体 +\def\UrlFont{\ttfamily} %\urlstyle{sf} %\def\UrlFont{\bfseries} +``` + + * <b>我习惯用传统的bst文件来生成参考文献,有没有GB/T 7714-2015标准的实现版本?</b> -> GB/T 7714-2015标准实现的bst版本,已经由[zeping lee](https://github.com/zepinglee/gbt7714-bibtex-style)开发完毕,直接使用即可。 - - - + +GB/T 7714-2015标准实现的bst版本,已经由[zeping lee](https://github.com/zepinglee/gbt7714-bibtex-style)开发完毕,直接使用即可。 + + + * <b>我在使用过程中遇到了一些无法理解和无法解决的问题,怎么办?</b> -> 请邮件联系hzzmail@163.com或在项目内发issue提问即可。 - - + +请邮件联系hzzmail@163.com或在项目内发issue提问即可。 + + #### 4.2 Bibliography format/文献表著录格式 * <b>请问可以在参考文献表中实现类似于word那样的与文献内容等间距标签对齐格式么?</b> -> 可以,latex的列表通常用list来实现,因此一般列表的内容都是对齐的, -> 此时如果标签右对齐的,那么标签和内容等间距,但标签左侧是不对齐的。 -> 如果标签是左对齐的,那么标签和内容的间距不相等。 -> 如果要求标签左侧对齐,且标签与内容等间距必须放弃使用list。 -> biblatex-7714-2015的顺序编码制样式特别设计了这样的环境,以保持和word一致。通过设置选项gbalign来实现: - + +可以,latex的列表通常用list来实现,因此一般列表的内容都是对齐的, +此时如果标签右对齐的,那么标签和内容等间距,但标签左侧是不对齐的。 +如果标签是左对齐的,那么标签和内容的间距不相等。 +如果要求标签左侧对齐,且标签与内容等间距必须放弃使用list。 +biblatex-7714-2015的顺序编码制样式特别设计了这样的环境,以保持和word一致。通过设置选项gbalign来实现: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,gbalign=gb7714-2015]{biblatex}``` - - + + * <b>如果不希望在参考文献表中出现类似“出版地不详”“出版者不详”等信息时,请问该怎么处理?</b> -> 设置选项gbpub可以实现,当gbpub=false时,biblatex-gb7714-2015宏包会放弃国标的要求,不使用“出版地不详”等补充信息: - + +设置选项gbpub可以实现,当gbpub=false时,biblatex-gb7714-2015宏包会放弃国标的要求,不使用“出版地不详”等补充信息: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,gbpub=false]{biblatex}``` - - + + * <b>我觉得文献表中英文作者全部用大写不好看,请问能换一种大小写方式么?</b> -> 能,通过设置gbnamefmt可以实现,默认情况下gbnamefmt=uppercase,作者姓名字母全部大写。 -> 当设置gbnamefmt=lowercase时,biblatex-gb7714-2015宏包对于bib文件中的作者姓名的大小写不做改变, -> 这时可以在bib文件中手动设置想要的大小写方式。 -> 当要实现类似ZHAO Yu-xin这样的拼音方式,则可以设置gbnamefmt=pinyin: - + +能,通过设置gbnamefmt可以实现,默认情况下gbnamefmt=uppercase,作者姓名字母全部大写。 +当设置gbnamefmt=lowercase时,biblatex-gb7714-2015宏包对于bib文件中的作者姓名的大小写不做改变, +这时可以在bib文件中手动设置想要的大小写方式。 +当要实现类似ZHAO Yu-xin这样的拼音方式,则可以设置gbnamefmt=pinyin: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,gbnamefmt=lowercase]{biblatex}``` * <b>如果不希望在参考文献表中出现类似“[M]”“[J]”等文献类型标识符时,请问该怎么处理?</b> -> 可通过设置选项gbtype=false实现: - + +可通过设置选项gbtype=false实现: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,gbtype=false]{biblatex}``` * <b>如果不希望在参考文献表中出现网址信息时,请问该怎么处理?</b> -> 可通过设置选项url=false实现: - + +可通过设置选项url=false实现: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,url=false]{biblatex}``` * <b>如果不希望在参考文献表中出现DOI信息时,请问该怎么处理?</b> -> 可通过设置选项doi=false实现: - + +可通过设置选项doi=false实现: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,doi=false]{biblatex}``` - + * <b>如果对当前文献中的url或doi显示效果(包括间距和断行)不满意,能否进行调整?</b> -> 能,可以通过设置三个计数器的值来调整,取值范围0到9999,计数器的值越大则越容易在相应的内容后断行: - + +能,可以通过设置三个计数器的值来调整,取值范围0到9999,计数器的值越大则越容易在相应的内容后断行: + ``` \setcounter{biburlnumpenalty}{100}%大于0允许在数字后面断行 \setcounter{biburlucpenalty}{100}%大于0允许在大写字母后面断行 @@ -610,141 +629,164 @@ biber -l zh__stroke jobname ``` - + * <b>当参考文献没有作者时,希望用佚名或Anon代替作者时,请问该怎么处理?</b> -> 可通过设置选项gbnoauthor=true实现,注意该处理主要用在作者年制中: - + +可通过设置选项gbnoauthor=true实现,注意该处理主要用在作者年制中: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,gbnoauthor=true]{biblatex}``` * <b>如果希望参考文献表中文献作者数量超过国标规定的3个时,请问该怎么处理?</b> -> 可通过设置选项maxbibnames,minbibnames实现,比如下面的设置用于显示5个作者: - + +可通过设置选项maxbibnames,minbibnames实现,比如下面的设置用于显示5个作者: + ```\usepackage[backend=biber,bibstyle=gb7714-2015,maxbibnames=5,minbibnames=5]{biblatex}``` * <b>请问如何将作者之间的分隔符调整为and而不是用逗号?</b> -> 可以通过重设两个分隔符来实现,分别是multinamedelim和finalnamedelim。低版本的biblatex直接重定义命令`\multinamedelim`和`\finalnamedelim`,高版本的biblatex可以使用分隔符环境,这样可以在标注、文献表等不同位置直接使用不同的分隔符,而不像低版本biblatex那样只能在不同的位置修改局部定义。比如: - + +可以通过重设两个分隔符来实现,分别是multinamedelim和finalnamedelim。低版本的biblatex直接重定义命令`\multinamedelim`和`\finalnamedelim`,高版本的biblatex可以使用分隔符环境,这样可以在标注、文献表等不同位置直接使用不同的分隔符,而不像低版本biblatex那样只能在不同的位置修改局部定义。比如: + ``` \DeclareDelimFormat[bib]{multinamedelim}{\addspace and \addspace} \DeclareDelimFormat[bib]{finalnamedelim}{\addspace and \addspace} \DeclareDelimFormat[cite]{multinamedelim}{\addcomma\addspace} \DeclareDelimFormat[cite]{finalnamedelim}{\addcomma\addspace} ``` - - - + + + * <b>请问如何使文献表中文献标题的是句首字母大写而其它所有字母均小写?</b> -> 默认情况下,biblatex-gb7714-2015不对标题的字母大小写做处理,因此要得到想要的字母大小写格式, -> 需要在bib文件输入参考文献信息时给出需要的大小写格式。 - - - + +默认情况下,biblatex-gb7714-2015仅对标题首字母做调整,使其变成为大写,而其他字母大小写不做处理,因此要得到想要的字母大小写格式,需要在bib文件输入参考文献信息时给出需要的除首字母外的其它字母的大小写格式。 + +若有特殊情况,需要首字母为小写,可采用如下两种方法: + +(1)根据字符大小写更换命令比如 + +`{\MakeLowercase i}FogSim title contents` + +(2)修改titlecase域格式,即将如下命令放到导言区中,放biblatex后面 + +``` +\DeclareFieldFormat{titlecase}{\iftoggle{bbx:titlelink}{% +\iffieldundef{url}{#1}{% +\href{\thefield{url}}{#1}}}{#1}}%重设标题格式,将去除首字母大写 +``` + + * <b>请问如何使文献表中的期刊名是单词首字母大写的?</b> -> 默认情况下,biblatex-gb7714-2015不对期刊名的字母大小写做处理, -> 因此需要在bib文件输入参考文献信息时给出需要的大小写格式。 - - - + +默认情况下,biblatex-gb7714-2015不对期刊名的字母大小写做处理, +因此需要在bib文件输入参考文献信息时给出需要的大小写格式。 + + + * <b>我想得到中英文对照的双语参考文献,请问该如何处理?</b> -> biblatex-gb7714-2015设计了两种多语言对照参考文献的实现方式, -> 一种是利用条目集的概念,另一种是利用关联条目的概念。 -> 因此有两种方法: -> 方法一,动态定义条目集: -> 在导言区或正文中定义: +biblatex-gb7714-2015设计了两种多语言对照参考文献的实现方式, +一种是利用条目集的概念,另一种是利用关联条目的概念。 +因此有两种方法: + +(1)方法一,动态定义条目集: +在导言区或正文中定义: ```\defbibentryset{易仕和,等,2013}{易仕和2013--,Yi2013--}``` -> 在正文中引用: -``双语文献引用\cite{易仕和,等,2013}``` +在正文中引用: +```双语文献引用\cite{易仕和,等,2013}``` -> 方法二,动态定义关联条目: -> 在导言区定义: +(2)方法二,动态定义关联条目: +在导言区定义: ```\defdoublelangentry{易仕和2013--}{Yi2013--}``` -> 在正文中引用: +在正文中引用: ```双语文献引用\cite{易仕和2013--}``` + + * <b>我想修改文献条目的日期项诸如格式,请问该如何处理?</b> 参考文献中日期格式主要有四种修改方式: -1. 利用biblatex选项全局的修改日期格式 -2. 修改日期输出宏,使根据条目类型输出不同的日期格式 -3. 修改日期输出宏,使根据具体条目输出不同的日期格式 -4. 修改参考文献信息,使当前条目原样输出需要的格式 +(1) 利用biblatex选项全局的修改日期格式 +(2) 修改日期输出宏,使根据条目类型输出不同的日期格式 +(3) 修改日期输出宏,使根据具体条目输出不同的日期格式 +(4) 修改参考文献信息,使当前条目原样输出需要的格式 具体示例见:[biblatex中如何修改参考文献中日期的著录格式](https://blog.csdn.net/xenonhu/article/details/86933525) - - + + #### 4.3 Citation format/正文引用的标注格式 * <b>我希望在正文中同时使用上标和非上标的引用标签,请问该怎么操作?</b> -> 可以使用不同的命令来实现上标和非上标的标签, -> 上标标签的命令为`\cite{bibtexkey}`,非上标标签的命令为`\parencite{bibtexkey}`。 -> 当希望上标的标签也给出国标要求的页码时,则可以使用`\pagescite[50-55]{bibtexkey}`给出指定页码 -> 或者`\pagescite{bibtexkey}`直接使用bib文件中的页码。 - - - + +可以使用不同的命令来实现上标和非上标的标签, +上标标签的命令为`\cite{bibtexkey}` ,非上标标签的命令为 `\parencite{bibtexkey}`。 +当希望上标的标签也给出国标要求的页码时,则可以使用`\cite[50-55]{bibtexkey}`、`\pagescite[50-55]{bibtexkey}`给出指定页码 或者`\pagescite{bibtexkey}` 直接使用bib文件中的页码。 + + + * <b>我在引用文献时已经给出作者信息,希望引用标签仅包含年份和页码信息或者仅包含年份信息时,该怎么操作?</b> -> 需要给出年份的标签是作者年制的标签,可以使用命令`\yearpagescite{bibtexkey}`给出包含年份和页码信息的标签, -> 使用命令`\yearcite{bibtexkey}`给出仅包含年份的标签。 + + 需要给出年份的标签是作者年制的标签,可以使用命令`\yearpagescite{bibtexkey}`给出包含年份和页码信息的标签, + 使用命令`\yearcite{bibtexkey}`给出仅包含年份的标签。 * <b>在使用作者年制时,我希望文献表是按作者年份标题排序,而正文某处一个cite命令引用多个参考文献,且这些文献的标签是按年份作者标题排序,该怎么操作?</b> -> 有两种方法: -> 一是自动排序 + 有两种方法: + +(1) 一是自动排序 -> 宏包加载时使用: + 宏包加载时使用: ```\usepackage[backend=biber,style=gb7714-2015ay,sortcites,sorting=ynt]{biblatex}``` -> 正文中引用: + 正文中引用: ```\cite{refa2010,refb2008,refc2009}``` -> 然后在文献打印前加 + 然后在文献打印前加 ```\newrefcontext[sorting=nyt]``` -> 二是手动给出排序 +(2) 二是手动给出排序 -> 宏包加载时使用 + 宏包加载时使用 ```\usepackage[backend=biber,style=gb7714-2015ay]{biblatex}``` -> 引用多个文献时按照年份顺序给出引用关键字,即正文中引用: + 引用多个文献时按照年份顺序给出引用关键字,即正文中引用: ```\cite{refb2008,refc2009,refa2010}``` -> 参考:[issue:citation的顺序和bibliography的顺序如何不关联](https://github.com/hushidong/biblatex-gb7714-2015/issues/30) + 参考:[issue:citation的顺序和bibliography的顺序如何不关联](https://github.com/hushidong/biblatex-gb7714-2015/issues/30) * <b>在使用作者年制时,我希望文献表同一位置引用同一作者的不同的文献实现作者姓名的压缩,该怎么操作?</b> -> 可以通过将gb7714-2015ay.cbx 中的引用的基础样式authoryear更换成authoryear-comp。 +可以通过将gb7714-2015ay.cbx 中的引用的基础样式authoryear更换成authoryear-comp。 - + * <b>请问希望正文中作者年制的标注(引用)标签中作者数量超过国标规定的1个时,该怎么处理?</b> -> 可通过设置选项maxcitenames,mincitenames实现,比如下面的设置用于显示5个作者: + +可通过设置选项maxcitenames,mincitenames实现,比如下面的设置用于显示5个作者: ```\usepackage[backend=biber,style=gb7714-2015ay,maxcitenames=5,mincitenames=5]{biblatex}``` @@ -752,7 +794,8 @@ biber -l zh__stroke jobname * <b>请问希望正文中作者年制的标注(引用)标签中作者数量只能是1个,而不管是否存在歧义时,该怎么处理?</b> -> 可通过设置选项uniquelist=false实现,该设置标签中的作者只会是指定的1个: + +可通过设置选项uniquelist=false实现,该设置标签中的作者只会是指定的1个: ```\usepackage[backend=biber,style=gb7714-2015ay,uniquelist=false]{biblatex}``` @@ -760,7 +803,8 @@ biber -l zh__stroke jobname * <b>请问希望正文中作者年制的标注(引用)标签中作者数量只能是1个,且只用其作者的姓而不管是否存在歧义时,该怎么处理?</b> -> 可通过设置选项uniquelist=false, uniquename=false实现,该设置标签中的作者只会是指定的1个且只用该作者的姓: + +可通过设置选项uniquelist=false, uniquename=false实现,该设置标签中的作者只会是指定的1个且只用该作者的姓: ```\usepackage[backend=biber,style=gb7714-2015ay,uniquelist=false,uniquename=false]{biblatex}``` @@ -769,7 +813,8 @@ biber -l zh__stroke jobname * <b>请问上标的标注(引用)标签过长导致行溢出,该怎么处理?</b> -> 上标的标注与行内的标注不一样,因此采用了上标的处理,所以上标的标注无法自动断行,因此在页边附近的长标注很有可能会溢出。由于上标标注的断行国标中并没有什么明确要求和说明,因此只能按照自己的方式进行处理,通常是将一个长标注手动分成两个短的标注,比如将: + +上标的标注与行内的标注不一样,因此采用了上标的处理,所以上标的标注无法自动断行,因此在页边附近的长标注很有可能会溢出。由于上标标注的断行国标中并没有什么明确要求和说明,因此只能按照自己的方式进行处理,通常是将一个长标注手动分成两个短的标注,比如将: ```\cite{key1,key2,key3,key4,key5,key6,key7}``` @@ -783,7 +828,8 @@ biber -l zh__stroke jobname * <b>在顺序编码制标签中,希望数字编码从两个连续编码就开始压缩,比如[1,2]压缩成[1-2],该怎么处理?</b> -> biblatex中处理顺序数字编码压缩的代码默认从3个连续编码开始压缩,比如[1,2,3]压缩成[1-3]。如果要修改为从2个连续编码开始压缩,只需要做一个很简单的修改即可: + +biblatex中处理顺序数字编码压缩的代码默认从3个连续编码开始压缩,比如[1,2,3]压缩成[1-3]。如果要修改为从2个连续编码开始压缩,只需要做一个很简单的修改即可: ``` %该宏的目的是抛弃压缩内部的编号,而仅输出最后一个编号,主要通过cbx@tempcnta来控制 @@ -809,7 +855,8 @@ biber -l zh__stroke jobname * <b>在正文中的某一部分,希望取消顺序编码标签中的压缩,而其他部分保持这种压缩,该怎么处理?</b> -> 顺序数字编码压缩的代码,主要有cite:comp:comp宏控制,因此需要局部取消压缩,可以局部的修改该宏。修改很简单,只需要注释掉其中的一行,在需要取消压缩的环境中,重定义该宏,比如: + +顺序数字编码压缩的代码,主要有cite:comp:comp宏控制,因此需要局部取消压缩,可以局部的修改该宏。修改很简单,只需要注释掉其中的一行,在需要取消压缩的环境中,重定义该宏,比如: ``` \renewbibmacro*{cite:comp:comp}{% @@ -837,10 +884,9 @@ biber -l zh__stroke jobname ``` - - - + ### 5. Examples/著录和标注结果示例 + * 顺序编码制 ![示例a](example/fig-style-numeric.png) @@ -854,6 +900,7 @@ biber -l zh__stroke jobname 对于bib文件中的如下条目,有: +``` @Article{Zhang2007-500-503, Title = {The design and experimental investigations of supersonic length shorted nozzle}, Author = {Zhang, Min-li and Yi, Shi-he and Zhao, Yu-xin}, @@ -887,13 +934,210 @@ biber -l zh__stroke jobname Publisher = {China Astronautic Publishing House}, Year = {2003} } - +``` ![示例c](example/fig-nameformat.png) --------------------------------------------------------- + +## Usage +* for numerical sequence style: gb7714-2015 + + `\usepackage[backend=biber,style=gb7714-2015]{biblatex}` + + - add an option `gbalign` to control the align style of the numerical label: + + `gbalign=right` for the label ragged left in a list environment, this is the default setting. + + `gbalign=center` for the same width label in a list environment with the number centered in a wrapper like bracket [] + + `gbalign=left` for the label ragged right in list environment + + `gbalign=gb7714-2015` for the label in paragraph with same separation space between label and content of the reference entry + + `\usepackage[backend=biber,style=gb7714-2015,gbalign=gb7714-2015]{biblatex}` + + - add an option `gbpub` for dealing publishing items (This option is also for author-year style): + + `gbpub = true` for gb7714 style, to print `[出版者不详]` and the like when publisher or address is absent, this is the default setting. + + `gbpub = false` for standard style, not to print the additional infomation. + + `\usepackage[backend=biber,style=gb7714-2015,gbpub=true]{biblatex}` + + - add an option `gbnamefmt` for dealing author name's letter case (This option is also for author-year style): + + `gbnamefmt = uppercase` for gb7714 style, to capitalize all the letters of the name, like: ZHANG M L, this is the default setting. + + `gbnamefmt = lowercase` for gb7714 style, do no case switch of the name, like: Zhang M L + + `gbnamefmt = givenahead` for standard style, given-family style, like: M. L. Zhang as the ieee style + + `gbnamefmt = familyahead` for standard style, family-given style, like: Zhang, M. L. as the apa style. + + `gbnamefmt = pinyin` for a common Chinese style, like: ZHANG Min-li, YI Shi-he and so on. + + `gbnamefmt = reserveorder` for standard style:family-given/given-family style + + the name format can be set per-entry using a field `nameformat`, add this field like `nameformat={pinyin}` to an entry in the bib file to set the entry's name format. + + `\usepackage[backend=biber,style=gb7714-2015,gbnamefmt=uppercase]{biblatex}` + + - add an option `gbbiblabel` to control the format of the numerical label: + + `gbbiblabel=bracket` for the numerical number in the label wrapped by bracket, like: [1], this is the default setting. + + `gbbiblabel=parens` for the numerical number in the label wrapped by parenthesis, like: (1) + + `gbbiblabel=plain` for the numerical number in the label wrapped by nothing, like: 1 + + `gbbiblabel=dot` for the numerical number in the label followed with dot, like: 1. + + `gbbiblabel=box` for the numerical number in the label wrapped by box which generated by `\framebox` + + `gbbiblabel=circle` for the numerical number in the label wrapped by circle which generated by `\textcircled` + + `\usepackage[backend=biber,style=gb7714-2015,gbbiblabel=bracket]{biblatex}` + + - add an option `gbtype` to control the output of the reference type and carrier identifier like [J/OL] (This option is also for author year style): + + `gbtype = true` for gb7714 style, print a title with the identifier, like: `an on-line article [J/OL]`, this is the default setting. + + `gbtype = false` for none identifier, print a title without identifier, like: `an on-line article` + + `\usepackage[backend=biber,style=gb7714-2015,gbtype=true]{biblatex}` + + - add an option `gbfieldtype` to control the output of field type: + + `gbfieldtype = true` to print type field, like the thesis type: `PHD thesis` or `博士学位论文`。please use `\DefineBibliographyStrings{english}{mathesis={str you want}}`,`\DefineBibliographyStrings{english}{phdthesis={str you want}}`, + `\DefineBibliographyStrings{english}{mathesiscn={str you want}}`,`\DefineBibliographyStrings{english}{phdthesiscn={str you want}}` to + define the output string, or set it in bibfile like: `type={str you want},` + + `gbfieldtype = false` not to print type field. + + `\usepackage[backend=biber,style=gb7714-2015,gbfieldtype=true]{biblatex}` + + - add an option `gbpunctin` to control the output of `//` before bookauthor for entrytypes like inbook/incollection/inproceedings(This option is also for author year style): + + `gbpunctin=true` for gb7714 style, to output `//`, this is the default setting + + `gbpunctin=false` for standard style, to output a bibstring, for English it is `IN:`, If you want to eliminate it at all, please redefine the bibstring like `\DefineBibliographyStrings{english}{in={}}` and `\DefineBibliographyStrings{english}{incn={}}`in the preamble. + + `\usepackage[backend=biber,style=gb7714-2015,gbpunctin=true]{biblatex}` + + - add an option `gbctexset` to control the bibliography heading's setting method (This option is also for author year style): + + `gbctexset=true` , the bibliography heading can be set by `\bibname` or `\refname`, this is the default setting. + + `gbpunctin=false`, the heading can be set by bibstring like `\DefineBibliographyStrings{english}{bibliography={title you want}}` or `\DefineBibliographyStrings{english}{references={title you want}}` + + or alternatively, it can also be set through the printbibliography option `title`, like `printbibliography[title=title you want]`. + + `\usepackage[backend=biber,style=gb7714-2015,gbctexset=true]{biblatex}` + + - add an option `gbcodegbk` to deal the tex source file encoded with GBK (This option is also for author year style): + + `gbcodegbk=true` , if you want to compile the GBK encoded source file with pdflatex or latex + + `gbcodegbk=false`, if you want to compile the utf-8 endcoded source file with xelatex, this is the default setting. + + `\usepackage[backend=biber,style=gb7714-2015,gbcodegbk=true]{biblatex}` + + - add an option `gbtitlelink` to control the hyperlink of title field (This option is also for author year style): + + `gbtitlelink = false` not to add hyperlink, this is the default setting. + + `gbtitlelink = true` to set the title as a hyperlink. + + `\usepackage[backend=biber,style=gb7714-2015,gbtitlelink=true]{biblatex}` + + - add an option `gbfootbib` to control the bibliography in footnote (This option is also for author year style): + + `gbfootbib = true` make patches to match the standard, this is the default setting. + + `gbfootbib = false` not to patch. + + `\usepackage[backend=biber,style=gb7714-2015,gbtitlelink=true]{biblatex}` + + - add options `gbcitelocal` `gbbiblocal` to control the local strings in citation and bibliography respectively, the `gblocal` set the both options (These options are also for author year style): + + `gbcitelocal = gb7714-2015` to output local strings according to the reference's language, this is the default setting. + + `gbcitelocal = chinese` to output local strings with chinese language word like "等". + + `gbcitelocal = english` to output local strings with western language word like "et al.". + + `\usepackage[backend=biber,style=gb7714-2015,gbcitelocal = chinese]{biblatex}` + + - add an option `gbstrict` to control the output of some unnecessary fields for GB/T7714-2015 (This option is also for author year style). + + `gbstrict=true`, not to print those fields such as language, eprint, this is the default setting. + + `gbstrict=false`, to output them as the standard style + + `\usepackage[backend=biber,style=gb7714-2015,gbstrict=true]{biblatex}` + + - add an option `gbfieldstd` to control the format of some fields such as title, url and pages (This option is also for author year style): + + `gbfieldstd = false` for gb7714 style, format of the fields follows the GB/T7714-2015 standard, this is the default setting. + + `gbfieldstd = true` for standard style. + + `\usepackage[backend=biber,style=gb7714-2015,gbfieldstd=true]{biblatex}` + + +* for multi-style: gb7714-2015ms + + In order to use two styles in a tex file, add a style gb7714-2015ms. option `gbstyle` is added to control the using mode. `gbstyle=true` means all references are printed with GB/T7714-2015 style, and `gbstyle=false` means the chinese references are printed with GB/T7714-2015 style while the other references are printed with standard style shipped by biblatex, and `gbstyle=true` is the default set. all the options for numerical sequence style gb7714-2015 can also be used in gb7714-2015ms. + + + `\usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex}` + +* for author year style: gb7714-2015ay + + `\usepackage[backend=biber,style=gb7714-2015ay,gbpub=true]{biblatex}` + + - add an option `gbnoauthor` for dealing undefined author: + + `gbnoauthor = true` for gb7714 style, to print `佚名` or `Anon` when the author of the entry is absent. + + `gbnoauthor = false` for standard style, not to pring anything, this is the default setting. + + `\usepackage[backend=biber,style=gb7714-2015ay,gbnoauthor=true]{biblatex}` + + - add an option value `mergedate=none` to control the date in bibliography: + + `mergedate=true` to output date only after author,like:LAMPORT L, (1986). Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA. + + `mergedate=false` to output date after author and in publish items,like:LAMPORT L, (1986). Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA, 1986. + + `mergedate=none` to output date only in publish items,like:LAMPORT L. Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA, 1986. + + do not set mergedate output like:LAMPORT L, 1986. Document Preparation System[M]. [S.l.]: Addison-Wesley Reading, MA. + + `\usepackage[backend=biber,style=gb7714-2015ay,mergedate=none]{biblatex}` + + - add an option `gblanorder` to control sequence of reference groups of different languagesin the bibliography: + + `gblanorder=chineseahead` to set the sequence as: cn;jp;kr;en;fr;ru + + `gblanorder=englishahead` to set the sequence as: en;fr;ru;cn;jp;kr + + `gblanorder=user defined string like: cn;en;jp;kr;fr;ru` to set the sequence as: cn;en;jp;kr;fr;ru. + + `\usepackage[backend=biber,style=gb7714-2015ay,gblanorder=cn;en;jp;fr;kr;ru]{biblatex}` + +* for perl script transformation tool(only for the numerical style) + + `perl gb7714texttobib.pl in=textfilename out=bibfilename` + +A demonstration database is provided to show how to format input for the style. The biblatex-gb7714-2015 style works with texlive2014, texlive2015, texlive2016, texlive2017 , texlive2018 and so on. + +please see the file 'biblatex-gb7714-2015.pdf' for further information! + + ## Version history: * 2016/05/20 v1.0 @@ -916,6 +1160,7 @@ biber -l zh__stroke jobname * 2019/03/28 v1.0r * 2019/03/29 v1.0rm,rename erj to chinese-erj,ctan * 2019/08/28 v1.0s +* 2020/03/04 v1.0t,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 fbf92f0feac..e5ff2178e6e 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 @@ -13,8 +13,10 @@ \setmonofont[Ligatures=TeX]{TeX Gyre Pagella} %\usepackage{unicode-math} %\setmathfont[math-style=ISO,bold-style=ISO]{TeX Gyre Pagella Math} -\setCJKmainfont -[BoldFont=SourceHanSansSC-Regular.otf, ItalicFont=simkai.ttf]{SourceHanSerifSC-Regular.otf} + +\setmainfont{CMU Serif} +\IfFileExists{SourceHanSerifSC-Regular.otf} +{\setCJKmainfont[BoldFont=SourceHanSansSC-Regular.otf, ItalicFont=simkai.ttf]{SourceHanSerifSC-Regular.otf}}{} \usepackage[dvipsnames]{xcolor} \colorlet{examplefill}{yellow!80!black} @@ -92,7 +94,9 @@ %超链接书签功能,选项去掉链接红色方框 \usepackage[colorlinks=true,% -pdfstartview=FitH,allcolors=gbemphcolor]{hyperref} +pdfstartview=FitH,allcolors=gbemphcolor, +bookmarksopenlevel=4,% +bookmarksdepth=4,]{hyperref} %linkcolor=gbblue,anchorcolor=gbblue,citecolor=gbblue %linkcolor=black,linkcolor=green,blue,red,cyan, magenta, %yellow, black, gray,white, darkgray, lightgray, brown, @@ -124,7 +128,7 @@ pdfstartview=FitH,allcolors=gbemphcolor]{hyperref} %目录,图/表/例目录,图表题注 -\usepackage{subfigure} +\usepackage[bf]{subfigure} \usepackage[subfigure]{tocloft} %注意其与titletoc共用时分页会有问题 \usepackage{ccaption} \captiondelim{. } %图序图题中间的间隔符号 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 6da5621607d..a0dae26ec42 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 72ec1e17c68..d0513bffb89 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 @@ -1,11 +1,15 @@ \documentclass[11pt]{article} %用draft选项找到badbox的位置 twoside, \input{biblatex-gb7714-2015-preamble} %宏包和一些格式设置 +\usepackage{microtype} +%\usepackage[russian,french,english]{babel} +%\DefineHyphenationExceptions{english}{conf-erence} \begin{document} \hyphenpenalty=100 %断词阈值,值越大越不容易出现断词 \tolerance=9000 %丑度,10000为最大无溢出盒子,参考the texbook 第6章 + %------------------------------------------------------------ % 标题和目录 %------------------------------------------------------------ @@ -271,15 +275,21 @@ latexmk -xelatex jobname.tex \begin{tcolorbox}[left skip=0pt,right skip=0pt,% width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] -\deflength{\textparwd}{\linewidth-1cm} -\parbox{\textparwd}{%\raggedright -\hyphenpenalty=50 %断词阈值,值越大越不容易出现断词 -\tolerance=9500 %丑度,10000为最大无溢出盒子,参考the texbook 第6章 -详见文献\cite{Peebles2001-100-100}\parencite{Babu2014--} -另见文献\cite[49]{于潇2012-1518-1523}\parencite[106]{Babu2014--} -\renewcommand{\bibfont}{\zihao{-5}} -\printbibliography[heading=subbibliography,title=参考文献] -} +\includegraphics*[page=1,viewport=0cm 0.4cm 14cm 6.1cm,clip=true]{egfigure/egmwe.pdf} +%\deflength{\textparwd}{\linewidth-1.5cm} +%\begin{minipage}{\textparwd} +%\fbox{\parbox{\textparwd}{%\raggedright +%详见文献\cite{Peebles2001-100-100}\parencite{Babu2014--} +%另见文献\cite[49]{于潇2012-1518-1523}\parencite[106]{Babu2014--} +%\renewcommand{\bibfont}{\zihao{-5}} +%{ +%\hyphenation{conference} +%\hyphenpenalty=100 %断词阈值,值越大越不容易出现断词 +%\tolerance=100 %丑度,10000为最大无溢出盒子,参考the texbook 第6章 +%\printbibliography[heading=subbibliography,title=参考文献] +%\par} +%}} +%\end{minipage} \end{tcolorbox} \caption{最小工作示例编译生成的PDF文档}\label{fig:eg:ref} \end{figure} @@ -290,8 +300,11 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \subsection{样式及选项加载} +\subsubsection{几种样式} + 例\ref{code:doc:structrue}中给出了宏包和样式的基本加载方式,选项的加载也类似。比如: +\pdfbookmark[4]{gb7714-2015}{stygb7714-2015} \begin{example}{顺序编码制(gb7714-2015)加载方式}{eg:gb7714numeric} \begin{texlist} %简单方式: @@ -303,6 +316,8 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \end{texlist} \end{example} + +\pdfbookmark[4]{gb7714-2015ay}{stygb7714-2015ay} \begin{example}{著者-出版年制(gb7714-2015ay)加载方式}{eg:gb7714authoryear} \begin{texlist} %简单方式: @@ -312,6 +327,8 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \end{texlist} \end{example} + +\pdfbookmark[4]{gb7714-2015ms}{stygb7714-2015ms} \begin{example}{同一文献表中不同语言区分著录格式的样式(gb7714-2015ms)}{eg:gb7714ms} \begin{texlist} %默认方式,所有文献使用一种著录格式,即GB/T 7714-2015样式 @@ -320,7 +337,10 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex} \end{texlist} \end{example} +格式效果如图\ref{fig:eg:ms}所示。 + +\pdfbookmark[4]{gb7714-2015mx}{stygb7714-2015mx} \begin{example}{同一文档中不同文献分节区分不同著录格式的样式(gb7714-2015mx)}{eg:gb7714mx} \begin{texlist} %默认方式使用顺序编码制样式 @@ -329,6 +349,8 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \setaystylesection{2} \end{texlist} \end{example} +格式效果如图\ref{fig:eg:mx}所示。 + \begin{example}{参考文献文本转换为bib文件perl脚本使用方式}{eg:transtobib} \begin{texlist} @@ -336,11 +358,24 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \end{texlist} \end{example} -其中,v1.0m版本增加的gb7714-2015ms样式文件,主要是为了在一个文献表中针对不同语言使用不同多种样式,比如中文文献使用GB/T 7714-2015规定的著录格式,而其它语言文献使用biblatex提供的标准样式。v1.0r版本增加了gb7714-2015mx样式,主要是为了在一个文档中针对不同参考文献分节使用不同的参考文献样式,比如某些节使用著者年份制,某些节使用顺序编码制。尽管这些方式不常用,但偶尔也有需求,所以都做了实现。另外应ddswhu要求,v1.0r版本增加了chinese-erj样式用于生成经济研究期刊的文献。且在egthesis文件夹内,针对国内一些大学的学位论文文献要求,基于国标样式做了一些定制和测试。 +其中,v1.0m版本增加的gb7714-2015ms样式文件,主要是为了在一个文献表中针对不同语言使用不同多种样式,比如中文文献使用GB/T 7714-2015规定的著录格式,而其它语言文献使用biblatex提供的标准样式。v1.0r版本增加了gb7714-2015mx样式,主要是为了在一个文档中针对不同参考文献分节使用不同的参考文献样式,比如某些节使用著者年份制,某些节使用顺序编码制。尽管这些方式不常用,但偶尔也有需求,所以都做了实现。 + +另外应ddswhu要求,v1.0r版本增加了chinese-erj样式用于生成经济研究期刊的文献。且在egthesis文件夹内,针对国内一些大学的学位论文文献要求,基于国标样式做了一些定制和测试。 + +\pdfbookmark[4]{chinese-erj}{chinese-erj} +\begin{example}{经济研究期刊文献样式(chinese-erj)}{eg:gbchineseerj} +\begin{texlist} +%使用经济研究期刊文献样式 +\usepackage[backend=biber,style=chinese-erj]{biblatex} +\end{texlist} +\end{example} + \subsubsection{新增选项}\label{sec:added:opt} 样式包新增了一些选项,用于标签对齐方式、出版项缺省处理、责任者(作者)缺省处理等功能的控制,其使用方式与biblatex宏包选项完全相同: \begin{description} + + \pdfbookmark[4]{gbalign}{gbalign} \item[gbalign]=\textbf{right},left,center,gb7714-2015. \hfill default is right 为顺序编码制增加的选项,用于选择参考文献表序号标签的对齐方式。 @@ -357,8 +392,22 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \href{run:./example/opt-gbalign-left.tex}{opt-gbalign-left.tex}, 项对齐(标签与内容等间距)见: \href{run:./example/opt-gbalign-gb.tex}{opt-gbalign-gb.tex}。 + 效果示例如图\ref{fig:eg:optgbalign}所示。 +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbalign=right 即右对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-right.pdf}}} +\subfigure[\heiti gbalign=left 即左对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-left.pdf}}}\\ +\subfigure[\heiti gbalign=center 即中对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-center.pdf}}} +\subfigure[\heiti gbalign=gb7714-2015 即项对齐]{\parbox{0.5\linewidth}{\includegraphics*[page=4,viewport=1cm 0cm 8cm 4.5cm,clip=true]{egphoto/opt-gbalign-gb.pdf}}} +\end{tcolorbox} +\caption{文献表标签对齐选项gbalign效果}\label{fig:eg:optgbalign} +\end{figure} + \pdfbookmark[4]{gbpub}{gbpub} \item[gbpub]=\textbf{true},false. \hfill default is true 为控制出版信息缺失处理增加的选项。 @@ -369,8 +418,44 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 顺序编码制测试(著者年份制类似)见: \href{run:./example/opt-gbpub-true.tex}{opt-gbpub-true.tex}, \href{run:./example/opt-gbpub-false.tex}{opt-gbpub-false.tex}。 + 效果示例如图\ref{fig:eg:optgbpub}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbpub=false 出版项缺省]{\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0cm 9cm 4.5cm,clip=true]{egphoto/opt-gbpub-false.pdf}}} +\subfigure[\heiti gbpub=true 出版项补充]{\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0cm 10cm 4.5cm,clip=true]{egphoto/opt-gbpub-true.pdf}}} +\end{tcolorbox} +\caption{文献表出版项缺失处理选项gbpub效果}\label{fig:eg:optgbpub} +\end{figure} + + \pdfbookmark[4]{gbnoauthor}{gbnoauthor} + \item[gbnoauthor]=true,\textbf{false}. \hfill default is false + + 为著者年份制增加的选项,用于控制责任者缺失时的处理。 + \begin{itemize} + \item gbnoauthor=false,当作者信息缺失时默认不做处理,使用标准样式的处理方式; + \item gbnoauthor=true,则根据GB/T 7714-2015 的要求进行处理,中文文献使用“佚名”来代替author,英文文献用“Anon”来代替author。 + \end{itemize} + 测试结果见: + \href{run:./example/opt-gbnoauthor-true.tex}{opt-gbnoauthor-true.tex}, + \href{run:./example/opt-gbnoauthor-false.tex}{opt-gbnoauthor-false.tex}。 + 效果示例如图\ref{fig:eg:optgbnoauthor}所示。 +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbnoauthor=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.4cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbnoauthor-true.pdf}}} +\subfigure[\heiti gbnoauthor=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.4cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbnoauthor-false.pdf}}} +\end{tcolorbox} +\caption{文献表作者缺失处理选项gbnoauthor效果}\label{fig:eg:optgbnoauthor} +\end{figure} + \pdfbookmark[4]{gbbiblabel}{gbbiblabel} \item[gbbiblabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket 为顺序编码制增加的选项,用于选择参考文献表序号数字的格式。 @@ -382,19 +467,25 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \item gbbiblabel=box,序号数字由方框包围,比如\framebox{1}; \item gbbiblabel=circle,序号数字由圆圈包围,比如\textcircled{1}。 \end{itemize} + 效果示例如图\ref{fig:eg:optgbbiblabel}所示。 - \item[gbnoauthor]=true,\textbf{false}. \hfill default is false - - 为著者年份制增加的选项,用于控制责任者缺失时的处理。 - \begin{itemize} - \item gbnoauthor=false,当作者信息缺失时默认不做处理,使用标准样式的处理方式; - \item gbnoauthor=true,则根据GB/T 7714-2015 的要求进行处理,中文文献使用“佚名”来代替author,英文文献用“Anon”来代替author。 - \end{itemize} - 测试结果见: - \href{run:./example/opt-gbnoauthor-true.tex}{opt-gbnoauthor-true.tex}, - \href{run:./example/opt-gbnoauthor-false.tex}{opt-gbnoauthor-false.tex}。 +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbbiblabel=box] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabela.pdf}}} +\subfigure[\heiti gbbiblabel=bracket] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelb.pdf}}}\\ +\subfigure[\heiti gbbiblabel=parens] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelc.pdf}}} +\subfigure[\heiti gbbiblabel=dot] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabeld.pdf}}}\\ +\subfigure[\heiti gbbiblabel=plain] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabele.pdf}}} +\subfigure[\heiti gbbiblabel=circle] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbbiblabelf.pdf}}}\\ +\end{tcolorbox} +\caption{文献表标签数字格式选项gbbiblabel效果}\label{fig:eg:optgbbiblabel} +\end{figure} + \pdfbookmark[4]{gbnamefmt}{gbnamefmt} \item[gbnamefmt]=\textbf{uppercase},lowercase,givenahead,familyahead,pinyin. \hfill default is uppercase 为姓名大小写格式控制增加的选项。 @@ -411,8 +502,25 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 测试结果见: \href{run:./example/opt-gbnamefmt.tex}{opt-gbnamefmt.tex}, \href{run:./example/opt-gbnamefmt-default.tex}{opt-gbnamefmt-default.tex}。 + 效果示例如图\ref{fig:eg:optgbnamefmt}所示。 +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbnamefmt=uppercase] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-a.pdf}}} +\subfigure[\heiti gbnamefmt=lowercase] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-b.pdf}}}\\ +\subfigure[\heiti gbnamefmt=givenahead] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-c.pdf}}} +\subfigure[\heiti gbnamefmt=familyahead] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-d.pdf}}}\\ +\subfigure[\heiti gbnamefmt=pinyin] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-e.pdf}}} +\subfigure[\heiti gbnamefmt=reverseorder] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbnamefmt-f.pdf}}}\\ +\end{tcolorbox} +\caption{文献表姓名格式选项gbnamefmt效果}\label{fig:eg:optgbnamefmt} +\end{figure} + + \pdfbookmark[4]{gbtype}{gbtype} \item[gbtype]=\textbf{true},false. \hfill default is true 为控制是否输出题名后面的文献类型和载体标识符而增加的选项。 @@ -420,7 +528,44 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \item gbtype=true,根据GB/T 7714-2015 要求输出标识符,例如“在线的期刊析出文献题名[J/OL]”。 \item gbtype=false,则不输出标识符,例如“在线的期刊析出文献题名”。 \end{itemize} + 效果示例如图\ref{fig:eg:optgbtype}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbtype=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbtype-true.pdf}}} +\subfigure[\heiti gbtype=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbtype-false.pdf}}} +\end{tcolorbox} +\caption{文献类型标识符输出控制选项}\label{fig:eg:optgbtype} +\end{figure} + + + \pdfbookmark[4]{gbmedium}{gbmedium} + \item[gbmedium]=\textbf{true},false. \hfill default is true + + 为控制是否输出题名后面的文献载体标识符而增加的选项。 + \begin{itemize} + \item gbmedium=true,根据GB/T 7714-2015 要求输出载体标识符,例如“在线的期刊析出文献题名[J/OL]”。 + \item gbmedium=false,则不输出标识符,例如“在线的期刊析出文献题名[J]”。 + \end{itemize} + 注意:gbtype选项是更大范围的控制,包括了gbmedium。当gbtype=false时,无所谓gbmedium设置什么,因为整个文献类型和载体标识符整个都不显示,而gbmedium只是设置载体标识的。 + 效果示例如图\ref{fig:eg:optgbmedium}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbmedium=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbmedium-true.pdf}}} +\subfigure[\heiti gbmedium=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 8cm 2.8cm,clip=true]{egphoto/opt-gbmedium-false.pdf}}} +\end{tcolorbox} +\caption{文献载体标识符输出控制选项}\label{fig:eg:optgbmedium} +\end{figure} + + \pdfbookmark[4]{gbfieldtype}{gbfieldtype} \item[gbfieldtype]=true,\textbf{false}. \hfill default is false 为控制是否输出type域而增加的选项。 @@ -438,8 +583,20 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 二是设置type域,比如在bib文件直接设置需要输出的字符,比如type=\{[博士学位论文]\}。 \end{itemize} + 效果示例如图\ref{fig:eg:optgbfieldtype}所示。 +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbfieldtype=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=8cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-gbfieldtype-true.pdf}}} +\subfigure[\heiti gbfieldtype=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=8cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-gbfieldtype-false.pdf}}} +\end{tcolorbox} +\caption{文献表类型(type)域输出控制选项}\label{fig:eg:optgbfieldtype} +\end{figure} + \pdfbookmark[4]{gbpunctin}{gbpunctin} \item[gbpunctin]=\textbf{true},false. \hfill default is true 为控制inbook,incollection,inproceedings中析出来源文献前的\texttt{//}符号而增加的选项。 @@ -450,7 +607,149 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \lstinline!\DefineBibliographyStrings{english}{in={}}!,\lstinline!\DefineBibliographyStrings{english}{incn={}}!。 之所以用加cn的本地化字符串是为了适应某些样式对中英文文献的区别设置。 \end{itemize} + 效果示例如图\ref{fig:eg:optgbpunctin}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbpunctin=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbpunctin-true.pdf}}} +\subfigure[\heiti gbpunctin=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbpunctin-false.pdf}}} +\end{tcolorbox} +\caption{析出文献标识符号控制选项}\label{fig:eg:optgbpunctin} +\end{figure} + + \pdfbookmark[4]{gbtitlelink}{gbtitlelink} + \item[gbtitlelink]=true,\textbf{false}. \hfill default is false + + 为设置标题的超链接增加的选项。 + \begin{itemize} + \item gbtitlelink=false,即默认不给标题设置超链接。 + \item gbtitlelink=true,当文献存在url 域时为文献标题设置超链接。 + \end{itemize} + 测试文件见: + \href{run:example/opt-gbtitlelink.tex}{opt-gbtitlelink.tex}。 + 效果示例如图\ref{fig:eg:optgbtitlelink}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbtitlelink=true] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbtitlelink-true.pdf}}} +\subfigure[\heiti gbtitlelink=false] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gbtitlelink-false.pdf}}} +\end{tcolorbox} +\caption{文献标题超链接控制选项}\label{fig:eg:optgbtitlelink} +\end{figure} + + \pdfbookmark[4]{gblocal}{gblocal} + \item[gblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 + \item[gbcitelocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 + \item[gbbiblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 + + 为设置引用标注标签和文献表中的本地化字符串而增加的选项。其中gbcitelocal 用于控制标注中的本地化字符串,而gbbiblocal用于控制文献表中的本地化字符串,gblocal选项等价于同时设置gbcitelocal 和 gbbiblocal。 + 配合\lstinline[breaklines=true]!\DefineBibliographyStrings!命令对本地化字符串进行设置可以实现一些特殊的效果。图\ref{fig:content:fmtc}就是该选项的一个使用示例。 + \begin{itemize} + \item gblocal=gb7714-2015,即默认区分中英文,不同语言采用不同的字符串比如中文使用“等”“和”,而英文使用“et al.”“and”。 + \item gblocal=chinese,强制设置所有的本地化字符串使用中文。 + \item gblocal=english,强制设置所有的本地化字符串使用英文。 + \end{itemize} + 测试文件见: + \href{run:egfigure/egcontentfmtc.tex}{egcontentfmtc.tex}。 + 效果示例如图\ref{fig:eg:optgblocal}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\centering +\subfigure[\heiti gblocal=gb7714-2015] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-gb.pdf}}}\hfill +\subfigure[\heiti gblocal=chinese] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-chinese.pdf}}}\\ +\subfigure[\heiti gblocal=english] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 2.8cm,clip=true]{egphoto/opt-gblocal-english.pdf}}} +\end{tcolorbox} +\caption{常用本地化字符串的中英文控制选项}\label{fig:eg:optgblocal} +\end{figure} + + \pdfbookmark[4]{mergedate}{mergedate} + \item[mergedate]=true,false,none. + + 为著者年份制是否在文献表中作者后面输出日期信息而增加了选项值none。 + \begin{itemize} + \item mergedate=true,著者年份制文献表仅在作者后输出日期 + \item mergedate=false,著者年份制文献表在作者后和出版项中输出日期 + \item mergedate=none,著者年份制文献表仅在出版项中输出日期。该选项用于满足中科院大学的著者年份制格式要求。 + \item no mergedate,即不给出该选项,这是gb7714-2015ay默认的情况,仅在作者后输出日期且已经根据国标格式化。 + \end{itemize} + 效果示例如图\ref{fig:eg:optmergedate}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti mergedate 不给出] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-a.pdf}}}\\ +\subfigure[\heiti mergedate=true] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-b.pdf}}}\\ +\subfigure[\heiti mergedate=false] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-c.pdf}}}\\ +\subfigure[\heiti mergedate=none] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 14.5cm 2.8cm,clip=true]{egphoto/opt-mergedate-d.pdf}}}\\ +\end{tcolorbox} +\caption{作者年制文献表年份格式控制选项}\label{fig:eg:optmergedate} +\end{figure} + + + \pdfbookmark[4]{gblanorder}{gblanorder} + \item[gblanorder]=\textbf{chineseahead},englishahead,userdefinedstr like:cn;en;ru;fr;jp;kr . \hfill default is chineseahead + + 为著者年份制文献不同文种分集排序而增加的选项。 + \begin{itemize} + \item gblanorder=chineseahead,即默认做中文文献在前英文文献在后的排序,各语言顺序为: cn;jp;kr;en;fr;ru。 + \item gblanorder=englishahead,做英文在前中文文献在后的排序,各语言顺序为: en;fr;ru;cn;jp;kr。 + \item gblanorder=自定义字符串,比如cn;en;ru;fr;jp;kr。这是一个用分号分隔的语言缩写名构成的字符串,缩写名的前后顺序代表文献表中文种分集的顺序。 + \end{itemize} + + 测试文档见:\href{run:./example/opt-gblanorder.tex}{opt-gblanorder.tex}。 + 效果示例如图\ref{fig:eg:optgblanorder}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\centering +\subfigure[\heiti gblanorder=chineseahead] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-chineseahead.pdf}}}\hfill +\subfigure[\heiti gblanorder=englishahead] {\parbox{0.45\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-englishahead.pdf}}}\\ +\subfigure[\heiti gblanorder=cn;en;ru;fr;jp;kr] {\parbox{0.5\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 7.5cm 4.0cm,clip=true]{egphoto/opt-gblanorder-udf.pdf}}} +\end{tcolorbox} +\caption{多语言文献表语言排序控制选项}\label{fig:eg:optgblanorder} +\end{figure} + + + \pdfbookmark[4]{gbannote}{gbannote} + \item[gbannote]=true,\textbf{false}. \hfill default is false + + 为控制是否在文献条目后面输出由annotation或annote域提供的注释信息而增加的选项。 + \begin{itemize} + \item gbannote=false,即默认不输出。 + \item gbannote=true,输出注释信息。 + \end{itemize} + + 测试文档见:\href{run:./example/opt-gbannote.tex}{opt-gbannote.tex}。 + 效果示例如图\ref{fig:eg:optgbannote}所示。 + +\begin{figure}[!htb] +\centering +\begin{tcolorbox}[left skip=0pt,right skip=0pt,% +width=\linewidth,colframe=gblabelcolor,colback=white,arc=0pt,% +leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] +\subfigure[\heiti gbannote=true] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 16cm 2.8cm,clip=true]{egphoto/opt-gbannote-true.pdf}}}\\ +\subfigure[\heiti gbannote=false] {\parbox{\linewidth}{\includegraphics*[page=1,viewport=1cm 0.2cm 16cm 2.8cm,clip=true]{egphoto/opt-gbannote-false.pdf}}} +\end{tcolorbox} +\caption{文献的附加注释输出控制选项}\label{fig:eg:optgbannote} +\end{figure} + + \pdfbookmark[4]{gbctexset}{gbctexset} \item[gbctexset]=\textbf{true},false. \hfill default is true 为控制参考文献标题内容的设置方式增加的选项。 @@ -467,6 +766,7 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \lstinline[breaklines=true]!\printbibliography[title=title you want]!。 + \pdfbookmark[4]{gbcodegbk}{gbcodegbk} \item[gbcodegbk]=true,\textbf{false}. \hfill default is false 为兼容GBK编码的文档增加的选项。 @@ -477,37 +777,11 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 当在源文档前面增加 XeTeX 原语:\lstinline!\XeTeXinputencoding "GBK"! 后,GBK编码的文档也可以使用xelatex编译,这时应设置为false或不给出该选项。测试文件见: \href{run:example/codeopt-gbcodegbk.tex}{codeopt-gbcodegbk.tex}。 - \item[gbstrict]=\textbf{true},false. \hfill default is true - - 为避免输出bib文件中多余的域信息而增加选项,目的是为了兼容一些bib文件,因为某些bst样式文件进行中英文判断需要在bib文件中增加类似language这样的域作为支撑,而其中某些域在标准的biblatex样式文件中是默认输出的。 - \begin{itemize} - \item gbstrict=true,即默认不输出。 - \item gbstrict=false,需要还原标准样式的输出情况时使用。 - \end{itemize} - - - \item[gbfieldstd]=true,\textbf{false}. \hfill default is false - - 为控制一些域如标题,网址,卷域的格式而增加选项。目的是使用一些标准样式的处理来增加格式多样性。 - \begin{itemize} - \item gbfieldstd=false,即默认使用GB/T 7714-2015要求的样式。 - \item gbfieldstd=true,即还原使用标准样式的格式,比如使用引号,字体,加引导词等。当然要调整这些格式也可采用biblatex提供的更为直接的设置域格式的方式。 - \end{itemize} - - - \item[gbtitlelink]=true,\textbf{false}. \hfill default is false - - 为设置标题的超链接增加的选项。 - \begin{itemize} - \item gbtitlelink=false,即默认不给标题设置超链接。 - \item gbtitlelink=true,当文献存在url 域时为文献标题设置超链接。 - \end{itemize} - 测试文件见: - \href{run:example/opt-gbtitlelink.tex}{opt-gbtitlelink.tex}。 + \pdfbookmark[4]{gbstyle}{gbstyle} \item[gbstyle]=\textbf{true},false. \hfill default is true - 为实现多种样式并存而增加的选项。 + 为实现多种样式并存而增加的选项。仅用于gb7714-2015ms样式中。 \begin{itemize} \item gbstyle=true,即默认全部文献使用gb7714-2015样式。 \item gbstyle=false,仅中文文献使用gb7714-2015样式,其它语言文献使用biblatex默认样式。 @@ -515,21 +789,8 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 该选项的实现原理是把所有国标格式设置局部化到每一条文献打印时,处理时首先判断gbstyle 选项及文献的语言,当满足要求则使用这些局部化格式,否则使用默认的标准样式。这种实现为一篇文档内实现两种样式提供解决思路,尽管目前非中文语言文献的著录格式是标准样式,但只要对标准样式做进一步的修改就可以形成符合某种格式规范的样式,比如像ieee,nature等的样式。因此存在中文使用GB/T 7714-2015 著录格式,而英文文献使用ieee等著录格式的可能性。测试文档见:\href{run:./example/opt-gbstyle.tex}{opt-gbstyle.tex}。 - \item[gblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 - \item[gbcitelocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 - \item[gbbiblocal]=\textbf{gb7714-2015},chinese,english. \hfill default is gb7714-2015 - - 为设置引用标注标签和文献表中的本地化字符串而增加的选项。其中gbcitelocal 用于控制标注中的本地化字符串,而gbbiblocal用于控制文献表中的本地化字符串,gblocal选项等价于同时设置gbcitelocal 和 gbbiblocal。 - 配合\lstinline[breaklines=true]!\DefineBibliographyStrings!命令对本地化字符串进行设置可以实现一些特殊的效果。图\ref{fig:content:fmtc}就是该选项的一个使用示例。 - \begin{itemize} - \item gblocal=gb7714-2015,即默认区分中英文,不同语言采用不同的字符串比如中文使用“等”“和”,而英文使用“et al.”“and”。 - \item gblocal=chinese,强制设置所有的本地化字符串使用中文。 - \item gblocal=english,强制设置所有的本地化字符串使用英文。 - \end{itemize} - 测试文件见: - \href{run:egfigure/egcontentfmtc.tex}{egcontentfmtc.tex}。 - + \pdfbookmark[4]{gbfootbib}{gbfootbib} \item[gbfootbib]=true,\textbf{false}. \hfill default is false 为实现国标样式的脚注文献表格式而增加的选项。 @@ -582,7 +843,7 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 对于表格环境中的引用无法产生脚注文献表的问题,可以将其置于小页环境中实现或者采用前述图标标题中的类似处理方式。 注意:latex核心代码参考latex.ltx,而hyperref代码参考hyperref.STY。 - + \pdfbookmark[4]{gbfnperpage}{gbfnperpage} \item[gbfnperpage]=true,\textbf{false}. \hfill default is false 为脚注计数器根据页码更新而增加的选项。 @@ -594,37 +855,23 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 注意,若要让脚注计数器与其它计数器比如chapter等关联,那么采用latex的常规方法就能解决,比如使用latex内核常用的\verb|\@addtoreset|命令。 - \item[mergedate]=true,false,none. - - 为著者年份制是否在文献表中作者后面输出日期信息而增加了选项值none。 - \begin{itemize} - \item mergedate=true,著者年份制文献表仅在作者后输出日期 - \item mergedate=false,著者年份制文献表在作者后和出版项中输出日期 - \item mergedate=none,著者年份制文献表仅在出版项中输出日期。该选项用于满足中科院大学的著者年份制格式要求。 - \item no mergedate,即不给出该选项,这是gb7714-2015ay默认的情况,仅在作者后输出日期且已经根据国标格式化。 - \end{itemize} - - \item[gblanorder]=\textbf{chineseahead},englishahead,userdefinedstr like:cn;en;ru;fr;jp;kr . \hfill default is chineseahead + \item[gbstrict]=\textbf{true},false. \hfill default is true - 为著者年份制文献不同文种分集排序而增加的选项。 + 为避免输出bib文件中多余的域信息而增加选项,目的是为了兼容一些bib文件,因为某些bst样式文件进行中英文判断需要在bib文件中增加类似language这样的域作为支撑,而其中某些域在标准的biblatex样式文件中是默认输出的。 \begin{itemize} - \item gblanorder=chineseahead,即默认做中文文献在前英文文献在后的排序,各语言顺序为: cn;jp;kr;en;fr;ru。 - \item gblanorder=englishahead,做英文在前中文文献在后的排序,各语言顺序为: en;fr;ru;cn;jp;kr。 - \item gblanorder=自定义字符串,比如cn;en;ru;fr;jp;kr。这是一个用分号分隔的语言缩写名构成的字符串,缩写名的前后顺序代表文献表中文种分集的顺序。 + \item gbstrict=true,即默认不输出。 + \item gbstrict=false,需要还原标准样式的输出情况时使用。 \end{itemize} - 测试文档见:\href{run:./example/opt-gblanorder.tex}{opt-gblanorder.tex}。 - \item[gbannote]=true,\textbf{false}. \hfill default is false + \item[gbfieldstd]=true,\textbf{false}. \hfill default is false - 为控制是否在文献条目后面输出由annotation或annote域提供的注释信息而增加的选项。 + 为控制一些域如标题,网址,卷域的格式而增加选项。目的是使用一些标准样式的处理来增加格式多样性。 \begin{itemize} - \item gbannote=false,即默认不输出。 - \item gbannote=true,输出注释信息。 + \item gbfieldstd=false,即默认使用GB/T 7714-2015要求的样式。 + \item gbfieldstd=true,即还原使用标准样式的格式,比如使用引号,字体,加引导词等。当然要调整这些格式也可采用biblatex提供的更为直接的设置域格式的方式。 \end{itemize} - 测试文档见:\href{run:./example/opt-gbannote.tex}{opt-gbannote.tex}。 - \end{description} @@ -857,7 +1104,7 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \begin{table}[!htb] \centering \caption{著者年份制常用命令示例}\label{tab:cite:authoryear} -\hspace{-1cm}{\parbox{\linewidth}{\includegraphics[scale=0.95]{egciteaytab.pdf}}} +\hspace{-1cm}{\parbox{\linewidth}{\includegraphics[scale=0.95,page=2]{egciteaytab.pdf}}} \end{table} @@ -965,9 +1212,9 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename 用法具体见例\ref{eg:biblist:fontset},结果如图\ref{fig:par:fmt}所示。 测试用例见\href{run:example/testfontinbiblio.tex}{testfontinbiblio.tex}。 -\begin{example}{文献表段落格式、字体、颜色、间距控制}{eg:biblist:fontset} +\begin{example}{文献表段落格式、字体、颜色}{eg:biblist:fontset} \begin{texlist} -% 换行的控制 +% 文献项之间的间隔符控制(比如是否换行) % 选项 block=none , space , par , nbpar , ragged % 或\renewcommand*{\newblockpunct}{\par\nobreak} % 字体的控制:\textit,sl,emph-楷体,\textbf,sf-黑体,\texttt-仿宋,\textsc,md,up-宋体 @@ -979,14 +1226,6 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename \renewcommand{\bibpubfont}{\itshape\color{violet}}% % url和doi字体 \def\UrlFont{\ttfamily} %\urlstyle{sf} %\def\UrlFont{\bfseries} - -% 间距的控制 -\setlength{\bibitemsep}{0ex}\setlength{\bibnamesep}{0ex}\setlength{\bibinitsep}{0ex} -% 文献表中各条文献的缩进控制 -%\setlength{\bibitemindent}{0em} % bibitemindent表示一条文献中第一行相对后面各行的缩进 -%\setlength{\bibhang}{0pt} % 著者-出版年制中 bibhang 表示的各行起始位置到页边的距离,顺序编码制中 bibhang+labelnumberwidth 表示各行起始位置到页边的距离 - -% 标点类型的控制(全局字体能控制标点的字体) \end{texlist} \end{example} @@ -1001,6 +1240,105 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \caption{文献表段落格式示例}\label{fig:par:fmt} \end{figure} +文献表各条目之间的竖直间距控制如例\ref{eg:biblist:vspace}所示: + +\begin{example}{文献表竖直间距控制}{eg:biblist:vspace} +\begin{texlist} +% 竖直间距的控制 +\setlength{\bibitemsep}{0ex} +\setlength{\bibnamesep}{0ex} +\setlength{\bibinitsep}{0ex} +\end{texlist} +\end{example} + +文献表的水平缩进控制,两种编制方式下是不同的。对于著者-出版年制文献表,bibitemindent表示一条文献中第一行相对后面各行的缩进,bibhang 表示页边到文献各行起始位置的距离。因此要调整缩进就是要设置这两尺寸。 + +对于顺序编码制文献表,由于存在数字标签,且其宽度与参考文献数量相关,所以这个宽度是动态变的,无能提前设定的,而是在文献表生成时给出,所以调整缩进需要在文献表输出环境中调整。由于顺序编码样式使用了两类输出环境,所以需要根据设定的选项区分处理: + +一是采用list环境的文献表,即设置gbalign=left、right、center时(即顺序编码标签是左对齐、右对齐和居中对齐的情况),在重定义的文献表环境中,调整bibitemindent和bibhang两个尺寸,默认情况下bibhang+labelnumberwidth的长度是页边到各行起始位置的距离。 + +二是采用正常段落环境的文献表,即设置gbalign=gb7714-2015时(即项对齐情况,就是各条文献是自身对齐的情况),在重定义的命令中通过调整lengthid尺寸来设置每条参考文献第二行开始的缩进距离。 +调整方法见例\ref{eg:biblist:hspace}。 + +\begin{example}{文献表水平缩进控制}{eg:biblist:hspace} +\begin{texlist} +% 著者-出版年制文献表缩进控制 +\setlength{\bibitemindent}{0em} % bibitemindent表示一条文献中第一行相对后面各行的缩进 +\setlength{\bibhang}{0pt} % 著者-出版年制中 bibhang 表示的各行起始位置到页边的距离 + +% 顺序编码制文献表缩进控制 +% 调整顺序标签与文献内容的间距 +\setlength{\biblabelsep}{2mm} + +% 调整各条文献的缩进: +%-1-----gbalign=left、right、center时,重定义 bibenvironment +\defbibenvironment{bibliography}%修改对齐环境-调整缩进 + {\list + {\printtext[labelnumberwidth]{% + \printfield{labelprefix}% + \printfield{labelnumber}}} +{% +%这里是所做的调整,通过设置\bibitemindent,\bibhang调整缩进 +\addtolength{\bibitemindent}{\labelnumberwidth}% +\addtolength{\bibitemindent}{\biblabelsep}% +\addtolength{\bibhang}{-\labelnumberwidth} % +\addtolength{\bibhang}{-\biblabelsep}% + % + %以下是默认的设置 + \setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\labelsep}{\biblabelsep}% + \setlength{\leftmargin}{\bibhang}% + \addtolength{\leftmargin}{\labelnumberwidth}% + \setlength{\itemindent}{\bibitemindent}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{\hss##1}} + {\endlist} + {\item} + +%-2-----gbalign=gb7714-2015时,重定义 \itemcmd命令 +\renewcommand{\itemcmd}{%%修改对齐环境-调整缩进 +\settowidth{\lengthid}{\mkgbnumlabel{\printfield{labelnumber}}} +% +%%这里是所做的调整,以下两句通过调整\lengthid来调整缩进 +\setlength{\lengthid}{0pt} +\addtolength{\lengthid}{-\biblabelsep} +% +%如下是默认设置 +\addtolength{\lengthid}{\biblabelsep} +\setlength{\lengthlw}{\textwidth} +\addtolength{\lengthlw}{-\lengthid} +\addvspace{\bibitemsep}%恢复\bibitemsep的作用 +%\parshape 2 0em \textwidth \lengthid \lengthlw +\hangindent\lengthid +\mkgbnumlabel{\printfield{labelnumber}}% +\hspace{\biblabelsep}} +\end{texlist} +\end{example} + +文献表中有时需要调整标点为中文的全角标点,可以通过不同机制下的标点设置来调整。 +调整方式如例\ref{eg:biblist:separator}所示。有时在本地化字符串中也可以实现标点调整,比如and,in等本地化字符串。有时在域格式中也可能出现标点调整,比如title域格式。而且因为不同语言的处理,可能内部也存在标点的调整。具体情况是比较复杂的,这里不再一一列举,一些修改示例可以参考: +\href{run:./chinese-erj.bbx}{chinese-erj.bbx}, +\href{run:./egthesis/thesis-uibe-numeric.tex}{thesis-uibe-numeric.tex}。具体的标点命令的意义详见biblatex手册。 + +\begin{example}{文献表常见标点控制}{eg:biblist:separator} +\begin{texlist} +% 标点类型的控制(注意:全局字体能控制标点的字体) + +%文献表各条文献中各单元间隔标点设置(与异步标点机制相关的) +\renewcommand*{\newunitpunct}{,}%\addcomma\space %, +\renewcommand*{\finentrypunct}{\iffieldequalstr{userd}{chinese}{。}{\adddot}} + +%姓名格式相关的标点 +\DeclareDelimFormat{nameyeardelim}{,}%\addcomma\addspace +%\DeclareDelimFormat[bib,biblist]{nameyeardelim}{,}%\addcomma\addspace +\DeclareDelimFormat{multinamedelim}{,}%[bib,biblist] +\DeclareDelimFormat{finalnamedelim}{,} +\DeclareDelimFormat{andothersdelim}{,} +\renewcommand*{\revsdnamepunct}{,}% +\end{texlist} +\end{example} + \subsubsection{条目著录格式控制}\label{sec:entry:fmt} 文献表输出的格式即参考文献著录样式,除了整体的段落格式外,还有条目内部的格式可以控制,条目内部的这些项称为著录项,这些著录项的格式通常可由选项控制。可用选项除了biblatex 提供的标准选项外,也包括样式包提供的选项。 @@ -1132,7 +1470,7 @@ sorting=gb7714-2015,gblanorder=chineseahead,sortlocale=zh__pinyin 文献表中文献的排序通常是由处理bib文件的后端程序实施的,比如bibtex或biber程序。通常biblatex选择biber作为后端程序来实现更灵活的排序机制。biber在处理过程中读取bib文件信息并根据biblatex宏包和文献样式在bcf文件中输出设置信息执行排序。而bibtex程序则在读取bib文件后根据bst样式进行排序,尽管可以让bibtex读入特殊格式bib文件来提供一些设置参数,但总的来说基于bibtex的文献排序是由bst样式决定的。而biber程序则是提供了一套工具,具体的排序方式是由biblatex宏包和样式文件中的设置决定的,biber根据这些设置执行特定的逻辑来实现排序。 -biblatex通过sorting选项选择排序模板来进行排序,而排序模板是可以自定义的。 +biblatex通过sorting选项选择排序模板来进行排序,而排序模板是可以自定义的。gb7714-2015及 gb7714-2015ay样式提供了gblanorder选项来选择文种的排列顺序,其本质是对排序模板中与语言相关的域进行设置,因此它是与sorting选项选择的排序模板密切相关的,biblatex提供的标准样式排序模板并不支持该选项。 而sortlocale选项则是针对字符排序选择本地化调整方案,比如选项zh\_\_pinyin就是选择针对中文字符根据拼音进行排序。本地化调整方案是由perl模块提供,中文字符排序的可用选项值详见前面的sortlocale选项说明。需要注意的是本地化字符排序调整方案设置也可以通过biber命令行选项提供,biblatex设置和biber命令行设置两种方式见例\ref{eg:sort:opts}、例\ref{eg:sort:bibercmd}。 @@ -1173,7 +1511,7 @@ biber -l zh__stroke jobname \item[none] 不进行排序。所有的条目按照引用顺序处理。 \end{description} -而gb7741-2015ay样式提供了4个排序模板: +而gb7741-2015和gb7741-2015ay样式提供了4个排序模板: \begin{description} \item[gb7714-2015] 以语言、作者、年份、标题、升序排列 @@ -1182,7 +1520,7 @@ biber -l zh__stroke jobname \item[gbyntd] 以语言、年份、作者、标题、降序排列 \end{description} -在使用gb7714-2015ay样式时可以使用上述排序模板。用户也可以增加自定义模板,比如为了处理多音字的问题,用户可以手动设置key域用来对中文文献进行排序,定义如下的排序模板: +在使用gb7714-2015和gb7714-2015ay样式时可以使用上述排序模板。用户也可以增加自定义模板,比如为了处理多音字的问题,用户可以手动设置key域用来对中文文献进行排序,定义如下的排序模板: \begin{example}{针对多音字问题的排序模板}{eg:sort:multipinyin} \begin{texlist} @@ -1474,7 +1812,7 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \deflength{\textparwd}{\linewidth-1cm} \includegraphics[width=\textparwd]{egmsindfrefsec.pdf} \end{tcolorbox} -\caption{不同参考文献分节采用不同著录样式}\label{fig:eg:ms} +\caption{不同参考文献分节采用不同著录样式}\label{fig:eg:mx} \end{figure} 测试见文档\href{run:egfigure/egmsindfrefsec.tex}{egmsindfrefsec.tex}。 @@ -1818,7 +2156,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建 \subsection{GB/T 7714-2015 标准示例} -详见文档:\href{run:./stdGBT7714-2015.pdf}{GBT7714-2015std} +详见文档:\href{run:./stdGBT7714-2015.pdf}{stdGBT7714-2015.pdf} \subsection{多语言支持相关测试示例} @@ -1869,7 +2207,7 @@ beamer类示例,参见: \href{run:./example/egbeamer.tex}{顺序编码制}; \href{run:./example/testallformat.tex}{testallformat.tex}。 详见文档: -\href{run:./example/stdGBT7714-2015eg.pdf}{GBT7714-2015egstd}, +\href{run:./example/stdGBT7714-2015eg.pdf}{stdGBT7714-2015eg.pdf}, \href{run:./example/stdgbT7714-2015fmt.pdf}{stdgbT7714-2015fmt.pdf}。 @@ -2104,7 +2442,7 @@ author.title[usera].organization/instiution,date或year:pages(date/enddate/event \begin{refentry}{}{} 会议文集的biblatex的entrytype为:proceedings。文献类型标识用C表示。 -\paragraph{其著录格式为} 采用与book类似的格式。 +\bibliofmt{其著录格式为} 采用与book类似的格式。 \end{refentry} \subsubsection{会议文集中析出的文献/inproceedings} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex index 06a16f4e339..b495abd4d84 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015.tex @@ -6,7 +6,9 @@ \includepdf[pages=-]{egfigure/tgbcitation.pdf} -\includepdf[pages=-]{egfigure/tgbcitationay.pdf} +\IfFileExists{egfigure/tngbcitationay.pdf} +{\includepdf[pages=-]{egfigure/tngbcitationay.pdf}} +{\includepdf[pages=-]{egfigure/tngbcitationaynew.pdf}} \includepdf[pages=-]{egfigure/tgbbiblio.pdf} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015ms.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015ms.tex index 2a53a7ed9f4..ffc76f6e268 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015ms.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015ms.tex @@ -6,7 +6,9 @@ \includepdf[pages=-]{egfigure/tgbcitationms.pdf} -\includepdf[pages=-]{egfigure/tgbcitationay.pdf} +\IfFileExists{egfigure/tngbcitationay.pdf} +{\includepdf[pages=-]{egfigure/tngbcitationay.pdf}} +{\includepdf[pages=-]{egfigure/tngbcitationaynew.pdf}} \includepdf[pages=-]{egfigure/tgbbiblioms.pdf} diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015thesis.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015thesis.tex index 7c12dc47a98..80ede4a301b 100644 --- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015thesis.tex +++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/gbT7714-2015thesis.tex @@ -44,8 +44,8 @@ \includepdf[pages=-,addtotoc={1,section,1,UCAS-m,eg:UCASm}]{egthesis/thesis-ucas-m.pdf} -%\addcontentsline{toc}{section}{UCAS} -\includepdf[pages=-,addtotoc={1,section,1,UCAS-x,eg:UCASx}]{egthesis/thesis-ucas-x.pdf} +%\addcontentsline{toc}{section}{UIBE} +\includepdf[pages=-,addtotoc={1,section,1,UIBE,eg:UIBE}]{egthesis/thesis-uibe-numeric.pdf} %\addcontentsline{toc}{section}{USTC} diff --git a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/chinese-erj.bbx b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/chinese-erj.bbx index 7a0646b5627..dbb03b854a6 100644 --- a/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/chinese-erj.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-gb7714-2015/chinese-erj.bbx @@ -75,7 +75,7 @@ %为标注和文献表中标点格式,重设and本地化字符串 %================================================== \DefineBibliographyStrings{english}{ - and = { and }, + and = { and},%and后面的空格在finalnamedelim已经加过了,所以这里去掉20191009 andcn = {、}, andincitecn = {和},%将标注中的分开,便于与文献表中的区分 andincite = {\&}, 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 7bc20e91635..2178050a455 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 @@ -199,12 +199,28 @@ \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} \DeclareDatamodelFields[type=field,datatype=literal]{lansortorder} + %因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型 + %不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时 + %就会出现问题,因此显式的声明一下newspaper,然后保留后面采用alias的方式 + %而standard类型则是采用另一种方式直接在sourcemap中转换为其它类型。 + \@ifpackagelater{biblatex}{2019/11/30}{%2019/12/01 v3.14 + \DeclareDatamodelEntrytypes{newspaper}% + }{} + %===================================================================== % 设置宏包选项 %===================================================================== % + % 增加一个控制是否输出文献载体的选项 + % 20191125,v1,0s,hzz + \newtoggle{bbx:gbmedium} + \DeclareBibliographyOption{gbmedium}[true]{%biblatex低版本 + \settoggle{bbx:gbmedium}{#1}} + \ExecuteBibliographyOptions{gbmedium} + + % % 增加一个控制是否输出annotation域的选项,该域可以用于在文献条目后面输出一些注释信息 % 20190509,v1,0s,hzz \newtoggle{bbx:gbannote} @@ -606,7 +622,39 @@ % numeric样式,不使用该选项,这里给出仅为兼容性考虑 % v1.0q,20190307,hzz % - \DeclareBibliographyOption[string]{gblanorder}[chineseahead]{} + % 增加不同语言排序的切换选项 + % gblanorder=chineseahead的顺序为cn,jp,kr,en,fr,ru + % gblanorder=englishahead的顺序为en,fr,ru,cn,jp,kr + % gblanorder=cn;en;ru;fr;jp;kr的顺序为指定的cn;en;ru;fr;jp;kr,自定义内容可以随意写以分号分隔 + % v1.0q,20190307,hzz + % + \DeclareBibliographyOption[string]{gblanorder}[chineseahead]{% + \ifstrequal{#1}{chineseahead}%%中文在前的顺序 + {\gdef\lancnorder{1}\gdef\lanjporder{2}\gdef\lankrorder{3}% + \gdef\lanenorder{4}\gdef\lanfrorder{5}\gdef\lanruorder{6}}% + {% + \ifstrequal{#1}{englishahead}% + {\execlanodeah\dealsortlan}% + {\execlanodudf{#1}\dealsortlan}% + }% + } + \ExecuteBibliographyOptions{gblanorder} + + \def\execlanodeah{%中文在后的顺序 + \gdef\lancnorder{4} + \gdef\lanjporder{5} + \gdef\lankrorder{6} + \gdef\lanenorder{1} + \gdef\lanfrorder{2} + \gdef\lanruorder{3}} + + \newcounter{lanordernum} + \newcommand{\execlanodudf}[1]{%like:cn;en;ru;fr;jp;kr + \setcounter{lanordernum}{0} + \DeclareListParser{\parsinglanorder}{;} + \renewcommand*{\do}[1]{\stepcounter{lanordernum}\csxdef{lan##1order}{\thelanordernum}} + \parsinglanorder{#1} + } % % 增加本地化字符串的中英文切换选项 @@ -670,7 +718,7 @@ } {% 针对biblatex<3.3版本的选项设置 % 增加不同语言排序的切换选项 - % numeric样式,不使用该选项,这里给出仅为兼容性考虑 + % numeric样式, biblatex 3.4及以下版本不能使用多个stylesourcemap,所以不使用该选项 % v1.0q,20190307,hzz % \DeclareBibliographyOption{gblanorder}[chineseahead]{} @@ -1237,26 +1285,32 @@ \map{%当文献给出language域时,设置文献要使用的本地化字符串的语言 \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] } \map{ \step[fieldsource=language,match=\regexp{(r|R)(u|U)(s|S)(s|S)(i|I)(a|A)(n|N)},final] \step[fieldset=langid,fieldvalue={russian}] + \step[fieldset=lansortorder,fieldvalue=\lanruorder] } \map{% \step[fieldsource=language,match=\regexp{(f|F)(r|R)(e|E)(n|N)(c|C)(h|H)},final] \step[fieldset=langid,fieldvalue={french}] + \step[fieldset=lansortorder,fieldvalue=\lanfrorder] } \map{% \step[fieldsource=language,match=\regexp{(c|C)(h|H)(i|I)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english, \step[fieldset=langid,fieldvalue={english}] + \step[fieldset=lansortorder,fieldvalue=\lancnorder] } \map{% \step[fieldsource=language,match=\regexp{(j|J)(a|A)(p|P)(a|A)(n|N)(e|E)(s|S)(e|E)},final]%中日韩语目前都用english, \step[fieldset=langid,fieldvalue={english}] + \step[fieldset=lansortorder,fieldvalue=\lanjporder] } \map{% \step[fieldsource=language,match=\regexp{(k|K)(o|O)(r|R)(e|E)(a|A)(n|N)},final]%中日韩语目前都用english, \step[fieldset=langid,fieldvalue={english}] + \step[fieldset=lansortorder,fieldvalue=\lankrorder] } } } @@ -1562,6 +1616,42 @@ {\switchversion{3.0}{map}}%%当采用biblatex<=3.2版本时 {\switchversion{3.4}{map}}%%当采用3.3<=biblatex版本时 + +% +% 不同语言分集调整的实现方式 +% +% 原理方法:利用样式层的动态数据修改lansortorder域来实现排序 +\def\dealsortlan{ + \DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite]{%当文献给出language域时,设置文献要使用的本地化字符串的语言 + \step[fieldsource=language,match=english,final] + \step[fieldset=lansortorder,fieldvalue=\lanenorder] + } + \map[overwrite]{ + \step[fieldsource=language,match=russian,final] + \step[fieldset=lansortorder,fieldvalue=\lanruorder] + } + \map[overwrite]{% + \step[fieldsource=language,match=french,final] + \step[fieldset=lansortorder,fieldvalue=\lanfrorder] + } + \map[overwrite]{% + \step[fieldsource=language,match=chinese,final]%中日韩语目前都用english, + \step[fieldset=lansortorder,fieldvalue=\lancnorder] + } + \map[overwrite]{% + \step[fieldsource=language,match=japanese,final]%中日韩语目前都用english, + \step[fieldset=lansortorder,fieldvalue=\lanjporder] + } + \map[overwrite]{% + \step[fieldsource=language,match=korean,final]%中日韩语目前都用english, + \step[fieldset=lansortorder,fieldvalue=\lankrorder] + } + } + } +} + % %驱动别名等价于驱动层映射 % @@ -1579,7 +1669,274 @@ \DeclareBibliographyAlias{map}{manual} \DeclareBibliographyAlias{archive}{manual} +%===================================================================== +% 设置排序格式 +%===================================================================== +% +% 排序格式,用降序,及userb域,针对biblatex3.7及以下版本 +% +\defversion{3.7}{sort}{%这是3.4版的,3.7版略有差异,但不大,后面有注释 + \DeclareSortingScheme{gb7714-2015}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort{%[direction=descending] + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } + %降序的nyt + \DeclareSortingScheme{gbnytd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort[direction=descending]{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } + + %降序的ynt + \DeclareSortingScheme{gbyntd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort[direction=descending]{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } + + %升序的ynt + \DeclareSortingScheme{gbynta}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field[padside=left,padwidth=4,padchar=0]{volume}%3.7版是\field{volume} + \literal{0000}%3.7版是\literal{0} + } + } +} + + +% +% 排序格式,用降序,及userb域,针对biblatex3.8及以上版本 +% +\defversion{3.8}{sort}{ + \DeclareSortingTemplate{gb7714-2015}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort{%[direction=descending] + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + + %降序的nyt + \DeclareSortingTemplate{gbnytd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort[direction=descending]{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + + %降序的ynt + \DeclareSortingTemplate{gbyntd}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort[direction=descending]{ + \field{sortyear} + \field{year} + } + \sort{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } + + %升序的ynt + \DeclareSortingTemplate{gbynta}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{lansortorder}%language + } + \sort{%[direction=ascending] + \field{sortyear} + \field{year} + } + \sort{% + \field{sortname} + \field{author} + \field{editor} + \field{translator} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + } +} + + +\ifboolexpr{ +test {\iftoggle{iftlfive}} +or +test {\iftoggle{iftlsix}} +or +test {\iftoggle{iftlseven}}%biblatex<=3.7 +}{\switchversion{3.7}{sort}}{\switchversion{3.8}{sort}}%3.8<=biblatex %===================================================================== % 参考文献表环境 @@ -1708,7 +2065,8 @@ % 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% -\iftoggle{bbx:url}% +\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]}}% @@ -1716,31 +2074,36 @@ {\ifentrytype{online}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% - }% + }}% + {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% } % % 新增用于报纸的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflagn}{%用于报纸newspaper -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak N\printtext{]}\nobreak}% } % % 新增用于标准的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflags}{%用于标准standard -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak S\printtext{]}\nobreak}% } % 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 e0609f60a15..d6d9a84174d 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 @@ -196,12 +196,26 @@ \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} \DeclareDatamodelFields[type=field,datatype=literal]{lansortorder} - + %因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型 + %不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时 + %就会出现问题,因此显式的声明一下newspaper,然后保留后面采用alias的方式 + %而standard类型则是采用另一种方式直接在sourcemap中转换为其它类型。 + \@ifpackagelater{biblatex}{2019/11/30}{%2019/12/01 v3.14 + \DeclareDatamodelEntrytypes{newspaper}% + }{} %===================================================================== % 设置宏包选项 %===================================================================== % + % 增加一个控制是否输出文献载体的选项 + % 20191125,v1,0s,hzz + \newtoggle{bbx:gbmedium} + \DeclareBibliographyOption{gbmedium}[true]{%biblatex低版本 + \settoggle{bbx:gbmedium}{#1}} + \ExecuteBibliographyOptions{gbmedium} + + % % 增加一个控制是否输出annotation域的选项,该域可以用于在文献条目后面输出一些注释信息 % 20190509,v1,0s,hzz \newtoggle{bbx:gbannote} @@ -1805,6 +1819,7 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 \setlength{\bibhang}{1em} \newlength{\bibitemindent} \setlength{\bibitemindent}{-\bibhang} +\setlength{\bibitemsep}{4.5pt} \defbibenvironment{bibliography} {\list {} @@ -1841,7 +1856,8 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 % 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% -\iftoggle{bbx:url}% +\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]}}% @@ -1849,33 +1865,36 @@ test {\iftoggle{iftlseven}}%biblatex<=3.7 {\ifentrytype{online}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% - }% + }}% + {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% } - % % 新增用于报纸的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflagn}{%用于报纸newspaper -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak N\printtext{]}\nobreak}% } - % % 新增用于标准的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflags}{%用于标准standard -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak S\printtext{]}\nobreak}% } % 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 13d158fd938..0efdddd18d8 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 @@ -87,12 +87,26 @@ \DeclareDatamodelFields[type=field,datatype=literal]{shortbooktitle} \DeclareDatamodelFields[type=field,datatype=literal]{lansortorder} - + %因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型 + %不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时 + %就会出现问题,因此显式的声明一下newspaper,然后保留后面采用alias的方式 + %而standard类型则是采用另一种方式直接在sourcemap中转换为其它类型。 + \@ifpackagelater{biblatex}{2019/11/30}{%2019/12/01 v3.14 + \DeclareDatamodelEntrytypes{newspaper}% + }{} %===================================================================== % 设置宏包选项 %===================================================================== % + % 增加一个控制是否输出文献载体的选项 + % 20191125,v1,0s,hzz + \newtoggle{bbx:gbmedium} + \DeclareBibliographyOption{gbmedium}[true]{%biblatex低版本 + \settoggle{bbx:gbmedium}{#1}} + \ExecuteBibliographyOptions{gbmedium} + + % % 增加一个控制是否输出annotation域的选项,该域可以用于在文献条目后面输出一些注释信息 % 20190509,v1,0s,hzz \newtoggle{bbx:gbannote} @@ -1302,7 +1316,8 @@ % 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% -\iftoggle{bbx:url}% +\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]}}% @@ -1310,31 +1325,36 @@ {\ifentrytype{online}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% - }% + }}% + {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% } % % 新增用于报纸的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflagn}{%用于报纸newspaper -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak N\printtext{]}\nobreak}% } % % 新增用于标准的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflags}{%用于标准standard -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak S\printtext{]}\nobreak}% } % 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 d92ac1daf92..81cf2b95b8e 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 @@ -27,6 +27,13 @@ % 功能函数 %===================================================================== % + % 增加一个控制是否输出文献载体的选项 + % 20191125,v1,0s,hzz + \newtoggle{bbx:gbmedium} + \DeclareBibliographyOption{gbmedium}[true]{%biblatex低版本 + \settoggle{bbx:gbmedium}{#1}} + \ExecuteBibliographyOptions{gbmedium} + % % 增加一个控制是否输出annotation域的选项,该域可以用于在文献条目后面输出一些注释信息 % 20190509,v1,0s,hzz \newtoggle{bbx:gbannote} @@ -110,7 +117,13 @@ \DeclareDatamodelFields[type=field,datatype=integer]{aysections} \DeclareDatamodelFields[type=field,datatype=literal]{styleaysection} - + %因为biblatex更新3.14版本以后,biber对于为声明数据模型的条目类型 + %不再默认读取,而是以空字符串作为条目类型名,自然在条目定义alias时 + %就会出现问题,因此显式的声明一下newspaper,然后保留后面采用alias的方式 + %而standard类型则是采用另一种方式直接在sourcemap中转换为其它类型。 + \@ifpackagelater{biblatex}{2019/11/30}{%2019/12/01 v3.14 + \DeclareDatamodelEntrytypes{newspaper}% + }{} @@ -1591,7 +1604,8 @@ % 而[]中间的内容,从4.6.2节的例子看也是可以分割的,因此内部的nobreak也可以去掉 % \DeclareFieldFormat{gbtypeflag}{% -\iftoggle{bbx:url}% +\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]}}% @@ -1599,31 +1613,36 @@ {\ifentrytype{online}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\texttt{/}OL]}}% {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}}% - }% + }}% + {\nobreak\printtext{[}\nobreak#1\nobreak\printtext{]}}% } % % 新增用于报纸的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflagn}{%用于报纸newspaper -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak N\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak N\printtext{]}\nobreak}% } % % 新增用于标准的文献类型标识符的格式 % \DeclareFieldFormat{gbtypeflags}{%用于标准standard -\iftoggle{bbx:url}% +\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}% }% {\nobreak\printtext{[}\nobreak S\printtext{\iffieldundef{medium}{}{\texttt{/}\thefield{medium}}]}\nobreak}% +}{\nobreak\printtext{[}\nobreak S\printtext{]}\nobreak}% } % |