首先:我会尽力自己做这件事。我可能会失败,但至少我尝试过了 :)
如果你查看我的发帖历史,你会发现我(被迫)创建了自己的 APA 风格。我的大学对此非常严格,如果你违反了他们的引用规则,就会被扣分……在我目前论文的草稿会议期间,有人指出我存在这样的缺陷。
我想在我的论文中使用这本书。正如您所见,书中提到了 APA 格式,所以这应该很容易……
然而,这本书创作于 1947 年,但它是 1626 年文本的一个版本。因此,我们必须使用特殊发明的大学格式:
编辑(编)(年份)。作者。标题。(版本)。地点:出版商。
Meertens,PJ,NB Tenhaef 和 A. Komter-Kuipers(编辑)(1942 年)。阿德里安努斯·瓦莱里乌斯 (Adrianus Valerius)。 荷兰纪念教堂。阿姆斯特丹:wereldbibliotheek。
它甚至变得更好 :( - 如果你指向由其中一位编辑(Meertens)撰写的章节(Adrianus 的生活),它也应该成为参考书目中的条目:
AUTHOR_OF_CHAPTER(年份)。'TITLE_OF_CHAPTER'。在:WORK_ABOVE
Meertens,PJ(1942 年)。 《阿德里安努斯的生活》。引自:Meertens,PJ,NB Tenhaef 和 A. Komter-Kuipers(编辑)(1942 年)。阿德里安努斯·瓦莱里乌斯 (Adrianus Valerius)。 荷兰纪念教堂。阿姆斯特丹:wereldbibliotheek。
然而,这本!不应与多位作者的书混淆。注意(完全没有)区别 :/
这本书的正确引文是
作者(年份)。标题。
(版). 地点: 出版商。Absillis, K.、Jaspers, J. 和 Van Hoof, S. (2000 年)。篡夺者:篡夺奴隶。绅士:学术出版社。
Jaspers, J. (2000)。“某些章节”。收录于:Absillis, K.、Jaspers, J. 和 Van Hoof, S。
(红色的。)。 (2000)。篡夺者:篡夺奴隶。绅士:学术出版社。
第一的:简单的问题
- 3de ed. 应该变成 (3e dr.) << 其中 e 是上标。
'title' 应该使用单引号,而不是双引号- 找到了(未反映在 MWE 上方的屏幕截图中)
现在:主要问题= 关于参考书目的最后两个条目。
我如何让 biblatex 区分这两种不同类型的 @book?我可以编写一个宏来检查
- 本书有一位作者和一位(或多位)编辑 => 必须是类型 1,请相应格式化
- 本书只有作者 => 必须是类型 2,相应格式
- 这本书只有 editoros => zotero 将其变成 @collection,所以这超出了这个问题的范围,因为这是关于 @books 的。
工作示例:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{refs.bib}
@book{ValeriusNederlandtschegedenckclanck1942,
langid = {dutch},
location = {{Amsterdam}},
title = {Nederlandtsche gedenck-clanck},
pagetotal = {287},
publisher = {{Wereldbibliotheek}},
date = {1942},
author = {Valerius, Adrianus},
editor = {Meertens, Pieter Jacobus and Tenhaeff, Nicolaas Bernardus and Komter-Kuipers, Aafke}
}
@incollection{MeertensAdriaenValeriusleven1942,
langid = {dutch},
location = {{Amsterdam}},
title = {Adriaen Valerius' leven en werken},
booktitle = {Nederlandtsche gedenck-clanck},
publisher = {{Wereldbibliotheek}},
date = {1942},
pages = {V-XXII},
author = {Meertens, Pieter Jacobus},
editor = {Meertens, Pieter Jacobus and Tenhaeff, Nicolaas Bernardus and Komter-Kuipers, Aafke}
}
@book{Usurpator-book-1,
location = {{Gent}},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
author = {Absillis, Kevin},
edition = {1}
}
@book{Usurpator-book-2,
location = {{Gent}},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
author = {Absillis, Kevin and Jaspers, Jürgen},
edition = {2}
}
@book{Usurpator-book-3,
location = {{Gent}},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
author = {Absillis, Kevin and Jaspers, Jürgen and Van Hoof, Sarah},
edition = {3}
}
@incollection{Usurpator-book-3-chapter,
langid = {dutch},
location = {{Gent}},
title = {Some Chapter},
booktitle = {De Manke Usurpator},
publisher = {{Academia press}},
date = {2012},
pages = 123-145,
author = {Absillis, Kevin},
bookauthor = {Absillis, Kevin and Jaspers, Jürgen and Van Hoof, Sarah},
edition = {3}
}
\end{filecontents*}
\usepackage[dutch]{babel} % Nederlands
\usepackage[autostyle]{csquotes} % Context sensitive quotation facilities
\usepackage[bibstyle=authoryear,citestyle=authoryear,giveninits=true,maxnames=3,doi=false,isbn=false,dashed=false,backend=biber]{biblatex}
\addbibresource{refs.bib}
\DeclareDelimFormat{finalnamedelim}{\addspace\&\space} % Multiple authors? => &
% Bold Author and Year
\DeclareFieldFormat{bold}{\mkbibbold{#1}}
\renewbibmacro*{author}{%
\printtext[bold]{%
\ifboolexpr{
test \ifuseauthor
and
not test {\ifnameundef{author}}
}
{\usebibmacro{bbx:dashcheck}
{\bibnamedash}
{\usebibmacro{bbx:savehash}%
\printnames{author}%
\iffieldundef{authortype}
{\setunit{\printdelim{nameyeardelim}}}
{\setunit{\printdelim{authortypedelim}}}}%
\iffieldundef{authortype}
{}
{\usebibmacro{authorstrg}%
\setunit{\printdelim{nameyeardelim}}}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\printdelim{nonameyeardelim}}}%
\usebibmacro{date+extradate}}}
\renewbibmacro{in:}{%
\ifentrytype{article}
{}
{\printtext{\bibstring{in}\intitlepunct}}}
% article number must be between parenthesis
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
% \setunit*{\adddot}% DELETED
\setunit*{\addnbspace}% NEW (optional); there's also \addnbthinspace
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
% please don't put p. before pagenumbers
\DeclareFieldFormat[incollection]{pages}{#1}
\DeclareFieldFormat[article]{pages}{#1}
\AtEveryBibitem{%
\clearlist{language}%
\clearfield{pagetotal}%
}
\begin{document}
\section{Valerius}
let me quote this old text by \citeauthor{ValeriusNederlandtschegedenckclanck1942} - which was edited by \citename{ValeriusNederlandtschegedenckclanck1942}{editor}
\citeauthor{MeertensAdriaenValeriusleven1942} wrote an introduction for that text, you know!
\section{Usurpator}
\begin{itemize}
\item \cite{Usurpator-book-1}
\item \cite{Usurpator-book-2}
\item \cite{Usurpator-book-3}
\item \cite{Usurpator-book-3-chapter}
\end{itemize}
\setquotestyle{british} % easiest way for single quotes
\printbibliography
\end{document}
答案1
@book
虽然我仍然认为,在几乎所有情况下, s 加上 seditor
和s的期望风格author
都是完全奇怪的,但在某些情况下,人们可能希望强调作品的编辑或翻译,而不是实际作者(古典文本的翻译或大量编辑、评论和注释的作品)。在这些情况下,人们可以使用useauthor=false
将作者移到标题之后的选项,并将editor
或提升translator
到主要位置(参见butler_frankenstein_1998
下面取自哪种 bibtex 样式首先列出书籍编辑器?,并aristotle:physics
取自萨姆卡特的回答到引用译者的话),则在标题后面会提到被降级的作者。
我知道你的ValeriusNederlandtschegedenckclanck1942
情况比较特殊。1626 年 Valerius 的原作本身就已经存在界限,无法确定它是一部@book
Valerius 的作品author
还是一部@collection
Valerius 的作品editor
。将更多后期版本的编辑者加入其中并不能让情况变得更简单。
但我仍然认为,即使在这种情况下,将author
/editor
直接放在年份和标题之间也很奇怪,而且我认为没有必要为这个我认为不成熟的临时要求重写样式。请注意,在所需的输出中,不可能看出“Adrianus Valerius”是原始作者/编辑,相反,名字似乎是标题的一部分。这就是我要利用的:如果样式指南将名称的格式与标题完全一致,我们只需将名称添加到字段title
即可完成。
对于此特定条目,您还想将编辑者标签从“red.”更改为“ed.”,这可以通过字段实现editortype
。我们可以通过定义三个 bibstring (单数)、(复数形式)和(“edited by ...”形式)并赋予它们所需的值来定义一种新的“编辑者类型” specialed
(您可以查看dutch.lbx
其他类型是否更合适)。然后,您可以将该字段添加到所有编辑者为“ed.”而不是“red.”的作品。specialed
specialeds
byspecialed
editortype = {specialed},
阅读后请注意https://www.academiapress.be/nl/producten/nederlandse-taal-en-letterkund/de-manke-usurpator我会将Usurpator
es 归类为@collection
而不是@book
。要求
Absillis, K.、Jaspers, J. 和 Van Hoof, S. (2000 年)。篡夺者:篡夺奴隶。绅士:学术出版社。
Jaspers, J. (2000)。“某些章节”。收录于:Absillis, K.、Jaspers, J. 和 Van Hoof, S. (red.)。(2000)。篡夺者:篡夺奴隶。绅士:学术出版社。
在这方面有点不一致。我原本以为 Absillis, Jaspers & Van Hoof 在两种情况下都是“红色”的,或者根本不是。在完整作品和章节之间更改这一点似乎非常不一致。
一般来说,crossref
更频繁地使用可能会对您有好处。
在大多数情况下,@collection
和之间的差异@book
很小:唯一的大差异是@collection
将忽略任何author
。同样@inbook
,和@incollection
非常相似。选择“正确”的类型通常更多地是语义问题和拥有“良好”的数据库的问题,而不是输出结果不同的问题。如果您对和应用更改,@collection
通常@incollection
它们可以一对一地映射到和的更改@book
,并且@inbook
通常最好在那里也应用这些更改以避免不一致。
就您在问题中提到的情况而言,我同意 Zotero 的启发式方法,即将一本有编辑但没有作者的“书”归类为 是有意义的@collection
。偶尔可能会有例外,但作为经验法则,它相当可靠。
我会尝试以下
\documentclass{article}
\usepackage[dutch]{babel}
\usepackage[autostyle]{csquotes}
\usepackage[style=authoryear, backend=biber,
giveninits=true, uniquename=init, maxnames=3, dashed=false,
doi=false, isbn=false]{biblatex}
\DeclareDelimFormat{finalnamedelim}{\addspace\&\space}
\letbibmacro*{author:unwrapped}{author}
\renewbibmacro{author}{%
\printtext[bold]{\usebibmacro{author:unwrapped}}}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\letbibmacro*{editor:unwrapped}{editor}
\renewbibmacro{editor}{%
\printtext[bold]{\usebibmacro{editor:unwrapped}}%
\ifuseeditor{\clearname{editor}}{}}
\letbibmacro*{editor+others:unwrapped}{editor+others}
\renewbibmacro{editor+others}{%
\printtext[bold]{\usebibmacro{editor+others:unwrapped}}%
\ifuseeditor{\clearname{editor}}{}}
\DeclareFieldAlias{translatortype}{editortype}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\letbibmacro*{translator:unwrapped}{translator}
\renewbibmacro{translator}{%
\printtext[bold]{\usebibmacro{translator:unwrapped}}%
\ifusetranslator{\clearname{translator}}{}}
\letbibmacro*{translator+others:unwrapped}{translator+others}
\renewbibmacro{translator+others}{%
\printtext[bold]{\usebibmacro{translator+others:unwrapped}}%
\ifusetranslator{\clearname{translator}}{}}
\NewBibliographyString{specialed,specialeds,byspecialed}
\DefineBibliographyStrings{dutch}{
specialed = {ed\adddot},
specialeds = {ed\adddot},
byspecialed = {geredigeerd door},% wat gaan we hier doen?
edition = {dr\adddot},
}
% maar: https://taaladvies.net/taal/advies/vraag/2/
% "De achtervoegsels -ste, -de en -e staan op dezelfde hoogte als het getal."
\DefineBibliographyExtras{dutch}{%
\protected\def\mkbibordinal#1{\stripzeros{#1}\textsuperscript{e}}%
}
\DeclareFieldFormat{edition}{%
\mkbibparens{%
\ifinteger{#1}
{\mkbibordedition{#1}\addnbthinspace\bibstring{edition}}
{#1\isdot}}}
\renewbibmacro{in:}{%
\ifentrytype{article}
{}
{\printtext{\bibstring{in}\intitlepunct}}}
\renewbibmacro*{volume+number+eid}{%
\printfield{volume}%
% \setunit*{\adddot}% DELETED
\setunit*{\addnbspace}% NEW (optional); there's also \addnbthinspace
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
\DeclareFieldFormat{pages}{#1}
\AtEveryBibitem{%
\clearlist{language}%
\clearfield{pagetotal}}
\DeclareQuoteStyle{dutch}
{\textquoteleft}
{\textquoteright}
[0.05em]
{\textquotedblleft}
{\textquotedblright}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@collection{ValeriusNederlandtschegedenckclanck1942,
langid = {dutch},
location = {Amsterdam},
title = {Adrianus Valerius. Nederlandtsche gedenck-clanck},
pagetotal = {287},
publisher = {Wereldbibliotheek},
date = {1942},
editor = {Meertens, Pieter Jacobus and Tenhaeff, Nicolaas Bernardus and Komter-Kuipers, Aafke},
editortype = {specialed},
}
@incollection{MeertensAdriaenValeriusleven1942,
title = {Adriaen Valerius' leven en werken},
date = {1942},
pages = {V-XXII},
author = {Meertens, Pieter Jacobus},
crossref = {ValeriusNederlandtschegedenckclanck1942},
}
@collection{Usurpator-book-1,
location = {Gent},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
editor = {Absillis, Kevin},
edition = {1}
}
@collection{Usurpator-book-2,
location = {{Gent}},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
editor = {Absillis, Kevin and Jaspers, Jürgen},
edition = {2}
}
@collection{Usurpator-book-3,
location = {Gent},
title = {De Manke Usurpator},
isbn = {978-90-382-2005-5},
pagetotal = {1234},
publisher = {{Academia press}},
date = {2012},
editor = {Absillis, Kevin and Jaspers, Jürgen and Van Hoof, Sarah},
edition = {3}
}
@incollection{Usurpator-book-3-chapter,
title = {Some Chapter},
pages = {123-145},
author = {Absillis, Kevin},
crossref = {Usurpator-book-3},
}
@book{butler_frankenstein_1998,
address = {Oxford and New York},
series = {Oxford world's classics},
title = {Frankenstein, or, {The} modern {Prometheus}},
subtitle = {the 1818 text},
isbn = {978-0-19-283366-2},
publisher = {Oxford University Press},
author = {Shelley, Mary Wollstonecraft},
editor = {Butler, Marilyn},
year = {1998},
options = {useauthor=false},
}
@book{aristotle:physics,
options = {useauthor=false,usetranslator=true},
author = {Aristotle},
title = {Physics},
date = 1929,
translator = {Wicksteed, P. H. and Cornford, F. M.},
publisher = {G. P. Putnam},
location = {New York},
keywords = {primary},
langid = {english},
langidopts = {variant=american},
shorttitle = {Physics},
annotation = {A \texttt{book} entry with a \texttt{translator} field},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\section{Valerius}
let me quote this old text by \citeauthor{ValeriusNederlandtschegedenckclanck1942} which was edited by \citename{ValeriusNederlandtschegedenckclanck1942}{editor}.
\citeauthor{MeertensAdriaenValeriusleven1942} wrote an introduction for that text, you know!
\section{Usurpator}
\begin{itemize}
\item \cite{Usurpator-book-1}
\item \cite{Usurpator-book-2}
\item \cite{Usurpator-book-3}
\item \cite{Usurpator-book-3-chapter}
\end{itemize}
\section{Oter examples}
\cite{aristotle:physics,butler_frankenstein_1998}
\printbibliography
\end{document}