我一直尝试使用 \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
后记前的标点符号由 控制postnotedelim
,biblatex-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}
答案2
按照建议https://tex.stackexchange.com/a/478292/17360我会将其添加\newcommand\myparencite[2][]{(\cite{#2},~#1)}
到序言中,然后使用\myparencite[23]{colu92}
。这样就产生了所需的解决方案: