Mercurial > emacs
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{")) |