Function: latex-insert-block

latex-insert-block is an interactive and byte-compiled function defined in tex-mode.el.gz.

Signature

(latex-insert-block &optional STR ARG)

Documentation

Create a matching pair of lines \begin{NAME} and \end{NAME} at point.

Puts point on a blank line between them.

This is a skeleton command (see skeleton-insert). Normally the skeleton text is inserted at point, with nothing "inside". If there is a highlighted region, the skeleton text is wrapped around the region text.

A prefix argument ARG says to wrap the skeleton around the next ARG words. A prefix argument of -1 says to wrap around region, even if not highlighted. A prefix argument of zero says to wrap around zero words---that is, nothing. This is a way of overriding the use of a highlighted region.

View in manual

Key Bindings

Aliases

tex-latex-block

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/tex-mode.el.gz
(define-skeleton latex-insert-block
  "Create a matching pair of lines \\begin{NAME} and \\end{NAME} at point.
Puts point on a blank line between them."
  (let ((choice (completing-read (format "LaTeX block name [%s]: "
					 latex-block-default)
                                 (latex-complete-envnames)
				 nil nil nil nil latex-block-default)))
    (setq latex-block-default choice)
    (unless (or (member choice latex-standard-block-names)
		(member choice latex-block-names))
      ;; Remember new block names for later completion.
      (push choice latex-block-names))
    choice)
  \n "\\begin{" str "}"
  (cdr (assoc str latex-block-args-alist))
  > \n (or (cdr (assoc str latex-block-body-alist)) '(nil > _))
  (unless (bolp) '\n)
  "\\end{" str "}" > \n)