在我正在编写的一份文档中,我需要引用一些资源,其中作者姓名后面带有带括号的角色。以下是两个示例书目条目。
Sherzer,Joel(研究员)和 Olowiktinappi(演讲者、翻译)。(1970 年)。“治疗专家的报告。”Joel Sherzer Kuna 收藏。拉丁美洲土著语言档案:www.ailla.utexas.org。媒体:音频、文本。访问:公开。资源 ID:CUK001R001。
Rasch,Jeffrey(研究员)、Cecilia Carmona(演讲者)、Martín Suárez Martínez(抄写员、翻译员)。(1999 年)。“地震”。查蒂诺语文献项目收藏。拉丁美洲土著语言档案馆:www.ailla.utexas.org。媒体:音频、文本。访问:公开。资源 ID:CTP005R061。
这些在文中分别被引用为“Sherzer and Olowiktinappi (1970)”和“Rasch, Carmona and Suárez Martínez (1999)”。
作者在他们贡献的每个资源中扮演的角色并不总是相同的。例如,一个人可能在一份文件中显示为演讲者,在另一份文件中显示为抄写员,在第三份文件中显示为翻译者。
有没有一种使用 Bib(La)TeX 来处理这个问题的直接方法?我目前正在使用带有 natbib 包的 BibTeX 来引用作者/年份,但如果它能让这种引用方式变得更容易,我会切换到另一种设置。
答案1
如果您想继续使用 BibTeX/natbib,您可以按如下方式操作。(建议的解决方案乍一看可能有点笨拙,但如果您想使用 BibTeX/natbib,我想不出更好的方法。我想可以尝试破解 natbib 或某些特定样式文件,但我怀疑那会更加费力。
在字段中添加每个作者的角色作为附加的“名字”
author
。例如,而不是author = "Joel Scherzer",
你会写
author = "Sherzer, Joel {\relax (Researcher)}",
从某种意义上说,
(Researcher)
——包括括号——成为一个额外的(虽然是假的)名字。使用包装器的目的(Researcher)
是{\relax ... }
防止 BibTeX 将这个特定的名字缩写为其首字母。有些书目样式不会缩写名字,而有些则会。使用的目的\relax
是确保角色永远不会被缩写,无论书目样式的缩写设置如何。需要注意一个问题:上一条建议的构造假设作者有名字和姓氏。如果作者只有一个名字(例如“Olowiktinappi”),则应按以下步骤操作:
输入相关作者
{Olowiktinappi {\relax (Speaker, Translator)}
,例如。请注意 (i) “真实”姓名和部分之间没有逗号{\relax ...}
,以及 (ii) 整个姓名(包括假名)周围有花括号。花括号告知 BibTeX 将此作者视为所谓的“公司”作者。(BibTeX 不会尝试解析公司作者的组成部分。)对于每个这样的条目,(i)设置一个
\defcitealias
指令(见下文的具体示例),以提供引用标注,不是包括角色,并且 (ii) 用\citetalias
而不是引用该条目\citet
。
采用这种方法的目的是避免在书目条目中的(真实)名称和角色(假名字)之间出现虚假的逗号。
使用将姓氏放在一起的书目样式前名字。如果您还没有使用这种样式,我建议您复制该文件
plainnat.bst
并将副本命名为myplainnat.bst
。在 中myplainnat.bst
找到以下行(可能是第 222 行):{ s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
并将其更改为
{ s nameptr "{vv~}{ll}{, jj}{, ff}" format.name$ 't :=
顺便说一句,如果你想缩写任何实际(“真实”)的名字,你可以将前一行更改为
{ s nameptr "{vv~}{ll}{, jj}{, f}" format.name$ 't :=
将此书目样式文件保存到包含主 tex 文件的目录或 BibTeX 搜索的某个目录中。(如果选择第二个选项,请确保更新 TeX 发行版的文件名数据库。)通过发出指令来使用新的书目样式
\bibliographystyle{myplainnat}
进行此更改后,请确保在 tex 文件上再运行两次 LaTeX、BibTeX 和 LaTeX,以完全传播所有更改。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{sherzer:1970,
author = "Sherzer, Joel {\relax (Researcher)} and {Olowiktinappi {\relax (Speaker, Translator)}}",
year = 1970,
title = "Report of a curing specialist",
note = "Joel Sherzer Kuna Collection. Archive of the Indigenous Languages of Latin America: \url{www.ailla.utexas.org}. Media: audio, text. Access: public. Resource ID: CUK001R001",
}
@misc{rasch:1999,
author = "Rasch, Jeffrey {\relax (Researcher)} and Carmona, Cecilia {\relax (Speaker)} and Suárez Martínez, Martín {\relax (Transcriber, Translator)}",
year = 1999,
title = "{The Earthquake}",
note = "Chatino Language Documentation Project Collection. The Archive of the Indigenous Languages of Latin America: \url{www.ailla.utexas.org}. Media: audio, text. Access: public. Resource ID: CTP005R061",
}
\end{filecontents*}
\usepackage[authoryear,round]{natbib}
\defcitealias{sherzer:1970}{Sherzer and Olowiktinappi (1970)}
\usepackage{url}
\bibliographystyle{myplainnat}
\begin{document}
\citetalias{sherzer:1970}
\citet*{rasch:1999}
\bibliography{\jobname}
\end{document}