2

I'm working on a document, where some references are collaboration papers with huge number of authors. Biber generates huge bbl files (ca. 8 MB) that cause pdflatex to fail (TeX capacity exceeded, sorry [main memory size=5000000]).

For certain reasons I can't use lualatex instead of pdflatex.

Is it possible to use biber in the "tool" mode so that it shortens the list of the authors replacing the omitted authors with "and others"?

Unfortunately, I can't find such option in the description of sourcemap function in biber documentation.

2
  • 1
    I don't think there is a built-in function for that, but it might be possible to cook something up with sourcemaps and RegExp if you can live with the slight limitation that RegExp isn't great at tracking brace groups and that it would probably be hard to ignore brace protected ands as in author = {{National Aeronautics and Space Administration} and {American Psychological Association}}, – moewe Jan 17 '19 at 11:45
  • 2
    tex.stackexchange.com/q/401818/35864 has a naive truncation to one author. – moewe Jan 17 '19 at 11:50
1

I have analyzed the tex.stackexchange.com/q/401818/35864 example and I have adapted that solution for maximum number of 4 authors.

I have created the biber.conf file:

<?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>

Then I have run:

biber --tool references.bib

After that I have got the references_bibertool.bib file with correctly truncated lists of authors. Of course the solution is probably sensitive to brace protected "and" in author names, as stated by moewe in his comment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.