如何在带页码的文本引用中添加 MLA 样式

如何在带页码的文本引用中添加 MLA 样式

我一直尝试使用 \parencite 创建包含页码的引文。我使用的命令是 \parencite[23]{columbus},它给出了 (Columbus 23)。我怎样才能将其输出为:(Columbus, 23)。

最小工作示例:

\documentclass[12pt]{article}


\usepackage[utf8]{inputenc}
\usepackage{babel, csquotes, xpatch}
\usepackage[backend=biber, style=mla-new, natbib]{biblatex}
\addbibresource{mla.bib}



\begin{document}
\begin{flushleft}



\centerline{Paper Title}


Lorem ipsum dolor sit amet \parencite[23]{colu92}
\newpage



\centerline{Works Cited}

\printbibliography[heading=none]
  
\end{flushleft}
\end{document}
\}

答案1

后记前的标点符号由 控制postnotedelimbiblatex-mla设置为\addspace。不幸的是,仅将此分隔符设置为 是不够的\addcomma\space。在许多地方biblatex-mla删除了对 的引用postnotedelim,因此我们必须重新添加它们

\documentclass[american]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=mla-new]{biblatex}

\DeclareDelimFormat{postnotedelim}{\addcomma\space}

\renewbibmacro*{postnote}{%
  \iffieldundef{postnote}%
    {}
    {\setunit{\printdelim{postnotedelim}}%%
     \ifbool{cbx@hyperpages}%
      {\printtext[bibhyperref]{\printfield[ibidpostnote]{postnote}}}%
      {\printfield[ibidpostnote]{postnote}}}}%

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[380]{sigfridsson}
ipsum \autocite[12-14]{worman}

\printbibliography
\end{document}

Lorem(Sigfridsson 和 Ryde,380) ipsum(Worman,12-14)

答案2

按照建议https://tex.stackexchange.com/a/478292/17360我会将其添加\newcommand\myparencite[2][]{(\cite{#2},~#1)}到序言中,然后使用\myparencite[23]{colu92}。这样就产生了所需的解决方案:

预览

相关内容