biblatex-mla 有时 \autocite[prenote][pg]{key} 不会打印作者姓名

biblatex-mla 有时 \autocite[prenote][pg]{key} 不会打印作者姓名

语境

我使用 Emacs 23、Auctex、Texlive 2011、biblatex-mla。我的操作系统是 Linux Mint Lisa。

我正在写我的论文。我使用 dissertation.cls 和主文档。这是主文档中序言的一部分:

\usepackage[portuguese, spanish, american]{babel}
\usepackage{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage{csquotes}
\usepackage[style=mla]{biblatex}
\bibliography{thesis}

\newenvironment{mlaquote}
{\list{}{
 \leftmargin 1 in
 \itemindent 0in
 \topsep 0in
 \partopsep 0in
}\item\relax}
{\endlist}

问题

我经常需要包含这个预注:(qtd. in)。有时以下命令就可以正常工作:

\autocite[Quijano qtd. in][ 23] {Caetano1986}

结果是:(Quijano qtd. in Caetano and Rilla 23)。

但在这种情况下:

\autocite[Quijano qtd. in][44-5]{Caetano1986}.

结果是:(Quijano 引自 44-5)

我想知道为什么在第二种情况下作者失踪了。

我认为我的序言工作得很好,因为我能够毫无问题地处理文章、书籍、文集、论文、章节等。除了一些带有序言的参考资料外,PDF 中的所有内容看起来都很好。

我认为 Auctex 和 Biblatex 之间存在一些兼容性问题,并尝试通过这篇文章修复它: 定制 emacs 以使用 biblatex-biber 而不是 bibtex 但最后我还是没能解决这个问题。

这是我的参赛作品:

@BOOK{Caetano1986, 
title = {El joven Quijano (1900-1933): Izquierda nacional y conciencia cr\'itica}, 
publisher = {Ediciones de la Banda Oriental}, 
year = {1986}, 
author = {Gerardo Caetano and {Jos\'e Pedro} Rilla}, 
location = {Montevideo}, 
owner = {alfredo}, 
shorttitle = {Joven}, 
timestamp = {2011.04.24} 
}

答案1

biblatex-mla 中作者姓名的缺失是设计使然。如果重复引用被大量文本隔开,这可能会带来问题。为了完全避免姓名遗漏,您可以重新定义cite:ibid参考书目宏。以下是一个例子。

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

\bibliography{biblatex-examples}

\renewbibmacro*{cite:ibid}{%
  \usebibmacro{cite:reset}%
  \usebibmacro{cite:mla:noibid}}

\begin{document}
\autocite[e.g.][27--45]{companion}
\autocite[e.g.][27--45]{companion}
\autocite[e.g.][27--45]{bertram}
\printbibliography
\end{document}

这是用 biblatex 1.0 编译的文档。

在此处输入图片描述

作为参考,这里是使用 biblatex 1.7 和 hyperref 的(未经编辑的)biblatex-mla 输出:

在此处输入图片描述

同时使用 biblatex 1.0 和 hyperref 似乎可以解决后记的间距问题,但您必须省略前后记中多余的空格。例如,\autocite[Quijano qtd. in][ 23]{Caetano1986}应将其更改为\autocite[Quijano qtd. in][23]{Caetano1986}

答案2

当您声明使用 biblatex 时,请使用\usepackage[style=mla,ibidtracker=false]{biblatex}

相关内容