Skip to content

文献样式

mohuangrui edited this page Apr 9, 2019 · 44 revisions

引用样式

著者-出版年制(authoryear)为默认选项,不同文献样式和引用样式,如 著者-出版年制(authoryear)、顺序编码制(numbers)、上标顺序编码制(super)、字符编码制(alpha)可在 Thesis.tex 中对 artratex.sty 调用实现。

如需将 著者-出版年制(authoryear)改为 顺序编码制(numbers),只需将 Thesis.tex 中的:

\usepackage[authoryear,myhdr,list]{Style/artratex}% 文本: Jones (1995); 括号: (Jones, 1995)

改为

\usepackage[numbers,myhdr,list]{Style/artratex}% 文本: Jones [1]; 括号: [1]

如需 上标顺序编码制(super),就是:

\usepackage[super,myhdr,list]{Style/artratex}% 文本: Jones 上标[1]; 括号: 上标[1]

如需 字符编码制(alpha),就是:

\usepackage[alpha,myhdr,list]{Style/artratex}% 文本: 不可用; 括号: [Jon95]

若在上标顺序编码制(super)模式下,希望在特定位置将上标改为嵌入式标,可使用

文本类型:\citetns{} 替换 \citet{}

括号类型:\citepns{} 替换 \citep{}

编译后参考文献引用处为问号(?),同时参考文献列表不显示?

  1. 请确保使用了全编译,即运行 xelatex+bibtex+xelatex+xelatex 以正确生成所有的引用链接,如目录,参考文献及引用等。
  2. 若全编译后仍为问号,则是你的引用出现了错误,需仔细检查此条引用的 \citep{}\citet{} 命令,以及 ref.bib 内的源格式。

显示所有参考文献(包括未引用文献)

使用命令

\nocite{*}

即可显示所有参考文献(包括未引用文献)。若只想显示引用过的文献,则需删除此命令。

图表标题中的文献编号总排在前列

使用顺序编码制(numbers)或上标顺序编码制(super)时,若在图表标题中引用文献,因为表格列表和图形列表位于文档的最前列,从而标题中的文献编号也会排在前列。如想改变此行为,可使用

\caption[列表标题]{标题 \citep{xxx}}
\bicaption[列表标题]{中文标题 \citep{xxx}}{英文标题\citep{xxx}}

以避免文献引用出现在图表列表中即可。

{} 符号

{} 符号在 ref.bib 文件中具有固定输出格式的作用。如当在 title 中用 {Euler} 时:

@book{test1788equ,
    title={The great {Euler} vs Euler},
    author={xxx},
    year={2004},
    address={Earth},
    publisher={Universe}
}

在生成的文献列表中 Euler 就一定会保持输出为 Euler 而不会被后台切换为 euler,即输出为:

The great Euler vs euler

修改参考文献列表的默认排版行为 (由 zepinglee 开发提供)

编辑 Biblio 文件夹下的 gbt7714-plain.bstgbt7714-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 :=
}

比如:

  1. 去除 [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 :=
  1. 取消英文作者名大写

文献列表中英文作者名全部大写是符合国标的。如果需取消英文作者名大写,可设置:

  #0 'uppercase.name :=
  1. 超链接参考文献到期刊网页并且不显式出现 url

设置:

  #1 'link.title :=
  #0 'show.url :=

超链接参考文献到文档引用页(不建议启用)

如果想点击参考文献列表的某个文献可以跳回文档内的引用页,可以将 artratex.sty 中的

    \RequirePackage{hyperref}% load at last

改为

    \RequirePackage{hyperref}% load at last
    \RequirePackage[hyperpageref]{backref}

然后每个文献后就会有链回文本页的页码:

image

注意:

  1. 如果 ref.bib 中的文献源的 url 带有 #_$ 等特殊字符,则 backref 功能容易出现错误,见 Phoenix1327, issue #145

  2. backref 功能实际并无多大意义,且纸质打印版不应该使用此功能,因此,不建议启用此功能。

Clone this wiki locally