在添加了来自其他答案的调整之后(谢谢!)我设法使authoryear
文章条目变成这样:
Russell, Bertrand (1905). “论表示”。头脑, 第卷14,没有。 56,479–493。
但我还需要做一个调整:在文章标题和期刊名称之间加一个逗号,这样就可以了:
Russell, Bertrand (1905). “论表示”头脑, 第卷14,没有。 56,479–493。
我目前使用以下方式调用 biblatex:
\usepackage[style=authoryear,natbib=true]{biblatex}
在 biblatex.cfg 中我有:
\DeclareFieldFormat{postnote}{#1}%
\DeclareFieldFormat{pages}{#1}%
\renewbibmacro{in:}{%
\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
% Comma before and after journal volume
\renewbibmacro*{volume+number+eid}{%
\setunit*{\addcomma\space}% NEW
\printfield{volume}%
% \setunit*{\adddot}% DELETED
\setunit*{\addcomma\space}% NEW
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
% Prefixes for journal volume and number
\DeclareFieldFormat[article]{volume}{\bibstring{volume}~#1}% volume of a journal
\DeclareFieldFormat[article]{number}{\bibstring{number}~#1}% number of a journal
答案1
由于您只希望将更改应用于@articles
最佳操作方案,因此可能将逗号注入in:
宏中,如下所示
\renewbibmacro{in:}{%
\ifentrytype{article}
{\setunit{\addcomma\space}}
{\printtext{\bibstring{in}\intitlepunct}}}
这会在标点符号缓冲区中插入一个逗号并覆盖原来的句点(@article
仅适用于 s)。
平均能量损失
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[style=authoryear]{biblatex}
\addbibresource{biblatex-examples.bib}
\DeclareFieldFormat{postnote}{#1}%
\DeclareFieldFormat{pages}{#1}%
\renewbibmacro{in:}{%
\ifentrytype{article}
{\setunit{\addcomma\space}}
{\printtext{\bibstring{in}\intitlepunct}}}
% Comma before and after journal volume
\renewbibmacro*{volume+number+eid}{%
\setunit*{\addcomma\space}% NEW
\printfield{volume}%
% \setunit*{\adddot}% DELETED
\setunit*{\addcomma\space}% NEW
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
% Prefixes for journal volume and number
\DeclareFieldFormat[article]{volume}{\bibstring{volume}~#1}% volume of a journal
\DeclareFieldFormat[article]{number}{\bibstring{number}~#1}% number of a journal
\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}