我正在处理一份文档,其中的一些参考文献是与大量作者合作的论文。Biber 生成巨大的 bbl 文件(约 8 MB),导致 pdflatex 失败(超出 TeX 容量,抱歉 [主内存大小=5000000])。
由于某些原因,我不能使用 lualatex 代替 pdflatex。
是否可以在“工具”模式下使用 biber,以便缩短作者列表并用“和其他人”替换省略的作者?
不幸的是,我在 biber 文档中的 sourcemap 函数描述中找不到这样的选项。
答案1
我已经分析过tex.stackexchange.com/q/401818/35864例如,我已经将该解决方案调整为最多 4 位作者。
我已经创建了 biber.conf 文件:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<sourcemap>
<maps datatype="bibtex" map_overwrite="1">
<map map_overwrite="1">
<map_step map_field_source="AUTHOR"
map_match="\A(.+?)\s+and+(.+?)\s+and+(.+?)\s+and+(.+?)\s+and+\s.*"
map_replace="$1 and $2 and $3 and $4 and others"/>
</map>
</maps>
</sourcemap>
</config>
然后我跑了:
biber --tool references.bib
之后,我得到了包含正确截断的作者列表的 references_bibertool.bib 文件。当然,正如 moewe 在其评论中所述,该解决方案可能对作者姓名中带括号保护的“and”敏感。