使用 natbib 提供大量引用列表

使用 natbib 提供大量引用列表

\cite{}我的参考资料非常丰富,大约有 6000 个条目。

编译时这并不顺利。

在 Windows 上,它会抱怨有超过 2000 个条目。

在 Linux 上,它会抱怨缺少}

! Missing } inserted.
<inserted text> 
}
l.31429 \end{thebibliography}

我用 WinEdt 检查了 bib 文件,发现所有括号都是匹配的。我stack_size = 5000在 Linux 下也这样做过,但增加到 时也出现了同样的消息stack_size = 50000

我怎样才能正确引用每个人?

答案1

解决这个问题有几个方面:

  1. 拥有stack_size足够大的。默认值约为2000,这里我需要大于的值6000

    在 Ubuntu 下我必须添加stack_size = 10000里面/usr/share/texlive/texmf.cnf然后运行texhash,两者都需要 root 权限。

    (Windows 和 Linux 说明这里

  2. 拥有一个好的 bib 文件。检查非转义字符,如&,$%或转义的右括号:\}。这也有助于检查您是否拥有正确数量的左括号和右括号。您也可以查看这里

  3. 该键\cite{6000 entries}似乎无法处理那么多条目(永远无法完成,但也许我没有等待足够长的时间,但几个小时并不符合我的要求)。可能与sort&compress我使用的选项有关。解决方案是使用\nocite{6000 entries}。这会改变显示,但至少它会在合理的时间内完成。

正如@David Carlisle所建议的那样,另一种方法是使用比伯因为它没有那么多限制。

相关内容