biblatex-mla 短标题前的空格

biblatex-mla 短标题前的空格

我在文本中使用 LuaLaTeX 和引号biblatex-mla样式\autocites*。但在“OED”等简称前缺少空格。如何插入空格?这是一个最小的工作示例:

\documentclass{minimal}
\usepackage[
  backend=biber,
  style=mla
]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}

@BOOK{Delbridge1992,
  title = {The Macquarie Dictionary},
  shorttitle = {MD},
  publisher = {Macquarie Library},
  year = {1992},
  editor = {Arthur Delbridge}
}

@BOOK{Simpson1989,
  title = {The Oxford English Dictionary},
  shorttitle = {OED},
  publisher = {Oxford UP},
  year = {1989},
  editor = {J. A. Simpson and E. S. C. Weiner},
  address = {Oxford}
}

\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
Looks like: \autocites*[cf.][]{Delbridge1992}[]{Simpson1989} % [cf. ] or [cf.\ ] won't work either

But should look like: (cf.\,\emph{MD},\,\emph{OED})

\end{document}

答案1

在 mla.cbx 中,短标题由 设定cite:mla:title:alone。此书目宏以 开头\unspace。删除该命令似乎可以解决问题。

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=mla]{biblatex}
\usepackage{hyperref}

\renewbibmacro*{cite:mla:title:alone}{%
  \printtext[bibhyperref]{%
  \printfield[citetitle:\strfield{entrytype}]{labeltitle}}%
  \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}%
    {\printtext[bibhyperref]{%
      \printfield[mla:capital]{entrysubtype}}}%
    {}}

\begin{filecontents}{\jobname.bib}
@BOOK{Delbridge1992,
  title = {The Macquarie Dictionary},
  shorttitle = {MD},
  publisher = {Macquarie Library},
  year = {1992},
  editor = {Arthur Delbridge}}
@BOOK{Simpson1989,
  title = {The Oxford English Dictionary},
  shorttitle = {OED},
  publisher = {Oxford UP},
  year = {1989},
  editor = {J. A. Simpson and E. S. C. Weiner},
  address = {Oxford}}
\end{filecontents}

\bibliography{\jobname}
\begin{document}
\autocites*[cf.][]{Delbridge1992}{Simpson1989}
\end{document}

其他间距问题相对难以修复。在 biblatex-mla 更新之前,最好使用 hyperref 和biblatex 1.0

相关内容