• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/emacs-93/emacs/lisp/textmodes/

Lines Matching +defs:latex +defs:mode

1 ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- coding: utf-8 -*-
51 "Running external commands from TeX mode."
110 (defcustom latex-run-command "latex"
147 (defvar latex-standard-block-names
160 (defcustom latex-block-names nil
162 Combined with `latex-standard-block-names' for minibuffer completion."
224 (defcustom tex-default-mode 'latex-mode
228 Normally set to either `plain-tex-mode' or `latex-mode'."
286 (defvar tex-mode-syntax-table
306 "Syntax table used while in TeX mode.")
313 (defcustom latex-imenu-indent-string ". "
319 (defvar latex-section-alist
325 (defvar latex-metasection-list
330 (defun latex-imenu-create-index ()
333 (concat "\\\\" (regexp-opt (mapcar 'car latex-section-alist) t)
336 (concat "\\\\" (regexp-opt latex-metasection-list t)))
356 latex-section-alist))))
366 latex-imenu-indent-string))
401 (defvar latex-outline-regexp
403 (regexp-opt (append latex-metasection-list
404 (mapcar 'car latex-section-alist)) t)))
406 (defun latex-outline-level ()
407 (if (looking-at latex-outline-regexp)
408 (1+ (or (cdr (assoc (match-string 1) latex-section-alist)) -1))
719 "Define the keys that we want defined both in TeX mode and in the TeX shell."
743 (defvar tex-mode-map
745 (set-keymap-parent map text-mode-map)
753 (define-key map "\M-\r" 'latex-insert-item)
761 (define-key map "\C-c\C-o" 'latex-insert-block)
762 (define-key map "\C-c\C-e" 'latex-close-block)
763 (define-key map "\C-c\C-u" 'tex-goto-last-unclosed-latex-block)
780 (defvar latex-mode-map
782 (set-keymap-parent map tex-mode-map)
783 (define-key map "\C-c\C-s" 'latex-split-block)
785 "Keymap for `latex-mode'. See also `tex-mode-map'.")
787 (defvar plain-tex-mode-map
789 (set-keymap-parent map tex-mode-map)
791 "Keymap for `plain-tex-mode'. See also `tex-mode-map'.")
795 (set-keymap-parent m shell-mode-map)
799 Inherits `shell-mode-map' with a few additions.")
809 (defvar tex-latex-face-alist
816 (defun tex-guess-mode ()
817 (let ((mode tex-default-mode) slash comment)
826 (setq mode
839 'slitex-mode
840 'latex-mode)
841 'plain-tex-mode))))
842 (funcall mode)))
844 ;; `tex-mode' plays two roles: it's the parent of several sub-modes
847 ;; might be called, we check `delay-mode-hooks'.
848 (define-derived-mode tex-mode text-mode "generic-TeX"
852 ;; `define-derived-mode' will necessarily define the function once
855 (defalias 'tex-mode-internal (symbol-function 'tex-mode))
857 (defun tex-mode ()
858 "Major mode for editing files of input for TeX, LaTeX, or SliTeX.
860 this file is for plain TeX, LaTeX, or SliTeX and calls `plain-tex-mode',
861 `latex-mode', or `slitex-mode', respectively. If it cannot be determined,
862 such as if there are no commands in the file, the value of `tex-default-mode'
863 says which mode to use."
865 (if delay-mode-hooks
867 (tex-mode-internal)
868 (tex-guess-mode)))
872 ;; for all mode relevant variables and hooks, the invocation function
873 ;; and setting of `major-mode' themselves need to be lowercase for
879 (defalias 'TeX-mode 'tex-mode)
881 (defalias 'plain-TeX-mode 'plain-tex-mode)
883 (defalias 'LaTeX-mode 'latex-mode)
886 (define-derived-mode plain-tex-mode tex-mode "TeX"
887 "Major mode for editing files of input for plain TeX.
904 \\{plain-tex-mode-map}
923 Entering Plain-tex mode runs the hook `text-mode-hook', then the hook
924 `tex-mode-hook', and finally the hook `plain-tex-mode-hook'. When the
932 (define-derived-mode latex-mode tex-mode "LaTeX"
933 "Major mode for editing files of input for LaTeX.
950 \\{latex-mode-map}
953 latex-run-command
969 Entering Latex mode runs the hook `text-mode-hook', then
970 `tex-mode-hook', and finally `latex-mode-hook'. When the special
972 (set (make-local-variable 'tex-command) latex-run-command)
984 (mapcar 'car latex-section-alist)
995 (mapcar 'car latex-section-alist)
1003 'latex-imenu-create-index)
1004 (set (make-local-variable 'tex-face-alist) tex-latex-face-alist)
1005 (add-hook 'fill-nobreak-predicate 'latex-fill-nobreak-predicate nil t)
1006 (set (make-local-variable 'indent-line-function) 'latex-indent)
1007 (set (make-local-variable 'fill-indent-according-to-mode) t)
1008 (set (make-local-variable 'outline-regexp) latex-outline-regexp)
1009 (set (make-local-variable 'outline-level) 'latex-outline-level)
1010 (set (make-local-variable 'forward-sexp-function) 'latex-forward-sexp)
1014 (define-derived-mode slitex-mode latex-mode "SliTeX"
1015 "Major mode for editing files of input for SliTeX.
1032 \\{slitex-mode-map}
1051 Entering SliTeX mode runs the hook `text-mode-hook', then the hook
1052 `tex-mode-hook', then the hook `latex-mode-hook', and finally the hook
1053 `slitex-mode-hook'. When the special subshell is initiated, the hook
1078 (error "Face %s not configured for %s mode" face mode-name))))
1095 (set (make-local-variable 'indent-tabs-mode) nil)
1164 (occur-mode)
1273 ;; in LaTeX mode. Its job is to prevent line-breaking inside
1275 (defun latex-fill-nobreak-predicate ()
1288 (defvar latex-block-default "enumerate")
1290 (defvar latex-block-args-alist
1303 (defvar latex-block-body-alist
1304 '(("enumerate" nil '(latex-insert-item) > _)
1305 ("itemize" nil '(latex-insert-item) > _)
1307 '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table"))
1310 '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table"))))
1317 (defalias 'tex-latex-block 'latex-insert-block)
1318 (define-skeleton latex-insert-block
1322 latex-block-default)
1323 (append latex-block-names
1324 latex-standard-block-names)
1325 nil nil nil nil latex-block-default)))
1326 (setq latex-block-default choice)
1327 (unless (or (member choice latex-standard-block-names)
1328 (member choice latex-block-names))
1330 (push choice latex-block-names))
1333 (cdr (assoc str latex-block-args-alist))
1334 > \n (or (cdr (assoc str latex-block-body-alist)) '(nil > _))
1338 (define-skeleton latex-insert-item
1377 (defun tex-goto-last-unclosed-latex-block ()
1388 (defun latex-backward-sexp-1 ()
1406 (defun latex-forward-sexp-1 ()
1426 (defun latex-forward-sexp (&optional arg)
1435 (progn (latex-forward-sexp-1) (1- arg))
1436 (progn (latex-backward-sexp-1) (1+ arg)))))
1441 (defun latex-syntax-after ()
1445 (defun latex-skip-close-parens ()
1452 (defun latex-down-list ()
1461 (with-syntax-table tex-mode-syntax-table
1464 (defalias 'tex-close-latex-block 'latex-close-block)
1465 (define-skeleton latex-close-block
1473 (define-skeleton latex-split-block
1495 (if (and transient-mark-mode mark-active)
1534 (define-derived-mode tex-shell shell-mode "TeX-Shell"
1537 (compilation-shell-minor-mode t))
1736 ;; (or (easy-mmode-derived-mode-p 'latex-mode)
1737 ;; (easy-mmode-derived-mode-p 'plain-tex-mode))
1866 ;; TODO: Learn to do latex+dvips!
2364 (defvar latex-noindent-environments '("document"))
2366 (defvar tex-latex-indent-syntax-table
2367 (let ((st (make-syntax-table tex-mode-syntax-table)))
2374 (defun latex-indent (&optional arg)
2378 (with-syntax-table tex-latex-indent-syntax-table
2383 (latex-find-indent))))
2389 (defun latex-find-indent (&optional virtual)
2407 (and (eq (latex-syntax-after) ?\))
2410 (latex-skip-close-parens)
2411 (latex-backward-sexp-1)
2412 (latex-find-indent 'virtual))))
2421 (latex-backward-sexp-1)
2423 (latex-backward-sexp-1)))
2443 (> pos (progn (latex-down-list)
2452 latex-noindent-environments))
2454 indent (latex-find-indent 'virtual))))
2524 (define-derived-mode doctex-mode latex-mode "DocTeX"
2525 "Major mode to edit DocTeX files."
2538 (run-hooks 'tex-mode-load-hook)
2540 (provide 'tex-mode)
2543 ;;; tex-mode.el ends here