-
Notifications
You must be signed in to change notification settings - Fork 933
文献样式
-
bibtex: 从 gbt7714-bibtex-style 下载
gbt7714-author-year.bst
和gbt7714-numerical.bst
到ucasthesis/Biblio
文件夹下即可。 -
biblatex: 从 biblatex-gb7714-2015 下载
gb7714-2015ay.cbx
、gb7714-2015ay.bbx
和gb7714-2015.cbx
、gb7714-2015.bbx
到ucasthesis/Biblio
文件夹下即可。
著者-出版年制(authoryear)为默认选项,不同文献样式和引用样式,如 著者-出版年制(authoryear)、顺序编码制(numbers)、上标顺序编码制(super)、字符编码制(alpha)可在 Thesis.tex
中对 artratex.sty
调用实现。
启用 著者-出版年制(authoryear):
\usepackage[authoryear,list]{Style/artratex}% 文本: Jones (1995); 括号: (Jones, 1995)
启用 顺序编码制(numbers):
\usepackage[numbers,list]{Style/artratex}% 文本: Jones [1]; 括号: [1]
启用 上标顺序编码制(super):
\usepackage[super,list]{Style/artratex}% 文本: Jones 上标[1]; 括号: 上标[1]
若在上标顺序编码制(super)模式下,希望在特定位置将上标改为嵌入式顺序编码制(numbers),可使用
文本类型:`\citetns{}` 替换 `\citet{}`
括号类型:`\citepns{}` 替换 `\citep{}`
启用 字符编码制(alpha):
\usepackage[alpha,list]{Style/artratex}% 文本: 不可用; 括号: [Jon95]
- 在 著者-出版年制(authoryear)或 顺序编码制(numbers)模式下,直接用:
\citep[页码]{}
\citet[页码]{}
注:如果同时引用多篇文献,且希望每篇文献后带页码,则用:
\citetext{\citealp[p.~1]{lamport1986document}; \citealp[p.~2]{lamport1986document}}
- 在 上标顺序编码制(super)模式下,可用:
看!上标引用带页码\citet{lamport1986document}\textsuperscript{\tiny 250};
看!上标引用带页码\citep{lamport1986document}\textsuperscript{\tiny 250}。
上标顺序编码制(super)模式下,如果在Thesis.tex
中启用 [biber] 并使用 biblatex
而不是 bibtex
编译文献,则也可以直接用:
\citep[页码]{}
\citet[页码]{}
- 实现参考文献直接放在脚注处?
需要在Thesis.tex
中启用 [biber] 并使用 biblatex
而不是 bibtex
编译文献
\usepackage[biber,super,list]{Style/artratex}% document settings
然后使用
看!脚注上标引用带页码\footfullcite{lamport1986document}\textsuperscript{\tiny 250};
看!脚注上标引用带页码\footfullcite{lamport1986document}\textsuperscript{\tiny 250}。
效果如下:
脚注内容如下:
- 请确保使用了全编译,即运行
xelatex+bibtex+xelatex+xelatex
以正确生成所有的引用链接,如目录,参考文献及引用等。 - 若全编译后仍为问号,则是你的引用出现了错误,需仔细检查此条引用的
\citep{}
或\citet{}
命令,以及ref.bib
内的源格式。
- bibtex:使用 bibtex 需要加 key 域,参考
ref.bib
中的样例:
@article{chen2005zhulu,
title={著录文后参考文献的规则及注意事项},
author={陈浩元},
key={Chen Hao Yuan},
journal={编辑学报},
volume={17},
number={6},
pages={413--415},
year={2005}
}
- biblatex:启用功能更为强大的 biblatex 替换默认的 bibtex 即可实现正确的排版。
要使用 biblatex
,只需作如下设定:
- 在
Thesis.tex
中启用biber
选项来调用biblatex
:
\usepackage[biber,authoryear,list]{Style/artratex}% document settings
- 使用
biber
替换bibtex
进行编译:
全编译,即运行 `xelatex+biber+xelatex+xelatex` 以正确生成所有的引用链接,如目录,参考文献及引用等。
- 引用时显示所有作者:在
Style/artratex.sty
文件中将
\RequirePackage[backend=biber,style=\artxbibernum,mincitenames=1,maxcitenames=2]{biblatex}%
修改为
\RequirePackage[backend=biber,style=\artxbiberauy,mincitenames=99,maxcitenames=99]{biblatex}%
使用命令
\nocite{*}
即可显示所有参考文献(包括未引用文献)。若只想显示引用过的文献,则需删除此命令。
使用顺序编码制(numbers)或上标顺序编码制(super)时,若在图表标题中引用文献,因为表格列表和图形列表位于文档的最前列,从而标题中的文献编号也会排在前列。如想改变此行为,可使用
\caption[出现在列表中的标题]{标题 \citep{xxx}}
\bicaption[出现在列表中的标题]{中文标题 \citep{xxx}}{英文标题\citep{xxx}}
以避免文献引用出现在图表列表中即可。
{}
符号在 ref.bib 文件中具有固定输出格式的作用。如当在 title 中用 {eeEEeeEE} {Euler}
时:
@book{test1788equ,
title={{eeEEeeEE} The great {Euler} vs Eul},
author={xxx},
year={2004},
address={Earth},
publisher={Universe}
}
在生成的文献列表中 eeEEeeEE Euler
就一定会保持输出为 eeEEeeEE Euler
而不会被后台切换为 Eeeeeeee euler
,即输出为:
eeEEeeEE the great Euler vs eul
注意 The
和 Eul
因为没有 {}
固定格式,因此会被自动切换为 the
和 eul
。
根据学位论文撰写指导文件,英文引用
中的 "and"、"et al." 采用对应的中文 “和”、“等” 替代。如果想改回为英文形式,需在 ucasthesis.cfg
中将
\def\ucas@label@ch@bibetal{等}
\def\ucas@label@en@bibetal{et al.}
\def\ucas@label@ch@biband{和}
\def\ucas@label@en@biband{ and }
改为
\def\ucas@label@ch@bibetal{et al.}
\def\ucas@label@en@bibetal{et al.}
\def\ucas@label@ch@biband{ and }
\def\ucas@label@en@biband{ and }
注意以上方式为全局性修改。如 clementinehjy, issue #167 中所讨论的,如果只是想在 bicaption
中的英文标题部分
局部改回英文的 "and"、"et al." 形式,可考虑如下几种方案:
- 若使用的为
numbers
样式,则需在bicaption
的英文标题部分
使用\citep{}
而不是\citet{}
。例如:
\bicaption{中文标题。引自 \citet{jenni2006}}{English Title. Cited from Jenni et al. \citep{jenni2006}}
- 若使用的为
authoryear
样式,则需在bicaption
的英文标题部分
手动输入参考文献(muzimuzhi, issue #167)。例如:
\bicaption{中文标题。引自 \citet{jenni2006}}{English Title. Cited from Jenni et al. (2006)}
因为对于给定的文献,其作者和年份总是不变的,所以以上方案皆无需额外维护。
编辑gbt7714-author-year.bst
和 gbt7714-numerical.bst
的配置函数可实现多类样式:
FUNCTION {load.config}
{
#2 'citation.et.al.min :=
#1 'citation.et.al.use.first :=
#4 'bibliography.et.al.min :=
#3 'bibliography.et.al.use.first :=
#0 'uppercase.name :=
#1 'terms.in.macro :=
#0 'year.after.author :=
#0 'period.after.author :=
#1 'sentence.case.title :=
#0 'link.title :=
#1 'title.in.journal :=
#1 'show.mark :=
#1 'space.before.mark :=
#1 'show.medium.type :=
#1 'slash.for.extraction :=
#0 'in.booktitle :=
#0 'short.journal :=
#0 'italic.journal :=
#0 'bold.journal.volume :=
#0 'show.missing.address.publisher :=
#0 'only.start.page :=
#1 'show.urldate :=
#1 'show.url :=
#1 'show.doi :=
#0 'show.preprint :=
#0 'show.note :=
}
比如:
- 引用处显示所有作者而不是使用 et. al.
#99 'citation.et.al.min :=
- 参考文献列表处显示所有作者而不是使用 et. al.
#99 'bibliography.et.al.min :=
- 去除 [S.l.] 字段
参考文献中的 [S.l.] 字段是关于出版地的,请见 ucasthesis 的 ref.bib 内的样本:
@book{chu2004tushu,
title={图书馆数字参考咨询服务研究},
author={初景利},
key={Chu Jing Li},
year={2004},
address={北京},
publisher={北京图书馆出版社}
}
address
域就是出版社地址域。当缺失此域时,可能会出现 [S.l.] 字段代表出版地不明。若想去除此字段的显示,可以设定为:
#0 'show.missing.address.publisher :=
- 取消英文作者名大写
文献列表中英文作者名全部大写是符合国标的。如果需取消英文作者名大写,可设置:
#0 'uppercase.name :=
- 超链接参考文献到期刊网页并且不显式出现 url
设置:
#1 'link.title :=
#0 'show.url :=
- 不显示类型标记:[J], [M], [B] 等
设置:
#0 'show.mark :=
ucasthesis 常用设定:
#0 'uppercase.name :=
#1 'terms.in.macro :=
#0 'year.after.author :=
#0 'show.missing.address.publisher :=
如果想点击参考文献列表的某个文献可以跳回文档内的引用页,可以将 artratex.sty
中的
\RequirePackage{hyperref}% load at last
改为
\RequirePackage{hyperref}% load at last
\RequirePackage[hyperpageref]{backref}
然后每个文献后就会有链回文本页的页码:
注意:
-
如果
ref.bib
中的文献源的url
带有#_$
等特殊字符,则backref
功能容易出现错误,见 Phoenix1327, issue #145 -
此
backref
功能实际并无多大意义,且纸质打印版不应该使用此功能,因此,不建议启用此功能。