diff options
author | mattkae <mattkae@protonmail.com> | 2022-05-17 07:07:37 -0400 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-05-17 07:07:37 -0400 |
commit | becff06c71d277647eda4378203d03ab36e141eb (patch) | |
tree | a1f73bba3676f34e0faf76764f5de963321f5576 /elpa/auctex-13.1.3/auctex.info | |
parent | 3f4a0d5370ae6c34afe180df96add3b8522f4af1 (diff) |
Evil mode and latex support
Diffstat (limited to 'elpa/auctex-13.1.3/auctex.info')
-rw-r--r-- | elpa/auctex-13.1.3/auctex.info | 9633 |
1 files changed, 9633 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/auctex.info b/elpa/auctex-13.1.3/auctex.info new file mode 100644 index 0000000..b9ac9ee --- /dev/null +++ b/elpa/auctex-13.1.3/auctex.info @@ -0,0 +1,9633 @@ +This is auctex.info, produced by makeinfo version 6.8 from auctex.texi. + +This manual is for AUCTeX (version 13.1.3 from 2022-04-16), a +sophisticated TeX environment for Emacs. + + Copyright (C) 1992-1995, 2001, 2002, 2004-2022 Free Software +Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts and no + Back-Cover Texts. A copy of the license is included in the section + entitled "GNU Free Documentation License." +INFO-DIR-SECTION Emacs +START-INFO-DIR-ENTRY +* AUCTeX: (auctex). A sophisticated TeX environment for Emacs. +END-INFO-DIR-ENTRY + +INFO-DIR-SECTION TeX +START-INFO-DIR-ENTRY +* AUCTeX: (auctex). A sophisticated TeX environment for Emacs. +END-INFO-DIR-ENTRY + + +File: auctex.info, Node: Top, Next: Copying, Up: (dir) + +AUCTeX +****** + +This manual may be copied under the conditions spelled out in *note +Copying this Manual::. + + AUCTeX is an integrated environment for editing LaTeX, ConTeXt, +docTeX, Texinfo, and TeX files. + + Although AUCTeX contains a large number of features, there are no +reasons to despair. You can continue to write TeX and LaTeX documents +the way you are used to, and only start using the multiple features in +small steps. AUCTeX is not monolithic, each feature described in this +manual is useful by itself, but together they provide an environment +where you will make very few LaTeX errors, and makes it easy to find the +errors that may slip through anyway. + + It is a good idea to make a printout of AUCTeX's reference card +'tex-ref.tex' or one of its typeset versions. + + If you want to make AUCTeX aware of style files and multifile +documents right away, insert the following in your init file (usually +'~/.emacs.d/init.el'). + + (setq TeX-auto-save t) + (setq TeX-parse-self t) + (setq-default TeX-master nil) + + Another thing you should enable is RefTeX, a comprehensive solution +for managing cross references, bibliographies, indices, document +navigation and a few other things. (*Note (reftex)Installation::.) + + For detailed information about the preview-latex subsystem of AUCTeX, +see *note Introduction: (preview-latex)Top. + + There is a mailing list for general discussion about AUCTeX: write a +mail with "subscribe" in the subject to <auctex-request@gnu.org> to join +it. Send contributions to <auctex@gnu.org>. + + Bug reports should go to <bug-auctex@gnu.org>, suggestions for new +features, and pleas for help should go to either <auctex-devel@gnu.org> +(the AUCTeX developers), or to <auctex@gnu.org> if they might have +general interest. Please use the command 'M-x TeX-submit-bug-report +<RET>' to report bugs if possible. You can subscribe to a low-volume +announcement list by sending "subscribe" in the subject of a mail to +<info-auctex-request@gnu.org>. + +* Menu: + +* Copying:: Copying +* Introduction:: Introduction to AUCTeX +* Editing:: Editing the Document Source +* Display:: Controlling Screen Display +* Processing:: Starting Processors, Viewers and Other Programs +* Customization:: Customization and Extension +* Appendices:: Copying, Changes, Development, FAQ, Texinfo mode +* Indices:: Indices + + -- The Detailed Node Listing -- + +Introduction + +* Summary:: Overview of AUCTeX +* Installation:: Installing AUCTeX +* Quick Start:: Quick Start + +Editing the Document Source + +* Quotes:: Inserting double quotes +* Font Specifiers:: Inserting Font Specifiers +* Sectioning:: Inserting chapters, sections, etc. +* Environments:: Inserting Environment Templates +* Mathematics:: Entering Mathematics +* Completion:: Completion of macros +* Commenting:: Commenting text +* Indenting:: Reflecting syntactic constructs with whitespace +* Filling:: Automatic and manual line breaking + +Inserting Environment Templates + +* Equations:: Equations +* Floats:: Floats +* Itemize-like:: Itemize-like Environments +* Tabular-like:: Tabular-like Environments +* Customizing Environments:: Customizing Environments + +Controlling Screen Display + +* Font Locking:: Font Locking +* Folding:: Folding Macros and Environments +* Outline:: Outlining the Document +* Narrowing:: Restricting display and editing to a portion of the buffer +* Prettifying:: Displaying Greek and math macros as Unicode characters + +Font Locking + +* Fontification of macros:: Fontification of macros +* Fontification of quotes:: Fontification of quotes +* Fontification of math:: Fontification of math constructs +* Verbatim content:: Verbatim macros and environments +* Faces:: Faces used by font-latex +* Known problems:: Known fontification problems + +Starting Processors, Viewers and Other Programs + +* Commands:: Invoking external commands. +* Viewing:: Invoking external viewers. +* Debugging:: Debugging TeX and LaTeX output. +* Checking:: Checking the document. +* Control:: Controlling the processes. +* Cleaning:: Cleaning intermediate and output files. +* Documentation:: Documentation about macros and packages. + +Viewing the Formatted Output + +* Starting Viewers:: Starting viewers +* I/O Correlation:: Forward and inverse search + +Catching the errors + +* Ignoring warnings:: Controlling warnings to be reported +* Error overview:: List of all errors and warnings + +Customization and Extension + +* Multifile:: Multifile Documents +* Parsing Files:: Automatic Parsing of TeX Files +* Internationalization:: Language Support +* Automatic:: Automatic Customization +* Style Files:: Writing Your Own Style Support + +Language Support + +* European:: Using AUCTeX with European Languages +* Japanese:: Using AUCTeX with Japanese + +Automatic Customization + +* Automatic Global:: Automatic Customization for the Site +* Automatic Private:: Automatic Customization for a User +* Automatic Local:: Automatic Customization for a Directory + +Writing Your Own Style Support + +* Simple Style:: A Simple Style File +* Adding Macros:: Adding Support for Macros +* Adding Environments:: Adding Support for Environments +* Adding Other:: Adding or Examining Other Information +* Hacking the Parser:: Automatic Extraction of New Things + +Copying, Changes, Development, FAQ + +* Copying this Manual:: +* Changes:: +* Development:: +* FAQ:: +* Texinfo mode:: + +Copying this Manual + +* GNU Free Documentation License:: License for copying this manual. + +Indices + +* Key Index:: +* Function Index:: +* Variable Index:: +* Concept Index:: + + + +File: auctex.info, Node: Copying, Next: Introduction, Prev: Top, Up: Top + +Copying +******* + +AUCTeX primarily consists of Lisp files for Emacs, but there are also +installation scripts and files and TeX support files. All of those are +"free"; this means that everyone is free to use them and free to +redistribute them on a free basis. The files of AUCTeX are not in the +public domain; they are copyrighted and there are restrictions on their +distribution, but these restrictions are designed to permit everything +that a good cooperating citizen would want to do. What is not allowed +is to try to prevent others from further sharing any version of these +programs that they might get from you. + + Specifically, we want to make sure that you have the right to give +away copies of the files that constitute AUCTeX, that you receive source +code or else can get it if you want it, that you can change these files +or use pieces of them in new free programs, and that you know you can do +these things. + + To make sure that everyone has such rights, we have to forbid you to +deprive anyone else of these rights. For example, if you distribute +copies of parts of AUCTeX, you must give the recipients all the rights +that you have. You must make sure that they, too, receive or can get +the source code. And you must tell them their rights. + + Also, for our own protection, we must make certain that everyone +finds out that there is no warranty for AUCTeX. If any parts are +modified by someone else and passed on, we want their recipients to know +that what they have is not what we distributed, so that any problems +introduced by others will not reflect on our reputation. + + The precise conditions of the licenses for the files currently being +distributed as part of AUCTeX are found in the General Public Licenses +that accompany them. This manual specifically is covered by the GNU +Free Documentation License (*note Copying this Manual::). + + +File: auctex.info, Node: Introduction, Next: Editing, Prev: Copying, Up: Top + +1 Introduction +************** + +* Menu: + +* Summary:: Overview of AUCTeX +* Installation:: Installing AUCTeX +* Quick Start:: Quick Start + + +File: auctex.info, Node: Summary, Next: Installation, Up: Introduction + +1.1 Overview of AUCTeX +====================== + +AUCTeX is a comprehensive customizable integrated environment for +writing input files for TeX, LaTeX, ConTeXt, Texinfo, and docTeX using +Emacs. + + It supports you in the insertion of macros, environments, and +sectioning commands by providing completion alternatives and prompting +for parameters. It automatically indents your text as you type it and +lets you format a whole file at once. The outlining and folding +facilities provide you with a focused and clean view of your text. + + AUCTeX lets you process your source files by running TeX and related +tools (such as output filters, post processors for generating indices +and bibliographies, and viewers) from inside Emacs. AUCTeX lets you +browse through the errors TeX reported, while it moves the cursor +directly to the reported error, and displays some documentation for that +particular error. This will even work when the document is spread over +several files. + + One component of AUCTeX that LaTeX users will find attractive is +preview-latex, a combination of folding and in-source previewing that +provides true "What You See Is What You Get" experience in your +sourcebuffer, while letting you retain full control. + + More detailed information about the features and usage of AUCTeX can +be found in the remainder of this manual. + + AUCTeX is written entirely in Emacs Lisp, and hence you can easily +add new features for your own needs. It is a GNU project and +distributed under the 'GNU General Public License Version 3'. + + The most recent version is always available at +<https://ftp.gnu.org/pub/gnu/auctex/>. + + WWW users may want to check out the AUCTeX page at +<https://www.gnu.org/software/auctex/>. + + For comprehensive information about how to install AUCTeX *Note +Installation::, or *note Installation under MS Windows::, respectively. + + If you are considering upgrading AUCTeX, the recent changes are +described in *note Changes::. + + If you want to discuss AUCTeX with other users or its developers, +there are several mailing lists you can use. + + Send a mail with the subject "subscribe" to <auctex-request@gnu.org> +in order to join the general discussion list for AUCTeX. Articles +should be sent to <auctex@gnu.org>. In a similar way, you can subscribe +to the <info-auctex@gnu.org> list for just getting important +announcements about AUCTeX. The list <bug-auctex@gnu.org> is for bug +reports which you should usually file with the 'M-x +TeX-submit-bug-report <RET>' command. If you want to address the +developers of AUCTeX themselves with technical issues, they can be found +on the discussion list <auctex-devel@gnu.org>. + + +File: auctex.info, Node: Installation, Next: Quick Start, Prev: Summary, Up: Introduction + +1.2 Installing AUCTeX +===================== + +The modern and strongly recommended way of installing AUCTeX is by using +the Emacs package manager integrated in Emacs 24 and greater (ELPA). +Simply do 'M-x list-packages <RET>', mark the auctex package for +installation with 'i', and hit 'x' to execute the installation +procedure. That's all. + + 'use-package' users can use this simple recipe in their +'user-init-file' which essentially does the same as the manual +installation explained above. + + (use-package tex + :ensure auctex) + + Using the ELPA version has several advantages. Besides being +platform and OS independent, you will receive intermediate bugfix +releases between major AUCTeX releases conveniently. For past ELPA +releases, see <https://elpa.gnu.org/packages/auctex.html>. Once the +installation is completed, you can skip the rest of this section and +proceed to *note Quick Start::. + + The remainder of this section is about installing AUCTeX from a +release tarball or from a checkout of the AUCTeX repository. + + Installing AUCTeX should be simple: merely './configure', 'make', and +'make install' for a standard site-wide installation (most other +installations can be done by specifying a '--prefix=...' option). + + On many systems, this will already activate the package, making its +modes the default instead of the built-in modes of Emacs. If this is +not the case, consult *note Loading the package::. Please read through +this document fully before installing anything. The installation +procedure has changed as compared to earlier versions. Users of +MS Windows are asked to consult *Note Installation under MS Windows::. + +* Menu: + +* Prerequisites:: +* Configure:: +* Build/install and uninstall:: +* Loading the package:: +* Advice for package providers:: +* Advice for non-privileged users:: +* Installation under MS Windows:: +* Customizing:: + + +File: auctex.info, Node: Prerequisites, Next: Configure, Up: Installation + +1.2.1 Prerequisites +------------------- + + * GNU Emacs 25.1 or higher + + Using preview-latex requires a version of Emacs compiled with image + support. + + Windows + Precompiled versions are available from + <https://ftp.gnu.org/gnu/emacs/windows/>. + macOS + For an overview of precompiled versions of Emacs for macOS see + for example <https://www.emacswiki.org/emacs/EmacsForMacOS>. + GNU/Linux + Most GNU/Linux distributions nowadays provide a recent variant + of Emacs via their package repositories. + Self-compiled + Compiling Emacs yourself requires a C compiler and a number of + tools and development libraries. Details are beyond the scope + of this manual. Instructions for checking out the source code + can be found at <https://savannah.gnu.org/git/?group=emacs>. + + * A working TeX installation + + Well, AUCTeX would be pointless without that. Processing + documentation requires TeX, LaTeX and Texinfo during installation. + preview-latex requires Dvips or 'dvipng' for its operation in DVI + mode. The default configuration of AUCTeX is tailored for + TeX Live-based distributions, but can be adapted easily. + + * A recent Ghostscript + + This is needed for operation of preview-latex in both DVI and PDF + mode. Ghostscript version 7.07 or newer is required. + + * GNU make + + Recent AUCTeX uses GNU make specific capabilities in the Makefiles. + If your OS's default 'make' command is not GNU make, you have to + obtain it in order to build AUCTeX by yourself. GNU make is + sometimes provided under the name 'gmake' in your OS's binary + package system. + + * The Texinfo package + + Strictly speaking, you can get away without it if you are building + from the distribution tarball, have not modified any files and + don't need a printed version of the manual: the pregenerated info + file is included in the tarball. At least version 4.0 is required. + + For some known issues with various software, see *note +(preview-latex)Known problems::. + + +File: auctex.info, Node: Configure, Next: Build/install and uninstall, Prev: Prerequisites, Up: Installation + +1.2.2 Configure +--------------- + +The first step is to configure the source code, telling it where various +files will be. To do so, run + + ./configure OPTIONS + + (Note: if you have fetched AUCTeX from Git rather than a regular +release, you will have to first follow the instructions in +'README.GIT'). + + On many machines, you will not need to specify any options, but if +'configure' cannot determine something on its own, you'll need to help +it out with one of these options: + +'--prefix=PREFIX' + All automatic placements for package components will be chosen from + sensible existing hierarchies below this: directories like 'man', + 'share' and 'bin' are supposed to be directly below PREFIX. + + Only if no workable placement can be found there, in some cases an + alternative search will be made in a prefix deduced from a suitable + binary. + + '/usr/local' is the default PREFIX, intended to be suitable for a + site-wide installation. If you are packaging this as an operating + system component for distribution, the setting '/usr' will probably + be the right choice. See *note Advice for package providers:: for + detail. + + If you are planning to install the package as a single + non-priviledged user, you will typically set PREFIX to your home + directory. Consult *note Advice for non-privileged users:: for + addtional instructions. + +'--with-emacs=/PATH/TO/EMACS' + If you are using a pretest which isn't in your 'PATH', or + 'configure' is not finding the right Emacs executable, you can + specify it with this option. + +'--with-lispdir=LISPDIR' + This option specifies the location of the 'site-lisp' directory + within 'load-path' under which the files will get installed (the + bulk will get installed in a subdirectory). './configure' should + figure this out by itself. + +'--with-auctexstartfile=auctex.el' +'--with-previewstartfile=preview-latex.el' + This is the name of the respective startup files. If LISPDIR + contains a subdirectory 'site-start.d', the start files are placed + there, and 'site-start.el' should load them automatically. Please + be aware that you must not move the start files after installation + since other files are found _relative_ to them. + +'--with-packagelispdir=auctex' + This is the directory where the bulk of the package gets located. + The startfile adds this into 'load-path'. + +'--with-auto-dir=/DIR' + You can use this option to specify the directory containing + automatically generated information by 'M-x + TeX-auto-generate-global <RET>'. It is not necessary for most TeX + installs, but may be used if you don't like the directory that + configure is suggesting. + +'--help' + This is not an option specific to AUCTeX. A number of standard + options to 'configure' exist, and we do not have the room to + describe them here; a short description of each is available, using + '--help'. + +'--disable-preview' + This disables configuration and installation of preview-latex. + This option is not actually recommended. If your Emacs does not + support images, you should really upgrade to a newer version. + Distributors should, if possible, refrain from distributing AUCTeX + and preview-latex separately in order to avoid confusion and + upgrade hassles if users install partial packages on their own. + +'--with-texmf-dir=/DIR' +'--without-texmf-dir' + This option is used for specifying a TDS-compliant directory + hierarchy. Using '--with-texmf-dir=/DIR' you can specify where the + TeX TDS directory hierarchy resides, and the TeX files will get + installed in '/DIR/tex/latex/preview/'. + + If you use the '--without-texmf-dir' option, the TeX-related files + will be kept in the Emacs Lisp tree, and at runtime the 'TEXINPUTS' + environment variable will be made to point there. You can install + those files into your own TeX tree at some later time with 'M-x + preview-install-styles <RET>'. + +'--with-tex-dir=/DIR' + If you want to specify an exact directory for the preview TeX + files, use '--with-tex-dir=/DIR'. In this case, the files will be + placed in '/DIR', and you'll also need the following option: + +'--with-doc-dir=/DIR' + This option may be used to specify where the TeX documentation + goes. It is to be used when you are using '--with-tex-dir=/DIR', + but is normally not necessary otherwise. + + +File: auctex.info, Node: Build/install and uninstall, Next: Loading the package, Prev: Configure, Up: Installation + +1.2.3 Build/install and uninstall +--------------------------------- + +Once 'configure' has been run, simply enter + + make + +at the prompt to byte-compile the lisp files, extract the TeX files and +build the documentation files. To install the files into the locations +chosen earlier, type + + make install + +You may need special privileges to install, e.g., if you are installing +into system directories. + + Should you want to completely remove the installed package, in the +same directory you built AUCTeX run + + make uninstall + +You will need administration privileges if you installed the package +into system directories. + + +File: auctex.info, Node: Loading the package, Next: Advice for package providers, Prev: Build/install and uninstall, Up: Installation + +1.2.4 Loading the package +------------------------- + +You can detect the successful activation of AUCTeX and preview-latex in +the menus after loading a LaTeX file like 'circ.tex': AUCTeX then gives +you a 'Command' menu, and preview-latex gives you a 'Preview' menu. + + With Emacs (or if you explicitly disabled use of the package system), +the startup files 'auctex.el' and 'preview-latex.el' may already be in a +directory of the 'site-start.d/' variety if your Emacs installation +provides it. In that case they should be automatically loaded on +startup and nothing else needs to be done. If not, they should at least +have been placed somewhere in your 'load-path'. You can then load them +by placing the lines + + (load "auctex.el" nil t t) + (load "preview-latex.el" nil t t) +into your init file such as 'init.el' or '.emacs'. + + If you explicitly used '--with-lispdir', you may need to add the +specified directory into Emacs' 'load-path' variable by adding something +like + + (add-to-list 'load-path "~/elisp") +before the above lines into your Emacs startup file. + + For site-wide activation in GNU Emacs, see *Note Advice for package +providers::. + + Once activated, the modes provided by AUCTeX are used per default for +all supported file types. If you want to change the modes for which it +is operative instead of the default, use + M-x customize-option <RET> TeX-modes <RET> + + If you want to remove a preinstalled AUCTeX completely before any of +its modes have been used, + (unload-feature 'tex-site) +should accomplish that. + + +File: auctex.info, Node: Advice for package providers, Next: Advice for non-privileged users, Prev: Loading the package, Up: Installation + +1.2.5 Providing AUCTeX as a package +----------------------------------- + +As a package provider, you should make sure that your users will be +served best according to their intentions, and keep in mind that a +system might be used by more than one user, with different preferences. + + There are people that prefer the built-in Emacs modes for editing TeX +files, in particular plain TeX users. There are various ways to tell +AUCTeX even after auto-activation that it should not get used, and they +are described in *note Introduction to AUCTeX: Introduction. + + So if you have users that don't want to use the preinstalled AUCTeX, +they can easily get rid of it. Activating AUCTeX by default is +therefore a good choice. + + If the installation procedure did not achieve this already by placing +'auctex.el' and 'preview-latex.el' into a possibly existing +'site-start.d' directory, you can do this by placing + + (load "auctex.el" nil t t) + (load "preview-latex.el" nil t t) + +in the system-wide 'site-start.el'. + + The '--without-texmf-dir' option can be convenient for systems that +are intended to support more than a single TeX distribution. Since more +often than not TeX packages for operating system distributions are +either much more outdated or much less complete than separately provided +systems like TeX Live, this method may be generally preferable when +providing packages. + + The following package structure would be adequate for a typical fully +supported Unix-like installation: + +'preview-tetex' + Style files and documentation for 'preview.sty', placed into a TeX + tree where it is accessible from the teTeX executables usually + delivered with a system. If there are other commonly used TeX + system packages, it might be appropriate to provide separate + packages for those. +'auctex-emacs-tetex' + This package will require the installation of 'preview-tetex' and + will record in 'TeX-macro-global' where to find the TeX tree. It + is also a good idea to run + emacs -batch -f TeX-auto-generate-global + when either AUCTeX or teTeX get installed or upgraded. If your + users might want to work with a different TeX distribution + (nowadays pretty common), instead consider the following: +'auctex-emacs' + This package will be compiled with '--without-texmf-dir' and will + consequently contain the 'preview' style files in its private + directory. It will probably not be possible to initialize + 'TeX-macro-global' to a sensible value, so running + 'TeX-auto-generate-global' does not appear useful. This package + would neither conflict with nor provide 'preview-tetex'. + + +File: auctex.info, Node: Advice for non-privileged users, Next: Installation under MS Windows, Prev: Advice for package providers, Up: Installation + +1.2.6 Installation for non-privileged users +------------------------------------------- + +Often people without system administration privileges want to install +software for their private use. In that case you need to pass more +options to the 'configure' script. + + The main expedient is using the '--prefix' option to the 'configure' +script, and let it point to the personal home directory. In that way, +resulting binaries will be installed under the 'bin' subdirectory of +your home directory, manual pages under 'man' and so on. It is +reasonably easy to maintain a bunch of personal software, since the +prefix argument is supported by most 'configure' scripts. + + You often need to specify '--with-lispdir' option as well. If you +haven't installed Emacs under your home directory and use Emacs +installed in system directories, the 'configure' script might not be +able to figure out suitable place to install lisp files under your home +directory. In that case, the 'configure' script would silently choose, +by default, the 'site-lisp' directory within 'load-path' for the place, +where administration privileges are usually required to put relevant +files. Thus you will have to tell the 'configure' script explicitly +where to put those files by, e.g., +'--with-lispdir='/home/myself/share/emacs/site-lisp''. + + You'll have to add something like +'/home/myself/share/emacs/site-lisp' to your 'load-path' variable, if it +isn't there already. + + In addition, you will have to tell 'configure' script where to +install TeX-related files such as 'preview.sty' if preview-latex isn't +disabled. It is enough to specify '--with-texmf-dir=$HOME/texmf' for +most typical cases, but you have to create the direcotry '$HOME/texmf' +in advance if it doesn't exist. If this prescription doesn't work, +consider using one or more of the options '--with-texmf-dir=/DIR', +'--without-texmf-dir', '--with-tex-dir=/DIR' and '--with-doc-dir=/DIR'. +See *note Configure:: for detail of these options. + + Now here is another thing to ponder: perhaps you want to make it easy +for other users to share parts of your personal Emacs configuration. In +general, you can do this by writing '~myself/' anywhere where you +specify paths to something installed in your personal subdirectories, +not merely '~/', since the latter, when used by other users, will point +to non-existent files. + + For yourself, it will do to manipulate environment variables in your +'.profile' resp. '.login' files. But if people will be copying just +Elisp files, their copies will not work. While it would in general be +preferable if the added components where available from a shell level, +too (like when you call the standalone info reader, or try using +'preview.sty' for functionality besides of Emacs previews), it will be a +big help already if things work from inside of Emacs. + + Here is how to do the various parts: + +Making the Elisp available +.......................... + +In GNU Emacs, it should be sufficient if people just do + + (load "~myself/share/emacs/site-lisp/auctex.el" nil t t) + (load "~myself/share/emacs/site-lisp/preview-latex.el" nil t t) +where the path points to your personal installation. The rest of the +package should be found relative from there without further ado. + +Making the Info files available +............................... + +For making the info files accessible from within Elisp, something like +the following might be convenient to add into your or other people's +startup files: + + (eval-after-load 'info + '(add-to-list 'Info-directory-list "~myself/info")) + +Making the LaTeX style available +................................ + +If you want others to be able to share your installation, you should +configure it using '--without-texmf-dir', in which case things should +work as well for them as for you. + +1.2.6.1 Using AUCTeX from local Git repo +........................................ + +With the techniques described above, it is also possible to use AUCTeX +directly from a local Git repository. Let's assume you have your Git +repositories under '~/development/'. + + First, you have to fetch a copy of the AUCTeX Git repository. In a +shell, change directory to '~/development/' and do: + git clone https://git.savannah.gnu.org/git/auctex.git + + Now change directory to '~/development/auctex' and run +'./autogen.sh'. Next thing is to run 'configure' like this: + ./configure --without-texmf-dir --with-lispdir=. + +When finished, simply enter + make +and you're finished. Note that the 'make install' step is not +necessary. + + Now you have to tell Emacs about the plan. The following variables +must be set in your init file because their normal values are only +correct when AUCTeX is installed: + (setq TeX-data-directory "~/development/auctex" + TeX-lisp-directory TeX-data-directory) + +The info files will be available with this: + (eval-after-load 'info + '(add-to-list 'Info-additional-directory-list + "~/development/auctex/doc")) + +Now you're ready to load 'auctex.el' and 'preview-latex.el' out of this +directory: + (load "~/development/auctex/auctex.el" nil t t) + (load "~/development/auctex/preview-latex.el" nil t t) + + +File: auctex.info, Node: Installation under MS Windows, Next: Customizing, Prev: Advice for non-privileged users, Up: Installation + +1.2.7 Installation under MS Windows +----------------------------------- + +In a Nutshell +............. + +The following are brief installation instructions for the impatient. In +case you don't understand some of this, run into trouble of some sort, +or need more elaborate information, refer to the detailed instructions +further below. + + 1. Install the prerequisites, i.e. GNU Emacs, MSYS or Cygwin, a TeX + system, and Ghostscript. + + 2. Open the MSYS shell or a Cygwin shell and change to the directory + containing the unzipped file contents. + + 3. Configure AUCTeX: + + For Emacs: Many people like to install AUCTeX into the pseudo file + system hierarchy set up by the Emacs installation. Assuming Emacs + is installed in 'C:/Program Files/Emacs' and the directory for + local additions of your TeX system, e.g. MiKTeX, is + 'C:/localtexmf', you can do this by typing the following statement + at the shell prompt: + + ./configure --prefix='C:/Program Files/Emacs' \ + --infodir='C:/Program Files/Emacs/info' \ + --with-texmf-dir='C:/localtexmf' + + The commands above is example for common usage. More on + configuration options can be found in the detailed installation + instructions below. + + If the configuration script failed to find all required programs, + make sure that these programs are in your system path and add + directories containing the programs to the 'PATH' environment + variable if necessary. Here is how to do that in W2000/XP: + + 1. On the desktop, right click "My Computer" and select + properties. + 2. Click on "Advanced" in the "System Properties" window. + 3. Select "Environment Variables". + 4. Select "path" in "System Variables" and click "edit". Move to + the front in the line (this might require scrolling) and add + the missing path including drive letter, ended with a + semicolon. + + 4. If there were no further error messages, type + + make + + In case there were, please refer to the detailed description below. + + 5. Finish the installation by typing + + make install + +Detailed Installation Instructions +.................................. + +Installation of AUCTeX under Windows is in itself not more complicated +than on other platforms. However, meeting the prerequisites might +require more work than on some other platforms, and feel less natural. + + If you are experiencing any problems, even if you think they are of +your own making, be sure to report them to <auctex-devel@gnu.org> so +that we can explain things better in future. + + Windows is a problematic platform for installation scripts. The main +problem is that the installation procedure requires consistent file +names in order to find its way in the directory hierarchy, and Windows +path names are a mess. + + The installation procedure tries finding stuff in system search paths +and in Emacs paths. For that to succeed, you have to use the same +syntax and spelling and case of paths everywhere: in your system search +paths, in Emacs' 'load-path' variable, as argument to the scripts. If +your path names contain spaces or other 'shell-unfriendly' characters, +most notably backslashes for directory separators, place the whole path +in '"double quote marks"' whenever you specify it on a command line. + + Avoid 'helpful' magic file names like '/cygdrive/c' and +'C:\PROGRA~1\' like the plague. It is quite unlikely that the scripts +will be able to identify the actual file names involved. Use the full +paths, making use of normal Windows drive letters like ' 'C:/Program +Files/Emacs' ' where required, and using the same combination of upper- +and lowercase letters as in the actual files. File names containing +shell-special characters like spaces or backslashes (if you prefer that +syntax) need to get properly quoted to the shell: the above example used +single quotes for that. + + Ok, now here are the steps to perform: + + 1. You need to unpack the AUCTeX distribution (which you seemingly + have done since you are reading this). It must be unpacked in a + separate installation directory outside of your Emacs file + hierarchy: the installation will later copy all necessary files to + their final destination, and you can ultimately remove the + directory where you unpacked the files. + + Line endings are a problem under Windows. The distribution + contains only text files, and theoretically most of the involved + tools should get along with that. However, the files are processed + by various utilities, and it is conceivable that not all of them + will use the same line ending conventions. If you encounter + problems, it might help if you try unpacking (or checking out) the + files in binary mode, if your tools allow that. + + If you don't have a suitable unpacking tool, skip to the next step: + this should provide you with a working 'unzip' command. + + 2. The installation of AUCTeX will require the MSYS tool set from + <http://www.mingw.org/> or the Cygwin tool set from + <https://cygwin.com/>. The latter is slower and larger (the + download size of the base system is about 15 MB) but comes with a + package manager that allows for updating the tool set and + installing additional packages like, for example, the spell checker + aspell. + + If Cygwin specific paths like '/cygdrive/c' crop up in the course + of the installation, using a non-Cygwin Emacs could conceivably + cause trouble. Using Cygwin either for everything or nothing might + save headaches, _if_ things don't work out. + + 3. Install a current version of Emacs from + <https://ftp.gnu.org/gnu/emacs/windows/>. + + 4. You need a working TeX installation. One popular installation + under Windows is MiKTeX (https://miktex.org/). Another much more + extensive system is TeX Live (https://www.tug.org/texlive/) which + is rather close to its Unix cousins. + + 5. A working copy of Ghostscript (https://www.ghostscript.com/) is + required for preview-latex operation. Examining the output from + gswin32c -h + on a Windows command line should tell you whether your Ghostscript + supports the 'png16m' device needed for PNG support. MiKTeX + apparently comes with its own Ghostscript called 'mgs.exe'. + + 6. Perl (https://www.perl.org/) is needed for rebuilding the + documentation if you are working with a copy from Git or have + touched documentation source files in the preview-latex part. If + the line endings of the file 'preview/latex/preview.dtx' don't + correspond with what Perl calls '\n' when reading text files, + you'll run into trouble. + + 7. Now the fun stuff starts. If you have not yet done so, unpack the + AUCTeX distribution into a separate directory after rereading the + instructions for unpacking above. + + 8. Ready for takeoff. Start some shell (typically 'bash') capable of + running 'configure', change into the installation directory and + call './configure' with appropriate options. + + Typical options you'll want to specify will be + '--prefix=DRIVE:/PATH/TO/EMACS-HIERARCHY' + which tells 'configure' where to perform the installation. It + may also make 'configure' find Emacs automatically; if this + doesn't happen, try '--with-emacs' as described below. All + automatic detection of files and directories restricts itself + to directories below the PREFIX or in the same hierarchy as + the program accessing the files. Usually, directories like + 'man', 'share' and 'bin' will be situated right under PREFIX. + + This option also affects the defaults for placing the Texinfo + documentation files (see also '--infodir' below) and + automatically generated style hooks. + + If you have a central directory hierarchy (not untypical with + Cygwin) for such stuff, you might want to specify its root + here. You stand a good chance that this will be the only + option you need to supply, as long as your TeX-related + executables are in your system path, which they better be for + AUCTeX's operation, anyway. + + '--with-emacs' + if you are installing for a version of Emacs. You can use + '--with-emacs=DRIVE:/PATH/TO/EMACS' to specify the name of the + installed Emacs executable, complete with its path if + necessary (if Emacs is not within a directory specified in + your 'PATH' environment setting). + + '--with-lispdir=DRIVE:/PATH/TO/SITE-LISP' + This option tells a place in 'load-path' below which the files + are situated. The startup files 'auctex.el' and + 'preview-latex.el' will get installed here unless a + subdirectory 'site-start.d' exists which will then be used + instead. The other files from AUCTeX will be installed in a + subdirectory called 'auctex'. + + If you think that you need a different setup, please refer to + the full installation instructions in *note Configure::. + + '--infodir=DRIVE:/PATH/TO/INFO/DIRECTORY' + If you are installing into an Emacs directory, info files have + to be put into the 'info' folder below that directory. The + configuration script will usually try to install into the + folder 'share/info', so you have to override this by + specifying something like '--infodir='C:/Program Files/info'' + for the configure call. + + '--with-auto-dir=DRIVE:/DIR' + Directory containing automatically generated information. You + should not normally need to set this, as '--prefix' should + take care of this. + + '--disable-preview' + Use this option if your Emacs version is unable to support + image display. + + '--with-texmf-dir=DRIVE:/DIR' + This will specify the directory where your TeX installation + sits. If your TeX installation does not conform to the TDS + (TeX directory standard), you may need to specify more options + to get everything in place. + + For more information about any of the above and additional options, + see *note Configure::. + + Some executables might not be found in your path. That is not a + good idea, but you can get around by specifying environment + variables to 'configure': + GS="DRIVE:/PATH/TO/GSWIN32C.EXE" ./configure ... + should work for this purpose. 'gswin32c.exe' is the usual name for + the required _command line_ executable under Windows; in contrast, + 'gswin32.exe' is likely to fail. + + As an alternative to specifying variables for the 'configure' call + you can add directories containing the required executables to the + 'PATH' variable of your Windows system. This is especially a good + idea if Emacs has trouble finding the respective programs later + during normal operation. + + 9. Run 'make' in the installation directory. + + 10. Run 'make install' in the installation directory. + + 11. With Emacs, activation of AUCTeX and preview-latex depends on a + working 'site-start.d' directory or similar setup, since then the + startup files 'auctex.el' and 'preview-latex.el' will have been + placed there. If this has not been done, you should be able to + load the startup files manually with + (load "auctex.el" nil t t) + (load "preview-latex.el" nil t t) + in either a site-wide 'site-start.el' or your personal startup file + (usually accessible as '~/.emacs' or '~/.emacs.d/init.el' from + within Emacs). + + The default configuration of AUCTeX is probably not the best fit + for Windows systems with MiKTeX. You might want to add + (require 'tex-mik) + after loading 'auctex.el' and 'preview-latex.el' in order to get + more appropriate values for some customization options. + + You can always use + + M-x customize-group <RET> AUCTeX <RET> + + in order to customize more stuff, or use the 'Customize' menu. + + 12. Load 'circ.tex' into Emacs and see if you get the 'Command' menu. + Try using it to LaTeX the file. + + 13. Check whether the 'Preview' menu is available in this file. Use + it to generate previews for the document. + + If this barfs and tells you that image type 'png' is not supported, + you can either add PNG support to your Emacs installation or choose + another image format to be used by preview-latex. + + Adding support for an image format usually involves the + installation of a library, e.g. from <http://gnuwin32.sf.net/>. If + you got your Emacs from <https://www.gnu.org/> you might want to + check its README file + (https://ftp.gnu.org/gnu/emacs/windows/README) for details. + + A different image format can be chosen by setting the variable + 'preview-image-type'. While it is recommended to keep the 'dvipng' + or 'png' setting, you can temporarily select a different format + like 'pnm' to check if the lack of PNG support is the only problem + with your Emacs installation. + + Try adding the line + + (setq preview-image-type 'pnm) + + to your init file for a quick test. You should remove the line + after the test again, because PNM files take away *vast* amounts of + disk space, and thus also of load/save time. + + Well, that about is all. Have fun! + + +File: auctex.info, Node: Customizing, Prev: Installation under MS Windows, Up: Installation + +1.2.8 Customizing +----------------- + +Most of the site-specific customization should already have happened +during configuration of AUCTeX. Any further customization can be done +with customization buffers directly in Emacs. Just type 'M-x +customize-group <RET> AUCTeX <RET>' to open the customization group for +AUCTeX or use the menu entries provided in the mode menus. Editing the +file 'tex-site.el' as suggested in former versions of AUCTeX should not +be done anymore because the installation routine will overwrite those +changes. + + You might check some options with a special significance. They are +accessible directly by typing 'M-x customize-option <RET> <option> +<RET>'. + + -- User Option: TeX-macro-global + Directories containing the site's TeX style files. + + Normally, AUCTeX will only allow you to complete macros and +environments which are built-in, specified in AUCTeX style files or +defined by yourself. If you issue the 'M-x TeX-auto-generate-global' +command after loading AUCTeX, you will be able to complete on all macros +available in the standard style files used by your document. To do +this, you must set this variable to a list of directories where the +standard style files are located. The directories will be searched +recursively, so there is no reason to list subdirectories explicitly. +Automatic configuration will already have set the variable for you if it +could use the program 'kpsewhich'. In this case you normally don't have +to alter anything. + + +File: auctex.info, Node: Quick Start, Prev: Installation, Up: Introduction + +1.3 Quick Start +=============== + +AUCTeX is a powerful program offering many features and configuration +options. If you are new to AUCTeX this might be deterrent. Fortunately +you do not have to learn everything at once. This Quick Start Guide +will give you the knowledge of the most important commands and enable +you to prepare your first LaTeX document with AUCTeX after only a few +minutes of reading. + + In this introduction, we assume that AUCTeX is already installed on +your system. If this is not the case, you should read the file +'INSTALL' in the base directory of the unpacked distribution tarball. +These installation instructions are available in this manual as well, +*note Installation::. We also assume that you are familiar with the way +keystrokes are written in Emacs manuals. If not, have a look at the +Emacs Tutorial in the Help menu. + + If AUCTeX is installed in any other way than from the Emacs package +manager (ELPA), you might still need to activate it, by inserting + + (load "auctex.el" nil t t) +in your user init file.(1) + + If AUCTeX is installed from ELPA, the installation procedure already +cares about loading AUCTeX correctly and you *must not* have the line +above in your init file. Note that this also applies if you have the +following line in your init file + + (package-initialize) + + In order to get support for many of the LaTeX packages you will use +in your documents, you should enable document parsing as well, which can +be achieved by putting + + (setq TeX-auto-save t) + (setq TeX-parse-self t) +into your init file. Finally, if you often use '\include' or '\input', +you should make AUCTeX aware of the multifile document structure. You +can do this by inserting + + (setq-default TeX-master nil) + + into your init file. Each time you open a new file, AUCTeX will then +ask you for a master file. + +* Menu: + +* Editing Facilities:: Functions for editing TeX files +* Processing Facilities:: Creating and viewing output, debugging + + ---------- Footnotes ---------- + + (1) This usually is a file in your home directory called '.emacs', or +'.emacs.d/init.el'. + + +File: auctex.info, Node: Editing Facilities, Next: Processing Facilities, Up: Quick Start + +1.3.1 Functions for editing TeX files +------------------------------------- + +1.3.1.1 Making your TeX code more readable +.......................................... + +AUCTeX can do syntax highlighting of your source code, that means +commands will get special colors or fonts. This is enabled by default. +You can disable it locally by typing 'M-x font-lock-mode <RET>'. + + AUCTeX will indent new lines to indicate their syntactical +relationship to the surrounding text. For example, the text of a +'\footnote' or text inside of an environment will be indented relative +to the text around it. If the indenting has gotten wrong after adding +or deleting some characters, use <TAB> to reindent the line, 'M-q' for +the whole paragraph, or 'M-x LaTeX-fill-buffer <RET>' for the whole +buffer. + +1.3.1.2 Entering sectioning commands +.................................... + +Insertion of sectioning macros, that is '\chapter', '\section', +'\subsection', etc. and accompanying '\label' commands may be eased by +using 'C-c C-s'. You will be asked for the section level. As nearly +everywhere in AUCTeX, you can use the <TAB> or <SPC> key to get a list +of available level names, and to auto-complete what you started typing. +Next, you will be asked for the printed title of the section, and last +you will be asked for a label to be associated with the section. + +1.3.1.3 Inserting environments +.............................. + +Similarly, you can insert environments, that is '\begin{}'-'\end{}' +pairs: Type 'C-c C-e', and select an environment type. Again, you can +use <TAB> or <SPC> to get a list, and to complete what you type. +Actually, the list will not only provide standard LaTeX environments, +but also take your '\documentclass' and '\usepackage' commands into +account if you have parsing enabled by setting 'TeX-parse-self' to 't'. +If you use a couple of environments frequently, you can use the <up> and +<down> arrow keys (or 'M-p' and 'M-n') in the minibuffer to get back to +the previously inserted commands. + + Some environments need additional arguments. Often, AUCTeX knows +about this and asks you to enter a value. + +1.3.1.4 Inserting macros +........................ + +'C-c C-m', or simply 'C-c RET' will give you a prompt that asks you for +a LaTeX macro. You can use <TAB> for completion, or the <up>/<down> +arrow keys (or 'M-p' and 'M-n') to browse the command history. In many +cases, AUCTeX knows which arguments a macro needs and will ask you for +that. It even can differentiate between mandatory and optional +arguments--for details, see *note Completion::. + + An additional help for inserting macros is provided by the +possibility to complete macros right in the buffer. With point at the +end of a partially written macro, you can complete it by typing +'M-<TAB>'. + +1.3.1.5 Changing the font +......................... + +AUCTeX provides convenient keyboard shortcuts for inserting macros which +specify the font to be used for typesetting certain parts of the text. +They start with 'C-c C-f', and the last 'C-' combination tells AUCTeX +which font you want: + +'C-c C-f C-b' + Insert bold face '\textbf{-!-}' text. + +'C-c C-f C-i' + Insert italics '\textit{-!-}' text. + +'C-c C-f C-e' + Insert _emphasized_ '\emph{-!-}' text. + +'C-c C-f C-s' + Insert slanted '\textsl{-!-}' text. + +'C-c C-f C-r' + Insert roman '\textrm{-!-}' text. + +'C-c C-f C-f' + Insert sans serif '\textsf{-!-}' text. + +'C-c C-f C-t' + Insert typewriter '\texttt{-!-}' text. + +'C-c C-f C-c' + Insert SMALL CAPS '\textsc{-!-}' text. + +'C-c C-f C-d' + Delete the innermost font specification containing point. + + If you want to change font attributes of existing text, mark it as an +active region, and then invoke the commands. If no region is selected, +the command will be inserted with empty braces, and you can start typing +the changed text. + + Most of those commands will also work in math mode, but then macros +like '\mathbf' will be inserted. + +1.3.1.6 Other useful features +............................. + +AUCTeX also tries to help you when inserting the right "quote" signs for +your language, dollar signs to typeset math, or pairs of braces. It +offers shortcuts for commenting out text ('C-c ;' for the current region +or 'C-c %' for the paragraph you are in). The same keystrokes will +remove the % signs, if the region or paragraph is commented out yet. +With 'TeX-fold-mode', you can hide certain parts (like footnotes, +references etc.) that you do not edit currently. Support for Emacs' +outline mode is provided as well. And there's more, but this is beyond +the scope of this Quick Start Guide. + + +File: auctex.info, Node: Processing Facilities, Prev: Editing Facilities, Up: Quick Start + +1.3.2 Creating and viewing output, debugging +-------------------------------------------- + +1.3.2.1 One Command for LaTeX, helpers, viewers, and printing +............................................................. + +If you have typed some text and want to run LaTeX (or TeX, or other +programs--see below) on it, type 'C-c C-c'. If applicable, you will be +asked whether you want to save changes, and which program you want to +invoke. In many cases, the choice that AUCTeX suggests will be just +what you want: first 'latex', then a viewer. If a 'latex' run produces +or changes input files for 'makeindex', the next suggestion will be to +run that program, and AUCTeX knows that you need to run 'latex' again +afterwards--the same holds for BibTeX. + + When no processor invocation is necessary anymore, AUCTeX will +suggest to run a viewer, or you can chose to create a PostScript file +using 'dvips', or to directly print it. + + Actually, there is another command which comes in handy to compile +documents: type 'C-c C-a' ('TeX-command-run-all') and AUCTeX will +compile the document for you until it is ready and then run the viewer. +This is the same as issuing repeatedly 'C-c C-c' and letting AUCTeX +guess the next command to run. + + At this place, a warning needs to be given: First, although AUCTeX is +really good in detecting the standard situations when an additional +'latex' run is necessary, it cannot detect it always. Second, the +creation of PostScript files or direct printing currently only works +when your output file is a DVI file, not a PDF file. + + Ah, you didn't know you can do both? That brings us to the next +topic. + +1.3.2.2 Choosing an output format +................................. + +From a LaTeX file, you can produce DVI output, or a PDF file directly +via 'pdflatex'. You can switch on source specials for easier navigation +in the output file, or tell 'latex' to stop after an error (usually +'--noninteractive' is used, to allow you to detect all errors in a +single run). + + These options are controlled by toggles, the keystrokes should be +easy to memorize: + +'C-c C-t C-p' + This command toggles between DVI and PDF output + +'C-c C-t C-i' + toggles interactive mode + +'C-c C-t C-s' + toggles SyncTeX (or source specials) support + +'C-c C-t C-o' + toggles usage of Omega/lambda. + + There is also another possibility: compile the document with 'tex' +(or 'latex') and then convert the resulting DVI file to PDF using +'dvips'-'ps2pdf' sequence or 'dvipdfmx' command. If you want to go by +this route, customize 'TeX-PDF-from-DVI' option. Then AUCTeX will +suggest you to run the appropriate command when you type 'C-C C-c'. For +details, see *note Processor Options::. + +1.3.2.3 Debugging LaTeX +....................... + +When AUCTeX runs a program, it creates an output buffer in which it +displays the output of the command. If there is a syntactical error in +your file, 'latex' will not complete successfully. AUCTeX will tell you +that, and you can get to the place where the first error occured by +pressing 'C-c `' (the last character is a backtick). The view will be +split in two windows, the output will be displayed in the lower buffer, +and both buffers will be centered around the place where the error +ocurred. You can then try to fix it in the document buffer, and use the +same keystrokes to get to the next error. This procedure may be +repeated until all errors have been dealt with. By pressing 'C-c C-w' +('TeX-toggle-debug-boxes') you can toggle whether AUCTeX should notify +you of overfull and underfull boxes in addition to regular errors. + + Issue 'M-x TeX-error-overview <RET>' to see a nicely formatted list +of all errors and warnings reported by the compiler. + + If a command got stuck in a seemingly infinite loop, or you want to +stop execution for other reasons, you can use 'C-c C-k' (for "kill"). +Similar to 'C-l', which centers the buffer you are in around your +current position, 'C-c C-l' centers the output buffer so that the last +lines added at the bottom become visible. + +1.3.2.4 Running LaTeX on parts of your document +............................................... + +If you want to check how some part of your text looks like, and do not +want to wait until the whole document has been typeset, then mark it as +a region and use 'C-c C-r'. It behaves just like 'C-c C-c', but it only +uses the document preamble and the region you marked. + + If you are using '\include' or '\input' to structure your document, +try 'C-c C-b' while you are editing one of the included files. It will +run 'latex' only on the current buffer, using the preamble from the +master file. + + +File: auctex.info, Node: Editing, Next: Display, Prev: Introduction, Up: Top + +2 Editing the Document Source +***************************** + +The most commonly used commands/macros of AUCTeX are those which simply +insert templates for often used TeX, LaTeX, or ConTeXt constructs, like +font changes, handling of environments, etc. These features are very +simple, and easy to learn, and help you avoid mistakes like mismatched +braces, or '\begin{}'-'\end{}' pairs. + + Apart from that this chapter contains a description of some features +for entering more specialized sorts of text, for formatting the source +by indenting and filling and for navigating through the document. + +* Menu: + +* Quotes:: Inserting quotes, dollars, and braces +* Font Specifiers:: Inserting Font Specifiers +* Sectioning:: Inserting chapters, sections, etc. +* Environments:: Inserting Environment Templates +* Mathematics:: Entering Mathematics +* Completion:: Completion of macros +* Marking:: Marking Environments, Sections, or Texinfo Nodes +* Commenting:: Commenting text +* Indenting:: Reflecting syntactic constructs with whitespace +* Filling:: Automatic and manual line breaking + + +File: auctex.info, Node: Quotes, Next: Font Specifiers, Up: Editing + +2.1 Insertion of Quotes, Dollars, and Braces +============================================ + +Quotation Marks +--------------- + +In TeX, literal double quotes '"like this"' are seldom used, instead two +single quotes are used '``like this'''. To help you insert these +efficiently, AUCTeX allows you to continue to press '"' to insert two +single quotes. To get a literal double quote, press '"' twice. + + -- Command: TeX-insert-quote COUNT + ('"') Insert the appropriate quote marks for TeX. + + Inserts the value of 'TeX-open-quote' (normally '``') or + 'TeX-close-quote' (normally '''') depending on the context. With + prefix argument, always inserts '"' characters. + + -- User Option: TeX-open-quote + String inserted by typing '"' to open a quotation. (*Note + European::, for language-specific quotation mark insertion.) + + -- User Option: TeX-close-quote + String inserted by typing '"' to close a quotation. (*Note + European::, for language-specific quotation mark insertion.) + + -- User Option: TeX-quote-after-quote + Determines the behavior of '"'. If it is non-nil, typing '"' will + insert a literal double quote. The respective values of + 'TeX-open-quote' and 'TeX-close-quote' will be inserted after + typing '"' once again. + + The 'babel' package provides special support for the requirements of +typesetting quotation marks in many different languages. If you use +this package, either directly or by loading a language-specific style +file, you should also use the special commands for quote insertion +instead of the standard quotes shown above. AUCTeX is able to recognize +several of these languages and will change quote insertion accordingly. +*Note European::, for details about this feature and how to control it. + + In case you are using the 'csquotes' package, you should customize +'LaTeX-csquotes-open-quote', 'LaTeX-csquotes-close-quote' and +'LaTeX-csquotes-quote-after-quote'. The quotation characters will only +be used if both variables--'LaTeX-csquotes-open-quote' and +'LaTeX-csquotes-close-quote'--are non-empty strings. But then the +'csquotes'-related values will take precedence over the +language-specific ones. + +Dollar Signs +------------ + +In AUCTeX, dollar signs should match like they do in TeX. This has been +partially implemented, we assume dollar signs always match within a +paragraph. By default, the first '$' you insert in a paragraph will do +nothing special. The second '$' will match the first. This will be +indicated by moving the cursor temporarily over the first dollar sign. + + -- Command: TeX-insert-dollar ARG + ('$') Insert dollar sign. + + Show matching dollar sign if this dollar sign end the TeX math + mode. + + With optional ARG, insert that many dollar signs. + + TeX and LaTeX users often look for a way to insert inline equations +like '$...$' or '\(...\)' simply typing '$'. AUCTeX helps them through +the customizable variable 'TeX-electric-math'. + + -- User Option: TeX-electric-math + If the variable is non-nil and you type '$' outside math mode, + AUCTeX will automatically insert the opening and closing symbols + for an inline equation and put the point between them. The opening + symbol will blink when 'blink-matching-paren' is non-nil. If + 'TeX-electric-math' is nil, typing '$' simply inserts '$' at point, + this is the default. + + Besides 'nil', possible values for this variable are '(cons "$" + "$")' for TeX inline equations '$...$', and '(cons "\\(" "\\)")' + for LaTeX inline equations '\(...\)'. + + If the variable is non-nil and point is inside math mode right + between a couple of single dollars, pressing '$' will insert + another pair of dollar signs and leave the point between them. + Thus, if 'TeX-electric-math' is set to '(cons "$" "$")' you can + easily obtain a TeX display equation '$$...$$' by pressing '$' + twice in a row. (Note that you should not use double dollar signs + in LaTeX because this practice can lead to wrong spacing in typeset + documents.) + + In addition, when the variable is non-nil and there is an active + region outside math mode, typing '$' will put around the active + region symbols for opening and closing inline equation and keep the + region active, leaving point after the closing symbol. By pressing + repeatedly '$' while the region is active you can toggle between an + inline equation, a display equation, and no equation. To be + precise, '$...$' is replaced by '$$...$$', whereas '\(...\)' is + replaced by '\[...\]'. + + If you want to automatically insert '$...$' in plain TeX files, and +'\(...\)' in LaTeX files by pressing '$', add the following to your init +file + (add-hook 'plain-TeX-mode-hook + (lambda () (set (make-local-variable 'TeX-electric-math) + (cons "$" "$")))) + (add-hook 'LaTeX-mode-hook + (lambda () (set (make-local-variable 'TeX-electric-math) + (cons "\\(" "\\)")))) + + Note that Texinfo mode does nothing special for '$'. It inserts +dollar sign(s) just in the same way as the other normal keys do. + +Braces +------ + +To avoid unbalanced braces, it is useful to insert them pairwise. You +can do this by typing 'C-c {'. + + -- Command: TeX-insert-braces + ('C-c {') Make a pair of braces and position the cursor to type + inside of them. If there is an active region, put braces around it + and leave point after the closing brace. + + When writing complex math formulas in LaTeX documents, you sometimes +need to adjust the size of braces with pairs of macros like +'\left'-'\right', '\bigl'-'\bigr' and so on. You can avoid unbalanced +pairs with the help of 'TeX-insert-macro', bound to 'C-c C-m' or 'C-c +<RET>' (*note Completion::). If you insert left size adjusting macros +such as '\left', '\bigl' etc. with 'TeX-insert-macro', it asks for left +brace to use and supplies automatically right size adjusting macros such +as '\right', '\bigr' etc. and corresponding right brace in addtion to +the intended left macro and left brace. + + The completion by 'TeX-insert-macro' also applies when entering +macros such as '\langle', '\lfloor' and '\lceil', which produce the left +part of the paired braces. For example, inserting '\lfloor' by 'C-c +C-m' is immediately followed by the insertion of '\rfloor'. In +addition, if the point was located just after '\left' or its friends, +the corresponding '\right' etc. will be inserted in front of '\rfloor'. +In both cases, active region is honored. + + As a side effect, when 'LaTeX-math-mode' (*note Mathematics::) is on, +just typing '`(' inserts not only '\langle', but also '\rangle'. + + If you do not like such auto completion at all, it can be disabled by +a user option. + + -- User Option: TeX-arg-right-insert-p + If this option is turned off, the automatic supply of the right + macros and braces is suppressed. + + When you edit LaTeX documents, you can enable automatic brace pairing +when typing '(', '{' and '['. + + -- User Option: LaTeX-electric-left-right-brace + If this option is on, just typing '(', '{' or '[' immediately adds + the corresponding right brace ')', '}' or ']'. The point is left + after the opening brace. If there is an active region, braces are + put around it. + + They recognize the preceding backslash or size adjusting macros + such as '\left', '\bigl' etc., so the following completions will + occur: + + * (when typing single left brace) + + - '(' -> '()' + + - '{' -> '{}' + + - '[' -> '[]' + + * (when typing left brace just after a backslash) + + - '\(' -> '\(\)' + + - '\{' -> '\{\}' + + - '\[' -> '\[\]' + + * (when typing just after '\left' or '\bigl') + + - '\left(' -> '\left(\right)' + + - '\bigl[' -> '\bigl[\bigr]' + + * (when typing just after '\Bigl\') + + - '\Bigl\{' -> '\Bigl\{\Bigr\}' + + This auto completion feature may be a bit annoying when editing an + already existing LaTeX document. In that case, use 'C-u 1' or + 'C-q' before typing '(', '{' or '['. Then no completion is done + and just a single left brace is inserted. In fact, with optional + prefix ARG, just that many open braces are inserted without any + completion. + + +File: auctex.info, Node: Font Specifiers, Next: Sectioning, Prev: Quotes, Up: Editing + +2.2 Inserting Font Specifiers +============================= + +Perhaps the most used keyboard commands of AUCTeX are the short-cuts +available for easy insertion of font changing macros. + + If you give an argument (that is, type 'C-u') to the font command, +the innermost font will be replaced, i.e. the font in the TeX group +around point will be changed. The following table shows the available +commands, with '-!-' indicating the position where the text will be +inserted. + +'C-c C-f C-b' + Insert bold face '\textbf{-!-}' text. + +'C-c C-f C-m' + Insert medium face '\textmd{-!-}' text. + +'C-c C-f C-i' + Insert italics '\textit{-!-}' text. + +'C-c C-f C-e' + Insert _emphasized_ '\emph{-!-}' text. + +'C-c C-f C-s' + Insert slanted '\textsl{-!-}' text. + +'C-c C-f C-r' + Insert roman '\textrm{-!-}' text. + +'C-c C-f C-f' + Insert sans serif '\textsf{-!-}' text. + +'C-c C-f C-t' + Insert typewriter '\texttt{-!-}' text. + +'C-c C-f C-c' + Insert SMALL CAPS '\textsc{-!-}' text. + +'C-c C-f C-l' + Insert upper lower case '\textulc{-!-}' text. + +'C-c C-f C-w' + Insert SWASH '\textsw{-!-}' text. + +'C-c C-f C-n' + Insert normal '\textnormal{-!-}' text. + +'C-c C-f C-d' + Delete the innermost font specification containing point. + + -- Command: TeX-font REPLACE WHAT + ('C-c C-f') Insert template for font change command. + + If REPLACE is not nil, replace current font. WHAT determines the + font to use, as specified by 'TeX-font-list'. + + -- User Option: TeX-font-list + List of fonts used by 'TeX-font'. + + Each entry is a list with three elements. The first element is the + key to activate the font. The second element is the string to + insert before point, and the third element is the string to insert + after point. An optional fourth element means always replace if + not nil. + + -- User Option: LaTeX-font-list + List of fonts used by 'TeX-font' in LaTeX mode. It has the same + structure as 'TeX-font-list'. + + +File: auctex.info, Node: Sectioning, Next: Environments, Prev: Font Specifiers, Up: Editing + +2.3 Inserting chapters, sections, etc. +====================================== + +Insertion of sectioning macros, that is '\chapter', '\section', +'\subsection', etc. and accompanying '\label''s may be eased by using +'C-c C-s'. This command is highly customizable, the following describes +the default behavior. + + When invoking you will be asked for a section macro to insert. An +appropriate default is automatically selected by AUCTeX, that is either: +at the top of the document; the top level sectioning for that document +style, and any other place: The same as the last occurring sectioning +command. + + Next, you will be asked for the actual name of that section, and last +you will be asked for a label to be associated with that section. The +label will be prefixed by the value specified in 'LaTeX-section-hook'. + + -- Command: LaTeX-section ARG + ('C-c C-s') Insert a sectioning command. + + Determine the type of section to be inserted, by the argument ARG. + + * If ARG is nil or missing, use the current level. + * If ARG is a list (selected by C-u), go downward one level. + * If ARG is negative, go up that many levels. + * If ARG is positive or zero, use absolute level: + + 0 : part + + 1 : chapter + + 2 : section + + 3 : subsection + + 4 : subsubsection + + 5 : paragraph + + 6 : subparagraph + + The following variables can be set to customize the function. + + 'LaTeX-section-hook' + Hooks to be run when inserting a section. + 'LaTeX-section-label' + Prefix to all section references. + + The precise behavior of 'LaTeX-section' is defined by the contents of +'LaTeX-section-hook'. + + -- User Option: LaTeX-section-hook + List of hooks to run when a new section is inserted. + + The following variables are set before the hooks are run + + 'LaTeX-level' + Numeric section level, default set by prefix arg to + 'LaTeX-section'. + 'LaTeX-name' + Name of the sectioning command, derived from 'LaTeX-level'. + 'LaTeX-title' + The title of the section, default to an empty string. + 'LaTeX-toc' + Entry for the table of contents list, default nil. + 'LaTeX-done-mark' + Position of point afterwards, default nil meaning after the + inserted text. + + A number of hooks are already defined. Most likely, you will be + able to get the desired functionality by choosing from these hooks. + + 'LaTeX-section-heading' + Query the user about the name of the sectioning command. + Modifies 'LaTeX-level' and 'LaTeX-name'. + 'LaTeX-section-title' + Query the user about the title of the section. Modifies + 'LaTeX-title'. + 'LaTeX-section-toc' + Query the user for the toc entry. Modifies 'LaTeX-toc'. + 'LaTeX-section-section' + Insert LaTeX section command according to 'LaTeX-name', + 'LaTeX-title', and 'LaTeX-toc'. If 'LaTeX-toc' is nil, no toc + entry is inserted. If 'LaTeX-toc' or 'LaTeX-title' are empty + strings, 'LaTeX-done-mark' will be placed at the point they + should be inserted. + 'LaTeX-section-label' + Insert a label after the section command. Controlled by the + variable 'LaTeX-section-label'. + + To get a full featured 'LaTeX-section' command, insert + + (setq LaTeX-section-hook + '(LaTeX-section-heading + LaTeX-section-title + LaTeX-section-toc + LaTeX-section-section + LaTeX-section-label)) + + in your init file such as 'init.el' or '.emacs'. + + The behavior of 'LaTeX-section-label' is determined by the variable +'LaTeX-section-label'. + + -- User Option: LaTeX-section-label + Default prefix when asking for a label. + + If it is a string, it is used unchanged for all kinds of sections. + If it is nil, no label is inserted. If it is a list, the list is + searched for a member whose car is equal to the name of the + sectioning command being inserted. The cdr is then used as the + prefix. If the name is not found, or if the cdr is nil, no label + is inserted. + + By default, chapters have a prefix of 'cha:' while sections and + subsections have a prefix of 'sec:'. Labels are not automatically + inserted for other types of sections. + + +File: auctex.info, Node: Environments, Next: Mathematics, Prev: Sectioning, Up: Editing + +2.4 Inserting Environment Templates +=================================== + +A large apparatus is available that supports insertions of environments, +that is '\begin{}' -- '\end{}' pairs. + + AUCTeX is aware of most of the actual environments available in a +specific document. This is achieved by examining your '\documentclass' +command, and consulting a precompiled list of environments available in +a large number of styles. + + Most of these are described further in the following sections, and +you may easily specify more. *Note Customizing Environments::. + + You insert an environment with 'C-c C-e', and select an environment +type. Depending on the environment, AUCTeX may ask more questions about +the optional parts of the selected environment type. With 'C-u C-c C-e' +you will change the current environment. + + -- Command: LaTeX-environment ARG + ('C-c C-e') AUCTeX will prompt you for an environment to insert. + At this prompt, you may press <TAB> or <SPC> to complete a + partially written name, and/or to get a list of available + environments. After selection of a specific environment AUCTeX may + prompt you for further specifications. + + If the optional argument ARG is non-nil (i.e. you have given a + prefix argument), the current environment is modified and no new + environment is inserted. + + AUCTeX helps you adding labels to environments which use them, such +as 'equation', 'figure', 'table', etc... When you insert one of the +supported environments with 'C-c C-e', you will be automatically +prompted for a label. You can select the prefix to be used for such +environments with the 'LaTeX-label-alist' variable. + -- User Option: LaTeX-label-alist + List the prefixes to be used for the label of each supported + environment. + + This is an alist whose car is the environment name, and the cdr + either the prefix or a symbol referring to one. + + If the name is not found, or if the cdr is nil, no label is + automatically inserted for that environment. + + If you want to automatically insert a label for a environment but + with an empty prefix, use the empty string '""' as the cdr of the + corresponding entry. + + As a default selection, AUCTeX will suggest the environment last +inserted or, as the first choice the value of the variable +'LaTeX-default-environment'. + + -- User Option: LaTeX-default-environment + Default environment to insert when invoking 'LaTeX-environment' + first time. When the current environment is 'document', it is + overriden by 'LaTeX-default-document-environment'. + + -- Variable: LaTeX-default-document-environment + Default environment when invoking 'LaTeX-environment' and the + current environment is 'document'. It is intended to be used in + LaTeX class style files. For example, in 'beamer.el' it is set to + 'frame', in 'letter.el' to 'letter', and in 'slides.el' to 'slide'. + + If the document is empty, or the cursor is placed at the top of the +document, AUCTeX will default to insert a 'document' environment +prompting also for the insertion of '\documentclass' and '\usepackage' +macros. You will be prompted for a new package until you enter nothing. +If you do not want to insert any '\usepackage' at all, just press <RET> +at the first 'Packages' prompt. + + AUCTeX distinguishes normal and expert environments. By default, it +will offer completion only for normal environments. This behavior is +controlled by the user option 'TeX-complete-expert-commands'. + + -- User Option: TeX-complete-expert-commands + Complete macros and environments marked as expert commands. + + Possible values are nil, t, or a list of style names. + + nil + Don't complete expert commands (default). + t + Always complete expert commands. + (STYLES ...) + Only complete expert commands of STYLES. + +* Menu: + +* Equations:: Equations +* Floats:: Floats +* Itemize-like:: Itemize-like Environments +* Tabular-like:: Tabular-like Environments +* Customizing Environments:: Customizing Environments + + You can close the current environment with 'C-c ]', but we suggest +that you use 'C-c C-e' to insert complete environments instead. + + -- Command: LaTeX-close-environment + ('C-c ]') Insert an '\end' that matches the current environment. + + AUCTeX offers keyboard shortcuts for moving point to the beginning +and to the end of the current environment. + -- Command: LaTeX-find-matching-begin + ('C-M-a') Move point to the '\begin' of the current environment. + + If this command is called inside a comment and + 'LaTeX-syntactic-comments' is enabled, try to find the environment + in commented regions with the same comment prefix. + + -- Command: LaTeX-find-matching-end + ('C-M-e') Move point to the '\end' of the current environment. + + If this command is called inside a comment and + 'LaTeX-syntactic-comments' is enabled, try to find the environment + in commented regions with the same comment prefix. + + +File: auctex.info, Node: Equations, Next: Floats, Up: Environments + +2.4.1 Equations +--------------- + +When inserting equation-like environments, the '\label' will have a +default prefix, which is controlled by the following variables: + + -- User Option: LaTeX-equation-label + Prefix to use for 'equation' labels. + + -- User Option: LaTeX-eqnarray-label + Prefix to use for 'eqnarray' labels. + + -- User Option: LaTeX-amsmath-label + Prefix to use for amsmath equation labels. Amsmath equations + include 'align', 'alignat', 'xalignat', 'multline', 'flalign' and + 'gather'. + + +File: auctex.info, Node: Floats, Next: Itemize-like, Prev: Equations, Up: Environments + +2.4.2 Floats +------------ + +Figures and tables (i.e., floats) may also be inserted using AUCTeX. +After choosing either 'figure' or 'table' in the environment list +described above, you will be prompted for a number of additional things. + +FLOAT POSITION + This is the optional argument of float environments that controls + how they are placed in the final document. In LaTeX this is a + sequence of the letters 'htbp' as described in the LaTeX manual. + The value will default to the value of 'LaTeX-float'. + +CAPTION + This is the caption of the float. The default is to insert the + caption at the bottom of the float. You can specify floats where + the caption should be placed at the top with + 'LaTeX-top-caption-list'. + +SHORT CAPTION + If the specified caption is greater than a specific length, then a + short caption is prompted for and it is inserted as an optional + argument to the '\caption' macro. The length that a caption needs + to be before prompting for a short version is controlled by + 'LaTeX-short-caption-prompt-length'. + +LABEL + The label of this float. The label will have a default prefix, + which is controlled by the variables 'LaTeX-figure-label' and + 'LaTeX-table-label'. + + Moreover, you will be asked if you want the contents of the float +environment to be horizontally centered. Upon a positive answer a +'\centering' macro will be inserted at the beginning of the float +environment. + + -- User Option: LaTeX-float + Default placement for floats. + + -- User Option: LaTeX-figure-label + Prefix to use for figure labels. + + -- User Option: LaTeX-table-label + Prefix to use for table labels. + + -- User Option: LaTeX-top-caption-list + List of float environments with top caption. + + -- User Option: LaTeX-short-caption-prompt-length + Number of chars a caption should be before prompting for a short + caption. + + +File: auctex.info, Node: Itemize-like, Next: Tabular-like, Prev: Floats, Up: Environments + +2.4.3 Itemize-like Environments +------------------------------- + +In an itemize-like environment, nodes (i.e., '\item's) may be inserted +using 'C-c <LFD>'. + + -- Command: LaTeX-insert-item + ('C-c <LFD>') Close the current item, move to the next line and + insert an appropriate '\item' for the current environment. That + is, 'itemize' and 'enumerate' will have '\item ' inserted, while + 'description' will have '\item[] ' inserted. + + -- User Option: TeX-arg-item-label-p + If non-nil, you will always be asked for optional label in items. + Otherwise, you will be asked only in description environments. + + +File: auctex.info, Node: Tabular-like, Next: Customizing Environments, Prev: Itemize-like, Up: Environments + +2.4.4 Tabular-like Environments +------------------------------- + +When inserting Tabular-like environments, that is, 'tabular' 'array' +etc., you will be prompted for a template for that environment. Related +variables: + + -- User Option: LaTeX-default-format + Default format string for array and tabular environments. + + -- User Option: LaTeX-default-width + Default width for minipage and tabular* environments. + + -- User Option: LaTeX-default-position + Default position string for array and tabular environments. If + nil, act like the empty string is given, but don't prompt for a + position. + + AUCTeX calculates the number of columns from the format string and +inserts the suitable number of ampersands. + + You can use 'C-c <LFD>' ('LaTeX-insert-item') to terminate rows in +these environments. It supplies line break macro '\\' and inserts the +suitable number of ampersands on the next line. AUCTeX also supports +the '*{num}{cols}' notation (which may contain another '*'-expression) +in the format string when calculating the number of ampersands. Please +note that 'num' and 'cols' must be enclosed in braces; expressions like +'*2l' are not recognized correctly by the algorithm. + + -- Command: LaTeX-insert-item + ('C-c <LFD>') Close the current row with '\\', move to the next + line and insert an appropriate number of ampersands for the current + environment. + + Similar supports are provided for various amsmath environments such +as 'align', 'gather', 'alignat', 'matrix' etc. Try typing 'C-c <LFD>' +in these environments. It recognizes the current environment and does +the appropriate job depending on the context. + + +File: auctex.info, Node: Customizing Environments, Prev: Tabular-like, Up: Environments + +2.4.5 Customizing Environments +------------------------------ + +*Note Adding Environments::, for how to customize the list of known +environments. + + +File: auctex.info, Node: Mathematics, Next: Completion, Prev: Environments, Up: Editing + +2.5 Entering Mathematics +======================== + +TeX is written by a mathematician, and has always contained good support +for formatting mathematical text. AUCTeX supports this tradition, by +offering a special minor mode for entering text with many mathematical +symbols. You can enter this mode by typing 'C-c ~'. + + -- Command: LaTeX-math-mode + ('C-c ~') Toggle LaTeX Math mode. This is a minor mode rebinding + the key 'LaTeX-math-abbrev-prefix' to allow easy typing of + mathematical symbols. '`' will read a character from the keyboard, + and insert the symbol as specified in 'LaTeX-math-default' and + 'LaTeX-math-list'. If given a prefix argument, the symbol will be + surrounded by dollar signs. + + You can use another prefix key (instead of '`') by setting the +variable 'LaTeX-math-abbrev-prefix'. + + To enable LaTeX Math mode by default, add the following in your init +file such as 'init.el' or '.emacs': + (add-hook 'LaTeX-mode-hook #'LaTeX-math-mode) + + -- User Option: LaTeX-math-abbrev-prefix + A string containing the prefix of 'LaTeX-math-mode' commands; This + value defaults to '`'. + + The string has to be a key or key sequence in a format understood + by the 'kbd' macro. This corresponds to the syntax usually used in + the manuals for Emacs Lisp. + + The variable 'LaTeX-math-list' allows you to add your own mappings. + + -- User Option: LaTeX-math-list + A list containing user-defined keys and commands to be used in + LaTeX Math mode. Each entry should be a list of two to four + elements. + + First, the key to be used after 'LaTeX-math-abbrev-prefix' for + macro insertion. The key can be a character (e.g. '?o') for a + single stroke or a string (e.g. '"o a"') for a multi-stroke + binding. If it is nil, the symbol has no associated keystroke (it + is available in the menu, though). + + Second, a string representing the name of the macro (without a + leading backslash.) + + Third, a string representing the name of a submenu the command + should be added to. Use a list of strings in case of nested menus. + + Fourth, the position of a Unicode character to be displayed in the + menu alongside the macro name. This is an integer value. + + -- User Option: LaTeX-math-menu-unicode + Whether the LaTeX Math menu should try using Unicode for effect. + Your Emacs built must be able to display include Unicode characters + in menus for this feature. + + AUCTeX's reference card 'tex-ref.tex' includes a list of all math +mode commands. + + AUCTeX can help you write subscripts and superscripts in math +constructs by automatically inserting a pair of braces after typing <_> +or <^> respectively and putting point between the braces. In order to +enable this feature, set the variable 'TeX-electric-sub-and-superscript' +to a non-nil value. + + -- User Option: TeX-electric-sub-and-superscript + If non-nil, insert braces after typing <^> and <_> in math mode. + + You can automatically turn off input methods, used to input non-ascii +characters, when you begin to enter math constructs. + + -- User Option: TeX-math-input-method-off-regexp + Input method matching this regular expression is turned off when + '$' is typed to begin math mode or a math environment is inserted + by 'C-c C-e' ('LaTeX-environment'). + + +File: auctex.info, Node: Completion, Next: Marking, Prev: Mathematics, Up: Editing + +2.6 Completion +============== + +Emacs lisp programmers probably know the 'lisp-complete-symbol' command +which was bound to 'M-<TAB>' until completion-at-point became the new +standard completion facility (see below). Users of the wonderful ispell +mode know and love the 'ispell-complete-word' command from that package. +Similarly, AUCTeX has a 'TeX-complete-symbol' command, by default bound +to 'M-<TAB>' which is equivalent to 'C-M-i'. Using +'TeX-complete-symbol' makes it easier to type and remember the names of +long LaTeX macros. + + In order to use 'TeX-complete-symbol', you should write a backslash +and the start of the macro. Typing 'M-<TAB>' will now complete as much +of the macro, as it unambiguously can. For example, if you type +''\renewc'' and then 'M-<TAB>', it will expand to ''\renewcommand''. +But there's more: if point is just after '\begin{', then +'TeX-complete-symbol' will complete LaTeX environments, etc. This is +controlled by 'TeX-complete-list'. + + -- Command: TeX-complete-symbol + ('M-<TAB>') Complete TeX symbol before point. + + -- Variable: TeX-complete-list + List of ways to complete the preceding text. + + Each entry is a list with the following elements: + + 1. Regexp matching the preceding text or a predicate of arity 0 + which returns non-nil and sets 'match-data' appropriately if + it is applicable. + 2. A number indicating the subgroup in the regexp containing the + text. + 3. A function returning an alist of possible completions. + 4. Text to append after a succesful completion. + + Or alternatively: + + 1. Regexp matching the preceding text. + 2. Function to do the actual completion. + + More recent Emacs versions have a new completion mechanism. Modes +may define and register custom 'completion-at-point' functions and when +the user invokes 'completion-at-point' (usually bound to 'M-<TAB>'), all +such registered functions are consulted for checking for possible +completions. Modern completion UIs like company-mode support this +completion-at-point facility. + + -- Function: TeX--completion-at-point + AUCTeX's completion-at-point function which is automatically added + to 'completion-at-point-functions' in TeX and LaTeX buffers. + + It offers the same completion candidates as would + 'TeX-complete-symbol' (and is also controlled by + 'TeX-complete-list') except that it doesn't fall back on + 'ispell-complete-word' which would be awkward with completion UIs + like company-mode. + + A more direct way to insert a macro is with 'TeX-insert-macro', bound +to 'C-c C-m' which is equivalent to 'C-c <RET>'. It has the advantage +over completion that it knows about the argument of most standard LaTeX +macros, and will prompt for them. It also knows about the type of the +arguments, so it will for example give completion for the argument to +'\include'. Some examples are listed below. + + -- Command: TeX-insert-macro + ('C-c C-m' or 'C-c <RET>') Prompt (with completion) for the name of + a TeX macro, and if AUCTeX knows the macro, prompt for each + argument. + + As a default selection, AUCTeX will suggest the macro last inserted +or, as the first choice the value of the variable 'TeX-default-macro'. + + -- User Option: TeX-default-macro + Default macro to insert when invoking 'TeX-insert-macro' first + time. + + -- User Option: TeX-insert-macro-default-style + Specifies whether 'TeX-insert-macro' will ask for all optional + arguments. + + If set to the symbol 'show-optional-args', 'TeX-insert-macro' asks + for optional arguments of TeX marcos, unless the previous optional + argument has been rejected. If set to 'show-all-optional-args', + 'TeX-insert-macro' asks for all optional arguments. + 'mandatory-args-only', 'TeX-insert-macro' asks only for mandatory + arguments. When 'TeX-insert-macro' is called with prefix argument + ('C-u'), it's the other way round. + + Note that for some macros, there are special mechanisms, e.g. + 'TeX-arg-cite-note-p' and 'LaTeX-includegraphics-options-alist'. + + A faster alternative is to enable the option 'TeX-electric-escape'. + + -- User Option: TeX-electric-escape + If this is non-nil, typing the TeX escape character '\' will invoke + the command 'TeX-electric-macro'. + + In Texinfo mode, the command is invoked by '@' instead. + + The difference between 'TeX-insert-macro' and 'TeX-electric-macro' is +that space key <SPC> will complete and exit from the minibuffer in +'TeX-electric-macro'. Use <TAB> if you merely want to complete. + + -- Command: TeX-electric-macro + Prompt (with completion) for the name of a TeX macro, and if AUCTeX + knows the macro, prompt for each argument. Space (<SPC>) will + complete and exit. + + By default AUCTeX will put an empty set braces '{}' after a macro +with no arguments to stop it from eating the next whitespace. This is +suppressed inside math mode and can be disabled totally by setting +'TeX-insert-braces' to nil. + + -- User Option: TeX-insert-braces + If non-nil, append a empty pair of braces after inserting a macro + with no arguments. + + -- User Option: TeX-insert-braces-alist + Control the insertion of a pair of braces after a macro on a per + macro basis. + + This variable is an alist. Each element is a cons cell, whose car + is the macro name, and the cdr is non-nil or nil, depending on + whether a pair of braces should be, respectively, appended or not + to the macro. + + If a macro has an element in this variable, AUCTeX will use its + value to decide what to do, whatever the value of the variable + 'TeX-insert-braces'. + + Completions work because AUCTeX can analyze TeX files, and store +symbols in Emacs Lisp files for later retrieval. *Note Automatic::, for +more information. + + AUCTeX distinguishes normal and expert macros. By default, it will +offer completion only for normal commands. This behavior can be +controlled using the user option 'TeX-complete-expert-commands'. + + -- User Option: TeX-complete-expert-commands + Complete macros and environments marked as expert commands. + + Possible values are nil, t, or a list of style names. + + nil + Don't complete expert commands (default). + t + Always complete expert commands. + (STYLES ...) + Only complete expert commands of STYLES. + + AUCTeX will also make completion for many macro arguments, for +example existing labels when you enter a '\ref' macro with +'TeX-insert-macro' or 'TeX-electric-macro', and BibTeX entries when you +enter a '\cite' macro. For this kind of completion to work, parsing +must be enabled as described in *note Parsing Files::. For '\cite' you +must also make sure that the BibTeX files have been saved at least once +after you enabled automatic parsing on save, and that the basename of +the BibTeX file does not conflict with the basename of one of TeX files. + + +File: auctex.info, Node: Marking, Next: Commenting, Prev: Completion, Up: Editing + +2.7 Marking Environments, Sections, or Texinfo Nodes +==================================================== + +You can mark the current environment by typing 'C-c .', or the current +section by typing 'C-c *'. + + In Texinfo documents you can type 'C-M-h' to mark the current node. + + When the region is set, the point is moved to its beginning and the +mark to its end. + +* Menu: + +* Marking (LaTeX):: LaTeX Commands for Marking Environments and Sections +* Marking (Texinfo):: Texinfo Commands for Marking Environments, Sections, and Nodes + + +File: auctex.info, Node: Marking (LaTeX), Next: Marking (Texinfo), Up: Marking + +2.7.1 LaTeX Commands for Marking Environments and Sections +---------------------------------------------------------- + + -- Command: LaTeX-mark-section + ('C-c *') Set mark at end of current logical section, and point at + top. + + With a non-nil prefix argument, mark only the region from the + current section start to the next sectioning command. Thereby + subsections are not being marked. Otherwise, any included + subsections are also marked along with current section. + + -- Command: LaTeX-mark-environment + ('C-c .') Set mark to the end of the current environment and point + to the matching beginning. + + If a prefix argument is given, mark the respective number of + enclosing environments. The command will not work properly if + there are unbalanced begin-end pairs in comments and verbatim + environments. + + +File: auctex.info, Node: Marking (Texinfo), Prev: Marking (LaTeX), Up: Marking + +2.7.2 Texinfo Commands for Marking Environments and Sections +------------------------------------------------------------ + + -- Command: Texinfo-mark-section + ('C-c *') Mark the current section, with inclusion of any + containing node. + + The current section is detected as starting by any of the + structuring commands matched by the regular expression in the + variable 'outline-regexp' which in turn is a regular expression + matching any element of the variable 'texinfo-section-list'. + + With a non-nil prefix argument, mark only the region from the + current section start to the next sectioning command. Thereby + subsections are not being marked. Otherwise, any included + subsections are also marked. + + Note that when the current section is starting immediately after a + node command, then the node command is also marked as part of the + section. + + -- Command: Texinfo-mark-environment + ('C-c .') Set mark to the end of the current environment and point + to the matching beginning. + + If a prefix argument is given, mark the respective number of + enclosing environments. The command will not work properly if + there are unbalanced begin-end pairs in comments and verbatim + environments. + + -- Command: Texinfo-mark-node + ('C-M-h') Mark the current node. This is the node in which point + is located. It is starting at the previous occurrence of the + keyword '@node' and ending at next occurrence of the keywords + '@node' or '@bye'. + + +File: auctex.info, Node: Commenting, Next: Indenting, Prev: Marking, Up: Editing + +2.8 Commenting +============== + +It is often necessary to comment out temporarily a region of TeX or +LaTeX code. This can be done with the commands 'C-c ;' and 'C-c %'. +'C-c ;' will comment out all lines in the current region, while 'C-c %' +will comment out the current paragraph. Type 'C-c ;' again to uncomment +all lines of a commented region, or 'C-c %' again to uncomment all +comment lines around point. These commands will insert or remove a +single '%' respectively. + + -- Command: TeX-comment-or-uncomment-region + ('C-c ;') Add or remove '%' from the beginning of each line in the + current region. Uncommenting works only if the region encloses + solely commented lines. If AUCTeX should not try to guess if the + region should be commented or uncommented the commands + 'TeX-comment-region' and 'TeX-uncomment-region' can be used to + explicitly comment or uncomment the region in concern. + + -- Command: TeX-comment-or-uncomment-paragraph + ('C-c %') Add or remove '%' from the beginning of each line in the + current paragraph. When removing '%' characters the paragraph is + considered to consist of all preceding and succeeding lines + starting with a '%', until the first non-comment line. + + +File: auctex.info, Node: Indenting, Next: Filling, Prev: Commenting, Up: Editing + +2.9 Indenting +============= + +Indentation means the addition of whitespace at the beginning of lines +to reflect special syntactical constructs. This makes it easier to see +the structure of the document, and to catch errors such as a missing +closing brace. Thus, the indentation is done for precisely the same +reasons that you would indent ordinary computer programs. + + Indentation is done by LaTeX environments and by TeX groups, that is +the body of an environment is indented by the value of +'LaTeX-indent-level' (default 2). Also, items of an 'itemize-like' +environment are indented by the value of 'LaTeX-item-indent', default +-2. (Items are identified with the help of 'LaTeX-item-regexp'.) If +more environments are nested, they are indented 'accumulated' just like +most programming languages usually are seen indented in nested +constructs. + + You can explicitly indent single lines, usually by pressing <TAB>, or +marked regions by calling 'indent-region' on it. If you have +'auto-fill-mode' enabled and a line is broken while you type it, Emacs +automatically cares about the indentation in the following line. If you +want to have a similar behavior upon typing <RET>, you can customize the +variable 'TeX-newline-function' and change the default of 'newline' +which does no indentation to 'newline-and-indent' which indents the new +line or 'reindent-then-newline-and-indent' which indents both the +current and the new line. + + There are certain LaTeX environments which should be indented in a +special way, like 'tabular' or 'verbatim'. Those environments may be +specified in the variable 'LaTeX-indent-environment-list' together with +their special indentation functions. Taking the 'verbatim' environment +as an example you can see that 'current-indentation' is used as the +indentation function. This will stop AUCTeX from doing any indentation +in the environment if you hit <TAB> for example. + + There are environments in 'LaTeX-indent-environment-list' which do +not bring a special indentation function with them. This is due to the +fact that first the respective functions are not implemented yet and +second that filling will be disabled for the specified environments. +This shall prevent the source code from being messed up by accidently +filling those environments with the standard filling routine. If you +think that providing special filling routines for such environments +would be an appropriate and challenging task for you, you are invited to +contribute. (*Note Filling::, for further information about the filling +functionality.) + + The check for the indentation function may be enabled or disabled by +customizing the variable 'LaTeX-indent-environment-check'. + + For tabular-like environments, AUCTeX has a built-in function to +indent according to preceding '&' signs and assigns it to all known +tabular-like environments in the default value of +'LaTeX-indent-environment-list'. + + As a side note with regard to formatting special environments: Newer +Emacsen include 'align.el' and therefore provide some support for +formatting 'tabular' and 'tabbing' environments with the function +'align-current' which will nicely align columns in the source code. + + AUCTeX is able to format commented parts of your code just as any +other part. This means LaTeX environments and TeX groups in comments +will be indented syntactically correct if the variable +'LaTeX-syntactic-comments' is set to t. If you disable it, comments +will be filled like normal text and no syntactic indentation will be +done. + + Following you will find a list of most commands and variables related +to indenting with a small summary in each case: + +'<TAB>' + 'LaTeX-indent-line' will indent the current line. + +'<LFD>' +'C-j' + 'newline-and-indent' inserts a new line (much like <RET>) and moves + the cursor to an appropriate position by the left margin. + + Most keyboards nowadays lack a linefeed key and 'C-j' may be + tedious to type. Therefore you can customize AUCTeX to perform + indentation upon typing <RET> as well. The respective option is + called 'TeX-newline-function'. + + -- User Option: LaTeX-indent-environment-list + List of environments with special indentation. The second element + in each entry is the function to calculate the indentation level in + columns. + + -- User Option: LaTeX-indent-level + Number of spaces to add to the indentation for each '\begin' not + matched by a '\end'. + + -- User Option: LaTeX-item-indent + Number of spaces to add to the indentation for '\item''s in list + environments. + + -- User Option: TeX-brace-indent-level + Number of spaces to add to the indentation for each '{' not matched + by a '}'. + + -- User Option: LaTeX-syntactic-comments + If non-nil comments will be filled and indented according to LaTeX + syntax. Otherwise they will be filled like normal text. + + -- User Option: TeX-newline-function + Used to specify the function which is called when <RET> is pressed. + This will normally be 'newline' which simply inserts a new line. + In case you want to have AUCTeX do indentation as well when you + press <RET>, use the built-in functions 'newline-and-indent' or + 'reindent-then-newline-and-indent'. The former inserts a new line + and indents the following line, i.e. it moves the cursor to the + right position and therefore acts as if you pressed <LFD>. The + latter function additionally indents the current line. If you + choose 'Other', you can specify your own fancy function to be + called when <RET> is pressed. + + AUCTeX treats by default '\[...\]' math mode as a regular environment +and indents it accordingly. If you do not like such behavior you only +need to remove '\|\[' and '\|\]' from 'LaTeX-begin-regexp' and +'LaTeX-end-regexp' variables respectively. + + A closely related topic is indenting of text enclosed in square +brackets, parentheses and other pairs. AUCTeX offers two variables +which control if indentation happens inside these pairs. + + -- User Option: TeX-indent-open-delimiters + This variable contains additional opening delimiters which increase + indentation. For example add '[' to this variable to get text + after a square bracket indented. + + -- User Option: TeX-indent-close-delimiters + This is the accompanying variable to 'TeX-indent-open-delimiters' + decreasing the indentation again. This variable should contain ']' + if 'TeX-indent-open-delimiters' is set like described above. + +Note that this is an opt-in feature, both variables are initially set to +an empty string. That is because it introduces non-trivial side effects +to include '[' and ']' in 'TeX-indent-open-delimiters' and +'TeX-indent-close-delimiters'; if you only have an opening square +bracket in your text without closing it, wrong indentation persists in +the following text. For example, in math expression, half-open +intervals are frequently written as '[0,10)' or '[0,10['. In such +cases, you can put the closing part as a comment in the same line in +order to have correct indentation after that: + $[0,10)$ % ] + $[0,10[$ % ]] + + Another example is '\left'-'\right' pair in equations. Similar +workarounds are available: + \begin{equation} + \left[ % ] + xyz + \right] % [ + abc + \end{equation} + + You can include parens '()' also in 'TeX-indent-open-delimiters' and +'TeX-indent-close-delimiters' to enable indent inside them. Be prepared +for similar side effects when you do. + + Note that commented curly braces '{' and '}' aren't counted when +AUCTeX computes indentation. + + +File: auctex.info, Node: Filling, Prev: Indenting, Up: Editing + +2.10 Filling +============ + +Filling deals with the insertion of line breaks to prevent lines from +becoming wider than what is specified in 'fill-column'. The linebreaks +will be inserted automatically if 'auto-fill-mode' is enabled. In this +case the source is not only filled but also indented automatically as +you write it. + + 'auto-fill-mode' can be enabled for AUCTeX by calling +'turn-on-auto-fill' in one of the hooks AUCTeX is running. *Note Modes +and Hooks::. As an example, if you want to enable 'auto-fill-mode' in +'LaTeX-mode', put the following into your init file: + + (add-hook 'LaTeX-mode-hook #'turn-on-auto-fill) + + You can manually fill explicitly marked regions, paragraphs, +environments, complete sections, or the whole buffer. (Note that manual +filling in AUCTeX will indent the start of the region to be filled in +contrast to many other Emacs modes.) + + There are some syntactical constructs which are handled specially +with regard to filling. These are so-called "code comments" and +"paragraph commands". + + Code comments are comments preceded by code or text in the same line. +Upon filling a region, code comments themselves will not get filled. +Filling is done from the start of the region to the line with the code +comment and continues after it. In order to prevent overfull lines in +the source code, a linebreak will be inserted before the last +non-comment word by default. This can be changed by customizing +'LaTeX-fill-break-before-code-comments'. If you have overfull lines +with code comments you can fill those explicitly by calling +'LaTeX-fill-paragraph' or pressing 'M-q' with the cursor positioned on +them. This will add linebreaks in the comment and indent subsequent +comment lines to the column of the comment in the first line of the code +comment. In this special case 'M-q' only acts on the current line and +not on the whole paragraph. + + Lines with '\par' are treated similarly to code comments, i.e. '\par' +will be treated as paragraph boundary which should not be followed by +other code or text. But it is not treated as a real paragraph boundary +like an empty line where filling a paragraph would stop. + + Paragraph commands like '\section' or '\noindent' (the list of +commands is defined by 'LaTeX-paragraph-commands') are often to be +placed in their own line(s). This means they should not be consecuted +with any preceding or following adjacent lines of text. AUCTeX will +prevent this from happening if you do not put any text except another +macro after the end of the last brace of the respective macro. If there +is other text after the macro, AUCTeX regards this as a sign that the +macro is part of the following paragraph. + + Here are some examples: + + \begin{quote} + text text text text + + \begin{quote}\label{foo} + text text text text + + If you press 'M-q' on the first line in both examples, nothing will +change. But if you write + + \begin{quote} text + text text text text +and press 'M-q', you will get + + \begin{quote} text text text text text + + Besides code comments and paragraph commands, another speciality of +filling in AUCTeX involves commented lines. You should be aware that +these comments are treated as islands in the rest of the LaTeX code if +syntactic filling is enabled. This means, for example, if you try to +fill an environment with 'LaTeX-fill-environment' and have the cursor +placed on a commented line which does not have a surrounding environment +inside the comment, AUCTeX will report an error. + + The relevant commands and variables with regard to filling are: + +'C-c C-q C-p' + 'LaTeX-fill-paragraph' will fill and indent the current paragraph. + +'M-q' + Alias for 'C-c C-q C-p' + +'C-c C-q C-e' + 'LaTeX-fill-environment' will fill and indent the current + environment. This may e.g. be the 'document' environment, in which + case the entire document will be formatted. + +'C-c C-q C-s' + 'LaTeX-fill-section' will fill and indent the current logical + sectional unit. + +'C-c C-q C-r' + 'LaTeX-fill-region' will fill and indent the current region. + + -- User Option: LaTeX-fill-break-at-separators + List of separators before or after which respectively linebreaks + will be inserted if they do not fit into one line. The separators + can be curly braces, brackets, switches for inline math ('$', '\(', + '\)') and switches for display math ('\[', '\]'). Such formatting + can be useful to make macros and math more visible or to prevent + overfull lines in the LaTeX source in case a package for displaying + formatted TeX output inside the Emacs buffer, like preview-latex, + is used. + + -- User Option: LaTeX-fill-break-before-code-comments + Code comments are comments preceded by some other text in the same + line. When a paragraph containing such a comment is to be filled, + the comment start will be seen as a border after which no line + breaks will be inserted in the same line. If the option + 'LaTeX-fill-break-before-code-comments' is enabled (which is the + default) and the comment does not fit into the line, a line break + will be inserted before the last non-comment word to minimize the + chance that the line becomes overfull. + + -- User Option: LaTeX-fill-excluded-macros + A list of macro names (without leading backslash) for whose + arguments filling should be disabled. Typically, you will want to + add macros here which have long, multi-line arguments. An example + is '\pgfplotstabletypeset' from the pgfplotstable package which is + used as shown in the following listing: + + \pgfplotstabletypeset[skip first n=4]{% + XYZ Format, + Version 1.234 + Date 2010-09-01 + @author Mustermann + A B C + 1 2 3 + 4 5 6 + } + + +File: auctex.info, Node: Display, Next: Processing, Prev: Editing, Up: Top + +3 Controlling Screen Display +**************************** + +It is often desirable to get visual help of what markup code in a text +actually does without having to decipher it explicitly. For this +purpose Emacs and AUCTeX provide font locking (also known as syntax +highlighting) which visually sets off markup code like macros or +environments by using different colors or fonts. For example text to be +typeset in italics can be displayed with an italic font in the editor as +well, or labels and references get their own distinct color. + + While font locking helps you grasp the purpose of markup code and +separate markup from content, the markup code can still be distracting. +AUCTeX lets you hide those parts and show them again at request with its +built-in support for hiding macros and environments which we call +folding here. + + Besides folding of macros and environments, AUCTeX provides support +for Emacs' outline mode which lets you narrow the buffer content to +certain sections of your text by hiding the parts not belonging to these +sections. + + Moreover, you can focus in a specific portion of the code by +narrowing the buffer to the desired region. AUCTeX provides also +functions to narrow the buffer to the current group and to LaTeX +environments. + + AUCTeX also provides some WYSIWYG features. + + First, you can customize 'font-latex-fontify-script' to enable +special formatting of '^' superscripts and '_' subscripts (*note Font +Locking::). + + Secondly, AUCTeX with GNU Emacs 25 or later can display certain math +macros using Unicode characters, e.g., '\alpha' as α. This is called +prettification and is lightweight and reasonable robust (*note +Prettifying::). + + A more accurate approach is provided by preview-latex, a subsystem of +AUCTeX, see *note Introduction: (preview-latex)Top. This system uses +LaTeX to generate images that are then displayed in your buffer. It is +extremely accurate but can be fragile with some packages (like older pgf +versions). + + Please note that you can use prettification and preview-latex +together. + +* Menu: + +* Font Locking:: Font Locking +* Folding:: Folding Macros and Environments +* Outline:: Outlining the Document +* Narrowing:: Restricting display and editing to a portion of the buffer +* Prettifying:: Displaying Greek and math macros as Unicode characters + + +File: auctex.info, Node: Font Locking, Next: Folding, Up: Display + +3.1 Font Locking +================ + +Font locking is supposed to improve readability of the source code by +highlighting certain keywords with different colors or fonts. It +thereby lets you recognize the function of markup code to a certain +extent without having to read the markup command. For general +information on controlling font locking with Emacs' Font Lock mode, see +*note Font Lock Mode: (emacs)Font Lock. + + -- User Option: TeX-install-font-lock + Once font locking is enabled globally or for the major modes + provided by AUCTeX, the font locking patterns and functionality of + font-latex are activated by default. You can switch to a different + font locking scheme or disable font locking in AUCTeX by + customizing the variable 'TeX-install-font-lock'. + + Besides font-latex AUCTeX ships with a scheme which is derived from + Emacs' default LaTeX mode and activated by choosing + 'tex-font-setup'. Be aware that this scheme is not coupled with + AUCTeX's style system and not the focus of development. Therefore + and due to font-latex being much more feature-rich the following + explanations will only cover font-latex. + + In case you want to hook in your own fontification scheme, you can + choose 'other' and insert the name of the function which sets up + your font locking patterns. If you want to disable fontification + in AUCTeX completely, choose 'ignore'. + + font-latex provides many options for customization which are +accessible with 'M-x customize-group <RET> font-latex <RET>'. For this +description the various options are explained in conceptional groups. + +* Menu: + +* Fontification of macros:: Fontification of macros +* Fontification of quotes:: Fontification of quotes +* Fontification of math:: Fontification of math constructs +* Verbatim content:: Verbatim macros and environments +* Faces:: Faces used by font-latex +* Known problems:: Known fontification problems + + +File: auctex.info, Node: Fontification of macros, Next: Fontification of quotes, Up: Font Locking + +3.1.1 Fontification of macros +----------------------------- + +Highlighting of macros can be customized by adapting keyword lists which +can be found in the customization group 'font-latex-keywords'. + + Three types of macros can be handled differently with respect to +fontification: + + 1. Commands of the form '\foo[bar]{baz}' which consist of the macro + itself, optional arguments in square brackets and mandatory + arguments in curly braces. For the command itself the face + 'font-lock-keyword-face' will be used and for the optional + arguments the face 'font-lock-variable-name-face'. The face + applied to the mandatory argument depends on the macro class + represented by the respective built-in variables. + 2. Declaration macros of the form '{\foo text}' which consist of the + macro which may be enclosed in a TeX group together with text to be + affected by the macro. In case a TeX group is present, the macro + will get the face 'font-lock-keyword-face' and the text will get + the face configured for the respective macro class. If no TeX + group is present, the latter face will be applied to the macro + itself. + 3. Simple macros of the form '\foo' which do not have any arguments or + groupings. The respective face will be applied to the macro + itself. + + Customization variables for '\foo[bar]{baz}' type macros allow both +the macro name and the sequence of arguments to be specified. The +latter is done with a string which can contain the characters +'*' + indicating the existence of a starred variant for the macro, +'[' + for optional arguments in brackets, +'{' + for mandatory arguments in braces, +'\' + for mandatory arguments consisting of a single macro and +'|' + as a prefix indicating that two alternatives are following. + For example the specifier for '\documentclass' would be '[{' because +the macro has one optional followed by one mandatory argument. The +specifier for '\newcommand' would be '*|{\[[{' because there is a +starred variant, the mandatory argument following the macro name can be +a macro or a TeX group which can be followed by two optional arguments +and the last token is a mandatory argument in braces. + + Customization variables for the '{\foo text}' and '\foo' types are +simple lists of strings where each entry is a macro name (without the +leading backslash). + +General macro classes +--------------------- + +font-latex provides keyword lists for different macro classes which are +described in the following table: + +'font-latex-match-function-keywords' + Keywords for macros defining or related to functions, like + '\newcommand'. + Type: '\macro[...]{...}' + Face: 'font-lock-function-name-face' + +'font-latex-match-reference-keywords' + Keywords for macros defining or related to references, like '\ref'. + Type: '\macro[...]{...}' + Face: 'font-lock-constant-face' + +'font-latex-match-textual-keywords' + Keywords for macros specifying textual content, like '\caption'. + Type: '\macro[...]{...}' + Face: 'font-lock-type-face' + +'font-latex-match-variable-keywords' + Keywords for macros defining or related to variables, like + '\setlength'. + Type: '\macro[...]{...}' + Face: 'font-lock-variable-name-face' + +'font-latex-match-warning-keywords' + Keywords for important macros, e.g. affecting line or page break, + like '\clearpage'. + Type: '\macro' + Face: 'font-latex-warning-face' + +Sectioning commands +------------------- + +Sectioning commands are macros like '\chapter' or '\section'. For these +commands there are two fontification schemes which may be selected by +customizing the variable 'font-latex-fontify-sectioning'. + + -- User Option: font-latex-fontify-sectioning + Per default sectioning commands will be shown in a larger, + proportional font, which corresponds to a number for this variable. + The font size varies with the sectioning level, e.g. '\part' + ('font-latex-sectioning-0-face') has a larger font than + '\paragraph' ('font-latex-sectioning-5-face'). Typically, values + from 1.05 to 1.3 for 'font-latex-fontify-sectioning' give best + results, depending on your font setup. If you rather like to use + the base font and a different color, set the variable to the symbol + 'color'. In this case the face 'font-lock-type-face' will be used + to fontify the argument of the sectioning commands. + + You can make font-latex aware of your own sectioning commands be +adding them to the keyword lists: +'font-latex-match-sectioning-0-keywords' +('font-latex-sectioning-0-face') ... +'font-latex-match-sectioning-5-keywords' +('font-latex-sectioning-5-face'). + + Related to sectioning there is special support for slide titles which +may be fontified with the face 'font-latex-slide-title-face'. You can +add macros which should appear in this face by customizing the variable +'font-latex-match-slide-title-keywords'. + +Commands for changing fonts +--------------------------- + +LaTeX provides various macros for changing fonts or font attributes. +For example, you can select an italic font with '\textit{...}' or bold +with '\textbf{...}'. An alternative way to specify these fonts is to +use special macros in TeX groups, like '{\itshape ...}' for italics and +'{\bfseries ...}' for bold. As mentioned above, we call the former +variants commands and the latter declarations. + + Besides the macros for changing fonts provided by LaTeX there is an +infinite number of other macros--either defined by yourself for logical +markup or defined by macro packages--which affect the font in the +typeset text. While LaTeX's built-in macros and macros of packages +known by AUCTeX are already handled by font-latex, different keyword +lists per type style and macro type are provided for entering your own +macros which are listed in the table below. + +'font-latex-match-bold-command-keywords' + Keywords for commands specifying a bold type style. + Face: 'font-latex-bold-face' +'font-latex-match-italic-command-keywords' + Keywords for commands specifying an italic font. + Face: 'font-latex-italic-face' +'font-latex-match-math-command-keywords' + Keywords for commands specifying a math font. + Face: 'font-latex-math-face' +'font-latex-match-type-command-keywords' + Keywords for commands specifying a typewriter font. + Face: 'font-lock-type-face' +'font-latex-match-bold-declaration-keywords' + Keywords for declarations specifying a bold type style. + Face: 'font-latex-bold-face' +'font-latex-match-italic-declaration-keywords' + Keywords for declarations specifying an italic font. + Face: 'font-latex-italic-face' +'font-latex-match-type-declaration-keywords' + Keywords for declarations specifying a typewriter font. + Face: 'font-latex-type-face' + +Deactivating defaults of built-in keyword classes +------------------------------------------------- + +font-latex ships with predefined lists of keywords for the classes +described above. You can disable these defaults per class by +customizing the variable 'font-latex-deactivated-keyword-classes'. This +is a list of strings for keyword classes to be deactivated. Valid +entries are "warning", "variable", "biblatexnoarg", "biblatex", +"reference", "function" , "sectioning-0", "sectioning-1", +"sectioning-2", "sectioning-3", "sectioning-4", "sectioning-5", +"slide-title", "textual", "bold-command", "italic-command", +"math-command", "type-command", "bold-declaration", +"italic-declaration", "type-declaration". + + You can also get rid of certain keywords only. For example if you +want to remove highlighting of footnotes as references you can put the +following stanza into your init file: + + (eval-after-load "font-latex" + '(setq-default + font-latex-match-reference-keywords-local + (remove (assoc-string "footnote" + font-latex-match-reference-keywords-local) + font-latex-match-reference-keywords-local))) + + But note that this means fiddling with font-latex's internals and is +not guaranteed to work in future versions of font-latex. + +User-defined keyword classes +---------------------------- + +In case the customization options explained above do not suffice for +your needs, you can specify your own keyword classes by customizing the +variable 'font-latex-user-keyword-classes'. + + -- User Option: font-latex-user-keyword-classes + Every keyword class consists of four parts, a name, a list of + keywords, a face and a specifier for the type of macros to be + highlighted. + + When adding new entries, you have to use unique values for the + class names, i.e. they must not clash with names of the built-in + keyword classes or other names given by you. Additionally the + names must not contain spaces. + + The list of keywords defines which commands and declarations should + be covered by the keyword class. A keyword can either be a simple + command name omitting the leading backslash or a list consisting of + the command name and a string specifying the sequence of arguments + for the command. + + The face argument can either be an existing face or face attributes + made by you. + + There are three alternatives for the type of keywords--"Command + with arguments", "Declaration inside TeX group" and "Command + without arguments"--which correspond with the macro types explained + above. + + +File: auctex.info, Node: Fontification of quotes, Next: Fontification of math, Prev: Fontification of macros, Up: Font Locking + +3.1.2 Fontification of quotes +----------------------------- + +Text in quotation marks is displayed with the face +'font-latex-string-face'. Besides the various forms of opening and +closing double and single quotation marks, so-called guillemets (<<, >>) +can be used for quoting. Because there are two styles of using +them--French style: << text >>; German style: >>text<<--you can +customize the variable 'font-latex-quotes' to tell font-latex which type +you are using if the correct value cannot be derived from document +properties. + + -- User Option: font-latex-quotes + The default value of 'font-latex-quotes' is 'auto' which means that + font-latex will try to derive the correct type of quotation mark + matching from document properties like the language option supplied + to the babel LaTeX package. + + If the automatic detection fails for you and you mostly use one + specific style you can set it to a specific language-dependent + value as well. Set the value to 'german' if you are using >>German + quotes<< and to 'french' if you are using << French quotes >>. + font-latex will recognize the different ways these quotes can be + given in your source code, i.e. ('"<', '">'), ('<<', '>>') and the + respective 8-bit variants. + + If you set 'font-latex-quotes' to nil, quoted content will not be + fontified. + + +File: auctex.info, Node: Fontification of math, Next: Verbatim content, Prev: Fontification of quotes, Up: Font Locking + +3.1.3 Fontification of mathematical constructs +---------------------------------------------- + +In LaTeX mathematics can be indicated by a variety of different methods: +toggles (like dollar signs), macros and environments. Math constructs +known by font-latex are displayed with the face 'font-latex-math-face'. +Support for dollar signs and shorthands like '\(...\)' or '\[...\]' is +built-in and not customizable. Support for other math macros and +environments can be adapted by customizing the variables +'font-latex-match-math-command-keywords' and 'texmathp-tex-commands' +respectively. It is no longer recommended to customize +'font-latex-math-environments'. + + To convert your customization in 'font-latex-math-environments' into +'texmathp-tex-commands', please register your own math environments, +together with starred variants if any, as entries of 'env-on' type in +'texmathp-tex-commands', then clear out 'font-latex-math-environments'. +You have to restart Emacs for this new customization to take effect for +fontification. + + In order to make math constructs more readable, font-latex displays +subscript and superscript parts in a smaller font and raised or lowered +respectively. This fontification feature can be controlled with the +variables 'font-latex-fontify-script' and 'font-latex-script-display'. + + -- User Option: font-latex-fontify-script + If non-nil, fontify subscript and superscript strings. Concretely, + this means that the scripts are raised or lowered. + + Another possiblity is setting this variable to the symbol + 'multi-level'. In this case, in a formula x^{y^z}, y is raised + above and smaller than x, and z is raised above and smaller than y. + With many script levels, the text might become too small to be + readable. (See 'font-latex-fontify-script-max-level' below.) + + Lastly, you can set this variable to 'invisible' whose behavior is + like 'multi-level', and in addition the super-/subscript characters + ^ and _ are not displayed. + + -- User Option: font-latex-fontify-script-max-level + Maximum scriptification level for which script faces are applied. + + The faces 'font-latex-superscript-face' and + 'font-latex-subscript-face' define custom ':height' values < 1.0. + Therefore, scripts are displayed with a slightly smaller font than + normal math text. If 'font-latex-fontify-script' is 'multi-level' + or 'invisible', the font size becomes too small to be readable + after a few levels. This option allows to specify the maximum + level after which the size of the script text won’t be shrunken + anymore. + + For example, in the expression x^{y^{z^a_b}}, x has scriptification + level 0, y has level 1, z has level 2, and both a and b have + scriptification level 3. + + If 'font-latex-fontify-script-max-level' was 2, then z, a, and b + would have the same font size. If it was 3 or more, then a and b + were smaller than z just in the same way as z is smaller than y and + y is smaller than x. + + The script characters '^' and '_' themselves are also fontified with +an own face named 'font-latex-script-char-face'. + + -- User Option: font-latex-script-display + Display specification for subscript and superscript content. The + car is used for subscript, the cdr is used for superscript. The + feature is implemented using so-called display properties. For + information on what exactly to specify for the values, see *note + Other Display Specifications: (elisp)Other Display Specs. + + +File: auctex.info, Node: Verbatim content, Next: Faces, Prev: Fontification of math, Up: Font Locking + +3.1.4 Verbatim macros and environments +-------------------------------------- + +Usually it is not desirable to have content to be typeset verbatim +highlighted according to LaTeX syntax. Therefore this content will be +fontified uniformly with the face 'font-latex-verbatim-face'. + + font-latex differentiates three different types of verbatim +constructs for fontification. Macros with special characters like | as +delimiters, macros with braces, and environments. Which macros and +environments are recognized is controlled by the variables +'LaTeX-verbatim-macros-with-delims', +'LaTeX-verbatim-macros-with-braces', and 'LaTeX-verbatim-environments' +respectively. + + +File: auctex.info, Node: Faces, Next: Known problems, Prev: Verbatim content, Up: Font Locking + +3.1.5 Faces used by font-latex +------------------------------ + +In case you want to change the colors and fonts used by font-latex +please refer to the faces mentioned in the explanations above and use +'M-x customize-face <RET> <face> <RET>'. All faces defined by +font-latex are accessible through a customization group by typing 'M-x +customize-group <RET> font-latex-highlighting-faces <RET>'. + + +File: auctex.info, Node: Known problems, Prev: Faces, Up: Font Locking + +3.1.6 Known fontification problems +---------------------------------- + +In certain cases the fontification machinery fails to interpret buffer +contents correctly. This can lead to color bleed, i.e. large parts of a +buffer get fontified with an inappropriate face. A typical situation +for this to happen is the use of a dollar sign ('$') in a verbatim macro +or environment. If font-latex is not aware of the verbatim construct, +it assumes the dollar sign to be a toggle for mathematics and fontifies +the following buffer content with the respective face until it finds a +closing dollar sign or till the end of the buffer. + + As a remedy you can make the verbatim construct known to font-latex +(*note Verbatim content::). If this is not possible, you can insert a +commented dollar sign ('%$') at the next suitable end of line as a quick +workaround. In docTeX documents, '^^A$' is also available for similar +purpose. + + +File: auctex.info, Node: Folding, Next: Outline, Prev: Font Locking, Up: Display + +3.2 Folding Macros and Environments +=================================== + +A popular complaint about markup languages like TeX and LaTeX is that +there is too much clutter in the source text and that one cannot focus +well on the content. There are macros where you are only interested in +the content they are enclosing, like font specifiers where the content +might already be fontified in a special way by font locking. Or macros +the content of which you only want to see when actually editing it, like +footnotes or citations. Similarly you might find certain environments +or comments distracting when trying to concentrate on the body of your +document. + + With AUCTeX's folding functionality you can collapse those items and +replace them by a fixed string, the content of one of their arguments, +or a mixture of both. If you want to make the original text visible +again in order to view or edit it, move point sideways onto the +placeholder (also called display string) or left-click with the mouse +pointer on it. The macro or environment will unfold automatically, stay +open as long as point is inside of it and collapse again once you move +point out of it. (Note that folding of environments currently does not +work in every AUCTeX mode.) + + In order to use this feature, you have to activate 'TeX-fold-mode' +which will activate the auto-reveal feature and the necessary commands +to hide and show macros and environments. You can activate the mode in +a certain buffer by typing the command 'M-x TeX-fold-mode <RET>' or +using the keyboard shortcut 'C-c C-o C-f'. If you want to use it every +time you edit a LaTeX document, add it to a hook: + + (add-hook 'LaTeX-mode-hook (lambda () + (TeX-fold-mode 1))) + + If it should be activated in all AUCTeX modes, use 'TeX-mode-hook' +instead of 'LaTeX-mode-hook'. + + Once the mode is active there are several commands available to hide +and show macros, environments and comments: + + -- Command: TeX-fold-buffer + ('C-c C-o C-b') Hide all foldable items in the current buffer + according to the setting of 'TeX-fold-type-list'. + + If you want to have this done automatically every time you open a + file, add it to a hook and make sure the function is called after + font locking is set up for the buffer. The following code should + accomplish this: + + (add-hook 'find-file-hook #'TeX-fold-buffer t) + + The command can be used any time to refresh the whole buffer and + fold any new macros and environments which were inserted after the + last invocation of the command. + + -- User Option: TeX-fold-type-list + List of symbols determining the item classes to consider for + folding. This can be macros, environments and comments. Per + default only macros and environments are folded. + + -- User Option: TeX-fold-force-fontify + In order for all folded content to get the right faces, the whole + buffer has to be fontified before folding is carried out. + 'TeX-fold-buffer' therefore will force fontification of unfontified + regions. As this will prolong the time folding takes, you can + prevent forced fontification by customizing the variable + 'TeX-fold-force-fontify'. + + -- User Option: TeX-fold-auto + By default, a macro inserted with 'TeX-insert-macro' ('C-c C-m') + will not be folded. Set this variable to a non-nil value to + aumatically fold macros as soon as they are inserted. + + -- User Option: TeX-fold-preserve-comments + By default items found in comments will be folded. If your + comments often contain unfinished code this might lead to problems. + Give this variable a non-nil value and foldable items in your + comments will be left alone. + + -- User Option: TeX-fold-unfold-around-mark + When this variable is non-nil and there is an active regione, text + around the mark will be kept unfolded. + + -- Command: TeX-fold-region + ('C-c C-o C-r') Hide all configured macros in the marked region. + + -- Command: TeX-fold-paragraph + ('C-c C-o C-p') Hide all configured macros in the paragraph + containing point. + + -- Command: TeX-fold-macro + ('C-c C-o C-m') Hide the macro on which point currently is located. + If the name of the macro is found in 'TeX-fold-macro-spec-list', + the respective display string will be shown instead. If it is not + found, the name of the macro in sqare brackets or the default + string for unspecified macros + ('TeX-fold-unspec-macro-display-string') will be shown, depending + on the value of the variable 'TeX-fold-unspec-use-name'. + + -- Command: TeX-fold-env + ('C-c C-o C-e') Hide the environment on which point currently is + located. The behavior regarding the display string is analogous to + 'TeX-fold-macro' and determined by the variables + 'TeX-fold-env-spec-list' and 'TeX-fold-unspec-env-display-string' + respectively. + + -- Command: TeX-fold-math + Hide the math macro on which point currently is located. If the + name of the macro is found in 'TeX-fold-math-spec-list', the + respective display string will be shown instead. If it is not + found, the name of the macro in sqare brackets or the default + string for unspecified macros + ('TeX-fold-unspec-macro-display-string') will be shown, depending + on the value of the variable 'TeX-fold-unspec-use-name'. + + -- Command: TeX-fold-comment + ('C-c C-o C-c') Hide the comment point is located on. + + -- Command: TeX-fold-clearout-buffer + ('C-c C-o b') Permanently unfold all macros and environments in the + current buffer. + + -- Command: TeX-fold-clearout-region + ('C-c C-o r') Permanently unfold all macros and environments in the + marked region. + + -- Command: TeX-fold-clearout-paragraph + ('C-c C-o p') Permanently unfold all macros and environments in the + paragraph containing point. + + -- Command: TeX-fold-clearout-item + ('C-c C-o i') Permanently show the macro or environment on which + point currently is located. In contrast to temporarily opening the + macro when point is moved sideways onto it, the macro will be + permanently unfolded and will not collapse again once point is + leaving it. + + -- Command: TeX-fold-dwim + ('C-c C-o C-o') Hide or show items according to the current + context. If there is folded content, unfold it. If there is a + marked region, fold all configured content in this region. If + there is no folded content but a macro or environment, fold it. + + In case you want to use a different prefix than 'C-c C-o' for these +commands you can customize the variable 'TeX-fold-command-prefix'. +(Note that this will not change the key binding for activating the +mode.) + + The commands above will only take macros or environments into +consideration which are specified in the variables +'TeX-fold-macro-spec-list' or 'TeX-fold-env-spec-list' respectively. + + -- User Option: TeX-fold-macro-spec-list + List of replacement specifiers and macros to fold. The specifier + can be a string, an integer or a function symbol. + + If you specify a string, it will be used as a display replacement + for the whole macro. Numbers in braces, brackets, parens or angle + brackets will be replaced by the respective macro argument. For + example '{1}' will be replaced by the first mandatory argument of + the macro. One can also define alternatives within the specifier + which are used if an argument is not found. Alternatives are + separated by '||'. They are most useful with optional arguments. + As an example, the default specifier for '\item' is '[1]:||*' which + means that if there is an optional argument, its value is shown + followed by a colon. If there is no optional argument, only an + asterisk is used as the display string. + + If you specify a number as the first element, the content of the + respective mandatory argument of a LaTeX macro will be used as the + placeholder. + + If the first element is a function symbol, the function will be + called with all mandatory arguments of the macro and the result of + the function call will be used as a replacement for the macro. + + The placeholder is made by copying the text from the buffer + together with its properties, i.e. its face as well. If + fontification has not happened when this is done (e.g. because of + lazy font locking) the intended fontification will not show up. As + a workaround you can leave Emacs idle a few seconds and wait for + stealth font locking to finish before you fold the buffer. Or you + just re-fold the buffer with 'TeX-fold-buffer' when you notice a + wrong fontification. + + -- User Option: TeX-fold-env-spec-list + List of display strings or argument numbers and environments to + fold. Argument numbers refer to the '\begin' statement. That + means if you have e.g. '\begin{tabularx}{\linewidth}{XXX} ... + \end{tabularx}' and specify 3 as the argument number, the resulting + display string will be "XXX". + + -- User Option: TeX-fold-math-spec-list + List of display strings and math macros to fold. + + The variables 'TeX-fold-macro-spec-list', 'TeX-fold-env-spec-list', +and 'TeX-fold-math-spec-list' apply to any AUCTeX mode. If you want to +make settings which are only applied to LaTeX mode, you can use the +mode-specific variables 'LaTeX-fold-macro-spec-list', +'LaTeX-fold-env-spec-list', and 'LaTeX-fold-math-spec-list' + + -- User Option: TeX-fold-unspec-macro-display-string + Default display string for macros which are not specified in + 'TeX-fold-macro-spec-list'. + + -- User Option: TeX-fold-unspec-env-display-string + Default display string for environments which are not specified in + 'TeX-fold-env-spec-list'. + + -- User Option: TeX-fold-unspec-use-name + If non-nil the name of the macro or environment surrounded by + square brackets is used as display string, otherwise the defaults + specified in 'TeX-fold-unspec-macro-display-string' or + 'TeX-fold-unspec-env-display-string' respectively. + + When you hover with the mouse pointer over folded content, its +original text will be shown in a tooltip or the echo area depending on +Tooltip mode being activate. In order to avoid exorbitantly big +tooltips and to cater for the limited space in the echo area the content +will be cropped after a certain amount of characters defined by the +variable 'TeX-fold-help-echo-max-length'. + + -- User Option: TeX-fold-help-echo-max-length + Maximum length of original text displayed in a tooltip or the echo + area for folded content. Set it to zero in order to disable this + feature. + + +File: auctex.info, Node: Outline, Next: Narrowing, Prev: Folding, Up: Display + +3.3 Outlining the Document +========================== + +AUCTeX supports the standard outline minor mode using LaTeX/ConTeXt +sectioning commands as header lines. *Note Outline Mode: (emacs)Outline +Mode. + + You can add your own headings by setting the variable +'TeX-outline-extra'. + + -- Variable: TeX-outline-extra + List of extra TeX outline levels. + + Each element is a list with two entries. The first entry is the + regular expression matching a header, and the second is the level + of the header. A '^' is automatically prepended to the regular + expressions in the list, so they must match text at the beginning + of the line. + + See 'LaTeX-section-list' or 'ConTeXt-INTERFACE-section-list' for + existing header levels. + + The following example add '\item' and '\bibliography' headers, with +'\bibliography' at the same outline level as '\section', and '\item' +being below '\subparagraph'. + + (setq TeX-outline-extra + '(("[ \t]*\\\\\\(bib\\)?item\\b" 7) + ("\\\\bibliography\\b" 2))) + + You may want to check out the unbundled 'out-xtra' package for even +better outline support. It is available from your favorite emacs lisp +archive. + + +File: auctex.info, Node: Narrowing, Next: Prettifying, Prev: Outline, Up: Display + +3.4 Narrowing +============= + +Sometimes you want to focus your attention to a limited region of the +code. You can do that by restricting the text addressable by editing +commands and hiding the rest of the buffer with the narrowing functions, +*note (emacs)Narrowing::. In addition, AUCTeX provides a couple of +other commands to narrow the buffer to a group, i.e. a region enclosed +in a pair of curly braces, and to LaTeX environments. + + -- Command: TeX-narrow-to-group + ('C-x n g') Make text outside current group invisible. + + -- Command: LaTeX-narrow-to-environment COUNT + ('C-x n e') Make text outside current environment invisible. With + optional argument COUNT keep visible that number of enclosing + environmens. + + Like other standard narrowing functions, the above commands are +disabled. Attempting to use them asks for confirmation and gives you +the option of enabling them; if you enable the commands, confirmation +will no longer be required for them. + + +File: auctex.info, Node: Prettifying, Prev: Narrowing, Up: Display + +3.5 Prettifying +=============== + +Emacs 25 is able to prettify symbols in programming language buffers, +*note (emacs)Misc for Programs::. The canonical example is to display +'(lambda () ...)' as '(λ () ...)' in Lisp buffers. + + AUCTeX can use this feature in order to display certain math macros +and greek letters using their Unicode representation, too. For example, +the TeX code '\alpha \times \beta' will be displayed as 'α × β'. When +point is on one of the characters, it'll be unprettified automatically, +meaning you see the verbatim text again. For this behaviour however you +need to set 'prettify-symbols-unprettify-at-point' to t or 'right-edge' +which will unprettify the symbol when point moves into or near it. + + To enable prettification in AUCTeX, simply add +'prettify-symbols-mode' to 'TeX-mode-hook'. If you enabled +prettification globally with 'global-prettify-symbols-mode', then it's +automatically enabled in AUCTeX, too. + + You can also add custom symbol unicode-character pairs for +prettification by adding to 'tex--prettify-symbols-alist'. Note that +this variable is part of Emacs' stock 'tex-mode.el' and used by that and +AUCTeX. + + +File: auctex.info, Node: Processing, Next: Customization, Prev: Display, Up: Top + +4 Starting Processors, Viewers and Other Programs +************************************************* + +The most powerful features of AUCTeX may be those allowing you to run +TeX, LaTeX, ConTeXt and other external commands like BibTeX and +'makeindex' from within Emacs, viewing and printing the results, and +moreover allowing you to _debug_ your documents. + + AUCTeX comes with a special tool bar for TeX and LaTeX which provides +buttons for the most important commands. You can enable or disable it +by customizing the options 'plain-TeX-enable-toolbar' and +'LaTeX-enable-toolbar' in the 'TeX-tool-bar' customization group. You +can also customize the buttons by the options 'TeX-bar-TeX-buttons', +'TeX-bar-TeX-all-button-alists', 'TeX-bar-LaTeX-buttons' and +'TeX-bar-LaTeX-button-alist'. + +* Menu: + +* Commands:: Invoking external commands. +* Viewing:: Invoking external viewers. +* Debugging:: Debugging TeX and LaTeX output. +* Checking:: Checking the document. +* Control:: Controlling the processes. +* Cleaning:: Cleaning intermediate and output files. +* Documentation:: Documentation about macros and packages. + + +File: auctex.info, Node: Commands, Next: Viewing, Up: Processing + +4.1 Executing Commands +====================== + +Formatting the document with TeX, LaTeX or ConTeXt, viewing with a +previewer, printing the document, running BibTeX, making an index, or +checking the document with 'lacheck' or 'chktex' all require running an +external command. + +* Menu: + +* Starting a Command:: Starting a Command on a Document or Region +* Selecting a Command:: Selecting and Executing a Command +* Processor Options:: Options for TeX Processors + + +File: auctex.info, Node: Starting a Command, Next: Selecting a Command, Up: Commands + +4.1.1 Starting a Command on a Document or Region +------------------------------------------------ + +There are two ways to run an external command, you can either run it on +the current document with 'TeX-command-master', or on the current region +with 'TeX-command-region'. A special case of running TeX on a region is +'TeX-command-buffer' which differs from 'TeX-command-master' if the +current buffer is not its own master file. + + -- Command: TeX-command-master + ('C-c C-c') Query the user for a command, and run it on the master + file associated with the current buffer. The name of the master + file is controlled by the variable 'TeX-master'. The available + commands are controlled by the variable 'TeX-command-list'. + + -- Command: TeX-command-region + ('C-c C-r') Query the user for a command, and run it on the + contents of the selected region. The region contents are written + into the region file, after extracting the header and trailer from + the master file. If mark is inactive (which can happen with + Transient Mark mode), use the old region. See also the command + 'TeX-pin-region' about how to fix a region. + + The name of the region file is controlled by the variable + 'TeX-region'. The name of the master file is controlled by the + variable 'TeX-master'. The header is all text up to the line + matching the regular expression 'TeX-header-end'. The trailer is + all text from the line matching the regular expression + 'TeX-trailer-start'. The available commands are controlled by the + variable 'TeX-command-list'. + + -- Command: TeX-command-buffer + ('C-c C-b') Query the user for a command, and apply it to the + contents of the current buffer. The buffer contents are written + into the region file, after extracting the header and trailer from + the master file. The command is then actually run on the region + file. See above for details. + + -- Command: LaTeX-command-section + ('C-c C-z') Query the user for a command, and apply it to the + current section (or part, chapter, subsection, paragraph, or + subparagraph). What makes the current section is determined by + 'LaTeX-command-section-level' which can be enlarged/shrunken using + 'LaTeX-command-section-change-level' ('C-c M-z'). The given + numeric prefix arg is added to the current value of + 'LaTeX-command-section-level'. By default, + 'LaTeX-command-section-level' is initialized with the current + document's 'LaTeX-largest-level'. The buffer contents are written + into the region file, after extracting the header and trailer from + the master file. The command is then actually run on the region + file. See 'TeX-command-region' for details. + + It is also possible to compile automatically the whole document until +it is ready with a single command: 'TeX-command-run-all'. + + -- Command: TeX-command-run-all + ('C-c C-a') Compile the current document until an error occurs or + it is finished. If compilation finishes successfully, run the + viewer at the end. + + Here are some relevant variables. + + -- User Option: TeX-region + The name of the file for temporarily storing the text when + formatting the current region. + + -- User Option: TeX-header-end + A regular expression matching the end of the header. By default, + this is '\begin{document}' in LaTeX mode and '%**end of header' in + plain TeX mode. + + -- User Option: TeX-trailer-start + A regular expression matching the start of the trailer. By + default, this is '\end{document}' in LaTeX mode and '\bye' in plain + TeX mode. + + If you want to change the values of 'TeX-header-end' and +'TeX-trailer-start' you can do this for all files by setting the +variables in a mode hook or per file by specifying them as file +variables (*note (emacs)File Variables::). + + -- Command: TeX-pin-region + ('C-c C-t C-r') If you don't have a mode like Transient Mark mode + active, where marks get disabled automatically, the region would + need to get properly set before each call to 'TeX-command-region'. + If you fix the current region with 'C-c C-t C-r', then it will get + used for more commands even though mark and point may change. An + explicitly activated mark, however, will always define a new region + when calling 'TeX-command-region'. + + If the last process you started was on the region, the commands +described in *note Debugging:: and *note Control:: will work on that +process, otherwise they will work on the process associated with the +current document. + + Don't run more than one process at the same time. AUCTeX doesn't +support simultaneous typeset including region typeset. Wait for the +previous process to finish before you start a new process, in particular +when you are editing multiple documents in parallel. This limitation +applies for preview by preview-latex as well. + + +File: auctex.info, Node: Selecting a Command, Next: Processor Options, Prev: Starting a Command, Up: Commands + +4.1.2 Selecting and Executing a Command +--------------------------------------- + +Once you started the command selection with 'C-c C-c', 'C-c C-r' or 'C-c +C-b' you will be prompted for the type of command. AUCTeX will try to +guess which command is appropriate in the given situation and propose it +as default. Usually this is a processor like 'TeX' or 'LaTeX' if the +document was changed or a viewer if the document was just typeset. +Other commands can be selected in the minibuffer with completion support +by typing <TAB>. + + The available commands are defined by the variable +'TeX-command-list'. Per default it includes commands for typesetting +the document (e.g. 'LaTeX'), for viewing the output ('View'), for +printing ('Print'), for generating an index ('Index') or for spell +checking ('Spell') to name but a few. You can also add your own +commands by adding entries to 'TeX-command-list'. Refer to its doc +string for information about its syntax. You might also want to look at +'TeX-expand-list' to learn about the expanders you can use in +'TeX-command-list'. + + Note that the default of the variable occasionally changes. +Therefore it is advisable to add to the list rather than overwriting it. +You can do this with a call to 'add-to-list' in your init file. For +example, if you wanted to add a command for running a program called +'foo' on the master or region file, you could do this with the following +form. + + (eval-after-load "tex" + '(add-to-list 'TeX-command-list + '("Foo" "foo %s" TeX-run-command t t :help "Run foo") + t)) + + As mentioned before, AUCTeX will try to guess what command you want +to invoke. If you want to use another command than 'TeX', 'LaTeX' or +whatever processor AUCTeX thinks is appropriate for the current mode, +set the variable 'TeX-command-default'. You can do this for all files +by setting it in a mode hook or per file by specifying it as a file +variable (*note (emacs)File Variables::). + + -- User Option: TeX-command-default + The default command to run in this buffer. Must be an entry in + 'TeX-command-list'. + + In case you use biblatex in a document, when automatic parsing is +enabled AUCTeX checks the value of 'backend' option given to biblatex at +load time to decide whether to use BibTeX or Biber for bibliography +processing. Should AUCTeX fail to detect the right backend, you can use +the file local 'LaTeX-biblatex-use-Biber' variable. + -- Variable: LaTeX-biblatex-use-Biber + If this boolean variable is set as file local, it tells to AUCTeX + whether to use Biber with biblatex. In this case, the + autodetection of the biblatex backend will be overridden. You may + want to set locally this variable if automatic parsing is not + enabled. + + After confirming a command to execute, AUCTeX will try to save any +buffers related to the document, and check if the document needs to be +reformatted. If the variable 'TeX-save-query' is non-nil, AUCTeX will +query before saving each file. By default AUCTeX will check emacs +buffers associated with files in the current directory, in one of the +'TeX-macro-private' directories, and in the 'TeX-macro-global' +directories. You can change this by setting the variable +'TeX-check-path'. + + -- User Option: TeX-check-path + Directory path to search for dependencies. + + If nil, just check the current file. Used when checking if any + files have changed. + + When performing spell checking on a document or a region (invoked +through AUCTeX's 'Spell' command or 'M-x ispell <RET>'), you want the +spell checking program to skip certain macro arguments and environments, +most notably the arguments of referencing macros and the contents of +verbatim environments. The skipped parts are controlled by variable +'ispell-tex-skip-alists' provided by 'ispell.el'. AUCTeX has a library +which can be added to this variable depending on the value of +'TeX-ispell-extend-skip-list' which is set to 't' by default. + + -- User Option: TeX-ispell-extend-skip-list + This boolean option controls whether AUCTeX activates its extension + for skipping certain macro arguments and environments when spell + checking. + + When non-'nil', AUCTeX loads the file 'tex-ispell.el' and adds its + content to 'ispell-tex-skip-alists'. This library can and will + never be complete, but the interface can be used to add selected + and private macro names within your init file or on a file local + basis. + + 'ispell-tex-skip-alists' has the following structure: + (defvar ispell-tex-skip-alists + '((;; First list + ("\\\\addcontentsline" ispell-tex-arg-end 2) + ("\\\\\\([aA]lph\\|arabic\\)" ispell-tex-arg-end) + ("\\\\makebox" ispell-tex-arg-end 0) + ("\\\\documentclass" . "\\\\begin{document}")) + (;; Second list + ("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0) + ("list" ispell-tex-arg-end 2) + ("verbatim\\*?" . "\\\\end{verbatim\\*?}"))) + "Lists of regions to be skipped in TeX mode. + First list is used raw. + Second list has key placed inside \\begin{}.") + Each item is an alist and the structure of it is described in + 'ispell-skip-region-alist': + (defvar ispell-skip-region-alist + '((...)) + "Alist expressing beginning and end of regions not to spell check. + The alist key must be a regular expression. + Valid forms include: + (KEY) - just skip the key. + (KEY . REGEXP) - skip to the end of REGEXP. + REGEXP may be string or symbol. + (KEY REGEXP) - skip to end of REGEXP. REGEXP must be a string. + (KEY FUNCTION ARGS) - FUNCTION called with ARGS + returns end of region.") + + Let's go through the first list of 'ispell-tex-skip-alists' line by + line: + ("\\\\addcontentsline" ispell-tex-arg-end 2) + 'KEY' is the string '"\\\\addcontentsline"', 'FUNCTION' is + 'ispell-tex-arg-end' called with 'ARGS', here '2'. + 'ispell-tex-arg-end' is a function provided by 'ispell.el' which + skips as many subsequent optional arguments in square brackets as + it sees and then skips 'ARGS' number of mandatory arguments in + braces. Omitting 'ARGS' means skip '1' mandatory argument. In + practice, when you have something like this in your document: + \addcontentsline{toc}{chapter}{Some text} + The first two arguments are left out and 'Some text' will be spell + checked. For the next line + ("\\\\\\([aA]lph\\|arabic\\)" ispell-tex-arg-end) + the name of the counter as argument is skipped. Next line is + ("\\\\makebox" ispell-tex-arg-end 0) + where only optional arguments are skipped, the first mandatory + argument is checked, e.g. + \makebox[0pt][l]{Some text} + Finally, the next line + ("\\\\documentclass" . "\\\\begin{document}")) + ensures that the entire preamble of a document is discarded. + Second list works the same; it is more convenient for environments + since 'KEY' is wrapped inside '\begin{}'. + + AUCTeX provides two functions to add items to car and cdr of + 'ispell-tex-arg-end', namely 'TeX-ispell-skip-setcar' and + 'TeX-ispell-skip-setcdr'. The argument of these functions is + exactly as in 'ispell-tex-skip-alists'. Additions can be done via + init file, e.g.: + (eval-after-load "tex-ispell" + '(progn + (TeX-ispell-skip-setcar + '(("\\\\mymacro" ispell-tex-arg-end))) + (TeX-ispell-skip-setcdr + '(("myverbatim" . "\\\\end{myverbatim}"))))) + + Another possibility is to use file local additions at the end of + your TeX file, e.g.: + %%% Local Variables: + %%% mode: latex + %%% TeX-master: t + %%% eval: (TeX-ispell-skip-setcar '(("\\\\mymacro" . "{[-0-9]+}"))) + %%% End: + + Finally, AUCTeX provides a function called 'TeX-ispell-tex-arg-end' + which sees more arguments than 'ispell-tex-arg-end'. Refer to its + doc string for more information. + + AUCTeX also provides a facility to skip the argument of in-line +verbatim macros like '\Verb' from 'fancyvrb.sty' or '\mintinline' from +'minted.sty'. Characters delimiting the verbatim text are stored in +'TeX-ispell-verb-delimiters'. + + -- User Option: TeX-ispell-verb-delimiters + String with delimiters recognized for in-line verbatim macros. + This variable is initialized to '!|#~"*/+^-'. Since this string is + used to build a character alternative inside a regular expression, + special characters '^' and '-' should come last. Other characters + like opening brace '{', asterisk '*' or at sign '@' should be + avoided as they are not recognized by 'font-latex.el'. + + +File: auctex.info, Node: Processor Options, Prev: Selecting a Command, Up: Commands + +4.1.3 Options for TeX Processors +-------------------------------- + +There are some options you can customize affecting which processors are +invoked or the way this is done and which output they produce as a +result. These options control if DVI or PDF output should be produced, +if TeX should be started in interactive or nonstop mode, if source +specials or a SyncTeX file should be produced for making inverse and +forward search possible or which TeX engine should be used instead of +regular TeX, like PDFTeX, Omega or XeTeX, and the style error messages +are printed with. + + -- Command: TeX-PDF-mode + ('C-c C-t C-p') This command toggles the PDF mode of AUCTeX, a + buffer-local minor mode which is enabled by default. You can + customize 'TeX-PDF-mode' to give it a different default or set it + as a file local variable on a per-document basis. This option + usually results in calling either PDFTeX or ordinary TeX. + + -- User Option: TeX-DVI-via-PDFTeX + If this is set, DVI will also be produced by calling PDFTeX, + setting '\pdfoutput=0'. This makes it possible to use PDFTeX + features like character protrusion even when producing DVI files. + Contemporary TeX distributions do this anyway, so that you need not + enable the option within AUCTeX. + + -- Command: TeX-interactive-mode + ('C-c C-t C-i') This command toggles the interactive mode of + AUCTeX, a global minor mode. You can customize + 'TeX-interactive-mode' to give it a different default. In + interactive mode, TeX will pause with an error prompt when errors + are encountered and wait for the user to type something. + + -- Command: TeX-source-correlate-mode + ('C-c C-t C-s') Toggles support for forward and inverse search. + Forward search refers to jumping to the place in the previewed + document corresponding to where point is located in the document + source and inverse search to the other way round. *Note I/O + Correlation::. + + You can permanently activate 'TeX-source-correlate-mode' by + customizing the variable 'TeX-source-correlate-mode'. There is a + bunch of customization options for the mode, use 'M-x + customize-group <RET> TeX-view <RET>' to find out more. + + AUCTeX is aware of three different means to do I/O correlation: + source specials (only DVI output), the pdfsync LaTeX package (only + PDF output) and SyncTeX. The choice between source specials and + SyncTeX can be controlled with the variable + 'TeX-source-correlate-method'. + + Should you use source specials it has to be stressed _very_ + strongly however, that source specials can cause differences in + page breaks and spacing, can seriously interfere with various + packages and should thus _never_ be used for the final version of a + document. In particular, fine-tuning the page breaks should be + done with source specials switched off. + + Sometimes you are requested, by journal rules or packages, to compile +the document into DVI output. Thus, if you want a PDF document in the +end you can either use XeTeX engine, see below for information about how +to set engines, or compile the document with 'tex' and then convert to +PDF with 'dvips'-'ps2pdf' before viewing it. In addition, current +Japanese TeX engines cannot generate PDF directly so they rely on +DVI-to-PDF converters. Usually 'dvipdfmx' command is used for this +purpose. You can use the 'TeX-PDF-from-DVI' variable to let AUCTeX know +you want to generate the final PDF by converting a DVI file. + + -- User Option: TeX-PDF-from-DVI + This option controls if and how to produce a PDF file by converting + a DVI file. + + When 'TeX-PDF-mode' is non-nil, if 'TeX-PDF-from-DVI' is non-nil + too the document is compiled to DVI instead of PDF. When the + document is ready, 'C-c C-c' will suggest to run the converter to + PDF or an intermediate format. + + If non-nil, 'TeX-PDF-from-DVI' should be the name of the command in + 'TeX-command-list', as a string, used to convert the DVI file to + PDF or to an intermediate format. Values currently supported are: + * '"Dvips"': the DVI file is converted to PS with 'dvips'. + After successfully running it, 'ps2pdf' will be the default + command to convert the PS file to PDF. + * '"Dvipdfmx"': the DVI file is converted to PDF with + 'dvipdfmx'. + (case is significant; note the uppercase 'D' in both strings) When + the PDF file is finally ready, the next suggested command will be + 'View' to open the viewer. + + This option can also be set as a file local variable, in order to + use this conversion on a per-document basis. + + Recall the whole sequence of 'C-c C-c' commands can be replaced by + the single 'C-c C-a'. + + AUCTeX also allows you to easily select different TeX engines for +processing, either by using the entries in the 'TeXing Options' submenu +below the 'Command' menu or by calling the function 'TeX-engine-set'. +These eventually set the variable 'TeX-engine' which you can also modify +directly. + + -- User Option: TeX-engine + This variable allows you to choose which TeX engine should be used + for typesetting the document, i.e. the executables which will be + used when you invoke the 'TeX' or 'LaTeX' commands. The value + should be one of the symbols defined in 'TeX-engine-alist-builtin' + or 'TeX-engine-alist'. The symbols 'default', 'xetex', 'luatex' + and 'omega' are available from the built-in list. + + Note that 'TeX-engine' is buffer-local, so setting the variable +directly or via the above mentioned menu or function will not take +effect in other buffers. If you want to activate an engine for all +AUCTeX modes, set 'TeX-engine' in your init file, e.g. by using 'M-x +customize-option <RET>'. If you want to activate it for a certain +AUCTeX mode only, set the variable in the respective mode hook. If you +want to activate it for certain files, set it through file variables +(*note (emacs)File Variables::). + + Should you need to change the executable names related to the +different engine settings, there are some variables you can tweak. +Those are 'TeX-command', 'LaTeX-command', 'TeX-Omega-command', +'LaTeX-Omega-command', 'ConTeXt-engine' and 'ConTeXt-Omega-engine'. The +rest of the executables is defined directly in +'TeX-engine-alist-builtin'. If you want to override an entry from that, +add an entry to 'TeX-engine-alist' that starts with the same symbol as +that the entry in the built-in list and specify the executables you want +to use instead. You can also add entries to 'TeX-engine-alist' in order +to add support for engines not covered per default. + + -- User Option: TeX-engine-alist + Alist of TeX engines and associated commands. Each entry is a list + with a maximum of five elements. The first element is a symbol + used to identify the engine. The second is a string describing the + engine. The third is the command to be used for plain TeX. The + fourth is the command to be used for LaTeX. The fifth is the + command to be used for the '--engine' parameter of ConTeXt's + 'texexec' program. Each command can either be a variable or a + string. An empty string or nil means there is no command + available. + + In some systems, Emacs cannot inherit the 'PATH' environment variable +from the shell and thus AUCTeX may not be able to run TeX commands. +Before running them, AUCTeX checks if it is able to find those commands +and will warn you in case it fails. You can skip this test by changing +the option 'TeX-check-TeX'. + + -- User Option: TeX-check-TeX + If non-nil, AUCTeX will check if it is able to find a working TeX + distribution before running TeX, LaTeX, ConTeXt, etc. It actually + checks if can run 'TeX-command' command or the shell returns a + command not found error. The error code returned by the shell in + this case can be set in 'TeX-check-TeX-command-not-found' option. + + Some LaTeX packages requires the document to be compiled with a +specific engine. Notable examples are 'fontspec' and 'polyglossia' +packages, which require LuaTeX and XeTeX engines. If you try to compile +a document which loads one of such packages and the set engine is not +one of those allowed you will be asked to select a different engine +before running the LaTeX command. If you do not want to be warned by +AUCTeX in these cases, customize the option 'TeX-check-engine'. + + -- User Option: TeX-check-engine + This boolean option controls whether AUCTeX should check the + correct engine has been set before running LaTeX commands. + + As shown above, AUCTeX handles in a special way most of the main +options that can be given to the TeX processors. When you need to pass +to the TeX processor arbitrary options not handled by AUCTeX, you can +use the file local variable 'TeX-command-extra-options'. + -- User Option: TeX-command-extra-options + String with the extra options to be given to the TeX processor. + For example, if you need to enable the shell escape feature to + compile a document, add the following line to the list of local + variables of the source file: + %%% TeX-command-extra-options: "-shell-escape" + By default this option is not safe as a file-local variable because + a specially crafted document compiled with shell escape enabled can + be used for malicious purposes. + + You can customize AUCTeX to show the processor output as it is +produced. + + -- User Option: TeX-show-compilation + If non-nil, the output of TeX compilation is shown in another + window. + + You can instruct TeX to print error messages in the form +'file:line:error' which is similar to the way many compilers format +them. + + -- User Option: TeX-file-line-error + If non-nil, TeX will produce 'file:line:error' style error + messages. + + ConTeXt users can choose between Mark II and Mark IV versions. This +is controlled by 'ConTeXt-Mark-version' option. + + -- User Option: ConTeXt-Mark-version + This variables specifies which version of Mark should be used. + Values currently supported are '"II"', the default, and '"IV"'. It + can be set globally using customization interface or on a per-file + basis, by specifying it as a file variable. + + +File: auctex.info, Node: Viewing, Next: Debugging, Prev: Commands, Up: Processing + +4.2 Viewing the Formatted Output +================================ + +AUCTeX allows you to start external programs for previewing the +formatted output of your document. + +* Menu: + +* Starting Viewers:: Starting viewers +* I/O Correlation:: Forward and inverse search + + +File: auctex.info, Node: Starting Viewers, Next: I/O Correlation, Up: Viewing + +4.2.1 Starting Viewers +---------------------- + +Viewers are normally invoked by pressing 'C-c C-c' once the document is +formatted, which will propose the 'View' command, or by activating the +respective entry in the Command menu. Alternatively you can type 'C-c +C-v' which calls the function 'TeX-view'. + + -- Command: TeX-view + ('C-c C-v') Start a viewer without confirmation. The viewer is + started either on a region or the master file, depending on the + last command issued. This is especially useful for jumping to the + location corresponding to point in the viewer when using + 'TeX-source-correlate-mode'. + + AUCTeX will try to guess which type of viewer (DVI, PostScript or +PDF) has to be used and what options are to be passed over to it. This +decision is based on the output files present in the working directory +as well as the class and style options used in the document. For +example, if there is a DVI file in your working directory, a DVI viewer +will be invoked. In case of a PDF file it will be a PDF viewer. If you +specified a special paper format like 'a5paper' or use the 'landscape' +option, this will be passed to the viewer by the appropriate options. +Especially some DVI viewers depend on this kind of information in order +to display your document correctly. In case you are using 'pstricks' or +'psfrag' in your document, a DVI viewer cannot display the contents +correctly and a PostScript viewer will be invoked instead. + + The association between the tests for the conditions mentioned above +and the viewers is made in the variable 'TeX-view-program-selection'. +Therefore this variable is the starting point for customization if you +want to use other viewers than the ones suggested by default. + + -- User Option: TeX-view-program-selection + This is a list of predicates and viewers which is evaluated from + front to back in order to find out which viewer to call under the + given conditions. In the first element of each list item you can + reference one or more predicates defined in + 'TeX-view-predicate-list' or 'TeX-view-predicate-list-builtin'. In + the second element you can reference a viewer defined in + 'TeX-view-program-list' or 'TeX-view-program-list-builtin'. The + viewer of the first item with a positively evaluated predicate is + selected. + + So 'TeX-view-program-selection' only contains references to the +actual implementations of predicates and viewer commands respectively +which can be found elsewhere. AUCTeX comes with a set of preconfigured +predicates and viewer commands which are stored in the variables +'TeX-view-predicate-list-builtin' and 'TeX-view-program-list-builtin' +respectively. If you are not satisfied with those and want to overwrite +one of them or add your own definitions, you can do so via the variables +'TeX-view-predicate-list' and 'TeX-view-program-list'. + + -- User Option: TeX-view-predicate-list + This is a list of predicates for viewer selection and invocation. + The first element of each list item is a symbol and the second + element a Lisp form to be evaluated. The form should return nil if + the predicate is not fulfilled. + + A built-in predicate from 'TeX-view-predicate-list-builtin' can be + overwritten by defining a new predicate with the same symbol. + + -- User Option: TeX-view-program-list + This is a list of viewer specifications each consisting of a + symbolic name and either a command line or a function to be invoked + when the viewer is called. If a command line is used, parts of it + can be conditionalized by prefixing them with predicates from + 'TeX-view-predicate-list' or 'TeX-view-predicate-list-builtin'. + (See the doc string for the exact format to use.) The command line + can also contain placeholders as defined in 'TeX-expand-list' and + 'TeX-expand-list-builtin' which are expanded before the viewer is + called. + + The third element of each item is a string, or a list of strings, + with the name of the executable, or executables, needed to open the + output file in the viewer. Placeholders defined in + 'TeX-expand-list' and 'TeX-expand-list-builtin' can be used here. + This element is optional and is used to check whether the viewer is + actually available on the system. + + A built-in viewer spec from 'TeX-view-program-list-builtin' can be + overwritten by defining a new viewer spec with the same name. + + After the viewer is called via either the 'View' command or the key +stroke 'C-c C-v', the window system focus goes and stays on the viewer. +If you prefer that the focus is pulled back to Emacs immediately after +that and you are using evince-compatible viewer, customize the option +'TeX-view-enince-keep-focus'. + + -- User Option: TeX-view-evince-keep-focus + When this option is non-nil and the viewer is compatible with + evince, the focus is pulled back to Emacs immediately after the + viewer is invoked or refreshed from within AUCTeX. + + Note that the viewer selection and invocation as described above will +only work if certain default settings in AUCTeX are intact. For one, +the whole viewer selection machinery will only be triggered if there is +no '%V' expander in 'TeX-expand-list'. So if you have trouble with the +viewer invocation you might check if there is an older customization of +the variable in place. In addition, the use of a function in +'TeX-view-program-list' only works if the 'View' command in +'TeX-command-list' makes use of the hook 'TeX-run-discard-or-function'. + + +File: auctex.info, Node: I/O Correlation, Prev: Starting Viewers, Up: Viewing + +4.2.2 Forward and Inverse Search +-------------------------------- + +Forward and inverse search refer to the correlation between the document +source in the editor and the typeset document in the viewer. Forward +search allows you to jump to the place in the previewed document +corresponding to a certain line in the document source and inverse +search vice versa. + + AUCTeX supports three methods for forward and inverse search: source +specials (only DVI output), the pdfsync LaTeX package (only PDF output) +and SyncTeX (any type of output). If you want to make use of forward +and inverse searching with source specials or SyncTeX, switch on +'TeX-source-correlate-mode'. *Note Processor Options::, on how to do +that. The use of the pdfsync package is detected automatically if +document parsing is enabled. Customize the variable +'TeX-source-correlate-method' to select the method to use. + + -- User Option: TeX-source-correlate-method + Method to use for enabling forward and inverse search. This can be + 'source-specials' if source specials should be used, 'synctex' if + SyncTeX should be used, or 'auto' if AUCTeX should decide. + + When the variable is set to 'auto', AUCTeX will always use SyncTeX + if your 'latex' processor supports it, source specials otherwise. + You must make sure your viewer supports the same method. + + It is also possible to specify a different method depending on the + output, either DVI or PDF, by setting the variable to an alist of + the kind + ((dvi . '<source-specials or synctex>') + (pdf . '<source-specials or synctex>')) + in which the CDR of each entry is a symbol specifying the method to + be used in the corresponding mode. The default value of the + variable is + ((dvi . source-specials) + (pdf . synctex)) + which is compatible with the majority of viewers. + + Forward search happens automatically upon calling the viewer, e.g. by +typing 'C-c C-v' ('TeX-view'). This will open the viewer or bring it to +front and display the output page corresponding to the position of point +in the source file. AUCTeX will automatically pass the necessary +command line options to the viewer for this to happen. + + You can also make special mouse event do forward search at the +clicked position. Use 'TeX-source-correlate-map'(1) and +'TeX-view-mouse' like this: + (eval-after-load "tex" + '(define-key TeX-source-correlate-map [C-down-mouse-1] + #'TeX-view-mouse)) + This example binds 'C-down-mouse-1', which usually opens a concise +menu to select buffer, to the command to do forward search. + + Upon opening the viewer you will be asked if you want to start a +server process (Gnuserv or Emacs server) which is necessary for inverse +search. This happens only if there is no server running already. You +can customize the variable 'TeX-source-correlate-start-server' to +inhibit the question and always or never start the server respectively. + + -- User Option: TeX-source-correlate-start-server + If 'TeX-source-correlate-mode' is active and a viewer is invoked, + the default behavior is to ask if a server process should be + started. Set this variable to 't' if the question should be + inhibited and the server should always be started. Set it to 'nil' + if the server should never be started. Inverse search will not be + available in the latter case. + + Inverse search, i.e. jumping to the part of your document source in +Emacs corresponding to a certain position in the viewer, is triggered +from the viewer, typically by a mouse click. Refer to the documentation +of your viewer to find out how it has to be configured and what you have +to do exactly. In xdvi you normally have to use 'C-down-mouse-1'. + + Note that inverse search with the Evince PDF viewer or its MATE fork +Atril might fail in raising the Emacs frame after updating point in your +document's buffer. There is simply no way to raise the Emacs frame +reliably accross different operating systems and different window +managers with their different focus stealing policies. If the Emacs +frame is not raised after performing an inverse search from Evince or +Atril, you can customize the following option. + + -- User Option: TeX-raise-frame-function + A function that will be called after performing an inverse search + from Evince or Atril in order to raise the current Emacs frame. + + If your Emacs frame is already raised in that situation, just leave + this variable set to its default value 'raise-frame'. Otherwise, + here are some alternative settings that work for some users. + + ;; Alternative 1: For some users, `x-focus-frame' works. + (setq TeX-raise-frame-function #'x-focus-frame) + + ;; Alternative 2: Under GNOME 3.20 (and probably others), it + ;; seems some focus stealing prevention policy prohibits that + ;; some window gets the focus immediately after the user has + ;; clicked in some other window. Here waiting a bit before + ;; issuing the request seems to work. + (setq TeX-raise-frame-function + (lambda () + (run-at-time 0.5 nil #'x-focus-frame))) + + ;; Alternative 3: Use the external wmctrl tool in order to + ;; force Emacs into the focus. + (setq TeX-raise-frame-function + (lambda () + (call-process + "wmctrl" nil nil nil "-i" "-R" + (frame-parameter (selected-frame) 'outer-window-id)))) + + ---------- Footnotes ---------- + + (1) The keymap name is 'TeX-source-correlate-map', not +'TeX-source-correlate-mode-map'. Actually, this keymap isn't +implemented as minor mode map of 'TeX-source-correlate-mode', in order +that its bindings don't affect buffers outside of AUCTeX. + + +File: auctex.info, Node: Debugging, Next: Checking, Prev: Viewing, Up: Processing + +4.3 Catching the errors +======================= + +Once you've formatted your document you may 'debug' it, i.e. browse +through the errors (La)TeX reported. You may also have a look at a +nicely formatted list of all errors and warnings reported by the +compiler. + + -- Command: TeX-next-error ARG REPARSE + ('C-c `') Go to the next error reported by TeX. The view will be + split in two, with the cursor placed as close as possible to the + error in the top view. In the bottom view, the error message will + be displayed along with some explanatory text. + + An optional numeric ARG, positive or negative, specifies how many + error messages to move. A negative ARG means to move back to + previous error messages, see also 'TeX-previous-error'. + + The optional REPARSE argument makes AUCTeX reparse the error + message buffer and start the debugging from the first error. This + can also be achieved by calling the function with a prefix argument + ('C-u'). + + -- Command: TeX-previous-error ARG + ('M-g p') Go to the previous error reported by TeX. An optional + numeric ARG specifies how many error messages to move backward. + This is like calling 'TeX-next-error' with a negative argument. + + The command 'TeX-previous-error' works only if AUCTeX can parse the +whole TeX log buffer. This is controlled by the 'TeX-parse-all-errors' +variable. + + -- User Option: TeX-parse-all-errors + If t, AUCTeX automatically parses the whole output log buffer right + after running a TeX command, in order to collect all warnings and + errors. This makes it possible to navigate back and forth between + the error messages using 'TeX-next-error' and 'TeX-previous-error'. + This is the default. If nil, AUCTeX does not parse the whole + output log buffer and 'TeX-previous-error' cannot be used. + + As default, AUCTeX will display a special help buffer containing the +error reported by TeX along with the documentation. There is however an +'expert' option, which allows you to display the real TeX output. + + -- User Option: TeX-display-help + If t AUCTeX will automatically display a help text whenever an + error is encountered using 'TeX-next-error' ('C-c `'). If nil a + terse information about the error is displayed in the echo area. + If 'expert' AUCTeX will display the output buffer with the raw TeX + output. + +* Menu: + +* Ignoring warnings:: Controlling warnings to be reported +* Error overview:: List of all errors and warnings + + +File: auctex.info, Node: Ignoring warnings, Next: Error overview, Up: Debugging + +4.3.1 Controlling warnings to be reported +----------------------------------------- + +Normally AUCTeX will only report real errors, but you may as well ask it +to report 'bad boxes' and warnings as well. + + -- Command: TeX-toggle-debug-bad-boxes + ('C-c C-t C-b') Toggle whether AUCTeX should stop at bad boxes + (i.e. overfull and underfull boxes) as well as normal errors. The + boolean option 'TeX-debug-bad-boxes' is set accordingly. + + -- Command: TeX-toggle-debug-warnings + ('C-c C-t C-w') Toggle whether AUCTeX should stop at warnings as + well as normal errors. The boolean option 'TeX-debug-warnings' is + set accordingly. + + While many users desire to have warnings reported after compilation, +there are certain warnings that are considered unimportant and users +want to ignore them. For a more fine-grained control of what kinds of +warnings should be shown after compilation, AUCTeX provides other +options. + + -- User Option: TeX-ignore-warnings + Controls which warnings are to be ignored. + + It can be a regexp matching the message of the warnings to be + ignored. + + More advanced users can set also this option to a symbol with the + name of a custom function taking as arguments all the information + of the warning listed in 'TeX-error-list' variable, except the last + one about whether to ignore the warning. See the code of + 'TeX-warning' function and the documentation of 'TeX-error-list' + for more details. + + -- Command: TeX-toggle-suppress-ignored-warnings + ('C-c C-t C-x') Toggle whether AUCTeX should actually hide the + ignored warnings specified with 'TeX-ignore-warnings'. The boolean + option 'TeX-suppress-ignored-warnings' is set accordingly. If this + is nil, all warnings are shown, even those matched by + 'TeX-ignore-warnings', otherwise these are hidden. + + Note that 'TeX-debug-warnings' takes the precedence: if it is nil, + all warnings are hidden in any case. + + +File: auctex.info, Node: Error overview, Prev: Ignoring warnings, Up: Debugging + +4.3.2 List of all errors and warnings +------------------------------------- + +When the option 'TeX-parse-all-errors' is non-nil, you will be also able +to open an overview of all errors and warnings reported by the TeX +compiler. + + -- Command: TeX-error-overview + Show an overview of the errors and warnings occurred in the last + TeX run. + + In this window you can visit the error on which point is by + pressing <RET>, and visit the next or previous issue by pressing + <n> or <p> respectively. A prefix argument to these keys specifies + how many errors to move forward or backward. You can visit an + error also by clicking on its message. Jump to error point in the + source code with <j>, and use <l> see the error in the log buffer. + In addition, you can toggle visibility of bad boxes, generic + warnings, and ignored warnings with <b>, <w>, and <x>, respectively + (see *note Ignoring warnings:: for details). Press <q> to quit the + overview. + + -- User Option: TeX-error-overview-open-after-TeX-run + When this boolean variable is non-nil, the error overview will be + automatically opened after running TeX if there are errors or + warnings to show. + + The error overview is opened in a new window of the current frame by +default, but you can change this behavior by customizing the option +'TeX-error-overview-setup'. + + -- User Option: TeX-error-overview-setup + Controls the frame setup of the error overview. The possible value + is: 'separate-frame'; with a nil value the current frame is used + instead. + + The parameters of the separate frame can be set with the + 'TeX-error-overview-frame-parameters' option. + + If the display does not support multi frame, the current frame will + be used regardless of the value of this variable. + + +File: auctex.info, Node: Checking, Next: Control, Prev: Debugging, Up: Processing + +4.4 Checking for problems +========================= + +Running TeX or LaTeX will only find regular errors in the document, not +examples of bad style. Furthermore, description of the errors may often +be confusing. The utilities 'lacheck' and 'chktex' can be used to find +style errors, such as forgetting to escape the space after an +abbreviation or using '...' instead of '\ldots' and other similar +problems. You start 'lacheck' with 'C-c C-c Check <RET>' and 'chktex' +with 'C-c C-c ChkTeX <RET>'. The result will be a list of errors in the +'*compilation*' buffer. You can go through the errors with 'C-x `' +('next-error', *note (emacs)Compilation::), which will move point to the +location of the next error. + + Alternatively, you may want in-buffer notation. AUCTeX provides +support for this using the Flymake package in Emacs 26 or newer (*note +(Flymake)Using Flymake:: for details). To enable, call 'M-x +flymake-mode <RET>' in the buffer or enable it in all buffers by adding +this to your init file: + (add-hook 'LaTeX-mode-hook #'flymake-mode) + Note that AUCTeX currently only provides support for using 'chktex' +as the flymake backend. + + Each of the two utilities 'lacheck' and 'chktex' will find some +errors the other doesn't, but 'chktex' is more configurable, allowing +you to create your own errors. You may need to install the programs +before using them. You can get 'lacheck' from +URL:<https://www.ctan.org/pkg/lacheck> and 'chktex' from +URL:<https://www.ctan.org/pkg/chktex>. TeX Live contains both. + + +File: auctex.info, Node: Control, Next: Cleaning, Prev: Checking, Up: Processing + +4.5 Controlling the output +========================== + +A number of commands are available for controlling the output of an +application running under AUCTeX + + -- Command: TeX-kill-job + ('C-c C-k') Kill currently running external application. This may + be either of TeX, LaTeX, previewer, BibTeX, etc. + + -- Command: TeX-recenter-output-buffer + ('C-c C-l') Recenter the output buffer so that the bottom line is + visible. + + -- Command: TeX-home-buffer + ('C-c ^') Go to the 'master' file in the document associated with + the current buffer, or if already there, to the file where the + current process was started. + + Additionally, output files produced by AUCTeX can be placed in a +separate directory. + + -- User Option: TeX-output-dir + Set this option to the path of a directory where output files will + be placed. The output files include those that are produced by + applications running under AUCTeX, temporary files related to + region processing and the preview-latex files. If a relative path + is specified, it is interpreted as being relative to the master + file in a mutlifile document. + + This is a buffer local variable and must be set separately for all + documents and all files in a multifile document. For example, + + %%% Local Variables: + %%% mode: latex + %%% TeX-output-dir: "build" + %%% End: + + Alternatively, you may use 'setq-default' to set the default value + of this option or set it as a directory local variable (*note + (emacs)Directory Variables::). + + Note that a non-nil value of 'TeX-output-dir' might be incompatible + with some TeX commands and macros. In particular, the LaTeX macro + '\include' is known to not work with this option. Some TeX + packages which produce intermediary files might also be + incompatible. A possible workaround for those packages is to + append the value of 'TeX-output-dir' to the environment variables + 'TEXINPUTS' and 'BIBINPUTS'. + + +File: auctex.info, Node: Cleaning, Next: Documentation, Prev: Control, Up: Processing + +4.6 Cleaning intermediate and output files +========================================== + + -- Command: TeX-clean + Remove generated intermediate files. In case a prefix argument is + given, remove output files as well. + + Canonical access to the function is provided by the 'Clean' and + 'Clean All' entries in 'TeX-command-list', invokable with 'C-c C-c' + or the Command menu. + + The patterns governing which files to remove can be adapted + separately for each AUCTeX mode by means of the following + variables: + * 'plain-TeX-clean-intermediate-suffixes' + * 'plain-TeX-clean-output-suffixes' + * 'LaTeX-clean-intermediate-suffixes' + * 'LaTeX-clean-output-suffixes' + * 'docTeX-clean-intermediate-suffixes' + * 'docTeX-clean-output-suffixes' + * 'Texinfo-clean-intermediate-suffixes' + * 'Texinfo-clean-output-suffixes' + * 'ConTeXt-clean-intermediate-suffixes' + * 'ConTeXt-clean-output-suffixes' + * 'AmSTeX-clean-intermediate-suffixes' + * 'AmSTeX-clean-output-suffixes' + + -- User Option: TeX-clean-confirm + Control if deletion of intermediate and output files has to be + confirmed before it is actually done. If non-nil, ask before + deleting files. + + +File: auctex.info, Node: Documentation, Prev: Cleaning, Up: Processing + +4.7 Documentation about macros and packages +=========================================== + + -- Command: TeX-documentation-texdoc + ('C-c ?') Get documentation about the packages installed on your + system, using 'texdoc' to find the manuals. The function will + prompt for the name of packages. If point is on a word, this will + be suggested as default. + + If the command is called with a prefix argument, you will be shown + a list of manuals of the given package among to choose. + + The command can be invoked by the key binding mentioned above as + well as the 'Find Documentation...' entry in the mode menu. + + +File: auctex.info, Node: Customization, Next: Appendices, Prev: Processing, Up: Top + +5 Customization and Extension +***************************** + +* Menu: + +* Modes and Hooks:: Modes and Hooks +* Multifile:: Multifile Documents +* Parsing Files:: Automatic Parsing of TeX Files +* Internationalization:: Language Support +* Automatic:: Automatic Customization +* Style Files:: Writing Your Own Style Support + + +File: auctex.info, Node: Modes and Hooks, Next: Multifile, Up: Customization + +5.1 Modes and Hooks +=================== + +AUCTeX supports a wide variety of derivatives and extensions of TeX. +Besides plain TeX those are LaTeX, AMS-TeX, ConTeXt, Texinfo and docTeX. +For each of them there is a separate major mode in AUCTeX and each major +mode runs 'text-mode-hook', 'TeX-mode-hook' as well as a hook special to +the mode in this order. (As an exception, Texinfo mode does not run +'TeX-mode-hook'.) The following table provides an overview of the +respective mode functions and hooks. + +Type Mode function Hook +------------------------------------------------------- +Plain TeX 'plain-tex-mode' 'plain-TeX-mode-hook' +LaTeX 'latex-mode' 'LaTeX-mode-hook' +AMS-TeX 'ams-tex-mode' 'AmS-TeX-mode-hook' +ConTeXt 'context-mode' 'ConTeXt-mode-hook' +Texinfo 'texinfo-mode' 'Texinfo-mode-hook' +DocTeX 'doctex-mode' 'docTeX-mode-hook' + + If you need to make a customization via a hook which is only relevant +for one of the modes listed above, put it into the respective mode hook, +if it is relevant for any AUCTeX mode, add it to 'TeX-mode-hook' and if +it is relevant for all text modes, append it to 'text-mode-hook'. + + Other useful hooks are listed below. + + -- Variable: TeX-after-compilation-finished-functions + Hook which is run after the TeX/LaTeX processor has successfully + finished compiling your document. (*Note Processing::, for finding + out how to compile your document.) Each function in the hook is + run with the compiled output document as its argument. + + This is useful for automatically refreshing the viewer after + re-compilation especially when using Emacs viewers such as DocView + or PDF Tools. The function 'TeX-revert-document-buffer' can be + added to the hook for this purpose. + + +File: auctex.info, Node: Multifile, Next: Parsing Files, Prev: Modes and Hooks, Up: Customization + +5.2 Multifile Documents +======================= + +You may wish to spread a document over many files (as you are likely to +do if there are multiple authors, or if you have not yet discovered the +power of the outline commands (*note Outline::)). This can be done by +having a "master" file in which you include the various files with the +TeX macro '\input' or the LaTeX macro '\include'. These files may also +include other files themselves. However, to format the document you +must run the commands on the top level master file. + + When you, for example, ask AUCTeX to run a command on the master +file, it has no way of knowing the name of the master file. By default, +it will assume that the current file is the master file. If you insert +the following in your init file ('init.el' or '.emacs'), AUCTeX will use +a more advanced algorithm. + + (setq-default TeX-master nil) ; Query for master file. + + In this case, AUCTeX will ask for the name of the master file +associated with the buffer. To avoid asking you again, AUCTeX will +automatically insert the name of the master file as a file variable +(*note (emacs)File Variables::). You can also insert the file variable +yourself, by putting the following text at the end of your files. + + %%% Local Variables: + %%% TeX-master: "master" + %%% End: + + You should always set this variable to the name of the top level +document. If you always use the same name for your top level documents, +you can set 'TeX-master' in your init file such as 'init.el' or +'.emacs'. + + (setq-default TeX-master "master") ; All master files called "master". + + -- User Option: TeX-master + The master file associated with the current buffer. If the file + being edited is actually included from another file, then you can + tell AUCTeX the name of the master file by setting this variable. + If there are multiple levels of nesting, specify the top level + file. + + If this variable is 'nil', AUCTeX will query you for the name. + + If the variable is 't', then AUCTeX will assume the file is a + master file itself. + + If the variable is 'shared', then AUCTeX will query for the name, + but will not change the file. + + If the variable is 'dwim', AUCTeX will try to avoid querying by + attempting to "do what I mean"; and then change the file. + + -- User Option: TeX-one-master + Regular expression matching ordinary TeX files. + + You should set this variable to match the name of all files, for + which it is a good idea to append a 'TeX-master' file variable + entry automatically. When AUCTeX adds the name of the master file + as a file variable, it does not need to ask next time you edit the + file. + + If you dislike AUCTeX automatically modifying your files, you can + set this variable to '"<none>"'. By default, AUCTeX will modify + any file with an extension of '.tex', '.texi' or '.dtx'. + + -- Command: TeX-master-file-ask + ('C-c _') Query for the name of a master file and add the + respective File Variables (*note (emacs)File Variables::) to the + file for setting this variable permanently. + + AUCTeX will not ask for a master file when it encounters existing + files. This function shall give you the possibility to insert the + variable manually. + + AUCTeX keeps track of macros, environments, labels, and style files +that are used in a given document. For this to work with multifile +documents, AUCTeX has to have a place to put the information about the +files in the document. This is done by having an 'auto' subdirectory +placed in the directory where your document is located. Each time you +save a file, AUCTeX will write information about the file into the +'auto' directory. When you load a file, AUCTeX will read the +information in the 'auto' directory about the file you loaded _and the +master file specified by 'TeX-master'_. Since the master file (perhaps +indirectly) includes all other files in the document, AUCTeX will get +information from all files in the document. This means that you will +get from each file, for example, completion for all labels defined +anywhere in the document. + + AUCTeX will create the 'auto' directory automatically if +'TeX-auto-save' is non-nil. Without it, the files in the document will +not know anything about each other, except for the name of the master +file. *Note Automatic Local::. + + -- Command: TeX-save-document + ('C-c C-d') Save all buffers known to belong to the current + document. + + -- User Option: TeX-save-query + If non-nil, then query the user before saving each file with + 'TeX-save-document'. + + +File: auctex.info, Node: Parsing Files, Next: Internationalization, Prev: Multifile, Up: Customization + +5.3 Automatic Parsing of TeX Files +================================== + +AUCTeX depends heavily on being able to extract information from the +buffers by parsing them. Since parsing the buffer can be somewhat slow, +the parsing is initially disabled. You are encouraged to enable them by +adding the following lines to your init file such as 'init.el' or +'.emacs'. + + (setq TeX-parse-self t) ; Enable parse on load. + (setq TeX-auto-save t) ; Enable parse on save. + + The latter command will make AUCTeX store the parsed information in +an 'auto' subdirectory in the directory each time the TeX files are +stored, *note Automatic Local::. If AUCTeX finds the pre-parsed +information when loading a file, it will not need to reparse the buffer. +The information in the 'auto' directory is also useful for multifile +documents, *note Multifile::, since it allows each file to access the +parsed information from all the other files in the document. This is +done by first reading the information from the master file, and then +recursively the information from each file stored in the master file. + + The variables can also be set on a per file basis, by changing the +file local variables. + + %%% Local Variables: + %%% TeX-parse-self: t + %%% TeX-auto-save: t + %%% End: + + Even when you have disabled the automatic parsing, you can force the +generation of style information by pressing 'C-c C-n'. This is often +the best choice, as you will be able to decide when it is necessary to +reparse the file. + + -- User Option: TeX-parse-self + Parse file after loading it if no style hook is found for it. + + -- User Option: TeX-auto-save + Automatically save style information when saving the buffer. + + -- Command: TeX-normal-mode ARG + ('C-c C-n') Remove all information about this buffer, and apply the + style hooks again. Save buffer first including style information. + With optional argument, also reload the style hooks. + + When AUCTeX saves your buffer, it can optionally convert all tabs in +your buffer into spaces. Tabs confuse AUCTeX's error message parsing +and so should generally be avoided. However, tabs are significant in +some environments, and so by default AUCTeX does not remove them. To +convert tabs to spaces when saving a buffer, insert the following in +your init file such as 'init.el' or '.emacs': + + (setq TeX-auto-untabify t) + + -- User Option: TeX-auto-untabify + Automatically remove all tabs from a file before saving it. + + Instead of disabling the parsing entirely, you can also speed it +significantly up by limiting the information it will search for (and +store) when parsing the buffer. You can do this by setting the default +values for the buffer local variables 'TeX-auto-regexp-list' and +'TeX-auto-parse-length' in your init file such as 'init.el' or '.emacs'. + + ;; Only parse LaTeX class and package information. + (setq-default TeX-auto-regexp-list 'LaTeX-auto-minimal-regexp-list) + ;; The class and package information is usually near the beginning. + (setq-default TeX-auto-parse-length 2000) + + This example will speed the parsing up significantly, but AUCTeX will +no longer be able to provide completion for labels, macros, +environments, or bibitems specified in the document, nor will it know +what files belong to the document. + + These variables can also be specified on a per file basis, by +changing the file local variables. + + %%% Local Variables: + %%% TeX-auto-regexp-list: TeX-auto-full-regexp-list + %%% TeX-auto-parse-length: 999999 + %%% End: + + -- User Option: TeX-auto-regexp-list + List of regular expressions used for parsing the current file. + + -- User Option: TeX-auto-parse-length + Maximal length of TeX file that will be parsed. + + The pre-specified lists of regexps are defined below. You can use +these before loading AUCTeX by quoting them, as in the example above. + + -- Constant: TeX-auto-empty-regexp-list + Parse nothing + + -- Constant: LaTeX-auto-minimal-regexp-list + Only parse LaTeX class and packages. + + -- Constant: LaTeX-auto-label-regexp-list + Only parse LaTeX labels. + + -- Constant: LaTeX-auto-index-regexp-list + Only parse LaTeX index and glossary entries. + + -- Constant: LaTeX-auto-class-regexp-list + Only parse macros in LaTeX classes and packages. + + -- Constant: LaTeX-auto-pagestyle-regexp-list + Only parse LaTeX pagestyles. + + -- Constant: LaTeX-auto-counter-regexp-list + Only parse LaTeX counters. + + -- Constant: LaTeX-auto-length-regexp-list + Only parse LaTeX lengths. + + -- Constant: LaTeX-auto-savebox-regexp-list + Only parse LaTeX saveboxes. + + -- Constant: LaTeX-auto-regexp-list + Parse common LaTeX commands. + + -- Constant: plain-TeX-auto-regexp-list + Parse common plain TeX commands. + + -- Constant: TeX-auto-full-regexp-list + Parse all TeX and LaTeX commands that AUCTeX can use. + + +File: auctex.info, Node: Internationalization, Next: Automatic, Prev: Parsing Files, Up: Customization + +5.4 Language Support +==================== + +TeX and Emacs are usable for European (Latin, Cyrillic, Greek) based +languages. Some LaTeX and EmacsLisp packages are available for easy +typesetting and editing documents in European languages. + + All Emacs versions supported by current AUCTeX can handle CJK +(Chinese, Japanese, and Korean) languages by default. + + In most cases, special versions of TeX engines are needed for +high-quality typesetting of CJK languages: CTeX and ChinaTeX for +Chinese, ASCII pTeX, upTeX and NTT jTeX for Japanese, HLaTeX and kTeX +for Korean. They are necessary as well when you want to typeset +documents saved in their domestic encodings such as 'Shift-JIS'. +Currently, AUCTeX offers native support for pTeX, upTeX and jTeX only. + + If you don't need fine tuning in the result with respect to the +typesetting rules of their respective national standards, most unicode +based TeX engines, e.g. LuaTeX and XeTeX, can handle CJK languages by +default if they are encoded in UTF-8. The CJK-LaTeX package is provided +for supporting CJK scripts in a standard LaTeX document. + +* Menu: + +* European:: Using AUCTeX with European Languages +* Japanese:: Using AUCTeX with Japanese + + +File: auctex.info, Node: European, Next: Japanese, Up: Internationalization + +5.4.1 Using AUCTeX with European Languages +------------------------------------------ + +5.4.1.1 Typing and Displaying Non-ASCII Characters +.................................................. + +First you will need a way to write non-ASCII characters. You can either +use macros, or teach TeX about the ISO character sets. I prefer the +latter, it has the advantage that the usual standard emacs word movement +and case change commands will work. + + Recommended encoding for LaTeX document is UTF-8. Recent LaTeX2e has +native support for UTF-8. If your LaTeX2e is not recent enough, just +add '\usepackage[utf8]{inputenc}'. + + You can still use ISO 8859 Latin 1 encoding with +'\usepackage[latin1]{inputenc}'. + + To be able to display non-ASCII characters you will need an +appropriate font. All Emacs versions supported by current AUCTeX can +display 8-bit characters, provided that suitable fonts are installed. + + A compromise is to use an European character set when editing the +file, and convert to TeX macros when reading and writing the files. + +'iso-cvt.el' + Much like 'iso-tex.el' but is bundled with Emacs 19.23 and later. + +'X-Symbol' + a much more complete package for Emacs that can also handle a lot + of mathematical characters and input methods. + +5.4.1.2 Style Files for Different Languages +........................................... + +AUCTeX supports style files for several languages. Each style file may +modify AUCTeX to better support the language, and will run a language +specific hook that will allow you to for example change ispell +dictionary, or run code to change the keyboard remapping. The following +will for example choose a Danish dictionary for documents including +'\usepackage[danish]{babel}'. This requires parsing to be enabled, +*note Parsing Files::. + + (add-hook 'TeX-language-dk-hook + (lambda () (ispell-change-dictionary "danish"))) + + The following style files are recognized: + +'brazilian' +'brazil' + Runs style hook 'TeX-language-pt-br-hook'. Gives '"' word syntax, + makes the <"> key inserts '``' or '''' depending on context. + Typing <"> twice will insert a literal '"'. Typing <-> twice will + insert '"=', three times '--'. + +'bulgarian' + Runs style hook 'TeX-language-bg-hook'. Gives '"' word syntax, + makes the <"> key insert a literal '"'. Typing <"> twice will + insert '"`' or '"'' depending on context. Typing <-> twice will + insert '"=', three times '--'. + +'czech' + Runs style hook 'TeX-language-cz-hook'. Pressing <"> will insert + '\uv{' and '}' depending on context. + +'danish' + Runs style hook 'TeX-language-dk-hook'. Pressing <"> will insert + '"`' and '"'' depending on context. Typing <-> twice will insert + '"=', i.e. a hyphen string allowing hyphenation in the composing + words. + +'dutch' + Runs style hook 'TeX-language-nl-hook'. + +'english' +'australian' +'canadian' +'newzealand' + Runs style hook 'TeX-language-en-hook'. + +'frenchb' +'francais' + Runs style hook 'TeX-language-fr-hook'. Pressing <"> will insert + '\og' and '\fg' depending on context. Note that the language name + for customizing 'TeX-quote-language-alist' is 'french'. + +'german' +'ngerman' + Runs style hook 'TeX-language-de-hook'. Gives '"' word syntax, + makes the <"> key insert a literal '"'. Pressing the key twice + will give you opening or closing German quotes ('"`' or '"''). + Typing <-> twice will insert '"=', three times '--'. + +'icelandic' + Runs style hook 'TeX-language-is-hook'. Gives '"' word syntax, + makes the <"> key insert a literal '"'. Typing <"> twice will + insert '"`' or '"'' depending on context. Typing <-> twice will + insert '"=', three times '--'. + +'italian' + Runs style hook 'TeX-language-it-hook'. Pressing <"> will insert + '"<' and '">' depending on context. + +'polish' + Runs style hook 'TeX-language-pl-hook'. Gives '"' word syntax and + makes the <"> key insert a literal '"'. Pressing <"> twice will + insert '"`' or '"'' depending on context. + +'polski' + Runs style hook 'TeX-language-pl-hook'. Makes the <"> key insert a + literal '"'. Pressing <"> twice will insert ',,' or '''' depending + on context. + +'portuguese' +'portuges' + Runs style hook 'TeX-language-pt-hook'. Gives '"' word syntax, + makes the <"> key inserts '"<' or '">' depending on context. + Typing <"> twice will insert a literal '"'. Typing <-> twice will + insert '"=', three times '--'. Note that the language name for + customizing 'TeX-quote-language-alist' is 'portuguese'. + +'slovak' + Runs style hook 'TeX-language-sk-hook'. Pressing <"> will insert + '\uv{' and '}' depending on context. + +'swedish' + Runs style hook 'TeX-language-sv-hook'. Pressing <"> will insert + ''''. Typing <-> twice will insert '"=', three times '--'. + + Replacement of language-specific hyphen strings like '"=' with dashes +does not require to type <-> three times in a row. You can put point +after the hypen string anytime and trigger the replacement by typing +<->. + + In case you are not satisfied with the suggested behavior of quote +and hyphen insertion you can change it by customizing the variables +'TeX-quote-language-alist' and 'LaTeX-babel-hyphen-language-alist' +respectively. + + -- User Option: TeX-quote-language-alist + Used for overriding the default language-specific quote insertion + behavior. This is an alist where each element is a list consisting + of four items. The first item is the name of the language in + concern as a string. See the list of supported languages above. + The second item is the opening quotation mark. The third item is + the closing quotation mark. Opening and closing quotation marks + can be specified directly as strings or as functions returning a + string. The fourth item is a boolean controlling quote insertion. + It should be non-nil if if the special quotes should only be used + after inserting a literal '"' character first, i.e. on second key + press. + + -- User Option: LaTeX-babel-hyphen-language-alist + Used for overriding the behavior of hyphen insertion for specific + languages. Every element in this alist is a list of three items. + The first item should specify the affected language as a string. + The second item denotes the hyphen string to be used as a string. + The third item, a boolean, controls the behavior of hyphen + insertion and should be non-nil if the special hyphen should be + inserted after inserting a literal '-' character, i.e. on second + key press. + + The defaults of hyphen insertion are defined by the variables +'LaTeX-babel-hyphen' and 'LaTeX-babel-hyphen-after-hyphen' respectively. + + -- User Option: LaTeX-babel-hyphen + String to be used when typing <->. This usually is a hyphen + alternative or hyphenation aid provided by 'babel' and the related + language style files, like '"=', '"~' or '"-'. + + Set it to an empty string or nil in order to disable + language-specific hyphen insertion. + + -- User Option: LaTeX-babel-hyphen-after-hyphen + Control insertion of hyphen strings. If non-nil insert normal + hyphen on first key press and swap it with the language-specific + hyphen string specified in the variable 'LaTeX-babel-hyphen' on + second key press. If nil do it the other way round. + + +File: auctex.info, Node: Japanese, Prev: European, Up: Internationalization + +5.4.2 Using AUCTeX with Japanese TeX +------------------------------------ + +To write Japanese text with AUCTeX, you need the versions of TeX and +Emacs that support Japanese. AUCTeX supports three Japanese TeX engines +by default: NTT jTeX, ASCII pTeX and upTeX. + + Activate 'japanese-plain-tex-mode' or 'japanese-latex-mode' to use +the Japanese TeX engines. If it doesn't work, send mail to Masayuki +Ataka <masayuki.ataka@gmail.com> or Ikumi Keita +<ikumikeita@jcom.home.ne.jp>, who currently concern with stuff related +to Japanese in AUCTeX. None of the primary AUCTeX maintainers +understand Japanese, so they cannot help you. + + It is recommended to enable 'TeX-parse-self' for typical Japanese +LaTeX users. When enabled, 'japanese-latex-mode' selects the suitable +Japanese TeX engine automatically based on the class file name (such as +'jbook', 'jsarticle' and 'tjreport') and its option. *Note Parsing +Files::. + + It is important to select the suitable Japanese TeX engine because +the selected engine determines the command name such as 'platex' and +'uptex' to typeset the document. If you find that wrong command is +used, check the value of 'TeX-engine' on that buffer. If the value does +not suit the current document, change the value by the 'TeXing Options' +submenu below the 'Command' menu. *Note Processor Options::. + + To make the selected engine to persist across Emacs sessions, there +are two ways from which you can choose one according to your needs: + + 1. If you use a specific engine (almost) exclusively, customize the + option 'japanese-TeX-engine-default'. + + -- User Option: japanese-TeX-engine-default + The default 'TeX-engine' in Japanese TeX mode. + + The default value is 'ptex'. + 2. If you want to set the engine on a per file basis, use the file + local variables to set 'TeX-engine'. + + Here is a sample code to set 'TeX-engine' to 'uptex': + + %%% Local Variables: + %%% mode: japanese-latex + %%% TeX-engine: uptex + %%% End: + + In the both cases above, the valid value is one of 'ptex', 'jtex' and +'uptex'. + + You can override the command names associated with the above three +engines or define your own engine by customizing 'TeX-engine-alist'. +*Note Processor Options::. + + It is sometimes necessary to use an engine which differs from the one +AUCTeX selects automatically. For example, even when you want to use +'j-article' document class deliberately with ASCII pLaTeX, AUCTeX +selects NTT jLaTeX command if 'TeX-parse-self' is enabled, because +'j-article' originally belongs to NTT jLaTeX. In such cases, use the +file local variable method above to select the engine you intend to use. + + If you usually use AUCTeX in Japanese, setting the following +variables is useful. + + -- User Option: TeX-default-mode + Mode to enter for a new file when it cannot be determined whether + the file is plain TeX or LaTeX or what. + + If you want to enter Japanese LaTeX mode whenever this may happen, + set the variable like this: + (setq TeX-default-mode 'japanese-latex-mode) + + -- User Option: japanese-LaTeX-default-style + The default style/class when creating a new Japanese LaTeX + document. + + The default value is '"jarticle"'. + + It is recommended also for Japanese users to customize the option +'TeX-PDF-from-DVI' to '"Dvipdfmx"'. *Note Processor Options::. + + There are three customize options with regard to the encoding of +Japanese text. + + -- User Option: japanese-TeX-use-kanji-opt-flag + If non-nil, AUCTeX adds '-kanji' option to the typesetting command + when 'TeX-engine' is 'ptex'. + + Usually AUCTeX guesses the right coding systems for input to and +output from the Japanese TeX process, but you can override them by the +following two customize options. + + -- User Option: TeX-japanese-process-input-coding-system + If non-nil, used for encoding input to Japanese TeX process. When + 'nil', AUCTeX tries to choose suitable coding system. + + -- User Option: TeX-japanese-process-output-coding-system + If non-nil, used for decoding output from Japanese TeX process. + When 'nil', AUCTeX tries to choose suitable coding system. + + The former customize options 'japanese-TeX-command-default', +'japanese-LaTeX-command-default' and 'japanese-TeX-command-list' are +removed from AUCTeX. Use 'japanese-TeX-engine-default' instead. If you +need to customize the executable file name such as '"latex"', the +options for them, or both, customize 'TeX-engine-alist'. + + The following two additional font commands are available in LaTeX +mode buffer. + +'C-c C-f g' + Insert gothic font command '\textgt{-!-}' or '\mathgt{-!-}' + depending on the context. + +'C-c C-f m' + Insert mincho font command '\textmc{-!-}' or '\mathmc{-!-}' + depending on the context. + + Although they are meaningful only with 'ptex' and 'uptex' engines, it +won't matter in buffers with other engines. + + See 'tex-jp.el' for more information. + + +File: auctex.info, Node: Automatic, Next: Style Files, Prev: Internationalization, Up: Customization + +5.5 Automatic Customization +=========================== + +Since AUCTeX is so highly customizable, it makes sense that it is able +to customize itself. The automatic customization consists of scanning +TeX files and extracting symbols, environments, and things like that. + + The automatic customization is done on three different levels. The +global level is the level shared by all users at your site, and consists +of scanning the standard TeX style files, and any extra styles added +locally for all users on the site. The private level deals with those +style files you have written for your own use, and use in different +documents. You may have a '~/lib/TeX/' directory where you store useful +style files for your own use. The local level is for a specific +directory, and deals with writing customization for the files for your +normal TeX documents. + + If compared with the environment variable 'TEXINPUTS', the global +level corresponds to the directories built into TeX. The private level +corresponds to the directories you add yourself, except for '.', which +is the local level. + +* Menu: + +* Automatic Global:: Automatic Customization for the Site +* Automatic Private:: Automatic Customization for a User +* Automatic Local:: Automatic Customization for a Directory + + By default AUCTeX will search for customization files in all the +global, private, and local style directories, but you can also set the +path directly. This is useful if you for example want to add another +person's style hooks to your path. Please note that all matching files +found in 'TeX-style-path' are loaded, and all hooks defined in the files +will be executed. + + -- User Option: TeX-style-path + List of directories to search for AUCTeX style files. + + By default, when AUCTeX searches a directory for files, it will +recursively search through subdirectories. + + -- User Option: TeX-file-recurse + Whether to search TeX directories recursively: nil means do not + recurse, a positive integer means go that far deep in the directory + hierarchy, t means recurse indefinitely. + + By default, AUCTeX will ignore files named '.', '..', 'SCCS', 'RCS', +and 'CVS'. + + -- User Option: TeX-ignore-file + Regular expression matching file names to ignore. + + These files or directories will not be considered when searching + for TeX files in a directory. + + +File: auctex.info, Node: Automatic Global, Next: Automatic Private, Up: Automatic + +5.5.1 Automatic Customization for the Site +------------------------------------------ + +Assuming that the automatic customization at the global level was done +when AUCTeX was installed, your choice is now: will you use it? If you +use it, you will benefit by having access to all the symbols and +environments available for completion purposes. The drawback is slower +load time when you edit a new file and perhaps too many confusing +symbols when you try to do a completion. + + You can disable the automatic generated global style hooks by setting +the variable 'TeX-auto-global' to nil. + + -- User Option: TeX-macro-global + Directories containing the site's TeX style files. + + -- User Option: TeX-style-global + Directory containing hand generated TeX information. + + These correspond to TeX macros shared by all users of a site. + + -- User Option: TeX-auto-global + Directory containing automatically generated information. + + For storing automatic extracted information about the TeX macros + shared by all users of a site. + + +File: auctex.info, Node: Automatic Private, Next: Automatic Local, Prev: Automatic Global, Up: Automatic + +5.5.2 Automatic Customization for a User +---------------------------------------- + +You should specify where you store your private TeX macros, so AUCTeX +can extract their information. The extracted information will go to the +directories listed in 'TeX-auto-private' + + Use 'M-x TeX-auto-generate <RET>' to extract the information. + + -- User Option: TeX-macro-private + Directories where you store your personal TeX macros. The value + defaults to the directories listed in the 'TEXINPUTS' and + 'BIBINPUTS' environment variables or to the respective directories + in '$TEXMFHOME' of 'kpsewhich' setting if no results can be + obtained from the environment variables. + + -- User Option: TeX-auto-private + List of directories containing automatically generated AUCTeX style + files. These correspond to the personal TeX macros. + + -- Command: TeX-auto-generate TEX AUTO + ('M-x TeX-auto-generate <RET>') Generate style hook for TEX and + store it in AUTO. If TEX is a directory, generate style hooks for + all files in the directory. + + -- User Option: TeX-style-private + List of directories containing hand generated AUCTeX style files. + These correspond to the personal TeX macros. + + +File: auctex.info, Node: Automatic Local, Prev: Automatic Private, Up: Automatic + +5.5.3 Automatic Customization for a Directory +--------------------------------------------- + +AUCTeX can update the style information about a file each time you save +it, and it will do this if the directory 'TeX-auto-local' exists. +'TeX-auto-local' is by default set to '"auto"', so simply creating an +'auto' directory will enable automatic saving of style information. + + The advantage of doing this is that macros, labels, etc. defined in +any file in a multifile document will be known in all the files in the +document. The disadvantage is that saving will be slower. To disable, +set 'TeX-auto-local' to nil. + + -- User Option: TeX-style-local + Directory containing hand generated TeX information. + + These correspond to TeX macros found in the current directory. + + -- User Option: TeX-auto-local + Directory containing automatically generated TeX information. + + These correspond to TeX macros found in the current directory. + + +File: auctex.info, Node: Style Files, Prev: Automatic, Up: Customization + +5.6 Writing Your Own Style Support +================================== + +*Note Automatic::, for a discussion about automatically generated +global, private, and local style files. The hand generated style files +are equivalent, except that they by default are found in 'style' +directories instead of 'auto' directories. + +* Menu: + +* Simple Style:: A Simple Style File +* Adding Macros:: Adding Support for Macros +* Adding Environments:: Adding Support for Environments +* Adding Other:: Adding or Examining Other Information +* Hacking the Parser:: Automatic Extraction of New Things + + If you write some useful support for a public TeX style file, please +send it to us. + + +File: auctex.info, Node: Simple Style, Next: Adding Macros, Up: Style Files + +5.6.1 A Simple Style File +------------------------- + +Here is a simple example of a style file. + + ;;; book.el - Special code for book style. + + (TeX-add-style-hook + "book" + (lambda () + (LaTeX-largest-level-set "part")) + TeX-dialect) + + The example is from the AUCTeX sources and is loaded for any LaTeX +document using the book document class (or style before LaTeX2e). (Note +that the above code is much simplified for explanatory purpose.) The +file specifies that the largest kind of section in such a document is +'part'. The interesting thing to notice is that the style file defines +an (anonymous) function, and adds it to the list of loaded style hooks +by calling 'TeX-add-style-hook'. + + The first time the user indirectly tries to access some +style-specific information, such as the largest sectioning command +available, the style hooks for all files directly or indirectly read by +the current document are executed. The actual files will only be +evaluated once, but the hooks will be called for each buffer using the +style file. + + Note that the basename of the style file and the name of the style +hook should usually be identical. + + -- Function: TeX-add-style-hook STYLE HOOK &optional DIALECT-EXPR + Add HOOK to the list of functions to run when we use the TeX file + STYLE and the current dialect is one in the set derived from + DIALECT-EXPR. When DIALECT-EXPR is omitted, then HOOK is allowed + to be run whatever the current dialect is. + + DIALECT-EXPR may be one of: + + * A symbol indicating a singleton containing one basic TeX + dialect, this symbol shall be selected among: + ':latex' + For all files in LaTeX mode, or any mode derived thereof. + ':bibtex' + For all files in BibTeX mode, or any mode derived + thereof. + ':texinfo' + For all files in Texinfo mode. + ':plain-tex' + For all files in plain-TeX mode, or any mode derived + thereof. + ':context' + For all files in ConTeXt mode. + ':classopt' + For class options of LaTeX document. This is provided as + pseudo-dialect for style hooks associated with class + options. + * A logical expression like: + '(or DIALECT-EXPRESSION1 ... DIALECT-EXPRESSION_N)' + For union of the sets of dialects corresponding to + DIALECT-EXPRESSION1 through DIALECT-EXPRESSION_N + '(and DIALECT-EXPRESSION1 ... DIALECT-EXPRESSION_N)' + For intersection of the sets of dialects corresponding to + DIALECT-EXPRESSION1 through DIALECT-EXPRESSION_N + '(nor DIALECT-EXPRESSION1 ... DIALECT-EXPRESSION_N)' + For complement of the union sets of dialects + corresponding to DIALECT-EXPRESSION1 through + DIALECT-EXPRESSION_N relatively to the set of all + supported dialects + '(not DIALECT-EXPR)' + For complement set of dialect corresponding to + DIALECT-EXPR relatively to the set of all supported + dialects + + In case of adding a style hook for LaTeX, when calling function +'TeX-add-style-hook' it is thought more futureproof for argument +DIALECT-EXPR to pass constant 'TeX-dialect' currently defined to +':latex', rather than passing ':latex' directly. + + -- Constant: TeX-dialect + Default dialect for use with function 'TeX-add-style-hook' for + argument DIALECT-EXPR when the hook is to be run only on LaTeX + file, or any mode derived thereof. + + +File: auctex.info, Node: Adding Macros, Next: Adding Environments, Prev: Simple Style, Up: Style Files + +5.6.2 Adding Support for Macros +------------------------------- + +The most common thing to define in a style hook is new symbols (TeX +macros). Most likely along with a description of the arguments to the +function, since the symbol itself can be defined automatically. + + Here are a few examples from 'latex.el'. + + (TeX-add-style-hook + "latex" + (lambda () + (TeX-add-symbols + '("arabic" TeX-arg-counter) + '("label" TeX-arg-define-label) + '("ref" TeX-arg-ref) + '("newcommand" TeX-arg-define-macro [ "Number of arguments" ] t) + '("newtheorem" TeX-arg-define-environment + [ TeX-arg-environment "Numbered like" ] + t [ TeX-arg-counter "Within counter" ])))) + + -- Function: TeX-add-symbols SYMBOL ... + Add each SYMBOL to the list of known symbols. + + Each argument to 'TeX-add-symbols' is a list describing one symbol. +The head of the list is the name of the symbol, the remaining elements +describe each argument. + + If there are no additional elements, the symbol will be inserted with +point inside braces. Otherwise, each argument of this function should +match an argument of the TeX macro. What is done depends on the +argument type. + + If a macro is defined multiple times, AUCTeX will choose the one with +the longest definition (i.e. the one with the most arguments). + + Thus, to overwrite + '("tref" 1) ; one argument + you can specify + '("tref" TeX-arg-ref ignore) ; two arguments + + 'ignore' is a function that does not do anything, so when you insert +a 'tref' you will be prompted for a label and no more. + + You can use the following types of specifiers for arguments: + +'string' + Use the string as a prompt to prompt for the argument. + +'number' + Insert that many braces, leave point inside the first. 0 and -1 + are special. 0 means that no braces are inserted. -1 means that + braces are inserted around the macro and an active region (e.g. + '{\tiny foo}'). If there is no active region, no braces are + inserted. + +'nil' + Insert empty braces. + +'t' + Insert empty braces, leave point between the braces. + +'other symbols' + Call the symbol as a function. You can define your own hook, or + use one of the predefined argument hooks. + +'list' + If the car is a string, insert it as a prompt and the next element + as initial input. Otherwise, call the car of the list with the + remaining elements as arguments. + +'vector' + Optional argument. If it has more than one element, parse it as a + list, otherwise parse the only element as above. Use square + brackets instead of curly braces, and is not inserted on empty user + input. + + A lot of argument hooks have already been defined. The first +argument to all hooks is a flag indicating if it is an optional +argument. It is up to the hook to determine what to do with the +remaining arguments, if any. Typically the next argument is used to +overwrite the default prompt. + +'TeX-arg-conditional' + Implements if EXPR THEN ELSE. If EXPR evaluates to true, parse + THEN as an argument list, else parse ELSE as an argument list. + +'TeX-arg-literal' + Insert its arguments into the buffer. Used for specifying extra + syntax for a macro. + +'TeX-arg-free' + Parse its arguments but use no braces when they are inserted. + +'TeX-arg-eval' + Evaluate arguments and insert the result in the buffer. + +'TeX-arg-label' + Prompt for a label completing with known labels. If RefTeX is + active, prompt for the reference format. + +'TeX-arg-ref' + Prompt for a label completing with known labels. If RefTeX is + active, do not prompt for the reference format. Usually, reference + macros should use this function instead of 'TeX-arg-label'. + +'TeX-arg-index-tag' + Prompt for an index tag. This is the name of an index, not the + entry. + +'TeX-arg-index' + Prompt for an index entry completing with known entries. + +'TeX-arg-length' + Prompt for a LaTeX length completing with known lengths. + +'TeX-arg-macro' + Prompt for a TeX macro with completion. + +'TeX-arg-date' + Prompt for a date, defaulting to the current date. The format of + the date is specified by the 'TeX-date-format' option. If you want + to change the format when the 'babel' package is loaded with a + specific language, set 'TeX-date-format' inside the appropriate + language hook (for details *note European::). + +'TeX-arg-version' + Prompt for the version of a file, using as initial input the + current date. + +'TeX-arg-environment' + Prompt for a LaTeX environment with completion. + +'TeX-arg-cite' + Prompt for a BibTeX citation. If the variable + 'TeX-arg-cite-note-p' is non-nil, ask also for optional note in + citations. + +'TeX-arg-counter' + Prompt for a LaTeX counter completing with known counters. + +'TeX-arg-savebox' + Prompt for a LaTeX savebox completing with known saveboxes. + +'TeX-arg-file' + Prompt for a filename in the current directory, and use it with the + extension. + +'TeX-arg-file-name' + Prompt for a filename and use as initial input the name of the file + being visited in the current buffer, with extension. + +'TeX-arg-file-name-sans-extension' + Prompt for a filename and use as initial input the name of the file + being visited in the current buffer, without extension. + +'TeX-arg-input-file' + Prompt for the name of an input file in TeX's search path, and use + it without the extension. Run the style hooks for the file. (Note + that the behavior (type of prompt and inserted file name) of the + function can be controlled by the variable + 'TeX-arg-input-file-search'.) + +'TeX-arg-define-label' + Prompt for a label completing with known labels. Add label to list + of defined labels. + +'TeX-arg-define-length' + Prompt for a LaTeX length completing with known lengths. Add + length to list of defined lengths. + +'TeX-arg-define-macro' + Prompt for a TeX macro with completion. Add macro to list of + defined macros. + +'TeX-arg-define-environment' + Prompt for a LaTeX environment with completion. Add environment to + list of defined environments. + +'TeX-arg-define-cite' + Prompt for a BibTeX citation. + +'TeX-arg-define-counter' + Prompt for a LaTeX counter. + +'TeX-arg-define-savebox' + Prompt for a LaTeX savebox. + +'TeX-arg-document' + Prompt for a LaTeX document class, using 'LaTeX-default-style' as + default value and 'LaTeX-default-options' as default list of + options. If the variable 'TeX-arg-input-file-search' is t, you + will be able to complete with all LaTeX classes available on your + system, otherwise classes listed in the variable 'LaTeX-style-list' + will be used for completion. It is also provided completion for + options of many common classes. + +'LaTeX-arg-usepackage' + Prompt for LaTeX packages. If the variable + 'TeX-arg-input-file-search' is t, you will be able to complete with + all LaTeX packages available on your system. It is also provided + completion for options of many common packages. + +'TeX-arg-bibstyle' + Prompt for a BibTeX style file completing with all style available + on your system. + +'TeX-arg-bibliography' + Prompt for BibTeX database files completing with all databases + available on your system. + +'TeX-arg-corner' + Prompt for a LaTeX side or corner position with completion. + +'TeX-arg-lr' + Prompt for a LaTeX side with completion. + +'TeX-arg-tb' + Prompt for a LaTeX side with completion. + +'TeX-arg-pagestyle' + Prompt for a LaTeX pagestyle with completion. + +'TeX-arg-verb' + Prompt for delimiter and text. + +'TeX-arg-verb-delim-or-brace' + Prompt for delimiter and text. This function is similar to + 'TeX-arg-verb', but is intended for macros which take their + argument enclosed in delimiters or in braces. + +'TeX-arg-pair' + Insert a pair of numbers, use arguments for prompt. The numbers + are surrounded by parentheses and separated with a comma. + +'TeX-arg-size' + Insert width and height as a pair. No arguments. + +'TeX-arg-coordinate' + Insert x and y coordinates as a pair. No arguments. + +'LaTeX-arg-author' + Prompt for document author, using 'LaTeX-default-author' as initial + input. + +'TeX-read-hook' + Prompt for a LaTeX hook and return it. + +'TeX-arg-hook' + Prompt for a LaTeX hook and insert it as a TeX macro argument. + +'TeX-read-key-val' + Prompt for a 'key=value' list of options and return them. + +'TeX-arg-key-val' + Prompt for a 'key=value' list of options and insert it as a TeX + macro argument. + + If you add new hooks, you can assume that point is placed directly +after the previous argument, or after the macro name if this is the +first argument. Please leave point located after the argument you are +inserting. If you want point to be located somewhere else after all +hooks have been processed, set the value of 'TeX-exit-mark'. It will +point nowhere, until the argument hook sets it. + + Some packages provide macros that are rarely useful to non-expert +users. Those should be marked as expert macros using +'TeX-declare-expert-macros'. + + -- Function: TeX-declare-expert-macros STYLE MACROS... + Declare MACROS as expert macros of STYLE. + + Expert macros are completed depending on + 'TeX-complete-expert-commands'. + + +File: auctex.info, Node: Adding Environments, Next: Adding Other, Prev: Adding Macros, Up: Style Files + +5.6.3 Adding Support for Environments +------------------------------------- + +Adding support for environments is very much like adding support for TeX +macros, except that each environment normally only takes one argument, +an environment hook. The example is again a short version of +'latex.el'. + + (TeX-add-style-hook + "latex" + (lambda () + (LaTeX-add-environments + '("document" LaTeX-env-document) + '("enumerate" LaTeX-env-item) + '("itemize" LaTeX-env-item) + '("list" LaTeX-env-list)))) + + It is completely up to the environment hook to insert the +environment, but the function 'LaTeX-insert-environment' may be of some +help. The hook will be called with the name of the environment as its +first argument, and extra arguments can be provided by adding them to a +list after the hook. + + For simple environments with arguments, for example defined with +'\newenvironment', you can make AUCTeX prompt for the arguments by +giving the prompt strings in the call to 'LaTeX-add-environments'. The +fact that an argument is optional can be indicated by wrapping the +prompt string in a vector. + + For example, if you have defined a 'loop' environment with the three +arguments FROM, TO, and STEP, you can add support for them in a style +file. + + %% loop.sty + + \newenvironment{loop}[3]{...}{...} + + ;; loop.el + + (TeX-add-style-hook + "loop" + (lambda () + (LaTeX-add-environments + '("loop" "From" "To" "Step")))) + + If an environment is defined multiple times, AUCTeX will choose the +one with the longest definition. Thus, if you have an enumerate style +file, and want it to replace the standard LaTeX enumerate hook above, +you could define an 'enumerate.el' file as follows, and place it in the +appropriate style directory. + + (TeX-add-style-hook + "latex" + (lambda () + (LaTeX-add-environments + '("enumerate" LaTeX-env-enumerate foo)))) + + (defun LaTeX-env-enumerate (environment &optional _ignore) ...) + + The symbol 'foo' will be passed to 'LaTeX-env-enumerate' as the +second argument, but since we only added it to overwrite the definition +in 'latex.el' it is just ignored. + + -- Function: LaTeX-add-environments ENV ... + Add each ENV to list of loaded environments. + + -- Function: LaTeX-insert-environment ENV [ EXTRA ] + Insert environment of type ENV, with optional argument EXTRA. + + Following is a list of available hooks for 'LaTeX-add-environments': + +'LaTeX-env-item' + Insert the given environment and the first item. + +'LaTeX-env-figure' + Insert the given figure-like environment with a caption and a + label. + +'LaTeX-env-array' + Insert the given array-like environment with position and column + specifications. + +'LaTeX-env-label' + Insert the given environment with a label. + +'LaTeX-env-list' + Insert the given list-like environment, a specifier for the label + and the first item. + +'LaTeX-env-minipage' + Insert the given minipage-like environment with position and width + specifications. + +'LaTeX-env-tabular*' + Insert the given tabular*-like environment with width, position and + column specifications. + +'LaTeX-env-picture' + Insert the given environment with width and height specifications. + +'LaTeX-env-bib' + Insert the given environment with a label for a bibitem. + +'LaTeX-env-contents' + Insert the given environment with a filename as its argument. + +'LaTeX-env-args' + Insert the given environment with arguments. You can use this as a + hook in case you want to specify multiple complex arguments just + like in elements of 'TeX-add-symbols'. This is most useful if the + specification of arguments to be prompted for with strings and + strings wrapped in a vector as described above is too limited. + + Here is an example from 'listings.el' which calls a function with + one argument in order to prompt for a 'key=value' list to be + inserted as an optional argument of the 'lstlisting' environment: + + (LaTeX-add-environments + '("lstlisting" LaTeX-env-args + [TeX-arg-key-val LaTeX-listings-key-val-options])) + + Some packages provide environments that are rarely useful to +non-expert users. Those should be marked as expert environments using +'LaTeX-declare-expert-environments'. + + -- Function: LaTeX-declare-expert-environments STYLE ENVIRONMENTS... + Declare ENVIRONMENTS as expert environments of STYLE. + + Expert environments are completed depending on + 'TeX-complete-expert-commands'. + + +File: auctex.info, Node: Adding Other, Next: Hacking the Parser, Prev: Adding Environments, Up: Style Files + +5.6.4 Adding or Examining Other Information +------------------------------------------- + +5.6.4.1 Adding bibliographies in style hooks +............................................ + +You can also specify bibliographical databases and labels in the style +file. This is probably of little use, since this information will +usually be automatically generated from the TeX file anyway. + + -- Function: LaTeX-add-bibliographies BIBLIOGRAPHY ... + Add each BIBLIOGRAPHY to list of loaded bibliographies. + + -- Function: LaTeX-add-labels LABEL ... + Add each LABEL to the list of known labels. + +5.6.4.2 Examining Package/Class Options +....................................... + +In LaTeX documents, style hooks can find the package names and those +options given as optional argument(s) of '\usepackage' in +'LaTeX-provided-package-options'. + + -- Variable: LaTeX-provided-package-options + Buffer local variable holding alist of options provided to LaTeX + packages. Each element is a cons cell '(PACKAGE . OPTION-LIST)'. + For example, its value will be + (("babel" . ("german")) + ("geometry" . ("a4paper" "top=2cm" "left=2.5cm" "right=2.5cm")) + ...) + + You can examine whether there is a specific package-option pair by +'LaTeX-provided-package-options-member'. + + -- Function: LaTeX-provided-package-options-member PACKAGE OPTION + Return non-'nil' if OPTION has been given to PACKAGE. The value is + actually the tail of the list of options given to PACKAGE. + + There are similar facilities for class names and those options given +in '\documentclass' declaration. + + -- Variable: LaTeX-provided-class-options + Buffer local variable holding alist of options provided to LaTeX + classes. Each element is a cons cell '(CLASS . OPTION-LIST)'. For + example, its value will be + (("book" . ("a4paper" "11pt" "openany" "fleqn")) + ...) + + -- Function: LaTeX-provided-class-options-member CLASS OPTION + Return non-'nil' if OPTION has been given to CLASS. The value is + actually the tail of the list of options given to CLASS. + + -- Function: LaTeX-match-class-option REGEXP + Check if a documentclass option matching REGEXP is active. Return + first found class option matching REGEXP, or nil if not found. + + These functions are also useful to implement customized predicate(s) +in 'TeX-view-predicate-list'. *Note Starting Viewers::. + +5.6.4.3 Adding Support for Option Completion +............................................ + +When the user inserts '\usepackage' by 'C-c C-m', AUCTeX asks for the +optional arguments after the package name is given. The style file of +that package can provide completion support for the optional arguments. + + -- Variable: LaTeX-PACKAGENAME-package-options + List of optional arguments available for the package. + + Here is an excerption from 'acronym.el': + (defvar LaTeX-acronym-package-options + '("footnote" "nohyperlinks" "printonlyused" "withpage" + "smaller" "dua" "nolist") + "Package options for the acronym package.") + + When the package accepts key-value style optional arguments, more +sophisticated completion support is needed. The package style file can +provide dynamic completion support by custom elisp function. + + -- Function: LaTeX-PACKAGENAME-package-options + This function should ask the user for optional arguments and return + them as a string, instead of built-in option query facility. When + this function is defined, AUCTeX calls it with no argument. + + Here is an excerption from 'acro.el': + (defun LaTeX-acro-package-options () + "Prompt for package options for the acro package." + (TeX-read-key-val t LaTeX-acro-package-options-list)) + + As you can see in the above example, a utility function +'TeX-read-key-val' is available to read key-value pair(s) from users. + + Note that 'defvar' or 'defun' of 'LaTeX-PACKAGENAME-package-options' +should be at the top level of the style file and not inside the style +hook, because the style hook is not yet called when the user inputs the +optional arguments in response to 'C-c C-m'. + + There are similar facilities for class options. When the user +inserts '\documentclass' by 'C-c C-e', the respective class style file +can provide completion support for the optional arguments. + + -- Variable: LaTeX-CLASSNAME-class-options + List of optional arguments available for the class. + + -- Function: LaTeX-CLASSNAME-class-options + Which see. + + +File: auctex.info, Node: Hacking the Parser, Prev: Adding Other, Up: Style Files + +5.6.5 Automatic Extraction of New Things +---------------------------------------- + +The automatic TeX information extractor works by searching for regular +expressions in the TeX files, and storing the matched information. You +can add support for new constructs to the parser, something that is +needed when you add new commands to define symbols. + + For example, in the file 'macro.tex' I define the following macro. + + \newcommand{\newmacro}[5]{% + \def#1{#3\index{#4@#5~cite{#4}}\nocite{#4}}% + \def#2{#5\index{#4@#5~cite{#4}}\nocite{#4}}% + } + + AUCTeX will automatically figure out that 'newmacro' is a macro that +takes five arguments. However, it is not smart enough to automatically +see that each time we use the macro, two new macros are defined. We can +specify this information in a style hook file. + + ;;; macro.el --- Special code for my own macro file. + + ;;; Code: + + (defvar TeX-newmacro-regexp + '("\\\\newmacro{\\\\\\([a-zA-Z]+\\)}{\\\\\\([a-zA-Z]+\\)}" + (1 2) TeX-auto-multi) + "Matches \\newmacro definitions.") + + (defvar TeX-auto-multi nil + "Temporary for parsing \\newmacro definitions.") + + (defun TeX-macro-cleanup () + "Move symbols from `TeX-auto-multi' to `TeX-auto-symbol'." + (mapc (lambda (list) + (mapc (lambda (symbol) + (setq TeX-auto-symbol + (cons symbol TeX-auto-symbol))) + list)) + TeX-auto-multi)) + + (defun TeX-macro-prepare () + "Clear `Tex-auto-multi' before use." + (setq TeX-auto-multi nil)) + + (add-hook 'TeX-auto-prepare-hook #'TeX-macro-prepare) + (add-hook 'TeX-auto-cleanup-hook #'TeX-macro-cleanup) + + (TeX-add-style-hook + "macro" + (lambda () + (TeX-auto-add-regexp TeX-newmacro-regexp) + (TeX-add-symbols '("newmacro" + TeX-arg-macro + (TeX-arg-macro "Capitalized macro: \\") + t + "BibTeX entry: " + nil)))) + + ;;; macro.el ends here + + When this file is first loaded, it adds a new entry to +'TeX-newmacro-regexp', and defines a function to be called before the +parsing starts, and one to be called after the parsing is done. It also +declares a variable to contain the data collected during parsing. +Finally, it adds a style hook which describes the 'newmacro' macro, as +we have seen it before. + + So the general strategy is: Add a new entry to 'TeX-newmacro-regexp'. +Declare a variable to contain intermediate data during parsing. Add +hook to be called before and after parsing. In this case, the hook +before parsing just initializes the variable, and the hook after parsing +collects the data from the variable, and adds them to the list of +symbols found. + + -- Variable: TeX-auto-regexp-list + List of regular expressions matching TeX macro definitions. + + The list has the following format ((REGEXP MATCH TABLE) ...), that + is, each entry is a list with three elements. + + REGEXP. Regular expression matching the macro we want to parse. + + MATCH. A number or list of numbers, each representing one + parenthesized subexpression matched by REGEXP. + + TABLE. The symbol table to store the data. This can be a + function, in which case the function is called with the argument + MATCH. Use 'TeX-match-buffer' to get match data. If it is not a + function, it is presumed to be the name of a variable containing a + list of match data. The matched data (a string if MATCH is a + number, a list of strings if MATCH is a list of numbers) is put in + front of the table. + + -- Variable: TeX-auto-prepare-hook nil + List of functions to be called before parsing a TeX file. + + -- Variable: TeX-auto-cleanup-hook nil + List of functions to be called after parsing a TeX file. + + +File: auctex.info, Node: Appendices, Next: Indices, Prev: Customization, Up: Top + +Appendix A Copying, Changes, Development, FAQ, Texinfo Mode +*********************************************************** + +* Menu: + +* Copying this Manual:: +* Changes:: +* Development:: +* FAQ:: +* Texinfo mode:: + + +File: auctex.info, Node: Copying this Manual, Next: Changes, Up: Appendices + +A.1 Copying this Manual +======================= + +The copyright notice for this manual is: + + This manual is for AUCTeX (version 13.1.3 from 2022-04-16), a +sophisticated TeX environment for Emacs. + + Copyright (C) 1992-1995, 2001, 2002, 2004-2022 Free Software +Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.3 or any later version published by the Free Software + Foundation; with no Invariant Sections, no Front-Cover Texts and no + Back-Cover Texts. A copy of the license is included in the section + entitled "GNU Free Documentation License." + + The full license text can be read here: + +* Menu: + +* GNU Free Documentation License:: License for copying this manual. + + +File: auctex.info, Node: GNU Free Documentation License, Up: Copying this Manual + +A.1.1 GNU Free Documentation License +------------------------------------ + + Version 1.3, 3 November 2008 + + Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software + Foundation, Inc. <https://fsf.org/> + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. We + recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it can + be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You accept + the license if you copy, modify or distribute the work in a way + requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this License. + If a section does not fit the above definition of Secondary then it + is not allowed to be designated as Invariant. The Document may + contain zero Invariant Sections. If the Document does not identify + any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images composed + of pixels) generic paint programs or (for drawings) some widely + available drawing editor, and that is suitable for input to text + formatters or for automatic translation to a variety of formats + suitable for input to text formatters. A copy made in an otherwise + Transparent file format whose markup, or absence of markup, has + been arranged to thwart or discourage subsequent modification by + readers is not Transparent. An image format is not Transparent if + used for any substantial amount of text. A copy that is not + "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and standard-conforming + simple HTML, PostScript or PDF designed for human modification. + Examples of transparent image formats include PNG, XCF and JPG. + Opaque formats include proprietary formats that can be read and + edited only by proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, and + the machine-generated HTML, PostScript or PDF produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + The "publisher" means any person or entity that distributes copies + of the Document to the public. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow the + conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the title + equally prominent and visible. You may add other material on the + covers in addition. Copying with changes limited to the covers, as + long as they preserve the title of the Document and satisfy these + conditions, can be treated as verbatim copying in other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a machine-readable + Transparent copy along with each Opaque copy, or state in or with + each Opaque copy a computer-network location from which the general + network-using public has access to download using public-standard + network protocols a complete Transparent copy of the Document, free + of added material. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of copies, + to give them a chance to provide you with an updated version of the + Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus licensing + distribution and modification of the Modified Version to whoever + possesses a copy of it. In addition, you must do these things in + the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the + History section of the Document). You may use the same title + as a previous version if the original publisher of that + version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on the + Title Page. If there is no section Entitled "History" in the + Document, create one stating the title, year, authors, and + publisher of the Document as given on its Title Page, then add + an item describing the Modified Version as stated in the + previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in the + "History" section. You may omit a network location for a work + that was published at least four years before the Document + itself, or if the original publisher of the version it refers + to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section + all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, unaltered + in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option designate + some or all of these sections as invariant. To do this, add their + titles to the list of Invariant Sections in the Modified Version's + license notice. These titles must be distinct from any other + section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts in the Modified Version. Only one passage + of Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, previously added + by you or by arrangement made by the same entity you are acting on + behalf of, you may not add another; but you may replace the old + one, on explicit permission from the previous publisher that added + the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination all + of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the documents + in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow this + License in all other respects regarding verbatim copying of that + document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of a + storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense, or distribute it is void, + and will automatically terminate your rights under this License. + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the + copyright holder fails to notify you of the violation by some + reasonable means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from + that copyright holder, and you cure the violation prior to 30 days + after your receipt of the notice. + + Termination of your rights under this section does not terminate + the licenses of parties who have received copies or rights from you + under this License. If your rights have been terminated and not + permanently reinstated, receipt of a copy of some or all of the + same material does not give you any rights to use it. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + <https://www.gnu.org/licenses/>. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If the + Document does not specify a version number of this License, you may + choose any version ever published (not as a draft) by the Free + Software Foundation. If the Document specifies that a proxy can + decide which future versions of this License can be used, that + proxy's public statement of acceptance of a version permanently + authorizes you to choose that version for the Document. + + 11. RELICENSING + + "Massive Multiauthor Collaboration Site" (or "MMC Site") means any + World Wide Web server that publishes copyrightable works and also + provides prominent facilities for anybody to edit those works. A + public wiki that anybody can edit is an example of such a server. + A "Massive Multiauthor Collaboration" (or "MMC") contained in the + site means any set of copyrightable works thus published on the MMC + site. + + "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 + license published by Creative Commons Corporation, a not-for-profit + corporation with a principal place of business in San Francisco, + California, as well as future copyleft versions of that license + published by that same organization. + + "Incorporate" means to publish or republish a Document, in whole or + in part, as part of another Document. + + An MMC is "eligible for relicensing" if it is licensed under this + License, and if all works that were first published under this + License somewhere other than this MMC, and subsequently + incorporated in whole or in part into the MMC, (1) had no cover + texts or invariant sections, and (2) were thus incorporated prior + to November 1, 2008. + + The operator of an MMC Site may republish an MMC contained in the + site under CC-BY-SA on the same site at any time before August 1, + 2009, provided the MMC is eligible for relicensing. + +ADDENDUM: How to use this License for your documents +---------------------------------------------------- + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + + If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of free +software license, such as the GNU General Public License, to permit +their use in free software. + + +File: auctex.info, Node: Changes, Next: Development, Prev: Copying this Manual, Up: Appendices + +A.2 Changes and New Features +============================ + +News since last release +----------------------- + + * AUCTeX now requires GNU Emacs 25.1 or higher. + + * AUCTeX tracks the change in Emacs where initial inputs in the + minibuffer during queries are getting phased out. Queries for the + mandatory arguments of macros and environments are adjusted where + applicable. The value which will be used after hitting 'RET' + without other input is shown in the prompt in parentheses prefixed + with 'default'. For this change the signature of the function + 'TeX-arg-length' is altered. The old argument list was: + (defun TeX-arg-length (optional &optional prompt + initial-input definition default) + + whereas the new one is: + (defun TeX-arg-length (optional &optional prompt + default initial-input definition) + + Note the position change of 'DEFAULT'. + + * Indenting of conditionals is improved. Code inside constructs like + '\ifx . \else . \fi' is correctly indented. An interface for style + files is also introduced which can add their macros to the + indentation engine. Check the file 'algpseudocode.el' for an + example. + + * You can optionally enable indent inside square brackets '[]' by new + user options 'TeX-indent-open-delimiters' and + 'TeX-indent-close-delimiters'. *Note Indenting::. + + * Now 'tex-buf.el' is merged into 'tex.el' and no longer exists. If + your personal code has '(require 'tex-buf)', one of the following + prescriptions would serve. + 1. Remove '(require 'tex-buf)'. + 2. Replace it with '(require 'tex)'. + 3. Replace it with '(require 'latex)'. + +News in 13.1 +------------ + + * In math environments 'gather', 'gather*', 'gathered', 'multline' + and 'multline*', fill commands such as 'M-q' and 'C-c C-q C-e' are + disabled. This sorts out the inconsistency between those and + 'equation', 'displaymath' environments, in latter of which filling + is already disabled. + + If you want filling in such environments, customize + 'LaTeX-indent-environment-list' to remove them. + + Auto fill continues to work in such environment anyway. + + In addition, AUCTeX adds support of alignment at '&' sign in + 'align'-like environments such as 'alignat', 'aligned' and so on, + as well as 'matrix'-like environments such as 'pmatrix', 'bmatrix' + and so on. + + * Now two commands 'Texindex' and 'Texi2dvi' are available when you + type 'C-c C-c' in Texinfo mode. The command 'Texindex' runs + 'texindex' on index files and 'Texi2dvi' runs 'pdftexi2dvi' or + 'texi2dvi' according to the value of 'TeX-PDF-mode'. + + So you can typeset Texinfo documents into PDF or DVI format from + within AUCTeX. + + * AUCTeX's own help messages for LaTeX errors are now shown only for + LaTeX runs. AUCTeX shows raw error/warning messages found in + '.log' files for runs of formats other than LaTeX, such as plain + TeX, ConTeXt and Texinfo, as it does even for LaTeX runs when it + can't find a matching entry in its own help message catalogue. + + Due to this change, customize option 'TeX-error-description-list' + can no longer have a fallback entry that matches any error. If + your customized value includes such entry, typically '(".*" . "No + help available")', please remove it. + + * Two functions 'TeX-split-string' and 'TeX-assoc' are now obsolete + and will be removed in future release. If your personal code uses + these functions, use 'split-string' and 'assoc-string' instead. + + * The function 'TeX-read-key-val' now accepts a function call as + second argument. This change should help AUCTeX style writers who + use 'TeX-arg-key-val' and have to deal with dynamic key-values. + Example of usage: + (TeX-add-style-hook "foo" + (lambda () + (TeX-add-symbols + '("bar" (TeX-arg-key-val (function-returning-key-val)))))) + + * Since AUCTeX 12.2, 'C-x C-w' accidentally disabled the parse on + save in that buffer, even when you enabled 'TeX-auto-save' option. + This bug was fixed. + + * AUCTeX now requires GNU Emacs 24.3 or higher. + + * Old implementations for viewers were discarded, as announced long + before. The variables 'TeX-output-view-style' and 'TeX-view-style' + have no effect now. The former placeholders '%v' and '%vv' in + 'TeX-command-list' are ignored. + + * AUCTeX now uses lexical binding which has been introduced in Emacs + 24. This change should have no user-visible effect and require no + manual adaptions except in the following cases. + + - Entries added to the customization variable 'TeX-expand-list' + also had access to variables 'command' and 'pos'. Those are + now properly declared and named 'TeX-expand-command' and + 'TeX-expand-pos'. + + - Entries added to the customization variable 'TeX-expand-list' + had access to a variable 'file' which was bound to + 'TeX-active-master', i.e., it evaluated to either the master + or region file. This usage must be replaced with either + 'TeX-active-master' or 'TeX-active-master-with-quotes'. + + - Viewer entries in 'TeX-view-program-list' also had access to a + variable 'file' which was bound to the name of the master or + region file without extension. Instead, the function + 'TeX-active-master' has to be used now. + + - Macro argument parsing functions could set a variable + 'exit-mark' to the buffer position where point should be left + after all arguments have been read. This variable is now + named 'TeX-exit-mark'. + + - The functions in 'LaTeX-section-hook' had access or modified + the previously undeclared variables 'title', 'name', 'level', + 'done-mark', and 'toc'. These variables are now properly + declared and have the 'LaTeX-' prefix, e.g., + 'LaTeX-done-mark'. + + - The functions in 'ConTeXt-numbered-section-hook' and + 'ConTeXt-unnumbered-section-hook' had access or modified the + previously undeclared variables 'title', 'name', 'level', + 'done-mark', and 'reference'. These variables are now + properly declared and have the 'ConTeXt-' prefix, e.g., + 'ConTeXt-title'. + + - The functions in 'TeX-translate-location-hook' could access + and modify the free variables 'file', 'line', 'error', + 'offset', 'context', and 'string'. Those are now properly + declared variables with the prefix 'TeX-translate-location-', + e.g., 'TeX-translate-location-file'. + + * The constant 'LaTeX-dialect' has been renamed to 'TeX-dialect' and + moved from 'latex.el' to 'tex.el'. 'LaTeX-dialect' now is an + obsolete alias. + + * The style 'latexinfo.el' is removed from AUCTeX. 'latexinfo.el' + was meant to support latexinfo which in return was a LaTeX-2.09 + extension of Texinfo, but didn't manage to replace Texinfo. + + * The style 'siunitx.el' is updated to support package version 3. + Key-value options provided by older package versions are removed, + deprecated macros and units are not supported anymore. + + * AUCTeX has preliminary support for LaTeX-hooks. Hooks provided by + LaTeX kernel are known and available for completion in + '\AddToHook', '\RemoveFromHook' and '\AddToHookNext'. + + * AUCTeX is now able to place all generated output files, including + those that are produced by applications running under AUCTeX, + temporary files related to region processing and preview-latex + files, in an output directory. To use this feature, set the new + user option 'TeX-output-dir' to the absolute path of the output + directory or a relative path which would be interpreted as being + relative to the master file in a multifile document. + + Note that this feature doesn't work if the document includes sub + file placed in sub directory below the main file via '\include' + command. + + * Many other bugs were fixed. + +News in 12.3 +------------ + + * Support for 'PSTricks' is now PDF-oriented. AUCTeX no longer turns + off PDF mode for 'PSTricks' documents even without 'pst-pdf'. It + now sets up 'TeX-PDF-from-DVI' option so that PDF output is + generated when 'TeX-PDF-mode' is enabled (default). Users who want + DVI output should disable PDF mode explicitly by file local + variable, or customize 'TeX-PDF-mode' to 'nil'. + + * The function 'font-latex-update-font-lock' has been obsoleted in + order to fix 'bug#37945'. That function was used by several style + files in order to refresh fontification after adding new symbols or + verbatim constructs. It is better to call 'font-lock-flush' in the + former case and 'font-latex-set-syntactic-keywords' in the latter + case. The function 'font-latex-update-font-lock' still exists as a + no-op which only shows a warning explaining how to update font-lock + as mentioned above. + + * Math expression highlighting was improved. Highlighting for + documents with a lot of inline math expressions '$...$' won't get + scrambled now ('bug#33139'). + + In addition, it is no longer recommended to customize + 'font-latex-math-environments'. Use 'texmathp-tex-commands' + instead. *Note Fontification of math::. + + * AUCTeX tracks changes in LaTeX2e 2020-02-02 release. AUCTeX + supports the improvements to LaTeX font selection mechanism (NFSS). + New macros like '\textsw' or '\textulc' are added to font insertion + keyboard commands. *Note Font Specifiers::, for details. Further, + the entries in the menu 'LaTeX', 'Insert Font' are reorganized and + adjusted accordingly. + + Macros previously provided by 'textcomp.sty' are now part of LaTeX + kernel. AUCTeX tracks this change as well and support for the new + macro '\legacyoldstylenums' is added. + + * Insertion of environments in LaTeX documents (i.e. 'C-c C-e') was + improved. The former code had a few bugs, which sometimes resulted + in either spurious empty line or spurious comment prefix, or both, + especially when the region is active. Those bugs are now fixed. + + * More bugs fixed, other minor features implemented. + +News in 12.2 +------------ + + * AUCTeX reflects the changes in LaTeX2e 2019-10-01 release. + 'filecontents' environment now takes an optional argument and can + be used anywhere in a document. The macros '\Ref' and + '\labelformat' are moved from 'varioref.sty' to LaTeX kernel. + 'amsmath' has a new macro '\overunderset'. + + * A new method is implemented in preview-latex to adjust the + foreground colors of generated images to those of Emacs, when the + LaTeX command produces PDF. The traditional method became invalid + because of the change introduced in Ghostscript 9.27. + Unfortunately, the new method doesn't work due to a bug in + Ghostscript 9.27 and is valid only for Ghostscript > 9.27. There + is also a fallback method for gs 9.27 users which displays plain + "black on white" images. For successful function of preview-latex, + the users are encouraged to set up the new user option + 'preview-pdf-color-adjust-method' to choose appropriate option + among the three: new, traditional and fallback method. + + * AUCTeX has support for the Flymake package in Emacs 26 or newer. + To enable, call 'M-x flymake-mode <RET>' or add this to your + '.emacs' file: + (add-hook 'LaTeX-mode-hook #'flymake-mode) + + * The way the option 'TeX-record-buffer' is used was corrected. It + was used in just the opposite way as the document says. Erase the + customization if you have customized this option since it now acts + in reverse to your expectation. + + * A former customize option 'japanese-TeX-command-list' is removed. + Use 'japanese-TeX-engine-default', or if it's really necessary, + customize 'TeX-command-list' directly if the task which the option + used to carry is required. + + * Support for standard LaTeX without e-TeX extension is now very + limited. It doesn't work if raw TeX code is put on the command + line to invoke 'latex' command. It also fails for region + compilation ('C-c C-r' and so on) with documents of non-ascii file + name. In addition, it no longer works with preview-latex. We + consider this incompatibility is permissible because e-TeX + extension is enabled for standard LaTeX by default long ago. LaTeX + variants such as XeLaTeX and LuaLaTeX are not affected. + + * Key binds in Texinfo mode are improved. Typing '$', '^', '_' and + '\' now just self-inserts without pointless side effects in Texinfo + mode. + + In addition, the option 'TeX-electric-escape' is now effective in + Texinfo mode. When it is enabled, typing '@' will invoke + 'TeX-electric-macro' offering completion in similar style with + other TeX modes of AUCTeX. + + * Fontification support for 'biblatex' package is improved and + updated to macros provided by package version 3.12. For qualified + lists, at least 2 mandatory arguments are fontified. + + * Support for column specifiers 'w' and 'W' provided by 'array' + package is added to 'array.el'. The correct counting of columns + only works when the 'align' parameter is enclosed in braces, e.g., + 'w{l}{3cm}'. The short version 'wl{3cm}' is not supported. + + * Entries for 'PDF Tools' are added in + 'TeX-view-program-list-builtin' for Windows and macOS. This viewer + can be configured under these operating systems with an entry like + this in an init file: + (setq TeX-view-program-selection '((output-pdf "PDF Tools"))) + + * Several other bugs were fixed, many minor features were added. + +News in 12.1 +------------ + + * AUCTeX now requires GNU Emacs 24 or higher. Support for XEmacs has + been dropped. + + * Besides the change in the supported version of Emacs, there has + been no functional change in this release, which is equivalent to + version 11.92. + +News in 11.92 +------------- + + * preview-latex is compatible with Ghostscript 9.22 where the + operator '.runandhide' is removed. All occurrences of + '.runandhide' in preview-latex are replaced by alternative code + making it work with Ghostscript 9.22 again. + + * AUCTeX has a new customize option + 'TeX-math-input-method-off-regexp'. When you begin to input a math + formula, the current input method is turned off if its name matches + this regular expression. + + In fact this variable was introduced long before, but has not been + documented in info files nor turned into a customize option with + 'defcustom' until this release. + + * The window system focus is pulled back to Emacs when viewing with + evince-compatible viewers if a new customize option + 'TeX-view-evince-keep-focus' is non-nil. + + * The usual dose of bug fixes was administered. + +News in 11.91 +------------- + + * Now AUCTeX has a logo. The LaTeX code to create it is available in + the 'etc/' directory of the package. + + * Add support for 'upmendex', an extension of 'makeindex' capable of + sorting indexes by unicode based ICU. + + * Fix preview-latex to interact correctly with Japanese LaTeX. The + parsing routine was made robust not to be confused by the 7-bit + encoding of Japanese text and the necessary option to LaTeX command + is kept even when preamble caching is enabled. + + * The new "Glossaries" entry in 'TeX-command-list' runs the command + 'makeglossaries'. + + * Fontification of control symbols has been improved. Characters + defined in 'font-latex-match-simple-exclude-list' do not receive + any fontification. In DocTeX mode, the character '_' is removed + from 'font-latex-match-simple-exclude-list' in order to fontify + macros like '\__module_foo:nnn' correctly. + + * Fontification of math environments has been improved. Optional + and/or mandatory argument(s) to environments are not fontified. + + * 'preview.sty' loads 'luatex85.sty' if possible and should be + compatible with newer luaTeX versions. + + * AUCTeX has a new customize option 'TeX-ispell-verb-delimiters'. + This string contains usual characters used as delimiters for + in-line verbatim macros like '\verb'. Text between delimiters + after an in-line verbatim macro will be skipped during spell + checking. + + * Fontification of in-line verbatim macros has been improved. + 'font-latex.el' recognizes an optional or a mandatory argument for + macros like '\Verb' from 'fancyvrb.sty', '\mint' and '\mintinline' + from 'minted.sty' and fontifies verbatim content correctly. + + * AUCTeX can put and parse labels in optional argument of + environments. Inserting labels is done by new function + 'LaTeX-env-label-as-keyval'. A new customize option + 'LaTeX-listing-label' is available as prefix to labels in code + typesetting environments, e.g. 'lstlisting' environment provided by + 'listings' package. 'LaTeX-listing-label' defaults to 'lst:'. + Parsing of labels for later referencing relies on two requirements: + 1. Label should come as last key-value argument, and + 2. label must be enclosed in braces, e.g. + \begin{lstlisting}[caption=Some Caption,label={lst:foo}] + ... + \end{lstlisting} + + * The function 'LaTeX-label' now takes a second optional argument + 'NO-INSERT'. When non-'nil', 'LaTeX-label' reads a label and + returns it as a string. This argument is also passed to any + function bound to 'LaTeX-label-function' (see next item). + + * *Incompatible change:* The signature for the function passed with + the customize option 'LaTeX-label-function' has changed. The + function bound to this variable is now expected to take an optional + second argument 'NO-INSERT'. When this argument is non-'nil', the + function should read and only return a label as a string; insertion + is done by another function. + + * Directory local variables were ineffective for + 'japanese-latex-mode' and 'japanese-plain-tex-mode'. This bug was + fixed. (This was actually done in AUCTeX 11.90, but not + advertised) + + * The output of Japanese text from Japanese TeX engines is decoded + correctly for most cases, according to the encoding of the TeX + documents and the locale. The difference between MS Windows, macOS + and unix-like OS is taken into account. (This was actually done in + AUCTeX 11.90, but not advertised) + + * Quite a few new LaTeX packages are supported. + + * As usual, many bugs were fixed. + +News in 11.90 +------------- + + * In addition to the completion performed by 'TeX-complete-symbol', + AUCTeX now also supports the new Emacs standard completion-at-point + facility (see the Emacs command 'completion-at-point'). This also + means that modern completion UIs like company-mode work out of the + box in TeX and LaTeX buffers. *Note Completion::, for details. + + * Completion is now aware of being inside a math environment and then + completes math macros. + + * AUCTeX is able to display several levels of super- and subscripts, + each one raised above and a bit smaller than its basis. For this + feature, have a look at the customize options + 'font-latex-fontify-script' (especially the new values + 'multi-level' and 'invisible') and + 'font-latex-fontify-script-max-level'. Also, the script characters + '^' and '_' are also fontified with a special face named + 'font-latex-script-char-face'. *Note Fontification of math::, for + details. + + * Parsing of format specification in various tabular environments has + been improved. The function 'LaTeX-insert-item' ('C-c <LFD>') + inserts suitable number of ampersands for '*{num}{cols}' + constructs. Style files for LaTeX packages 'tabularx', 'tabulary', + 'longtable', 'dcolumn' and 'siunitx' are adapted to take advantage + of this improvement. + + * AUCTeX has a new Ispell dictionary 'tex-ispell.el' for macros and + environments which will be skipped during spell checking. The + activiation of this feature is controlled by a new customize option + 'TeX-ispell-extend-skip-list', which is set to 't' and activated by + default. + + * AUCTeX has a new customize option 'TeX-raise-frame-function' that + is currently only used by Evince and Atril inverse search to raise + the Emacs frame. + + * When inserting a new float, AUCTeX will now prompt for a + short-caption if the length of the caption provided is greater than + a certain size. This size is controlled via a new user option + 'LaTeX-short-caption-prompt-length'. + + * Parsing of the compilation log has been reworked. You should + encounter fewer mistaken files while navigating through errors and + warnings. + + * Two new user options, 'TeX-ignore-warnings' and + 'TeX-suppress-ignored-warnings', allow ignoring certain warnings + after compilation of the document. *Note Ignoring warnings::, for + details. + + * A new option, 'TeX-PDF-from-DVI', controls if and how to produce a + PDF file by converting a DVI file. This supersedes + 'TeX-PDF-via-dvips-ps2pdf' which is still recognized but marked as + obsolete and may be removed in future releases. + + * Support for a number of external viewers has been added: + * Atril viewer. Forward and inverse search requires version + 1.9.1 or later to work. + + * dviout viewer on Windows. Note that this setup works when + 'TeX-source-correlate-method' is set to use 'source-specials' + for DVI, e.g.: + (setq TeX-source-correlate-method + '((dvi . source-specials) + (pdf . synctex))) + which is the default. + + * SumatraPDF viewer on Windows. + + * Zathura viewer. Forward and inverse search requires a recent + version of the program to work (3.4 or later). + + * A new function, 'TeX-documentation-texdoc', for reading + documentation with 'texdoc' has been added. 'TeX-doc' is still + available but now 'C-c ?' runs 'TeX-documentation-texdoc'. + + * AUCTeX has a new custom option + 'LaTeX-reftex-cite-format-auto-activate' which controls the + automatic activation of citation formats provided by RefTeX when a + style file is loaded and RefTeX is enabled. Currently, + 'biblatex.el', 'harvard.el', 'jurabib.el' and 'natbib.el' use this + feature. If you have customized 'reftex-cite-format' and want to + use your settings, you should set this variable to 'nil'. + + * AUCTeX now has limited support for the TikZ package. For the + moment, this includes some basic support for prompting the user of + arguments to the '\draw' macro. + + * The style 'graphicx.el' went through a bigger overhaul. The + optional argument of command '\includegraphics' now supports + key-val query; keys can independently be chosen anytime by pressing + the <,> key. As a side effect, the variable + 'LaTeX-includegraphics-options-alist' is now no-op and is removed + from 'tex-style.el'. You can safely remove any customization of it + from your init file. The mandatory argument of '\includegraphics' + knows about image file extensions supported by the used engine and + offers them for inclusion. + + * Support for other LaTeX packages was improved, and style files for + several new packages were added. + + * Many bugs were crushed along the way. + +News in 11.89 +------------- + + * You can now run all commands needed to compile a document and then + open the viewer with a single command: 'TeX-command-run-all', bound + to 'C-c C-a'. + + * Commands such as 'LaTeX' and 'View' can now be executed + conveniently on the current section (or part, chapter, subsection, + etc). See 'LaTeX-command-section' and + 'LaTeX-command-section-change-level'. *Note Starting a Command::, + for details. + + * Forward and backward search with Evince now also work when only a + region of the document is compiled/viewed. + + * To open the PDF output file you can now use also PDF Tools, a + document viewer for Emacs. With it, as a plus, forward and + backward search is accurate at word level. + + * With new option 'TeX-PDF-via-dvips-ps2pdf' it is possible to + compile a document to DVI and then convert it to PDF using + 'dvips'-'ps2pdf' before viewing it. + + * New option 'TeX-file-line-error' allows to select file:line:error + style for error messages. + + * Indent '\[...\]' math mode as a regular environment by default. + + * Now AUCTeX suggests to run 'makeindex' when appropriate. + + * 'TeX-view-program-list' can contain, as third optional element of + each item, the name of the executable(s) needed to open the viewer. + + * 'TeX-expand-list' variable has been split into 'TeX-expand-list' + and 'TeX-expand-list-builtin'. Only the former is intended to be + customized by the user, the latter contains built-in expanders. + You might want to keep in 'TeX-expand-list' only new expansion + strings. + + * Before running commands like TeX and LaTeX, now AUCTeX performs + some checks. If 'TeX-check-TeX' is non-nil, it will test whether a + working TeX distribution is actually present in the system and + available to Emacs. Instead, when 'TeX-check-engine' is non-nil, + before running LaTeX commands AUCTeX will check whether the correct + engine has been set, based upon known restrictions posed by LaTeX + packages. + + * Basic support to ConTeXt Mark IV has been added. Users can now + select the Mark version to be used with new option + 'ConTeXt-Mark-version', and AUCTeX is able to catch error messages + in the output log of a Mark IV document. + + * Support for tons of LaTeX packages has been added. + + * Numbers of bugs have been fixed, many minor features have been + added. + +News in 11.88 +------------- + + * 'TeX-PDF-mode' is now enabled by default. + + * Now 'TeX-previous-error' works with TeX commands if the new option + 'TeX-parse-all-errors' is non-nil, which is the default. When this + option is non-nil, an overview of errors and warnings reported by + the TeX compiler can be opened with 'M-x TeX-error-overview <RET>'. + *Note Debugging::, for details. + + * Style file authors are encouraged to distinguish common from expert + macros and environments, and mark the latter using + 'TeX-declare-expert-macros' and + 'LaTeX-declare-expert-environments'. + + Users can then restrict completion using + 'TeX-complete-expert-commands'. + + * Management of LaTeX package options in the parser was improved. + You might need to reparse your documents, especially if you loaded + the 'babel' package with language options. + + * Now you can insert '$...$' or '\(...\)' by typing a single '$'. To + do this, customize the new option 'TeX-electric-math'. + 'TeX-math-close-double-dollar' was removed. *Note Quotes::, for + details. + + * 'C-c <RET> documentclass <RET>' completes with all available LaTeX + classes, if the 'TeX-arg-input-file-search' variable is non-nil. + Completion for class options of the standard LaTeX classes is + provided as well. + + * New user options 'LaTeX-default-author', + 'LaTeX-fontspec-arg-font-search', + 'LaTeX-fontspec-font-list-default', 'TeX-date-format', and + 'TeX-insert-braces-alist'. A new possible value + ('show-all-optional-args') for 'TeX-insert-macro-default-style' was + added. The default value of 'TeX-source-correlate-method' has been + changed. + + * 'biblatex' support was greatly expanded. If parsing is enabled, + AUCTeX looks at 'backend' option to decide whether to use Biber or + BibTeX. The 'LaTeX-biblatex-use-Biber' variable was changed to be + file local only and is no more customizable. + + * With some LaTeX classes, the default environment suggested by + 'LaTeX-environment' ('C-c C-e') when the current environment is + 'document' was changed. With 'beamer' class the default + environment is 'frame', with 'letter' it is 'letter', with 'slides' + it is 'slide'. + + * Brace pairing feature was enhanced in LaTeX documents. Support for + '\bigl', '\Bigl', '\biggl' and '\Biggl', the same as the one for + '\left', was added to 'TeX-insert-macro'. For example, 'C-c <RET> + bigl <RET> ( <RET>' inserts '\bigl(\bigr)'. + + You can insert brace pair '()', '{}' and '[]' by typing a single + left brace if the new user option 'LaTeX-electric-left-right-brace' + is enabled. + + Macros '\langle', '\lfloor' and '\lceil', which produce the left + part of the paired braces, are treated similarly as '(', '{' and + '[' during the course of 'TeX-insert-macro'. *Note Quotes::, for + details. + + * Support for dozens of LaTeX packages was added. + + * Tabular-like environments ('tabular', 'tabular*', 'tabularx', + 'tabulary', 'array', 'align', ...) are indented in a nicer and + more informative way when the column values of a table line are + written across multiple lines in the tex file. + + * The suitable number of ampersands are inserted when you insert + 'array', 'tabular' and 'tabular*' environments with 'C-c C-e'. + Similar experience is obtained if you terminate rows in these + environments with 'C-c <LFD>'. It supplies line break macro '\\' + and inserts the suitable number of ampersands on the next line. + + Similar supports are provided for various 'amsmath' environments. + + *Note Tabular-like::, for details. + + * Commands for narrowing to a group ('TeX-narrow-to-group') and to + LaTeX environments ('LaTeX-narrow-to-environment') were added. + + * Now arbitrary options can be passed to the TeX processor on a per + file basis using the 'TeX-command-extra-options' option. *Note + Processor Options::, for details. + + * Now 'C-c C-e document <RET>', in an empty document, prompts for + '\usepackage' macros in addition to '\documentclass'. + + * 'TeX-add-style-hook' has now a third argument to tell AUCTeX for + which dialect (LaTeX, Texinfo or BibTeX) the style hook is + registers. Labelling style hook by dialect will avoid applying + them not in the right context. + + * There have been lots of bug fixes and feature additions. + +News in 11.87 +------------- + + * AUCTeX now supports Biber in conjunction with biblatex in addition + to BibTeX. + + * Each AUCTeX mode now has its own abbrev table. On Emacsen which + provide the possibility to inherit abbrevs from other tables, the + abbrevs from the Text mode abbrev table are available as well. + Newly defined abbrevs are written to the mode-specific tables, + though. + + * The file 'tex-fptex.el' was removed. + + * Forward/backward search for Evince has been improved. If Emacs is + compiled with DBUS support and a recent Evince version (3.x) is + installed, the communication goes over the desktop bus instead of + the command line, resulting in more accurate positioning of point + in Emacs and highlighting of the target paragraph in Evince. + + * A problem where Ghostscript threw an '/invalidfileaccess' error + when running preview-latex was fixed. + + * A lot of smaller fixes and additions have been made. + +News in 11.86 +------------- + + * Parsing of LaTeX output was improved. It is now less likely that + AUCTeX opens a non-existent file upon calling 'TeX-next-error'; a + problem for example encountered when using MiKTeX 2.8. In addition + quoted file names as emitted by MiKTeX are now supported. + + * A new framework for the definition and selection of viewers was + implemented. If you have customizations regarding viewers you will + have to redo them in this new framework or reenable the old one. + *Note Starting Viewers::, for details. + + * Comprehensive editing support for PSTricks was added. + + * Support for various LaTeX packages was added, e.g. 'tabularx', + 'CJK', and 'hyperref'. + + * An easy way to switch between TeX engines (PDFTeX, LuaTeX, XeTeX, + Omega) was added. + + * Support for SyncTeX was added. This involves the command line + options for LaTeX and the viewer. + + * Folding can now be customized to use macro arguments as replacement + text. + + * 'preview.sty' now works with XeTeX. + + * A lot of smaller and larger bugs have been squashed. + +News in 11.85 +------------- + + * Font locking has been improved significantly. It is now less prone + to color bleeding which could lead to high resource usage. In + addition it now includes information about LaTeX macro syntax and + can indicate syntactically incorrect macros in LaTeX mode. + + * The license was updated to GPLv3. + + * Support for the nomencl, flashcards and comment LaTeX packages as + well as the Icelandic language option of babel were added. + + * Support for folding of math macros was added. + + * Lots of minor bugs in features and documentation fixed. + +News in 11.84 +------------- + + * There have been problems with the '-without-texmf-dir' option to + 'configure' when the value of '-with-kpathsea-sep' was set or + determined for an installation system with a default different from + that of the runtime system. 'with-kpathsea-sep' has been removed; + the setting is now usually determined at runtime. + + Due to this and other problems, preview-latex in the released + XEmacs package failed under Windows or with anything except recent + 21.5 XEmacsen. + + * AUCTeX and preview-latex have been changed in order to accommodate + file names containing spaces. preview-latex now tolerates bad + PostScript code polluting the stack (like some Omega fonts). + + * 'preview.sty' had in some cases failed to emit PostScript header + specials. + + * Support for folding of comments was added. + + * The 'polish' language option of the babel LaTeX package as well as + the polski LaTeX package are now supported. Most notably this + means that AUCTeX will help to insert quotation marks as defined by + 'polish.sty' ('"`..."'') and 'polski.sty' (',,...'''). + + * The TeX tool bar is now available and enabled by default in plain + TeX mode. *Note Processing Facilities::. + + * Bug fix in the display of math subscripts and superscripts. + + * Bug fix 'TeX-doc' for Emacs 21. + + * There has been quite a number of other bug fixes to various + features and documentation across the board. + +News in 11.83 +------------- + + * The new function 'TeX-doc' provides easy access to documentation + about commands and packages or information related to TeX and + friends in general. *Note Documentation::. + + * You can now get rid of generated intermediate and output files by + means of the new 'Clean' and 'Clean All' entries in + 'TeX-command-list' accessible with 'C-c C-c' or the Command menu. + *Note Cleaning::. + + * Support for forward search with PDF files was added. That means + you can jump to a place in the output file corresponding to the + position in the source file. *Note Viewing::. + + Adding support for this feature required the default value of the + variable 'TeX-output-view-style' to be changed. Please make sure + you either remove any customizations overriding the new default or + incorporate the changes into your customizations if you want to use + this feature. + + * TeX error messages of the '-file-line-error' kind are now + understood in AUCTeX and preview-latex (parsers are still + separate). + + * Bug fix in XyMTeX support. + + * The LaTeX tool bar is now enabled by default. *Note Processing + Facilities::. + +News in 11.82 +------------- + + * Support for the MinionPro LaTeX package was added. + + * Warnings and underfull/overfull boxes are now being indicated in + the echo area after a LaTeX run, if the respective debugging + options are activated with 'TeX-toggle-debug-warnings' ('C-c C-t + C-w') or 'TeX-toggle-debug-bad-boxes' ('C-c C-t C-b'). In this + case 'TeX-next-error' will find these warnings in addition to + normal errors. + + The key binding 'C-c C-w' for 'TeX-toggle-debug-bad-boxes' (which + was renamed from 'TeX-toggle-debug-boxes') now is deprecated. + + * AUCTeX now can automatically insert a pair of braces after typing + <_> or <^> in math constructs if the new variable + 'TeX-electric-sub-and-superscript' is set to a non-nil value. + + * Some language-specific support for French was added. There now is + completion support for the commands provided by the 'frenchb' (and + 'francais') options of the babel LaTeX package and easier input of + French quotation marks ('\og ...\fg') which can now be inserted by + typing <">. + + * Completion support for options of some LaTeX packages was added. + + * Already in version 11.81 the way to activate AUCTeX changed + substantially. This should now be done with '(load "auctex.el" nil + t t)' instead of the former '(require 'tex-site)'. Related to this + change 'tex-mik.el' does not load 'tex-site.el' anymore. That + means if you used only '(require 'tex-mik)' in order to activate + AUCTeX, you have to add '(load "auctex.el" nil t t)' before the + latter statement. *Note Loading the package::. + + * Handling of verbatim constructs was consolidated across AUCTeX. + This resulted in the font-latex-specific variables + 'font-latex-verb-like-commands', 'font-latex-verbatim-macros', and + 'font-latex-verbatim-environments' being removed and the more + general variables 'LaTeX-verbatim-macros-with-delims', + 'LaTeX-verbatim-macros-with-braces', and + 'LaTeX-verbatim-environments' being added. + + * The output of a BibTeX run is now checked for warnings and errors, + which are reported in the echo area. + + * The aliases for 'font-latex-title-fontify' were removed. Use + 'font-latex-fontify-sectioning' instead. + + * The problem that Japanese macros where broken across lines was + fixed. + + * Various bug fixes. + +News in 11.81 +------------- + + * 'LaTeX-mark-section' now marks subsections of a given section as + well. The former behavior is available via the prefix argument. + + * preview-latex which was previously available separately became a + subsystem of AUCTeX. There is no documented provision for building + or installing preview-latex separately. It is still possible to + use and install AUCTeX without preview-latex, however. + + * The installation procedures have been overhauled and now also + install startup files as part of the process (those had to be + copied manually previously). You are advised to remove previous + installations of AUCTeX and preview-latex before starting the + installation procedure. A standard installation from an unmodified + tarball no longer requires Makeinfo or Perl. + + Also note that the way AUCTeX is supposed to be activated changed. + Instead of '(require 'tex-site)' you should now use '(load + "auctex.el" nil t t)'. While the former method may still work, the + new method has the advantage that you can deactivate a preactivated + AUCTeX with the statement '(unload-feature 'tex-site)' before any + of its modes have been used. This may be important especially for + site-wide installations. + + * Support for the babel LaTeX package was added. + + * Folding a buffer now ensures that the whole buffer is fontified + before the actual folding is carried out. If this results in + unbearably long execution times, you can fall back to the old + behavior of relying on stealth font locking to do this job in the + background by customizing the variable 'TeX-fold-force-fontify'. + + * Folded content now reveals part of its original text in a tooltip + or the echo area when hovering with the mouse pointer over it. + + * The language-specific insertion of quotation marks was generalized. + The variables 'LaTeX-german-open-quote', + 'LaTeX-german-close-quote', 'LaTeX-german-quote-after-quote', + 'LaTeX-italian-open-quote', 'LaTeX-italian-close-quote', and + 'LaTeX-italian-quote-after-quote' are now obsolete. If you are not + satisfied with the default settings, you should customize + 'TeX-quote-language-alist' instead. + + * Similar to language-specific quote insertion, AUCTeX now helps you + with hyphens in different languages as well. *Note European::, for + details. + + * Fill problems in Japanese text introduced in AUCTeX 11.55 were + fixed. AUCTeX tries not to break lines between 1-byte and 2-byte + chars. These features will work in Chinese text, too. + + * The scaling factor of the fontification of sectioning commands can + now be customized using the variable + 'font-latex-fontify-sectioning'. This variable was previously + called 'font-latex-title-fontify'; In this release we provide an + alias but this will disappear in one of the the next releases. The + faces for the sectioning commands are now called + 'font-latex-sectioning-N-face' (N=0...5) instead of + 'font-latex-title-N-face' (N=1...4). Analogously the names of the + variables holding the related keyword lists were changed from + 'font-latex-title-N-keywords' to + 'font-latex-sectioning-N-keywords'. *Note Font Locking::, for + details. Make sure to adjust your customizations. + + * Titles in beamer slides marked by the "\frametitle" command are + know displayed with the new face 'font-latex-slide-title-face'. + You can add macros to be highlighted with this face to + 'font-latex-match-slide-title-keywords'. + + * Of course a lot of bugs have been fixed. + +News in 11.55 +------------- + + * A bug was fixed which lead to the insertion of trailing whitespace + during filling. In particular extra spaces were added to sentence + endings at the end of lines. You can make this whitespace visible + by setting the variable 'show-trailing-whitespace' to 't'. If you + want to delete all trailing whitespace in a buffer, type 'M-x + delete-trailing-whitespace <RET>'. + + * A bug was fixed which lead to a '*Compile-Log*' buffer popping up + when the first LaTeX file was loaded in an Emacs session. + + * On some systems the presence of an outdated Emacspeak package lead + to the error message 'File mode specification error: (error + "Variable binding depth exceeds max-specpdl-size")'. Precautions + were added which prevent this error from happening. But + nevertheless, it is advised to upgrade or uninstall the outdated + Emacspeak package. + + * The value of 'TeX-macro-global' is not determined during + configuration anymore but at load time of AUCTeX. Consequently the + associated configuration option '--with-tex-input-dirs' was + removed. + + * Support for the LaTeX Japanese classes 'jsarticle' and 'jsbook' was + added. + +News in 11.54 +------------- + + * The parser (used e.g. for 'TeX-auto-generate-global') was extended + to recognize keywords common in LaTeX packages and classes, like + "\DeclareRobustCommand" or "\RequirePackage". Additionally a bug + was fixed which led to duplicate entries in AUCTeX style files. + + * Folding can now be done for paragraphs and regions besides single + constructs and the whole buffer. With the new 'TeX-fold-dwim' + command content can both be hidden and shown with a single key + binding. In course of these changes new key bindings for unfolding + commands where introduced. The old bindings are still present but + will be phased out in future releases. + + * Info files of the manual now have a .info extension. + + * There is an experimental tool bar support now. It is not activated + by default. If you want to use it, add + (add-hook 'LaTeX-mode-hook 'LaTeX-install-toolbar) + to your init file. + + * The manual now contains a new chapter "Quick Start". It explains + the main features and how to use them, and should be enough for a + new user to start using AUCTeX. + + * A new section "Font Locking" was added to the manual which explains + syntax highlighting in AUCTeX and its customization. Together with + the sections related to folding and outlining, the section is part + of the new chapter "Display". + + * Keywords for syntax highlighting of LaTeX constructs to be typeset + in bold, italic or typewriter fonts may now be customized. Besides + the built-in classes, new keyword classes may be added by + customizing the variable 'font-latex-user-keyword-classes'. The + customization options can be found in the customization group + 'font-latex-keywords'. + + * Verbatim content is now displayed with the 'fixed-pitch' face. + (GNU Emacs only) + + * Syntax highlighting should not spill out of verbatim content + anymore. (GNU Emacs only) + + * Verbatim commands like '\verb|...|' will not be broken anymore + during filling. + + * You can customize the completion for graphic files with + 'LaTeX-includegraphics-read-file'. + + * Support for the LaTeX packages 'url', 'listings', 'jurabib' and + 'csquotes' was added with regard to command completion and syntax + highlighting. + + * Performance of fontification and filling was improved. + + * Insertion of nodes in Texinfo mode now supports completion of + existing node names. + + * Setting the variable 'LaTeX-float' to 'nil' now means that you will + not be prompted for the float position of figures and tables. You + can get the old behaviour of 'nil' by setting the variable to '""', + i.e. an empty string. See also *note Floats::. + + * The XEmacs-specific bug concerning 'overlays-at' was fixed. + + * Lots of bug fixes. + +News in 11.53 +------------- + + * The LaTeX math menu can include Unicode characters if your Emacs + built supports it. See the variable 'LaTeX-math-menu-unicode', + *note Mathematics::. + + * Bug fixes for XEmacs. + + * Completion for graphic files in the TeX search path has been added. + + * 'start' is used for the viewer for MiKTeX and fpTeX. + + * The variable 'TeX-fold-preserve-comments' can now be customized to + deactivate folding in comments. + +News in 11.52 +------------- + + * Installation and menus under XEmacs work again (maybe for the first + time). + + * Fontification of subscripts and superscripts is now disabled when + the fontification engine is not able to support it properly. + + * Bug fixes in the build process. + +News in 11.51 +------------- + + * PDFTeX and Source Special support did not work with ConTeXt, this + has been fixed. Similar for Source Special support under Windows. + + * Omega support has been added. + + * Bug fixes in the build process. + + * 'TeX-fold' now supports folding of environments in Texinfo mode. + +News in 11.50 +------------- + + * The use of source specials when processing or viewing the document + can now be controlled with the new 'TeX-source-specials' minor mode + which can be toggled via an entry in the Command menu or the key + binding 'C-c C-t C-s'. If you have customized the variable + 'TeX-command-list', you have to re-initialize it for this to work. + This means to open a customization buffer for the variable by + typing 'M-x customize-variable <RET> TeX-command-list <RET>', + selecting "Erase Customization" and do your customization again + with the new default. + + * The content of the command menu now depends on the mode (plain TeX, + LaTeX, ConTeXt etc.). Any former customization of the variable + 'TeX-command-list' has to be erased. Otherwise the command menu + and the customization will not work correctly. + + * Support for hiding and auto-revealing macros, e.g. footnotes or + citations, and environments in a buffer was added, *note Folding::. + + * You can now control if indentation is done upon typing <RET> by + customizing the variable 'TeX-newline-function', *note Indenting::. + + * Limited support for 'doc.sty' and 'ltxdoc.cls' ('dtx' files) was + added. The new docTeX mode provides functionality for editing + documentation parts. This includes formatting (indenting and + filling), adding and completion of macros and environments while + staying in comments as well as syntax highlighting. (Please note + that the mode is not finished yet. For example syntax highlighting + does not work yet in XEmacs.) + + * For macro completion in docTeX mode the AUCTeX style files + 'doc.el', 'ltxdoc.el' and 'ltx-base.el' were included. The latter + provides general support for low-level LaTeX macros and may be used + with LaTeX class and style files as well. It is currently not + loaded automatically for those files. + + * Support for ConTeXt with a separate ConTeXt mode is now included. + Macro definitions for completion are available in Dutch and + English. + + * The filling and indentation code was overhauled and is now able to + format commented parts of the source syntactically correct. Newly + available functionality and customization options are explained in + the manual. + + * Filling and indentation in XEmacs with preview-latex and activated + previews lead to the insertion of whitespace before multi-line + previews. AUCTeX now contains facilities to prevent this problem. + + * If 'TeX-master' is set to 't', AUCTeX will now query for a master + file only when a new file is opened. Existing files will be left + alone. The new function 'TeX-master-file-ask' (bound to 'C-c _' is + provided for adding the variable manually. + + * Sectioning commands are now shown in a larger font on display + devices which support such fontification. The variable + 'font-latex-title-fontify' can be customized to restore the old + appearance, i.e. the usage of a different color instead of a change + in size. + + * Support for 'alphanum.sty', 'beamer.cls', 'booktabs.sty', + 'captcont.sty', 'emp.sty', 'paralist.sty', 'subfigure.sty' and + 'units.sty'/'nicefrac.sty' was added. Credits go to the authors + mentioned in the respective AUCTeX style files. + + * Inserting graphics with 'C-c <RET> includegraphics <RET>' was + improved. See the variable 'LaTeX-includegraphics-options-alist'. + + * If 'LaTeX-default-position' is 'nil', don't prompt for position + arguments in Tabular-like environments, see *note Tabular-like::. + + * Completion for available packages when using 'C-c <RET> usepackage + <RET>' was improved on systems using the kpathsea library. + + * The commenting functionality was fixed. The separate functions for + commenting and uncommenting were unified in one function for + paragraphs and regions respectively which do both. + + * Syntax highlighting can be customized to fontify quotes delimited + by either >>German<< or <<French>> quotation marks by changing the + variable 'font-latex-quotes'. + + * Certain TeX/LaTeX keywords for functions, references, variables and + warnings will now be fontified specially. You may add your own + keywords by customizing the variables + 'font-latex-match-function-keywords', + 'font-latex-match-reference-keywords', + 'font-latex-match-variable-keywords' and + 'font-latex-match-warning-keywords'. + + * If you include the style files 'german' or 'ngerman' in a document + (directly or via the 'babel' package), you should now customize + 'LaTeX-german-open-quote', 'LaTeX-german-close-quote' and + 'LaTeX-german-quote-after-quote' instead of 'TeX-open-quote', + 'TeX-close-quote' and 'TeX-quote-after-quote' if you want to + influence the type of quote insertion. + + * Upon viewing an output file, the right viewer and command line + options for it are now determined automatically by looking at the + extension of the output file and certain options used in the source + file. The behavior can be adapted or extended respectively by + customizing the variable 'TeX-output-view-style'. + + * You can control whether 'TeX-insert-macro' ('C-c <RET>') ask for + all optional arguments by customizing the variable + 'TeX-insert-macro-default-style', *note Completion::. + + * 'TeX-run-discard' is now able to completely detach a process that + it started. + + * The build process was enhanced and is now based on 'autoconf' + making installing AUCTeX a mostly automatic process. See *note + Installation:: and *note Installation under MS Windows:: for + details. + +News in 11.14 +------------- + + * Many more LaTeX and LaTeX2e commands are supported. Done by + Masayuki Ataka <ataka@milk.freemail.ne.jp> + +News in 11.12 +------------- + + * Support for the KOMA-Script classes. Contributed by Mark Trettin + <Mark.Trettin@gmx.de>. + +News in 11.11 +------------- + + * Support for 'prosper.sty', see <http://prosper.sourceforge.net/>. + Contributed by Phillip Lord <p.lord@russet.org.uk>. + +News in 11.10 +------------- + + * 'comment-region' now inserts %% by default. Suggested by "Davide + G. M. Salvetti" <salve@debian.org>>. + +News in 11.06 +------------- + + * You can now switch between using the 'font-latex' (all emacsen), + the 'tex-font' (Emacs 21 only) or no special package for font + locking. Customize 'TeX-install-font-lock' for this. + +News in 11.04 +------------- + + * Now use -t landscape by default when landscape option appears. + Suggested by Erik Frisk <frisk@isy.liu.se>. + +News in 11.03 +------------- + + * Use 'tex-fptex.el' for fpTeX support. Contributed by Fabrice + Popineau <Fabrice.Popineau@supelec.fr>. + +News in 11.02 +------------- + + * New user option 'LaTeX-top-caption-list' specifies environments + where the caption should go at top. Contributed by + <ataka@milk.freemail.ne.jp> (Masayuki Ataka). + + * Allow explicit dimensions in 'graphicx.sty'. Contributed by + <ataka@milk.freemail.ne.jp> (Masayuki Ataka). + + * Limited support for 'verbatim.sty'. Contributed by + <ataka@milk.freemail.ne.jp> (Masayuki Ataka). + + * Better support for amsmath items. Patch by + <ataka@milk.freemail.ne.jp> (Masayuki Ataka). + + * More accurate error parsing. Added by David Kastrup + <David.Kastrup@t-online.de>. + +News in 11.01 +------------- + + * Bug fixes. + +Older versions +-------------- + +See the file 'history.texi' for older changes. + + +File: auctex.info, Node: Development, Next: FAQ, Prev: Changes, Up: Appendices + +A.3 Future Development +====================== + +The following sections describe future development of AUCTeX. Besides +mid-term goals, bug reports and requests we cannot fix or honor right +away are being gathered here. If you have some time for Emacs Lisp +hacking, you are encouraged to try to provide a solution to one of the +following problems. If you don't know Lisp, you may help us to improve +the documentation. It might be a good idea to discuss proposed changes +on the mailing list of AUCTeX first. + +* Menu: + +* Mid-term Goals:: +* Wishlist:: +* Bugs:: + + +File: auctex.info, Node: Mid-term Goals, Next: Wishlist, Up: Development + +A.3.1 Mid-term Goals +-------------------- + + * Integration of preview-latex into AUCTeX + + As of AUCTeX 11.81 preview-latex is a part of AUCTeX in the sense + that the installation routines were merged and preview-latex is + being packaged with AUCTeX. + + Further integration will happen at the backend. This involves + folding of error parsing and task management of both packages which + will ease development efforts and avoid redundant work. + + * Error help catalogs + + Currently, the help for errors is more or less hardwired into + 'latex.el'. For supporting error help in other languages, it would + be sensible to instead arrange error messages in language-specific + files, make a common info file from all such catalogs in a given + language and look the error texts up in an appropriate index. The + user would then specify a preference list of languages, and the + errors would be looked up in the catalogs in sequence until they + were identified. + + * Combining 'docTeX' with RefTeX + + Macro cross references should also be usable for document + navigation using RefTeX. + + * Fix remove-style feature + + Currently 'TeX-remove-style' implementation isn't good. It is + common practice that major mode functions directly add macros and + environments via 'TeX-add-symbols' and 'LaTeX-add-environments', + but those macros and environments are lost once 'TeX-remove-style' + runs. It is necessary to run major mode function, by e.g. + 'normal-mode', again to recover them, but that makes no point in + running 'TeX-remove-style' itself because major mode function kills + all buffer-local variables. + + As of AUCTeX 12.3, 'TeX-remove-style' is no longer used by any + other codes. + + * Document 'LaTeX-insert-into-commments', + 'TeX-translate-location-hook', and usage of ConTeXt mode. + + +File: auctex.info, Node: Wishlist, Next: Bugs, Prev: Mid-term Goals, Up: Development + +A.3.2 Wishlist +-------------- + + * Simplify tool bar implementation. The library 'toolbar-x.el' was + developed as an abstraction layer to absorb difference between + XEmacs and GNU Emacs. Now that XEmacs is no longer supported, the + library, together with 'tex-bar.el' as a whole, can be much + simplified (or even unified). + + * Documentation lookup for macros + + A parser could gather information about which macros are defined in + which LaTeX packages and store the information in a hashtable which + can be used in a backend for 'TeX-doc' in order to open the + matching documentation for a given macro. The information could + also be used to insert an appropriate '\usepackage' statement if + the user tries to insert a macro for which the respective package + has not been requested yet. + + * Improvements to error reporting + + Fringe indicators for errors in the main text would be nice. + + * A math entry grid + + A separate frame with a table of math character graphics to click + on in order to insert the respective sequence into the buffer (cf. + the "grid" of 'x-symbol'). + + * Crossreferencing support + + It would be nice if you could index process your favorite + collection of '.dtx' files (such as the LaTeX source), just call a + command on arbitrary control sequence, and get either the DVI + viewer opened right at the definition of that macro (using Source + Specials), or the source code of the '.dtx' file. + + * Better plain TeX support + + For starters, 'LaTeX-math-mode' is not very LaTeX-specific in the + first place, and similar holds for indentation and formatting. + + * Page count when compiling should (optionally) go to modeline of the + window where the compilation command was invoked, instead of the + output window. Suggested by Karsten Tinnefeld + <tinnefeld@irb.informatik.uni-dortmund.de>. + + * Command to insert a macrodefinition in the preamble, without moving + point from the current location. Suggested by "Jeffrey C. Ely" + <ely@nwu.edu>. + + * A database of all commands defined in all stylefiles. When a + command or environment gets entered that is provided in one of the + styles, insert the appropriate '\usepackage' in the preamble. + + * A way to add and overwrite math mode entries in style files, and to + decide where they should be. Suggested by Remo Badii + <Remo.Badii@psi.ch>. + + * Create template for (first) line of tabular environment. + + * I think prompting for the master is the intended behaviour. It + corresponds to a 'shared' value for 'TeX-master'. + + There should probably be a 'none' value which wouldn't query for + the master, but instead disable all features that relies on + 'TeX-master'. + + This default value for 'TeX-master' could then be controled with + mapping based on the extension. + + * Use index files (when available) to speed up 'C-c C-m include + <RET>'. + + * Option not to calculate very slow completions like for 'C-c C-m + include <RET>'. + + * Font menu should be created from 'TeX-font-list'. + + * Installation procedure written purely in emacs lisp. + + * Included PostScript files should also be counted as part of the + document. + + * A nice hierarchical by-topic organization of all officially + documented LaTeX macros, available from the menu bar. + + * 'TeX-command-default' should be set from the master file, if not + set locally. Suggested by Peter Whaite <peta@cim.mcgill.ca>. + + * Make AUCTeX work with 'crypt++'. Suggested by Chris Moore + <Chris.Moore@src.bae.co.uk>. + + * Make AUCTeX work with 'longlines'. This would also apply to + preview-latex, though it might make sense to unify error processing + before attempting this. + + * The 'Spell' command should apply to all files in a document. Maybe + it could try to restrict to files that have been modified since + last spell check? Suggested by Ravinder Bhumbla + <rbhumbla@ucsd.edu>. + + * Make <.> check for abbreviations and sentences ending with capital + letters. + + * Use Emacs 19 minibuffer history to choose between previewers, and + other stuff. Suggested by John Interrante + <interran@uluru.Stanford.EDU>. + + * Documentation of variables that can be set in a style hook. + + We need a list of what can safely be done in an ordinary style + hook. You can not set a variable that AUCTeX depends on, unless + AUCTeX knows that it has to run the style hooks first. + + Here is the start of such a list. + + 'LaTeX-add-environments' + + 'TeX-add-symbols' + + 'LaTeX-add-labels' + + 'LaTeX-add-bibliographies' + + 'LaTeX-largest-level' + + * Outline should be (better) supported in TeX mode. + + At least, support headers, trailers, as well as + 'TeX-outline-extra'. + + * 'TeX-header-start' and 'TeX-trailer-end'. + + We might want these, just for fun (and outlines) + + * Plain TeX and LaTeX specific header and trailer expressions. + + We should have a way to globally specify the default value of the + header and trailer regexps. + + * Get closer to original 'TeX-mode' keybindings. + + A third initialization file ('tex-mode.el') containing an emulator + of the standard 'TeX-mode' would help convince some people to + change to AUCTeX. + + * Use markers in 'TeX-error-list' to remember buffer positions in + order to be more robust with regard to line numbers and changed + files. + + * Finish the Texinfo mode. For one thing, many Texinfo mode commands + do not accept braces around their arguments. + + * Hook up the letter environment with 'bbdb.el'. + + +File: auctex.info, Node: Bugs, Prev: Wishlist, Up: Development + +A.3.3 Bugs +---------- + + * The style hooks automatically generated by parsing files for + 'example.dtx', 'example.sty', 'example.drv' and 'example.bib' all + clash. Bad. Clash with hand-written style hooks should be removed + by dialect discrimination -- to be checked. + + * 'C-c `' should always stay in the current window, also when it + finds a new file. + + * Do not overwrite emacs warnings about existing auto-save files when + loading a new file. + + * Maybe the regexp for matching a TeX symbol during parsing should be + '"\\\\\\([a-zA-Z]+\\|.\\)"' -- + <thiemann@informatik.uni-tuebingen.de> Peter Thiemann. + + * AUCTeX should not parse verbatim environments. + + * Make '`' check for math context in 'LaTeX-math-mode'. and simply + self insert if not in a math context. + + * Make 'TeX-insert-dollar' more robust. Currently it can be fooled + by '\mbox''es and escaped double dollar for example. + + * Correct indentation for tabbing, table, and math environments. + + +File: auctex.info, Node: FAQ, Next: Texinfo mode, Prev: Development, Up: Appendices + +A.4 Frequently Asked Questions +============================== + + 1. Something is not working correctly. What should I do? + + Well, you might have guessed it, the first place to look is in the + available documentation packaged with AUCTeX. This could be the + release notes (in the 'RELEASE' file) or the news section of the + manual in case you are experiencing problems after an upgrade, the + 'INSTALL' file in case you are having problems with the + installation, the section about bugs in the manual in case you + encountered a bug or the relevant sections in the manual for other + related problems. + + If this did not help, you can send a bug report to the AUCTeX bug + reporting list by using the command 'M-x TeX-submit-bug-report + <RET>'. But before you do this, you can try to get more + information about the problem at hand which might also help you + locate the cause of the error yourself. + + First, you can try to generate a so-called backtrace which shows + the functions involved in a program error. In order to do this, + start Emacs with the command line 'emacs --debug-init' and/or put + the line + + (setq debug-on-error t) + + as the first line into your init file. After Emacs has started, + you can load a file which triggers the error and a new window + should pop up showing the backtrace. If you get such a backtrace, + please include it in the bug report. + + Second, you can try to figure out if something in your personal or + site configuration triggers the error by starting Emacs without + such customizations. You can do this by invoking Emacs with the + following command line, depending on the installation scheme of + AUCTeX and your OS: + * If you installed AUCTeX from ELPA, use 'emacs -q -no-site-file + --eval "(progn (setq package-load-list '((auctex t))) + (package-initialize))"'. The '--eval' option activates only + AUCTeX among all installed EPLA packages. + * If you installed AUCTeX via traditional 'configure'-'make' + scheme, use 'emacs -q -no-site-file -l auctex'. The '-l' + option loads 'auctex.el' which you normally do in your init + file. + * In both above cases, use 'runemacs' instead of 'emacs' on + windows. + + After you have started Emacs like this, you can load the file + triggering the error. If everything is working now, you know that + you have to search either in the site configuration file or your + personal init file for statements related to the problem. + + 2. What versions of Emacs are supported? + + AUCTeX was tested with GNU Emacs 25.1. Older versions may work but + are unsupported. + + 3. What should I do when './configure' does not find programs like + 'latex'? + + This is problem often encountered on Windows. Make sure that the + 'PATH' environment variable includes the directories containing the + relevant programs, as described in *note (auctex)Installation under + MS Windows::. + + 4. Why doesn't the completion, style file, or multifile stuff work? + + It must be enabled first, insert this in your init file: + + (setq-default TeX-master nil) + (setq TeX-parse-self t) + (setq TeX-auto-save t) + + Read also the chapters about parsing and multifile documents in the + manual. *Note Parsing Files:: and *note Multifile::. + + 5. Why doesn't 'TeX-save-document' work? + + 'TeX-check-path' has to contain "'./'" somewhere. + + 6. Why is the information in 'foo.tex' forgotten when I save + 'foo.bib'? + + For various reasons, AUCTeX ignores the extension when it stores + information about a file, so you should use unique base names for + your files. E.g. rename 'foo.bib' to 'foob.bib'. + + 7. Why doesn't AUCTeX signal when processing a document is done? + + If the message in the minibuffer stays "Type 'C-c C-l' to display + results of compilation.", you probably have a misconfiguration in + your init file ('.emacs', 'init.el' or similar). To track this + down either search in the '*Messages*' buffer for an error message + or put '(setq debug-on-error t)' as the first line into your init + file, restart Emacs and open a LaTeX file. Emacs will complain + loudly by opening a debugging buffer as soon as an error occurs. + The information in the debugging buffer can help you find the cause + of the error in your init file. + + 8. Why does 'TeX-next-error' ('C-c `') fail? + + If 'TeX-file-line-error' is set to nil (not the default), these + sort of failures might be related to the the fact that when writing + the log file, TeX puts information related to a file, including + error messages, between a pair of parentheses. In this scenario + AUCTeX determines the file where the error happened by parsing the + log file and counting the parentheses. This can fail when there + are other, unbalanced parentheses present. + + Activating so-called 'file:line:error' messages for the log file + usually solves this issue, as these kind of messages are are easier + to parse; however, they may lack some details. Activation can be + done either in the configuration of your TeX system (consult its + manual to see where this is) or by simply keeping the variable + 'TeX-file-line-error' to the default value of non-nil. + + 9. What does 'AUC' stand for? + + AUCTeX came into being at Aalborg University in Denmark. Back then + the Danish name of the university was Aalborg Universitetscenter; + 'AUC' for short. + + +File: auctex.info, Node: Texinfo mode, Prev: FAQ, Up: Appendices + +A.5 Features specific to AUCTeX's Texinfo major mode +==================================================== + +AUCTeX includes a major mode for editting Texinfo files. This major +mode is not the same mode as the native Texinfo mode (*note +(texinfo)Texinfo Mode::) of Emacs, although they have the same name. +However, AUCTeX still relies on a number of functions from the native +Texinfo mode. + + The following text describes which functionality is offered by AUCTeX +and which by the native Texinfo mode. This should enable you to decide +when to consult the AUCTeX manual and when the manual of the native +mode. And in case you are a seasoned user of the native mode, the +information should help you to swiftly get to know the AUCTeX-specific +commands. + +* Menu: + +* Exploiting:: How AUCTeX and the native mode work together +* Superseding:: Where the native mode is superseded +* Mapping:: Where key bindings are mapped to the native mode +* Unbinding:: Which native mode key bindings are missing + + +File: auctex.info, Node: Exploiting, Next: Superseding, Up: Texinfo mode + +A.5.1 How AUCTeX and the native mode work together +-------------------------------------------------- + +In a nutshell the split between AUCTeX Texinfo mode, and native Texinfo +mode is as follows: + + * Most of the editing (environment creation, commenting, font command + insertions) and/or processing commands (e.g. compiling or printing) + which are available in other AUCTeX modes are also handled by + AUCTeX in Texinfo mode. + + * Texinfo-related features (e.g. info node linkage or menu creation) + rely on the commands provided by the native Texinfo mode. AUCTeX + provides the key bindings to reach these functions, keeping the + same keys as in native Texinfo whenever possible, or similar ones + otherwise. + + +File: auctex.info, Node: Superseding, Next: Mapping, Prev: Exploiting, Up: Texinfo mode + +A.5.2 Where the native mode is superseded +----------------------------------------- + +This section is directed to users of the native Texinfo mode switching +to AUCTeX. It follows the summary of the native mode (*note +(texinfo)Texinfo Mode Summary::) and lists which of its commands are no +longer of use. + +Insert commands + In the native Texinfo mode, frequently used Texinfo commands can be + inserted with key bindings of the form 'C-c C-c K' where K differs + for each Texinfo command; 'c' inserts '@code', 'd' inserts '@dfn', + 'k' '@kbd', etc. + + In AUCTeX commands are inserted with the key binding 'C-c C-m' + instead which prompts for the macro to be inserted. For font + selection commands (like '@b', '@i', or '@emph') and a few related + ones (like '@var', '@key' or '@code') there are bindings which + insert the respective macros directly. They have the form 'C-c C-f + K' or 'C-c C-f C-K' and call the function 'TeX-font'. Type 'C-c + C-f <RET>' to get a list of supported commands. + + Note that the prefix argument is not handled the same way by + AUCTeX. Note also that the node insertion command from the native + mode ('texinfo-insert-@node') can still accessed from the Texinfo + menu in AUCTeX. + +Insert braces + In AUCTeX braces can be inserted with the same key binding as in + the native Texinfo mode: 'C-c {'. But AUCTeX uses its own function + for the feature: 'TeX-insert-braces'. + +Insert environments + The native Texinfo mode does not insert full environments. + Instead, it provides the function 'texinfo-insert-@end' (mapped to + 'C-c C-c e') for closing an open environment with a matching '@end' + statement. + + In AUCTeX you can insert full environments, i.e. both the opening + and closing statements, with the function 'Texinfo-environment' + (mapped to 'C-c C-e'). + +Format info files with makeinfo and TeX + In the native Texinfo mode there are various functions and bindings + to format a region or the whole buffer for info or to typeset the + respective text. For example, there is 'makeinfo-buffer' (mapped + to 'C-c C-m C-b') which runs 'makeinfo' on the buffer or there is + 'texinfo-tex-buffer' (mapped to 'C-c C-t C-b') which runs TeX on + the buffer in order to produce a DVI file. + + In AUCTeX different commands for formatting or typesetting can be + invoked through the function 'TeX-command-master' (mapped to 'C-c + C-c'). After typing 'C-c C-c', you can select the desired command, + e.g 'Makeinfo' or 'TeX', through a prompt in the mini buffer. Note + that you can make, say 'Makeinfo', the default by adding this + statement in your init file: + + (add-hook 'Texinfo-mode-hook + (lambda () (setq TeX-command-default "Makeinfo"))) + + Note also that 'C-c C-c Makeinfo <RET>' is not completely + functionally equivalent to 'makeinfo-buffer' as the latter will + display the resulting info file in Emacs, showing the node + corresponding to the position in the source file, just after a + successful compilation. This is why, while using AUCTeX, invoking + 'makeinfo-buffer' might still be more convenient. + + Note also that in the case of a multifile document, 'C-c C-c' in + AUCTeX will work on the whole document (provided that the file + variable 'TeX-master' is set correctly), while 'makeinfo-buffer' in + the native mode will process only the current buffer, provided at + the '@setfilename' statement is provided. + +Produce indexes and print + The native Texinfo mode provides the binding 'C-c C-t C-i' + ('texinfo-texindex') for producing an index and the bindings 'C-c + C-t C-p' ('texinfo-tex-print') and 'C-c C-t C-q' + ('tex-show-print-queue') for printing and showing the printer + queue. These are superseded by the respective commands available + through 'C-c C-c' ('TeX-command-master') in AUCTeX: 'Texindex', + 'Print', and 'Queue'. + +Kill jobs + The command 'C-c C-t C-k' ('tex-kill-job') in the native mode is + superseded by 'C-c C-k' ('TeX-kill-job') in AUCTeX. + + +File: auctex.info, Node: Mapping, Next: Unbinding, Prev: Superseding, Up: Texinfo mode + +A.5.3 Where key bindings are mapped to the native mode +------------------------------------------------------ + +This node follows the native Texinfo mode summary (*note +(texinfo)Texinfo Mode Summary::) and lists only those commands to which +AUCTeX provides a keybinding. + + Basically all commands of the native mode related to producing menus +and interlinking nodes are mapped to same or similar keys in AUCTeX, +while a few insertion commands are mapped to AUCTeX-like keys. + +'@item' insertion + The binding 'C-c C-c i' for the insertion of '@item' in the native + mode is mapped to 'M-<RET>' or 'C-c C-j' in AUCTeX, similar to + other AUCTeX modes. + +'@end' insertion + The binding 'C-c C-c e' for closing a '@FOO' command by a + corresponding '@end FOO' statement in the native mode is mapped to + 'C-c ]' in AUCTeX, similar to other AUCTeX modes. + +Move out of balanced braces + The binding 'C-c }' ('up-list') is available both in the native + mode and in AUCTeX. (This is because the command is not + implemented in either mode but a native Emacs command.) However, + in AUCTeX, you cannot use 'C-c ]' for this, as it is used for + '@end' insertion. + +Update pointers + The bindings 'C-c C-u C-n' ('texinfo-update-node') and 'C-c C-u + C-e' ('texinfo-every-node-update') from the native mode are + available in AUCTeX as well. + +Update menus + The bindings 'C-c C-u m' ('texinfo-master-menu'), 'C-c C-u C-m' + ('texinfo-make-menu'), and 'C-c C-u C-a' + ('texinfo-all-menus-update') from the native mode are available in + AUCTeX as well. The command 'texinfo-start-menu-description', + bound to 'C-c C-c C-d' in the native mode, is bound to 'C-c C-u + C-d' in AUCTeX instead. + + +File: auctex.info, Node: Unbinding, Prev: Mapping, Up: Texinfo mode + +A.5.4 Which native mode key bindings are missing +------------------------------------------------ + +The following commands from the native commands might still be useful +when working with AUCTeX, however, they are not accessible with a key +binding any longer. + +'@node' insertion + The node insertion command, mapped to 'C-c C-c n' in the native + mode, is not mapped to any key in AUCTeX. You can still access it + through the Texinfo menu, though. Another alternative is to use + the 'C-c C-m' binding for macro insertion in AUCTeX. + +Show the section structure + The command 'texinfo-show-structure' ('C-c C-s') from the native + mode does not have a key binding in AUCTeX. The binding is used by + AUCTeX for sectioning. + + +File: auctex.info, Node: Indices, Prev: Appendices, Up: Top + +Indices +******* + +* Menu: + +* Key Index:: +* Function Index:: +* Variable Index:: +* Concept Index:: + + +File: auctex.info, Node: Key Index, Next: Function Index, Up: Indices + +Key Index +========= + + +* Menu: + +* ": Quotes. (line 15) +* $: Quotes. (line 61) +* (: Quotes. (line 154) +* [: Quotes. (line 154) +* ^: Mathematics. (line 64) +* _: Mathematics. (line 64) +* {: Quotes. (line 154) +* C-c %: Commenting. (line 23) +* C-c *: Marking (LaTeX). (line 7) +* C-c * <1>: Marking (Texinfo). (line 7) +* C-c .: Marking (LaTeX). (line 16) +* C-c . <1>: Marking (Texinfo). (line 25) +* C-c ;: Commenting. (line 15) +* C-c ?: Documentation. (line 7) +* C-c C-a: Starting a Command. (line 59) +* C-c C-b: Starting a Command. (line 35) +* C-c C-c: Starting a Command. (line 13) +* C-c C-d: Multifile. (line 99) +* C-c C-e: Environments. (line 23) +* C-c C-f: Font Specifiers. (line 55) +* C-c C-f C-b: Editing Facilities. (line 72) +* C-c C-f C-b <1>: Font Specifiers. (line 16) +* C-c C-f C-c: Editing Facilities. (line 93) +* C-c C-f C-c <1>: Editing Facilities. (line 96) +* C-c C-f C-c <2>: Font Specifiers. (line 40) +* C-c C-f C-c <3>: Font Specifiers. (line 52) +* C-c C-f C-e: Editing Facilities. (line 78) +* C-c C-f C-e <1>: Font Specifiers. (line 25) +* C-c C-f C-f: Editing Facilities. (line 87) +* C-c C-f C-f <1>: Font Specifiers. (line 34) +* C-c C-f C-i: Editing Facilities. (line 75) +* C-c C-f C-i <1>: Font Specifiers. (line 22) +* C-c C-f C-l: Font Specifiers. (line 43) +* C-c C-f C-m: Font Specifiers. (line 19) +* C-c C-f C-n: Font Specifiers. (line 49) +* C-c C-f C-r: Editing Facilities. (line 84) +* C-c C-f C-r <1>: Font Specifiers. (line 31) +* C-c C-f C-s: Editing Facilities. (line 81) +* C-c C-f C-s <1>: Font Specifiers. (line 28) +* C-c C-f C-t: Editing Facilities. (line 90) +* C-c C-f C-t <1>: Font Specifiers. (line 37) +* C-c C-f C-w: Font Specifiers. (line 46) +* C-c C-f g: Japanese. (line 113) +* C-c C-f m: Japanese. (line 117) +* C-c C-k: Control. (line 10) +* C-c C-l: Control. (line 14) +* C-c C-m: Completion. (line 69) +* C-c C-n: Parsing Files. (line 45) +* C-c C-o b: Folding. (line 121) +* C-c C-o C-b: Folding. (line 43) +* C-c C-o C-c: Folding. (line 118) +* C-c C-o C-e: Folding. (line 102) +* C-c C-o C-f: Folding. (line 31) +* C-c C-o C-m: Folding. (line 93) +* C-c C-o C-o: Folding. (line 140) +* C-c C-o C-p: Folding. (line 89) +* C-c C-o C-r: Folding. (line 86) +* C-c C-o i: Folding. (line 133) +* C-c C-o p: Folding. (line 129) +* C-c C-o r: Folding. (line 125) +* C-c C-q C-e: Filling. (line 90) +* C-c C-q C-p: Filling. (line 84) +* C-c C-q C-r: Filling. (line 99) +* C-c C-q C-s: Filling. (line 95) +* C-c C-r: Starting a Command. (line 19) +* C-c C-s: Sectioning. (line 22) +* C-c C-t C-b: Ignoring warnings. (line 10) +* C-c C-t C-i: Processing Facilities. + (line 53) +* C-c C-t C-i <1>: Processor Options. (line 30) +* C-c C-t C-o: Processing Facilities. + (line 59) +* C-c C-t C-p: Processing Facilities. + (line 50) +* C-c C-t C-p <1>: Processor Options. (line 16) +* C-c C-t C-r: Starting a Command. (line 85) +* C-c C-t C-s: Processing Facilities. + (line 56) +* C-c C-t C-s <1>: Processor Options. (line 37) +* C-c C-t C-w: Ignoring warnings. (line 15) +* C-c C-t C-x: Ignoring warnings. (line 39) +* C-c C-v: Starting Viewers. (line 12) +* C-c C-z: Starting a Command. (line 42) +* C-c <LFD>: Itemize-like. (line 10) +* C-c <LFD> <1>: Tabular-like. (line 33) +* C-c ]: Environments. (line 102) +* C-c ^: Control. (line 18) +* C-c _: Multifile. (line 71) +* C-c `: Debugging. (line 12) +* C-c {: Quotes. (line 122) +* C-c ~: Mathematics. (line 12) +* C-j: Indenting. (line 78) +* C-M-a: Environments. (line 107) +* C-M-e: Environments. (line 114) +* C-M-h: Marking (Texinfo). (line 34) +* C-x n e: Narrowing. (line 17) +* C-x n g: Narrowing. (line 14) +* <LFD>: Indenting. (line 78) +* M-g p: Debugging. (line 27) +* M-q: Filling. (line 87) +* M-<TAB>: Completion. (line 24) +* <TAB>: Indenting. (line 74) + + +File: auctex.info, Node: Function Index, Next: Variable Index, Prev: Key Index, Up: Indices + +Function Index +============== + + +* Menu: + +* align-current: Indenting. (line 58) +* ams-tex-mode: Modes and Hooks. (line 22) +* auto-fill-mode: Filling. (line 6) +* context-mode: Modes and Hooks. (line 22) +* doctex-mode: Modes and Hooks. (line 22) +* indent-region: Indenting. (line 29) +* japanese-latex-mode: Japanese. (line 6) +* japanese-plain-tex-mode: Japanese. (line 6) +* LaTeX-add-bibliographies: Adding Other. (line 13) +* LaTeX-add-environments: Adding Environments. (line 66) +* LaTeX-add-labels: Adding Other. (line 16) +* LaTeX-arg-author: Adding Macros. (line 244) +* LaTeX-arg-usepackage: Adding Macros. (line 200) +* LaTeX-CLASSNAME-class-options: Adding Other. (line 107) +* LaTeX-close-environment: Environments. (line 101) +* LaTeX-command-section: Starting a Command. (line 41) +* LaTeX-declare-expert-environments: Adding Environments. (line 128) +* LaTeX-env-args: Adding Environments. (line 109) +* LaTeX-env-array: Adding Environments. (line 81) +* LaTeX-env-bib: Adding Environments. (line 103) +* LaTeX-env-contents: Adding Environments. (line 106) +* LaTeX-env-figure: Adding Environments. (line 77) +* LaTeX-env-item: Adding Environments. (line 74) +* LaTeX-env-label: Adding Environments. (line 85) +* LaTeX-env-list: Adding Environments. (line 88) +* LaTeX-env-minipage: Adding Environments. (line 92) +* LaTeX-env-picture: Adding Environments. (line 100) +* LaTeX-env-tabular*: Adding Environments. (line 96) +* LaTeX-environment: Environments. (line 22) +* LaTeX-fill-environment: Filling. (line 79) +* LaTeX-fill-environment <1>: Filling. (line 90) +* LaTeX-fill-paragraph: Filling. (line 84) +* LaTeX-fill-region: Filling. (line 99) +* LaTeX-fill-section: Filling. (line 95) +* LaTeX-find-matching-begin: Environments. (line 106) +* LaTeX-find-matching-end: Environments. (line 113) +* LaTeX-indent-line: Indenting. (line 74) +* LaTeX-insert-environment: Adding Environments. (line 69) +* LaTeX-insert-item: Itemize-like. (line 9) +* LaTeX-insert-item <1>: Tabular-like. (line 32) +* LaTeX-mark-environment: Marking (LaTeX). (line 15) +* LaTeX-mark-section: Marking (LaTeX). (line 6) +* LaTeX-match-class-option: Adding Other. (line 55) +* LaTeX-math-mode: Mathematics. (line 11) +* latex-mode: Modes and Hooks. (line 22) +* LaTeX-narrow-to-environment: Narrowing. (line 16) +* LaTeX-PACKAGENAME-package-options: Adding Other. (line 82) +* LaTeX-provided-class-options-member: Adding Other. (line 51) +* LaTeX-provided-package-options-member: Adding Other. (line 37) +* LaTeX-section: Sectioning. (line 21) +* LaTeX-section-heading: Sectioning. (line 69) +* LaTeX-section-label: Sectioning. (line 83) +* LaTeX-section-section: Sectioning. (line 77) +* LaTeX-section-title: Sectioning. (line 72) +* LaTeX-section-toc: Sectioning. (line 75) +* plain-tex-mode: Modes and Hooks. (line 22) +* TeX--completion-at-point: Completion. (line 51) +* TeX-add-style-hook: Simple Style. (line 34) +* TeX-add-symbols: Adding Macros. (line 24) +* TeX-arg-bibliography: Adding Macros. (line 210) +* TeX-arg-bibstyle: Adding Macros. (line 206) +* TeX-arg-cite: Adding Macros. (line 136) +* TeX-arg-conditional: Adding Macros. (line 86) +* TeX-arg-coordinate: Adding Macros. (line 241) +* TeX-arg-corner: Adding Macros. (line 214) +* TeX-arg-counter: Adding Macros. (line 141) +* TeX-arg-date: Adding Macros. (line 122) +* TeX-arg-define-cite: Adding Macros. (line 182) +* TeX-arg-define-counter: Adding Macros. (line 185) +* TeX-arg-define-environment: Adding Macros. (line 178) +* TeX-arg-define-label: Adding Macros. (line 166) +* TeX-arg-define-length: Adding Macros. (line 170) +* TeX-arg-define-macro: Adding Macros. (line 174) +* TeX-arg-define-savebox: Adding Macros. (line 188) +* TeX-arg-document: Adding Macros. (line 191) +* TeX-arg-environment: Adding Macros. (line 133) +* TeX-arg-eval: Adding Macros. (line 97) +* TeX-arg-file: Adding Macros. (line 147) +* TeX-arg-file-name: Adding Macros. (line 151) +* TeX-arg-file-name-sans-extension: Adding Macros. (line 155) +* TeX-arg-free: Adding Macros. (line 94) +* TeX-arg-hook: Adding Macros. (line 251) +* TeX-arg-index: Adding Macros. (line 113) +* TeX-arg-index-tag: Adding Macros. (line 109) +* TeX-arg-input-file: Adding Macros. (line 159) +* TeX-arg-key-val: Adding Macros. (line 257) +* TeX-arg-label: Adding Macros. (line 100) +* TeX-arg-length: Adding Macros. (line 116) +* TeX-arg-literal: Adding Macros. (line 90) +* TeX-arg-lr: Adding Macros. (line 217) +* TeX-arg-macro: Adding Macros. (line 119) +* TeX-arg-pagestyle: Adding Macros. (line 223) +* TeX-arg-pair: Adding Macros. (line 234) +* TeX-arg-ref: Adding Macros. (line 104) +* TeX-arg-savebox: Adding Macros. (line 144) +* TeX-arg-size: Adding Macros. (line 238) +* TeX-arg-tb: Adding Macros. (line 220) +* TeX-arg-verb: Adding Macros. (line 226) +* TeX-arg-verb-delim-or-brace: Adding Macros. (line 229) +* TeX-arg-version: Adding Macros. (line 129) +* TeX-auto-generate: Automatic Private. (line 23) +* TeX-clean: Cleaning. (line 6) +* TeX-command-buffer: Starting a Command. (line 34) +* TeX-command-master: Starting a Command. (line 12) +* TeX-command-region: Starting a Command. (line 18) +* TeX-command-run-all: Starting a Command. (line 58) +* TeX-comment-or-uncomment-paragraph: Commenting. (line 22) +* TeX-comment-or-uncomment-region: Commenting. (line 14) +* TeX-complete-symbol: Completion. (line 23) +* TeX-declare-expert-macros: Adding Macros. (line 272) +* TeX-documentation-texdoc: Documentation. (line 6) +* TeX-electric-macro: Completion. (line 107) +* TeX-error-overview: Error overview. (line 10) +* TeX-fold-buffer: Folding. (line 42) +* TeX-fold-clearout-buffer: Folding. (line 120) +* TeX-fold-clearout-item: Folding. (line 132) +* TeX-fold-clearout-paragraph: Folding. (line 128) +* TeX-fold-clearout-region: Folding. (line 124) +* TeX-fold-comment: Folding. (line 117) +* TeX-fold-dwim: Folding. (line 139) +* TeX-fold-env: Folding. (line 101) +* TeX-fold-macro: Folding. (line 92) +* TeX-fold-math: Folding. (line 108) +* TeX-fold-mode: Folding. (line 31) +* TeX-fold-paragraph: Folding. (line 88) +* TeX-fold-region: Folding. (line 85) +* TeX-font: Font Specifiers. (line 54) +* TeX-home-buffer: Control. (line 17) +* TeX-insert-braces: Quotes. (line 121) +* TeX-insert-dollar: Quotes. (line 60) +* TeX-insert-macro: Completion. (line 68) +* TeX-insert-quote: Quotes. (line 14) +* TeX-interactive-mode: Processor Options. (line 29) +* TeX-ispell-skip-setcar: Selecting a Command. (line 147) +* TeX-ispell-skip-setcdr: Selecting a Command. (line 147) +* TeX-ispell-tex-arg-end: Selecting a Command. (line 167) +* TeX-kill-job: Control. (line 9) +* TeX-master-file-ask: Multifile. (line 70) +* TeX-narrow-to-group: Narrowing. (line 13) +* TeX-next-error: Debugging. (line 11) +* TeX-normal-mode: Parsing Files. (line 44) +* TeX-PDF-mode: Processor Options. (line 15) +* TeX-pin-region: Starting a Command. (line 84) +* TeX-previous-error: Debugging. (line 26) +* TeX-read-hook: Adding Macros. (line 248) +* TeX-read-key-val: Adding Macros. (line 254) +* TeX-recenter-output-buffer: Control. (line 13) +* TeX-revert-document-buffer: Modes and Hooks. (line 39) +* TeX-save-document: Multifile. (line 98) +* TeX-source-correlate-mode: Processor Options. (line 36) +* TeX-source-correlate-mode <1>: I/O Correlation. (line 12) +* TeX-toggle-debug-bad-boxes: Ignoring warnings. (line 9) +* TeX-toggle-debug-warnings: Ignoring warnings. (line 14) +* TeX-toggle-suppress-ignored-warnings: Ignoring warnings. (line 38) +* TeX-view: Starting Viewers. (line 11) +* TeX-view <1>: I/O Correlation. (line 42) +* TeX-view-mouse: I/O Correlation. (line 48) +* Texinfo-mark-environment: Marking (Texinfo). (line 24) +* Texinfo-mark-node: Marking (Texinfo). (line 33) +* Texinfo-mark-section: Marking (Texinfo). (line 6) +* texinfo-mode: Modes and Hooks. (line 22) +* turn-on-auto-fill: Filling. (line 6) + + +File: auctex.info, Node: Variable Index, Next: Concept Index, Prev: Function Index, Up: Indices + +Variable Index +============== + + +* Menu: + +* AmS-TeX-mode-hook: Modes and Hooks. (line 22) +* AmSTeX-clean-intermediate-suffixes: Cleaning. (line 7) +* AmSTeX-clean-output-suffixes: Cleaning. (line 7) +* ConTeXt-clean-intermediate-suffixes: Cleaning. (line 7) +* ConTeXt-clean-output-suffixes: Cleaning. (line 7) +* ConTeXt-engine: Processor Options. (line 121) +* ConTeXt-Mark-version: Processor Options. (line 200) +* ConTeXt-mode-hook: Modes and Hooks. (line 22) +* ConTeXt-Omega-engine: Processor Options. (line 121) +* docTeX-clean-intermediate-suffixes: Cleaning. (line 7) +* docTeX-clean-output-suffixes: Cleaning. (line 7) +* docTeX-mode-hook: Modes and Hooks. (line 22) +* fill-column: Filling. (line 6) +* font-latex-deactivated-keyword-classes: Fontification of macros. + (line 162) +* font-latex-fontify-script: Fontification of math. + (line 28) +* font-latex-fontify-script-max-level: Fontification of math. + (line 42) +* font-latex-fontify-sectioning: Fontification of macros. + (line 95) +* font-latex-match-bold-command-keywords: Fontification of macros. + (line 137) +* font-latex-match-bold-declaration-keywords: Fontification of macros. + (line 137) +* font-latex-match-function-keywords: Fontification of macros. + (line 60) +* font-latex-match-italic-command-keywords: Fontification of macros. + (line 137) +* font-latex-match-italic-declaration-keywords: Fontification of macros. + (line 137) +* font-latex-match-math-command-keywords: Fontification of macros. + (line 137) +* font-latex-match-math-command-keywords <1>: Fontification of math. + (line 6) +* font-latex-match-reference-keywords: Fontification of macros. + (line 60) +* font-latex-match-sectioning-0-keywords: Fontification of macros. + (line 107) +* font-latex-match-sectioning-1-keywords: Fontification of macros. + (line 107) +* font-latex-match-sectioning-2-keywords: Fontification of macros. + (line 107) +* font-latex-match-sectioning-3-keywords: Fontification of macros. + (line 107) +* font-latex-match-sectioning-4-keywords: Fontification of macros. + (line 107) +* font-latex-match-sectioning-5-keywords: Fontification of macros. + (line 107) +* font-latex-match-slide-title-keywords: Fontification of macros. + (line 114) +* font-latex-match-textual-keywords: Fontification of macros. + (line 60) +* font-latex-match-type-command-keywords: Fontification of macros. + (line 137) +* font-latex-match-type-declaration-keywords: Fontification of macros. + (line 137) +* font-latex-match-variable-keywords: Fontification of macros. + (line 60) +* font-latex-match-warning-keywords: Fontification of macros. + (line 60) +* font-latex-math-environments: Fontification of math. + (line 6) +* font-latex-quotes: Fontification of quotes. + (line 15) +* font-latex-script-char-face: Fontification of math. + (line 63) +* font-latex-script-display: Fontification of math. + (line 66) +* font-latex-sectioning-0-face: Fontification of macros. + (line 96) +* font-latex-sectioning-1-face: Fontification of macros. + (line 96) +* font-latex-sectioning-2-face: Fontification of macros. + (line 96) +* font-latex-sectioning-3-face: Fontification of macros. + (line 96) +* font-latex-sectioning-4-face: Fontification of macros. + (line 96) +* font-latex-sectioning-5-face: Fontification of macros. + (line 96) +* font-latex-slide-title-face: Fontification of macros. + (line 114) +* font-latex-subscript-face: Fontification of math. + (line 42) +* font-latex-superscript-face: Fontification of math. + (line 42) +* font-latex-user-keyword-classes: Fontification of macros. + (line 194) +* japanese-LaTeX-default-style: Japanese. (line 75) +* japanese-TeX-engine-default: Japanese. (line 36) +* japanese-TeX-mode: Japanese. (line 6) +* japanese-TeX-use-kanji-opt-flag: Japanese. (line 87) +* LaTeX-amsmath-label: Equations. (line 15) +* LaTeX-auto-class-regexp-list: Parsing Files. (line 106) +* LaTeX-auto-counter-regexp-list: Parsing Files. (line 112) +* LaTeX-auto-index-regexp-list: Parsing Files. (line 103) +* LaTeX-auto-label-regexp-list: Parsing Files. (line 100) +* LaTeX-auto-length-regexp-list: Parsing Files. (line 115) +* LaTeX-auto-minimal-regexp-list: Parsing Files. (line 97) +* LaTeX-auto-pagestyle-regexp-list: Parsing Files. (line 109) +* LaTeX-auto-regexp-list: Parsing Files. (line 121) +* LaTeX-auto-savebox-regexp-list: Parsing Files. (line 118) +* LaTeX-babel-hyphen: European. (line 168) +* LaTeX-babel-hyphen-after-hyphen: European. (line 176) +* LaTeX-babel-hyphen-language-alist: European. (line 155) +* LaTeX-begin-regexp: Indenting. (line 119) +* LaTeX-biblatex-use-Biber: Selecting a Command. (line 52) +* LaTeX-CLASSNAME-class-options: Adding Other. (line 104) +* LaTeX-clean-intermediate-suffixes: Cleaning. (line 7) +* LaTeX-clean-output-suffixes: Cleaning. (line 7) +* LaTeX-command: Processor Options. (line 121) +* LaTeX-csquotes-close-quote: Quotes. (line 43) +* LaTeX-csquotes-open-quote: Quotes. (line 43) +* LaTeX-csquotes-quote-after-quote: Quotes. (line 43) +* LaTeX-default-author: Adding Macros. (line 245) +* LaTeX-default-document-environment: Environments. (line 61) +* LaTeX-default-environment: Environments. (line 56) +* LaTeX-default-format: Tabular-like. (line 10) +* LaTeX-default-options: Adding Macros. (line 192) +* LaTeX-default-position: Tabular-like. (line 16) +* LaTeX-default-style: Adding Macros. (line 192) +* LaTeX-default-width: Tabular-like. (line 13) +* LaTeX-done-mark: Sectioning. (line 62) +* LaTeX-electric-left-right-brace: Quotes. (line 157) +* LaTeX-enable-toolbar: Processing. (line 11) +* LaTeX-end-regexp: Indenting. (line 119) +* LaTeX-eqnarray-label: Equations. (line 12) +* LaTeX-equation-label: Equations. (line 9) +* LaTeX-figure-label: Floats. (line 32) +* LaTeX-figure-label <1>: Floats. (line 42) +* LaTeX-fill-break-at-separators: Filling. (line 101) +* LaTeX-fill-break-before-code-comments: Filling. (line 111) +* LaTeX-fill-excluded-macros: Filling. (line 121) +* LaTeX-float: Floats. (line 14) +* LaTeX-float <1>: Floats. (line 39) +* LaTeX-fold-env-spec-list: Folding. (line 197) +* LaTeX-fold-macro-spec-list: Folding. (line 197) +* LaTeX-fold-math-spec-list: Folding. (line 197) +* LaTeX-font-list: Font Specifiers. (line 69) +* LaTeX-indent-environment-check: Indenting. (line 51) +* LaTeX-indent-environment-list: Indenting. (line 37) +* LaTeX-indent-environment-list <1>: Indenting. (line 48) +* LaTeX-indent-environment-list <2>: Indenting. (line 86) +* LaTeX-indent-level: Indenting. (line 19) +* LaTeX-indent-level <1>: Indenting. (line 91) +* LaTeX-item-indent: Indenting. (line 19) +* LaTeX-item-indent <1>: Indenting. (line 95) +* LaTeX-item-regexp: Indenting. (line 19) +* LaTeX-label-alist: Environments. (line 38) +* LaTeX-level: Sectioning. (line 53) +* LaTeX-math-abbrev-prefix: Mathematics. (line 26) +* LaTeX-math-default: Mathematics. (line 6) +* LaTeX-math-list: Mathematics. (line 36) +* LaTeX-math-menu-unicode: Mathematics. (line 56) +* LaTeX-mode-hook: Modes and Hooks. (line 22) +* LaTeX-name: Sectioning. (line 56) +* LaTeX-Omega-command: Processor Options. (line 121) +* LaTeX-PACKAGENAME-package-options: Adding Other. (line 69) +* LaTeX-paragraph-commands: Filling. (line 54) +* LaTeX-provided-class-options: Adding Other. (line 44) +* LaTeX-provided-package-options: Adding Other. (line 26) +* LaTeX-section-hook: Sectioning. (line 40) +* LaTeX-section-hook <1>: Sectioning. (line 48) +* LaTeX-section-label: Sectioning. (line 42) +* LaTeX-section-label <1>: Sectioning. (line 101) +* LaTeX-short-caption-prompt-length: Floats. (line 27) +* LaTeX-short-caption-prompt-length <1>: Floats. (line 51) +* LaTeX-style-list: Adding Macros. (line 192) +* LaTeX-syntactic-comments: Indenting. (line 68) +* LaTeX-syntactic-comments <1>: Indenting. (line 103) +* LaTeX-table-label: Floats. (line 32) +* LaTeX-table-label <1>: Floats. (line 45) +* LaTeX-title: Sectioning. (line 58) +* LaTeX-toc: Sectioning. (line 60) +* LaTeX-top-caption-list: Floats. (line 20) +* LaTeX-top-caption-list <1>: Floats. (line 48) +* LaTeX-verbatim-environments: Verbatim content. (line 10) +* LaTeX-verbatim-macros-with-braces: Verbatim content. (line 10) +* LaTeX-verbatim-macros-with-delims: Verbatim content. (line 10) +* outline-regexp: Marking (Texinfo). (line 10) +* plain-TeX-auto-regexp-list: Parsing Files. (line 124) +* plain-TeX-clean-intermediate-suffixes: Cleaning. (line 7) +* plain-TeX-clean-output-suffixes: Cleaning. (line 7) +* plain-TeX-enable-toolbar: Processing. (line 11) +* plain-TeX-mode-hook: Modes and Hooks. (line 22) +* TeX-after-compilation-finished-functions: Modes and Hooks. (line 30) +* TeX-after-compilation-finished-functions <1>: Modes and Hooks. + (line 40) +* TeX-arg-cite-note-p: Adding Macros. (line 137) +* TeX-arg-input-file-search: Adding Macros. (line 160) +* TeX-arg-input-file-search <1>: Adding Macros. (line 192) +* TeX-arg-input-file-search <2>: Adding Macros. (line 201) +* TeX-arg-item-label-p: Itemize-like. (line 15) +* TeX-arg-right-insert-p: Quotes. (line 150) +* TeX-auto-cleanup-hook: Hacking the Parser. (line 100) +* TeX-auto-empty-regexp-list: Parsing Files. (line 94) +* TeX-auto-full-regexp-list: Parsing Files. (line 127) +* TeX-auto-global: Automatic Global. (line 24) +* TeX-auto-local: Automatic Local. (line 21) +* TeX-auto-parse-length: Parsing Files. (line 88) +* TeX-auto-prepare-hook: Hacking the Parser. (line 97) +* TeX-auto-private: Automatic Private. (line 19) +* TeX-auto-regexp-list: Parsing Files. (line 85) +* TeX-auto-regexp-list <1>: Hacking the Parser. (line 78) +* TeX-auto-save: Parsing Files. (line 41) +* TeX-auto-untabify: Parsing Files. (line 58) +* TeX-bar-LaTeX-button-alist: Processing. (line 11) +* TeX-bar-LaTeX-buttons: Processing. (line 11) +* TeX-bar-TeX-all-button-alists: Processing. (line 11) +* TeX-bar-TeX-buttons: Processing. (line 11) +* TeX-brace-indent-level: Indenting. (line 99) +* TeX-check-engine: Processor Options. (line 164) +* TeX-check-path: Selecting a Command. (line 68) +* TeX-check-TeX: Processor Options. (line 149) +* TeX-check-TeX-command-not-found: Processor Options. (line 150) +* TeX-clean-confirm: Cleaning. (line 30) +* TeX-close-quote: Quotes. (line 25) +* TeX-command: Processor Options. (line 121) +* TeX-command <1>: Processor Options. (line 150) +* TeX-command-default: Selecting a Command. (line 43) +* TeX-command-extra-options: Processor Options. (line 172) +* TeX-command-list: Starting a Command. (line 16) +* TeX-command-list <1>: Starting a Command. (line 32) +* TeX-command-list <2>: Selecting a Command. (line 14) +* TeX-complete-expert-commands: Environments. (line 78) +* TeX-complete-expert-commands <1>: Completion. (line 142) +* TeX-complete-list: Completion. (line 26) +* TeX-date-format: Adding Macros. (line 123) +* TeX-debug-bad-boxes: Ignoring warnings. (line 10) +* TeX-debug-warnings: Ignoring warnings. (line 15) +* TeX-default-macro: Completion. (line 76) +* TeX-default-mode: Japanese. (line 6) +* TeX-default-mode <1>: Japanese. (line 67) +* TeX-dialect: Simple Style. (line 82) +* TeX-display-help: Debugging. (line 47) +* TeX-DVI-via-PDFTeX: Processor Options. (line 22) +* TeX-electric-escape: Completion. (line 97) +* TeX-electric-math: Quotes. (line 72) +* TeX-electric-sub-and-superscript: Mathematics. (line 70) +* TeX-engine: Processor Options. (line 104) +* TeX-engine <1>: Japanese. (line 6) +* TeX-engine-alist: Processor Options. (line 121) +* TeX-engine-alist <1>: Processor Options. (line 132) +* TeX-engine-alist <2>: Japanese. (line 6) +* TeX-engine-alist-builtin: Processor Options. (line 121) +* TeX-error-overview-frame-parameters: Error overview. (line 43) +* TeX-error-overview-open-after-TeX-run: Error overview. (line 25) +* TeX-error-overview-setup: Error overview. (line 34) +* TeX-expand-list: Selecting a Command. (line 14) +* TeX-file-line-error: Processor Options. (line 193) +* TeX-file-recurse: Automatic. (line 44) +* TeX-fold-auto: Folding. (line 70) +* TeX-fold-command-prefix: Folding. (line 145) +* TeX-fold-env-spec-list: Folding. (line 187) +* TeX-fold-force-fontify: Folding. (line 62) +* TeX-fold-help-echo-max-length: Folding. (line 224) +* TeX-fold-macro-spec-list: Folding. (line 154) +* TeX-fold-math-spec-list: Folding. (line 194) +* TeX-fold-preserve-comments: Folding. (line 75) +* TeX-fold-type-list: Folding. (line 57) +* TeX-fold-unfold-around-mark: Folding. (line 81) +* TeX-fold-unspec-env-display-string: Folding. (line 207) +* TeX-fold-unspec-macro-display-string: Folding. (line 203) +* TeX-fold-unspec-use-name: Folding. (line 211) +* TeX-font-list: Font Specifiers. (line 60) +* TeX-header-end: Starting a Command. (line 32) +* TeX-header-end <1>: Starting a Command. (line 69) +* TeX-ignore-file: Automatic. (line 52) +* TeX-ignore-warnings: Ignoring warnings. (line 25) +* TeX-indent-close-delimiters: Indenting. (line 133) +* TeX-indent-open-delimiters: Indenting. (line 128) +* TeX-insert-braces: Completion. (line 117) +* TeX-insert-braces-alist: Completion. (line 121) +* TeX-insert-macro-default-style: Completion. (line 80) +* TeX-install-font-lock: Font Locking. (line 13) +* TeX-interactive-mode: Processor Options. (line 30) +* TeX-ispell-extend-skip-list: Selecting a Command. (line 83) +* TeX-ispell-verb-delimiters: Selecting a Command. (line 176) +* TeX-japanese-process-input-coding-system: Japanese. (line 95) +* TeX-japanese-process-output-coding-system: Japanese. (line 99) +* TeX-language-bg-hook: European. (line 51) +* TeX-language-cz-hook: European. (line 51) +* TeX-language-de-hook: European. (line 51) +* TeX-language-dk-hook: European. (line 51) +* TeX-language-en-hook: European. (line 51) +* TeX-language-is-hook: European. (line 51) +* TeX-language-it-hook: European. (line 51) +* TeX-language-nl-hook: European. (line 51) +* TeX-language-pl-hook: European. (line 51) +* TeX-language-pt-br-hook: European. (line 51) +* TeX-language-pt-hook: European. (line 51) +* TeX-language-sk-hook: European. (line 51) +* TeX-language-sv-hook: European. (line 51) +* TeX-macro-global: Customizing. (line 19) +* TeX-macro-global <1>: Automatic Global. (line 16) +* TeX-macro-private: Automatic Private. (line 12) +* TeX-master: Starting a Command. (line 16) +* TeX-master <1>: Starting a Command. (line 32) +* TeX-master <2>: Multifile. (line 39) +* TeX-math-input-method-off-regexp: Mathematics. (line 76) +* TeX-newline-function: Indenting. (line 29) +* TeX-newline-function <1>: Indenting. (line 107) +* TeX-Omega-command: Processor Options. (line 121) +* TeX-one-master: Multifile. (line 57) +* TeX-open-quote: Quotes. (line 21) +* TeX-outline-extra: Outline. (line 13) +* TeX-output-dir: Control. (line 25) +* TeX-parse-all-errors: Debugging. (line 35) +* TeX-parse-self: Parsing Files. (line 38) +* TeX-parse-self <1>: Japanese. (line 6) +* TeX-PDF-from-DVI: Processor Options. (line 71) +* TeX-PDF-mode: Processor Options. (line 16) +* TeX-quote-after-quote: Quotes. (line 29) +* TeX-quote-language-alist: European. (line 142) +* TeX-raise-frame-function: I/O Correlation. (line 85) +* TeX-region: Starting a Command. (line 32) +* TeX-region <1>: Starting a Command. (line 65) +* TeX-save-query: Multifile. (line 102) +* TeX-show-compilation: Processor Options. (line 185) +* TeX-source-correlate-map: I/O Correlation. (line 48) +* TeX-source-correlate-method: Processor Options. (line 48) +* TeX-source-correlate-method <1>: I/O Correlation. (line 21) +* TeX-source-correlate-mode: Processor Options. (line 37) +* TeX-source-correlate-start-server: I/O Correlation. (line 57) +* TeX-source-correlate-start-server <1>: I/O Correlation. (line 63) +* TeX-source-correlate-start-server <2>: I/O Correlation. (line 77) +* TeX-style-global: Automatic Global. (line 19) +* TeX-style-local: Automatic Local. (line 16) +* TeX-style-path: Automatic. (line 38) +* TeX-style-private: Automatic Private. (line 28) +* TeX-suppress-ignored-warnings: Ignoring warnings. (line 39) +* TeX-trailer-start: Starting a Command. (line 32) +* TeX-trailer-start <1>: Starting a Command. (line 74) +* TeX-view-evince-keep-focus: Starting Viewers. (line 92) +* TeX-view-predicate-list: Starting Viewers. (line 56) +* TeX-view-program-list: Starting Viewers. (line 65) +* TeX-view-program-selection: Starting Viewers. (line 36) +* Texinfo-clean-intermediate-suffixes: Cleaning. (line 7) +* Texinfo-clean-output-suffixes: Cleaning. (line 7) +* Texinfo-mode-hook: Modes and Hooks. (line 22) +* texinfo-section-list: Marking (Texinfo). (line 10) +* texmathp-tex-commands: Fontification of math. + (line 6) +* texmathp-tex-commands-default: Fontification of math. + (line 6) + + +File: auctex.info, Node: Concept Index, Prev: Variable Index, Up: Indices + +Concept Index +============= + + +* Menu: + +* .emacs: Loading the package. (line 6) +* \begin: Environments. (line 6) +* \chapter: Editing Facilities. (line 24) +* \chapter <1>: Sectioning. (line 6) +* \cite, completion of: Completion. (line 154) +* \emph: Editing Facilities. (line 78) +* \emph <1>: Font Specifiers. (line 25) +* \end: Environments. (line 6) +* \include: Multifile. (line 6) +* \input: Multifile. (line 6) +* \item: Itemize-like. (line 6) +* \label: Editing Facilities. (line 24) +* \label <1>: Sectioning. (line 6) +* \label, completion: Completion. (line 154) +* \mathgt: Japanese. (line 113) +* \mathmc: Japanese. (line 117) +* \ref, completion: Completion. (line 154) +* \section: Editing Facilities. (line 24) +* \section <1>: Sectioning. (line 6) +* \subsection: Editing Facilities. (line 24) +* \subsection <1>: Sectioning. (line 6) +* \textbf: Editing Facilities. (line 72) +* \textbf <1>: Font Specifiers. (line 16) +* \textgt: Japanese. (line 113) +* \textit: Editing Facilities. (line 75) +* \textit <1>: Font Specifiers. (line 22) +* \textmc: Japanese. (line 117) +* \textmd: Font Specifiers. (line 19) +* \textnormal: Font Specifiers. (line 49) +* \textrm: Editing Facilities. (line 84) +* \textrm <1>: Font Specifiers. (line 31) +* \textsc: Editing Facilities. (line 93) +* \textsc <1>: Font Specifiers. (line 40) +* \textsf: Editing Facilities. (line 87) +* \textsf <1>: Font Specifiers. (line 34) +* \textsl: Editing Facilities. (line 81) +* \textsl <1>: Font Specifiers. (line 28) +* \textsw: Font Specifiers. (line 46) +* \texttt: Editing Facilities. (line 90) +* \texttt <1>: Font Specifiers. (line 37) +* \textulc: Font Specifiers. (line 43) +* Abbreviations: Mathematics. (line 6) +* Adding a style hook: Simple Style. (line 6) +* Adding bibliographies: Adding Other. (line 6) +* Adding environments: Adding Environments. (line 6) +* Adding labels: Adding Other. (line 6) +* Adding macros: Adding Macros. (line 6) +* Adding other information: Adding Other. (line 6) +* Adding support for completion of package/class options: Adding Other. + (line 6) +* Adding to PATH in Windows: Installation under MS Windows. + (line 42) +* align.el: Indenting. (line 58) +* amsmath: Equations. (line 6) +* amsmath <1>: Tabular-like. (line 6) +* Arguments to TeX macros: Completion. (line 6) +* ASCII pTeX: Internationalization. + (line 6) +* ASCII pTeX <1>: Japanese. (line 6) +* auctex.el: Loading the package. (line 10) +* auctex.el <1>: Changes. (line 841) +* auto directories.: Automatic. (line 6) +* auto-fill-mode: Indenting. (line 29) +* Auto-Reveal: Folding. (line 6) +* Automatic: Automatic. (line 6) +* Automatic Customization: Automatic. (line 6) +* Automatic Parsing: Parsing Files. (line 6) +* Automatic updating style hooks: Automatic Local. (line 6) +* Bad boxes: Debugging. (line 6) +* Biber: Selecting a Command. (line 47) +* biblatex: Selecting a Command. (line 47) +* Bibliographies, adding: Adding Other. (line 6) +* Bibliography: Commands. (line 6) +* bibliography, completion: Completion. (line 154) +* BibTeX: Commands. (line 6) +* BibTeX, completion: Completion. (line 154) +* book.el: Simple Style. (line 6) +* Braces: Quotes. (line 6) +* Brackets: Quotes. (line 6) +* Brazilian Portuguese: European. (line 51) +* Bulgarian: European. (line 51) +* Changing font: Font Specifiers. (line 6) +* Changing the parser: Hacking the Parser. (line 6) +* Chapters: Editing Facilities. (line 24) +* Chapters <1>: Sectioning. (line 6) +* Checking: Checking. (line 6) +* ChinaTeX: Internationalization. + (line 6) +* chktex: Checking. (line 6) +* citations, completion of: Completion. (line 154) +* cite, completion of: Completion. (line 154) +* CJK language: Internationalization. + (line 6) +* CJK-LaTeX: Internationalization. + (line 6) +* Cleaning: Cleaning. (line 6) +* Commands: Commands. (line 6) +* Completion: Completion. (line 6) +* Controlling the output: Control. (line 6) +* Copying: Copying. (line 6) +* Copyright: Copying. (line 6) +* CTeX: Internationalization. + (line 6) +* Current file: Control. (line 6) +* Customization: Customizing. (line 6) +* Customization, personal: Customizing. (line 6) +* Customization, site: Customizing. (line 6) +* Czech: European. (line 51) +* Danish: European. (line 51) +* Debugging: Debugging. (line 6) +* Default command: Commands. (line 6) +* Defining bibliographies in style hooks: Adding Other. (line 6) +* Defining environments in style hooks: Adding Environments. (line 6) +* Defining labels in style hooks: Adding Other. (line 6) +* Defining macros in style hooks: Adding Macros. (line 6) +* Defining other information in style hooks: Adding Other. (line 5) +* Deleting fonts: Editing Facilities. (line 96) +* Deleting fonts <1>: Font Specifiers. (line 52) +* Descriptions: Itemize-like. (line 6) +* Display math mode: Quotes. (line 6) +* Distribution: Copying. (line 6) +* Documentation: Documentation. (line 6) +* Documents: Multifile. (line 6) +* Documents with multiple files: Multifile. (line 6) +* Dollar signs, color bleed with: Known problems. (line 6) +* Dollars: Quotes. (line 6) +* Double quotes: Quotes. (line 6) +* Dutch: European. (line 51) +* English: European. (line 51) +* Enumerates: Itemize-like. (line 6) +* Environments: Environments. (line 6) +* Environments, adding: Adding Environments. (line 6) +* Eqnarray: Equations. (line 6) +* Equation: Equations. (line 6) +* Equations: Equations. (line 6) +* Errors: Debugging. (line 6) +* Europe: European. (line 6) +* European Characters: European. (line 6) +* Examining package/class options: Adding Other. (line 6) +* Example of a style file.: Simple Style. (line 6) +* Expansion: Completion. (line 6) +* External Commands: Commands. (line 6) +* Extracting TeX symbols: Automatic. (line 6) +* Faces: Faces. (line 6) +* FDL, GNU Free Documentation License: GNU Free Documentation License. + (line 6) +* Figure environment: Floats. (line 6) +* Figures: Floats. (line 6) +* Filling: Filling. (line 6) +* Finding errors: Checking. (line 6) +* Finding the current file: Control. (line 6) +* Finding the master file: Control. (line 6) +* Floats: Floats. (line 6) +* Flymake: Checking. (line 6) +* Folding: Folding. (line 6) +* Folding <1>: Outline. (line 6) +* Font Locking: Font Locking. (line 6) +* Font macros: Font Specifiers. (line 6) +* font-latex: Font Locking. (line 6) +* Fonts: Font Specifiers. (line 6) +* Formatting: Indenting. (line 6) +* Formatting <1>: Filling. (line 6) +* Formatting <2>: Commands. (line 6) +* Forward search: I/O Correlation. (line 6) +* Free: Copying. (line 6) +* Free software: Copying. (line 6) +* General Public License: Copying. (line 6) +* Generating symbols: Automatic. (line 6) +* German: European. (line 51) +* Global directories: Automatic Global. (line 6) +* Global macro directory: Automatic Global. (line 6) +* Global style hook directory: Automatic Global. (line 6) +* Global TeX macro directory: Automatic Global. (line 6) +* GPL: Copying. (line 6) +* Header: Commands. (line 6) +* Headers: Outline. (line 6) +* Hide Macros: Folding. (line 6) +* HLaTeX: Internationalization. + (line 6) +* I/O correlation: Processor Options. (line 36) +* I/O correlation <1>: I/O Correlation. (line 6) +* Including: Multifile. (line 6) +* Indentation: Indenting. (line 6) +* Indenting: Indenting. (line 6) +* Indexing: Commands. (line 6) +* init.el: Loading the package. (line 6) +* Initialization: Customizing. (line 6) +* input method: Mathematics. (line 73) +* Inputing: Multifile. (line 6) +* Installation: Build/install and uninstall. + (line 6) +* Internationalization: Internationalization. + (line 6) +* Inverse search: I/O Correlation. (line 6) +* ISO 8859 Latin 1: European. (line 6) +* ISO Character set: European. (line 6) +* iso-cvt.el: European. (line 29) +* ispell: Selecting a Command. (line 74) +* ispell <1>: European. (line 38) +* Italian: European. (line 51) +* Itemize: Itemize-like. (line 6) +* Items: Itemize-like. (line 6) +* Japan: Japanese. (line 6) +* Japanese: Japanese. (line 6) +* jLaTeX: Japanese. (line 6) +* jTeX: Internationalization. + (line 6) +* jTeX <1>: Japanese. (line 6) +* Killing a process: Control. (line 6) +* kTeX: Internationalization. + (line 6) +* Label prefix: Sectioning. (line 111) +* Label prefix <1>: Floats. (line 32) +* Labels: Sectioning. (line 111) +* Labels <1>: Floats. (line 32) +* Labels, adding: Adding Other. (line 6) +* labels, completion of: Completion. (line 154) +* lacheck: Checking. (line 6) +* Language Support: Internationalization. + (line 6) +* LaTeX: Commands. (line 6) +* Latin 1: European. (line 5) +* License: Copying. (line 6) +* Literature: Commands. (line 6) +* Local style directory: Automatic Local. (line 6) +* Local style hooks: Automatic Local. (line 6) +* Local style hooks <1>: Automatic Local. (line 6) +* Macro arguments: Completion. (line 6) +* Macro completion: Completion. (line 6) +* Macro expansion: Completion. (line 6) +* macro.el: Hacking the Parser. (line 6) +* macro.tex: Hacking the Parser. (line 6) +* Macros, adding: Adding Macros. (line 6) +* Make: Build/install and uninstall. + (line 6) +* makeindex: Commands. (line 6) +* Making a bibliography: Commands. (line 6) +* Making an index: Commands. (line 6) +* Many Files: Multifile. (line 6) +* Master file: Control. (line 6) +* Master file <1>: Multifile. (line 6) +* Matching dollar signs: Quotes. (line 6) +* Math mode delimiters: Quotes. (line 6) +* Math, fontification of: Fontification of math. + (line 6) +* Math, fontification problems with: Known problems. (line 6) +* Mathematics: Mathematics. (line 6) +* Multifile Documents: Multifile. (line 6) +* Multiple Files: Multifile. (line 6) +* Next error: Debugging. (line 6) +* Nippon: Japanese. (line 6) +* NTT jTeX: Internationalization. + (line 6) +* NTT jTeX <1>: Japanese. (line 6) +* Other information, adding: Adding Other. (line 6) +* Outlining: Folding. (line 6) +* Outlining <1>: Outline. (line 6) +* Output: Control. (line 6) +* Overfull boxes: Debugging. (line 6) +* Overview: Outline. (line 6) +* package/class options, Examining: Adding Other. (line 6) +* Parsing errors: Debugging. (line 6) +* Parsing LaTeX errors: Debugging. (line 6) +* Parsing new macros: Hacking the Parser. (line 6) +* Parsing TeX: Parsing Files. (line 6) +* Parsing TeX <1>: Automatic. (line 6) +* Parsing TeX output: Debugging. (line 6) +* PATH in Windows: Installation under MS Windows. + (line 42) +* PDF mode: Processor Options. (line 16) +* PDFSync: Processor Options. (line 36) +* PDFSync <1>: I/O Correlation. (line 6) +* Personal customization: Customizing. (line 6) +* Personal information: Automatic Private. (line 6) +* Personal macro directory: Automatic Private. (line 6) +* Personal TeX macro directory: Automatic Private. (line 6) +* pLaTeX: Japanese. (line 6) +* Polish: European. (line 51) +* Portuguese: European. (line 51) +* Prefix for labels: Sectioning. (line 111) +* Prefix for labels <1>: Floats. (line 32) +* preview-install-styles: Configure. (line 85) +* Previewing: Viewing. (line 6) +* Printing: Commands. (line 6) +* Private directories: Automatic Private. (line 6) +* Private macro directory: Automatic Private. (line 6) +* Private style hook directory: Automatic Private. (line 6) +* Private TeX macro directory: Automatic Private. (line 6) +* Problems: Checking. (line 6) +* Processes: Control. (line 6) +* pTeX: Internationalization. + (line 6) +* pTeX <1>: Japanese. (line 6) +* Quotes: Quotes. (line 6) +* Quotes, fontification of: Fontification of quotes. + (line 6) +* Redisplay output: Control. (line 6) +* Refilling: Filling. (line 6) +* Reformatting: Indenting. (line 6) +* Reformatting <1>: Filling. (line 6) +* Region: Commands. (line 6) +* Region file: Commands. (line 6) +* Reindenting: Indenting. (line 6) +* Reveal: Folding. (line 6) +* Right: Copying. (line 6) +* Running BibTeX: Commands. (line 6) +* Running chktex: Checking. (line 6) +* Running commands: Commands. (line 6) +* Running Flymake: Checking. (line 6) +* Running lacheck: Checking. (line 6) +* Running LaTeX: Commands. (line 6) +* Running makeindex: Commands. (line 6) +* Running TeX: Commands. (line 6) +* Sample style file: Simple Style. (line 6) +* Sectioning: Editing Facilities. (line 24) +* Sectioning <1>: Sectioning. (line 6) +* Sectioning commands, fontification of: Fontification of macros. + (line 91) +* Sections: Editing Facilities. (line 24) +* Sections <1>: Sectioning. (line 6) +* Sections <2>: Outline. (line 6) +* Setting the default command: Commands. (line 6) +* Setting the header: Commands. (line 6) +* Setting the trailer: Commands. (line 6) +* Site customization: Customizing. (line 6) +* Site information: Automatic Global. (line 6) +* Site initialization: Customizing. (line 6) +* Site macro directory: Automatic Global. (line 6) +* Site TeX macro directory: Automatic Global. (line 6) +* Slovak: European. (line 51) +* Source specials: Processor Options. (line 36) +* Source specials <1>: I/O Correlation. (line 6) +* Specifying a font: Font Specifiers. (line 6) +* Starting a previewer: Viewing. (line 6) +* Stopping a process: Control. (line 6) +* Style: Checking. (line 6) +* style: Style Files. (line 6) +* Style file: Simple Style. (line 6) +* Style files: Style Files. (line 6) +* Style hook: Simple Style. (line 6) +* Style hooks: Style Files. (line 6) +* subscript: Mathematics. (line 64) +* Subscript, fontification of: Fontification of math. + (line 6) +* superscript: Mathematics. (line 64) +* Superscript, fontification of: Fontification of math. + (line 6) +* support for completion of package/class options, Adding: Adding Other. + (line 6) +* Swedish: European. (line 51) +* Symbols: Mathematics. (line 6) +* SyncTeX: Processor Options. (line 36) +* SyncTeX <1>: I/O Correlation. (line 6) +* Syntax Highlighting: Font Locking. (line 6) +* Tabify: Parsing Files. (line 6) +* Table environment: Floats. (line 6) +* Tables: Floats. (line 6) +* Tabs: Parsing Files. (line 6) +* TeX: Commands. (line 6) +* TeX parsing: Automatic. (line 6) +* tex-jp.el: Japanese. (line 6) +* tex-mik.el: Installation under MS Windows. + (line 252) +* tex-site.el: Loading the package. (line 10) +* tex-site.el <1>: Customizing. (line 6) +* tex-site.el <2>: Changes. (line 841) +* tool bar, toolbar: Processing. (line 11) +* Trailer: Commands. (line 6) +* Underfull boxes: Debugging. (line 6) +* Uninstallation: Build/install and uninstall. + (line 6) +* Untabify: Parsing Files. (line 6) +* Updating style hooks: Automatic Local. (line 6) +* upLaTeX: Japanese. (line 6) +* upTeX: Internationalization. + (line 6) +* upTeX <1>: Japanese. (line 6) +* Verbatim, fontification of: Verbatim content. (line 6) +* Viewer predicates: Adding Other. (line 6) +* Viewing: Viewing. (line 6) +* Warranty: Copying. (line 6) +* Writing to a printer: Commands. (line 6) +* X-Symbol: European. (line 32) + + + +Tag Table: +Node: Top917 +Node: Copying7373 +Node: Introduction9318 +Node: Summary9588 +Node: Installation12321 +Node: Prerequisites14294 +Node: Configure16493 +Node: Build/install and uninstall21071 +Node: Loading the package21824 +Node: Advice for package providers23517 +Node: Advice for non-privileged users26322 +Node: Installation under MS Windows31668 +Node: Customizing45290 +Node: Quick Start46875 +Ref: Quick Start-Footnote-148996 +Node: Editing Facilities49090 +Node: Processing Facilities53785 +Node: Editing58514 +Node: Quotes59844 +Node: Font Specifiers68284 +Node: Sectioning70352 +Node: Environments74871 +Node: Equations80024 +Node: Floats80616 +Node: Itemize-like82620 +Node: Tabular-like83342 +Node: Customizing Environments85115 +Node: Mathematics85355 +Node: Completion88791 +Node: Marking95822 +Node: Marking (LaTeX)96446 +Node: Marking (Texinfo)97388 +Node: Commenting98999 +Node: Indenting100324 +Node: Filling108018 +Node: Display113888 +Node: Font Locking116383 +Node: Fontification of macros118462 +Node: Fontification of quotes127978 +Node: Fontification of math129472 +Node: Verbatim content133140 +Node: Faces133914 +Node: Known problems134411 +Node: Folding135408 +Node: Outline146181 +Node: Narrowing147460 +Node: Prettifying148529 +Node: Processing149766 +Node: Commands151094 +Node: Starting a Command151650 +Node: Selecting a Command156666 +Node: Processor Options165785 +Node: Viewing176178 +Node: Starting Viewers176552 +Node: I/O Correlation182202 +Ref: I/O Correlation-Footnote-1187878 +Node: Debugging188128 +Node: Ignoring warnings190746 +Node: Error overview192805 +Node: Checking194713 +Node: Control196329 +Node: Cleaning198438 +Node: Documentation199797 +Node: Customization200512 +Node: Modes and Hooks201005 +Node: Multifile202893 +Node: Parsing Files207625 +Node: Internationalization212614 +Node: European213962 +Node: Japanese221441 +Node: Automatic226505 +Node: Automatic Global228996 +Node: Automatic Private230128 +Node: Automatic Local231464 +Node: Style Files232495 +Node: Simple Style233301 +Node: Adding Macros237022 +Node: Adding Environments246521 +Node: Adding Other251185 +Node: Hacking the Parser255785 +Node: Appendices259774 +Node: Copying this Manual260070 +Node: GNU Free Documentation License260953 +Node: Changes286073 +Node: Development340925 +Node: Mid-term Goals341571 +Node: Wishlist343539 +Node: Bugs349299 +Node: FAQ350379 +Node: Texinfo mode356099 +Node: Exploiting357233 +Node: Superseding358051 +Node: Mapping362282 +Node: Unbinding364117 +Node: Indices364938 +Node: Key Index365101 +Node: Function Index372630 +Node: Variable Index384608 +Node: Concept Index409749 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: |