Function: latex-split-block

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

Signature

(latex-split-block &optional STR ARG)

Documentation

Split the enclosing environment by inserting \end{..}\begin{..} at point.

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.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/tex-mode.el.gz
(define-skeleton latex-split-block
  "Split the enclosing environment by inserting \\end{..}\\begin{..} at point."
  (save-excursion
    (tex-last-unended-begin)
    (if (not (looking-at "\\\\begin\\(\\s *{[^}\n]*}\\)")) '("{" _ "}")
      (prog1 (match-string 1)
	(goto-char (match-end 1))
	(setq v1 (buffer-substring (point)
				   (progn
				     (while (looking-at "[ \t]*[[{]")
				       (forward-sexp 1))
				     (point)))))))
  \n "\\end" str > \n _ \n "\\begin" str v1 > \n)