;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Tue Aug  4 23:39:58 1998
;;; from file /gd/gnu/emacs/lisp/textmodes/tex-mode.el
;;; in Emacs version 20.2.98.3
;;; with bytecomp version 2.48
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`tex-mode.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\302\303!\210\302\304!\210\305\306\307\310\311	\312&\210\305\313\307\314\311	\312&\210\305\315\307\316\311	\312&\207" [:prefix :group require shell compile custom-declare-group tex-file nil "TeX files and directories" "tex-" tex tex-run "Running external commands from TeX mode" tex-view "Viewing and printing TeX files"] 8)
#@74 *If non-nil, the shell file name to run in the subshell used to run TeX.
(custom-declare-variable 'tex-shell-file-name 'nil '(#$ . -957) :type '(choice (const :tag "None" nil) string) :group 'tex-run)
#@245 *Directory in which temporary files are written.
You can make this `/tmp' if your TEXINPUTS has no relative directories in it
and you don't try to apply \[tex-region] or \[tex-buffer] when there are
`\input' commands with relative directories.
(custom-declare-variable 'tex-directory '"." '(#$ . -1165) :type 'directory :group 'tex-file)
#@233 Regexp for matching a first line which `tex-region' should include.
If this is non-nil, it should be a regular expression string;
if it matches the first line of the file,
`tex-region' always includes the first line in the TeX run.
(custom-declare-variable 'tex-first-line-header-regexp 'nil '(#$ . 1510) :type '(choice (const :tag "None" nil) regexp) :group 'tex-file)
#@163 *The main TeX source file which includes this buffer's file.
The command `tex-file' runs TeX on the file specified by `tex-main-file'
if the variable is non-nil.
(custom-declare-variable 'tex-main-file 'nil '(#$ . -1887) :type '(choice (const :tag "None" nil) file) :group 'tex-file)
#@75 *If non-nil, ask about saving modified buffers before \[tex-file] is run.
(custom-declare-variable 'tex-offer-save 't '(#$ . -2177) :type 'boolean :group 'tex-file)
#@178 *Command used to run TeX subjob.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.
(custom-declare-variable 'tex-run-command '"tex" '(#$ . -2349) :type 'string :group 'tex-run)
#@180 *Command used to run LaTeX subjob.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.
(custom-declare-variable 'latex-run-command '"latex" '(#$ . -2627) :type 'string :group 'tex-run)
#@29 Standard LaTeX block names.
(defvar standard-latex-block-names '("abstract" "array" "center" "description" "displaymath" "document" "enumerate" "eqnarray" "eqnarray*" "equation" "figure" "figure*" "flushleft" "flushright" "itemize" "letter" "list" "minipage" "picture" "quotation" "quote" "slide" "sloppypar" "tabbing" "table" "table*" "tabular" "tabular*" "thebibliography" "theindex*" "titlepage" "trivlist" "verbatim" "verbatim*" "verse") (#$ . 2910))
#@104 *User defined LaTeX block names.
Combined with `standard-latex-block-names' for minibuffer completion.
(custom-declare-variable 'latex-block-names 'nil '(#$ . -3372) :type '(repeat string) :group 'tex-run)
#@181 *Command used to run SliTeX subjob.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.
(custom-declare-variable 'slitex-run-command '"slitex" '(#$ . -3585) :type 'string :group 'tex-run)
#@210 *Command used by `tex-bibtex-file' to gather bibliographic data.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.
(custom-declare-variable 'tex-bibtex-command '"bibtex" '(#$ . -3872) :type 'string :group 'tex-run)
#@197 *Command used by \[tex-print] to print a .dvi file.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.
(custom-declare-variable 'tex-dvi-print-command '"lpr -d" '(#$ . -4188) :type 'string :group 'tex-view)
#@547 *Command used by \[tex-print] with a prefix arg to print a .dvi file.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.

If two printers are not enough of a choice, you can set the variable
`tex-alt-dvi-print-command' to an expression that asks what you want;
for example,

    (setq tex-alt-dvi-print-command
         '(format "lpr -P%s" (read-string "Use printer: ")))

would tell \[tex-print] with a prefix argument to ask you which printer to
use.
(custom-declare-variable 'tex-alt-dvi-print-command '"lpr -d" '(#$ . -4495) :type '(choice (string :tag "Command") (sexp :tag "Expression")) :group 'tex-view)
#@498 *Command used by \[tex-view] to display a `.dvi' file.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by blank, is added at the end.

This can be set conditionally so that the previewer used is suitable for the
window system being used.  For example,

    (setq tex-dvi-view-command
          (if (eq window-system 'x) "xdvi" "dvi2tty * | cat -s"))

would tell \[tex-view] to use xdvi under X windows and to use dvi2tty
otherwise.
(custom-declare-variable 'tex-dvi-view-command 'nil '(#$ . -5207) :type '(choice (const nil) string) :group 'tex-view)
#@124 *Command used by \[tex-show-print-queue] to show the print queue.
Should show the queue(s) that \[tex-print] puts jobs on.
(custom-declare-variable 'tex-show-queue-command '"lpq" '(#$ . -5830) :type 'string :group 'tex-view)
#@259 *Mode to enter for a new file that might be either TeX or LaTeX.
This variable is used when it can't be determined whether the file
is plain TeX or LaTeX or what because the file contains no commands.
Normally set to either `plain-tex-mode' or `latex-mode'.
(custom-declare-variable 'tex-default-mode ''plain-tex-mode '(#$ . -6062) :type 'function :group 'tex)
#@69 *String inserted by typing \[tex-insert-quote] to open a quotation.
(custom-declare-variable 'tex-open-quote '"``" '(#$ . -6429) :type 'string :group 'tex)
#@70 *String inserted by typing \[tex-insert-quote] to close a quotation.
(custom-declare-variable 'tex-close-quote '"''" '(#$ . -6591) :type 'string :group 'tex)
#@164 Latest temporary file generated by \[tex-region] and \[tex-buffer].
Deleted when the \[tex-region] or \[tex-buffer] is next run, or when the
tex shell terminates.
(defvar tex-last-temp-file nil (#$ . 6756))
#@94 Command to run TeX.
The name of the file, preceded by a blank, will be added to this string.
(defvar tex-command nil (#$ . 6969))
#@73 String appended after the end of a region sent to TeX by \[tex-region].
(defvar tex-trailer nil (#$ . 7105))
#@74 Regular expression used by \[tex-region] to find start of file's header.
(defvar tex-start-of-header nil (#$ . 7220))
#@72 Regular expression used by \[tex-region] to find end of file's header.
(defvar tex-end-of-header nil (#$ . 7344))
#@131 Command to give to shell running TeX to change directory.
The value of `tex-directory' is appended to this, separated by a space.
(defvar tex-shell-cd-command "cd" (#$ . 7465))
#@138 Temporary file name used for text being sent as input to TeX.
Should be a simple file name with no extension or directory specification.
(defvar tex-zap-file nil (#$ . 7649))
#@30 Buffer which was last TeXed.
(defvar tex-last-buffer-texed nil (#$ . 7830))
#@91 File name that \[tex-print] prints.
Set by \[tex-region], \[tex-buffer], and \[tex-file].
(defvar tex-print-file nil (#$ . 7912))
#@38 Syntax table used while in TeX mode.
(defvar tex-mode-syntax-table nil (#$ . 8048))
#@142 *String to add repeated in front of nested sectional units for Imenu.
An alternative value is " . ", if you use a font with a narrow period.
(custom-declare-variable 'latex-imenu-indent-string '"." '(#$ . -8139) :type 'string :group 'tex)
#@51 Generates an alist for imenu from a LaTeX buffer.
(defalias 'latex-imenu-create-index #[nil "\306\211\211\212eb\210\307\310\306\311#\203 \312\202& \307\313\306\311#\203$ \314\202& \315eb\210\307\316\306\311#\203N \312\224`\317\320\314\224\314\225\"\321\"A\322\314!\210\323\324\325\217\210+\202) eb\210\307\326\306\311#\203w \327\320\315\224\315\225\"\314\224f\330U\203l \331\202m \332Q\312\224B	B\202Q eb\210\307\333\306\311#\203\214 \334\312\224B	B\202z \335	\336\",\207" [case-fold-search menu i0 i here start nil search-forward-regexp "\\\\part\\*?[ 	]*{" t 0 "\\\\chapter\\*?[ 	]*{" 1 2 "\\\\\\(part\\|chapter\\|section\\|subsection\\|subsubsection\\|paragraph\\|subparagraph\\)\\*?[ 	]*{" assoc buffer-substring-no-properties (("part" . 0) ("chapter" . 1) ("section" . 2) ("subsection" . 3) ("subsubsection" . 4) ("paragraph" . 5) ("subparagraph" . 6)) backward-char err (byte-code "\306\307!\210\310\311\312\313	Z]\n\"\"\314`S\"P\fBB\306\207" [i i0 latex-imenu-indent-string here start menu forward-sexp 1 apply concat make-list 0 buffer-substring-no-properties] 6) ((error)) "\\\\\\(include\\|input\\|verbatiminput\\|bibliography\\)[ 	]*{\\([^}\n]+\\)}" "<<" 98 ".bbl" ".tex" "\\\\\\(frontmatter\\|mainmatter\\|backmatter\\|appendix\\)\\b" "--" sort #[(a b) "A	AW\207" [a b] 2]] 6 (#$ . 8384)])
#@77 Define the keys that we want defined both in TeX mode and in the TeX shell.
(defalias 'tex-define-common-keys #[(keymap) "\301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315\316\315!B#\210\301\317\320#\210\301\321\322#\210\301\323\324#\210\301\325\326#\210\301\327\330#\210\301\331\332#\207" [keymap define-key "" tex-kill-job "\f" tex-recenter-output-buffer "" tex-show-print-queue "" tex-print "" tex-view [menu-bar tex] "TeX" make-sparse-keymap [menu-bar tex tex-kill-job] ("Tex Kill" . tex-kill-job) [menu-bar tex tex-recenter-output-buffer] ("Tex Recenter" . tex-recenter-output-buffer) [menu-bar tex tex-show-print-queue] ("Show Print Queue" . tex-show-print-queue) [menu-bar tex tex-alt-print] ("Tex Print (alt printer)" . tex-alt-print) [menu-bar tex tex-print] ("Tex Print" . tex-print) [menu-bar tex tex-view] ("Tex View" . tex-view)] 6 (#$ . 9709)])
#@22 Keymap for TeX mode.
(defvar tex-mode-map nil (#$ . 10643))
(byte-code "\204q \301 \302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\210\303\320\321#\210\303\322\323#\210\303\324\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210\346\315\347\350#\210\346\351\347\350#\210\346\352\347\353#\210\346\354\347\355#\210\346\356\347\357#\210\346\360\347\361#\210\346\362\347\363#\207" [tex-mode-map make-sparse-keymap tex-define-common-keys define-key "\"" tex-insert-quote "\n" tex-terminate-paragraph "}" up-list "{" tex-insert-braces "" tex-region "" tex-buffer "" tex-file "	" tex-bibtex-file "" tex-latex-block "" tex-close-latex-block "" tex-goto-last-unclosed-latex-block [menu-bar tex tex-bibtex-file] ("BibTeX File" . tex-bibtex-file) [menu-bar tex tex-validate-region] ("Validate Region" . tex-validate-region) [menu-bar tex validate-tex-buffer] ("Validate Buffer" . validate-tex-buffer) [menu-bar tex tex-region] ("TeX Region" . tex-region) [menu-bar tex tex-buffer] ("TeX Buffer" . tex-buffer) [menu-bar tex tex-file] ("TeX File" . tex-file) put menu-enable mark-active tex-validate-region tex-print (stringp tex-print-file) tex-alt-print (stringp tex-print-file) tex-view (stringp tex-print-file) tex-recenter-output-buffer (get-buffer "*tex-shell*") tex-kill-job (tex-shell-running)] 4)
#@75 Keymap for the TeX shell.
Inherits `shell-mode-map' with a few additions.
(defvar tex-shell-map nil (#$ . 12130))
#@47 Alist of face and TeX font name for facemenu.
(defvar tex-face-alist '((bold . "{\\bf ") (italic . "{\\it ") (bold-italic . "{\\bi ") (underline . "\\underline{") (default . "{\\rm ")) (#$ . 12250))
#@49 Alist of face and LaTeX font name for facemenu.
(defvar tex-latex-face-alist (cons '(italic . "{\\em ") tex-face-alist) (#$ . 12455))
(byte-code "\301B\301\207" [current-load-list compare-windows-whitespace] 2)
#@385 Major mode for editing files of input for TeX, LaTeX, or SliTeX.
Tries to determine (by looking at the beginning of the file) whether
this file is for plain TeX, LaTeX, or SliTeX and calls `plain-tex-mode',
`latex-mode', or `slitex-mode', respectively.  If it cannot be determined,
such as if there are no commands in the file, the value of `tex-default-mode'
says which mode to use.
(defalias 'tex-mode #[nil "\305\211\211\212eb\210\306\307\305\310#\211\203% `\212\311y\210\306\312\310#*\211\204\n 	\203C \204C \313\314!\203A \313\315!\203= \316\202B \317\202B \320)\n\203M \n \202O \f +\207" [comment slash mode search-end tex-default-mode nil search-forward "\\" t 0 "%" looking-at "documentstyle\\|documentclass\\|begin\\b\\|NeedsTeXFormat{LaTeX" "document\\(style\\|class\\)\\(\\[.*\\]\\)?{slides}" slitex-mode latex-mode plain-tex-mode] 4 (#$ . 12675) nil])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias TeX-mode tex-mode LaTeX-mode latex-mode] 3)
#@1652 Major mode for editing files of input for plain TeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run TeX on the current region, plus a "header"
copied from the top of the file (containing macro definitions, etc.),
running TeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[validate-tex-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{tex-mode-map}

Mode variables:
tex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for TeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering Plain-tex mode runs the hook `text-mode-hook', then the hook
`tex-mode-hook', and finally the hook `plain-tex-mode-hook'.  When the
special subshell is initiated, the hook `tex-shell-hook' is run.
(defalias 'plain-tex-mode #[nil "\306 \210\307\310\n\311\312\313\314\315\316\317#\207" [mode-name major-mode tex-run-command tex-command tex-start-of-header tex-end-of-header tex-common-initialization "TeX" plain-tex-mode "%\\*\\*start of header" "%\\*\\*end of header" "\\bye\n" run-hooks text-mode-hook tex-mode-hook plain-tex-mode-hook tex-trailer] 4 (#$ . 13660) nil])
(defalias 'plain-TeX-mode 'plain-tex-mode)
#@1621 Major mode for editing files of input for LaTeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run LaTeX on the current region, plus the preamble
copied from the top of the file (containing \documentstyle, etc.),
running LaTeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[validate-tex-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{tex-mode-map}

Mode variables:
latex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for LaTeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering Latex mode runs the hook `text-mode-hook', then 
`tex-mode-hook', and finally `latex-mode-hook'.  When the special
subshell is initiated, `tex-shell-hook' is run.
(defalias 'latex-mode #[nil "\306 \210\307\310\n\311\312\313\314\315\316\317!\210\320\316\321!\210\316\322!\210\323\324\325\326\327#\207" [mode-name major-mode latex-run-command tex-command tex-start-of-header tex-end-of-header tex-common-initialization "LaTeX" latex-mode "\\\\documentstyle\\|\\\\documentclass" "\\\\begin{document}" "\\end{document}\n" "[ 	]*$\\|[\f%]\\|[ 	]*\\$\\$\\|\\\\begin\\>\\|\\\\label\\>\\|\\\\end\\>\\|\\\\\\[\\|\\\\\\]\\|\\\\chapter\\>\\|\\\\section\\>\\|\\\\subsection\\>\\|\\\\subsubsection\\>\\|\\\\paragraph\\>\\|\\\\subparagraph\\>\\|\\\\item\\>\\|\\\\bibitem\\>\\|\\\\newline\\>\\|\\\\noindent\\>\\|\\\\[a-z]*space\\>\\|\\\\[a-z]*skip\\>\\|\\\\newpage\\>\\|\\\\[a-z]*page\\|\\\\footnote\\>\\|\\\\marginpar\\>\\|\\\\parbox\\>\\|\\\\caption\\>" "[ 	]*$\\|[\f%]\\|[ 	]*\\$\\$[ 	]*$\\|\\\\begin\\>\\|\\\\label\\>\\|\\\\end\\>\\|\\\\\\[\\|\\\\\\]\\|\\\\chapter\\>\\|\\\\section\\>\\|\\\\subsection\\>\\|\\\\subsubsection\\>\\|\\\\paragraph\\>\\|\\\\subparagraph\\>\\|\\(\\\\item\\|\\\\bibitem\\|\\\\newline\\|\\\\noindent\\|\\\\[a-z]*space\\|\\\\[a-z]*skip\\|\\\\newpage\\|\\\\[a-z]*page[a-z]*\\|\\\\footnote\\|\\\\marginpar\\|\\\\parbox\\|\\\\caption\\)[ 	]*\\($\\|%\\)" make-local-variable imenu-create-index-function latex-imenu-create-index tex-face-alist fill-nobreak-predicate latex-fill-nobreak-predicate run-hooks text-mode-hook tex-mode-hook latex-mode-hook tex-trailer paragraph-start paragraph-separate tex-latex-face-alist] 4 (#$ . 15742) nil])
#@1687 Major mode for editing files of input for SliTeX.
Makes $ and } display the characters they match.
Makes " insert `` when it seems to be the beginning of a quotation,
and '' when it appears to be the end; it inserts " only after a \.

Use \[tex-region] to run SliTeX on the current region, plus the preamble
copied from the top of the file (containing \documentstyle, etc.),
running SliTeX under a special subshell.  \[tex-buffer] does the whole buffer.
\[tex-file] saves the buffer and then processes the file.
\[tex-print] prints the .dvi file made by any of these.
\[tex-view] previews the .dvi file made by any of these.
\[tex-bibtex-file] runs bibtex on the file of the current buffer.

Use \[validate-tex-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{tex-mode-map}

Mode variables:
slitex-run-command
	Command string used by \[tex-region] or \[tex-buffer].
tex-directory
	Directory in which to create temporary files for SliTeX jobs
	run by \[tex-region] or \[tex-buffer].
tex-dvi-print-command
	Command string used by \[tex-print] to print a .dvi file.
tex-alt-dvi-print-command
	Alternative command string used by \[tex-print] (when given a prefix
	argument) to print a .dvi file.
tex-dvi-view-command
	Command string used by \[tex-view] to preview a .dvi file.
tex-show-queue-command
	Command string used by \[tex-show-print-queue] to show the print
	queue that \[tex-print] put your job on.

Entering SliTeX mode runs the hook `text-mode-hook', then the hook
`tex-mode-hook', then the hook `latex-mode-hook', and finally the hook
`slitex-mode-hook'.  When the special subshell is initiated, the hook
`tex-shell-hook' is run.
(defalias 'slitex-mode #[nil "\306 \210\307\310\n\311\312\313\314\315\316\317!\210\320\316\321!\210\316\322!\210\323\324\325\326\327\330$\207" [mode-name major-mode slitex-run-command tex-command tex-start-of-header tex-end-of-header tex-common-initialization "SliTeX" slitex-mode "\\\\documentstyle{slides}\\|\\\\documentclass{slides}" "\\\\begin{document}" "\\end{document}\n" "[ 	]*$\\|[\f%]\\|[ 	]*\\$\\$\\|\\\\begin\\>\\|\\\\label\\>\\|\\\\end\\>\\|\\\\\\[\\|\\\\\\]\\|\\\\chapter\\>\\|\\\\section\\>\\|\\\\subsection\\>\\|\\\\subsubsection\\>\\|\\\\paragraph\\>\\|\\\\subparagraph\\>\\|\\\\item\\>\\|\\\\bibitem\\>\\|\\\\newline\\>\\|\\\\noindent\\>\\|\\\\[a-z]*space\\>\\|\\\\[a-z]*skip\\>\\|\\\\newpage\\>\\|\\\\[a-z]*page\\|\\\\footnote\\>\\|\\\\marginpar\\>\\|\\\\parbox\\>\\|\\\\caption\\>" "[ 	]*$\\|[\f%]\\|[ 	]*\\$\\$[ 	]*$\\|\\\\begin\\>\\|\\\\label\\>\\|\\\\end\\>\\|\\\\\\[\\|\\\\\\]\\|\\\\chapter\\>\\|\\\\section\\>\\|\\\\subsection\\>\\|\\\\subsubsection\\>\\|\\\\paragraph\\>\\|\\\\subparagraph\\>\\|\\\\item[ 	]*$\\|\\\\bibitem[ 	]*$\\|\\\\newline[ 	]*$\\|\\\\noindent[ 	]*$\\|\\\\[a-z]*space[ 	]*$\\|\\\\[a-z]*skip[ 	]*$\\|\\\\newpage[ 	]*$\\|\\\\[a-z]*page[a-z]*[ 	]*$\\|\\\\footnote[ 	]*$\\|\\\\marginpar[ 	]*$\\|\\\\parbox[ 	]*$\\|\\\\caption[ 	]*$" make-local-variable imenu-create-index-function latex-imenu-create-index tex-face-alist fill-nobreak-predicate latex-fill-nobreak-predicate run-hooks text-mode-hook tex-mode-hook latex-mode-hook slitex-mode-hook tex-trailer paragraph-start paragraph-separate tex-latex-face-alist] 5 (#$ . 18876) nil])
(defalias 'tex-common-initialization #[nil "\306 \210\307!\210	\204m \310\311 \312!\210\f\313W\203( \314\f\315\"\210\fT\211\202 \314\310\316\"\210\314\317\320\"\210\314\321\322\"\210\314\323\322\"\210\314\324\325\"\210\314\326\327\"\210\314\330\331\"\210\314\332\315\"\210\314\333\315\"\210\314\334\315\"\210\314\335\336\"\210\314\337\320\"\210\314\340\316\"\210)\202q \312!\210\341\305!\210\342\341\343!\210\344#\341\345!\210\346%\341\347!\210\350'\341\351!\210\352)\341\353!\210\354+\341\355!\210\356-\341\357!\210\360/\341\361!\210\3621\341\363!\210\341\364!\210\341\365!\210\3663\3674\3565\341\370!\210\341\371!\210\341\372!\210\341\373!\207" [tex-mode-map text-mode-abbrev-table local-abbrev-table tex-mode-syntax-table char search-whitespace-regexp kill-all-local-variables use-local-map 0 make-syntax-table set-syntax-table 32 modify-syntax-entry "." "w" 9 " " 10 ">" 12 36 "$$" 37 "<" 92 "/" 34 38 95 64 "_" 126 39 make-local-variable "[ 	\n\f]+" paragraph-start "[ 	]*$\\|[\f\\\\%]\\|[ 	]*\\$\\$" paragraph-separate "[ 	]*$\\|[\f\\\\%]\\|[ 	]*\\$\\$[ 	]*$" comment-start "%" comment-start-skip "\\(\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)" comment-indent-function tex-comment-indent parse-sexp-ignore-comments t compare-windows-whitespace tex-categorize-whitespace skeleton-further-elements ((indent-line-function 'indent-relative-maybe)) facemenu-add-face-function facemenu-end-add-face facemenu-remove-face-function #[(face end) "	\236A\211\203 \n\202 \304\305#)\207" [face tex-face-alist face-text mode-name error "Face %s not configured for %s mode"] 5] "}" tex-command tex-start-of-header tex-end-of-header tex-trailer] 4])
(defalias 'tex-comment-indent #[nil "\301\302!\203 i\207\303\304x\210n\203 \305\202 iT]\207" [comment-column looking-at "%%%" " 	" nil 0] 2])
(defalias 'tex-categorize-whitespace #[(backward-limit) "\303\304\305\nx\210\203R \306\307!\203! \310\225b\210	\303=\203 \311\202 \306\312!\203> 	\313=\2035 \314\315\211\202	 \313\310\225b\210\202 \306\316!\203L \314\315\211\202	 \315\211\204\f \305\315w\210	\313=\203` \311\202a 	*\207" [not-finished category backward-limit null t " 	\n\f" looking-at "[ 	]+" 0 space "\n" newline par nil "\f+"] 3])
#@210 Insert the appropriate quote marks for TeX.
Inserts the value of `tex-open-quote' (normally ``) or `tex-close-quote'
(normally '') depending on the context.  With prefix argument, always
inserts " characters.
(defalias 'tex-insert-quote #[(arg) "\203\n \303\304!!\207o\204 \212\305u\210\306\307!)\203 	\202( h\310U\203' \311\202( \nc\207" [arg tex-open-quote tex-close-quote self-insert-command prefix-numeric-value -1 looking-at "\\s(\\|\\s \\|\\s>" 92 34] 3 (#$ . 24395) "*P"])
#@255 Check current buffer for paragraphs containing mismatched $s.
Their positions are recorded in the buffer `*Occur*'.
To find a particular invalidity from `*Occur*',
switch to to that buffer and type C-c C-c on the line
for the invalidity you want to see.
(defalias 'validate-tex-buffer #[nil "pe\306\307\220\310\311!\210\212q\210\312 \210\n\313\306)\212db\210\314 \204\257 o\204\257 `\306\315\316\306\317#\203? `\320u\210\202E e\211b\210\321`\"\204\247 \212\322y\210`)\306\306 \313y\210`\203s \323	`\"Z\202z \323\322\"T`\212\324  q\210eb\210\322y\210 B\325\n#\210Zu\210\326\327\"c\210-b\210*\202 )\212q\210\204\274 \330c\210t\205\306 \331\332G\")\221+\207" [linenum prevpos buffer standard-output occur-buffer occur-nlines nil "*Occur*" princ "Mismatches:\n" occur-mode 0 input-pending-p search-backward "\n\n" t 2 tex-validate-region 1 count-lines point-marker insert-buffer-substring format "%3d: " "None!\n" message "%d mismatches found" occur-pos-list prev-end end oend start tem] 5 (#$ . 24886) nil])
#@144 Check for mismatched braces or $'s in region.
Returns t if no mismatches.  Returns nil and moves point to suspect
area if a mismatch is found.
(defalias 'tex-validate-region #[(start end) "\304	Z\212\304\305\306\217\210)\203 b\210\304\202 \307*\207" [end start max-possible-sexps failure-point nil (byte-code "\214	}\210b\210\304\nS\211W\203 \305\306!\210\202 b\210\307\310!\210m\204= \311g!\212\305\306!\210hU\2046 \312\313!\210*\306u\210\202 )\304\207" [start end max-possible-sexps match 0 forward-sexp 1 skip-syntax-forward "^(" matching-paren error "Mismatched parentheses"] 3) ((error (byte-code "\301\302!\210`\301\207" [failure-point skip-syntax-forward " .>"] 2))) t] 3 (#$ . 25958) "r"])
#@153 Insert two newlines, breaking a paragraph for TeX.
Check for mismatched braces or $s in paragraph being terminated.
A prefix arg inhibits the checking.
(defalias 'tex-terminate-paragraph #[(inhibit-validation) "\204 \212\301\212\302\303\304\305#\210`)`\")\204 \306\307!\210\303c\207" [inhibit-validation tex-validate-region search-backward "\n\n" nil move message "Paragraph being closed appears to contain a mismatch"] 5 (#$ . 26680) "*P"])
#@61 Make a pair of braces and be poised to type inside of them.
(defalias 'tex-insert-braces #[nil "\300c\210\212\301c)\207" [123 125] 1 (#$ . 27131) "*"])
(defalias 'latex-fill-nobreak-predicate #[nil "`\302\212\214\303y\210`	}\210\304\305\302\306#\203& \304\307\310\311!!\302\306#\204 \306\202 **\207" [inside opoint nil 0 re-search-forward "\\\\verb\\(.\\)" t regexp-quote match-string 1] 4])
#@620 Create a matching pair of lines \begin[OPT]{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.
(defalias 'tex-latex-block #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ((completing-read "LaTeX block name: " (mapcar 'list (append standard-latex-block-names latex-block-names))) "\\begin[" (skeleton-read "[options]: ") & 93 | -1 123 str 125 n _ n "\\end{" str 125)] 4 (#$ . 27536) "*P\nP"])
#@73 Leave point at the beginning of the last `\begin{...}' that is unended.
(defalias 'tex-last-unended-begin #[nil "\300\301!\205 \302\303!\205 \304 \210\202  \207" [re-search-backward "\\(\\\\begin\\s *{\\)\\|\\(\\\\end\\s *{\\)" looking-at "\\\\end{" tex-last-unended-begin] 2 (#$ . 28478)])
#@81 Move point to the last unclosed \begin{...}.
Mark is left at original location.
(defalias 'tex-goto-last-unclosed-latex-block #[nil "\301\212\301\302\303\217\210`)\304 \210b)\207" [spot nil (tex-last-unended-begin) ((error (error "Couldn't find unended \\begin"))) push-mark] 3 (#$ . 28777) nil])
#@62 Creates an \end{...} to match the last unclosed \begin{...}.
(defalias 'tex-close-latex-block #[nil "n\303\211\212\303\304\305\217\210i\306\307!\210\310\224\310\225{)j\210\311	\261\210\n\205' \312c+\207" [indentation text new-line-needed nil (tex-last-unended-begin) ((error (error "Couldn't find unended \\begin"))) re-search-forward "\\\\begin\\(\\s *{[^}\n]*}\\)" 1 "\\end" 10] 3 (#$ . 29083) "*"])
(defalias 'tex-start-shell #[nil "\212\306\307\206 \310\311!\206 \310\312!\206 \313\314#q\210\315\307!\316	\317\"\210\320	!\210\n\321 \f\244\322!\210\323!\210\324 \210\325\326!\210\327 \330U\205I \331\332!\210\202; *\207" [tex-shell-file-name proc shell-prompt-pattern comint-prompt-regexp shell-mode-map tex-shell-map make-comint "tex-shell" getenv "ESHELL" "SHELL" "/bin/sh" nil get-process set-process-sentinel tex-shell-sentinel process-kill-without-query make-sparse-keymap tex-define-common-keys use-local-map compilation-minor-mode run-hooks tex-shell-hook buffer-size 0 sleep-for 1] 4])
#@48 Make the TeX shell buffer visible in a window.
(defalias 'tex-display-shell #[nil "\300\301\302\303!!!\210\304\305!\207" [display-buffer process-buffer get-process "tex-shell" tex-recenter-output-buffer nil] 4 (#$ . 30102)])
(defalias 'tex-shell-sentinel #[(proc msg) "\301\302!!\204 \303\304\"\210\305 \207\306!\307>\205 \305 \207" [proc buffer-name process-buffer set-process-buffer nil tex-delete-last-temp-files process-status (signal exit)] 3])
#@49 Set BUFFER's default directory to be DIRECTORY.
(defalias 'tex-set-buffer-directory #[(buffer directory) "\303\304!!\305!\204 \306\307\"\207\212	q\210\211)\207" [directory buffer default-directory file-name-as-directory expand-file-name file-directory-p error "%s is not a directory"] 3 (#$ . 30563)])
(byte-code "\302\300!\204 \303\300	B\304\300!\207" [tex-send-command-modified-tick current-load-list boundp 0 make-variable-buffer-local] 2)
#@369 Send COMMAND to TeX shell process, substituting optional FILE for *.
Do this in background if optional BACKGROUND is t.  If COMMAND has no *,
FILE will be appended, preceded by a blank, to COMMAND.  If FILE is nil, no
substitution will be made in COMMAND.  COMMAND can be any expression that
evaluates to a command string.

Return the process in which TeX is running.
(defalias 'tex-send-command #[(command &optional file background) "\212\306!\307\310!\206 \311\312!\313\n!\314\315	\"\2035 \f\203. 	\316\fO	\fT\317OQ\2026 	\320Q\2026 	\203? \321\202@ \322Pq\210\323!U\203S \324\n!\210\325\n!b\210c\210\326 \210\323!\n.\207" [command cmd proc buf star file eval get-process "tex-shell" error "No TeX subprocess" process-buffer string-match "\\*" 0 nil " " "&" "" buffer-modified-tick accept-process-output process-mark comint-send-input background string tex-send-command-modified-tick] 5 (#$ . 31023)])
#@89 Delete any junk files from last temp file.
If NOT-ALL is non-nil, save the `.dvi' file.
(defalias 'tex-delete-last-temp-files #[(&optional not-all) "\205A \304!\305	!\205 \306\307\310!!	\"\211\205@ \2031 \311\312\n@\"\2048 \313	\n@P!\210\2028 \313	\n@P!\210\nA\211\204 \314*\207" [tex-last-temp-file dir list not-all file-name-directory file-directory-p file-name-all-completions file-name-sans-extension file-name-nondirectory string-match "\\.dvi$" delete-file nil] 5 (#$ . 31956)])
(add-hook 'kill-emacs-hook 'tex-delete-last-temp-files)
#@73 Marker pointing after last TeX-running command in the TeX shell buffer.
(defvar tex-start-tex-marker nil (#$ . 32512))
#@41 Start a TeX run, using COMMAND on FILE.
(defalias 'tex-start-tex #[(command file) "\306P\307\310	\"\211\203 	\311\nO	\nT\312OQ\202 	\313Qr\314\315\f!!q\210\212\316y\210\317 )\320\321!\210\322\211,\207" [command cmd star file compile-command tex-start-tex-marker " \\\\nonstopmode\\\\input" string-match "\\*" 0 nil " " process-buffer tex-send-command -1 point-marker make-local-variable compilation-parse-errors-function tex-compilation-parse-errors] 6 (#$ . 32637)])
#@671 Parse the current buffer as error messages.
This makes a list of error descriptors, `compilation-error-list'.
For each source-file, line-number pair in the buffer,
the source file is read in, and the text location is saved in
`compilation-error-list'.  The function `next-error', assigned to
\[next-error], takes the next error off the list and visits its location.

If LIMIT-SEARCH is non-nil, don't bother parsing past that location.
If FIND-AT-LEAST is non-nil, don't bother parsing after finding that

This function works on TeX compilations only.  It is necessary for
that purpose, since TeX does not put file names on the same line as
line numbers for the errors.
(defalias 'tex-compilation-parse-errors #[(limit-search find-at-least) "\306\307!\210\310\311\312!\210\313z\314z\315z\316z\317\310\211\211,-.\320\216\321\313\322\"\210\321\314\322\"\210\321\315\322\"\210\321\316\322\"\210/\206= \3170]b\210o\203I \323y\210\324\3251\203W \f1Y\205Y 2\326#\203!\327\330\331!!3\332\330\333!!4\212\334\331!\210\335\336!\210\337\340\341!!\204\214 \342\336!\210\334\331!\210\335\336!\210\202u \340\341!)!\212\343\344\310\326#\210\345 )5?\206\250 !\230?6\212!\3467\347P!\232\203\276 8q\210\202\304 \350!!q\2106\203\321 \3513!\210\202\332 	b\2103\nZy\210`9\3244\310\326#\204\365 \3434\352	!\326#\204\365 9b\210)\345 ):!6\204\n	:U\204\fT:35:BC\244.\202I .	`/\311\353!\207" [compilation-error-list last-position last-linenum last-filename num-found old-rb-syntax require thingatpt nil message "Parsing error messages..." 123 125 91 93 0 ((byte-code "\304\305\306!\"\210\304\307\306	!\"\210\304\310\306\n!\"\210\304\311\306!\"\207" [old-lc-syntax old-rc-syntax old-lb-syntax old-rb-syntax modify-syntax-entry 123 char-to-string 125 91 93] 4)) modify-syntax-entry "_" 2 re-search-forward "^l\\.\\([0-9]+\\) \\(\\.\\.\\.\\)?\\(.*\\)$" t string-to-int match-string 1 regexp-quote 3 backward-up-list skip-syntax-forward "(_" file-readable-p thing-at-point filename skip-syntax-backward re-search-backward "^! " point-marker expand-file-name ".tex" find-file-noselect goto-line marker-position "Parsing error messages...done" old-lb-syntax old-rc-syntax old-lc-syntax compilation-parsing-end tex-start-tex-marker find-at-least limit-search linenum error-text error-marker new-file tex-zap-file tex-last-buffer-texed starting-point error-location] 8 (#$ . 33123)])
#@568 Run TeX on the current region, via a temporary file.
The file's name comes from the variable `tex-zap-file' and the
variable `tex-directory' says where to put it.

If the buffer has a header, the header is given to TeX before the
region itself.  The buffer's header is all lines between the strings
defined by `tex-start-of-header' and `tex-end-of-header' inclusive.
The header must start in the first 100 lines of the buffer.

The value of `tex-trailer' is given to TeX as input after the region.

The value of `tex-command' specifies the command to use to run TeX.
(defalias 'tex-region #[(beg end) "\306 \203 \307 \210\202 \310 \210\204 \311 \312\313	!!\211\314Qp\f=\204* \315\316!\210\212\214~\210eb\210\317y\210`\n\320eb\210\203X \321!\203X \322`\323y\210`\211\324\211%\210\325\316#\203\224 \324\320y\210`\325\324\316#\203\223 \324 \323y\210` \322!^] \320U?\324%\210 ))\322!]\"\320U?\324%\210+#\203\264 \322\326#P\324\316\324%\210*$\327%\n\"\210\330&\"\210\331 \210'p\211*\207" [tex-zap-file tex-directory zap-directory tex-out-file tex-last-buffer-texed already-output tex-shell-running tex-kill-job tex-start-shell tex-generate-zap-file-name file-name-as-directory expand-file-name ".tex" tex-delete-last-temp-files t 100 0 looking-at write-region 1 nil re-search-forward "\n" tex-send-command tex-start-tex tex-display-shell default-directory search-end tex-first-line-header-regexp tex-start-of-header hbeg tex-end-of-header hend beg end tex-trailer tex-last-temp-file tex-shell-cd-command tex-command tex-print-file] 7 (#$ . 35535) "r"])
#@180 Run TeX on current buffer.  See \[tex-region] for more information.
Does not save the buffer, so it's useful for trying experimental versions.
See \[tex-file] for an alternative.
(defalias 'tex-buffer #[nil "\300ed\"\207" [tex-region] 3 (#$ . 37146) nil])
#@190 Prompt to save all buffers and run TeX (or LaTeX) on current buffer's file.
This function is more useful than \[tex-buffer] when you need the
`.aux' file of LaTeX to have the correct name.
(defalias 'tex-file #[nil "\206 \306 \203 \307\306 !\202 \310\311!\312\306 !\203  \313 \210\314 \203+ \315 \210\202. \316 \210\317\f	\"\210\320\n\"\210\321 \210p\n\211*\207" [tex-main-file file-dir source-file tex-offer-save tex-shell-cd-command tex-command buffer-file-name file-name-nondirectory error "Buffer does not seem to be associated with any file" file-name-directory save-some-buffers tex-shell-running tex-kill-job tex-start-shell tex-send-command tex-start-tex tex-display-shell tex-last-buffer-texed tex-print-file] 3 (#$ . 37409) nil])
#@57 Generate a unique name suitable for use as a file name.
(defalias 'tex-generate-zap-file-name #[nil "\300\301\302\303\304!!\305\306 !#\207" [format "#tz%d%s" process-id get-buffer-process "*tex-shell*" tex-strip-dots system-name] 5 (#$ . 38167)])
(defalias 'tex-strip-dots #[(s) "\301!\302\303\"\203 \304\224\305I\210\202 \207" [s copy-sequence string-match "\\." 0 45] 3])
(defalias 'tex-expand-files #[(s) "\303\304\305\306\n#\203 \n\304\224O	B\304\225\202 \304U\204' \n\303O	B\307\310	\237\306#*\207" [start elts s nil 0 string-match ":" mapconcat expand-file-name] 4])
(defalias 'tex-shell-running #[nil "\300\301!\205 \302\300\301!!\303=\207" [get-process "tex-shell" process-status run] 3])
#@37 Kill the currently running TeX job.
(defalias 'tex-kill-job #[nil "\300\301\302!\303\"\207" [quit-process get-process "tex-shell" t] 3 (#$ . 38889) nil])
#@173 Redisplay buffer of TeX job output so that most recent output can be seen.
The last line of the buffer is displayed on
line LINE of the window, or centered if LINE is nil.
(defalias 'tex-recenter-output-buffer #[(linenum) "\305\306!p\307\211\204 \310\311!\2027 \312\n!\313 \314\216\315!\210\316\n!\210db\210\317\f\2031 \320\f!\2025 \321 \322\245!*+\207" [window old-buffer tex-shell save-selected-window-window linenum get-buffer "*tex-shell*" nil message "No TeX output buffer" display-buffer selected-window ((select-window save-selected-window-window)) select-window bury-buffer recenter prefix-numeric-value window-height 2] 4 (#$ . 39050) "P"])
#@224 Print the .dvi file made by \[tex-region], \[tex-buffer] or \[tex-file].
Runs the shell command defined by `tex-dvi-print-command'.  If prefix argument
is provided, use the alternative command, `tex-alt-dvi-print-command'.
(defalias 'tex-print #[(&optional alt) "\306\307\"\310p\232\204\" \311 \203\" \312\306\311 \307\"\211\311 \"\203\" 	\313\n!\204. \314\315!\202J \316 \2039 \317 \210\202< \320 \210\321\f\203E \202G \n\322#*\207" [tex-print-file test-name print-file-name-dvi tex-last-buffer-texed alt tex-alt-dvi-print-command tex-append ".dvi" nil buffer-file-name file-newer-than-file-p file-exists-p error "No appropriate `.dvi' file could be found" tex-shell-running tex-kill-job tex-start-shell tex-send-command t tex-dvi-print-command] 4 (#$ . 39714) "P"])
#@137 Print the .dvi file made by \[tex-region], \[tex-buffer] or \[tex-file].
Runs the shell command defined by `tex-alt-dvi-print-command'.
(defalias 'tex-alt-print #[nil "\300\301!\207" [tex-print t] 2 (#$ . 40498) nil])
#@333 Preview the last `.dvi' file made by running TeX under Emacs.
This means, made using \[tex-region], \[tex-buffer] or \[tex-file].
The variable `tex-dvi-view-command' specifies the shell command for preview.
You must set that variable yourself before using this command,
because there is no standard value that would generally work.
(defalias 'tex-view #[nil "\204 \302\303!\210\304 )\207" [tex-dvi-view-command tex-dvi-print-command error "You must set `tex-dvi-view-command'" tex-print] 2 (#$ . 40723) nil])
#@221 Append to FILENAME the suffix SUFFIX, using same algorithm TeX uses.
Pascal-based TeX scans for the first period, C TeX uses the last.
No period is retained immediately before SUFFIX,
so normally SUFFIX starts with one.
(defalias 'tex-append #[(file-name suffix) ";\2038 \304!\305\306!\n\307\310\311\n\"OQ\312	!\204& \312	\313P!\203* 	\2026 \306!\n\307\310\314\n\"OQ*\207\315\207" [file-name trial-name file suffix file-name-nondirectory nil file-name-directory 0 string-match "\\.[^.]*$" file-exists-p ".aux" "\\." " "] 6 (#$ . 41243)])
#@117 Show the print queue that \[tex-print] put your job on.
Runs the shell command defined by `tex-show-queue-command'.
(defalias 'tex-show-print-queue #[nil "\301 \203 \302 \210\202 \303 \210\304!\210\305 \207" [tex-show-queue-command tex-shell-running tex-kill-job tex-start-shell tex-send-command tex-display-shell] 2 (#$ . 41797) nil])
#@42 Run BibTeX on the current buffer's file.
(defalias 'tex-bibtex-file #[nil "\304 \203 \305 \210\202 \306 \210\307\310\311 !\312\"\313\311 !\314\n\"\210\314	\"\210*\315 \207" [file-dir tex-out-file tex-shell-cd-command tex-bibtex-command tex-shell-running tex-kill-job tex-start-shell tex-append file-name-nondirectory buffer-file-name "" file-name-directory tex-send-command tex-display-shell] 3 (#$ . 42142) nil])
(byte-code "\300\301!\210\302\303!\207" [run-hooks tex-mode-load-hook provide tex-mode] 2)
