;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:19:02 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/textmodes/tex-mode.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`tex-mode.el' was compiled for Emacs 23 or later"))

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


(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\303\313\305\314\307\310\311\312&\210\303\315\305\316\307\310\311\312&\207" [require shell compile custom-declare-group tex-file nil "TeX files and directories." :prefix "tex-" :group tex tex-run "Running external commands from TeX mode." tex-view "Viewing and printing TeX files."] 8)
#@73 If non-nil, the shell file name to run in the subshell used to run TeX.
(custom-declare-variable 'tex-shell-file-name 'nil '(#$ . 916) :type '(choice (const :tag "None" nil) string) :group 'tex-run)
#@244 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 '(purecopy ".") '(#$ . 1122) :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 '(#$ . 1476) :type '(choice (const :tag "None" nil) regexp) :group 'tex-file)
#@162 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 '(#$ . 1853) :type '(choice (const :tag "None" nil) file) :group 'tex-file)
#@74 If non-nil, ask about saving modified buffers before \[tex-file] is run.
(custom-declare-variable 'tex-offer-save 't '(#$ . 2141) :type 'boolean :group 'tex-file)
#@117 Command used to run TeX subjob.
TeX Mode sets `tex-command' to this string.
See the documentation of that variable.
(custom-declare-variable 'tex-run-command '(purecopy "tex") '(#$ . 2311) :type 'string :group 'tex-run)
#@121 Command used to run LaTeX subjob.
LaTeX Mode sets `tex-command' to this string.
See the documentation of that variable.
(custom-declare-variable 'latex-run-command '(purecopy "latex") '(#$ . 2538) :type 'string :group 'tex-run)
#@123 Command used to run SliTeX subjob.
SliTeX Mode sets `tex-command' to this string.
See the documentation of that variable.
(custom-declare-variable 'slitex-run-command '(purecopy "slitex") '(#$ . 2773) :type 'string :group 'tex-run)
#@253 TeX options to use when starting TeX.
These immediately precede the commands in `tex-start-commands'
and the input file name, with no separating space and are not shell-quoted.
If nil, TeX runs with no options.  See the documentation of `tex-command'.
(custom-declare-variable 'tex-start-options '(purecopy "") '(#$ . 3012) :type 'string :group 'tex-run :version "22.1")
#@191 TeX commands to use when starting TeX.
They are shell-quoted and precede the input file name, with a separating space.
If nil, no commands are used.  See the documentation of `tex-command'.
(custom-declare-variable 'tex-start-commands '(purecopy "\\nonstopmode\\input") '(#$ . 3390) :type '(radio (const :tag "Interactive (nil)" nil) (const :tag "Nonstop (\"\\nonstopmode\\input\")" "\\nonstopmode\\input") (string :tag "String at your choice")) :group 'tex-run :version "22.1")
#@29 Standard LaTeX block names.
(defvar latex-standard-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" "math") (#$ . 3875))
#@103 User defined LaTeX block names.
Combined with `latex-standard-block-names' for minibuffer completion.
(custom-declare-variable 'latex-block-names 'nil '(#$ . 4344) :type '(repeat string) :group 'tex-run)
#@209 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 '(purecopy "bibtex") '(#$ . 4555) :type 'string :group 'tex-run)
#@196 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 '(purecopy "lpr -d") '(#$ . 4880) :type 'string :group 'tex-view)
#@546 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 '(purecopy "lpr -d") '(#$ . 5196) :type '(choice (string :tag "Command") (sexp :tag "Expression")) :group 'tex-view)
#@325 Command used by \[tex-view] to display a `.dvi' file.
If it is a string, that specifies the command directly.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise, the file name, preceded by a space, is added at the end.

If the value is a form, it is evaluated to get the command to use.
(custom-declare-variable 'tex-dvi-view-command '`(cond ((eq window-system 'x) ,(purecopy "xdvi")) ((eq window-system 'w32) ,(purecopy "yap")) (t ,(purecopy "dvi2tty * | cat -s"))) '(#$ . 5917) :type '(choice (const nil) string sexp) :group 'tex-view)
#@123 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 '(purecopy "lpq") '(#$ . 6499) :type 'string :group 'tex-view)
#@258 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 ''latex-mode '(#$ . 6740) :type 'function :group 'tex)
#@68 String inserted by typing \[tex-insert-quote] to open a quotation.
(custom-declare-variable 'tex-open-quote '(purecopy "``") '(#$ . 7101) :type 'string :options '("``" "\"<" "\"`" "<<" "Â«") :group 'tex)
#@69 String inserted by typing \[tex-insert-quote] to close a quotation.
(custom-declare-variable 'tex-close-quote '(purecopy "''") '(#$ . 7311) :type 'string :options '("''" "\">" "\"'" ">>" "Â»") :group 'tex)
#@56 If non-nil, fontify subscript and superscript strings.
(custom-declare-variable 'tex-fontify-script 't '(#$ . 7523) :type 'boolean :group 'tex :version "23.1")
(put 'tex-fontify-script 'safe-local-variable 'booleanp)
#@290 How much to lower and raise subscript and superscript content.
This is a list of two floats.  The first is negative and
specifies how much subscript is lowered, the second is positive
and specifies how much superscript is raised.  Heights are
measured relative to that of the normal text.
(custom-declare-variable 'tex-font-script-display ''(-0.2 0.2) '(#$ . 7747) :group 'tex :type '(list (float :tag "Subscript") (float :tag "Superscript")) :version "23.1")
#@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 (#$ . 8214))
#@413 *Command to run TeX.
If this string contains an asterisk (`*'), that is replaced by the file name;
otherwise the value of `tex-start-options', the (shell-quoted)
value of `tex-start-commands', and the file name are added at the end
with blanks as separators.

In TeX, LaTeX, and SliTeX Mode this variable becomes buffer local.
In these modes, use \[set-variable] if you want to change it for the
current buffer.
(defvar tex-command "tex" (#$ . -8428))
#@73 String appended after the end of a region sent to TeX by \[tex-region].
(defvar tex-trailer nil (#$ . 8886))
#@74 Regular expression used by \[tex-region] to find start of file's header.
(defvar tex-start-of-header nil (#$ . 9001))
#@72 Regular expression used by \[tex-region] to find end of file's header.
(defvar tex-end-of-header nil (#$ . 9125))
#@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" (#$ . 9246))
#@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 (#$ . 9430))
#@30 Buffer which was last TeXed.
(defvar tex-last-buffer-texed nil (#$ . 9611))
#@91 File name that \[tex-print] prints.
Set by \[tex-region], \[tex-buffer], and \[tex-file].
(defvar tex-print-file nil (#$ . 9693))
#@38 Syntax table used while in TeX mode.
(defvar tex-mode-syntax-table (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\306#\210\302\310\311#\210\302\312\311#\210\302\313\314#\210\302\315\314#\210\302\316\317#\210\302\320\321#\210\302\322\323#\210\302\324\325#\210\302\326\321#\210\302\327\321#\210\302\330\321#\210\302\331\321#\210)\207" [st make-syntax-table modify-syntax-entry 37 "<" 10 ">" 12 0 "w" 39 64 "_" 42 9 " " 126 "." 36 "$$" 92 "/" 34 38 95 94] 4) (#$ . 9829))
#@141 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 '". " '(#$ . 10335) :type 'string :group 'tex)
(byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\306\"\210\301\207" [current-load-list latex-section-alist default-boundp set-default (("part" . 0) ("chapter" . 1) ("section" . 2) ("subsection" . 3) ("subsubsection" . 4) ("paragraph" . 5) ("subparagraph" . 6)) latex-metasection-list ("documentstyle" "documentclass" "begin{document}" "end{document}" "appendix" "frontmatter" "mainmatter" "backmatter")] 3)
#@50 Generate an alist for imenu from a LaTeX buffer.
(defalias 'latex-imenu-create-index #[nil "\306\307\310\311\"\312\"\313Q\306\307	\312\"P\314\211\211!\212eb\210\315\316\314\312#\203*\317\2029\315\320\314\312#\2037\321\2029\322eb\210\315!\314\312#\203d\317\224`\323\324\321\224\321\225\"\"A\"#$\325u\210\326\327\330\217\210+\202<eb\210\315\331\314\312#\203\215\332\324\322\224\322\225\"\321\224f\333U\203\202\334\202\203\335Q\317\224BB\202geb\210\315
\314\312#\203\242\336\317\224BB\202\220\337\340\".\207" [latex-section-alist latex-metasection-list case-fold-search menu i0 metasection-regexp "\\\\" regexp-opt mapcar car t "\\*?[ 	]*{" nil search-forward-regexp "\\\\part\\*?[ 	]*{" 0 "\\\\chapter\\*?[ 	]*{" 1 2 assoc buffer-substring-no-properties -1 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" "--" sort #[(a b) "A	AW\207" [a b] 2] section-regexp i here start] 6 (#$ . 11021)])
(byte-code "\303B\304\303!\204\305\303\306\307\310	\311\312\n\"\"\313\"P\"\210\303\207" [current-load-list latex-metasection-list latex-section-alist latex-outline-regexp default-boundp set-default "\\\\" regexp-opt append mapcar car t] 9)
(defalias 'latex-outline-level #[nil "\302!\203\303\304\305!	\"A\206\306T\207\307\207" [latex-outline-regexp latex-section-alist looking-at assoc match-string 1 -1 1000] 3])
#@48 Subdued expressions to highlight in TeX modes.
(defconst tex-font-lock-keywords-1 '(("\\$\\$\\([^$]+\\)\\$\\$" 1 tex-math-face) ("\\\\\\(begin\\|chapter\\|end\\|new\\(?:command\\|environment\\|theorem\\)\\|p\\(?:ar\\(?:agraph\\|t\\)\\|rovidecommand\\)\\|renew\\(?:command\\|environment\\|theorem\\)\\|s\\(?:ection\\|ub\\(?:paragraph\\|s\\(?:ection\\|ub\\(?:paragraph\\|section\\)\\)\\)\\)\\|title\\)\\*? *\\(\\[[^]]*\\] *\\)*{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 3 font-lock-function-name-face keep) ("\\\\\\(?:provide\\|\\(?:re\\)?new\\)command\\** *\\(\\\\[A-Za-z@]+\\)" 1 font-lock-function-name-face keep) ("\\\\\\(addto\\(?:counter\\|length\\)\\|newcounter\\*?\\|set\\(?:counter\\|\\(?:leng\\|towid\\)th\\)\\) *{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 2 font-lock-variable-name-face) ("\\\\\\(bibliography\\|document\\(?:class\\|style\\)\\|epsf\\(?:ig\\)?\\|in\\(?:clude\\(?:graphics\\*?\\|only\\)?\\|put\\)\\|no\\(?:files\\|linkurl\\)\\|psfig\\|u\\(?:rl\\|sepackage\\)\\|verbatiminput\\) *\\(\\[[^]]*\\] *\\)*{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 3 font-lock-builtin-face) ("^[ 	]*\\\\def *\\\\\\(\\(\\w\\|@\\)+\\)" 1 font-lock-function-name-face)) (#$ . 12637))
(defalias 'tex-font-lock-append-prop #[(prop) "\301\302\225\303\"\304>?\205\f\207" [prop get-text-property 1 face (font-lock-comment-face tex-verbatim)] 3])
#@46 Gaudy expressions to highlight in TeX modes.
(defconst tex-font-lock-keywords-2 (append tex-font-lock-keywords-1 '(("\\\\\\(bibitem\\|cite[pt]?\\|eqref\\|glossary\\|index\\|label\\|nocite\\|\\(?:page\\|v\\)?ref\\) *\\(\\[[^]]*\\] *\\)*{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 3 font-lock-constant-face) ("\\(\"[<`]\\|<<\\|``\\|Â«\\)[^'\">{]+\\(\"['>]\\|''\\|>>\\|Â»\\)" . font-lock-string-face) ("\\\\\\(\\\\\\*?\\)" . font-lock-warning-face) ("\\(\\\\\\(allowdisplaybreaks\\|clear\\(?:\\(?:double\\)?page\\)\\|displaybreak\\|enlargethispage\\|linebreak\\|n\\(?:ew\\(?:\\(?:lin\\|pag\\)e\\)\\|o\\(?:\\(?:lin\\|pag\\)ebreak\\)\\)\\|pagebreak\\)\\)\\([^a-zA-Z@]\\|\\'\\)" 1 font-lock-warning-face) "\\\\\\([a-zA-Z@]+\\**\\|[^ 	\n]\\)" ("\\\\\\(boldsymbol\\|pmb\\|text\\(?:bf\\|sc\\|up\\)\\) *{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 2 (tex-font-lock-append-prop 'bold) append) ("\\\\\\(emph\\|text\\(?:it\\|sl\\)\\) *{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 2 (tex-font-lock-append-prop 'italic) append) ("\\\\\\(em\\|it\\|sl\\)\\>\\(\\(?:[^{}&\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 2 (tex-font-lock-append-prop 'italic) append) ("\\\\\\(bf\\(series\\)?\\)\\>\\(\\(?:[^{}&\\]+\\|\\\\.\\|{[^}]*}\\)+\\)" 3 (tex-font-lock-append-prop 'bold) append))) (#$ . 13986))
(defalias 'tex-font-lock-suscript #[(pos) "\304\305\"\306>\206 \307Sf\310=\203S	?\202
	*?\205@f\311=\2034\305\312\313\314\n@DF\207\305\315\313\314\n\211A@)DF\207" [pos odd tex-font-script-display x get-text-property face (font-lock-constant-face font-lock-builtin-face font-lock-comment-face tex-verbatim) nil 92 95 subscript display raise superscript] 6])
#@55 Match subscript and superscript patterns up to LIMIT.
(defalias 'tex-font-lock-match-suscript #[(limit) "\2056\304\305	\306#\2056\307\225\2035\307\224\214e	}\210\310\311\312\217)\313\n\203-\314\224\n\nF\2022\211\211\211F!\210*\306\207" [tex-fontify-script limit end beg re-search-forward "[_^] *\\([^\n\\{}]\\|\\\\\\([a-zA-Z@]+\\|[^ 	\n]\\)\\|\\({\\)\\)" t 3 nil (byte-code "\300`\301\211#\207" [scan-lists 1] 4) ((error)) store-match-data 0] 5 (#$ . 15627)])
#@53 Experimental expressions to highlight in TeX modes.
(defconst tex-font-lock-keywords-3 (append tex-font-lock-keywords-2 '((tex-font-lock-match-suscript (1 (tex-font-lock-suscript (match-beginning 0)) append)))) (#$ . 16103))
#@48 Default expressions to highlight in TeX modes.
(defvar tex-font-lock-keywords tex-font-lock-keywords-1 (#$ . 16334))
(byte-code "\301B\302\301!\204\303\301\304\"\210\305\301\306\307#\207" [current-load-list tex-verbatim-environments default-boundp set-default ("verbatim" "verbatim*") put safe-local-variable #[(x) "\301\302\303\304\"\"?\207" [x delq t mapcar stringp] 5]] 4)
(defalias 'tex-env-mark #[(cmd start end) "\305 U\203=\306	T\nS\"\211\f\235\203<Tf\307=\203)\310\311 \305\312!\313\314$\210\202<\310S\313\315$\210\310\n\211T\311 ^\313\316$\210)\317	T\320\"?\205L\310	\n\321\322$\207" [cmd start end arg tex-verbatim-environments line-beginning-position buffer-substring-no-properties 98 put-text-property line-end-position 2 syntax-table (8388619) (8388620) (11) get-char-property text-clones latex-env-pair t] 6])
#@125 Non-nil if Latex-Electric-Env-Pair mode is enabled.
Use the command `latex-electric-env-pair-mode' to change this variable.
(defvar latex-electric-env-pair-mode nil (#$ . 17180))
(make-variable-buffer-local 'latex-electric-env-pair-mode)
#@80 Automatically update the \end arg when editing the \begin one.
And vice-versa.
(defalias 'latex-electric-env-pair-mode #[(&optional arg) "\303 	\304=\203\n?\202\305	!\306V\211\203\"\307\310\311\312\313$\210\202(\314\310\311\313#\210\315\316\n\2032\317\2023\320\"\210\321\322!\203T\303 \203G\303 \232\203T\323\324\n\203Q\325\202R\326\"\210)\327 \210\n\207" [#1=#:last-message arg latex-electric-env-pair-mode current-message toggle prefix-numeric-value 0 add-hook before-change-functions latex-env-before-change nil local remove-hook run-hooks latex-electric-env-pair-mode-hook latex-electric-env-pair-mode-on-hook latex-electric-env-pair-mode-off-hook called-interactively-p any message "Latex-Electric-Env-Pair mode %sabled" "en" "dis" force-mode-line-update] 6 (#$ . 17424) (list (or current-prefix-arg 'toggle))])
(byte-code "\301\302\303\304\300!\205\n\305\211%\207" [latex-electric-env-pair-mode-map add-minor-mode latex-electric-env-pair-mode "/e" boundp nil] 6)
(defalias 'latex-env-before-change #[(start end) "\301\302\"\205\303\304\305\217\207" [start get-text-property latex-env-pair err (byte-code "\306 \307\211\307\310\211\310\311\216\312\313T\314\"\315\314\"\316#\210\317\320\"\206?\317T\320\"\206?\212b\210\321\322\323 \307#)??\205\235\324\224\325\225\324\225S !\212\324\225b\210\326\327!\205\234\324\225\"V\205\234\324\225# \204z#b\210\330\331!\210\325v\210\202\211!b\210\330\325!\210\310$\332 \210)\326\333#{!!\205\233\334#\"),.\207" [#1=#:modified buffer-undo-list inhibit-read-only inhibit-modification-hooks deactivate-mark buffer-file-name buffer-modified-p t nil ((byte-code "\204\301\302!\210\302\207" [#1# restore-buffer-modified-p nil] 2)) remove-text-properties previous-single-property-change latex-env-pair next-single-property-change (latex-env-pair) get-char-property text-clones re-search-backward "\\\\\\(?:end\\|begi\\(n\\)\\) *{" line-beginning-position 0 1 looking-at "[^\n{}]*}" latex-forward-sexp -1 backward-sexp regexp-quote text-clone-create buffer-file-truename start arg-start type cmd-start end arg-end forward-sexp-function] 6) ((scan-error) (error (message "Error in latex-env-before-change: %s" err)))] 3])
(defalias 'tex-font-lock-unfontify-region #[(beg end) "\306	\"\210	W\205<\307\310\311	$\312\310\"\n\242\313=\2036\nA\242\f\235\2036\n\211AA)\2046\314\310\311$\210*\202\207" [beg end prop next tex-font-script-display x font-lock-default-unfontify-region next-single-property-change display nil get-text-property raise put-text-property] 6])
#@197 Ratio of subscript/superscript height to that of the preceding text.
In nested subscript/superscript, this factor is applied repeatedly,
subject to the limit set by `tex-suscript-height-minimum'.
(custom-declare-variable 'tex-suscript-height-ratio '0.8 '(#$ . 20009) :type 'float :group 'tex :version "23.1")
#@214 Integer or float limiting the minimum size of subscript/superscript text.
An integer is an absolute height in units of 1/10 point, a float
is a height relative to that of the default font.  Zero means no minimum.
(custom-declare-variable 'tex-suscript-height-minimum '0.0 '(#$ . 20325) :type '(choice (integer :tag "Integer height in 1/10 point units") (float :tag "Fraction of default font height")) :group 'tex :version "23.1")
#@138 Return the integer height of subscript/superscript font in 1/10 points.
Not smaller than the value set by `tex-suscript-height-minimum'.
(defalias 'tex-suscript-height #[(height) "\303\250\203\n\202\304\305\306\217	\n_]!\207" [tex-suscript-height-minimum height tex-suscript-height-ratio ceiling nil (byte-code "\301\302\303\"_\207" [tex-suscript-height-minimum face-attribute default :height] 4) ((error 0))] 4 (#$ . 20762)])
(byte-code "\301\302\303\304\305\306%\210\301\307\310\311\305\306%\210\301\312\313\314\305\306%\210\315\316\317\312#\210\315\316\320\321\322!\206(\323#\210\316B\324\316!\2049\325\316\312\"\210\301\326\327\330\305\306%\210\315\331\317\326#\210\315\331\320\321\322!\206Q\323#\210\331B\324\331!\204b\325\331\326\"\210\301\207" [current-load-list custom-declare-face superscript ((t :height tex-suscript-height)) "Face used for superscripts." :group tex subscript ((t :height tex-suscript-height)) "Face used for subscripts." tex-math ((t :inherit font-lock-string-face)) "Face used to highlight TeX math expressions." put tex-math-face face-alias obsolete-face purecopy "22.1" t default-boundp set-default tex-verbatim ((t :family "courier")) "Face used to highlight TeX verbatim environments." tex-verbatim-face] 6)
#@118 Place syntax table properties on the erb construct.
START is the position of the \ and DELIM is the delimiter char.
(defalias 'tex-font-lock-verb #[(start delim) "\303\212\304!)8?\205:`\305\306\n\"\307 w\210l\203#\310	S	\311\312$\2029hz\313=\2032\310`S`\311\314$\210\310``T\311\315$)\207" [start afterdelim delim 8 syntax-ppss string 94 line-end-position put-text-property syntax-table nil 47 (1) (7)] 5 (#$ . 22024)])
(defalias 'tex-font-lock-syntactic-face-function #[(state) "\3058\211\204\3068\307=\203\n\202#\202#	\310=\203\"\f\202#\n)\207" [state char tex-verbatim-face font-lock-comment-face tex-math-face 3 7 2 36] 3])
#@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] (menu-item "Tex Kill" tex-kill-job :enable (tex-shell-running)) [menu-bar tex tex-recenter-output-buffer] (menu-item "Tex Recenter" tex-recenter-output-buffer :enable (get-buffer "*tex-shell*")) [menu-bar tex tex-show-print-queue] ("Show Print Queue" . tex-show-print-queue) [menu-bar tex tex-alt-print] (menu-item "Tex Print (alt printer)" tex-alt-print :enable (stringp tex-print-file)) [menu-bar tex tex-print] (menu-item "Tex Print" tex-print :enable (stringp tex-print-file)) [menu-bar tex tex-view] (menu-item "Tex View" tex-view :enable (stringp tex-print-file))] 6 (#$ . 22676)])
#@29 Keymap shared by TeX modes.
(defvar tex-mode-map (byte-code "\302 \303	\"\210\304!\210\305\306\307#\210\305\310\311#\210\305\312\311#\210\305\313\311#\210\305\314\311#\210\305\315\316#\210\305\317\320#\210\305\321\322#\210\305\323\324#\210\305\325\326#\210\305\327\330#\210\305\331\332#\210\305\333\334#\210\305\335\336#\210\305\337\340#\210\305\341\340#\210\305\342\343#\210\305\344\343#\210\305\345\343#\210\305\346\347#\210\305\350\351#\210\305\352\351#\210\305\353\354#\210\305\355\356#\210\305\357\360#\210\305\361\362#\210\305\363\364#\210\305\365\366#\210)\207" [map text-mode-map make-sparse-keymap set-keymap-parent tex-define-common-keys define-key "\"" tex-insert-quote "(" skeleton-pair-insert-maybe "{" "[" "$" "\n" tex-terminate-paragraph "\215" latex-insert-item "}" up-list "{" tex-insert-braces "" tex-region "" tex-buffer "" tex-file "" tex-compile "	" tex-bibtex-file "" latex-insert-block "" "]" latex-close-block "/" "" "" tex-goto-last-unclosed-latex-block "
" tex-feed-input [(control return)] [menu-bar tex tex-bibtex-file] ("BibTeX File" . tex-bibtex-file) [menu-bar tex tex-validate-region] (menu-item "Validate Region" tex-validate-region :enable mark-active) [menu-bar tex tex-validate-buffer] ("Validate Buffer" . tex-validate-buffer) [menu-bar tex tex-region] (menu-item "TeX Region" tex-region :enable mark-active) [menu-bar tex tex-buffer] ("TeX Buffer" . tex-buffer) [menu-bar tex tex-file] ("TeX File" . tex-file)] 4) (#$ . 23813))
#@52 Keymap for `latex-mode'.  See also `tex-mode-map'.
(defvar latex-mode-map (byte-code "\302 \303	\"\210\304\305\306#\210)\207" [map tex-mode-map make-sparse-keymap set-keymap-parent define-key "" latex-split-block] 4) (#$ . 25339))
#@56 Keymap for `plain-tex-mode'.  See also `tex-mode-map'.
(defvar plain-tex-mode-map (byte-code "\302 \303	\"\210)\207" [map tex-mode-map make-sparse-keymap set-keymap-parent] 3) (#$ . 25582))
#@75 Keymap for the TeX shell.
Inherits `shell-mode-map' with a few additions.
(defvar tex-shell-map (byte-code "\302 \303	\"\210\304!\210)\207" [m shell-mode-map make-sparse-keymap set-keymap-parent tex-define-common-keys] 3) (#$ . 25781))
#@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 ")) (#$ . 26027))
#@49 Alist of face and LaTeX font name for facemenu.
(defvar tex-latex-face-alist (cons '(italic . "{\\em ") tex-face-alist) (#$ . 26232))
(defalias 'tex-facemenu-add-face-function #[(face end) "	\236A\206R:\203M@:\203MA\204M\n\305=\203M\211@@)\306=\2035\307\310@\211A@)\"\202J\211@@)\311=\203M\307\312@\211A@)\"\206R\313\314\f#\207" [face tex-face-alist major-mode x mode-name latex-mode :foreground format "{\\color{%s} " :background "\\colorbox{%s}{" error "Face %s not configured for %s mode"] 5])
(defalias 'tex-guess-mode #[nil "\306\211\212eb\210\307\310\306\311#\211\203%`\212\312 \210\307\313\f\311#*\211\204\n\n\203I	\204I\314\315!\203G\314\316!\203C\317
!\203C\320\202H\321\202H\322) +\207" [tex-default-mode comment slash mode search-end slitex-run-command nil search-forward "\\" t beginning-of-line "%" looking-at "\\<\\(RequirePackage\\|begin\\|chapter\\|document\\(?:class\\|style\\)\\|newcommand\\|part\\|renewcommand\\|s\\(?:\\(?:ubs\\)?ection\\)\\)\\>\\|NeedsTeXFormat{LaTeX" "document\\(style\\|class\\)\\(\\[.*\\]\\)?{slides}" tex-executable-exists-p slitex-mode latex-mode plain-tex-mode] 4])
(byte-code "\302\303N\204\304\302\303\305\306!#\210\307\310!\204\304\310\311\312#\210\310B\313\310!\204*\314\310\315 \"\210\310\303N\2048\304\310\303\305\316!#\210\307\317!\204D\304\317\311\312#\210\317B\313\317!\204T\314\317\320 \"\210\317\303N\204b\304\317\303\305\321!#\210\304\301\311\312#\210\301B\313\301!\204|\314\301\322\301\323\"\210	\"\210\301\303N\204\212\304\301\303\305\324!#\210\304\312\325\326#\207" [current-load-list tex-mode-abbrev-table tex-mode-hook variable-documentation put purecopy "Hook run when entering generic-TeX mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tex-mode-map definition-name tex-mode default-boundp set-default make-sparse-keymap "Keymap for `tex-mode'." tex-mode-syntax-table make-syntax-table "Syntax table for `tex-mode'." define-abbrev-table nil "Abbrev table for `tex-mode'." derived-mode-parent text-mode] 5)
#@451 Major mode derived from `text-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `tex-mode-map', `tex-mode-abbrev-table' and `tex-mode-syntax-table'

which more-or-less shadow text-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `tex-mode-hook', as the final step
during initialization.

\{tex-mode-map}
(defalias 'tex-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210\326 \210)\327\330!\207" [delay-mode-hooks major-mode mode-name tex-mode-map tex-mode-syntax-table parent make-local-variable t text-mode tex-mode "generic-TeX" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table tex-common-initialization run-mode-hooks tex-mode-hook tex-mode-abbrev-table local-abbrev-table] 6 (#$ . 28358) nil])
(byte-code "\300\301\302K\"\207" [defalias tex-mode-internal tex-mode] 3)
#@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 "\203\301 \207\302 \207" [delay-mode-hooks tex-mode-internal tex-guess-mode] 1 (#$ . 29546) nil])
(byte-code "\302\303\304\"\210\302\305\306\"\210\302\307\310\"\210\311\312N\204\313\311\312\314\315!#\210\316\317!\204)\313\317\320\306#\210\317B\321\317!\2049\322\317\323 \"\210\317\312N\204G\313\317\312\314\324!#\210\316\325!\204S\313\325\320\306#\210\325B\321\325!\204c\322\325\326 \"\210\325\312N\204q\313\325\312\314\327!#\210\313\301\320\306#\210\301B\321\301!\204\213\322\301\330\301\331\"\210	\"\210\301\312N\204\231\313\301\312\314\332!#\210\313\306\333\304#\207" [current-load-list plain-tex-mode-abbrev-table defalias TeX-mode tex-mode plain-TeX-mode plain-tex-mode LaTeX-mode latex-mode plain-tex-mode-hook variable-documentation put purecopy "Hook run when entering TeX mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp plain-tex-mode-map definition-name default-boundp set-default make-sparse-keymap "Keymap for `plain-tex-mode'." plain-tex-mode-syntax-table make-syntax-table "Syntax table for `plain-tex-mode'." define-abbrev-table nil "Abbrev table for `plain-tex-mode'." derived-mode-parent] 5)
#@1658 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 \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{plain-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\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210 \306\326!\210!\306\327!\210\330\306\331!\210\332\306\333!\210\334)\335\336!\207" [delay-mode-hooks major-mode mode-name plain-tex-mode-map plain-tex-mode-syntax-table parent make-local-variable t tex-mode plain-tex-mode "TeX" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table tex-command tex-start-of-header "%\\*\\*start of header" tex-end-of-header "%\\*\\*end of header" tex-trailer "\\bye\n" run-mode-hooks plain-tex-mode-hook plain-tex-mode-abbrev-table local-abbrev-table tex-run-command] 6 (#$ . 31185) nil])
(byte-code "\302\303N\204\304\302\303\305\306!#\210\307\310!\204\304\310\311\312#\210\310B\313\310!\204*\314\310\315 \"\210\310\303N\2048\304\310\303\305\316!#\210\307\317!\204D\304\317\311\312#\210\317B\313\317!\204T\314\317\320 \"\210\317\303N\204b\304\317\303\305\321!#\210\304\301\311\312#\210\301B\313\301!\204|\314\301\322\301\323\"\210	\"\210\301\303N\204\212\304\301\303\305\324!#\210\304\312\325\326#\207" [current-load-list latex-mode-abbrev-table latex-mode-hook variable-documentation put purecopy "Hook run when entering LaTeX mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp latex-mode-map definition-name latex-mode default-boundp set-default make-sparse-keymap "Keymap for `latex-mode'." latex-mode-syntax-table make-syntax-table "Syntax table for `latex-mode'." define-abbrev-table nil "Abbrev table for `latex-mode'." derived-mode-parent tex-mode] 5)
#@1622 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 \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{latex-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\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210@A\306\326!\210B\306\327!\210\330\306\331!\210\332\306\333!\210\334\335\336\337\340\341\342\343C\"\344\"\307\"\345\346\347\260D\350\336\337\340\341\342\343C\"\351\"\307\"\352\353\354\355\260E\306\356!\210\357.\306\360!\210F0\361\362\363\364\307$\210\306\365!\210\3665\306\367!\210\3077\361\370\371\364\372$\210\306\373!\210G;\306\374!\210\375<\306\376!\210\377>\306\201H!\210\364H)\201I\201J!\207" [delay-mode-hooks major-mode mode-name latex-mode-map latex-mode-syntax-table parent make-local-variable t tex-mode latex-mode "LaTeX" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table tex-command tex-start-of-header "\\\\document\\(style\\|class\\)" tex-end-of-header "\\\\begin\\s-*{document}" tex-trailer "\\end{document}\n" "[ 	]*\\(\\$\\$\\|" "\\\\[][]\\|" "\\\\" regexp-opt append mapcar car ("begin" "label" "end" "item" "bibitem" "newline" "noindent" "newpage" "footnote" "marginpar" "parbox" "caption") "\\>\\|\\\\[a-z]*" "\\(page\\|s\\(?:kip\\|pace\\)\\)" "\\>\\)" "[\f%]\\|[ 	]*\\($\\|" ("begin" "label" "end") "\\>\\|\\\\\\(" "\\(?:bibitem\\|caption\\|footnote\\|item\\|marginpar\\|n\\(?:ew\\(?:\\(?:lin\\|pag\\)e\\)\\|oindent\\)\\|parbox\\)" "\\|\\$\\$\\|[a-z]*\\(space\\|skip\\|page[a-z]*\\)" "\\>\\)[ 	]*\\($\\|%\\)\\)" imenu-create-index-function latex-imenu-create-index tex-face-alist add-hook fill-nobreak-predicate latex-fill-nobreak-predicate nil indent-line-function latex-indent fill-indent-according-to-mode completion-at-point-functions latex-complete-data local outline-regexp outline-level latex-outline-level forward-sexp-function latex-forward-sexp latex-mode-abbrev-table local-abbrev-table latex-run-command latex-section-alist paragraph-start paragraph-separate tex-latex-face-alist latex-outline-regexp skeleton-end-hook run-mode-hooks latex-mode-hook] 9 (#$ . 34687) nil])
(byte-code "\302\303N\204\304\302\303\305\306!#\210\307\310!\204\304\310\311\312#\210\310B\313\310!\204*\314\310\315 \"\210\310\303N\2048\304\310\303\305\316!#\210\307\317!\204D\304\317\311\312#\210\317B\313\317!\204T\314\317\320 \"\210\317\303N\204b\304\317\303\305\321!#\210\304\301\311\312#\210\301B\313\301!\204|\314\301\322\301\323\"\210	\"\210\301\303N\204\212\304\301\303\305\324!#\210\304\312\325\326#\207" [current-load-list slitex-mode-abbrev-table slitex-mode-hook variable-documentation put purecopy "Hook run when entering SliTeX mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp slitex-mode-map definition-name slitex-mode default-boundp set-default make-sparse-keymap "Keymap for `slitex-mode'." slitex-mode-syntax-table make-syntax-table "Syntax table for `slitex-mode'." define-abbrev-table nil "Abbrev table for `slitex-mode'." derived-mode-parent latex-mode] 5)
#@1690 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 \[tex-validate-buffer] to check buffer for paragraphs containing
mismatched $'s or braces.

Special commands:
\{slitex-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\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210\326)\327\330!\207" [delay-mode-hooks major-mode mode-name slitex-mode-map slitex-mode-syntax-table parent make-local-variable t latex-mode slitex-mode "SliTeX" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table "\\\\documentstyle{slides}\\|\\\\documentclass{slides}" run-mode-hooks slitex-mode-hook slitex-mode-abbrev-table local-abbrev-table slitex-run-command tex-command tex-start-of-header] 6 (#$ . 39466) nil])
(defalias 'tex-common-initialization #[nil "\306\300!\210\307\306\301!\210\310\306\302!\210\311\306\303!\210\312\306\304!\210\313\306\305!\210\314\306\315!\210\316
\306\317!\210\320\306\321!\210\322\306\323!\210\324\306\325!\210\316\306\326!\210\327\306\330!\210\331\306\332!\210\333\306\334!\210\306\335!\210\306\336!\210\306\337!\207" [search-whitespace-regexp paragraph-start paragraph-separate comment-start comment-add comment-start-skip make-local-variable "[ 	
\n\f]+" "[ 	]*$\\|[\f\\\\%]\\|[ 	]*\\$\\$" "[ 	]*$\\|[\f\\\\%]\\|[ 	]*\\$\\$[ 	]*$" "%" 1 "\\(\\(^\\|[^\\\n]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)" parse-sexp-ignore-comments t compare-windows-whitespace tex-categorize-whitespace facemenu-add-face-function tex-facemenu-add-face-function facemenu-end-add-face "}" facemenu-remove-face-function font-lock-defaults ((tex-font-lock-keywords tex-font-lock-keywords-1 tex-font-lock-keywords-2 tex-font-lock-keywords-3) nil nil ((36 . "\"")) nil (font-lock-mark-block-function . mark-paragraph) (font-lock-syntactic-face-function . tex-font-lock-syntactic-face-function) (font-lock-unfontify-region-function . tex-font-lock-unfontify-region)) syntax-propertize-function #[(start end) "b\210`	W\205K\303\304	\305#\205K\306\224\203*\307\306\224\306\225\310\311$\210\312\313\224\306\224f\"\210\202\314\224\203\315\316!\211A\317\n\233\241\210\320\n!\210)\321\313\224\306\224\306\225#\210\202\207" [start end md re-search-forward "\\\\verb\\**\\([^a-z@*]\\)\\|\\\\\\(?:end\\|begin\\) *\\({[^\n{}]*}\\)" t 1 put-text-property syntax-table (7) tex-font-lock-verb 0 2 match-data ints 4 set-match-data tex-env-mark] 6] indent-tabs-mode nil tex-command tex-start-of-header tex-end-of-header tex-trailer] 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) "\2044hz\303>\2044\304`\305\"\306=\2044\212	G[u\210\307\310	!!\204*\307\310\n!!\2050\311	G!\210\312)\203:\313\314!!\207hz\315>\203E	\202F\nc\207" [arg tex-open-quote tex-close-quote (47 92) get-text-property face tex-verbatim looking-at regexp-quote delete-char t self-insert-command prefix-numeric-value (40 62 32)] 3 (#$ . 44064) "*P"])
#@284 Check current buffer for paragraphs containing mismatched braces or $s.
Their positions are recorded in the buffer `*Occur*'.
To find a particular invalidity from `*Occur*', switch to that buffer
and type C-c C-c or click with mouse-2
on the line for the invalidity you want to see.
(defalias 'tex-validate-buffer #[nil "pe\306\307\310\220\311\312!\210r\fq\210\313 \210\306\307CE)\212db\210\314 \210\315 \210o\204\255\314 \210\212\316`\212\315 \210`)\"\204\251\317\320!\306\211$%&\321 \210`%	\203Y	\322\n`\"Z\202`\322\323%\"T`\212\324 $\fq\210eb\210\323y\210T\325%&#\210\306\324 '(%&Zu\210\324 (\326\327	\"c\210\330('S\331#\210\332('S\333$$\210.)\202&)r\fq\210\334!\211)\203\276\335c\210\336\337!\205\333\340)\203\316\341\202\331\323U\203\330\342\202\331\343\"*\221,\207" [num-matches linenum prevpos buffer standard-output occur-revert-arguments nil 0 "*Occur*" princ "Mismatches:\n" occur-mode backward-paragraph forward-paragraph tex-validate-region line-beginning-position 2 beginning-of-line count-lines 1 point-marker insert-buffer-substring format "%3d: " add-text-properties (mouse-face highlight help-echo "mouse-2: go to this invalidity") put-text-property occur-target zerop "None!\n" called-interactively-p interactive message "No mismatches found" "1 mismatch found" "%d mismatches found" tem start end text-end text-beg no-matches] 7 (#$ . 44665) 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)\203b\210*?\207" [end start max-possible-sexps failure-point nil (byte-code "\214	}\210b\210m\204\304\nS\211X\203\305\306!\210\202b\210\307\310\311\312#\203R\212\304\224\211b\210\313\311x\210\305\306!\210h\314!A=\204Nf\314`S!A=\204N\315\316!\210*\202)\311\207" [start end max-possible-sexps pos 0 forward-sexp 1 re-search-forward "\\s(" nil t "\\\\" syntax-after error "Mismatched parentheses"] 5) ((error (byte-code "\301\302!\210`\301\207" [failure-point skip-syntax-forward " .>"] 2)))] 3 (#$ . 46086) "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 \210`)`\")\204\303\304!\210\305c\207" [inhibit-validation tex-validate-region backward-paragraph message "Paragraph being closed appears to contain a mismatch" "\n\n"] 3 (#$ . 46851) "*P"])
(put 'tex-insert-braces 'no-self-insert t)
#@564 Make a pair of braces and be poised to type inside of 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-insert-braces #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil 123 _ 125)] 4 (#$ . 47328) "*P\nP"])
(defalias 'latex-fill-nobreak-predicate #[nil "\212\302\303x\210o\204`Sfz\304>\2064`\303\305 \210\306\307	\310#\2032\306\311\312\313!!	\310#\204\310\202*)\207" [inside opoint " " nil (92 47) beginning-of-line re-search-forward "\\\\verb\\(.\\)" t regexp-quote match-string 1] 4])
(byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list latex-block-default default-boundp set-default "enumerate"] 3)
#@241 Skeleton element to use for arguments to particular environments.
Every element of the list has the form (NAME . SKEL-ELEM) where NAME is
the name of the environment and SKEL-ELEM is an element to use in
a skeleton (see `skeleton-insert').
(defvar latex-block-args-alist '(("array" nil 123 (skeleton-read "Format: ") 125) ("tabular" nil 123 (skeleton-read "Format: ") 125) ("minipage" nil 123 (skeleton-read "Size: ") 125) ("picture" nil 40 (skeleton-read "SizeX,SizeY: ") 41)) (#$ . 48473))
#@240 Skeleton element to use for the body of particular environments.
Every element of the list has the form (NAME . SKEL-ELEM) where NAME is
the name of the environment and SKEL-ELEM is an element to use in
a skeleton (see `skeleton-insert').
(defvar latex-block-body-alist '(("enumerate" nil '(latex-insert-item) > _) ("itemize" nil '(latex-insert-item) > _) ("table" nil "\\caption{" > (skeleton-read "Caption: ") "}" > n '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table")) n _) ("figure" nil > _ n "\\caption{" > (skeleton-read "Caption: ") "}" > n '(if (and (boundp 'reftex-mode) reftex-mode) (reftex-label "table")))) (#$ . 48972))
(byte-code "\300\301\302\"\210\303\302\304\305#\207" [defalias tex-latex-block latex-insert-block put no-self-insert t] 4)
#@615 Create a matching pair of lines \begin{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 'latex-insert-block #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ((let ((choice (completing-read (format "LaTeX block name [%s]: " latex-block-default) (append latex-block-names latex-standard-block-names) nil nil nil nil latex-block-default))) (setq latex-block-default choice) (unless (or (member choice latex-standard-block-names) (member choice latex-block-names)) (push choice latex-block-names)) choice) n "\\begin{" str "}" (cdr (assoc str latex-block-args-alist)) > n (or (cdr (assoc str latex-block-body-alist)) '(nil > _)) (unless (bolp) 'n) "\\end{" str "}" > n)] 4 (#$ . 49752) "*P\nP"])
(put 'latex-insert-item 'no-self-insert t)
#@525 Insert a item macro.

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 'latex-insert-item #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new (nil n "\\item " >)] 4 (#$ . 51049) "*P\nP"])
(byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list latex-complete-bibtex-cache default-boundp set-default nil] 3)
(defalias 'latex-string-prefix-p #[(str1 str2) "\302\303\211	\304G&\305=\207" [str1 str2 compare-strings nil 0 t] 7])
(defalias 'latex-complete-bibtex-keys #[nil "\301\300!\205\205\302\207" [reftex-mode boundp #[(key pred action) "\306\307!P\310 \311\f@\310 =\203#\312\fA@\"\203#\313\f8\202r\n\311\211\203h@r\314
!q\210eb\210\315\311\316#\203^\313\225b\210\317\320\321!\322\"\2049\323!\2039\324\325!	B\2029)A\211\204,*\326\304!\210\n	E\327	$+\207" [key keys files re latex-complete-bibtex-cache file "^[ 	]*@\\([a-zA-Z]+\\)[ 	\n]*\\([{(][ 	\n]*\\)" regexp-quote reftex-get-bibfile-list nil latex-string-prefix-p 2 find-file-noselect re-search-forward t member-ignore-case match-string 1 ("c" "comment" "string") looking-at match-string-no-properties 0 make-local-variable complete-with-action #1=#:--cl-dolist-temp-- bibtex-reference-key action pred] 5]] 2])
(defalias 'latex-complete-envnames #[nil "\302	\"\207" [latex-block-names latex-standard-block-names append] 3])
(defalias 'latex-complete-refkeys #[nil "\301\300!\205J\207" [reftex-docstruct-symbol boundp] 2])
(byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list latex-complete-alist default-boundp set-default (("\\`\\\\\\(short\\)?cite\\'" . latex-complete-bibtex-keys) ("\\`\\\\\\(begin\\|end\\)\\'" . latex-complete-envnames) ("\\`\\\\[vf]?ref\\'" . latex-complete-refkeys))] 3)
#@31 Get completion-data at point.
(defalias 'latex-complete-data #[nil "\212`\306\307x\210\310`Sf\311\"\203\307\202\232`Sf\312=\203 \307\202\232`Sf\313=\205\232\212\314u\210\315\307x\210`\316\307x\210\317\307x\211\320\245\320_u\210)`{)`b\210\321x`b\210\322\307w`\323\307\211\203\204@\324@\n\"\203{AA\211\204h*) \211\325=?\205\230
E.*\207" [pt n cmd start _ comp-beg "^ {}\n	\\\\" nil memql (nil 32 10 9 125) 92 123 -1 " \n" "a-zA-Z@*" "\\\\" 2 "^," "^, {}\n	\\\\" #[nil "\300\207" [t] 1] string-match t comp-end f latex-complete-alist comp #1=#:--cl-dolist-temp-- table] 5 (#$ . 53285)])(if macro-declaration-function (funcall macro-declaration-function (quote tex-search-noncomment) (quote (declare (debug t)))))
#@127 Execute BODY as long as it return non-nil and point is in a comment.
Return the value returned by the last execution of BODY.
(defalias 'tex-search-noncomment '(macro . #[(&rest body) "\302\303!\304C\305\306\307\310	BE\311BBDF)\207" [res-sym body make-symbol "result" let while and setq progn ((save-excursion (skip-chars-backward "^\n%") (not (bolp))))] 8 (#$ . 54055)]))
#@73 Leave point at the beginning of the last `\begin{...}' that is unended.
(defalias 'tex-last-unended-begin #[nil "\300\301\302\217\207" [nil (byte-code "\301\302\303!\211\203\212\304\301x\210n)\203)\205%\305\306!\205%\307 \210\202\207" [#1=#:result nil re-search-backward "\\\\\\(begin\\|end\\)\\s *{" "^\n%" looking-at "\\\\end" tex-last-unended-begin] 2) ((search-failed (error "Couldn't find unended \\begin")))] 3 (#$ . 54438)])
#@62 Leave point at the end of the next `\end' that is unmatched.
(defalias 'tex-next-unmatched-end #[nil "\301\302\303!\211\203\212\304\301x\210n)\203)\205+\212\305\224b\210\306\307!)\205+\310 \210\202\207" [#1=#:result nil re-search-forward "\\\\\\(begin\\|end\\)\\s *{[^}]+}" "^\n%" 0 looking-at "\\\\begin" tex-next-unmatched-end] 2 (#$ . 54887)])
#@134 Leave point after the next unmatched escaped closing parenthesis.
The string OTYPE is an opening parenthesis type: `(', `{', or `['.
(defalias 'tex-next-unmatched-eparen #[(otype) "\300\301\302\217\207" [nil (byte-code "\303\304 \305!HA!\306\307\310\311	#!\211\203\"\212\312\306x\210n)\203\f\n)\205?\212\313\224b\210\314\310\315\316!\"!)\205?\317!\210\202\n)\207" [otype ctype #1=#:result char-to-string syntax-table string-to-char nil re-search-forward format "\\\\[%s%s]" "^\n%" 0 looking-at "\\\\%s" regexp-quote tex-next-unmatched-eparen] 5) ((wrong-type-argument (error "Unknown opening parenthesis type: %s" otype)) (search-failed (error "Couldn't find closing escaped paren")))] 3 (#$ . 55252)])
#@142 Leave point at the start of the last unended escaped opening parenthesis.
The string CTYPE is a closing parenthesis type:  `)', `}', or `]'.
(defalias 'tex-last-unended-eparen #[(ctype) "\300\301\302\217\207" [nil (byte-code "\303\304 \305!HA!\306\307\310\311	#!\211\203\"\212\312\306x\210n)\203\f\n)\2059\313\310\314\315!\"!\2059\316!\210\202\n)\207" [ctype otype #1=#:result char-to-string syntax-table string-to-char nil re-search-backward format "\\\\[%s%s]" "^\n%" looking-at "\\\\%s" regexp-quote tex-last-unended-eparen] 5) ((wrong-type-argument (error "Unknown opening parenthesis type: %s" ctype)) (search-failed (error "Couldn't find unended escaped paren")))] 3 (#$ . 55974)])
#@81 Move point to the last unclosed \begin{...}.
Mark is left at original location.
(defalias 'tex-goto-last-unclosed-latex-block #[nil "\301\212\302 \210`)\303 \210b)\207" [spot nil tex-last-unended-begin push-mark] 1 (#$ . 56680) nil])
(byte-code "\301B\302\301!\204\303\301\304\"\210\301\207" [current-load-list latex-handle-escaped-parens default-boundp set-default t] 3)
#@77 Like (backward-sexp 1) but aware of multi-char elements and escaped parens.
(defalias 'latex-backward-sexp-1 #[nil "`\304\305\306!\210\307\n\203\310\202\311!\203#\312\313\314``	b\210E\"\202a\n\2035\307\315!\2035\316\317\306!!\202a\304f\320=\205a`\304\321\322\217\205`\307\323!\204Y\307\324!\203^`Sf\325=\203^\326 \202`b)*\207" [forward-sexp-function pos latex-handle-escaped-parens newpos nil backward-sexp 1 looking-at "\\\\\\(begin\\>\\|[[({]\\)" "\\\\begin\\>" signal scan-error "Containing expression ends prematurely" "\\\\\\([])}]\\)" tex-last-unended-eparen match-string 123 (byte-code "\300\301!\210\302\207" [backward-sexp 1 t] 2) ((error)) "\\\\end\\>" "end\\>" 92 tex-last-unended-begin] 6 (#$ . 57065)])
#@76 Like (forward-sexp 1) but aware of multi-char elements and escaped parens.
(defalias 'latex-forward-sexp-1 #[nil "`\304\305\306!\210`\307\310!\210\311\312!\203&\313\314\315`\304\316\317\217\210`	b\210E\"\202b\311\320!\2035\321\225b\210\322 \202b\203N\323\324!\203N\313\314\315`\325Z`	b\210E\"\202b\203`\323\326!\203`\327\330\306!!\202b\nb+\207" [forward-sexp-function pos newpos latex-handle-escaped-parens nil forward-sexp 1 skip-syntax-backward "/w" looking-at "\\\\end\\>" signal scan-error "Containing expression ends prematurely" (forward-sexp 2) ((error)) "\\\\begin\\>" 0 tex-next-unmatched-end looking-back "\\\\[])}]" 2 "\\\\\\([({[]\\)" tex-next-unmatched-eparen match-string] 7 (#$ . 57806)])
#@74 Like `forward-sexp' but aware of multi-char elements and escaped parens.
(defalias 'latex-forward-sexp #[(&optional arg) "\204\302`\303\304\305\217)\207" [arg pos 1 err (byte-code "\301U?\205\301V\203\302 \210S\202\303 \210T\211\202\207" [arg 0 latex-forward-sexp-1 latex-backward-sexp-1] 3) ((scan-error (byte-code "b\210\302	@	A\"\207" [pos err signal] 3)))] 3 (#$ . 58531) "P"])
#@67 Like (char-syntax (char-after)) but aware of multi-char elements.
(defalias 'latex-syntax-after #[nil "\300\301!\203\302\207gz\207" [looking-at "\\\\end\\>" 41] 2 (#$ . 58938)])
#@67 Like (skip-syntax-forward " )") but aware of multi-char elements.
(defalias 'latex-skip-close-parens #[nil "\301\302\303!\210\304\305!\205\306\307!\210\202)\207" [forward-sexp-function nil skip-syntax-forward " )" looking-at "\\\\end\\>" forward-sexp 2] 2 (#$ . 59124)])
#@54 Like (down-list 1) but aware of multi-char elements.
(defalias 'latex-down-list #[nil "\304d!\210\305\306\307!\204\310\311!\202.\312\311!\210\306\313!\205.\314 p\315\216\316!\210\312 \210+\202)\207" [forward-sexp-function #1=#:buffer #2=#:table tex-mode-syntax-table forward-comment nil looking-at "\\\\begin\\>" down-list 1 forward-sexp "[ 	]*[[{(]" syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table] 2 (#$ . 59406)])
(byte-code "\300\301\302\"\210\303\302\304\305#\207" [defalias tex-close-latex-block latex-close-block put no-self-insert t] 4)
#@564 Create an \end{...} to match the last unclosed \begin{...}.

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 'latex-close-block #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ((save-excursion (tex-last-unended-begin) (if (not (looking-at "\\\\begin\\(\\s *{[^}\n]*}\\)")) '("{" _ "}") (match-string 1))) n "\\end" str > n)] 4 (#$ . 60022) "*P\nP"])
(put 'latex-split-block 'no-self-insert t)
#@578 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.
(defalias 'latex-split-block #[(&optional str arg) "\302\303	#\207" [str arg skeleton-proxy-new ((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 "[ 	]*[[{]") (forward-sexp 1)) (point))))))) n "\\end" str > n _ n "\\begin" str v1 > n)] 4 (#$ . 60906) "*P\nP"])
#@61 TeX commands whose arguments should not be counted as text.
(defconst tex-discount-args-cmds '("begin" "end" "input" "special" "cite" "ref" "include" "includeonly" "documentclass" "usepackage" "label") (#$ . 61922))
#@42 Count the number of words in the buffer.
(defalias 'tex-count-words #[(begin end) "\212b\210\305`\nW\203j\306\307\n\310#\203jhz\311=\204*\312\313!\204$	T\314u\210\202\315`\316\317\320w!\2037\314u\210`\"\211\f\235\203f\321\320w\210\322d!\210\312\323!\203V\324\314!\210\322d!\210\312\325!\204b\314u\210\202f\324\314!\210)\202\326\327	\"*\207" [begin count end cmd tex-discount-args-cmds 0 re-search-forward "\\<" t 47 looking-at ".\\>" 1 buffer-substring-no-properties zerop "a-zA-Z@" nil "*" forward-comment "\\[" forward-sexp "{" message "%s words"] 6 (#$ . 62144) (byte-code "\203	\203\302 \303 D\207edD\207" [transient-mark-mode mark-active region-beginning region-end] 2)])
#@53 Syntax-table used while parsing TeX error messages.
(defvar tex-error-parse-syntax-table (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\312#\210\302\314\312#\210\302\315\312#\210\302\316\312#\210)\207" [st make-syntax-table modify-syntax-entry 40 "()" 41 ")(" 92 "\\" 123 "_" 125 91 93 34] 4) (#$ . 62849))
(defalias 'tex-old-error-file-name #[nil "\212\305 \306\216\307 p\310\216\311!\210\312 \210\313\314!\210\315\316!\210\317\320!\211\205.\f\321\230?\205.\322\f!)\204A\323\316!\210\313\314!\210\315\316!\210\202\317\320!.\207" [save-match-data-internal #1=#:buffer #2=#:table tex-error-parse-syntax-table try-filename match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table beginning-of-line backward-up-list 1 skip-syntax-forward "(_" thing-at-point filename "" file-readable-p skip-syntax-backward] 3])
(byte-code "\302B\303\304!\210\305\306N\204\307\305\306\310\311!#\210\312\313!\204\"\307\313\314\315#\210\313B\316\313!\2042\317\313\320 \"\210\313\306N\204@\307\313\306\310\321!#\210\312\322!\204L\307\322\314\315#\210\322B\316\322!\204\\\317\322\323 \"\210\322\306N\204j\307\322\306\310\324!#\210\307\301\314\315#\210\301B\316\301!\204\204\317\301\325\301\326\"\210	\"\210\301\306N\204\222\307\301\306\310\327!#\210\307\315\330\331#\207" [current-load-list tex-shell-abbrev-table tex-error-regexp-alist (lambda (#1=#:defconst-tmp-var) (defconst tex-error-regexp-alist #1#)) (gnu ("^l\\.\\([1-9][0-9]*\\) \\(?:\\.\\.\\.\\)?\\(.*\\)$" tex-old-error-file-name 1 nil nil nil (2 compilation-error-face)) ("^\\(?:Und\\|Ov\\)erfull \\\\[hv]box .* at lines? \\(\\([1-9][0-9]*\\)\\(?:--\\([1-9][0-9]*\\)\\)?\\)$" tex-old-error-file-name (2 . 3) nil 1 nil (1 compilation-warning-face)) ("^(Font) *\\([^ \n].* on input line \\([1-9][0-9]*\\)\\)\\.$" tex-old-error-file-name 2 nil 1 1 (2 compilation-warning-face))) tex-shell-hook variable-documentation put purecopy "Hook run when entering TeX-Shell mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp tex-shell-map definition-name tex-shell default-boundp set-default make-sparse-keymap "Keymap for `tex-shell'." tex-shell-syntax-table make-syntax-table "Syntax table for `tex-shell'." define-abbrev-table nil "Abbrev table for `tex-shell'." derived-mode-parent shell-mode] 5)
#@458 Major mode derived from `shell-mode' by `define-derived-mode'.
It inherits all of the parent's attributes, but has its own keymap,
abbrev table and syntax table:

  `tex-shell-map', `tex-shell-abbrev-table' and `tex-shell-syntax-table'

which more-or-less shadow shell-mode's corresponding tables.

In addition to any hooks its parent mode might have run,
this mode runs the hook `tex-shell-hook', as the final step
during initialization.

\{tex-shell-map}
(defalias 'tex-shell #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210\306\326!\210\327\307!\210)\330\331!\207" [delay-mode-hooks major-mode mode-name tex-shell-map tex-shell-syntax-table parent make-local-variable t shell-mode tex-shell "TeX-Shell" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table compilation-error-regexp-alist compilation-shell-minor-mode run-mode-hooks tex-shell-hook tex-shell-abbrev-table local-abbrev-table tex-error-regexp-alist] 6 (#$ . 65400) nil])
(defalias 'tex-start-shell #[nil "r\303\304\206\305\306!\206	\307\310$q\210\311\304!\312\n\313\"\210\314\n\307\"\210\315 \210\316\317 !\2052\320\321!\210\202$*\207" [tex-shell-file-name shell-file-name proc make-comint "tex-shell" getenv "ESHELL" nil "-i" get-process set-process-sentinel tex-shell-sentinel set-process-query-on-exit-flag tex-shell zerop buffer-size sleep-for 1] 5])
#@180 Send input to the tex shell process.
In the tex buffer this can be used to continue an interactive tex run.
In the tex shell buffer this command behaves like `comint-send-input'.
(defalias 'tex-feed-input #[nil "\300 q\210\301 \210\302\303!\207" [tex-shell-buf comint-send-input tex-recenter-output-buffer nil] 2 (#$ . 66996) nil])
#@48 Make the TeX shell buffer visible in a window.
(defalias 'tex-display-shell #[nil "\300\301 !\210\302\303!\207" [display-buffer tex-shell-buf tex-recenter-output-buffer nil] 2 (#$ . 67334)])
(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\"\207r	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 (#$ . 67761)])
(byte-code "\301B\302\301!\204\303\301\304\"\210\305\301!\207" [current-load-list tex-send-command-modified-tick default-boundp set-default 0 make-variable-buffer-local] 3)
(defalias 'tex-shell-proc #[nil "\300 \206\301\302!\207" [tex-shell-running error "No TeX subprocess"] 2])
(defalias 'tex-shell-buf #[nil "\300\301 !\207" [process-buffer tex-shell-proc] 2])
(defalias 'tex-shell-buf-no-error #[nil "\301 \211\205\n\302!)\207" [proc tex-shell-running process-buffer] 3])
#@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\n!\311\312	\"
\204	\202=\313
!\203#\314
!\f\2037	\315\fO\316
!	\fT\317OQ\202=	\320\316
!Q\203F\321\202G\322Pq\210\323!U\203Z\324\n!\210\325\n!b\210c\210\326 \210\323!\n.\207" [command cmd proc buf star file eval tex-shell-proc process-buffer string-match "\\*" file-name-absolute-p convert-standard-filename 0 shell-quote-argument nil " " "&" "" buffer-modified-tick accept-process-output process-mark comint-send-input background string tex-send-command-modified-tick] 5 (#$ . 68559)])
#@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 (#$ . 69535)])
(byte-code "\301\302\303\"\210\304B\305\304!\204\306\304\307\"\210\310B\305\310!\204#\306\310\311\"\210\307\207" [current-load-list add-hook kill-emacs-hook tex-delete-last-temp-files tex-compile-history default-boundp set-default nil tex-input-files-re "\\.\\(bbl\\|cls\\|ind\\|sty\\|tex\\(?:i\\(?:nfo\\)?\\)?\\)\\'\\|\\`[^.]+\\'"] 3)
#@74 If non-nil, use RefTeX's list of files to determine what command to use.
(custom-declare-variable 'tex-use-reftex 't '(#$ . 70378) :type 'boolean :group 'tex)
#@548 List of commands for `tex-compile'.
Each element should be of the form (FORMAT IN OUT) where
FORMAT is an expression that evaluates to a string that can contain
  - `%r' the main file name without extension.
  - `%f' the main file name.
IN can be either a string (with the same % escapes in it) indicating
  the name of the input file, or t to indicate that the input is all
  the TeX files of the document, or nil if we don't know.
OUT describes the output file and is either a %-escaped string
  or nil to indicate that there is no output file.
(defvar tex-compile-commands '(((concat "pdf" tex-command " " (if (< 0 (length tex-start-commands)) (shell-quote-argument tex-start-commands)) " %f") t "%r.pdf") ((concat tex-command " " (if (< 0 (length tex-start-commands)) (shell-quote-argument tex-start-commands)) " %f") t "%r.dvi") ("xdvi %r &" "%r.dvi") ("\\doc-view \"%r.pdf\"" "%r.pdf") ("xpdf %r.pdf &" "%r.pdf") ("gv %r.ps &" "%r.ps") ("yap %r &" "%r.dvi") ("advi %r &" "%r.dvi") ("gv %r.pdf &" "%r.pdf") ("bibtex %r" "%r.aux" "%r.bbl") ("makeindex %r" "%r.idx" "%r.ind") ("texindex %r.??") ("dvipdfm %r" "%r.dvi" "%r.pdf") ("dvipdf %r" "%r.dvi" "%r.pdf") ("dvips -o %r.ps %r" "%r.dvi" "%r.ps") ("ps2pdf %r.ps" "%r.ps" "%r.pdf") ("lpr %r.ps" "%r.ps")) (#$ . 70544))
(byte-code "\301\302\303\304#\210\302\305N\204\301\302\305\306#\210\307\301\302\310\311\312!!#\210)\301\207" [file put tex-string-prefix-p cl-compiler-macro #[(--cl-whole-arg-- str1 str2) "\302\303\304\305\211\211	&\207" [str1 str2 cl-defsubst-expand (str1 str2) (block tex-string-prefix-p "Return non-nil if STR1 is a prefix of STR2" (eq t (compare-strings str2 nil (length str1) str1 nil nil))) nil] 8] byte-compile cl-byte-compile-compiler-macro "/Users/LTX/Projects/Emacs/emacs/lisp/textmodes/tex-mode.el" compiler-macro-file purecopy file-name-nondirectory] 6)
#@44 Return non-nil if STR1 is a prefix of STR2
(defalias 'tex-string-prefix-p #[(str1 str2) "\302\303	G	\303\211&\304=\207" [str2 str1 compare-strings nil t] 7 (#$ . 72395)])
#@195 Find a likely `tex-main-file'.
Looks for hints in other buffers in the same directory or in
ALL other buffers.  If ALL is `sub' only look at buffers in parent directories
of the current buffer.
(defalias 'tex-guess-main-file #[(&optional all) "	\304\305\215*\207" [default-directory tex-start-of-header header-re dir found (byte-code ":\203	\202\306 \307\211\203P\n@r	q\210\204#\f\232\2029\310=\2038\311\307\fG\f\307\211&\312=\2029\312\203H
;\203H\313\314\315
!\"\210)\nA\211\204*:\203Z\202\\\306 \307\211\203\271@r	q\210\204v\f\232\202\214\310=\203\213\311\307\fG\f\307\211&\312=\202\214\312\203\257\203\257\212\214~\210eb\210\316`\317\\\312#*\203\257\313\314\315!\"\210)A\211\204d*\307\207" [all buf #1=#:--cl-dolist-temp-- dir default-directory tex-main-file buffer-list nil sub compare-strings t throw found expand-file-name re-search-forward 10000 #2=#:--cl-dolist-temp-- buffer-file-name header-re] 8)] 2 (#$ . 72575)])
#@44 Return the relative name of the main file.
(defalias 'tex-main-file #[nil "\206T\305\301!\203)	;\203\306\300!\210	\211\202&	\307=\203)\n\203)\310\n!\206T\n\2043\311\312!\202T\310\212eb\210\313`\314\\\307#)\203G\n\202S\315 \206S\315\316!\206S\n!\317\f!\204b\320\321\f\"\203f\f\202i\f\322P)\207" [tex-main-file TeX-master buffer-file-name tex-start-of-header file boundp make-local-variable t file-relative-name error "Buffer is not associated with any file" re-search-forward 10000 tex-guess-main-file sub file-exists-p string-match "\\.tex\\'" ".tex"] 5 (#$ . 73567)])
(defalias 'tex-summarize-command #[(cmd) ";\204\301\207\302\303\304\305\306\307\"\"\310#\207" [cmd "" mapconcat identity mapcar #[(s) "\301!@\207" [s split-string] 2] split-string "\\s-*\\(?:;\\|&&\\)\\s-*" "&"] 7])
#@119 Return non-nil if FILE is not uptodate w.r.t the document source files.
FILE is typically the output DVI or PDF file.
(defalias 'tex-uptodate-p #[(file) "\306!\205\262\307\310\311\217\211\205?r	q\210\212db\210\312\313\314\315\316!!\317R\307\320#\205>\212\312\321\307\320#\2061e)\212\312\322\307\320#\206<e)V*)\205\262\n\203W\323\324!\203W\324 \203W\325 \202]\326\327!!C\330\331\307\332\333\"\"\320\"\334P\320##\203\260\f\203\260#\211A#@$\335$!\203\242\336$!\204\242\337
$\"\204\254\307\340\341\217#\244#\202\254\342$\"\203\254\307)\202n\f+\207" [file buf tex-use-reftex completion-ignored-extensions uptodate ignored-dirs-re file-exists-p nil (tex-shell-buf) ((error)) re-search-backward "(see the transcript file for additional information)" "\\|^Output written on .*" regexp-quote file-name-nondirectory " (.*)\\." t "\\[[0-9]+\\({[^}]*}\\)?\\]" "Rerun" fboundp reftex-scanning-info-available-p reftex-all-document-files file-name-directory expand-file-name regexp-opt delq mapcar #[(s) "\211GSH\301=\205\302GSO\207" [s 47 0] 3] "\\'" file-directory-p file-symlink-p string-match (directory-files f t tex-input-files-re) ((error)) file-newer-than-file-p files f] 8 (#$ . 74385)])
(byte-code "\301\302\303\"\210\304B\305\304!\204\306\304\307\"\210\307\207" [current-load-list autoload format-spec "format-spec" tex-executable-cache default-boundp set-default nil] 3)
#@42 Like `executable-find' but with a cache.
(defalias 'tex-executable-exists-p #[(name) "\305\306\"\205\307\310\311\312\"P!\313	!\203	\2025\314\n\"\211\203(A\2024\315!\fB\nB\f)))\207" [name f tex-executable-cache cache executable string-match "^\\\\\\([^ 	\n]+\\)" intern-soft "tex-cmd-" match-string 1 fboundp assoc executable-find] 6 (#$ . 75806)])
(defalias 'tex-command-executable #[(cmd) ";\203	\202
\302@!\211\303\304\305	\"O)\207" [cmd s eval 0 string-match "[ 	]\\|\\'"] 6])
#@54 Return non-nil if the CMD spec might need to be run.
(defalias 'tex-command-active-p #[(cmd fspec) "A@\3058\211;\203(\306\n\"\307\f!\205$	?\206$\310\f\306	\"\")\202:\n\311=\205:	;\205:\312\306	\"!?*\207" [cmd out in fspec file 2 format-spec file-exists-p file-newer-than-file-p t tex-uptodate-p] 6 (#$ . 76315)])
#@44 Extra args to pass to `bibtex' by default.
(custom-declare-variable 'tex-cmd-bibtex-args '"--min-crossref=100" '(#$ . 76648) :type 'string :version "23.1" :group 'tex-run)
#@116 Like `format-spec' but adds user-specified args to the command.
Only applies the FSPEC to the args part of FORMAT.
(defalias 'tex-format-cmd #[(format fspec) "\306\307\"\204\f\310	\"\207\311\211\224O\312\313\"\311\225\314O\315\300\316\"!\211\205*
J\n\2057\317P\317\310\f	\"\260-\207" [format fspec prefix cmd args sym string-match "\\([^ /\\]+\\) " format-spec 0 match-string 1 nil intern-soft "tex-cmd-%s-args" " " extra-args] 8 (#$ . 76827)])
#@56 Guess a default command given the `format-spec' FSPEC.
(defalias 'tex-compile-default #[(fspec) "\306\211\n\306\211\2032\f@\307\310!!\203+\311
\"\203%	B\202+A@B\fA\211\204\f*	\203<	\237\202?\n@C\306	\306\211\203g@\211A@\235\204^BA\211\204L*\203q\237)\312\306\313\314	\"\"\306	\306\211\203\243@\211A@\235\204\232BA\211\204\207*\203\255\237*	@A@ 	A	@C\306\211!\203!@ A@\232\203\326	B\202\n \315=\204\n ;\203A@\315=\204A@;\203\n\316\317A@
\"\317 
\"\"\203\nA@ C!A\211!\204\302+	\306\211\211\"\2036\"@\320@!AB	B\"A\211\"\204*#\306\211$%&&\203\231&\211A&@$\321\322\310$!!\323Q%	\306\211'\203\225'@\324%@\"\203\214\324\325@\"\203\206\324\322\326\327@\"!$\"\203\214\306&C'A\211'\204c*\202A$\203\261\324\330\317\331
\"\332Q$\"\203\261$\202\277	\205\277\333	\211(@@)
\"-\207" [unchanged-in cmds tex-compile-commands cmd #1=#:--cl-dolist-temp-- fspec nil tex-executable-exists-p tex-command-executable tex-command-active-p delq mapcar #[(x) "\3018\207" [x 2] 2] t file-newer-than-file-p format-spec eval "\\`" regexp-quote "\\([ 	]\\|\\'\\)" string-match "%[fr]\\([-._[:alnum:]]+\\)" match-string 1 "[' 	\"]" "%r" "\\([;&' 	\"]\\|\\'\\)" tex-format-cmd tmp #2=#:--cl-dolist-temp-- outs #3=#:--cl-dolist-temp-- latest #4=#:--cl-dolist-temp-- #5=#:--cl-dolist-temp-- tex-compile-history hist-cmd re hist #6=#:--cl-dolist-temp-- x] 7 (#$ . 77299)])
(defalias 'tex-cmd-doc-view #[(file) "\301\302!!\207" [file pop-to-buffer find-file-noselect] 3])
#@56 Run a command CMD on current TeX buffer's file in DIR.
(defalias 'tex-compile #[(dir cmd) "\304?\305\"\210\306\307	\"\205\310\311\312\313	\"P!\314\n!\203#\305\315\316\217\2025\317 \203.\320 \210\2021\321 \210\322	\")\207" [compilation-ask-about-save cmd f dir save-some-buffers nil string-match "^\\\\\\([^ 	\n]+\\)" intern-soft "tex-cmd-" match-string 1 functionp (byte-code "\304\n\305\306\225\307O!\")\207" [dir default-directory f cmd apply split-string-and-unquote 0 nil] 6) ((wrong-number-of-arguments (byte-code "\301\302\303!\304\305O\"\207" [f error "Wrong number of arguments to %s" symbol-name 8 nil] 5))) tex-shell-running tex-kill-job tex-start-shell tex-send-tex-command] 5 (#$ . 78905) (let* ((file (tex-main-file)) (default-directory (prog1 (file-name-directory (expand-file-name file)) (setq file (file-name-nondirectory file)))) (root (file-name-sans-extension file)) (fspec (list (cons 114 (shell-quote-argument root)) (cons 102 (shell-quote-argument file)))) (default (tex-compile-default fspec))) (list default-directory (completing-read (format "Command [%s]: " (tex-summarize-command default)) (mapcar (lambda (x) (list (tex-format-cmd (eval (car x)) fspec))) tex-compile-commands) nil nil nil 'tex-compile-history default)))])
#@41 Start a TeX run, using COMMAND on FILE.
(defalias 'tex-start-tex #[(command file &optional dir) "\306\307\"\211\203\310	O\311\n!	T\312OQ\202-\313\310\fGW\205(\311\f!\313P\311\n!\260\314

\"*\207" [command star file tex-start-options tex-start-commands compile-command string-match "\\*" 0 shell-quote-argument nil " " tex-send-tex-command dir] 7 (#$ . 80175)])
(defalias 'tex-send-tex-command #[(cmd &optional dir) "\306 \211\205r	q\210\n))\232\204\203\307\310\f\"\210)r\311\310
!!q\210p\f\312 \210
dS\307\223\210)\313 \210p\211\207" [dir buf default-directory shell-dirtrack-verbose tex-shell-cd-command cmd tex-shell-buf-no-error nil tex-send-command process-buffer compilation-forget-errors tex-display-shell compilation-last-buffer compilation-parsing-end tex-last-buffer-texed] 4])
#@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	!!\313\314P\n\"\313\315 !\211\316 \230\317p=\204:\320\321!\210\nr\322\f!q\210\323
\205K\")\324
\203\\]\202^\325!?$\210\203w\324\326P\317\321$\210)\327\314P\n#\210\211 -\207" [tex-zap-file tex-directory zap-directory tex-out-file main-file ismain tex-shell-running tex-kill-job tex-start-shell tex-generate-zap-file-name file-name-as-directory expand-file-name ".tex" tex-main-file buffer-file-name nil tex-delete-last-temp-files t find-file-noselect tex-region-header write-region zerop "\n" tex-start-tex already-output tex-last-buffer-texed default-directory beg end tex-trailer tex-last-temp-file tex-command tex-print-file] 7 (#$ . 80997) "r"])
#@521 If there is a TeX header in the current buffer, write it to FILE.
Return point at the end of the region so written, or zero.  If
the optional buffer position BEG is specified, then the region
written out starts at BEG, if this lies before the start of the header.

If the first line matches `tex-first-line-header-regexp', it is
also written out.  The variables `tex-start-of-header' and
`tex-end-of-header' are used to locate the header.  Note that the
start of the header is required to be within the first 100 lines.
(defalias 'tex-region-header #[(file &optional beg) "\212\214~\210eb\210\212\306y\210`)\307\310\211\f\203)\311\f!\203)\312`\313y\210`\211
#\210\203d\314\315#\203d\316 \210`\314\310\315#\203d\313y\210`\312\203W	^\202X	\n]
\317\n!?$\210\n.\207" [hend hbeg already-output search-end tex-first-line-header-regexp file 100 0 nil looking-at write-region 1 re-search-forward t beginning-of-line zerop tex-start-of-header tex-end-of-header beg] 6 (#$ . 82357)])
#@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 (#$ . 83367) 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 "\203\305 \210\306 \307\310	!!\311 \203\312 \210\202\313 \210\314	\n#\210\310	!\211*\207" [tex-offer-save source-file file-dir tex-command tex-print-file save-some-buffers tex-main-file file-name-directory expand-file-name tex-shell-running tex-kill-job tex-start-shell tex-start-tex] 4 (#$ . 83630) 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\307\310 ##\207" [format "_TZ_%d-%s" process-id get-buffer-process "*tex-shell*" subst-char-in-string 46 45 system-name] 7 (#$ . 84168)])
(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 #[(elt) "G\301U\203	\207\302!\207" [elt 0 expand-file-name] 2]] 4])
(defalias 'tex-shell-running #[nil "\301\302!\211\205\303!\304=\203\305\306!!\203\202\307!)\207" [proc get-process "tex-shell" process-status run buffer-live-p process-buffer delete-process] 4])
#@37 Kill the currently running TeX job.
(defalias 'tex-kill-job #[nil "\301\302!\211\205\f\303\304\")\207" [proc get-process "tex-shell" quit-process t] 4 (#$ . 84911) 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!\307\211\204\310\311!\202<\312	!\313 \314\315\316 \"r\317\216\320!\210\321	!\210db\210\322\f\2036\323\f!\202:\324 \325\245!,*\207" [window tex-shell save-selected-window-alist save-selected-window-window linenum get-buffer "*tex-shell*" nil message "No TeX output buffer" display-buffer selected-window mapcar #[(frame) "\301!B\207" [frame frame-selected-window] 3] frame-list ((byte-code "\304\211\203(\n@\305	@!\203!\306	A!\203!\307	@	A\310#\210\nA\211\204*\306!\2034\311\310\"\210\304\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window norecord select-window] 5)) select-window bury-buffer recenter prefix-numeric-value window-height 2] 5 (#$ . 85091) "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\"\310p\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 (#$ . 86112) "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 (#$ . 86896) 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 \204\305 \210\306!\307 )\207" [tex-dvi-view-command tex-dvi-print-command error "You must set `tex-dvi-view-command'" tex-shell-running tex-start-shell eval tex-print] 2 (#$ . 87121) 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\"OQ\312	!\204&\312	\313P!\203*	\2026\306!\n\307\310\314\n\"OQ*\207\315\207" [file-name trial-name file suffix file-name-nondirectory nil file-name-directory 0 string-match "\\.[^.]*$" file-exists-p ".aux" "\\." " "] 6 (#$ . 87705)])
#@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 (#$ . 88259) nil])
#@42 Run BibTeX on the current buffer's file.
(defalias 'tex-bibtex-file #[nil "\306 \203\307 \210\202\310 \210\311\312\313 !\314\315	!\316\"\317	!\320\f\"\210\320
\n\"\210,\321 \207" [shell-dirtrack-verbose source-file tex-out-file file-dir tex-shell-cd-command tex-bibtex-command tex-shell-running tex-kill-job tex-start-shell nil expand-file-name tex-main-file tex-append file-name-nondirectory "" file-name-directory tex-send-command tex-display-shell] 3 (#$ . 88604) nil])
(byte-code "\302B\303\302!\204\304\302\305\"\210\306B\303\306!\204\304\306\307\"\210\301B\303\301!\204-\304\301\310\"\210\311B\303\311!\204<\304\311	\"\210\312B\303\312!\204K\304\312\313\"\210\314B\303\314!\204Z\304\314\315\"\210\302\207" [current-load-list tex-indent-basic tex-indent-allhanging default-boundp set-default t tex-indent-arg 4 2 tex-indent-item tex-indent-item-re "\\\\\\(bib\\)?item\\>" latex-noindent-environments ("document")] 3)
#@48 Syntax table used while computing indentation.
(defvar tex-latex-indent-syntax-table (byte-code "\302!\303\304\305	#\210\303\306\305	#\210\303\307\305	#\210	)\207" [tex-mode-syntax-table st make-syntax-table modify-syntax-entry 36 "." 40 41] 4) (#$ . 89561))
(defalias 'latex-indent #[(&optional arg) "\304\305 \306\"\307=\203\f\310\207\311 p\312\216\313\n!\210\212\314 \210\315 )\211\316W\203'\316i\317 X\2034\320!\2029\212\320!),\207" [#1=#:buffer #2=#:table tex-latex-indent-syntax-table indent get-text-property line-beginning-position face tex-verbatim noindent syntax-table ((byte-code "rq\210\302	!\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table beginning-of-line latex-find-indent 0 current-indentation indent-line-to] 4])
#@284 Non-nil means add extra indent to text within escaped parens.
When this is non-nil, text within matching pairs of escaped
parens is indented at the column following the open paren.  The
default value does not add any extra indent thus providing the
behavior of Emacs 22 and earlier.
(custom-declare-variable 'latex-indent-within-escaped-parens 'nil '(#$ . 90327) :type 'boolean :group 'tex :version "23.1")
#@219 Find the proper indentation of text after point.
VIRTUAL if non-nil indicates that we're only trying to find the indentation
  in order to determine the indentation of something else.
There might be text before point.
(defalias 'latex-find-indent #[(&optional virtual) "\212\306\307w\210e\310 U\203\311\202,\n\203$\212\312\307x\210n)\203$i\206,\313\314!\2036\315\316!\235\2036\311\202,\307\317 \320=\204K	\205O\313\321!\211\205O\307\322\323\217)\206,`\313
!\203`)[\202a\311\307*+,\324\325\326\217\210e,U\203x\311\202+*\250\203\305*b\210-\204\242\212\307\327\330\217)\203\242,\331 \210\332d!\210`V\203\242i\202+*b\210\333\313\334!\203\272\315\335!.\235\203\272\311\202\274/+\336\302!#\202+\n\204\320\307f\337=\204\327+i\\\202+\313
!\203\347\333+i)#\202+i0,f\206\361\340z\341=\203\212\342\343,\344#)\203\n+0\\\202*\345\335!\210\346 \212\332d!\210`)W\203%i10\\^\202*\347\350!\210i)+*\207" [latex-indent-within-escaped-parens latex-handle-escaped-parens virtual tex-verbatim-environments escaped tex-indent-item-re " 	" nil line-beginning-position 0 " 	&" looking-at "\\\\\\(begin\\|end\\) *{\\([^\n}]+\\)" match-string 2 latex-syntax-after 41 "\\\\\\([])}]\\)" (byte-code "\212\203	\301\224b\210\302 \210\303 \210\304\305!)\207" [escaped 1 latex-skip-close-parens latex-backward-sexp-1 latex-find-indent virtual] 2) ((error)) err (byte-code "\300 \210i\301 V\203\300 \210\202\300\207" [latex-backward-sexp-1 current-indentation] 2) ((scan-error (byte-code "\3028\302\207" [err up-list-pos 2] 2))) (byte-code "\300fz\301=\203\302\303!\210\202\300fz\304=\205\305\300x\210n\207" [nil 40 forward-sexp -1 47 " 	&"] 2) ((scan-error)) latex-down-list forward-comment + "\\\\begin *{\\([^\n}]+\\)" 1 latex-find-indent 92 32 40 re-search-forward "^[ 	]*$" t forward-sexp line-end-position skip-syntax-forward " " tex-indent-item up-list-pos indent pos tex-indent-allhanging latex-noindent-environments tex-indent-basic col tex-indent-arg] 5 (#$ . 90741)])
(defalias 'doctex-font-lock-^^A #[nil "\301 f\302=\2052\303\304\224S\304\224\305\301 T\304\224U\203\306\202\307$\210\310 \211dW\2030\303\211T\305\311$\210)\312\207" [end line-beginning-position 37 put-text-property 1 syntax-table (2097163) (12) line-end-position (2097164) (2097163)] 7])
(defalias 'doctex-font-lock-syntactic-face-function #[(state) "\3028\204\3038\204\3048Sf\305>\204\306!\207	\207" [state font-lock-doc-face 3 7 8 (10 nil) tex-font-lock-syntactic-face-function] 2])
(byte-code "\303B\304\303!\204\305\303\306	\307\"\"\210\310\311N\204 \312\310\311\313\314!#\210\315\316!\204,\312\316\317\320#\210\316B\304\316!\204<\305\316\321 \"\210\316\311N\204J\312\316\311\313\322!#\210\315\323!\204V\312\323\317\320#\210\323B\304\323!\204f\305\323\324 \"\210\323\311N\204t\312\323\311\313\325!#\210\312\302\317\320#\210\302B\304\302!\204\216\305\302\326\302\327\"\210\n\"\210\302\311N\204\234\312\302\311\313\330!#\210\312\320\331\332#\207" [current-load-list tex-font-lock-keywords doctex-mode-abbrev-table doctex-font-lock-keywords default-boundp set-default append (("^%<[^>]*>" (0 font-lock-preprocessor-face t))) doctex-mode-hook variable-documentation put purecopy "Hook run when entering DocTeX mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp doctex-mode-map definition-name doctex-mode make-sparse-keymap "Keymap for `doctex-mode'." doctex-mode-syntax-table make-syntax-table "Syntax table for `doctex-mode'." define-abbrev-table nil "Abbrev table for `doctex-mode'." derived-mode-parent latex-mode] 5)
#@210 Major mode to edit DocTeX files.

In addition to any hooks its parent mode `latex-mode' might have run,
this mode runs the hook `doctex-mode-hook', as the final step
during initialization.

\{doctex-mode-map}
(defalias 'doctex-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2036
\321 =\203<\322\f\323 \"\210)\324!\210\325\f!\210\326 @\327\"\330\331 A\"B \306\332!\210\333)\334\335!\207" [delay-mode-hooks major-mode mode-name doctex-mode-map doctex-mode-syntax-table parent make-local-variable t latex-mode doctex-mode "DocTeX" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table use-local-map set-syntax-table append (doctex-font-lock-keywords) mapcar #[(x) "\242\301=\203\f@\302B\207\207" [x font-lock-syntactic-face-function doctex-font-lock-syntactic-face-function] 2] syntax-propertize-function #[(start end) "b\210`	W\205x\306\307	\310#\205x\311\224\203*\312\311\224\311\225\313\314$\210\315\316\224\311\224f\"\210\202\317\224\203K\320\321!\211A\322\n\233\241\210\323\n!\210)\324\316\224\311\224\311\225#\210\202\325\224\203\320\321!\211A\326\n\233\241\210\323\n!\210)\311\224\311\225\327 \203t\312
\f\313$\210+\202\207" [start end md syntax me mb re-search-forward "\\\\verb\\**\\([^a-z@*]\\)\\|\\\\\\(?:end\\|begin\\) *\\({[^\n{}]*}\\)\\|\\(\\^\\)\\^A" t 1 put-text-property syntax-table (7) tex-font-lock-verb 0 2 match-data ints 4 set-match-data tex-env-mark 3 6 doctex-font-lock-^^A] 6] run-mode-hooks doctex-mode-hook doctex-mode-abbrev-table local-abbrev-table font-lock-defaults] 6 (#$ . 94421) nil])
(byte-code "\300\301!\210\302\303!\207" [run-hooks tex-mode-load-hook provide tex-mode] 2)
