comparison lisp/textmodes/tex-mode.el @ 15513:1252826f389b

(tex-common-initialization): Set skeleton-further-elements. (tex-latex-block): Define as a skeleton.
author Richard M. Stallman <rms@gnu.org>
date Tue, 25 Jun 1996 22:44:10 +0000
parents 21998d33460f
children 3b4678aa4e9f
comparison
equal deleted inserted replaced
15512:47d9b7a1dee3 15513:1252826f389b
554 (setq comment-indent-function 'tex-comment-indent) 554 (setq comment-indent-function 'tex-comment-indent)
555 (make-local-variable 'parse-sexp-ignore-comments) 555 (make-local-variable 'parse-sexp-ignore-comments)
556 (setq parse-sexp-ignore-comments t) 556 (setq parse-sexp-ignore-comments t)
557 (make-local-variable 'compare-windows-whitespace) 557 (make-local-variable 'compare-windows-whitespace)
558 (setq compare-windows-whitespace 'tex-categorize-whitespace) 558 (setq compare-windows-whitespace 'tex-categorize-whitespace)
559 (make-local-variable 'skeleton-further-elements)
560 (setq skeleton-further-elements
561 '((indent-line-function 'indent-relative-maybe)))
559 (make-local-variable 'facemenu-add-face-function) 562 (make-local-variable 'facemenu-add-face-function)
560 (make-local-variable 'facemenu-end-add-face) 563 (make-local-variable 'facemenu-end-add-face)
561 (make-local-variable 'facemenu-remove-face-function) 564 (make-local-variable 'facemenu-remove-face-function)
562 (setq facemenu-add-face-function 565 (setq facemenu-add-face-function
563 (lambda (face end) 566 (lambda (face end)
726 (insert ?\{) 729 (insert ?\{)
727 (save-excursion 730 (save-excursion
728 (insert ?}))) 731 (insert ?})))
729 732
730 ;;; Like tex-insert-braces, but for LaTeX. 733 ;;; Like tex-insert-braces, but for LaTeX.
731 (defun tex-latex-block (name) 734 (define-skeleton tex-latex-block
732 "Creates a matching pair of lines `\\begin{NAME}' and `\\end{NAME}' at point. 735 "Create a matching pair of lines \\begin[OPT]{NAME} and \\end{NAME} at point.
733 Puts point on a blank line between them." 736 Puts point on a blank line between them."
734 (interactive 737 (completing-read "LaTeX block name: "
735 (prog2 738 (mapcar 'list
736 (barf-if-buffer-read-only) 739 (append standard-latex-block-names
737 (list 740 latex-block-names)))
738 (completing-read "LaTeX block name: " 741 "\\begin["
739 (mapcar 'list 742 (skeleton-read "[options]: ") & ?\] | -1
740 (append standard-latex-block-names 743 ?\{
741 latex-block-names)))))) 744 str
742 (let ((col (current-column))) 745 ?\} \n
743 (insert (format "\\begin{%s}\n" name)) 746 _ \n
744 (indent-to col) 747 "\\end{" str ?\})
745 (save-excursion
746 (insert ?\n)
747 (indent-to col)
748 (insert-string (format "\\end{%s}" name))
749 (if (eobp) (insert ?\n)))))
750 748
751 (defun tex-last-unended-begin () 749 (defun tex-last-unended-begin ()
752 "Leave point at the beginning of the last `\\begin{...}' that is unended." 750 "Leave point at the beginning of the last `\\begin{...}' that is unended."
753 (while (and (re-search-backward "\\(\\\\begin\\s *{\\)\\|\\(\\\\end\\s *{\\)") 751 (while (and (re-search-backward "\\(\\\\begin\\s *{\\)\\|\\(\\\\end\\s *{\\)")
754 (looking-at "\\\\end{")) 752 (looking-at "\\\\end{"))