![biblatex-mla 短标题前的空格](https://linux22.com/image/246195/biblatex-mla%20%E7%9F%AD%E6%A0%87%E9%A2%98%E5%89%8D%E7%9A%84%E7%A9%BA%E6%A0%BC.png)
我在文本中使用 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。