我正在使用 biblatex-apa,此示例应将月份放在年份后面,如 (Gilbert, 1987, may),但我得到的却是 (Gilbert, 1987)。
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@article{gilbert87,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
month = may,
year = {1987},
pages = {99}
}
\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[
style=apa,
backend=biber
]{biblatex}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[british]{babel}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{mybib.bib}
\begin{document}
Here is som text \parencite{gilbert87}.
\printbibliography
\end{document}
答案1
gilbert88
通过在文件中添加第二个 bib 条目,bib
例如
@article{gilbert88,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
date = {1988-05},
pages = {100},
}
使用biblatex
符合date
字段,而不是旧的year
和month
字段(date = {1988-05}
),你得到以下 MWE
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{gilbert87,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
month = may,
year = {1987},
pages = {99},
}
@article{gilbert88,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
date = {1988-05},
pages = {100},
}
\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[%
style=apa,
backend=biber
]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{\jobname.bib}
\begin{document}
Here is some text~\parencite{gilbert87} and~\parencite{gilbert88}.
\printbibliography
\end{document}
结果如下:
如您所见,字段中带有年份 1988 的新书目条目date = {1988-05}
提供了您想要的书目条目。
要显示月份,\parencite
您需要使用 重新定义该命令\DeclareCiteCommand{\parencite}
。
请参阅以下 MWE
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{gilbert87,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
month = may,
year = {1987},
pages = {99},
}
@article{gilbert88,
title = {Terrifying guitar 101},
journal = {Guitar player},
author = {Gilbert, Paul},
date = {1988-05},
pages = {100},
}
\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[%
style=apa,
backend=biber
]{biblatex}
\DeclareLanguageMapping{british}{british-apa}
\addbibresource{\jobname.bib}
\DeclareCiteCommand{\parencite}[\mkbibparens]%
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}\setunit{\nameyeardelim}\printfield{month}} % <============
{}
{\usebibmacro{postnote}%
\usebibmacro{cite:post}}
\begin{document}
Here is some text~\parencite{gilbert87}
and~\parencite[prenote][postnote]{gilbert88}
and~\parencite*[prenote][postnote]{gilbert88}.
\printbibliography
\end{document}
结果: