语境
我使用 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}
。