我创建了一个自定义 .bst 文件,但它不能正确显示编辑器。
我当前的书籍 .bst 条目如下:
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
format.number.series output
format.edition output
new.sentence
format.publisher.address output
}
{
new.block
format.book.crossref output.nonnull
}
if$
format.isbn output
new.block
format.note output
fin.entry
write.url
}
我收到的以下号码布参赛作品是:
@Book{brink2016real,
title = {Real-world machine learning},
publisher = {Manning Publications Company},
year = {2016},
author = {Brink, Henrik and Richards, Joseph and Fetherolf, Mark},
editor = {Kline, Susanna and Scherer, Al and Booth, Olivia and Harlovic, Ozren},
address = {Greenwich, USA},
__markedentry = {[Hp i7:1]},
keywords = {rank5},
}
在我的参考文献中,它根本不显示编辑器。为什么会发生这种情况?
Brink, H.、Richards, J. 和 Fetherolf, M. 2016 年。现实世界的机器 学习. 格林威治,美国:曼宁出版公司。
这可能是一个 MWP:
\documentclass[11pt]{article}
\pagestyle{plain}
\usepackage{url}
\usepackage{hyperref}
\usepackage[longnamesfirst,semicolon]{usbib}
\renewcommand{\bibname}{Reference List}
\bibliographystyle{CUSTOM.bst}
\begin{document}
\section*{CUSTOM}
In this section we reference the books \citet{brink2016real}.
\bibliography{Thesisbib.bib}
\end{document}
随着编辑器的显示,我希望它们显示如下:
Brink, H.、Richards, J. 和 Fetherolf, M. 2016 年。现实世界的机器 学习. Horn, K. 和 Manning, F. (eds). 格林威治,美国:Manning Publications Company。
答案1
正如所提到的马塞尔·克鲁格在目前的评论中,您的样式只能打印author
或editor
字段,其中author
s 是首选。
我们可以稍微修改一下文件,这样editor
如果字段存在,s 就会打印在 title 后面author
。请注意,我还移动了一些定义,因为它们在用于某些会导致错误的情况之前没有定义。必要的 diff 是
--- CUSTOM-orig.bst 2018-08-23 14:50:16.153874000 +0200
+++ CUSTOM.bst 2018-08-23 14:53:31.858917200 +0200
@@ -1,5 +1,5 @@
%%
-%% This is file `ussagus.bst',
+%% This is file `CUSTOM.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
@@ -79,7 +79,7 @@
url
volume
year
- doi
+ doi
}
{}
{ label extra.label sort.label short.list }
@@ -130,27 +130,6 @@
newline$
}
-FUNCTION {write.doi}
-{ doi empty$
- { "" }
- { new.block "doi:" doi * "" * }
- if$
-}
-
-FUNCTION {write.dois}
-{ doi empty$ 'skip$
- { swap$ empty$
- {pop$ doi}
- {
- new.block ". doi:" doi * "" *
- %swap$
- n.dashify
- *
- }
- if$
- }
- if$
-}
FUNCTION {new.block}
{ output.state before.all =
@@ -1101,6 +1080,29 @@
{ organization "organization" bibinfo.check format.org.or.pub
}
+FUNCTION {write.doi}
+{ doi empty$
+ { "" }
+ { new.block "doi:" doi * "" * }
+ if$
+}
+
+FUNCTION {write.dois}
+{ doi empty$ 'skip$
+ { swap$ empty$
+ {pop$ doi}
+ {
+ new.block ". doi:" doi * "" *
+ %swap$
+ n.dashify
+ *
+ }
+ if$
+ }
+ if$
+}
+
+
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
@@ -1133,12 +1135,7 @@
{ format.editors "author and editor" output.check
editor format.key output
}
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
- }
+ { format.authors output.nonnull }
if$
format.date "year" output.check
date.block
@@ -1146,6 +1143,11 @@
crossref missing$
{ format.bvolume output
new.block
+ author empty$
+ 'skip$
+ { format.editors output }
+ if$
+ new.block
format.number.series output
format.edition output
new.sentence
@@ -1266,15 +1268,13 @@
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
- format.proceeds.pages output
- write.dois output
+ format.proceeds.pages output
+ write.dois output
}
-
if$
format.isbn output
format.issn output
}
-
{ format.incoll.inproc.crossref output.nonnull
format.proceeds.pages output
}
您可以在以下位置找到修改后的版本以及“更改历史记录”https://gist.github.com/moewew/cb8da22cda4fb12d38572130cf46ce9d。
随着新的CUSTOM.bst
MWE
\documentclass[11pt]{article}
\usepackage[longnamesfirst,semicolon]{usbib}
\usepackage{hyperref}
\renewcommand{\bibname}{Reference List}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{brink2016real,
title = {Real-world machine learning},
publisher = {Manning Publications Company},
year = {2016},
author = {Brink, Henrik and Richards, Joseph and Fetherolf, Mark},
editor = {Kline, Susanna and Scherer, Al and Booth, Olivia and Harlovic, Ozren},
address = {Greenwich, USA},
}
\end{filecontents}
\begin{document}
In this section we reference the books \citet{brink2016real}.
\bibliographystyle{CUSTOM}
\bibliography{\jobname}
\end{document}
给出
Brink, H.、Richards, J. 和 Fetherolf, M. 2016 年。现实世界的机器学习. Kline, S.、Scherer, A.、Booth, O. 和 Harlovic, O. (eds.)。格林威治,美国:Manning Publications Company。
请注意,在这个特定案例中,我认为不需要显示编辑。编辑没有列在书的封面或标题页上。他们只能在标题页的背面以及参与出版该书的其他人员中找到。
通常,@book
只有对作品有重大贡献的条目编辑者才会被列入(例如古代作品的编辑者或文集的编纂者)。 seditor
中的 s@collection
和@incollection
s 中的 s 不同,他们通常是必需的,因为他们是(相应)的主要创建者@collection
。