Function: bibtex-realign

bibtex-realign is a byte-compiled function defined in bibtex.el.gz.

Signature

(bibtex-realign)

Documentation

Realign BibTeX entries such that they are separated by one blank line.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/bibtex.el.gz
(defun bibtex-realign ()
  "Realign BibTeX entries such that they are separated by one blank line."
  (goto-char (point-min))
  (let ((case-fold-search t)
        (entry-type (concat "[ \t\n]*\\(" bibtex-entry-type "\\)")))
    ;; No blank lines prior to the first entry if there no
    ;; non-white characters in front of it.
    (when (looking-at entry-type)
      (replace-match "\\1"))
    ;; Entries are separated by one blank line.
    (while (re-search-forward entry-type nil t)
      (replace-match "\n\n\\1"))
    ;; One blank line past the last entry if it is followed by
    ;; non-white characters, no blank line otherwise.
    (beginning-of-line)
    (when (re-search-forward bibtex-entry-type nil t)
      (bibtex-end-of-entry)
      (bibtex-delete-whitespace)
      (open-line (if (eobp) 1 2)))))