- Improve support for folding of citations macros. The current folding
[c]
is changed to a more descriptive version, using author names and publication years, like[Ne21]
or[ABC99]
. These are extracted from any bib files referenced in the document or specified by the user optionTeX-fold-bib-file
. - Add support for folding of
\begin{env}
and\end{env}
macros. The replacement specifiers are controlled by the custom optionTeX-fold-begin-end-spec-list
. - Add new custom option
TeX-fold-alert-color
which determines the color used when folding the\alert
macro, defaults tored
. - Add new support files
style/inlinegraphicx.el
andstyle/minted2.el
(style/minted.el
is updated to package v3.1.2). - Add preliminary support for parsing
\graphicspath
instyle/graphicx.el
.
- Change the default value of
LaTeX-insert-into-comments
fromt
tonil
.
- Respect the value of
TeX-output-dir
when processing files with latexmk. This means that the default value ofTeX-command-list
is changed. - Add new support files
style/authblk.el
,style/langscibook.cls
,style/lstautogobble.el
,style/lstlinebgrd.el
,style/ninecolors.el
,style/supertabular.el
,style/tabularray.el
andstyle/xtab.el
.
- AUCTeX 13.3 marks the last standalone tarball release. From now on,
AUCTeX releases are made available through the
Emacs Lisp Package Archive (ELPA). Distro
packagers are encouraged to use the ELPA
packages as-is and install them under one of the new Emacs locations
for system-wide packages, see
package-directory-list
.At the same time, development is now done on the
main
branch and themaster
branch has been deleted. Its last state has been pushed asauctex-13
branch for archiving purposes but it won’t get any updates anymore.For users who tracked the master branch: Do
git switch main
to switch to the main branch where development takes place nowadays. - Move additions to the variable
LaTeX-indent-environment-list
for various tabular environments tolatex.el
from the respective style files.
- Fold argument of verbatim macros more accurately.
- Remove the possibility to disable the side-wide installation with:
(unload-feature 'tex-site)
Using this form when installed from ELPA will throw an error.
- Complete support for in-buffer completion of color support macros.
- Add new support files
style/contract.el
,style/diagbox.el
andstyle/standalone.el
.
- Add appropriate
delete-selection
properties forLaTeX-insert-left-brace
,TeX-insert-dollar
andTeX-insert-backslash
that differentiate between the “electric” and “just-insert-the-symbol” behavior. That should simplify cooperation with other electric modes.As a result of this adjustment, the behavior of
TeX-insert-dollar
is affected in some ways:- With raw prefix argument
C-u
,$
(TeX-insert-dollar
) now inserts four dollars as opposed to one. This behavior is in-line with other symbols, in particular"
(TeX-insert-quote
) and\
(TeX-insert-backslash
). If you need one literal$
, you can typeC-1 $
orC-q $
. - We no longer have explicit support of the special behavior that if
TeX-electric-math
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.It still works as before if
TeX-electric-math
is pair of dollars while it inserts\(
and\)
whenTeX-electric-math
is("\(" . "\)")
. - When
TeX-electric-math
is a pair of dollars and the point is in inline math (without active region),$
inserts two dollars, not one dollar which just closes the math mode.
- With raw prefix argument
- Recognize
.ltx
extension as regular LaTeX file.
- Delete function
LaTeX-env-contents
. - Delete obsolete variables
TeX-symbol-marker
,TeX-symbol-marker-pos
,TeX-dollar-sign
,TeX-dollar-string
andTeX-dollar-regexp
. - Delete obsolete minor-mode
TeX-Omega-mode
.
- Add support for indirect buffers cloned from buffers visiting a file.
In indirect buffer, preview-latex works correctly when the command
preview-region
is invoked. The commandpreview-document
puts preview images in the base buffer, not in the indirect buffer itself. - Add preliminary support for processing files with latexmk. Support
for
dvipdfmx
and the choice for viewer after compilation are not optimal, yet. Overall, the support comes close to what theauctex-latexmk
library provides. - Add new command
TeX-fold-section
(bound toC-c C-o C-s
) which hides all configured macros in the section containing point whenTeX-fold-mode
is active. The unfold counterpartTeX-fold-clearout-section
is bound toC-c C-o s
. - Add new custom option
TeX-fold-region-functions
which is a list of additional functions to call when folding a region. - Add new custom option
TeX-fold-auto-reveal
which controls how the original source text is revealed when user clicks the folded portion by mouse. - Add new custom options
TeX-fold-auto-reveal-commands
andpreview-auto-reveal-commands
which are lists of commands revealing folded or previewed buffer text. - Add new custom option
preview-protect-point
which determines whether previews generated on top of the current point should be temporarily opened (nil
by default). - Add new custom option
preview-leave-open-previews-visible
which determines if the preview code stays visible once opened. - Change the default value of
TeX-one-master
in order to recognize the suffix.ltx
as regular TeX files. - Add new custom option
ConTeXt-paragraph-commands
containing a list of macros which should begin their own line. - Support query and insert of
mcite
compatibility macro (style/biblatex.el
). - Support the
\verbatiminput*
macro (style/verbatim.el
). - Add new support file
style/amsrefs.el
.
- Adjust options when processing files with ConTeXt: Remove obsolete
--texutil
, use--synctex=repeat
and omit--nonstop
whenTeX-source-correlate-mode
is enabled.
- Support completion for many commands described in
clsguide.tex
,fntguide.tex
andusrguide.tex
. - Provide new custom option
LaTeX-flymake-chktex-options
to enable or disable specific warnings ofchktex
backend used by Flymake. - Provide new custom option
TeX-kill-process-without-query
which controls if user is asked before aborting a running process for a TeX document.
- Improve guessing names for headers used in Imenu.
- Revert usage of
:local
tag insidedefcustom
. This tag isn’t handled correctly in Emacs 27.1 and breaks AUCTeX.
- Cater for former mode name in customized
TeX-command-list
. - Fix and enhance pseudo-parent mode facility.
- Fix ELPA releases.
- AUCTeX changes major mode names. Its primary purpose is to avoid
conflicts with Emacs built-in TeX major modes. It also improves
consistency of the source code.
- The overview of the former names and new names are:
Former name New name plain-tex-mode
plain-TeX-mode
latex-mode
LaTeX-mode
doctex-mode
docTeX-mode
texinfo-mode
Texinfo-mode
ams-tex-mode
AmSTeX-mode
japanese-plain-tex-mode
japanese-plain-TeX-mode
japanese-latex-mode
japanese-LaTeX-mode
The undocumented modes
context-en-mode
andcontext-nl-mode
were deleted. - We paid much attention to the compatibility and expect that almost
no particular treatment on the user side is needed. For example,
the names of the keymaps and mode hooks remain unchanged, and the
mode:
tag in the file local variables in the existing files works with old mode names. See below for more details - If your Emacs is 29 or newer and you use
desktop.el
to save and restore Emacs sessions, be careful before you update AUCTeX; You should attempt to update only after- you kill all buffer under former AUCTeX modes which have overlapped name with Emacs built-in TeX modes, and
- you terminate the current Emacs session.
The modes with such overlapped name are
plain-tex-mode
,latex-mode
,doctex-mode
andtexinfo-mode
. (The above prescription ensures no buffer of such modes is recorded in the desktop file. Otherwise those buffers would be restored in the built-in modes, not AUCTeX modes, after the update of AUCTeX.) - New mode names are chosen to match the existing variables, so most
user customizations as well as the third party libraries would
continue to work without modification. For example, names of
keymaps and hooks don’t change as stated above.
(
AmS-TeX-mode-hook
is renamed toAmSTeX-mode-hook
, but compatibility alias is provided.) - Now
TeX-add-local-master
adds entry of new mode names such as%%% Local Variables: %%% mode: LaTeX <-- not `latex' %%% End:
- The compatibility with the former mode names with respect to
invoking the major mode are retained.
- Former modes which overlap with built-in modes, namely
plain-tex-mode
,latex-mode
,doctex-mode
,texinfo-mode
andtex-mode
are handled by redirections; the same override advices as before are continued to used for Emacs<29 whilemajor-mode-remap-alist
is used for Emacs 29 and later. (Therefore, if there are user codes which calllatex-mode
directly, built-inlatex-mode
runs instead of AUCTeXLaTeX-mode
in Emacs 29 and later.)These redirections still honor your customization to
TeX-modes
option. Thus you are served by built-inplain-tex-mode
and AUCTeXLaTeX-mode
if you excludeplain-tex-mode
fromTeX-modes
. - Other former names, e.g.
context-mode
andjapanese-latex-mode
, are handled by aliases such as(defalias 'context-mode #'ConTeXt-mode)
- Former modes which overlap with built-in modes, namely
- New modes recognize directory local variables prepaired for the
former mode name. For example, directory local variables for
latex-mode
are valid inLaTeX-mode
as well. So you don’t have to rewrite every former mode name to the new one in.dir-locals.el
. - Your abbrevs are preserved. For example,
latex-mode-abbrev-table
, if exists, is automatically included as a parent ofLaTeX-mode-abbrev-table
. - Now all major modes are defined by
define-derived-mode
, so standard inheritance of keymaps, syntax tables etc. takes place. The inheritance relations are:text-mode --+-- TeX-mode +-- Texinfo-mode TeX-mode --+-- plain-TeX-mode +-- LaTeX-mode +-- ConTeXt-mode plain-TeX-mode --+-- AmSTeX-mode +-- japanese-plain-TeX-mode LaTeX-mode --+-- docTeX-mode +-- japanese-LaTeX-mode
These inheritance relations are taken into account for directory local variables in the standard way. For example, directory local variables for
LaTeX-mode
are applied todocTeX-mode
now.Note that
TeX-mode
isn’t meant for use for end users. It is only meant for the base mode for other major modes. Its role is to provide base keymap, hook and syntax table under the same name with the former AUCTeX and run the common initialization code.Now that all modes have
text-mode
as their ancestor, they inherit its keymap and syntax table. In addition, dir local vars fortext-mode
are applied to all AUCTeX major mode.However,
Texinfo-mode
is exceptional in the following two aspects:- It doesn’t inherit
text-mode-syntax-table
because it simply uses built-in mode’stexinfo-mode-syntax-table
, which is independent oftext-mode-syntax-table
. This situation is the same with the former AUCTeX Texinfo mode. Texinfo-mode-map
hasTeX-mode-map
as its direct parent. This is the same with the former AUCTeX Texinfo mode. Now it inheritstext-mode-map
indirectly throughTeX-mode-map
.
- It doesn’t inherit
- There are new keymaps, hooks and abbrev tables:
Texinfo-mode-abbrev-table
,japanese-plain-TeX-mode-map
,japanese-LaTeX-mode-map
,japanese-plain-TeX-mode-hook
,japanese-LaTeX-mode-hook
,japanese-plain-TeX-mode-abbrev-table
,japanese-LaTeX-mode-abbrev-table
.
- The overview of the former names and new names are:
- AUCTeX now requires GNU Emacs 27.1 or higher.