
(defvar LaTeX-angle-interval 500 "\
*Limit on number of characters between matching angle brackets for
LaTeX-check-angle-balance (on \\<LaTeX-mode-map>\\[LaTeX-check-angle-balance]).")

(defvar LaTeX-aux-file-label-tags nil "\
*List of \\label{} tags collected from an .aux file by
update-LaTeX-labels.  It is used by those functions that offer
completion on label tags to augment the list of tags collected from the
current buffer.")

(defvar LaTeX-begin-end-indentation 2 "\
*Indentation given for each successive \\begin{}...\\end{} nesting level.
Environments defined by LaTeX-standard-unindented-environments and
LaTeX-extra-unindented-environments always have their indentation suppressed.")

(defvar LaTeX-brace-interval 4000 "\
*Limit on number of characters between matching braces for
LaTeX-check-brace-balance (on \\<LaTeX-mode-map>\\[LaTeX-check-brace-balance]).")

(defvar LaTeX-bracket-interval 500 "\
*Limit on number of characters between matching brackets for
LaTeX-check-bracket-balance (on \\<LaTeX-mode-map>\\[LaTeX-check-bracket-balance]).")

(defvar LaTeX-comma-after-dotted-abbreviation nil "\
*When LaTeX-dot is invoked after dotted abbreviations, like ``e.g''
or ``i.e'', if this variable is nil, insert a \\<space> control
sequence for a non-sentence ending period.  If the variable is set
non-nil, insert a comma instead.  The choice between the two is a
matter of style; traditional use inserts a comma, while modern
tendency is to omit it.")

(defvar LaTeX-comment-prefix "%%: " "\
*Comment prefix string for LaTeX-comment and LaTeX-uncomment.  This is
used in regular-expression matching by LaTeX-uncomment, so it should
NOT contain any regular-expression pattern characters like . or *.")

(defvar LaTeX-current-indentation 0 "\
*Indentation of current \\begin{} level (varies dynamically)")

(defvar LaTeX-default-options nil "\
*This string value is always put in the documentstyle[...]{...}
option list by make-LaTeX-document and make-SLiTeX-document.  Use it
to customize environments where some styles are always used, e.g.
\"a4,french\".")

(defvar LaTeX-displaymath-option 2 "\
*Select style of output by LaTeX-dollar.  A value of 1 gives
\\[ ... \\], 2 gives \\begin{displaymath} ... \\end{displaymath}, and
anything else gives $$ ... $$.")

(defvar LaTeX-dollar-interval 2000 "\
*Limit on number of characters between matching dollars for
LaTeX-check-dollar-balance (on \\<LaTeX-mode-map>\\[LaTeX-check-dollar-balance]).")

(defvar LaTeX-extra-comment-delimited-environments nil "\
*List of extra environments to set off by empty comment lines.")

(defvar LaTeX-extra-counters nil "\
*List of extra counters to augment those in LaTeX-standard-counters (q.v.).")

(defvar LaTeX-extra-dotted-abbreviations nil "\
*List of extra abbreviations to augment those in
LaTeX-standard-dotted-abbreviations for which LaTeX-dot must provide special
spacing, according to the value of LaTeX-comma-after-dotted-abbreviation.")

(defvar LaTeX-extra-environments nil "\
*List of extra environments to augment those in
LaTeX-standard-environments for use by LaTeX-begin-end-block.")

(defvar LaTeX-extra-fonts nil "\
*List of extra fonts to augment those in LaTeX-standard-fonts for
use by LaTeX-macro.")

(defvar LaTeX-extra-italic-fonts nil "\
*List of extra fonts to augment those in LaTeX-standard-italic-fonts for
use by LaTeX-macro.")

(defvar LaTeX-extra-list-environments nil "\
*List of extra list environments to augment those in
LaTeX-standard-list-environments for use by LaTeX-begin-end-block.")

(defvar LaTeX-extra-macros nil "\
*List of extra macros to augment those in LaTeX-standard-macros for
use by LaTeX-macro.")

(defvar LaTeX-extra-options nil "\
*List of extra options to augment those in LaTeX-standard-options for
use by make-LaTeX-document and make-SLiTeX-document.")

(defvar LaTeX-extra-styles nil "\
*List of extra styles to augment those in LaTeX-standard-styles for
use by make-LaTeX-document.")

(defvar LaTeX-extra-tied-abbreviations nil "\
*List of extra abbreviations to augment those in
LaTeX-standard-tied-abbreviations (q.v.).")

(defvar LaTeX-extra-unindented-environments nil "\
*List of extra environments to augment those in
LaTeX-standard-unindented-environments (q.v.).")

(defvar LaTeX-footnote-end-with-newline nil "\
*Inserted footnote entries end with a newline if this is non-nil.")

(defvar LaTeX-footnote-start-with-newline nil "\
*Put footnotes on a new line if non-nil")

(defvar LaTeX-index-end-with-newline nil "\
*Inserted index entries end with a newline if this is non-nil.")

(defvar LaTeX-index-macro "\\X" "\
*Private indexing macro that causes its argument to appear both
in the document text, as well as in an index entry.  If nil, then
LaTeX-index (on \\<LaTeX-mode-map>\\[LaTeX-index]) will insert

..text..%
\\index{..text..}

instead of

\\this-macro{..text..}

")

(defvar LaTeX-index-start-with-newline nil "\
*Inserted index entries start a newline at same indentation level
if this is non-nil.")

(defvar LaTeX-item-count 4 "\
*Number of \\item or \\bibitem entries to generate in initial
   templates.")

(defvar LaTeX-item-indentation 2 "\
*Indentation given to \\item's with respect to their enclosing
   \\begin{}...\\end{} group.")

(defvar LaTeX-item-info-indent 6 "\
*The amount by which the text beneath an item gets indented.")

(defvar LaTeX-label-end-with-newline nil "\
*Inserted label entries end with a newline if this is non-nil.")

(defvar LaTeX-label-definition "\\\\label{\\([^{}]*\\)}" "\
*Regular expression which matches a label definition.  It normally
matches \\label{}, but may be extended if needed to include private
macros that also contain label definitions.")

(defvar LaTeX-label-reference "\\\\[page]*ref{\\([^{}]*\\)}" "\
*Regular expression which matches a label reference.  It normally
matches \\pageref{} and \\ref{}, but may be extended if needed to
include private macros that also contain label references.")

(defvar LaTeX-label-start-with-newline nil "\
*Inserted label entries start a newline at same indentation level
if this is non-nil.")

(defvar LaTeX-math-option 0 "\
*Select style of output by LaTeX-dollar.  A value of 1 gives
\\( ... \\), 2 gives \\begin{math} ... \\end{math}, and anything
else gives $ ... $.")

(defvar LaTeX-mode-abbrev-table nil "\
Abbrev table in use in LaTeX-mode buffers.")

(if LaTeX-mode-abbrev-table nil (define-abbrev-table (quote LaTeX-mode-abbrev-table) nil) (let ((abbrevs-changed nil)) (define-abbrev LaTeX-mode-abbrev-table "amstex" "\\AmSTeX{}" nil) (define-abbrev LaTeX-mode-abbrev-table "bibtex" "\\BibTeX{}" nil) (define-abbrev LaTeX-mode-abbrev-table "lamstex" "\\LamSTeX{}" nil) (define-abbrev LaTeX-mode-abbrev-table "latex" "\\LaTeX{}" nil) (define-abbrev LaTeX-mode-abbrev-table "lug" "\\LaTeX{} User's Guide and Reference Manual" nil) (define-abbrev LaTeX-mode-abbrev-table "mf" "\\MF{}" nil) (define-abbrev LaTeX-mode-abbrev-table "slitex" "\\SLiTeX{}" nil) (define-abbrev LaTeX-mode-abbrev-table "tb" "\\TeX{}book" nil) (define-abbrev LaTeX-mode-abbrev-table "tex" "\\TeX{}" nil)) nil)

(defvar LaTeX-mode-map nil "\
Keymap used in LaTeX mode.")

(if LaTeX-mode-map nil (let ((map (make-sparse-keymap))) (define-key map "\"" (quote LaTeX-quote)) (define-key map "" (quote LaTeX-bibitem)) (define-key map "	" (quote LaTeX-tab)) (define-key map "" (quote LaTeX-news)) (define-key map "" (quote LaTeX-protect)) (define-key map "<" (quote LaTeX-angles)) (define-key map ">" (quote LaTeX-check-angle-balance)) (define-key map "$" (quote LaTeX-check-dollar-balance)) (define-key map "%" (quote LaTeX-comment)) (define-key map "(" (quote LaTeX-parentheses)) (define-key map ")" (quote LaTeX-check-parenthesis-balance)) (define-key map "," (quote LaTeX-set-indentation)) (define-key map "." (quote LaTeX-add-word-to-index)) (define-key map "[" (quote LaTeX-brackets)) (define-key map "]" (quote LaTeX-check-bracket-balance)) (define-key map "0" (quote renumber-slides)) (define-key map "a" (quote LaTeX-to-begin)) (define-key map "b" (quote LaTeX-begin-end-block)) (define-key map "c" (quote LaTeX-cite)) (define-key map "d" (quote make-LaTeX-document)) (define-key map "e" (quote LaTeX-to-end)) (define-key map "f" (quote LaTeX-footnote)) (define-key map "g" (quote LaTeX-gripe)) (define-key map "i" (quote LaTeX-item)) (define-key map "k" (quote LaTeX-counter)) (define-key map "l" (quote LaTeX-label)) (define-key map "m" (quote LaTeX-macro)) (define-key map "n" (quote LaTeX-end)) (define-key map "p" (quote LaTeX-pageref-with-completion)) (define-key map "r" (quote LaTeX-ref-with-completion)) (define-key map "s" (quote make-SLiTeX-document)) (define-key map "u" (quote LaTeX-uncomment)) (define-key map "v" (quote LaTeX-verb)) (define-key map "x" (quote LaTeX-index)) (define-key map "{" (quote LaTeX-braces)) (define-key map "}" (quote LaTeX-check-brace-balance)) (define-key map "=" (quote LaTeX-equation)) (define-key map "=" (quote LaTeX-displaymath)) (define-key map "$" (quote LaTeX-check-dollar-balance)) (define-key map ")" (quote LaTeX-check-parenthesis-balance)) (define-key map "]" (quote LaTeX-check-bracket-balance)) (define-key map "}" (quote LaTeX-check-brace-balance)) (define-key map "b" (quote LaTeX-font-bf)) (define-key map "e" (quote LaTeX-font-em)) (define-key map "i" (quote LaTeX-font-it)) (define-key map "r" (quote LaTeX-font-rm)) (define-key map "u" (quote LaTeX-font-sc)) (define-key map "f" (quote LaTeX-font-sf)) (define-key map "s" (quote LaTeX-font-sl)) (define-key map "t" (quote LaTeX-font-tt)) (define-key map "
" (quote newline-and-indent)) (define-key map "" (quote backward-up-list)) (define-key map "" (quote forward-list)) (define-key map "$" (quote LaTeX-dollar)) (define-key map "," (quote LaTeX-comma)) (define-key map "." (quote LaTeX-dot)) (define-key map "^" (quote LaTeX-superscript)) (define-key map "_" (quote LaTeX-subscript)) (setq LaTeX-mode-map map)))

(defconst LaTeX-mode-version "beta test 0.25 [26-May-1992]" "\
Version number of current release of LaTeX-mode")

(defvar LaTeX-newline-after-closing-delimiter nil "\
*If t, a newline is inserted after the closing brace following an
inserted keyword (e.g. cite{...}) or inserted delimiter pair.")

(defvar LaTeX-newline-after-opening-delimiter t "\
*If t, macro arguments that appear in braces, brackets, or
parenthesis are entered with the closing character on a new line,
allowing typein to avoid having to push that character across the
display.  If nil, no empty line is created.")

(defvar LaTeX-parenthesis-interval 500 "\
*Limit on number of characters between matching parentheses for\\<LaTeX-mode-map>
LaTeX-check-parenthesis-balance (on \\[LaTeX-check-parenthesis-balance]).")

(defvar LaTeX-space-after-begin-end nil "\
*If non-nil, insert a space before the braced environment name
following a \\begin or \\end.")

(defconst LaTeX-standard-comment-delimited-environments nil "\
*List of environments to always set off by empty comment lines.")

(defconst LaTeX-standard-counters nil "\
List of standard counter names.")

(setq LaTeX-standard-counters (quote (("chapter") ("enumi") ("enumii") ("enumiii") ("enumiv") ("equation") ("figure") ("footnote") ("mpfootnote") ("page") ("paragraph") ("part") ("section") ("subparagraph") ("subsection") ("subsubsection") ("table"))))

(defconst LaTeX-standard-dotted-abbreviations nil "\
List of abbreviations for which LaTeX-dot must provide special
spacing, according to the value of LaTeX-comma-after-dotted-abbreviation.")

(setq LaTeX-standard-dotted-abbreviations (quote (("e.g.") ("ff.") ("i.e.") ("ibid.") ("loc cit.") ("loc. cit.") ("op. cit.") ("q.v."))))

(defconst LaTeX-standard-environments nil "\
Standard environments known to LaTeX.  Users may also define
private ones in LaTeX-extra-environments.  Each entry is itself a
list, usually of only one string.  A second optional list element is
an additional string to be supplied after the \\begin{}.  A third
optional list element is a helpful comment string that is supplied on
request.  A fourth optional list element is a function to run after
the \\begin{} \\end{} pair has been inserted, and point is between
them; that function should position point to the place in the string
defined by the second list element where something should be typed by
the user.")

(setq LaTeX-standard-environments (quote (("abstract") ("alltt") ("array" "{}" (concat " % <- insert column justification letters (c,l,r)
" " % Row entries: column-1 & column-2 & ... & column-n \\\\
" " % Omit \\\\ on last row") (function (lambda nil (search-backward "{}") (forward-char 1)))) ("bf") ("center") ("description") ("displaymath") ("document") ("em") ("enumerate") ("eqnarray") ("eqnarray*") ("equation") ("figure" "[]" " % <- insert location letters: h, b, t, p" (function (lambda nil (search-backward "[]") (forward-char 1)))) ("figure*" "[]" " % <- insert location letters: h, b, t, p" (function (lambda nil (search-backward "[]") (forward-char 1)))) ("flushleft") ("flushright") ("footnotesize") ("fussy") ("guess") ("huge") ("hunch") ("it") ("itemize") ("large") ("list") ("math") ("minipage" "[]{}" " % <- insert [position (b,t)]{width}" (function (lambda nil (search-backward "[]{}") (forward-char 1)))) ("normalsize") ("note") ("overlay" "{}" " % <- insert {red,green,blue,etc.} color list" (function (lambda nil (search-backward "{}") (forward-char 1)))) ("picture" "()()" " % <- insert (width,height)(lower-left-x,lower-left-y)" (function (lambda nil (search-backward "()()") (forward-char 1)))) ("quotation") ("quote") ("scriptsize") ("setlength") ("sf") ("simple") ("sl") ("slide" "{}" " % <- insert {red,green,blue,etc.} color list" (function (lambda nil (search-backward "{}") (forward-char 1)))) ("sloppy") ("sloppypar") ("small") ("tabbing") ("table" "[]" " % <- insert location letters: h, b, t, p" (function (lambda nil (search-backward "[]") (forward-char 1)))) ("tabular" "{}" (concat " % <- insert column justification letters (c,l,r)
" " % Row entries: column-1 & column-2 & ... & column-n \\\\
" " % Omit \\\\ on last row") (function (lambda nil (search-backward "{}") (forward-char 1)))) ("tabular*" "{}" (concat " % <- insert column justification letters (c,l,r)
" " % Row entries: column-1 & column-2 & ... & column-n \\\\
" " % Omit \\\\ on last row") (function (lambda nil (search-backward "{}") (forward-char 1)))) ("thebibliography" "{}" " % <- insert widest label" (function (lambda nil (search-forward "{thebibliography}") (newline) (forward-line -2) (delete-blank-lines) (search-backward "{thebibliography}{}") (delete-blank-lines) (forward-char 18)))) ("theindex") ("theorem") ("tiny") ("titlepage") ("trivlist") ("tt") ("verbatim") ("verse") ("xguess") ("xiipt") ("xipt"))))

(defconst LaTeX-standard-fonts nil "\
Standard LaTeX fonts which should be placed in a braced group.")

(setq LaTeX-standard-fonts (quote (("tiny") ("scriptsize") ("footnotesize") ("small") ("normalsize") ("large") ("Large") ("LARGE") ("huge") ("Huge") ("bf") ("em") ("it") ("rm") ("sc") ("sf") ("sl") ("tt"))))

(defconst LaTeX-standard-italic-fonts nil "\
Standard LaTeX italic fonts which usually take an italic correction.")

(setq LaTeX-standard-italic-fonts (quote (("em") ("it") ("sl"))))

(defconst LaTeX-standard-list-environments nil "\
Standard environments which expect \\item entries.")

(setq LaTeX-standard-list-environments (quote (("description") ("enumerate") ("itemize") ("list") ("trivlist"))))

(defconst LaTeX-standard-macros nil "\
Standard LaTeX macros.  These are stored in an associative list with
elements of the form (\"name\" \"args\" \"short comment\").  If there
are no arguments, then args is nil.  For example, (\"framebox\"
\"[][]{}\" \"[width][position (c,l,r)]{...}\") describes the macro
\\framebox[width][position]{...}.  The comment will be displayed by
LaTeX-macro (on [LaTeX-macro]) if name completion is requested.")

(setq LaTeX-standard-macros (quote (("date" "{}" "explicit date") ("footnotemark" "[]{}" "[number-or-symbol]{text} to footnote mark only") ("footnoterule" nil "command to draw line between text and footnotes") ("footnotesep" nil "height of vertical space between footnotes") ("footnotetext" "[]{}" "[number-or-symbol]{text} for footnote text only") ("special" "{}" "DVI-driver dependent text") ("today" nil "today's date like July 22, 1985") ("bf" nil "bold text") ("boldmath" nil "use bold math symbols") ("cal" nil "upper-case calligraphic letters (math mode only)") ("em" nil "emphasized text") ("it" nil "italic text") ("mit" nil "math italics (math mode only)") ("rm" nil "roman text") ("sc" nil "small-caps text") ("sf" nil "sans-serif text") ("sl" nil "slanted text") ("tt" nil "typewriter text") ("unboldmath" nil "use normal math symbols") ("displaystyle" nil "for normal symbols in displayed formula") ("scriptstyle" nil "for subscripts and superscripts") ("scriptscriptstyle" nil "for higher-level subscripts and superscripts") ("textstyle" nil "for normal symbols in in-text formula") ("tiny" nil "tiny typesize") ("scriptsize" nil "subscript typesize") ("footnotesize" nil "footnote typesize") ("small" nil "small typesize") ("normalsize" nil "normal typesize") ("large" nil "large typesize") ("Large" nil "larger typesize") ("LARGE" nil "very large typesize") ("huge" nil "huge typesize") ("Huge" nil "Hugest typesize") ("P" nil "pilcrow (paragraph mark)") ("S" nil "section mark") ("copyright" nil "copyright mark") ("dag" nil "single dagger") ("ddag" nil "double dagger") ("pounds" nil "sterling currency mark") ("tableofcontents" nil "generate table of contents in document") ("listoffigures" nil "generate list of figures in document") ("listoftables" nil "generate list of tables in document") ("part" "{}" "part in document") ("chapter" "{}" "chapter in document") ("section" "{}" "section in document") ("subsection" "{}" "subsection in document") ("subsubsection" "{}" "subsubsection in document") ("paragraph" "{}" "paragraph in document") ("subparagraph" "{}" "subparagraph in document") ("appendix" nil "appendix in document") ("part*" "{}" "unnumbered part in document") ("chapter*" "{}" "unnumbered chapter in document") ("section*" "{}" "unnumbered section in document") ("subsection*" "{}" "unnumbered subsection in document") ("subsubsection*" "{}" "unnumbered subsubsection in document") ("paragraph*" "{}" "unnumbered paragraph in document") ("subparagraph*" "{}" "unnumbered subparagraph in document") ("frac" "{}{}" "{numerator}{denominator}") ("left" nil "left delimiter (follow by one of \".([{|\")") ("overbrace" "{}" "expression to overbrace") ("overline" "{}" "expression to overline") ("right" nil "right delimiter (follow by one of \".)]}|\")") ("sqrt" "[]{}" "[n-th root]{what of}") ("underbrace" "{}" "expression to underbrace") ("underline" "{}" "expression to underline") ("pagenumbering" "{}" "one of: arabic, roman, alph, Roman, Alph") ("pagestyle" "{}" "one of: plain, empty, headings, myheadings") ("author" "{}" "author name(s)") ("and" nil "another author") ("maketitle" nil "generate title from \\title, \\author, \\date") ("title" "{}" "document title") ("include" "{}" "read {file} unless excluded by \\readonly") ("includeonly" "{}" "exclude any file not in {files}") ("input" "{}" "read {file}") ("\\\\" "[]" "start new line leave [v] extra vertical space") ("\\\\*" "[]" "start new line leave [v] extra vertical space WITHOUT page break") ("linebreak" "[]" "force or encourage a line break ([n] in [0]..[4])") ("nolinebreak" "[]" "forbid or discourage a line break ([n] in [0]..[4])") ("sloppy" nil "allow loose lines (opposite of \\fussy)") ("clearpage" nil "print all figures and tables and start a new page") ("cleardoublepage" nil "print all figures and tables and start a new right-hand (odd-numbered) page") ("newpage" nil "start a new page") ("nopagebreak" "[]" "forbid or discourage a page break ([n] in [0]..[4])") ("pagebreak" "[]" "force or encourage a page break ([n] in [0]..[4])") ("samepage" nil "forbid page breaking except between paragraphs") ("fbox" "{}" "frame {text} in box") ("framebox" "[][]{}" "make framed box of [width][position (l,r)]{...}") ("makebox" "[][]{}" "make box of [width][position (l,r)]{...}") ("mbox" "{}" "unbreakable text") ("newsavebox" "{}" "define {\\cmd} to be a bin for saving boxes") ("parbox" "[]{}{}" "paragraph box [position (b,t)]{width}{text}") ("savebox" "{}[][]{}" "{\\cmd}[width][position (l,r)]{text} save text in savebox {\\cmd}") ("sbox" "{}{}" "{\\cmd}{text} save text in savebox {\\cmd}") ("usebox" "{}" "print box saved in bin {\\cmd}") ("addtolength" "{}{}" "{\\cmd}{len} add len to length cmd") ("newlength" "{}" "define {\\cmd} to be a length") ("setlength" "{}{}" "{\\cmd}{len} set length cmd to len") ("settowidth" "{}{}" "{\\cmd}{text} set cmd to width of text") ("hspace" "{}" "make {length} horizontal space") ("hspace*" "{}" "make {length} horizontal space, even at beginning of line") ("vspace" "{}" "make {length} vertical space") ("vspace*" "{}" "make {length} vertical space, even at beginning of page") ("circle" "{}" "circle of diameter {dia}") ("circle*" "{}" "filled disk of diameter {dia}") ("dashbox" "{}()[]{}" "{d}(x,y)[position (b,t,l,r)]{object} put frame of dashed line of length {d} around {object}") ("frame" "{}" "draw frame around {object}") ("line" "(){}" "line of slope (h,v) and horizontal extent {len} (length len if h = 0), h,v in 0..6") ("multiput" "()(){}{}" "(x,y)(dx,dy){n}{object} put object at (x,y), (x+dx, y+dy), ... n times") ("oval" "()[]" "[part (l,r,t,b)] of oval of size (width,height)") ("put" "(){}" "put at (x,y) some {object}") ("shortstack" "[]{}" "at [position (c,l,r)] stack {object} in box") ("thicklines" nil "thick picture lines") ("thinlines" nil "thin picture lines") ("vector" "(){}" "vector of slope (h,v) and horizontal extent {len} (length len if h = 0), h,v in 0..4") ("caption" "{}" "{caption} of figure or table") ("=" nil "set tab stop") (">" nil "go to next tab stop") ("kill" nil "throw away sample line in tabbing environment") ("cline" "{}" "horizontal line across columns {i-j}") ("hline" nil "horizontal line between rows") ("multicolumn" "{}{}{}" "{n}{col}{text} span next n columns with col format") ("vline" nil "vertical line between columns") ("newcommand" "{}[]{}" "{\\cmd}[n]{def} define new command with n arguments") ("newcounter" "{}[]" "{new-counter}[within-counter]") ("newenvironment" "{}[]{}{}" "{env}[n]{beg}{end} define new environment with n arguments") ("newfont" "{}{}" "{command}{fontname} for new font") ("newtheorem" "{}{}" "{name}{caption} define new theorem environment") ("addtocounter" "{}{}" "{ctr}{n} add n to counter ctr") ("setcounter" "{}{}" "{ctr}{n} set counter ctr to n") ("bibitem" "[]{}" "[label]{cite_key}") ("bibliography" "{}" "{bibliography-datebase-filename}") ("bibliographystyle" "{}" "{style-name}") ("glossary" "{}" "{glossary entry}") ("glossaryentry" "{}{}" "{string}{page} glossary entry") ("indexentry" "{}{}" "{string}{page} index entry") ("indexspace" nil "extra vertical space in index") ("makeglossary" nil "generate glossary (.glo) file (in preamble only)") ("makeindex" nil "generate index (.idx) file (in preamble only)") ("typein" "[]{}" "[cmd]{message} -- (re)define cmd from terminal input") ("typeout" "{}" "{message}") ("addvspace" "{}" "{len} extra vertical space") ("bigskip" nil "big skip") ("fussy" nil "restore fussy line breaking (opposite of \\sloppy)") ("hyphenation" "{}" "{hy-phen-ations sep-a-rated by spaces}") ("medskip" nil "medium skip") ("newline" nil "forced line break") ("raisebox" "{}[][]{}" "{raise_len}[height][depth]{text}") ("rule" "[]{}{}" "[raise_len]{width}{height}") ("smallskip" nil "small skip") ("stretch" "{}" "{dec_num} -- rubber length dec_num times the stretchability of \\fill") ("verb" "||" "|verbatim (typewriter) text| (use any identical delimiters in place of | |)") ("verb*" "||" "|verbatim (typewriter) text| with visible spaces (use any identical delimiters in place of | |)") ("cite" "[]{}" "[remark text]{cite_key,key,...,key}") ("footnote" "{}" "{footnote text}") ("index" "{}" "{index text}") ("item" "[]" "[alternate item tag]") ("label" "{}" "{cross-reference key}") ("nocite" "{}" "{citation key,key,...,key}") ("pageref" "{}" "{cross-reference key}") ("ref" "{}" "{cross-reference key}") ("AA{}" nil nil) ("AE{}" nil nil) ("L{}" nil nil) ("OE{}" nil nil) ("O{}" nil nil) ("aa{}" nil nil) ("ae{}" nil nil) ("l{}" nil nil) ("oe{}" nil nil) ("o{}" nil nil) ("ss{}" nil nil) ("'" "{}" "acute over-accent") ("." "{}" "dot over-accent") ("H" "{}" "hungarian umlaut over-accent") ("\"" "{}" "umlaut over-accent") ("^" "{}" "circumflex (hat) over-accent") ("`" "{}" "grave over-accent") ("b" "{}" "bar under-accent") ("c" "{}" "cedilla under-accent") ("d" "{}" "dot under-accent") ("t" "{}" "tie over-accent") ("u" "{}" "breve (cup) over-accent") ("v" "{}" "v (check) over-accent") ("~" "{}" "tilde over-accent") ("acute" "{}" "acute over-accent") ("bar" "{}" "bar over-accent") ("breve" "{}" "breve (cup) over-accent") ("check" "{}" "check over-accent") ("ddot" "{}" "double-dot over-accent") ("dot" "{}" "dot over-accent") ("grave" "{}" "grave over-accent") ("hat" "{}" "circumflex (hat) over-accent") ("tilde" "{}" "tilde over-accent") ("vec" "{}" "vector over-accent") ("abovedisplayshortskip" nil "amount of extra space left above a short displayed formula (except in `fleqn' style option)") ("abovedisplayskip" nil "amount of extra space left above a long displayed formula (except in `fleqn' style option)") ("arraycolsep" nil "half width of default intercolumn space in `array' environment") ("arrayrulewidth" nil "width of rule from |, \\cline, \\hline, or \\vline") ("arraystretch" nil "multiplier of normal interrow spacing") ("belowdisplayshortskip" nil "amount of extra space left below a short displayed formula (except in `fleqn' style option)") ("belowdisplayskip" nil "amount of extra space left below a long displayed formula (except in `fleqn' style option)") ("bottomfraction" nil "maximum page fraction for bottom floats") ("dblfloatpagefraction" nil "minimum page fraction for floats in two-column style") ("dblfloatsep" nil "vertical space between top or bottom floats in two-column style") ("dbltextfloatsep" nil "vertical space between top or bottom floats and page text in two-column style") ("dbltopfraction" nil "maximum page fraction for top floats in two-column style") ("doublerulesep" nil "width of space between || or \\hline \\hline") ("evensidemargin" nil "one inch less than distance of left edge of paper to left margin of text on left-hand pages") ("extracolsep" "{}" "{width} extra space (for @-expression in `array' or `tabular' environment)") ("fboxrule" nil "width of lines in \\fbox and \\framebox") ("fboxsep" nil "amount of space between box edge and contents in \\fbox and \\framebox") ("floatpagefraction" nil "minimum page fraction for floats") ("floatsep" nil "vertical space between top or bottom floats") ("footheight" nil "height of a box containing the page foot") ("footskip" nil "distance from bottom of last line of body text to bottom of foot") ("headheight" nil "height of a box containing the head") ("headsep" nil "vertical space between head and body of page") ("intextsep" nil "vertical space above and below here-float") ("jot" nil "amount of extra vertical space between rows in `eqnarray' environment") ("marginpar" "[]{}" "[left-text]{right-text} of margin paragraph") ("marginparpush" nil "minimum vertical space between marginal notes") ("marginparsep" nil "horizontal space between outer margin and marginal note") ("marginparwidth" nil "width of marginal note parbox") ("mathindent" nil "indentation from left margin of displayed formulas in `fleqn' style") ("normalmarginpar" nil "place marginal notes in default margin") ("oddsidemargin" nil "one inch less than distance of left edge of paper to left margin of text on right-hand pages") ("reversemarginpar" nil "place marginal notes in opposite of default margin") ("tabcolsep" nil "half width of default intercolumn space in `tabular' environment") ("textfloatsep" nil "vertical space between top or bottom floats and page text") ("textfraction" nil "minimum page fraction for text") ("textheight" nil "normal height of page body") ("textwidth" nil "normal width of page body") ("topfraction" nil "maximum page fraction for top floats") ("topmargin" nil "one inch less than distance from top edge of paper to top of page head") ("topsep" nil "extra vertical space between list and surrounding text") ("topskip" nil "minimum distance from top of body to bottom of first line of text") ("bmod" nil "binary `mod' symbol") ("cdots" nil "dots ... at center of line") ("ddots" nil "diagonal dots") ("ldots" nil "dots ... at bottom of line") ("lefteqn" "{}" "print {formula} in zero-width display style in `eqnarray'") ("pmod" "{}" "produce `(mod {arg})'") ("vdots" nil "vertical dots") ("alpha" nil nil) ("beta" nil nil) ("gamma" nil nil) ("delta" nil nil) ("epsilon" nil nil) ("varepsilon" nil nil) ("zeta" nil nil) ("eta" nil nil) ("theta" nil nil) ("vartheta" nil nil) ("iota" nil nil) ("kappa" nil nil) ("lambda" nil nil) ("mu" nil nil) ("nu" nil nil) ("xi" nil nil) ("pi" nil nil) ("varpi" nil nil) ("rho" nil nil) ("varrho" nil nil) ("sigma" nil nil) ("varsigma" nil nil) ("tau" nil nil) ("upsilon" nil nil) ("phi" nil nil) ("varphi" nil nil) ("chi" nil nil) ("psi" nil nil) ("omega" nil nil) ("Gamma" nil nil) ("Delta" nil nil) ("Theta" nil nil) ("Lambda" nil nil) ("Xi" nil nil) ("Pi" nil nil) ("Sigma" nil nil) ("Upsilon" nil nil) ("Phi" nil nil) ("Psi" nil nil) ("Omega" nil nil) ("langle" nil "left angle bracket") ("lceil" nil "left ceiling bracket") ("lfloor" nil "left floor bracket") ("rangle" nil "right angle bracket") ("rceil" nil "right ceiling bracket") ("rfloor" nil "right floor bracket") ("pm" nil "plus-minus") ("mp" nil "minus-plus") ("times" nil "multiply") ("div" nil "divide") ("ast" nil "asterisk") ("star" nil "star") ("circ" nil "hollow circle") ("bullet" nil "solid circle") ("cdot" nil "centered dot") ("cap" nil "intersection") ("cup" nil "union") ("uplus" nil "union plus") ("sqcap" nil "square cap") ("sqcup" nil "square cup") ("vee" nil "logical or") ("wedge" nil "logical and") ("setminus" nil "backslash") ("wr" nil "vertical squiggle") ("diamond" nil "hollow diamond") ("bigtriangleup" nil "up-pointing big triangle") ("bigtriangledown" nil "down-pointing big triangle") ("triangleleft" nil "left-pointing triangle") ("triangleright" nil "right-pointing triangle") ("lhd" nil "left arrowhead") ("rhd" nil "right arrowhead") ("unlhd" nil "underlined left arrowhead") ("unrhd" nil "underlined right arrowhead") ("oplus" nil "circled plus") ("ominus" nil "circled minus") ("otimes" nil "circled multiply") ("oslash" nil "circled divide") ("odot" nil "circled dot") ("bigcirc" nil "big hollow circle") ("dagger" nil "dagger") ("ddagger" nil "double dagger") ("amalg" nil "inverted Pi") ("not" nil "cross following math operator") ("leq" nil "less than or equal") ("prec" nil nil) ("preceq" nil nil) ("ll" nil "much less than") ("subset" nil "subset") ("subseteq" nil nil) ("sqsubset" nil "square subset") ("sqsubseteq" nil "square subseteq") ("in" nil "element of") ("vdash" nil nil) ("geq" nil "greater than or equal") ("succ" nil nil) ("succeq" nil nil) ("gg" nil "much greater than") ("supset" nil "superset") ("supseteq" nil nil) ("sqsupset" nil "square supset") ("sqsupseteq" nil "square supseteq") ("ni" nil "backwards \\in") ("dashv" nil nil) ("equiv" nil "equivalent") ("sim" nil nil) ("simeq" nil nil) ("asymp" nil nil) ("approx" nil "approximately equal") ("cong" nil nil) ("neq" nil "not equal to") ("doteq" nil "dotted equal") ("propto" nil "proportional to") ("models" nil nil) ("perp" nil "perpendicular to") ("mid" nil "vertical bar") ("parallel" nil "double vertical bar") ("bowtie" nil nil) ("Join" nil "small bowtie") ("smile" nil nil) ("frown" nil nil) ("leftarrow" nil nil) ("Leftarrow" nil nil) ("rightarrow" nil nil) ("Rightarrow" nil nil) ("leftrightarrow" nil nil) ("Leftrightarrow" nil nil) ("mapsto" nil nil) ("hookleftarrow" nil nil) ("leftharpoonup" nil nil) ("leftharpoondown" nil nil) ("rightleftharpoons" nil nil) ("longleftarrow" nil nil) ("Longleftarrow" nil nil) ("longrightarrow" nil nil) ("Longrightarrow" nil nil) ("longleftrightarrow" nil nil) ("Longleftrightarrow" nil nil) ("longmapsto" nil nil) ("hookrightarrow" nil nil) ("rightharpoonup" nil nil) ("rightharpoondown" nil nil) ("leadsto" nil nil) ("uparrow" nil nil) ("Uparrow" nil nil) ("downarrow" nil nil) ("Downarrow" nil nil) ("updownarrow" nil nil) ("Updownarrow" nil nil) ("nearrow" nil nil) ("searrow" nil nil) ("swarrow" nil nil) ("nwarrow" nil nil) ("aleph" nil "first Hebrew letter") ("hbar" nil "Planck's constant/(2pi)") ("imath" nil "undotted italic i") ("jmath" nil "undotted italic j") ("ell" nil "script l") ("wp" nil nil) ("Re" nil "real part of") ("Im" nil "imaginary part of") ("mho" nil "reciprocal ohm") ("prime" nil nil) ("emptyset" nil "slashed 0") ("nabla" nil "inverted delta") ("surd" nil "root of") ("top" nil nil) ("bot" nil nil) ("|" nil "double vertical bars") ("angle" nil "angle between") ("forall" nil "inverted A") ("exists" nil "backwards E") ("neg" nil "negation") ("flat" nil "musical flat") ("natural" nil "musical natural") ("sharp" nil "musical sharp") ("backslash" nil nil) ("partial" nil "partial derivative") ("infty" nil "infinity") ("Box" nil "big hollow box") ("Diamond" nil "big hollow diamond") ("triangle" nil "hollow triangle") ("clubsuit" nil "playing card club suit") ("diamondsuit" nil "playing card diamond suit") ("heartsuit" nil "playing card heart suit") ("spadesuit" nil "playing card spade suit") ("sum" nil "summation of") ("prod" nil "product of") ("coprod" nil nil) ("int" nil "integral of") ("oint" nil "contour integral of") ("bigcap" nil "big intersection of") ("bigcup" nil "big union of") ("bigsqcup" nil "big square union of") ("bigvee" nil "big logical or") ("bigwedge" nil "big logical and") ("bigodot" nil "big circled dot") ("bigotimes" nil "big circled multiply") ("bigoplus" nil "big circled plus") ("biguplus" nil "big union plus") ("arccos" nil nil) ("arcsin" nil nil) ("arctan" nil nil) ("arg" nil nil) ("cos" nil nil) ("cosh" nil nil) ("cot" nil nil) ("coth" nil nil) ("csc" nil nil) ("deg" nil nil) ("det" nil nil) ("dim" nil nil) ("exp" nil nil) ("gcd" nil nil) ("hom" nil nil) ("inf" nil nil) ("ker" nil nil) ("lg" nil nil) ("lim" nil nil) ("liminf" nil nil) ("limsup" nil nil) ("ln" nil nil) ("log" nil nil) ("max" nil nil) ("min" nil nil) ("Pr" nil nil) ("sec" nil nil) ("sin" nil nil) ("sinh" nil nil) ("sup" nil nil) ("tan" nil nil) ("tanh" nil nil) ("address" "{}" "{line1\\\\line2\\\\...linen} of letter return address (in preamble)") ("cc" "{}" "{name1\\\\name2\\\\...namen} carbon copies of letter") ("closing" "{}" "{Best regards,} letter closing") ("makelabels" nil "make list of mailing labels") ("opening" "{}" "{Dear John,} letter opening") ("ps" nil "precedes text after letter \\closing (you type P.S.)") ("signature" "{}" "{name\\\\title} letter signature (in preamble)") ("encl" "{}" "{encl1\\\\encl2...\\\\encln} list of enclosures") ("AMSTEX{}" nil "AMSTeX") ("BibTeX{}" nil "BibTeX") ("LaTeX{}" nil "LaTeX") ("METAFONT{}" nil "Metafont") ("MF{}" nil "Metafont") ("SLiTeX{}" nil "SLiTeX") ("TeX{}" nil "TeX") ("Alph" "{}" "{counter} uppercase letters for counter") ("Roman" "{}" "{counter} uppercase roman numerals for counter") ("a'" "{}" "acute over-accent in tabbing environment") ("a=" "{}" "bar over-accent in tabbing environment") ("a`" "{}" "grave over-accent in tabbing environment") ("addcontentsline" "{}{}{}" "{file_ext}{sec_unit}{entry} -- add an entry to specified list or table") ("addtocontents" "{file_ext}{text}" "add text to .toc, .lof, or .lot file") ("alph" "{}" "{counter} lowercase letters for counter") ("arabic" "{}" "{counter} arabic numerals for counter") ("baselineskip" nil "minimum space between successive line bottoms") ("baselinestretch" nil "multiplier of \\baselineskip") ("batchmode" nil "non-stop LaTeX processing") ("begin" "{}" "{environment}") ("bibindent" nil "width of extra indentation in openbib block") ("bigskipamount" nil "vertical space for \\bigskip") ("blackandwhite" "{}" "{file} for black and white slides") ("centering" nil "centering text") ("colors" "{}" "{red,blue,green,etc.} slides") ("colorslides" "{}" "{file} for color slides") ("columnsep" nil "width of intercolumn space in twocolumn style") ("columnseprule" nil "width of intercolumn rule in twocolumn style") ("documentstyle" "[]{}" "[option,option,...]{style}") ("dotfill" nil "dotted fill") ("end" "{}" "{environment}") ("fill" nil "arbitrarily stretchable rubber length") ("flushbottom" nil "preamble declaration for flush page bottoms") ("fnsymbol" "{}" "{counter} one of 9 footnote symbols") ("frenchspacing" nil "suppress extra space after punctuation") ("hbox" "{}" "horizontal box") ("hfill" nil "horizontal stretchable space") ("hrulefill" nil "horizontal rule fill") ("indent" nil "horizontal space of size as paragraph indentation") ("invisible" nil "color declaration for invisible SliTeX text") ("itemindent" nil "extra indentation before item label") ("itemsep" nil "vertical space between list items") ("i{}" nil "undotted i") ("j{}" nil "undotted j") ("labelitemi" nil "macro to produce label item") ("labelitemii" nil "macro to produce label item") ("labelitemiii" nil "macro to produce label item") ("labelitemiv" nil "macro to produce label item") ("labelsep" nil "space between label box and item text") ("labelwidth" nil "width of label box") ("leftmargin" nil "horizontal distance from enclosing environment left margin and left margin of list") ("leftmargini" nil "horizontal distance from enclosing environment left margin and left margin of list") ("leftmarginii" nil "horizontal distance from enclosing environment left margin and left margin of list") ("leftmarginiii" nil "horizontal distance from enclosing environment left margin and left margin of list") ("leftmarginiv" nil "horizontal distance from enclosing environment left margin and left margin of list") ("linethickness" "{}" "{len} for picture environment lines") ("linewidth" nil "width of lines in current environment") ("listparindent" nil "extra indentation for first line of each paragraph except first one of item") ("load" "{}{}" "{size}{style} -- load size and style of font") ("makelabel" "{}" "{label} -- generate label for \\item command") ("markboth" "{}{}" "{left-head}{right-head} for page styles `headings' and `myheadings'") ("markright" "{}" "{right-head} for page styles `headings' and `myheadings'") ("medskipamount" nil "vertical space for \\medskip") ("nofiles" nil "suppress writing of .aux files") ("noindent" nil "suppress following paragraph indentation") ("nonfrenchspacing" nil "restore extra space after punctuation") ("nonumber" nil "suppress equation number in current row") ("numberline" "{}{}" "{sec_num}{heading} (for \\addcontentsline)") ("onecolumn" nil "start new page and revert to single column") ("onlynotes" "{}" "{1,3-5,7,23} -- produce subset of slide notes") ("onlyslides" "{}" "{1,3-5,7,23} -- produce subset of slides") ("par" nil "new paragraph") ("parindent" nil "paragraph indentation") ("parsep" nil "interparagraph separation in lists") ("parskip" nil "extra vertical space before paragraph") ("partopsep" nil "extra vertical space between list and surrounding text") ("poptabs" nil "restore pushed tab settings") ("protect" nil "protect following macro from immediate expansion") ("pushtabs" nil "push current tab settings (restore by \\poptabs)") ("raggedbottom" nil "preamble declaration for ragged page bottoms") ("raggedleft" nil "declaration for ragged left margins") ("raggedright" nil "declaration for ragged right margins") ("refstepcounter" "{}" "{counter} increment counter by 1 and declare ef value") ("renewcommand" "{}[]{}" "{\\cmd}[n]{def} redefine old command with n arguments") ("renewenvironment" "{}[]{}{}" "{env}[n]{beg}{end} redefine old environment with n arguments") ("rightmargin" nil "horizontal distance from enclosing environment right margin and right margin of list") ("roman" "{}" "{counter} lowercase roman numerals for counter") ("smallskipamount" nil "vertical space for \\smallskip") ("space" nil "single space in argument of \\typeout{}") ("stackrel" "{}{}" "{top}{bottom} -- typeset top over bottom") ("stepcounter" "{}" "{counter} increment counter by 1") ("subitem" nil "subitem in document index") ("subsubitem" nil "subsubitem in document index") ("symbol" "{}" "typeset symbol {num} in current font") ("tabbingsep" nil "intercolumn tab stop separation") ("thanks" "{}" "{footnote} for titlepage -- put inside \\title{}, \\author{}, or \\date{}") ("the" nil "\\thectr is value of counter ctr") ("thepage" nil "current page number in current style") ("thispagestyle" "{}" "{style} of current page") ("twocolumn" "[]" "start new page in two column mode, setting two-column [optional-text] across top") ("unitlength" nil "size of unit length in picture mode") ("usecounter" "{}" "enable and zero {ctr} for numbering list items") ("value" "{}" "value of counter {ctr}") ("vbox" "{}" "vertical box") ("vfill" nil "vertical stretchable space") ("widehat" "{}" "{text} to be capped by wide hat") ("widetilde" "{}" "{text} to be capped by wide tilde") ("printindex" nil "read and print index at this point"))))

(defconst LaTeX-standard-options nil "\
Standard \\documentstyle options.  Users may also define private ones.")

(setq LaTeX-standard-options (quote (("11pt") ("12pt") ("a4") ("a4wide") ("acm") ("acronym") ("agugrl") ("agujgr") ("alltt") ("amsbsy") ("amscd") ("amsfonts") ("amssymb") ("amssymbols") ("amstext") ("apalike") ("archmemo") ("array") ("bezier") ("biihead") ("boxedmini") ("changebar") ("chapterbib") ("cite") ("clsc") ("clscmemo") ("concrete") ("cropmark") ("ctagsplt") ("cyrillic") ("dblspace") ("doublespace") ("draft") ("drafthead") ("drop") ("dvidoc") ("eqsecnum") ("espo") ("fleqn") ("format") ("fullpage") ("geophysics") ("german") ("gnuindex") ("ifthen") ("intlim") ("ist21") ("leqno") ("listing") ("longtab") ("makeidx") ("math") ("merge") ("mfr") ("mitthesis") ("moretext") ("natsci") ("nl") ("nonamelm") ("nopageno") ("nosumlim") ("openbib") ("pandora") ("preprint") ("proc") ("psmavg") ("psmbkm") ("psmncs") ("psmpal") ("psmtim") ("remark") ("resume") ("revtex") ("righttag") ("sc21") ("sc21-wg1") ("sfwmac") ("showidx") ("showlabels") ("slem") ("spacecites") ("supertab") ("suthesis") ("tablisting") ("tapeseal") ("texindex") ("texnames") ("tgrind") ("theorem") ("thp") ("threepart") ("titlepage") ("trademark") ("troffman") ("troffms") ("twocolumn") ("twoside") ("underline") ("uofutah") ("vdm") ("verbatim"))))

(defconst LaTeX-standard-styles nil "\
Standard document styles.  Users may also define private ones.")

(setq LaTeX-standard-styles (quote (("aaai") ("amsart") ("amsbook") ("amstex") ("aps") ("article") ("book") ("deproc") ("letter") ("ltugboat") ("ltugproc") ("refman") ("report") ("siam") ("slides") ("tugboat") ("ucthesis") ("uoftoronto") ("usafmemo") ("uuthesis") ("xxxslides"))))

(defconst LaTeX-standard-tied-abbreviations nil "\
List of abbreviations for which LaTeX-dot must suppy a tie following
the dot.  See the LaTeX User's Guide and Reference Manual, p. 18, and the
TeXbook, pp. 73--74.")

(setq LaTeX-standard-tied-abbreviations (quote (("cf.") ("Dr.") ("Fig.") ("Fr.") ("Mr.") ("Mrs.") ("Ms.") ("resp.") ("Rev.") ("vs."))))

(defconst LaTeX-standard-unindented-environments nil "\
List of environments whose \\begin{} and \\end{} must not be indented")

(setq LaTeX-standard-unindented-environments (quote (("document") ("verbatim"))))

(defvar LaTeX-verb-delimiter 61 "\
*Delimiter character for LaTeX \\verb macro.")

(defvar SLiTeX-begin-slide "\\\\begin *{slide}{[^{}]*}\\|\\\\begin *{overlay}{[^{}]*}\\|\\\\begin *{note}" "\
*Regexp that matches the start of a note, overlay, or slide.  Used
by renumber-slides to find a place to put the comment with the slide
number.")

(defmacro SPACE nil "just an ordinary space" (byte-code "" [32] 1))

(defmacro NEWLINE nil "just an ordinary newline" (byte-code "" [10] 1))

(fset (quote latex-mode) (quote LaTeX-mode))

(defun file-name-sans-extension (filename) "\
Return the base name (minus .extension) of FILENAME.  If there
is no extension, FILENAME is returned." (byte-code "	GSYY 	HU?# S 	Y0 2 	GO)" [n filename nil 0 46] 4))

(defun LaTeX-add-word-to-index (&optional arg) "\
Index word(s) or group or, or just before, point, as

\\X{..text..}

X is replaced by whatever LaTeX-index-macro is set to, if it is not
nil, or as

..text..%
\\index{..text..}

if LaTeX-index-macro is nil.

An argument selects that many words, and is ignored for groups (just the
group following point will be indexed).
Bound to \\<LaTeX-mode-map>\\[LaTeX-add-word-to-index]." (interactive) (byte-code "È\"!	7 !% 	\"!c4 !	\"!cy !O `!`b !!`!`
\"#!?x c *" [arg LaTeX-index-macro start nil end internal-LaTeX-default 1 skip-chars-forward " 	
" looking-at "{" insert forward-sexp "}" backward-word forward-word "%
\\index{" buffer-substring "
" delete-horizontal-space] 18))

(defun LaTeX-angles (&optional arg) "\
Insert pair of angle brackets.  With an argument, backslashed
angle brackets (literal angle brackets) are generated.
Bound to \\<LaTeX-mode-map>\\[LaTeX-angles]." (interactive) (byte-code "?	 	? # #" [arg current-prefix-arg nil internal-LaTeX-delimiter-pair "<" ">" "\\<" "\\>"] 5))

(defun LaTeX-begin-end-block (environment-name &optional arg) "\
Insert \\begin{...} ... \\end{...} block, prompting for the
environment name.  The indentation is set according to the current
\\begin{} ... \\end{} nesting level.  With an argument, helpful
comments may be inserted.  Bound to \\<LaTeX-mode-map>\\[LaTeX-begin-end-block]." (interactive (byte-code "	\"%C" [LaTeX-standard-environments LaTeX-extra-environments nil completing-read "Environment name: " append] 7)) (byte-code "\" 	\"\"8!8!8iV@   !?N  !	
\"\"_ !\"\"?v \\\" \"? 낌 삐 %    \" \"\"    $\"c\"\" \" \" \"!c\"\"?\\\"3\"?/04%	
\"\"J!)??Y!!\"\"p!  ," [LaTeX-standard-environments LaTeX-extra-environments nil arg commentary environments environment-name extra-args moveto LaTeX-standard-comment-delimited-environments LaTeX-extra-comment-delimited-environments LaTeX-standard-unindented-environments LaTeX-extra-unindented-environments LaTeX-current-indentation LaTeX-begin-end-indentation LaTeX-space-after-begin-end LaTeX-standard-list-environments LaTeX-extra-list-environments LaTeX-item-indentation LaTeX-item-count internal-LaTeX-default internal-LaTeX-set-indentation assoc append eval 1 2 3 0 end-of-line newline looking-at "
" forward-line -1 insert-string "%
" insert-char 32 insert "\\begin" equal "verbatim" " " "" "{" "}" + -2 "% \\item or item[label]" internal-LaTeX-repeat (LaTeX-item) "thebibliography" (LaTeX-bibitem t) "\\end" "
%" funcall previous-line delete-blank-lines] 47))

(defun LaTeX-bibitem (&optional arg) "\
Insert \\bibitem indented according to enclosing \\begin{} or
\\bibitem level.  Without an argument, generate the \\bibitem{} form.
With an argument, generate \\bibitem[]{} instead.  Fill prefix is
updated to match the bibitem text indentation.  Bound to
\\<LaTeX-mode-map>\\[LaTeX-bibitem]." (interactive) (byte-code "Ĉ!!bi!, !& 	\\,  !)
?5 ?C \"!K \"!)" [col LaTeX-item-indentation arg current-prefix-arg nil re-search-backward "\\\\bibitem\\|\\\\begin *{" match-beginning 0 looking-at "\\\\begin" "\\\\begin *{thebibliography}" ding message "WARNING: You may not be inside thebibliography environment" internal-LaTeX-item "\\bibitem{} " search-backward "}" "\\bibitem[]{} " "]"] 11))

(defun LaTeX-braces (&optional arg) "\
Insert pair of braces.  With an argument, backslashed braces (literal
braces) are generated.  Bound to \\<LaTeX-mode-map>\\[LaTeX-braces]." (interactive) (byte-code "?	 	? # #" [arg current-prefix-arg nil internal-LaTeX-delimiter-pair "{" "}" "\\{" "\\}"] 5))

(defun LaTeX-brackets (&optional arg) "\
Insert pair of brackets.  With an argument, backslashed brackets
(displaymath mode) are generated.  Bound to \\<LaTeX-mode-map>\\[LaTeX-brackets]." (interactive) (byte-code "?	 	? # #" [arg current-prefix-arg nil internal-LaTeX-delimiter-pair "[" "]" "\\[" "\\]"] 5))

(defun LaTeX-check-angle-balance (&optional allow-paragraph-breaks) "\
Starting at current point, check for unbalanced angle brackets, and
angle bracket pairs separated by long strings.  Backslashed angle
brackets are ignored.

With an argument, paragraph breaks are permitted between the matching
angle brackets.  Bound to \\<LaTeX-mode-map>\\[LaTeX-check-angle-balance]." (interactive) (byte-code "	%" [LaTeX-angle-interval allow-paragraph-breaks nil internal-LaTeX-check-matching-character-balance 60 62 "angle bracket"] 6))

(defun LaTeX-check-brace-balance (&optional allow-paragraph-breaks) "\
Starting at current point, check for unbalanced braces, and brace
pairs separated by long strings.  Backslashed braces are ignored.

With an argument, paragraph breaks are permitted between the matching
braces.  Bound to \\<LaTeX-mode-map>\\[LaTeX-check-brace-balance]." (interactive) (byte-code "	%" [LaTeX-brace-interval allow-paragraph-breaks nil internal-LaTeX-check-matching-character-balance 123 125 "brace"] 6))

(defun LaTeX-check-bracket-balance (&optional allow-paragraph-breaks) "\
Starting at current point, check for unbalanced brackets, and bracket
pairs separated by long strings.  Backslashed brackets are ignored.

With an argument, paragraph breaks are permitted between the matching
brackets.  Bound to \\<LaTeX-mode-map>\\[LaTeX-check-bracket-balance]." (interactive) (byte-code "	%" [LaTeX-bracket-interval allow-paragraph-breaks nil internal-LaTeX-check-matching-character-balance 91 93 "bracket"] 6))

(defun LaTeX-check-dollar-balance nil "\
Starting at current point, check for dollar pairs which are
separated by long strings.  Backslashed dollars are ignored.  With an
argument, paragraph breaks are permitted between the matching dollar
signs.  Bound to \\<LaTeX-mode-map>\\[LaTeX-check-dollar-balance]." (interactive) (byte-code "`#9 2 `ZV,  \"\" / 5 ` L  
\"!R !
b*" [open-char-point nil start-point t LaTeX-dollar-interval re-search-forward "[^\\\\]\\$" ding push-mark message "More than %d chars in $...$ interval.  Mark at opening $." recursive-edit "No closing dollar found for this one.  Mark set at start of search" "[done] -- dollar balance check"] 10))

(defun LaTeX-check-parenthesis-balance (&optional allow-paragraph-breaks) "\
Starting at current point, check for unbalanced parentheses, and
parenthesis pairs separated by long strings.  Backslashed parentheses
are ignored.

With an argument, paragraph breaks are permitted between the matching
parentheses.  Bound to \\<LaTeX-mode-map>\\[LaTeX-check-parenthesis-balance]." (interactive) (byte-code "	%" [LaTeX-parenthesis-interval allow-paragraph-breaks nil internal-LaTeX-check-matching-character-balance 40 41 "paren"] 6))

(defun LaTeX-cite (&optional arg) "\
Insert \\cite{ ... } at point.  With an argument, generate
\\cite[ ... ]{ ... } instead.  Bound to \\<LaTeX-mode-map>\\[LaTeX-cite]." (interactive) (byte-code "?	 	? # #!" [arg current-prefix-arg nil internal-LaTeX-keyword "cite" " " "cite[]" backward-char 2] 5))

(defun LaTeX-comma nil "\
Insert a comma, and if the preceding characters are an italic
correction at group end `\\/},', remove the italic correction.
Bound to \\<LaTeX-mode-map>\\[LaTeX-comma]." (interactive) (byte-code "  !! !" [abbrev-mode nil expand-abbrev insert-string "," backward-char 1 internal-LaTeX-maybe-remove-italic-correction forward-char] 6))

(defun LaTeX-comment (&optional region) "\
Comment out the current paragraph or, with a prefix argument,
region.  Point is left at the beginning of the next paragraph, or at
the end of the region.  M-x undo (on \\[undo]) will undo it.
Bound to \\<LaTeX-mode-map>\\[LaTeX-comment]." (interactive "P") (byte-code "È  `\"+  !  ` !(  `\"ebd#@ 
#/ db)?U     " [region t LaTeX-comment-prefix nil narrow-to-region mark backward-paragraph looking-at "
" forward-char forward-paragraph backward-char re-search-forward "^" replace-match beginning-of-line] 16))

(defun LaTeX-counter (counter-name) "\
Insert counter-name at point, using the standard values in
LaTeX-standard-counters augmented by the values in the user-customizable
LaTeX-extra-counter variable to offer name completion." (interactive (byte-code "	\"%C" [LaTeX-standard-counters LaTeX-extra-counters nil completing-read "Counter name: " append] 7)) (byte-code "c" [LaTeX-standard-counters LaTeX-extra-counters nil counter-name] 1))

(defun LaTeX-displaymath nil "\
Insert \\begin{displaymath} ... \\end{displaymath}.  This is required often
enough that a key binding separate from that for LaTeX-begin-end-block is
desirable.  Bound to \\<LaTeX-mode-map>\\[LaTeX-displaymath]." (interactive) (byte-code "!" [nil LaTeX-begin-end-block "displaymath"] 2))

(defun LaTeX-dollar nil "\
If the preceding character is a backslash, just put in a single
dollar sign.  Otherwise, insert a math mode environment.  If point is
in the middle of a line, use a dollar pair or equivalent, according to
the value of the variable LaTeX-math-option.  If at beginning of line,
insert a double dollar pair or equivalent, according to the value of
the variable LaTeX-displaymath-option.  Bound to \\<LaTeX-mode-map>\\[LaTeX-dollar]." (interactive) (byte-code "h\" !c iV< \"%  !9 \"4 #9 #c \"I !c \"[ # c # " [LaTeX-math-option nil t LaTeX-displaymath-option equal 92 insert-string "$" 0 2 newline LaTeX-begin-end-block "math" 1 internal-LaTeX-delimiter-pair "\\(" "\\)" "displaymath" "\\[
" "\\]" LaTeX-tab "$$
" "$$"] 17))

(defun LaTeX-dot nil "\
Insert a dot (period, full stop), and then handle some special
cases:

  [1] If the previous two characters are also dots, change all three
  of them to \\ldots{}.

  [2] If the previous characters are dotted abbreviations, like `e.g.'
  or `i.e.', which are defined as list elements of the variables
  LaTeX-standard-dotted-abbreviations and
  LaTeX-extra-dotted-abbreviations, supply a trailing string:  if
  LaTeX-comma-after-dotted-abbreviation is nil, insert `\\ ' to mark a
  non-sentence-ending dot; otherwise insert a comma.  Dotted
  abbreviations are recognized only if the character preceding them is
  not a letter.

  [3] If the previous characters are abbreviations defined as list
  elements of the variable LaTeX-standard-tied-abbreviations that
  should be tied to the following word with a single unbreakable
  space, insert a tilde to mark the tie.

  [4] If the preceding characters are an italic correction at group
  end `\\/}.', remove the italic correction.

  [5] If the dot is preceded by two or more upper-case letters, insert
  a sentence-ending `\\@' inserted before it.

  Bound to \\<LaTeX-mode-map>\\[LaTeX-dot]." (interactive) (byte-code "È  \"! !É!\"7 !c!L !\"I !cL ׍	*" [abbrev-mode old-case-fold-search case-fold-search nil t expand-abbrev insert-char 46 1 backward-char internal-LaTeX-maybe-remove-italic-correction forward-char string-match "[A-Z][A-Z]\\." internal-LaTeX-preceding-buffer-substring 3 "\\@" string-equal "..." delete-char -3 "\\ldots{}" EXIT (byte-code "	
$\"" [LaTeX-standard-dotted-abbreviations LaTeX-extra-dotted-abbreviations LaTeX-standard-tied-abbreviations LaTeX-extra-tied-abbreviations mapcar (lambda (x) (byte-code "	8`G#]`GZ]\"\"?\" G!\"B 
\"\"3 Ђ< ; т< c\")" [s x LaTeX-standard-tied-abbreviations LaTeX-extra-tied-abbreviations LaTeX-comma-after-dotted-abbreviation nil 0 string-match "[A-Za-z]" buffer-substring 1 - string-equal internal-LaTeX-preceding-buffer-substring assoc append "~" "," "\\ " throw EXIT] 10)) append] 7)] 14))

(defun LaTeX-end nil "\
\\<LaTeX-mode-map>Generate a \\end{...} to match a preceding \\begin{...}.
This is handy if you didn't use LaTeX-begin-end-block (on \\[LaTeX-begin-end-block])
to generate a matched pair, but manually typed the \\begin{...} instead.
Bound to \\[LaTeX-end]." (interactive) (byte-code "È!=  !!!\"!!\"
6 	\"2 т3 ҂7 	&))\\ iWK cch\"?Y  b ! )" [text environment-name LaTeX-space-after-begin-end nil LaTeX-to-begin 1 beginning-of-line looking-at "\\( *\\)\\\\begin *{\\([^}
]*\\)}" buffer-substring match-beginning 2 match-end concat "\\end" equal "verbatim" "" " " "{" "}
" 0 "
" 10 newline message "No preceding unmatched \\begin{...} found" ding] 17))

(defun LaTeX-equation nil "\
Insert \\begin{equation} ... \\end{equation}.  This is required often
enough that a key binding separate from that for LaTeX-begin-end-block is
desirable.  Bound to \\<LaTeX-mode-map>\\[LaTeX-equation]." (interactive) (byte-code "!" [nil LaTeX-begin-end-block "equation"] 2))

(defun LaTeX-font-bf (&optional word-count) "\
Insert {\\bf ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-bf])." (interactive) (byte-code "\"#" [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\bf " "}"] 5))

(defun LaTeX-font-em (&optional word-count) "\
Insert {\\em ... \\/} around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-em])." (interactive) (byte-code "\"# " [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\em " "\\/}" internal-LaTeX-maybe-remove-italic-correction] 5))

(defun LaTeX-font-it (&optional word-count) "\
Insert {\\it ... \\/} around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-it])." (interactive) (byte-code "\"# " [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\it " "\\/}" internal-LaTeX-maybe-remove-italic-correction] 5))

(defun LaTeX-font-rm (&optional word-count) "\
Insert {\\rm ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-rm])." (interactive) (byte-code "\"#" [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\rm " "}"] 5))

(defun LaTeX-font-sc (&optional word-count) "\
Insert {\\sc ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-sc])." (interactive) (byte-code "\"#" [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\sc " "}"] 5))

(defun LaTeX-font-sf (&optional word-count) "\
Insert {\\sf ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-sf])." (interactive) (byte-code "\"#" [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\sf " "}"] 5))

(defun LaTeX-font-sl (&optional word-count) "\
Insert {\\sl ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-sl])." (interactive) (byte-code "\"# " [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\sl " "\\/}" internal-LaTeX-maybe-remove-italic-correction] 5))

(defun LaTeX-font-tt (&optional word-count) "\
Insert {\\tt ... } around next ARG words (on \\<LaTeX-mode-map>\\[LaTeX-font-tt])." (interactive) (byte-code "\"#" [word-count nil internal-LaTeX-default 1 internal-LaTeX-wrap "{\\tt " "}"] 5))

(defun LaTeX-footnote nil "\
Insert \\footnote{ ... } at point (on \\<LaTeX-mode-map>\\[LaTeX-footnote]).
If LaTeX-footnote-start-with-newline is non-nil, start the footnote on
a newline.  If LaTeX-footnote-end-with-newline is non-nil, end the
footnote on a newline." (interactive) (byte-code "iV  Ƃ #!!?# 
(  )" [LaTeX-footnote-start-with-newline nil LaTeX-footnote-end-with-newline internal-LaTeX-keyword "footnote" 0 "%
" " " search-forward "}" looking-at "
" newline] 5))

(defun LaTeX-gripe nil "\
Send mail to maintainer of LaTeX-mode with comments, gripes, and bug
reports.  Bound to \\<LaTeX-mode-map>\\[LaTeX-gripe]." (interactive) (byte-code " eb !? !eb 0  c!#db" [LaTeX-mode-version nil mail-other-window beginning-of-line looking-at "^To: $" princ "Trash in *mail* buffer--please clear it and try again" ding end-of-line "beebe@math.utah.edu" 2 insert "LaTeX-mode gripe report {" "}"] 11))

(defun LaTeX-index (&optional phrase) "\
Insert \\index{ ... } at point (on \\<LaTeX-mode-map>\\[LaTeX-index]).

If a prefix argument is given, the string is prompted for, and inserted
both as text and as an index entry, e.g.  gnats and gnus\\index{gnats
and gnus}.  All horizontal space preceding \\index is removed to prevent
an intervening page break causing an off-by-one page number error.

If LaTeX-index-start-with-newline is non-nil, insert a percent to
start a comment, then put \\index at the start of a following new line.
If LaTeX-index-end-with-newline is non-nil, follow the entry with
a new line." (interactive) (byte-code "? iV 	 Ȃ #p !`S`\"\"6 `S`\"\"?< cciVI 	P ȂQ #c!` !!n  p c" [current-prefix-arg LaTeX-index-start-with-newline nil phrase LaTeX-index-end-with-newline internal-LaTeX-keyword "index" 0 "%
" " " read-string "Phrase to index and insert: " equal buffer-substring "
" looking-at delete-char 1 search-forward "}" newline] 12))

(defun LaTeX-item (&optional arg) "\
Insert \\item indented according to enclosing \\begin{} or \\item
level (on \\<LaTeX-mode-map>\\[LaTeX-item).  With an argument, insert
\\item[] instead.  The fill prefix is updated to match the item text
indentation." (interactive) (byte-code "ň! i
\\` `\")> ?) ?3 \"; \"!D ! *" [col env LaTeX-item-indentation arg current-prefix-arg nil LaTeX-to-begin 1 buffer-substring end-of-line internal-LaTeX-item "\\item " "\\item[] " backward-char 2 message "Not inside a \\begin{...}" ding] 9))

(defun LaTeX-label nil "\
Insert \\label{ ... } at point (on \\<LaTeX-mode-map>\\[LaTeX-label]).
If LaTeX-label-start-with-newline is non-nil, insert a percent to start
a comment, then put \\label at the start of a following new line." (interactive) (byte-code "iV  Ƃ #!
#  % c!!" [LaTeX-label-start-with-newline nil LaTeX-label-end-with-newline internal-LaTeX-keyword "label" 0 "%
" " " search-forward "}" newline search-backward "{" forward-char 1] 6))

(defun LaTeX-macro (&optional macro-name insert-comment) "\
Insert a LaTeX macro together with argument braces and brackets (on \\<LaTeX-mode-map>\\[LaTeX-macro]).
With an argument, a short comment about the arguments is also inserted.
Without an argument, the comment is displayed in the echo area instead." (interactive (byte-code "	\"%C" [LaTeX-standard-macros LaTeX-extra-macros nil t completing-read "Macro name: " append] 7)) (byte-code "\"\"	\"\"$ c8\"8q 8c	??C 
??P 8#] 8!]  )!n  ! 	??| 
?? 8\" 8!   \"\" cc ! !!c\" ! ` `\"\"!)*" [LaTeX-standard-macros LaTeX-extra-macros nil t the-font the-macro macro-name LaTeX-standard-fonts LaTeX-extra-fonts current-prefix-arg insert-comment LaTeX-newline-after-closing-delimiter LaTeX-newline-after-opening-delimiter LaTeX-standard-italic-fonts LaTeX-extra-italic-fonts assoc append "{" insert "\\" 0 1 " % " 2 "
" princ newline forward-char backward-char "\\/" "}" search-backward re-search-backward "[a-zA-Z]" " " string-equal "item" LaTeX-to-begin format " Inside %s" buffer-substring end-of-line] 28))

(defun LaTeX-mode nil "\
Major editing mode for LaTeX and SLiTeX.
\\<LaTeX-mode-map>
To create a new LaTeX document, use make-LaTeX-document (on
\\[make-LaTeX-document]), or make-SLiTeX-document (on \\[make-SLiTeX-document]).
With an argument, they will provide some additional helpful comments.
The functions will prompt for document style and options.  Type ? to
see the standard ones; you can enter them with name completion.  You
can also enter your own, since it is possible to have private styles
and options unknown to make-LaTeX-document or make-SLiTeX-document.

The most frequent LaTeX construct is the \\begin{}...\\end{} grouping;
you can generate it by LaTeX-begin-end-block (on \\[LaTeX-begin-end-block]).
With an argument, a helpful comment may be printed.  Type ? to see the
standard environments, or enter your own.  If you type a \\begin{...}
manually, you can later generate a matching \\end{...} with the
function LaTeX-end (on \\[LaTeX-end]).

Other common constructs are the insertion of labels, citations,
cross-references, index entries, verbatim strings, and additional
items in a list.  The functions

	\\[LaTeX-add-word-to-index]	LaTeX-add-word-to-index
	\\[LaTeX-bibitem]	LaTeX-bibitem
	\\[LaTeX-cite]	LaTeX-cite
	\\[LaTeX-counter]	LaTeX-counter
	\\[LaTeX-footnote]	LaTeX-footnote
	\\[LaTeX-index]	LaTeX-index
	\\[LaTeX-item]	LaTeX-item
	\\[LaTeX-label]	LaTeX-label
	\\[LaTeX-macro]	LaTeX-macro
	\\[LaTeX-pageref-with-completion]	LaTeX-pageref-with-completion
	\\[LaTeX-protect]	LaTeX-protect
	\\[LaTeX-ref-with-completion]	LaTeX-ref-with-completion
	\\[LaTeX-verb]	LaTeX-verb
	\\[make-LaTeX-document]	make-LaTeX-document
	\\[make-SLiTeX-document]	make-SLiTeX-document

provide for these.

LaTeX-tab (on \\[LaTeX-tab]) will indent a line to the current
\\begin{}...\\end{} nesting level.

Most major LaTeX macros can be entered by LaTeX-macro (on \\[LaTeX-macro]).
This will supply the correct set of following braces, brackets, and
parentheses, and with an argument, will insert a short comment about the
expected command arguments.

For SLiTeX, the function renumber-slides can be used to put a numbered
comment on each slide environment for handy reference in the
\\onlynotes{...} and \\onlyslides{...} commands.

You can move over \\begin{} ... \\end{} groups with LaTeX-to-begin (on
\\[LaTeX-to-begin]) and LaTeX-to-end (on \\[LaTeX-to-end]).

Insertion of paired angle brackets, braces, square brackets, and
parentheses is provided by

	\\[LaTeX-angles]	LaTeX-angles
	\\[LaTeX-braces]	LaTeX-braces
	\\[LaTeX-brackets]	LaTeX-brackets
	\\[LaTeX-parentheses]	LaTeX-parentheses

With an argument, the last three insert backslash prefixes for literal
braces, math mode, and displaymath mode.

Unbalanced character pairs are found by

	\\[LaTeX-check-angle-balance]	LaTeX-check-angle-balance
	\\[LaTeX-check-brace-balance]	LaTeX-check-brace-balance
	\\[LaTeX-check-bracket-balance]	LaTeX-check-bracket-balance
	\\[LaTeX-check-dollar-balance]	LaTeX-check-dollar-balance
	\\[LaTeX-check-parenthesis-balance]	LaTeX-check-parenthesis-balance

You can test for undefined labels with check-LaTeX-labels, display
the labels and their line numbers with show-LaTeX-labels, and
fetch labels from an .aux file with update-LaTeX-labels.

Environment nesting errors can be caught by check-LaTeX-nesting.

Use indent-LaTeX-begin-end-groups to get environments nested for
improved visibility.

Use LaTeX-comment (on \\[LaTeX-comment]) to comment out the current
paragraph (no arg) or region (arg); undo with M-x undo (\\[undo]).
LaTeX-uncomment (on \\[LaTeX-uncomment]) is the inverse function.

One or more words can be set in any standard LaTeX font using the
commands

	\\[LaTeX-font-bf]	LaTeX-font-bf
	\\[LaTeX-font-em]	LaTeX-font-em
	\\[LaTeX-font-it]	LaTeX-font-it
	\\[LaTeX-font-rm]	LaTeX-font-rm
	\\[LaTeX-font-sc]	LaTeX-font-sc
	\\[LaTeX-font-sf]	LaTeX-font-sf
	\\[LaTeX-font-sl]	LaTeX-font-sl
	\\[LaTeX-font-tt]	LaTeX-font-tt

Please report bugs, comments, and enhancements by e-mail to

	Beebe@math.utah.edu (Internet)

LaTeX-gripe (on \\[LaTeX-gripe]) makes this easier.
" (interactive) (byte-code "!щ҉!ԉՉ	։
׉؉#E !` !P!` !P!\"" [LaTeX-mode-map indent-tabs-mode nil major-mode mode-name indent-line-function paragraph-start paragraph-separate local-abbrev-table LaTeX-mode-abbrev-table comment-end comment-start comment-start-skip t LaTeX-aux-file-label-tags buffer-file-name use-local-map LaTeX-mode "LaTeX" make-local-variable internal-LaTeX-indent-line "^[ 	]*$\\|^\\|^[ 	]*\\\\begin\\|^[ 	]*\\\\end.*
\\|^[ 	]*\\\\item\\|^[ 	]*\\\\bibitem\\|^[ 	]*%.*$" "" "% " "%+ *" re-search-forward "^[ 	]*\\\\" looking-at "documentstyle" file-readable-p file-name-sans-extension ".aux" update-LaTeX-labels run-hooks latex-mode-hook LaTeX-mode-hook] 11))

(defun LaTeX-news nil "\
View the latex.el file to see its revision history which documents
changes in reverse chronological order.  Bound to \\<LaTeX-mode-map>\\[LaTeX-news]." (interactive) (byte-code "Í)" [the-file nil DONE (byte-code "\"" [load-path mapcar (lambda (the-path) (byte-code "	 \" Ƃ Q!! !\"" [the-file the-path nil string-equal system-name "vax-vms" "" "/" "latex.el" file-exists-p view-file throw DONE] 7))] 3)] 2))

(defun LaTeX-pageref nil "\
Insert \\pageref{ ... } (on \\<LaTeX-mode-map>\\[LaTeX-pageref])." (interactive) (byte-code "#" [nil internal-LaTeX-keyword "pageref" "~" " "] 4))

(defun LaTeX-pageref-with-completion (label-name) "\
Insert \\pageref{ ... } with completion on label tag (on \\<LaTeX-mode-map>\\[LaTeX-pageref-with-completion]).
When this function is invoked, all currently-defined labels are
collected dynamically by internal-LaTeX-make-label-list and used for the
completion list.  An undefined label name may be legally entered if
required; presumably, you will soon generate a \\label{...} definition
for it." (interactive (byte-code " %C" [nil completing-read "LaTeX \\label{} tag name: " internal-LaTeX-make-label-list] 7)) (byte-code "#	c! !!" [nil label-name internal-LaTeX-keyword "pageref" "~" " " looking-at "
" delete-char 1 forward-char] 5))

(defun LaTeX-parentheses (&optional arg) "\
Insert pair of parentheses.  With an argument, backslashed
parentheses (math mode) are generated.  Bound to \\<LaTeX-mode-map>\\[LaTeX-parentheses]." (interactive) (byte-code "?	 	? # #" [arg current-prefix-arg nil internal-LaTeX-delimiter-pair "(" ")" "\\(" "\\)"] 5))

(defun LaTeX-protect nil "\
Insert a \\protect (on \\<LaTeX-mode-map>\\[LaTeX-protect])." (interactive) (byte-code "c" [nil "\\protect"] 1))

(defun LaTeX-quote (arg) "\
Insert ``, '' or \" according to preceding character (on \\<LaTeX-mode-map>\\[LaTeX-quote]).
With prefix argument, always insert \" characters." (interactive "P") (byte-code "È !< ! 	!)< o) !!)0 ˂; hU: ͂; c" [arg count t nil prefix-numeric-value self-insert-command 1 forward-char -1 looking-at "[ 	
]\\|\\s(" "``" 92 34 "''"] 7))

(defun LaTeX-ref nil "\
Insert \\ref{ ... } (on \\<LaTeX-mode-map>\\[LaTeX-ref])." (interactive) (byte-code "#" [nil internal-LaTeX-keyword "ref" "~" " "] 4))

(defun LaTeX-ref-with-completion (label-name) "\
Insert \\ref{ ... } with completion on label tag (on \\<LaTeX-mode-map>\\[LaTeX-ref-with-completion]).
When this function is invoked, all currently-defined labels are
collected dynamically by internal-LaTeX-make-label-list and used for the
completion list.  An undefined label name may be legally entered if
required; presumably, you will soon generate a \\label{...} definition
for it." (interactive (byte-code " %C" [nil completing-read "LaTeX \\label{} tag name: " internal-LaTeX-make-label-list] 7)) (byte-code "#	c! !!" [nil label-name internal-LaTeX-keyword "ref" "~" " " looking-at "
" delete-char 1 forward-char] 5))

(defun LaTeX-set-indentation (&optional arg) "\
Set the indentation column to ARG, or if ARG is omitted, to the
current column.  You should rarely need this command, because
environments generated by LaTeX-begin-end-block set their own
indentation." (interactive) (byte-code "	i\"\"!" [LaTeX-current-indentation arg nil internal-LaTeX-default princ format "Indentation column set to %d"] 5))

(defun LaTeX-subscript nil "\
Insert a braced subscript, leaving the cursor in the braces.  If the
preceding character is a backslash, however, just insert an underscore." (interactive) (byte-code "h\" ! #" [nil equal 92 insert-string "_" internal-LaTeX-delimiter-pair "_{" "}"] 6))

(defun LaTeX-superscript nil "\
Insert a braced superscript, leaving the cursor in the braces.  If the
preceding character is a backslash, however, just insert a caret." (interactive) (byte-code "h\" ! #" [nil equal 92 insert-string "^" internal-LaTeX-delimiter-pair "^{" "}"] 6))

(defun LaTeX-tab nil "\
Indent to level of current \\begin{}...\\end nesting (on \\<LaTeX-mode-map>\\[LaTeX-tab])." (interactive) (byte-code "È` 
?v e#e !!\"!!\"\"; 	Ba 	?] ib \\j\"ĉ)a 	A*r b! ĉ +" [fail-point nesting done nil t which text indentation LaTeX-begin-end-indentation end-of-line re-search-backward "\\\\\\(begin\\|end\\){\\([^}
]*\\)}" buffer-substring match-beginning 1 match-end 2 equal "end" beginning-of-line message "Inside \\begin{%s}" "Not inside a \\begin{...}" ding] 16))

(defun LaTeX-to-begin (&optional arg) "\
Move backward over ARG \\begin's (on \\<LaTeX-mode-map>\\[LaTeX-to-begin]).
Return T on success, NIL on failure.  A negative argument moves forward
over \\end's.

\\begin and \\end are recognized only if they are preceded on the line
by nothing but whitespace, and followed by an open curly brace.  Mark
is set where the search began." (interactive) (byte-code "È\"`\"ɍ!
U)" [arg t level nil internal-LaTeX-default 1 push-mark 0 EXIT (byte-code "V # #B  !& T* SU5 \"W>    " [arg nil t level 0 re-search-backward "^[ 	]*\\\\begin *{\\|^[ 	]*\\\\end *{" re-search-forward beginning-of-line looking-at "^[ 	]*\\\\begin *{" throw EXIT forward-line] 8) skip-chars-forward " 	"] 5))

(defun LaTeX-to-end (&optional arg) "\
Move forward over ARG (default 1) \\end{...}'s (on \\<LaTeX-mode-map>\\[LaTeX-to-end]).
Return t on success, nil on failure.  A negative argument moves backward
over \\begin{...}'s instead.

\\begin and \\end are recognized only if they are preceded on the line
by nothing but whitespace, and followed by an open curly brace.  Mark
is set where the search began." (interactive) (byte-code "\"[!" [arg nil internal-LaTeX-default 1 LaTeX-to-begin] 3))

(defun LaTeX-uncomment (&optional region) "\
Remove leading comments from the current paragraph or, with a prefix
argument, region (on \\<LaTeX-mode-map>\\[LaTeX-uncomment]).

Point is left at the beginning of the next paragraph, or at the end of
the region.  M-x undo (on \\[undo]) will undo it.  Comments must be of
the form defined by the variable LaTeX-comment-prefix, and inserted by
LaTeX-comment (on \\[LaTeX-comment]).

NB: paragraph-separate is usually defined in LaTeX-mode to include
lines which contain only comments.  This means that a paragraph
commented out by LaTeX-comment will NOT be recognized by this
function.  Mark the region you want uncommented, and invoke this
function with an argument instead." (interactive "P") (byte-code "È  `\"+  !  ` !(  `\"eb	Pd#B #/ db)?W     " [region LaTeX-comment-prefix t nil narrow-to-region mark backward-paragraph looking-at "
" forward-char forward-paragraph backward-char re-search-forward "^" replace-match "" beginning-of-line] 16))

(defun LaTeX-verb (&optional arg) "\
Insert \\verb| ... | (on \\<LaTeX-mode-map>\\[LaTeX-verb]).
With an argument, insert \\verb*| ... | which makes spaces in its
argument visible.  The delimiter character actually used is the current
value of the variable LaTeX-verb-delimiter.
" (interactive) (byte-code "\" Ȃ 
 ʂ 
' ʂ( &
!!
!!!" [arg nil LaTeX-verb-delimiter LaTeX-newline-after-opening-delimiter LaTeX-newline-after-closing-delimiter internal-LaTeX-default insert "\\verb" "*" "" "
" search-backward char-to-string forward-char 1] 8))

(defun TeX-dollar nil "\
Insert a math mode dollar pair, or if at beginning of line, a display math
pair.  If the preceding character is a backslash, however, just put in a single
dollar sign." (interactive) (byte-code "h\" !& iV !!& !!" [t nil equal 92 insert-string "$" 0 "$$" backward-char 1 "$$
  
$$
" 4] 7))

(defun check-LaTeX-labels nil "\
Search for undefined labels which are referenced by \\ref{} or
\\pageref{}.  Labels in LaTeX-aux-file-label-tags (set by
update-LaTeX-labels) are included in the definition list.  For each one
found, a recursive edit is entered to allow you to supply the missing
\\label{...}.  Exit the recursive edit with \\[exit-recursive-edit] to continue the search." (interactive) (byte-code "È	 \"eb#D !!\"Q
\"?@  T
# ) VU  \"X !)+" [labels LaTeX-aux-file-label-tags the-label nil undefined-count LaTeX-label-reference t append internal-LaTeX-collect-labels 0 re-search-forward "\"" buffer-substring match-beginning 1 match-end assoc ding message "Undefined label %s %s" "--entering recursive edit to allow fix" recursive-edit "[done] %d undefined labels--rerun check-LaTeX-labels to be sure" "[done] all referenced labels are defined"] 14))

(defun check-LaTeX-nesting nil "\
Check for incorrect \\begin{foo} .. \\end{foo} nesting in a LaTeX file.
Return t on nesting error, nil on success." (interactive) (byte-code "`ebƍ," [name-list nil point-list environment-name start-point EXIT (byte-code "#w !!!!\") !!8 `B
Bo ?H  !\"
@\"?e  @!
@#\"AA!  @  \"!\" b G\" !b" [nil t environment-name point-list name-list start-point re-search-forward "^[ 	]*\\\\begin *{\\|^[ 	]*\\\\end *{" backward-char 1 "{\\([^{}]*\\)}" buffer-substring match-beginning match-end beginning-of-line skip-chars-forward " 	" looking-at "\\\\begin *{" ding message "This \\end has no previous matching \\begin" throw EXIT string-equal push-mark "This \\end{%s} is matched by preceding \\begin{%s} at mark." forward-line mapcar reverse mark pop-mark "%d unclosed \\begin{...}'s marked starting here." "[done] -- all \\begin{}-\\end{}'s balance"] 27)] 4))

(defun indent-LaTeX-begin-end-groups nil "\
Indent \\begin{} ... \\end{} groups in entire buffer according to
nesting level, placing them on separate lines.  M-x undo (on \\[undo])
will undo the indentation.  A check is made for incorrect nesting
levels before starting, and the operation is aborted if there are
nesting errors.  On completion, the \\begin and \\end lines are
shown in the *Occur* buffer.

The nesting indentation level is taken from that of the first \\begin
found, which will normally be the \\begin{document} at the start of a
line.  \\begin and \\end for environments listed in
LaTeX-standard-unindented-environments and
LaTeX-extra-unindented-environments will be moved to beginning-of-line.

\\begin and \\end are recognized only if they are preceded on the line
by nothing but whitespace, and followed by an open curly brace.  Mark
is set where the search began." (interactive) (byte-code " ? eb#$  !i\"eb#   !!!\")!h 	\"\"?` \"\"T S	\"\"? \"\"!( *eb!" [level environment-name nil t LaTeX-begin-end-indentation LaTeX-standard-unindented-environments LaTeX-extra-unindented-environments check-LaTeX-nesting 0 re-search-forward "^[ 	]*\\\\begin" beginning-of-line skip-chars-forward " 	" / "^[ 	]*\\\\begin *{\\|^[ 	]*\\\\end *{" delete-horizontal-space "{\\([^{}]*\\)}" buffer-substring match-beginning 1 match-end looking-at "\\\\begin *{" assoc append insert-char 32 * forward-line occur] 25))

(defun internal-LaTeX-calculate-indent nil "\
Examine the surrounding text and try to figure out what the current
indentation should be, then return the indentation column number." (byte-code " !!a  \"\"# щ& #[ !<  X !L  \\X !X  
\\^ щ !q    !   \\ ! !!  \"\" щ  
\\ !  \\ !  \"\" щ  
Z  )*" [indent nil temp-indent LaTeX-standard-unindented-environments LaTeX-extra-unindented-environments LaTeX-begin-end-indentation t LaTeX-item-info-indent LaTeX-item-indentation beginning-of-line skip-chars-forward " 	" looking-at "\\\\begin" assoc internal-LaTeX-which-environment append 0 re-search-backward "\\\\begin\\|\\\\end\\|\\\\item" "\\\\end" current-indentation "\\\\item" LaTeX-to-begin forward-line -1 "\\\\begin *{"] 37))

(defun internal-LaTeX-check-matching-character-balance (open close name maxsep &optional allow-paragraph-breaks) "\
Starting at current point, check for unbalanced OPEN and CLOSE
characters, and OPEN/CLOSE pairs suspiciously separated by long
strings of more than MAXSEP characters.  Backslashed OPEN/CLOSE
characters are ignored.  NAME (e.g.  \"brace\") is used for message
typeout.

With an argument (i.e. a non-nil allow-paragraph-breaks), paragraph
breaks are permitted between the matching OPEN/CLOSE characters.

Paragraph breaks are considered to be at (a) empty lines, (b)
lines containing only whitespace, or (c) formfeeds.  The variable
paragraph-separate is NOT used, because the usual setting
LaTeX-mode includes characters that are likely to be
balance-checked with this function." (byte-code "??	 	 ς #`	!!P!!P

	A ЂE PR׍." [current-prefix-arg allow-paragraph-breaks t name open-char-list nil paragraph-regexp start-point close-regexp close open-regexp open match-string message "Checking %s balance%s" " allowing paragraph breaks" "" "^[ 	]*$\\|" "[^\\\\]" regexp-quote char-to-string "\\|" EXIT (byte-code "`eV	 !`TdW # !b!6 !b`SB! ! !b?\\  !#\"} `@ZV}  @\"	$\"A! !Sb
? ??  \"!\" b GGV  $\"
 @ \"!\" b GGV  $
\"b" [match-string nil t open-regexp open-char-list close-regexp close open maxsep LaTeX-brace-interval allow-paragraph-breaks start-point name backward-char 1 re-search-forward match-beginning 0 looking-at match-end ding message "This closing %c has no matching open %c" throw EXIT push-mark "More than %d chars between %c...%c." mapcar reverse mark pop-mark "%d unclosed %c char%s%s" "s at paragraph break marked." "  at paragraph break." "%d unclosed open %s%s marked starting here." "s" "" "[done] -- all %ss balance"] 38)] 10))

(defun internal-LaTeX-collect-labels nil "\
Collect an associative list ((\"tag1\") (\"tag2\") ... (\"tagn\")) of all
cross-reference labels defined by \\label{...} and return it." (byte-code "eb
#( !!\"Qe`\"DC\" ))" [labels nil LaTeX-label-definition t re-search-forward append "\"" buffer-substring match-beginning 1 match-end count-lines] 11))

(defun internal-LaTeX-default (value default-value) "\
Return a non-nil value from VALUE, current-prefix-arg, or
DEFAULT-VALUE, in that order.  Do

   (setq argvar (internal-LaTeX-default argvar 23))

to set &optional argvar to (a) argvar, if argvar is non-nil, else (b)
current-prefix-arg, if that is non-nil, else (c) 23.  This simplifies
optional argument assignment in many functions." (byte-code "??
  	?? 	! " [value current-prefix-arg t default-value prefix-numeric-value] 2))

(defun internal-LaTeX-delimiter-pair (open close indent) "\
Insert a delimiter pair at point, leaving point after the OPEN
delimiter.  If LaTeX-newline-after-opening-delimiter is non-nil, they will
be separated by a newline.  If LaTeX-newline-after-closing-delimiter
is non-nil, the CLOSE delimiter will be followed by a newline.  If
INDENT is t, supply leading spaces in front of both delimiters
according to the value of LaTeX-current-indentation." (byte-code " 	\"
c`      	\"c!,  7   b)" [indent LaTeX-current-indentation open new-point LaTeX-newline-after-opening-delimiter close LaTeX-newline-after-closing-delimiter insert-char 32 delete-horizontal-space newline looking-at "[ 	]*$"] 9))

(defun internal-LaTeX-indent-line nil "\
Indent current line as LaTeX stuff.  Return amount that line was
changed by." (byte-code " d`Z `!iZ
!3 dZ`V0 dZbG 	`\"jdZ`VG dZb
-" [indent beg shift-amt case-fold-search nil pos internal-LaTeX-calculate-indent beginning-of-line skip-chars-forward " 	" zerop delete-region] 7))

(defun internal-LaTeX-item (column keyword) "\
Insert item or bibitem keyword on new line at column." (byte-code " !!)  \"	c" [column keyword end-of-line backward-char 1 looking-at "^$" newline insert-char 32] 7))

(defun internal-LaTeX-keyword (keyword &optional prefix suffix) "\
Remove surrounding space, then insert \\KEYWORD{ ... } at point.
If PREFIX is specified, insert it before the \\KEYWORD.  If SUFFIX is
specified, insert it after the closing brace." (byte-code " 	R
P#" [prefix keyword suffix nil delete-horizontal-space internal-LaTeX-delimiter-pair "\\" "{" "}"] 6))

(defun internal-LaTeX-label-string (element) "\
Return a string \"tag [line nnn]\" from the associative list ELEMENT." (byte-code "@A@!R" [element " [line " int-to-string "]"] 5))

(defun internal-LaTeX-make-label-list nil "\
Make a list of all \\label{...} values found in the buffer, add to
it the contents of LaTeX-aux-file-label-tags, remove duplicates,
and return it as the function result." (interactive) (byte-code " \"ĉ85 8@	\"?, 	8C\"T 	!*" [k tags nil LaTeX-aux-file-label-tags 0 mapcar (lambda (x) (byte-code "@!@B" [x nil read-from-string] 3)) internal-LaTeX-collect-labels assoc nconc internal-LaTeX-sort-alist] 8))

(defun internal-LaTeX-maybe-remove-italic-correction nil "\
Remove any italic correction immediately preceding point, if
the next character is a dot or a comma, leaving point unchanged." (byte-code "! !! !! !" [looking-at "[.,]" backward-char 3 "\\\\/}" delete-char 2 forward-char 1] 7))

(defun internal-LaTeX-old-indent-line nil "\
Indent current LaTeX line based on its contents and on previous lines.
This is used by the standard function newline-and-indent (on \\[newline-and-indent])." (byte-code " !`!`\"!  P!, P) c)" [prefix nil beginning-of-line forward-line -1 buffer-substring re-search-forward "^[% 	]*" looking-at "\\\\item" "      " "\\\\bibitem" "        " delete-horizontal-space] 8))

(defun internal-LaTeX-preceding-buffer-substring (n) "\
Return as a string value the N or fewer characters in the buffer preceding
point, taking care to avoid a buffer bounds violation." (byte-code "`Z]`\"" [n buffer-substring 1] 4))

(defun internal-LaTeX-repeat (n proc) "\
Repeat proc n times" (byte-code "V 	!S  " [n proc 0 eval] 4))

(defun internal-LaTeX-set-indentation nil "\
Update LaTeX-current-indentation according to current
   \\begin{}...\\end{} level if at beginning of line, or else to current
   indentation value such that a new \\begin{}...\\end{} group will
   insert at that point." (byte-code "iV i% #$ i!$ Z)" [LaTeX-current-indentation nil t LaTeX-begin-end-indentation 0 re-search-backward "\\\\begin *{\\|\\\\end *{" looking-at "\\\\end *{"] 4))

(defun internal-LaTeX-sort-alist (alist) "\
Sort the association list ALIST and return the result." (byte-code "\"" [alist sort (lambda (a b) "Compare two a-lists A and B and return T if A < B, else NIL." (byte-code "@	@\"" [a b string-lessp] 3))] 3))

(defun internal-LaTeX-which-environment nil "\
Call this with point sitting on a egin or nd.  It
returns the type of the environment, e.g. tabular, or enumerate" (byte-code "!`!`Z	\")*" [begin end nil search-forward "{" "}" 1 buffer-substring] 5))

(defun internal-LaTeX-wrap (prefix suffix word-count) "\
Wrap the next WORD-COUNT words with PREFIX and SUFFIX." (byte-code "V !!	c!
c" [word-count prefix suffix 0 forward-word 1 -1] 4))

(defun internal-x-LaTeX-index-mark (start end) "\
Insert an index reference around the region START to END, where
START < END." (byte-code "b!!`	\"?q 	T\"c0 !?- c 	bW iV@ O !?L c \"o 
c iVe l Ղm \"))" [end start index-text LaTeX-index-end-with-newline LaTeX-index-macro LaTeX-index-start-with-newline forward-word -1 1 equal nil buffer-substring "}" looking-at "[ \\t]*$" "
" indent-for-tab-command 0 insert "{" delete-horizontal-space "%
" "" "\\index{"] 13))

(defun make-LaTeX-document (LaTeX-style &optional LaTeX-option-list arg) "\
Select LaTeX-mode, then insert a template for a new LaTeX document,
prompting for style and options.  With an argument, some additional
helpful comments are inserted.  Any previous contents of the buffer
are killed (and saved on the kill-ring).

The default template header can be replaced by a customized one
inserted by the function make-LaTeX-document-hook which is run with
point at the beginning of the buffer." (interactive (byte-code "	\"%C" [LaTeX-standard-styles LaTeX-extra-styles nil completing-read "Document style: " append] 7)) (byte-code "\"=  Ɖ?i ҉W 	
\"%\"H R #)# G=?i O ?z \"  Qed\"eb! ! cdb? 䂴 #   & \" c cdbdSd\"\"? c%? ###))" [LaTeX-standard-styles LaTeX-extra-styles nil arg loop major-mode t LaTeX-option-list LaTeX-option LaTeX-standard-options LaTeX-extra-options LaTeX-default-options buffer-file-name LaTeX-style LaTeX-index-macro LaTeX-space-after-begin-end internal-LaTeX-default LaTeX-mode "" completing-read "Document option (RET when done): " append equal format "%s,%s" 0 1 string-equal "," kill-region boundp make-LaTeX-document-hook run-hooks "% -*-latex-*-
" insert "% Document name: " "unknown" "
" "% Creator: " user-full-name " [" user-login-name "@" system-name "]
" "% Creation Date: " current-time-string "
%------------------------------------------------------------------------
% EVERYTHING TO THE RIGHT OF A  %  IS A REMARK TO YOU AND IS IGNORED BY
% LaTeX.
%
% WARNING!  DO NOT TYPE ANY OF THE FOLLOWING 10 CHARACTERS AS NORMAL TEXT
% CHARACTERS:
%                &   $   #   %   _    {   }   ^   ~   \\
%
% The following seven are printed by typing a backslash in front of them:
%  $  &  #  %  _  {  and  }.
%------------------------------------------------------------------------
" buffer-substring "\\documentstyle[" "]{" "}
" "\\newcommand{" "}[1]{#1\\index{#1}}
" "\\begin" " " "{document}
" "
\\end"] 26))

(defun make-SLiTeX-document (&optional LaTeX-option-list arg) "\
Select LaTeX-mode, then insert a template for a new SLiTeX document,
prompting for style and options.  With an argument, some additional
helpful comments are inserted.  Any previous contents of the buffer
are killed (and saved on the kill-ring).

The default template header can be replaced by a customized one
inserted by the function make-SLiTeX-document-hook which is run with
point at the beginning of the buffer." (interactive) (byte-code "\"=  ŉ?d ΉR \"%
\"E N 
#% G=?d O	 ?u \"} 	 	Qed\"eb! ! cdb
?  
#   & \" c cdbdSd\"\"? c  &!!*" [arg nil LaTeX-option loop major-mode t LaTeX-option-list LaTeX-standard-options LaTeX-extra-options LaTeX-default-options buffer-file-name LaTeX-space-after-begin-end internal-LaTeX-default LaTeX-mode "" completing-read "Document option (RET when done): " append equal format "%s,%s" 0 1 string-equal "," kill-region boundp make-SLiTeX-document-hook run-hooks "% -*-latex-*-
" insert "% Document name: " "unknown" "
" "% Creator: " user-full-name " [" user-login-name "@" system-name "]
" "% Creation Date: " current-time-string "
%------------------------------------------------------------------------
% EVERYTHING TO THE RIGHT OF A  %  IS A REMARK TO YOU AND IS IGNORED BY
% LaTeX.
%
% WARNING!  DO NOT TYPE ANY OF THE FOLLOWING 10 CHARACTERS AS NORMAL TEXT
% CHARACTERS:
%                &   $   #   %   _    {   }   ^   ~   \\
%
% The following seven are printed by typing a backslash in front of them:
%  $  &  #  %  _  {  and  }.
%------------------------------------------------------------------------
" buffer-substring "\\documentstyle[" "]{slides}
" "\\begin" " " "{document}
" "  \\onlyslides{1-9999}
" "  \\onlynotes{1-9999}
" "% \\colors{} % {red,green,blue,etc.} colors to generate
" "% \\colorslides{} % input file
" "  \\blackandwhite{} % input file
" "\\end" search-backward "{}" forward-char] 34))

(defun renumber-slides (&optional arg) "\
Install a comment marking the slide number on each \\begin{note},
\\begin{overlay}{}, or \\begin{slide}{}; any existing comment is
replaced.  An optional numeric argument is used as the slide starting
number (default 1).  Bound to \\<LaTeX-mode-map>\\[renumber-slides].

Slides are numbered with ascending integers, like 1, 2, 3, ...  Notes
are numbered 3-1, 3-2, 3-3, ... with the corresponding slide number
before the hyphen.  Overlays are numbered 4-a, 4-b, 4-c, ... with the
corresponding slide number before the hyphen.

This command is useful for setting values in the \\onlyslides{} and
\\onlynotes{} macros; the slide numbers inserted in the comments can
be used as arguments to those macros.  For notes and overlays, only
the major slide number is used; the minor number or letter must not
be specified in those macros." (interactive) (byte-code "Ĉ\"eb#{ !!\"\"\"D 	TS	#cw \"^ 
TS
##cw \"w ʉʉ\"cT ,)" [arg last-note-number last-overlay-number line nil number SLiTeX-begin-slide t internal-LaTeX-default 1 0 re-search-forward buffer-substring match-beginning match-end zap-to-char 10 string-match "note" format " %% note number %d-%d" "overlay" " %% overlay number %d-%c" + 97 -1 "slide" " %% slide number %d"] 17))

(defun show-LaTeX-labels (&optional nosort) "\
Show a list of all \\label{...} values found in the buffer.  These
are normally displayed sorted alphabetically.  An argument will
suppress the sorting, causing the labels to be presented in their
order in the buffer." (interactive) (byte-code "\"Ð!p!!!?+  \"\"!2  \"!qeb!!)" [nosort nil internal-LaTeX-default "*Labels*" princ "LaTeX labels in buffer " buffer-name ":
" display-completion-list sort mapcar internal-LaTeX-label-string internal-LaTeX-collect-labels string-lessp forward-line 1 kill-line] 16))

(defun update-LaTeX-labels (auxfilename) "\
When multi-file documents are prepared, it is impractical to search
each source file for \\label{} definitions, but the master .aux file has
them recorded in \\newlabel{}{} commands.

This command creates a list of defined \\label{} tags from the .aux
file, adding it to the current contents of LaTeX-aux-file-label-tags,
with duplicates removed.

If you work on a multi-file document, run this command manually on the
master file so that LaTeX-pageref-with-completion and
LaTeX-ref-with-completion will have access to the complete set of
defined tags, and can offer completion on them for you.  Those
functions automatically append the contents of
LaTeX-aux-file-label-tags to the list obtained from the current
buffer." (interactive (byte-code "!!Q	!P$C" [buffer-file-name default-directory t read-file-name "Master .aux file (default " file-name-sans-extension file-name-nondirectory ".aux) " ".aux"] 8)) (byte-code "ň!!r !q!!eb!eb\"eb`dWe ` `\"\"?] `\"CC\"!4 !!*" [buffer-file-name default-directory t auxfilename tmpbuf nil bol LaTeX-aux-file-label-tags expand-file-name file-readable-p generate-new-buffer "*update-LaTeX-labels*" insert-file keep-lines "\\\\newlabel" replace-regexp "\\\\newlabel{\\([^{]*\\)}.*" "\\1" end-of-line assoc buffer-substring nconc forward-line 1 kill-buffer internal-LaTeX-sort-alist] 17))

(if (and (boundp (quote window-system)) (equal window-system (quote x)) (not (boundp (quote epoch::version))) (load "x-mouse" t t nil)) (progn (define-key mouse-map x-button-right (quote x-LaTeX-index-start)) (define-key mouse-map x-button-right-up (quote x-LaTeX-index-end))))

(setq x-LaTeX-index-start-pos (point-min))

(defun x-LaTeX-index-start (arg) "\
Start a LaTeX index entry at the precise character where the mouse
down action occurs.  Normally bound to right-button-down." (byte-code "!``\\\"\"!`" [arg x-LaTeX-index-start-pos x-mouse-set-point princ format "Indexing: %s..." buffer-substring 5] 8))

(defun x-LaTeX-index-end (arg) "\
End a LaTeX index entry at mouse up.  The index entry is
automatically extended to the end of the current word, so you don't have
to be precise in mouse positioning.  Normally bound to right-button-up." (byte-code "!`	W `	\" `	V 	`\"" [arg x-LaTeX-index-start-pos x-mouse-set-point internal-x-LaTeX-index-mark] 5))
