9714 lines
434 KiB
Plaintext
9714 lines
434 KiB
Plaintext
This is auctex.info, produced by makeinfo version 6.8 from auctex.texi.
|
||
|
||
This manual is for AUCTeX (version 13.1.5 from 2022-10-20), 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.
|
||
|
||
The key bind 'C-M-a' actually calls 'beginning-of-defun', which in
|
||
turn calls 'LaTeX-find-matching-begin'.
|
||
|
||
-- 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.
|
||
|
||
The key bind 'C-M-e' actually calls 'end-of-defun', which in turn
|
||
calls 'LaTeX-find-matching-end'.
|
||
|
||
|
||
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>' or 'M-<RET>'. The latter is only defined as an alias
|
||
if the key binding is still available.
|
||
|
||
-- Command: LaTeX-insert-item
|
||
('C-c <LFD>' or 'M-<RET>') 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>' or 'M-<RET>' ('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>' or 'M-<RET>') 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>'
|
||
or 'M-<RET>' 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-underline-command-keywords'
|
||
Keywords for commands specifying an underlined text.
|
||
Face: 'font-latex-underline-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",
|
||
"underline-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 if 'TeX-auto-save' option is enabled. Saved information will be
|
||
stored in the directory 'TeX-auto-local', set to '"auto"' by default.
|
||
|
||
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.
|
||
|
||
-- User Option: TeX-auto-save-aggregate
|
||
When non-'nil', save parsed information in 'auto' subdirectory of
|
||
master directory.
|
||
|
||
Otherwise, save in each 'auto' subdirectory of the parsed file.
|
||
|
||
Subdirectory name is actually taken from 'TeX-auto-local'.
|
||
|
||
|
||
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.5 from 2022-10-20), 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 underlines the argument of macros which produce underlined
|
||
text in the final product with 'font-latex-underline-face'. The
|
||
corresponding keyword class is called 'underline-command'. *Note
|
||
Fontification of macros:: if you dislike this feature and wish to
|
||
deactivate it.
|
||
|
||
* Support for the Sioyek document viewer is added.
|
||
|
||
* 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)'.
|
||
|
||
* When you edit a document divided into multiple files, auto parsed
|
||
information for all sub files are saved under 'auto' subdirectory
|
||
at master directory when 'TeX-parse-self' and 'TeX-auto-save'
|
||
options are enabled. Now you can have support '.el' file saved
|
||
under 'auto' subdirectory of each directory of the sub file when
|
||
the sub files aren't located at the master directory.
|
||
|
||
To achieve that, set new user option 'TeX-auto-save-aggregate' to
|
||
'nil'.
|
||
|
||
* There was another hook where former dynamic free variables could be
|
||
used. The usage was invalidated at version 13.1, by introduction
|
||
of lexical binding over AUCTeX.
|
||
|
||
The functions in 'TeX-region-hook' could access the free variables
|
||
'master-buffer' and 'orig-buffer'. Those are now named
|
||
'TeX-region-master-buffer' and 'TeX-region-orig-buffer',
|
||
respectively.
|
||
|
||
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.
|
||
|
||
* Factor out syntax propertization from 'font-latex.el'
|
||
|
||
Syntax propertization is implemented in 'font-latex.el'. This
|
||
means that features which depend on syntax parse don't work well
|
||
for 'tex-font.el' users and those who disable font lock.
|
||
|
||
Hence syntax propertization should be factored out from
|
||
'font-latex.el' and implemented as a major mode facility.
|
||
|
||
(Texinfo mode is an exception because it already has its own syntax
|
||
propertize function, which just copies the one available in Emacs
|
||
built-in texinfo mode.)
|
||
|
||
* Add documentation
|
||
|
||
Following entries should be included in the document:
|
||
- Variables 'LaTeX-insert-into-comments',
|
||
'TeX-translate-location-hook'
|
||
|
||
- How to use 'TeX-auto-add-type', as well as functions and
|
||
variables generated by that macro. They should be covered in
|
||
the node *note Hacking the Parser::.
|
||
|
||
- Usage of ConTeXt mode
|
||
|
||
|
||
File: auctex.info, Node: Wishlist, Next: Bugs, Prev: Mid-term Goals, Up: Development
|
||
|
||
A.3.2 Wishlist
|
||
--------------
|
||
|
||
* Enable syntactic font lock for verbatim constructs in 'docTeX' mode
|
||
|
||
In 'docTeX' mode buffer, '%' sign at the line beginning hinders
|
||
syntactic font lock of verbatim constructs. This should be
|
||
improved.
|
||
|
||
* 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
|
||
=========
|
||
|
||
|