summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex')
-rw-r--r--Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex302
1 files changed, 79 insertions, 223 deletions
diff --git a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex
index e0d7603ff0b..ba15efb86e8 100644
--- a/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex
+++ b/Master/texmf-dist/doc/latex/biblatex-gb7714-2015/biblatex-gb7714-2015-content.tex
@@ -102,7 +102,7 @@ biblatex-gb7714-2015宏包除了提供严格遵守GB/T 7714-2015标准的格式
笔者从最初开始学习latex时利用 thebibliography 环境生成参考文献,到对格式化有更多需求后开始寻求利用参考文献宏包,再到最后选择使用biblatex宏包,越发感觉到biblatex 在生成参考文献方面的巨大潜力。经过大量实践,总结其优点如下:
%[也由于对bibtex语言不熟悉,偷懒不想学$( \hat{} \bot \hat{} )$]
\begin{enumerate}
-\item 使用简单。样式随宏包加载,参考文献源bib文件利用addbibresource加载,打印文献表利用printbibliography命令可以在文档任意位置打印。参考文献只需三步编译,第一遍xelatex,第二遍biber,第三遍xelatex,当然如果需要反向超链接,除设置backref 选项外,还需要第四遍xelatex。例\ref{eg:compile:cmd} 给出编译命令,其中--synctex=-1 选项也可以是-synctex=1。而且这四步命令可以用一条命令latexmk -xelatex jobname.tex 代替。
+\item 使用简单。样式随宏包加载,参考文献源bib文件利用addbibresource加载,打印文献表利用printbibliography命令可以在文档任意位置打印。参考文献只需三步编译,第一遍xelatex,第二遍biber,第三遍xelatex,当然如果需要反向超链接,除设置backref 选项外,还需要第四遍xelatex。例\ref{eg:compile:cmd} 给出编译命令,其中--synctex=-1 选项也可以是-synctex=1。而且这四步命令可以用一条命令latexmk -xelatex jobname.tex 代替。除使用xelatex进行编译外,也可以使用pdflatex进行编译,但要注意的是pdflatex编译可能因为某些样式比如authoryear,使用了xstring宏包中的一些命令而导致错误,但numeric类样式通常没有问题。该问题在biblatex更新到3.12版本后取消xstring宏包后得以解决。中文用户编译还需要注意编码问题。utf-8编码的文档,采用xelatex编译没有任何注意事项,但使用pdflatex编译时,需要给ctex宏包加载UTF8选项,比如\verb|\usepackage[UTF8]{ctex}|,该选项在文档类加载时给出也可,比如\verb|\documentclass[[UTF8]{article}|,同时引用文献时使用的引用关键词应使用英文。当文档使用其他编码时,xelatex编译通常需要指定一个文档编码,比如windows环境下的GB2312编码的文档需要指定\verb|\XeTeXinputencoding "GBK"|,否则会显示乱码。使用pdflatex进行编译时,如果biblatex不能正确的处理编码问题,那么需要为其明确的指定texencoding和bibencoding选项。比如windows环境下的GB2312编码的文档,需要指定\verb|\usepackge[texencoding=GBK]{biblatex}|。
\begin{example}{使用biblatex宏包的文档编译命令}{eg:compile:cmd}
\begin{texlist}
@@ -245,12 +245,24 @@ citestyle=gb7714-2015%,backref=true%
\end{texlist}
\end{example}
+\begin{example}{不同著录格式共存的样式(gb7714-2015ms)加载方式}{eg:gb7714ms}
+\begin{texlist}
+%默认方式,所有文献使用一种著录格式,即GB/T 7714-2015样式
+\usepackage[backend=biber,style=gb7714-2015ms]{biblatex}
+%设置gbstyle=false,则中文文献使用GB/T 7714-2015著录格式,而其它语言文献使用biblatex提供的标准样式
+\usepackage[backend=biber,style=gb7714-2015ms,gbstyle=false]{biblatex}
+\end{texlist}
+\end{example}
+
\begin{example}{参考文献文本转换为bib文件perl脚本使用方式}{eg:transtobib}
\begin{texlist}
perl gb7714texttobib.pl in=textfilename out=bibfilename
\end{texlist}
\end{example}
+其中,v1.0m版本增加了gb7714-2015ms样式文件,主要是为了在一个文档中使用多种样式,比如中文文献使用GB/T 7714-2015规定的著录格式,而其它语言文献使用biblatex提供的标准样式。这种方式尽管不会很常用,但既然有需求提出,那么就做了实现。主要的实现原理是把所有的GB/T 7714-2015 规定产生的格式修改局部化到每一条文献打印时处理,此时先判断gbstyle选项及文献的语言,当满足要求则使用这些局部化格式修改,否则使用默认的标准样式。这种实现为一篇文档内实现两种样式提供了思路,尽管目前其它语言文献的著录格式是标准样式,但只要对其做格式修改就可以形成符合某种格式规范的样式,比如像ieee,nature等样式都是可以实现的,因此存在中文使用GB/T 7714-2015 著录格式,而英文文献使用ieee等著录格式的可能性。测试文档见:
+\href{run:./example/opt-gbstyle.tex}{opt-gbstyle.tex}。
+
\subsubsection{新增选项}\label{sec:added:opt}
样式包新增了一些选项,用于标签对齐方式、出版项缺省处理、责任者(作者)缺省处理等功能的控制,其使用方式与biblatex宏包选项完全相同:
\begin{description}
@@ -264,15 +276,13 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
\item gbalign=gb7714-2015,是项对齐方式,即段落环境中标签使用原始宽度,标签与条目内容等间距。
\end{itemize}
该选项对作者年制无效。顺序编码制序号标签对齐方式测试,
- 右对齐见:
- \href{run:./example/testalignright.tex}{testalignright.tex},
- %\href{run:./example/egalignright.pdf}{egalignright.pdf}。
- 左对齐见:
- \href{run:./example/testalignleft.tex}{testalignleft.tex},
- %\href{run:./example/egalignleft.pdf}{egalignleft.pdf}。
- 项对齐见:
- \href{run:./example/testaligngb7714-2015.tex}{testaligngb7714-2015.tex}。
- %\href{run:./example/egaligngb7714-2015.pdf}{egaligngb7714-2015.pdf}。
+ 数字在标签内居中见:
+ \href{run:./example/opt-gbalign-center.tex}{opt-gbalign-center.tex},
+ 标签左对齐见:
+ \href{run:./example/opt-gbalign-left.tex}{opt-gbalign-left.tex},
+ 项对齐(标签与内容等间距)见:
+ \href{run:./example/opt-gbalign-gb.tex}{opt-gbalign-gb.tex}。
+
\item[gbpub]=\textbf{true},false. \hfill default is true
@@ -282,10 +292,9 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
\item gbpub=false 则取消自动处理,使用标准样式的方式取消相应项的输出。
\end{itemize}
顺序编码制测试(作者年制类似)见:
- \href{run:./example/testgbpubtrue.tex}{testgbpubtrue.tex},
- %\href{run:./example/eggbpubtrue.pdf}{eggbpubtrue.pdf}。
- \href{run:./example/testgbpubfalse.tex}{testgbpubfalse.tex},
- %\href{run:./example/eggbpubfalse.pdf}{eggbpubfalse.pdf}。
+ \href{run:./example/opt-gbpub-true.tex}{opt-gbpub-true.tex},
+ \href{run:./example/opt-gbpub-false.tex}{opt-gbpub-false.tex}。
+
\item[gbbiblabel]=\textbf{bracket},parens,plain,dot,box,circle. \hfill default is bracket
@@ -304,13 +313,12 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
为作者年制增加的选项,用于控制责任者缺失时的处理。
\begin{itemize}
\item gbnoauthor=false,当作者信息缺失时默认不做处理,使用标准样式的处理方式;
- \item gbnoauthor=true,则根据GB/T 7714-2015 的要求进行处理,中文文献使用佚名来代替author,英文文献用 NOAUTHOR 来代替author。
+ \item gbnoauthor=true,则根据GB/T 7714-2015 的要求进行处理,中文文献使用佚名来代替author,英文文献用 Anon 来代替author。
\end{itemize}
测试结果见:
- \href{run:./example/testgbnoauthortrueay.tex}{testgbnoauthortrueay.tex},
- %\href{run:./example/eggbnoauthortrueay.pdf}{eggbnoauthortrueay.pdf}。
- \href{run:./example/testgbnoauthorfalseay.tex}{testgbnoauthorfalseay.tex},
- %\href{run:./example/eggbnoauthorfalseay.pdf}{eggbnoauthorfalseay.pdf}。
+ \href{run:./example/opt-gbnoauthor-true.tex}{opt-gbnoauthor-true.tex},
+ \href{run:./example/opt-gbnoauthor-false.tex}{opt-gbnoauthor-false.tex}。
+
\item[gbnamefmt]=\textbf{uppercase},lowercase,givenahead,familyahead,pinyin. \hfill default is uppercase
@@ -325,9 +333,8 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
\bc{注意:还可以利用 nameformat 域为某一具体条目设置该条目的姓名格式,比如:要在一个文献表中实现英文文献是givenahead 格式,而拼音的文献是pinyin风格,那么可以设置拼音文献的 nameformat 域为pinyin,而gbnamefmt设置为givenahead。条目中nameformat 域的局部设置优先于gbnamefmt的全局设置。}\par
\emph{注意:使用pinyin选项时,bib文件中文献的作者应给出完整的名而不是缩写,否则出来的效果未必令人满意}。
测试结果见:
- \href{run:./example/testgbnamefmt.tex}{testgbnamefmta.tex},
- \href{run:./example/testcitenum.tex}{testcitenum.tex},
- \href{run:./example/testciteay.tex}{testciteay.tex}。
+ \href{run:./example/opt-gbnamefmt.tex}{opt-gbnamefmt.tex},
+ \href{run:./example/opt-gbnamefmt-default.tex}{opt-gbnamefmt-default.tex}。
\item[gbtype]=\textbf{true},false. \hfill default is true
@@ -375,8 +382,7 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
\item gbcodegbk=true,为利用pdflatex/latex编译GBK编码文档时使用。
\end{itemize}
当在源文档前面增加 XeTeX 原语:\lstinline!\XeTeXinputencoding "GBK"! 后,GBK编码的文档也可以使用xelatex编译,这时应设置为false或不给出该选项。测试文件见:
- \href{run:example/filecodegbkeg.tex}{filecodegbkeg.tex},
- \href{run:example/filecodeutfeg.tex}{filecodeutfeg.tex}。
+ \href{run:example/codeopt-gbcodegbk.tex}{codeopt-gbcodegbk.tex}。
\item[gbstrict]=\textbf{true},false. \hfill default is true
@@ -404,7 +410,7 @@ perl gb7714texttobib.pl in=textfilename out=bibfilename
\item gbtitlelink=true,当文献存在url 域时为文献标题设置超链接。
\end{itemize}
测试文件见:
- \href{run:example/testopttitlelink.tex}{testopttitlelink.tex}。
+ \href{run:example/opt-gbtitlelink.tex}{opt-gbtitlelink.tex}。
\end{description}
@@ -624,7 +630,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\end{tabular}
\end{table}
-需要注意的是,note域在本样式中也做特殊用途,即在book类型的note域中输入standard表示标准,在aritcle类型的note域中输入news表示报纸,当然也可以不做特殊用,而只是表示杂项信息,因为标准和报纸可以用standard和newspaper类型表示,尽管这两种类型不是biblatex原生的条目类型。而usera域用于表示参考文献类型和载体标识符(为兼容Lee zeping的bst样式使用的bib文件也可以用mark和medium表示)。一般情况下usera,mark,medium这些域不用在bib文件中输入,而由样式文件自动处理得到,既为了使bib文件更纯粹,也为了兼容不同的样式。想象一下如果在bib文件中给出usera域,但另一样式需要使用usera域且用途不同,那么就会有兼容性问题。不用手动输入更重要的目的是为用户减负,因为用户可以直接使用从网络(各种学术)导出参考文献信息而不用再额外添加一个参考文献类型和载体标识符。本宏包自动判断语言而不使用一个表示语言的域比如language来标记文献的语言类型也出于同样的考虑,当然也有一种情况即一篇文献中存在多中语言是无法用一个language标识的,比如一本英文著作被翻译为中文,那么原作者是英文,而译者则是中文,这时标记language的意义不大。标记language更多的是用在多种语言混合的文档中,可以用language来标记英语、中文、日语、法语和德语等用于分语言排序。
+需要注意的是,note域在本样式中也做特殊用途,即在book类型的note域中输入standard表示标准,在aritcle类型的note域中输入news表示报纸,当然也可以不做特殊用,而只是表示杂项信息,因为标准和报纸可以用standard和newspaper类型表示,尽管这两种类型不是biblatex原生的条目类型。而usera域用于表示参考文献类型和载体标识符(为兼容Lee zeping的bst样式使用的bib文件也可以用mark和medium表示)。一般情况下usera,mark,medium这些域不用在bib文件中输入,而由样式文件自动处理得到,既为了使bib文件更纯粹,也为了兼容不同的样式。想象一下如果在bib文件中给出usera域,但另一样式需要使用usera域且用途不同,那么就会有兼容性问题。不用手动输入更重要的目的是为用户减负,因为用户可以直接使用从网络(各种学术)导出参考文献信息而不用再额外添加一个参考文献类型和载体标识符。本宏包自动判断语言而不使用一个表示语言的域比如language来标记文献的语言类型也出于同样的考虑,当然也有一种情况即一篇文献中存在多种语言是无法用一个language标识的,比如一本英文著作被翻译为中文,那么原作者是英文,而译者则是中文,这时标记language的意义不大。标记language更多的是用在多种语言混合的文档中,可以用language来标记英语、中文、日语、法语和德语等用于分语言排序。
各个数据域的录入应符合bib文件规范。\bc{需要注意: 有时直接从网络获取的参考文献信息中可能带有一些特殊字符比如\%,\&等,这些字符在 tex 中通常需要做转义处理,本样式中对像title,journal等常见域中出现的特殊字符已经做了转义,但是一些不常见的域比如 abstract 等没有考虑,所以用户需要手动处理,例如把\%改为\textbackslash \%,否则可能导致出错}。下面详细介绍本样式中使用的域及其数据录入方式:
@@ -685,9 +691,9 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\item[version] 用于report和manual的版本信息,直接输入需要打印的内容。
\item[mark/usera] 不用输入,自动处理。也可以输入文献类型标识符比如M, J, DB, CP等。
\item[medium] 不用输入,自动处理。也可以输入文献载体标识符比如MT, DK, CD, OL 等。
- \item[language] 不用输入,自动处理。也可以输入语言类型比如english, russian, french, japnese, korean, chinese等。
- \item[langid] 不用输入,自动处理。也可以输入语言名比如english, russian, french等,中日韩语一般用english。
- \item[nameformat] 不用输入。当需要调整当前条目的作者姓名的格式时,可以输入格式名:uppercase, lowercase, givenahead, familyahead, pinyin等。
+ \item[language] 不用输入,自动处理。也可以输入语言类型比如english, russian, french, japnese, korean, chinese等。主要用来标识文献的语言类型,用法详见\ref{sec:multilan:combine}节。
+ \item[langid] 不用输入,自动处理。也可以输入语言名比如english, russian, french等,中日韩语一般用english。主要用于配合babel等宏包进行文献的本地化字符串处理,用法详见\ref{sec:multilan:combine}节。
+ \item[nameformat] 不用输入。当需要调整当前条目的作者姓名的格式时,可以输入格式名:uppercase, lowercase, givenahead, familyahead, pinyin等。详见\ref{sec:added:opt}节。
\item[namefmtid] 不用输入。
\end{description}
@@ -712,7 +718,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
%作者年制的参考文献样式则基于标准样式authoryear修改。
\paragraph{作者年制样式}中各条参考文献条目以作者-年为标签以一定的顺序排列。作者年制的著录格式与顺序编码制基本相同(除了把年份提到了作者后面作为文献条目内的标签)。数据源bib文件中各条目的数据录入与顺序编码制完全一致。
-\qd{作者年制有分文种文献集中的要求,因此gb7714-2015排序模板以nyt模板为基础,增加 language 作为 name 前的排序域。默认情况下,本样式文件将标题(或作者)为中文的文献的 language 域设置成 chinese,英文的设置成 enlish。这一设置过程,在biber 处理时自动完成。当出现问题或者有更多文种分集且有特殊顺序时,可以在bib文件中为相应文种文献的 language 域手动设置适合排序的字符串。比如: 中文文献设置为 chinese,英文文献设置为 enlish,法文文献设置为 french,那么排序中,相应的中文文献排在最前面,英文文献在中间,法文文献最后,因为升序情况下字母顺序是c然后e然后f。}
+\qd{作者年制有分文种文献集中的要求,因此gb7714-2015排序模板以nyt模板为基础,增加 language 作为 name 前的排序域。默认情况下,本样式文件将标题(或作者)为中文的文献的 language 域设置成 chinese,英文的设置成 english。这一设置过程,在biber 处理时自动完成。当出现问题或者有更多文种分集且有特殊顺序时,可以在bib文件中为相应文种文献的 language 域手动设置适合排序的字符串。比如: 中文文献设置为 chinese,英文文献设置为 enlish,法文文献设置为 french,那么排序中,相应的中文文献排在最前面,英文文献在中间,法文文献最后,因为升序情况下字母顺序是c然后e然后f。}
%上一段2016-1114更新,下面是以前的说法。
%\qd{根据文种文献集中的要求,修改了nyt排序格式,增加了userb作为name前的排序域,当有需求进行多文种分集且有特殊顺序时,在bib文件中给相应文种的文献设置适合排序的字符串。比如中文文献设置为cn,英文文献设置为en,法文文献设置为fr,那么排序中,相应的中文文献排在最前面,英文文献在中间,法文文献最后,因为升序情况下字母顺序是c然后e然后f。}
@@ -759,8 +765,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
%顺序编码制的标注样式文件大体使用标准引用样式numeric-comp的内容
\paragraph{顺序编码制的标注样式} 大体使用标准标注样式numeric,仅对cite等部分命令做了修改。为满足GB/T 7714-2015第10.1.3节的要求,增加了pagescite命令。为方便在同一文章中同时使用上标和非上标的标注方式,仅将cite命令修改为上标模式,而parencite保留标准样式提供的非上标模式。为使用户免于输入文献作者来作为句子主语,完善了textcite命令并增加了authornumcite命令以同时输出作者和顺序编码。
使用方式如例\ref{eg:citefornumeric}所示。
-测试文档见\href{run:example/testtextcite.tex}{testtextcite.tex},
-\href{run:example/testcitenum.tex}{testcitenum.tex}。
+测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
\begin{example}{顺序编码制cbx样式命令使用说明}{eg:citefornumeric}
\begin{texlist}
@@ -789,8 +794,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
%作者年制的标注样式文件大体使用标准引用样式authoryear的内容。
\paragraph{作者年制的标注样式} 情况类似。对cite,parencite进行了修改,将引用标签用圆括号括起来。为满足GB/T 7714-2015第10.2.4节的要求,增加了pagescite命令。为满足GB/T 7714-2015第10.2.1节的要求,增加了yearpagescite,yearcite命令用于处理文中已有作者信息只需要年份和页码的情况(为兼容性考虑,顺序编码制也给出该命令,但作用与pagescite命令相同),也完善了textcite命令为句子提供主语。
使用方式如例\ref{eg:citeforauthoryear}所示。
-测试文档见\href{run:example/testtextciteay.tex}{testtextciteay.tex},
-\href{run:example/testciteay.tex}{testciteay.tex}。
+测试文档见\href{run:example/testallformat.tex}{testallformat.tex}。
\begin{example}{作者年制cbx样式命令使用说明}{eg:citeforauthoryear}
@@ -814,7 +818,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\end{texlist}
\end{example}
-各引用命令的效果见\ref{sec:test:book}节。%\ref{sec:cite:cmd:test}
+%各引用命令的效果见\ref{sec:test:book}节。%\ref{sec:cite:cmd:test}
\subsubsection{样式使用的注意事项}
@@ -822,7 +826,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\item 本样式包的设计与实现方法以及设计到的一些biblatex功能介绍,以项目示例的形式总结在
\href{https://github.com/hushidong/biblatex-solution-to-latex-bibliography}{\LaTeX 文档中文参考文献的biblatex解决方案}中,本文档不再重复给出,有需要了解的用户可以参见其中的第3.1节。
- \item 当tex源文档采用UTF-8编码时,可以采用xelatex编译。当tex源文档为GBK 编码时,可以利用notepad++ 或notepad2 等编辑器将其转换为UTF-8编码,然后用xelatex编译,或者也可以直接利用pdflatex或latex进行编译,本样式已经做了支持。
+ \item 当tex源文档采用UTF-8编码时,可以采用xelatex编译。当tex源文档为GBK 编码时,可以利用notepad++ 或notepad2 等编辑器将其转换为UTF-8编码,然后用xelatex编译,或者也可以直接利用pdflatex或latex进行编译,本样式已经做了支持。编译时需要的一些特殊处理见前述的编译命令介绍内容。
%增加了对GBK支持的说明,2018-05-11
\item 当顺序编码和作者年制切换,或者biblatex版本切换,或者不同样式切换时,如果编译出错,可先清理一下辅助文件,完成后再重新编译。
@@ -834,7 +838,9 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
%上一段2016-1114更新,下面这段是旧的说法,
%通过定义DeclareSortingScheme\{nyt\},设置方向为direction=descending,可以实现中文在前英文在后但两个文种的文献各自也是降序的。还有一种变通的方法是,在录入bib文件时,在userb域填入用于排序的信息,比如需要排前面中文文献填cn,排后面的英文文献用en。这样因为修改后的排序格式nyt会在author域前先用userb进行排序,自然会把中文文献放在前面。
- \item 当出版地和出版者同时缺省时,GB/T 7714-2015中没有给出明确的说明,但英文给出了一个例子(见GB/T 7714-2015 附录A.3)而中文没有,英文的形式是[S.l. : s.n.],这种形式本样式没有给出,而直接用两者分开的形式,[S.l.] : [s.n.]
+ \item 当出版地和出版者同时缺省时,GB/T 7714-2015中没有给出明确的说明,但英文给出了一个例子(见GB/T 7714-2015 附录A.3)而中文没有,英文的形式是[S.l. : s.n.],因此中文也考虑类似的格式[出版地不详 : 出版者不详]。
+
+ %,这种形式本样式没有给出,而直接用两者分开的形式,[S.l.] : [s.n.]
%事实上这里作者认为没有必要把s.l.和s.n. 合起来,不仅与缺省两者之一的情况不统一,样式处理起来也增加不必要的麻烦。
@@ -863,7 +869,7 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\subsection{gb7714-2015样式的多语言支持}\label{sec:multilan:implement}
-\subsubsection{多语言混合文献}
+\subsubsection{多语言混合文献}\label{sec:multilan:combine}
一般情况中,在国内不太会超过两种语言混合的情况,比如中英文混合的情况。但有时可能也会存在多种语言,比如存在中/英/日/俄这种多语言环境。
@@ -880,8 +886,10 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\end{enumerate}
本样式做了中日韩英俄法六种语言的测试,详细内容见:
-\href{run:example/testmultilan.tex}{testmultilan.tex},
-\href{run:example/testmultilanay.tex}{testmultilanay.tex}。
+\href{run:example/opt-eg-multilan.tex}{opt-eg-multilan.tex},
+\href{run:example/opt-autolang-multilan.tex}{opt-autolang-multilan.tex}。
+
+
\subsubsection{多语言对照文献表}
@@ -899,7 +907,9 @@ bib文件中的参考文献信息是以条目形式组织,一篇文献创建
\end{texlist}
\end{example}
-得到的参考文献打印结果见\ref{sec:test:book}节。\bc{在biblatex v3.8及以上版本中,因为set条目类型除了子条目关键词信息外,并无其他信息,因此它的标注标签通常会是空的。这个问题目前的解决方法是设置一个指定格式和内容中间无空格无英文逗号的关键字,用它来作为标签。这个问题与biblatex版本升级有关,biblatex v3.7及之前版本没有这个问题,因为这些版本中 set 中带有第一个子条目的信息}。比如:
+测试见文档\href{run:example/testallformat.tex}{testallformat.tex}。
+
+\bc{在biblatex v3.8及以上版本中,因为set条目类型除了子条目关键词信息外,并无其他信息,因此它的标注标签通常会是空的。这个问题目前的解决方法是设置一个指定格式和内容中间无空格无英文逗号的关键字,用它来作为标签。这个问题与biblatex版本升级有关,biblatex v3.7及之前版本没有这个问题,因为这些版本中 set 中带有第一个子条目的信息}。比如:
\begin{example}{设置set条目集用于双语文献动态方法}{eg:setforbilangentry}
\begin{texlist}
\defbibentryset{易仕和,等,2013}{易仕和2013--,Yi2013--}
@@ -985,8 +995,7 @@ language={chinese}
{biblatex-solution-to-latex-bibliography}。
双语对照文献的两种动态方法基于set和related的方法测试,参见:
-\href{run:./example/testaligngb7714-2015ay.tex}{testaligngb7714-2015ay.tex},
-%\href{run:./example/egaligngb7714-2015ay.pdf}{egaligngb7714-2015ay.pdf}。
+\href{run:./example/opt-eg-authoryear.tex}{opt-eg-authoryear.tex}。
\section{GB/T 7714-2015 标准说明与实现}
@@ -1001,7 +1010,7 @@ GB/T 7714-2015规定采用顺序编码制组织参考文献时,各篇文献应
同一处引用多篇文献,各篇序号间用逗号隔开,遇连续序号,起讫序号用短横线连接。
-多次引用同一著者的同一文献时,可在序号的方括号外著录该文献引文页码,这一要求与引用(标注)样式无关,需要作者在写文档时使用相应的引用命令并在需要时输入页码信息。针对这一要求,在cite等常用命令基础上,新定义了一个引用命令pagescite,其使用方式详见第\ref{sec:cbx:usage}节。其标注效果见第\ref{sec:test:book}节。标注样式更详细要求参考GB/T 7714-2015 第10.1节。
+多次引用同一著者的同一文献时,可在序号的方括号外著录该文献引文页码,这一要求与引用(标注)样式无关,需要作者在写文档时使用相应的引用命令并在需要时输入页码信息。针对这一要求,在cite等常用命令基础上,新定义了一个引用命令pagescite,其使用方式详见第\ref{sec:cbx:usage}节。标注样式更详细要求参考GB/T 7714-2015 第10.1节。
如果顺序编码制采用脚注方式,则序号由计算机自动生成圈码。多次引用同一著者的同一文献时,若采用脚注方式应重复著录参考文献(这里可以理解为,采用该方式,同一文献的不同页码的引文就相当于一篇新的引文),只是在参考文献列表中可以简化(当然不进行简化,简单复制后录入对于latex的参考文献处理其实更方便)。事实上对于顺序编码用脚注方式,GB/T 7714-2015并没有详细说明脚注方式到底是什么?从举例看只是序号用类似于脚注的标签,那么对于参考文献样式来说,与非脚注方式的差别仅在于引用和参考文献条目的序号标签的差别,如此是容易通过修改样式文件得到的,但实际使用中除非有特殊要求,否则使用意义不大,因此本样式没有实现该功能。
@@ -1028,12 +1037,12 @@ GB/T 7714-2015规定采用作者年制组织时,各篇文献首先按文种组
标注要求具体参考GB/T 7714-2015第10.2节。
-\qd{一般情况下,当文献作者缺省时,作者年制就没有作者可以用,因此文献题名用来生成标签,这样会导致文献表中文献题名后的文献类型标识/文献载体标识消失(这是因为题名用于生成标签后,题名域会被清除,自然也就不输出题名相关的信息了,见后面的示例文献“\hyperlink{entrystdwithoutauthor}{Information and documentation-the Dublin core metadata element set}”)。此时可以用佚名替代缺省作者的方式避免这个问题,即可以使用样式文件提供的选项gbnoauthor=true,一旦设置该选项为true,则缺省的作者会根据文献语种填充为佚名或NOAUTHOR。默认情况下,不进行这种处理,即相当于设置选项gbnoauthor=false。而顺序编码制因为标签是数字序号,所以不存在这个问题。}
+\qd{一般情况下,当文献作者缺省时,作者年制就没有作者可以用,因此文献题名用来生成标签,这样会导致文献表中文献题名后的文献类型标识/文献载体标识消失(这是因为题名用于生成标签后,题名域会被清除,自然也就不输出题名相关的信息了,见后面的示例文献“\hyperlink{entrystdwithoutauthor}{Information and documentation-the Dublin core metadata element set}”)。此时可以用佚名替代缺省作者的方式避免这个问题,即可以使用样式文件提供的选项gbnoauthor=true,一旦设置该选项为true,则缺省的作者会根据文献语种填充为佚名或Anon。默认情况下,不进行这种处理,即相当于设置选项gbnoauthor=false。而顺序编码制因为标签是数字序号,所以不存在这个问题。}
%本样式文件默认情况下采用佚名方式,如果不需要使用佚名,那么需要在样式文件中注释掉一段代码,这段代码在本文档末尾2016-11-14的更新历史中有说明,见\pageref{up:20161114}页。}
\subsection{各类文献在biblatex中对应的条目和域}\label{sec:numeric:data}
-biblatex-gb7714-2015宏包设计的重要原则是要符合GB/T 7714-2015标准。因此根据GB/T 7714-2015的要求并结合biblatex的条目类型和数据域,对各类参考文献做如下考虑:
+biblatex-gb7714-2015宏包设计的重要原则是要符合GB/T 7714-2015标准。因此根据GB/T 7714-2015 的要求并结合biblatex的条目类型和数据域,对各类参考文献做如下考虑:
\subsubsection{专著/book}
\begin{refentry}{}{}
专著对应的biblatex的entrytype为:book,文献类型标识用M表示。
@@ -1073,6 +1082,8 @@ author.title[usera](//bookauthor.booktitle).edition.location:publisher,date或ye
\end{texlist}
\end{example}
+需要注意的是: 根据GB/T 7714-2015标准第19页的标准文献示例,当标准不存在出版项时,直接省略。
+
\subsubsection{专著中的析出文献/inbook}
\begin{refentry}{}{}
@@ -1279,7 +1290,7 @@ author.title[usera].translator.type number.version.location:institution,date 或
\subsubsection{英文字母}\label{sec:fmt:lettercase}
\begin{property}{}{}
-为了符合西文文献责任者的字母大小写习惯,本样式通过判断是否存在givenname/firstname来确定是否是个人作者,当存在givenname/firstname 时认为是个人作者,不存在则是机构作者,当是个人作者时familyname/lastname按GB/T 7714-2015 要求全大写,是机构作者则仅大写首字母。所以对于仅有lastname的个人作者,填入信息英文姓的字母请全用大写。个人著者的格式要求见GB/T 7714-2015第6.3节。
+为了符合西文文献责任者的字母大小写习惯,本样式通过判断是否存在givenname/firstname来确定是否是个人作者,当存在givenname/firstname 时认为是个人作者,不存在则是机构作者,当是个人作者时familyname/lastname按GB/T 7714-2015 要求全大写,是机构作者则仅大写首字母。所以对于仅有lastname的个人作者,填入信息英文姓的字母请全用大写。个人著者的格式要求见GB/T 7714-2015 第6.3节。
用户给bib源文件录入出版项、西文期刊名缩写以及西文文献的字母时,应按照GB/T 7714-2015第6.4节,第6.5节,6.6节要求,使用符合要求的习惯用法和大小写方式。本样式使用原样打印的方式进行处理。
@@ -1462,205 +1473,50 @@ and keyword=standard
\printbibliography[heading=subbibliography,type=online,title=【A10-电子资源-著录格式示例】]
\end{refsection}
-\subsection{测试:专著book和专著中的析出文献inbook及标准standard文献}\label{sec:test:book}
-
-专著book和专著中的析出文献inbook及标准standard文献测试,参见:
-
-顺序编码制:
-\href{run:./example/testbooks.tex}{testbooks.tex},
-%\href{run:./example/egbooks.pdf}{egbooks.pdf}。
-
-作者年制:
-\href{run:./example/testbooksay.tex}{testbooksay.tex},
-%\href{run:./example/egbooksay.pdf}{egbooksay.pdf}。
-
-
-\subsection{测试:连续出版物periodical和连续出版物中的析出文献article}
-连续出版物periodical和连续出版物中的析出文献article文献测试,参见:
+\subsection{beamer类中的应用}
-顺序编码制:
-\href{run:./example/testjournal.tex}{testjournal.tex},
-%\href{run:./example/egjournal.pdf}{egjournal.pdf}。
-
-作者年制:
-\href{run:./example/testjournalay.tex}{testjournalay.tex},
-%\href{run:./example/egjournalay.pdf}{egjournalay.pdf}。
-
-\subsection{测试:电子资源或在线资源online}
-在线资源online文献测试,参见:
-
-顺序编码制:
-\href{run:./example/testonline.tex}{testonline.tex},
-%\href{run:./example/egonline.pdf}{egonline.pdf}。
-
-作者年制:
-\href{run:./example/testonlineay.tex}{testonlineay.tex},
-%\href{run:./example/egonlineay.pdf}{egonlineay.pdf}。
-
-\qd{注意:对于作者年制,这里有4篇文献都是noauthor,有两篇有年份可以轻易分开,还有两篇没有年份存在歧义,所以在标注中用了[n.d.]加a和b分开,但在参考文献表中,各个版本的biblatex表现是不同的,其中3.4版因为进行newbibmacro*\{date+extrayear\}的定义时候,首先判断iffieldundef\{\textbackslash thefield\{datelabelsource\}year\},当不存在datelabelsource的值+year的域时,就不再添加了。如果需要加extrayear也可以修改出来,但其实并无必要。这与标注中用的newbibmacro*\{cite:labelyear+extrayear\}(在authoryear.cbx文件中)的定义是不一样的。}
-
-
-\subsection{测试:学位论文thesis、专利文献patent}
-学位论文thesis文献专利文献patent文献测试,参见:
-
-顺序编码制:
-\href{run:./example/testthesispatent.tex}{testthesispatent.tex},
-%\href{run:./example/egthesispatent.pdf}{egthesispatent.pdf}。
-
-作者年制:
-\href{run:./example/testthesispatentay.tex}{testthesispatentay.tex},
-%\href{run:./example/egthesispatentay.pdf}{egthesispatentay.pdf}。
-
-\qd{注意:专利文献\{刘加林1993--\}的location定义了中国,但从GB/T 7714-2015中给出的示例看其实并不需要该域,但这里并没有去掉。因为GB/T 7714-2015中给出的著录格式包括了出版项但没有示例,尽管这里的location是专利地域,但也可以作为出版项来考虑。未来国标完善后再做处理。}
-
-
-\subsection{测试:报告report、手册manual和档案、未出版物unpublished}
-报告report、手册manual和档案、未出版物unpublished文献测试,参见:
-
-顺序编码制:
-\href{run:./example/testreport.tex}{testreport.tex},
-%\href{run:./example/egreport.pdf}{egreport.pdf}。
-
-作者年制:
-\href{run:./example/testreportay.tex}{testreportay.tex},
-%\href{run:./example/egreportay.pdf}{egreportay.pdf}。
-
-
-\subsection{测试:会议文集proceedings和会议文集中析出的文献inproceedings}
-
-proceedings和inproceedings及collection和incollection文献测试,参见:
+beamer类中的参考文献测试,参见:
顺序编码制:
-\href{run:./example/testproceedings.tex}{testproceedings.tex},
-%\href{run:./example/egprcdorinprcd.pdf}{egprcdorinprcd.pdf}。
+\href{run:./example/egbeamer.tex}{cls-beamer.tex},
作者年制:
-\href{run:./example/testproceedingsay.tex}{testproceedingsay.tex},
-%\href{run:./example/egprcdorinprcday.pdf}{egprcdorinprcday.pdf}。
-
-
-\subsection{测试:汇编collection和汇编中的析出文献incollection}
+\href{run:./example/egbeameray.tex}{cls-beameray.tex},
-proceedings和inproceedings及collection和incollection文献测试,参见:
+\subsection{更多测试}
-顺序编码制:
-\href{run:./example/testcollection.tex}{testcollection.tex},
-%\href{run:./example/egprcdorinprcd.pdf}{egprcdorinprcd.pdf}。
+\begin{itemize}
-作者年制:
-\href{run:./example/testcollectionay.tex}{testcollectionay.tex},
-%\href{run:./example/egprcdorinprcday.pdf}{egprcdorinprcday.pdf}。
+ \item 测试:专著book和专著中的析出文献inbook及标准standard文献
+ \item 测试:连续出版物periodical和连续出版物中的析出文献article
+ \item 测试:电子资源或在线资源online
+ \item 测试:学位论文thesis、专利文献patent
-\subsection{测试: online条目仅存url信息}
-\label{sec:opt:noauthor}
-online条目信息严重缺失问题测试参见:
+ \item 测试:报告report、手册manual和档案、未出版物unpublished
-顺序编码制:\href{run:./example/testonlyurl.tex}{testonlyurl.tex},
-%\href{run:./example/eggbnoauthortrue.pdf}{eggbnoauthortrue.pdf}。
+ \item 测试:会议文集proceedings和会议文集中析出的文献inproceedings
-作者年制:\href{run:./example/testonlyurlay.tex}{testonlyurlay.tex},
-%\href{run:./example/eggbnoauthorfalse.pdf}{eggbnoauthorfalse.pdf}。
+ \item 测试:汇编collection和汇编中的析出文献incollection
+ \item 测试: online条目仅存url信息
-\subsection{测试: beamer类}
+ \item 测试: 传统和新增条目类型的兼容性
-beamer类中的参考文献测试,参见:
+ \item 测试: 中英文判断信息中存在编组时的处理
-顺序编码制:
-\href{run:./example/egbeamer.tex}{egbeamer.tex},
-\href{run:./example/egbeamer.pdf}{egbeamer.pdf}。
+ \item 测试: 处理参考文献信息中\&等特殊字符
-作者年制:
-\href{run:./example/egbeameray.tex}{egbeameray.tex},
-\href{run:./example/egbeameray.pdf}{egbeameray.pdf}。
-
-%\subsection{测试: 上标和非上标等不同的标注格式}\label{sec:cite:cmd:test}
-%\begin{refsection}
-%不带页码的引用(顺序编码制上标,方括号包围;作者年制行内,括号包围):
-%\begin{itemize}
-% \item 见文献\cite{Peebles2001-100-100}。
-%\end{itemize}
-%
-%不带页码的引用(顺序编码制非上标,方括号包围;作者年制行内,括号包围):
-%\begin{itemize}
-% \item 在文献\parencite{Miroslav2004--}中。
-%\end{itemize}
-%
-%带页码的引用(标准命令,默认样式; 增加命令,GB/T 7714-2015样式):
-%\begin{itemize}
-% \item \cite[见][49页]{蔡敏2006--}\parencite[见][49页]{Miroslav2004--}。
-% \item \pagescite{Peebles2001-100-100}\pagescite[][201-301]{Peebles2001-100-100}
-%\end{itemize}
-%
-%已有作者只需要年份和页码的情况(命令yearpagescite),作者年制(上标),顺序编码制(与pagescite作用相同);
-%已有作者只需要年份的情况(命令yearcite):
-%\begin{itemize}
-% \item 见赵耀东\yearpagescite[][205]{赵耀东1998--}和Simon\yearpagescite[][15]{Simon2001--}的文献。
-% \item 见赵耀东\yearcite{赵耀东1998--}
-% \item 见赵耀东(\cite*{赵耀东1998--})
-% \item 见赵耀东(\citeyear{赵耀东1998--})
-%\end{itemize}
-%
-%\printbibliography[heading=subbibliography,title=【gb7714-2015顺序编码制上标和非上标标注测试】]
-%\end{refsection}
+ \item 测试: 处理作者年制article中卷信息缺省的标点
-\subsection{测试: 传统和新增条目类型的兼容性}
-\label{sec:entrytype:compatibility}
-\begin{refsection}
-测试某些bib文件给出的mastersthsis,phdthsis,www,electronic,standard,techreport,conference条目类型,测试本样式增加的newspaper类型。更多条目类型的测试见:
-\href{run:/example/testentrytypes.tex}{testentrytypes.tex}。
+ \item 测试: 标题中有\textbackslash LaTeX\{\}等名称时的情况
-\begin{itemize}
- \item newspaper:\cite{张田勤2000--}
- \item standard:\cite{全国文献工作标准化委员会第七分委员会1986--,国家标准局信息分类编码研究所1988-59-92}
- \item conference:\cite{Li2004-21-24}
- \item www:\cite{萧钰2001--}
- \item electronic:\cite{OMG2003--}
- \item techreport:\cite{Humphrey1971--}
- \item mastersthsis:\cite{张志祥1998--}
- \item phdthsis:\cite{张若凌2004--}
\end{itemize}
-\printbibliography[heading=subbibliography,title=【兼容phdthsis等条目类型】]
-\end{refsection}
-
-\subsection{测试: 中英文判断信息中存在编组时的处理}
-\begin{refsection}
-当责任者等需要判断中英文的信息中存在编组时的处理
-\cite{IFLAI1977b--,IFLAI1977--}
-\cite{r27-BenHadjAlaya-FekiA.2008-1-5,中国企业投资协会2014--,中国企业投资协会2015--}
-
-\printbibliography[heading=subbibliography,title=【中英文判断信息中存在编组的测试】]
-\end{refsection}
-
-
-
-\subsection{测试: 处理参考文献信息中\&等特殊字符}
-\label{sec:entrytype:compatibility}
-\begin{refsection}
-文献中\cite{ref-replace-char}的booktitle域中含有\%,\&,\#符号,样式文件自动处理使其符合tex代码规则。
-\printbibliography[heading=subbibliography,title=【处理参考文献信息中\&等特殊字符】]
-\end{refsection}
-
-\subsection{测试: 处理作者年制article中卷信息缺省的标点}
-\label{sec:article:novol}
-\begin{refsection}
-文献\cite{刘彻东1998-38-39}\cite{亚洲地质图编目组1978-194-208}
-\cite{高光明1998-60-65}
-
-\printbibliography[heading=subbibliography,title=【author-year style: article without volume】]
-\end{refsection}
-
-\subsection{测试: 标题中有\textbackslash LaTeX\{\}等名称时的情况}\label{sec:with:latex}
-\begin{refsection}
-文献\cite{Peebles2001-100-100}\cite{赵凯华1995--}\cite{蒋有绪1998--}
-
-\printbibliography[heading=subbibliography,title=【title with \textbackslash LaTeX\{\}】]
-\end{refsection}
-
+测试文件,参见:
+\href{run:./example/testallformat.tex}{testallformat.tex}。
\section{总结与致谢}