Posted By

deepsoul on 08/18/09


url sed bibtex long-line

Versions (?)

Fix BibTeX URLs and long lines

 / Published in: Bash


The tetex implementation of BibTeX, LaTeX's bibliography tool, forcibly breaks lines above a certain length (79 chars) by inserting % signs and line feeds, unless they can be broken between words. This is a problem when URLs are referenced, or if control sequences without spaces between them are used.

The following solution using sed improves on the one given in the post above in that it works if a line is broken twice or more times. It can be used as an example on how to concatenate lines ending with a specific character indicating continuation.

  1. # shell functions save a lot of typing...
  2. function fixbbl()
  3. {
  4. # This will overwrite the target file in-place
  5. sed -i ':s
  6. /%$/{
  7. N
  8. bs
  9. }
  10. s/%\n//g' "$1"
  11. }
  13. # usage:
  14. fixbbl document.bbl

Report this snippet  

You need to login to post a comment.