根据我拥有的 APA 手册,在参考文献部分,未发表的论文应采用以下格式:
Doe,J.(2015 年)。标题(未发表博士论文)。某大学,城市。
使用biblatex-apa
,我能得到的最接近的东西是使用以下示例代码:
主要.tex:
\documentclass{article}
\usepackage[british]{babel}
\usepackage[english=american,autostyle=false]{csquotes}
\usepackage[style=apa, backend=biber, natbib]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{bibliography.bib}
\begin{document}
Blah blah blah \parencite{doe2015}.
\printbibliography
\end{document}
书目.bib:
@Unpublished{doe2015a,
Title = {Title},
Author = {Doe, J.},
Year = {2015},
Location = {City},
School = {Some University},
Note = {(Unpublished doctoral dissertaion)}
}
但是结果仍然不是我想要的。顺序和标点符号的使用都不同:
Doe,J.(2015 年)。标题,某大学。(未发表的博士论文),城市。
我该如何定制它以符合规则?
答案1
论文和学位论文应该使用thesis
(或phdthesis
和mastersthesis
别名)类型,而不是unpublished
类型。所以这是问题的一部分。
但biblatex-apa
仍然没有完全按照您的格式格式化(我通常会遵循biblatex-apa
,因为据我所知它是相当准确的。)但如果您想改变这一点,您可以改变type+institution
格式化的方式:
\documentclass{article}
\usepackage[british]{babel}
\usepackage[english=british,autostyle=false]{csquotes}
\usepackage[style=apa, backend=biber, natbib]{biblatex}
\usepackage{filecontents}
\DeclareLanguageMapping{british}{british-apa}
\renewbibmacro*{type+institution}{%
\setunit{\addspace}%
\ifthenelse{\iffieldundef{type}\AND\iffieldundef{institution}}
{}
{\printtext[parens]{%
\iflistundef{institution}
{\setunit*{\addspace}}
{\setunit*{\addcolon\space}}%
\printfield{type}}%
\setunit*{\adddot\space}%
\printlist{institution}%
\setunit*{\addcomma\space}%
\printlist{location}%
\newunit}}
\begin{filecontents*}{\jobname.bib}
@thesis{doe2015a,
Title = {Title},
Author = {Doe, J.},
Year = {2015},
Location = {City},
School = {Some University},
Type = {unpublished doctoral dissertation}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
Blah blah blah \parencite{doe2015a}.
\printbibliography
\end{document}
答案2
将字段更改Note
为Howpublished
。要隐藏标题和“未发布...”之间的标点符号,可以使用一个小补丁:
\documentclass{article}
\usepackage[british]{babel}
\usepackage[english=american,autostyle=false]{csquotes}
\usepackage[style=apa, backend=biber, natbib]{biblatex}
\usepackage{xpatch}
\xpatchbibdriver{unpublished}{%
\newunit\newblock
\printfield{howpublished}%
}{%
\setunit{\addspace}\newblock
\printfield{howpublished}%
}{}{}
\usepackage{filecontents}
\DeclareLanguageMapping{british}{british-apa}
\begin{filecontents*}{bibliography.bib}
@Unpublished{doe2015a,
Title = {Title},
Author = {Doe, J.},
Year = {2015},
Location = {City},
School = {Some University},
Howpublished = {(Unpublished doctoral dissertation)}
}
\end{filecontents*}
\addbibresource{bibliography.bib}
\begin{document}
Blah blah blah \parencite{doe2015a}.
\printbibliography
\end{document}