更改 apacite 的引用格式

更改 apacite 的引用格式

考虑以下 MWE:

\documentclass{article}
\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}

\usepackage{filecontents}
\begin{filecontents*}{bibliography.bib}
@article{billioandrew,
    author  = "Billio, M. and Getmansky, M. and Lo, A. and Pelizzon, L.",
    title   = "Econometric measures of connectedness and systemic risk in the finance and insurance sectors",
    year    = "2012",
    journal = "Journal of Financial Economics",
    volume  = "104",
    number  = "3",
    pages   = "535--559"}
\end{filecontents*}

\begin{document}
\nocite{*}
\bibliography{bibliography}      
\end{document}

参考列表中的输出如下:

在此处输入图片描述

但是,我希望输出是:

Billio, M., Getmansky, M., Lo, A., Pelizzon, L., 2012. 金融和保险行业关联性和系统性风险的计量经济学测量。《金融经济学杂志》104(3), 535-559


请注意以下更改:

1) 最后一位作者后加逗号(例如,用 L. 代替 L.)

2) 年份不要用括号(例如,用 2012 代替 (2012))

3)期刊名称不能用斜体(例如,Journal of Financial Economics 不能用斜体)金融经济学杂志

4) 卷号不用斜体(例如,用 104 代替104

5) 期刊名称后和卷号前没有逗号(例如,Journal of Financial Economics 104(3) 而不是 Journal of Financial Economics, 104(3))

6)&多位作者/编辑者列表中的最后一位作者/编辑者前无符号


我也希望能适用同一套规则@misc

但是,我希望文内引用保持不变,我只希望上述内容适用于参考列表输出。

我怎样才能实现这个目标?

答案1

就在这里。请注意,biblatex允许模拟natbib命令。特别是,在此模式下,您始终可以写入\citep,但实际上它会被翻译成 biblatex 的命令\parencite。更重要的是,语法略有不同:文档正文中的 \bibliography{name_of_the_bibfile} 被替换为:

  1. \addbibresource{name_of_the_bibfile.bib}在序言中

  2. \printbibliography在文档正文中

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[american]{babel}
\usepackage{csquotes}

\begin{filecontents}{\jobname.bib}
@article{billioandrew,
    author  = {Billio, M. and Getmansky, M. and Lo, A. and Pelizzon, L.},
    title   = {Econometric measures of connectedness and systemic risk in the finance and insurance sectors},
    year    = {2012},
    journal = {Journal of Financial Economics},
    volume  = {104},
    number  = {3},
    pages   = {535--559}}
\end{filecontents}
\usepackage[backend=biber, style=apa, natbib]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewbibmacro*{author}{%original
\ifnameundef{author}
{\usebibmacro{labeltitle}}
{\printnames[apaauthor][-\value{listtotal}]{author}%
 \setunit*{\addspace}%
 \printfield{nameaddon}%
 \ifnameundef{with}
   {}
   {\setunit{}\addspace\mkbibparens{\printtext{\bibstring{with}\addspace}%
    \printnames[apaauthor][-\value{listtotal}]{with}}
    \setunit*{\addspace}}}%
\setunit{\addcomma\space}\newblock%
\usebibmacro{labelyear+extrayear}}

\renewbibmacro*{journal+issuetitle}{%
  \usebibmacro{journal}%
  \setunit*{\addspace}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}
     \setunit{\addspace}}%
  \printfield{volume}%
  \printfield{number}%
  \setunit{\addspace}\newblock
  \usebibmacro{issuename}%
  \newunit}

\DeclareFieldFormat{yearorunkyear}{%
  \ifthenelse{\iffieldequalstr{doubtfuldate}{true}}
    {\mkbibbrackets{ca\adddot\addspace#1}}
    {#1}}
\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat[article]{volume}{\apanum{#1}}

\AtBeginBibliography{
\renewcommand*{\finalnamedelim}{%
\ifthenelse{\value{listcount}>\maxprtauth}
  {}
  {\ifthenelse{\value{liststop}>2}
     {\finalandcomma\addspace}
     {\addspace\&\space}}}}

\DeclareCiteCommand{\parencite}[\mkbibparens]
{\renewcommand{\finalnamedelim}{\ \finalandcomma\addspace}%
\usebibmacro{cite:init}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{}
{\usebibmacro{postnote}%
\usebibmacro{cite:post}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

As we see in \parencite{billioandrew},…

\printbibliography

\end{document} 

在此处输入图片描述

相关内容