Function: bibtex-entry

bibtex-entry is an interactive and byte-compiled function defined in bibtex.el.gz.

Signature

(bibtex-entry ENTRY-TYPE)

Documentation

Insert a template for a BibTeX entry of type ENTRY-TYPE.

After insertion call the value of bibtex-add-entry-hook if that value is non-nil.

Probably introduced at or before Emacs version 31.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/bibtex.el.gz
(defun bibtex-entry (entry-type)
  "Insert a template for a BibTeX entry of type ENTRY-TYPE.
After insertion call the value of `bibtex-add-entry-hook' if that value
is non-nil."
  (interactive
   (let ((completion-ignore-case t))
     (list (completing-read "Entry Type: " bibtex-entry-alist
                            nil t nil 'bibtex-entry-type-history))))
  (let ((key (if (and bibtex-maintain-sorted-entries
                      bibtex-entry-ask-for-key)
                 (bibtex-read-key (format "%s key: " entry-type))))
        (field-list (bibtex-field-list entry-type)))
    (unless (bibtex-prepare-new-entry (list key nil entry-type))
      (user-error "Entry with key `%s' already exists" key))
    (indent-to-column bibtex-entry-offset)
    (insert "@" entry-type (bibtex-entry-left-delimiter))
    (if key (insert key))
    (save-excursion
      (mapc #'bibtex-make-field (car field-list))
      (mapc #'bibtex-make-optional-field (cdr field-list))
      (if bibtex-comma-after-last-field
          (insert ","))
      (insert "\n")
      (indent-to-column bibtex-entry-offset)
      (insert (bibtex-entry-right-delimiter) "\n\n"))
    (bibtex-next-field t)
    (if (member-ignore-case entry-type bibtex-autofill-types)
	(bibtex-autofill-entry))
    (run-hooks 'bibtex-add-entry-hook)))