-
Notifications
You must be signed in to change notification settings - Fork 938
文献样式
著者-出版年制(authoryear)为默认选项,不同文献样式和引用样式,如 著者-出版年制(authoryear)、顺序编码制(numbers)、上标顺序编码制(super)、字符编码制(alpha)可在 Thesis.tex 中对 artratex.sty 调用实现。
如需将 著者-出版年制(authoryear)改为 顺序编码制(numbers),只需将 Thesis.tex 中的:
\usepackage[authoryear,list]{Style/artratex}% 文本: Jones (1995); 括号: (Jones, 1995)
改为
\usepackage[numbers,list]{Style/artratex}% 文本: Jones [1]; 括号: [1]
如需 上标顺序编码制(super),就是:
\usepackage[super,list]{Style/artratex}% 文本: Jones 上标[1]; 括号: 上标[1]
如需 字符编码制(alpha),就是:
\usepackage[alpha,list]{Style/artratex}% 文本: 不可用; 括号: [Jon95]
若在上标顺序编码制(super)模式下,希望在特定位置将上标改为嵌入式标,可使用
文本类型:\citetns{}
替换 \citet{}
。
括号类型:\citepns{}
替换 \citep{}
。
- 请确保使用了全编译,即运行
xelatex+bibtex+xelatex+xelatex
以正确生成所有的引用链接,如目录,参考文献及引用等。 - 若全编译后仍为问号,则是你的引用出现了错误,需仔细检查此条引用的
\citep{}
或\citet{}
命令,以及ref.bib
内的源格式。
使用命令
\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)}
因为对于给定的文献,其作者和年份总是不变的,所以以上方案皆无需额外维护。
修改参考文献列表的默认排版行为 (由 zepinglee 开发提供)
编辑 Biblio
文件夹下的 gbt7714-plain.bst
和 gbt7714-unsrt.bst
内提供的配置函数可实现多类样式:
FUNCTION {load.config}
{
#1 'uppercase.name :=
#3 'max.num.authors :=
#0 'period.between.author.year :=
#1 'sentence.case.title :=
#0 'link.title :=
#1 'show.mark :=
#0 'italic.jounal :=
#1 'show.missing.address.publisher :=
#1 'show.url :=
#1 'show.doi :=
#0 'show.note :=
}
比如:
- 去除 [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 :=
如果想点击参考文献列表的某个文献可以跳回文档内的引用页,可以将 artratex.sty
中的
\RequirePackage{hyperref}% load at last
改为
\RequirePackage{hyperref}% load at last
\RequirePackage[hyperpageref]{backref}
然后每个文献后就会有链回文本页的页码:
注意:
-
如果
ref.bib
中的文献源的url
带有#_$
等特殊字符,则backref
功能容易出现错误,见 Phoenix1327, issue #145 -
此
backref
功能实际并无多大意义,且纸质打印版不应该使用此功能,因此,不建议启用此功能。
鉴于大多数期刊仍只支持 bibtex
,ucasthesis
对 biblatex
的初始支持只是基本的。如果你要使用 biblatex
,至少需要在 Thesis.tex
中作如下设定:
- 启用
biber
选项来调用biblatex
:
\usepackage[biber,authoryear,list]{Style/artratex}% document settings
- 启用
biblatex
所需的文献输出命令:
%\bibliography{Biblio/ref}% bibliography
\printbibliography% bibliography
- 使用
biblatex
支持的\cite
系列命令,而不是模版默认的\citet
和\citep
等。
更多细节修正可见 hushidong, issue 247