我的博士论文出版商希望我在参考书目中引用以下词典:
DCECH = 科罗米纳尔,琼/帕斯夸尔,何塞·安东尼奥,西班牙语和西班牙语批评词典,6 卷,马德里,格雷多斯,1980-1991 年。
作为文中引用,应该只显示缩写:
二甲基环己烷
我使用一种修改后的版本ksfh_nat
,你可以找到这里。
我想我必须为字典添加一种新的条目类型,但我不知道该怎么做。样式与书籍条目完全相同,唯一的区别是作者前面必须有abbreviation =
,这也应该是要引用的部分。
我的代码的简化版本是:
\documentclass[openany,ngerman]{book}
\usepackage[small]{dgruyter}
\usepackage{microtype}
\usepackage{fontspec}
\usepackage[main=french,italian, spanish, portuguese, latin, greek]{babel}
\usepackage[round]{natbib}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{graphicx}
\usepackage{lmodern}
\begin{document}
Cf. \cite{DCECH}\\
\bibliographystyle{Bianca}
\bibliography{bibliographie}
\end{document}
参考书目条目可能如下所示:
@Book{DCECH,
abbreviation (?? category not yet existing) = {DCECH},
author = {Joan Corominas and José Pascual},
title = {Diccionario crítico etimológico castellano e hispánico},
year = {1980-1991},
publisher = {Gredos},
address = {6 vol., Madrid},
}
有人可以帮忙吗?
答案1
我建议您按如下方式操作。首先,将 bib 条目更改为
@Book{DCECH,
abbreviation = {DCECH},
author = {Joan Corominas and José Antonio Pascual},
title = {Diccionario Crítico Etimológico Castellano e Hispánico ({DCECH}), 6~vol.},
year = {1980--1991},
publisher = {Gredos},
address = {Madrid},
}
(旁白:abbreviation
您使用的参考书目样式是否识别该字段名称?我不认为它是标准的 BibTeX 字段。)
其次,在序言中插入以下指令(加载natbib
包后):
\defcitealias{DCECH}{DCECH}
第三,在文档正文中使用“DCECH”而不是“Corominas/Pascual (1980-1991)”来\citetalias{DCECH}
代替通常的引用标注。\citet{DCECH}
答案2
我在 .bst 文件中添加了以下内容:
abbreviation
作为具有以下代码的新条目类型:
`FUNCTION {format.book.abbreviation}
{ abbreviation
"abbreviation" bibinfo.check
duplicate$ empty$ 'skip$
{
}
if$
}
在 F 下方之前UNCTION{book}
,author empty$
我添加了以下代码:
abbreviation empty$ 'skip$ { "" duplicate$ empty$ 'skip$ { } if$ output.nonnull.nostate format.book.abbreviation output.nonnull.nostate " = " duplicate$ empty$ 'skip$ { } if$ output.nonnull.nostate } if$ new.block
结合 Mico 的建议使用 \defcitealias{DCECH}{DCECH},我得到了我需要的输出:
DCECH = Corominal,Joan/Pascual,José Antonio,《Diccionario crítico etimológico castellano e histpánico》,6 卷,马德里,Gredos,1980-1991 年。
现在,剩下的唯一问题是我的参考书目中有大约 50 本词典,使用\defcitetalias{}{}
将创建一个非常长的定义列表。有没有办法简化这一点,或者创建一个命令来引用条目abbreviation
而不是author.year
?