Archived
1
0
Fork 0

Compare commits

..

No commits in common. "a7b0aa02ca98d48d0a8571794d0c4616171b6c0d" and "ee6401529a1932a852efaf37dc04d94d630ca52d" have entirely different histories.

670 changed files with 18497 additions and 62729 deletions

1
.gitignore vendored
View file

@ -16,4 +16,3 @@ code/projects
**/.persistent-scratch*
**/url
**/eshell
**/.lsp-session*

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
Good signature from 066DAFCB81E42C40 GNU ELPA Signing Agent (2019) <elpasign@elpa.gnu.org> (trust undefined) created at 2022-10-20T17:05:02-0400 using RSA

View file

@ -1,7 +1,3 @@
2023-04-23 Mosè Giordano <mose@gnu.org>
* Version 13.2 released.
2022-02-20 Mosè Giordano <mose@gnu.org>
* Version 13.1 released.

View file

@ -34,18 +34,18 @@ 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
provides true "What You See Is What You Get" experience in your
sourcebuffer, while letting you retain full control. For more
information, see further below.
More detailed information about the features and usage of AUCTeX can be
found in the AUCTeX manual. You can access it from within Emacs by
typing C-h i d m auctex <RET>. If you prefer the standalone info
reader, issue the command info auctex in a terminal.
typing 'C-h i d m auctex <RET>'. If you prefer the standalone info
reader, issue the command 'info auctex' in a terminal.
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.
under the 'GNU General Public License Version 3'.
The most recent version is always available at
<https://ftp.gnu.org/pub/gnu/auctex/>.
@ -54,20 +54,20 @@ 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 read the file
INSTALL or INSTALL.windows, respectively.
'INSTALL' or 'INSTALL.windows', respectively.
If you are considering upgrading AUCTeX, the recent changes are
described in the CHANGES file.
described in the 'CHANGES' file.
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
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>
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>.
@ -88,19 +88,19 @@ between source and image representation.
WYSIWYG (what you see is what you get) sometimes is considered all the
rage, sometimes frowned upon. Do we really want it? Wrong question.
The right question is _what_ we want from it. Except when finetuning
the layout, we dont want to use printer fonts for on-screen text
the layout, we don't want to use printer fonts for on-screen text
editing. The low resolution and contrast of a computer screen render
all but the coarsest printer fonts (those for low-quality newsprint)
unappealing, and the margins and pagination of the print are not wanted
on the screen, either. On the other hand, more complex visual
compositions like math formulas and tables cant easily be taken in when
compositions like math formulas and tables can't easily be taken in when
seen only in the source. preview-latex strikes a balance: it only uses
graphic renditions of the output for certain, configurable constructs,
does this only when told, and then right in the source code. Switching
back and forth between the source and preview is easy and natural and
can be done for each image independently. Behind the scenes of
preview-latex, a sophisticated framework of other programs like
dvipng, Dvips and Ghostscript are employed together with a special
'dvipng', Dvips and Ghostscript are employed together with a special
LaTeX style file for extracting the material of interest in the
background and providing fast interactive response.
@ -116,22 +116,22 @@ The usual activation (if it is not done automatically) would be
(load "preview-latex.el" nil t t)
If you still dont get a “Preview” menu in LaTeX mode in spite of AUCTeX
showing its “Command”, your installation is broken. One possible cause
are duplicate Lisp files that might be detectable with M-x
list-load-path-shadows <RET>.
If you still don't get a "Preview" menu in LaTeX mode in spite of AUCTeX
showing its "Command", your installation is broken. One possible cause
are duplicate Lisp files that might be detectable with 'M-x
list-load-path-shadows <RET>'.
3 Getting started
*****************
Once activated, preview-latex and its documentation will be accessible
via its menus (note that preview-latex requires AUCTeX to be loaded).
When you have loaded a LaTeX document (a sample document circ.tex is
When you have loaded a LaTeX document (a sample document 'circ.tex' is
included in the distribution, but most documents including math and/or
figures should do), you can use its menu or C-c C-p C-d (for
Preview/Document). Previews will now be generated for various objects
figures should do), you can use its menu or 'C-c C-p C-d' (for
'Preview/Document'). Previews will now be generated for various objects
in your document. You can use the time to take a short look at the
other menu entries and key bindings in the Preview menu. Youll see
other menu entries and key bindings in the 'Preview' menu. You'll see
the previewed objects change into a roadworks sign when preview-latex
has determined just what it is going to preview. Note that you can
freely navigate the buffer while this is going on. When the process is
@ -142,24 +142,24 @@ appear, since that is the moment when the correlation between the
original text and the buffer locations gets established. If the buffer
changes before that point of time, the previews will not be placed where
they belong. If you do want to change some obvious error you just
spotted, we recommend you stop the background process by pressing C-c
C-k.
spotted, we recommend you stop the background process by pressing 'C-c
C-k'.
To see/edit the LaTeX code for a specific object, put the point (the
cursor) on it and press C-c C-p C-p (for Preview/at point). It will
cursor) on it and press 'C-c C-p C-p' (for 'Preview/at point'). It will
also do to click with the middle mouse button on the preview. Now you
can edit the code, and generate a new preview by again pressing C-c C-p
C-p (or by clicking with the middle mouse button on the icon before the
can edit the code, and generate a new preview by again pressing 'C-c C-p
C-p' (or by clicking with the middle mouse button on the icon before the
edited text).
If you are using the desktop package, previews will remain from one
session to the next as long as you dont kill your buffer.
If you are using the 'desktop' package, previews will remain from one
session to the next as long as you don't kill your buffer.
4 Basic modes of operation
**************************
preview-latex has a number of methods for generating its graphics. Its
default operation is equivalent to using the LaTeX command from
default operation is equivalent to using the 'LaTeX' command from
AUCTeX. If this happens to be a call of PDFLaTeX generating PDF output
(you need at least AUCTeX 11.51 for this), then Ghostscript will be
called directly on the resulting PDF file. If a DVI file gets produced,
@ -169,10 +169,10 @@ The image type to be generated by Ghostscript can be configured with
M-x customize-option <RET> preview-image-type <RET>
The default is png (the most efficient image type). A special setting
is dvipng in case you have the dvipng program installed. In this
case, dvipng will be used for converting DVI files and Ghostscript
(with a PNG device) for converting PDF files. dvipng is much faster
The default is 'png' (the most efficient image type). A special setting
is 'dvipng' in case you have the 'dvipng' program installed. In this
case, 'dvipng' will be used for converting DVI files and Ghostscript
(with a 'PNG' device) for converting PDF files. 'dvipng' is much faster
than the combination of Dvips and Ghostscript. You can get downloads,
access to its CVS archive and further information from its project site
(https://savannah.nongnu.org/projects/dvipng).
@ -185,15 +185,15 @@ be available. You can access it with the standalone info reader with
info preview-latex
or by pressing C-h i d m preview-latex <RET> in Emacs. Once
preview-latex is activated, you can instead use C-c C-p <TAB> (or the
menu entry Preview/Read documentation).
or by pressing 'C-h i d m preview-latex <RET>' in Emacs. Once
preview-latex is activated, you can instead use 'C-c C-p <TAB>' (or the
menu entry 'Preview/Read documentation').
Depending on your installation, a printable manual may also be available
in the form of preview-latex.pdf.
in the form of 'preview-latex.pdf'.
Detailed documentation for the LaTeX style used for extracting the
preview images is placed in preview.pdf in a suitable directory during
preview images is placed in 'preview.pdf' in a suitable directory during
installation; on typical TeX Live-based systems,
texdoc preview
@ -218,7 +218,7 @@ interface.
7 Contacts
**********
Bug reports should be sent by using M-x preview-report-bug <RET>, as
Bug reports should be sent by using 'M-x preview-report-bug <RET>', as
this will fill in a lot of information interesting to us. If the
installation fails (but this should be a rare event), report bugs to
<bug-auctex@gnu.org>.
@ -226,15 +226,15 @@ installation fails (but this should be a rare event), report bugs to
There is a general discussion list for AUCTeX which also covers
preview-latex, look at <https://lists.gnu.org/mailman/listinfo/auctex>.
For more information on the mailing list, send a message with just the
word “help” as subject or body to <auctex-request@gnu.org>. For the
word "help" as subject or body to <auctex-request@gnu.org>. For the
developers, there is the <auctex-devel@gnu.org> list; it would probably
make sense to direct feature requests and questions about internal
details there. There is a low-volume read-only announcement list
available to which you can subscribe by sending a mail with “subscribe”
available to which you can subscribe by sending a mail with "subscribe"
in the subject to <info-auctex-request@gnu.org>.
Offers to support further development will be appreciated. If you want
to show your appreciation with a donation to the main developer, you can
do so via PayPal to <dak@gnu.org>, and of course you can arrange for
service contracts or for added functionality. Take a look at the TODO
service contracts or for added functionality. Take a look at the 'TODO'
list for suggestions in that area.

View file

@ -0,0 +1,229 @@
Release notes for AUCTeX 13.1 with preview-latex
================================================
AUCTeX provides by far the most wide-spread and sophisticated
environment for editing LaTeX, TeX, ConTeXt and Texinfo documents with
Emacs. Combined with packages like RefTeX, flyspell and others it is
pretty much without peer as a comprehensive authoring solution for a
large variety of operating system platforms and TeX distributions. It
supports document-dependent completion and syntax highlighting, easily
accessible menus, jumping to error locations in the source file, a
number of editing shortcuts, intelligent indentation and filling of
text during entry, and WYSIWYG previews of graphical elements like
math formulas right in the Emacs source buffer, by virtue of its
preview-latex component.
One part of the preview-latex subsystem is the central `preview.sty'
file that is independently useful for a number of applications and is
available in unbundled form from CTAN.[1]
AUCTeX needs volunteers in particular for non-programming tasks:
documentation writing, tutorials, translations, reference material,
sleuth work, testing.
New features and fixed bugs in this release
-------------------------------------------
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.
Requirements
------------
It is required that you use at least GNU Emacs 24.3.
The preview-latex subsystem requires image support.
You'll also need a working LaTeX installation and Ghostscript.
dvipng[2] (version 1.4 or later), a very fast DVI converter, can be
used to speed up the conversion.
Availability
------------
The easiest way for getting AUCTeX is installing it with GNU ELPA, see
<URL:https://elpa.gnu.org/packages/auctex.html> for more information.
Other download options are available at
<URL:https://ftp.gnu.org/gnu/auctex/>. At release time, we provide the
source tarball. You can also use versions of Emacs that already
include AUCTeX or a software package management system for your
operating system which provides you with the latest release.
A separate directory for each release contains some stuff from the
tarball, such as ChangeLog, printable manuals, and a reference sheet.
The download area is mirrored to the directory support/auctex on CTAN.
AUCTeX is licensed under the GNU General Public License version 3.
You'll find more information at the web site of AUCTeX
<URL:https://www.gnu.org/software/auctex/>, including its mailing list
addresses.
Future development and additional information
---------------------------------------------
AUCTeX is proceeding as a GNU project with the long-term intent of
merging it into Emacs. For that reason, all new contributors need to
assign copyright to their contributions to the FSF (the usual
procedure for Emacs contributors). The same holds for past
contributors. The principal authors and maintainers have already done
so, but it would require a diligent and diplomatic volunteer to find
and ask the rest.
Current AUCTeX managers are Arash Esbati, Mosè Giordano, and Tassilo
Horn. Everybody is welcome to contribute to the project by reporting
bugs and suggesting improvements, but the most effective way of
helping AUCTeX development remains volunteering for tasks.
The following people contributed to this release series (in
alphabetical order): Ivan Andrus, Ralf Angeli, Masayuki Ataka,
Mohammad Hossein Bateni, Fabrice Ben Hamouda, Thomas Baumann, Vincent
Belaïche, Berend de Boer, Alex Branham, Uwe Brauer, Ken Brown, Joshua
Buhl, Jean-François Burnol, Patrice Dumas, Arash Esbati, Werner Fink,
Miguel Frasson, Peter S. Galbraith, Mosè Giordano, Andrea Greselin,
Patrick Gundlach, Abdul-Lateef Haji-Ali, Jobst Hoffmann, Tassilo Horn,
Yvon Hevel, Orlando Iovino, Mads Jensen, Arne Jørgensen, Philip
Kaludercic, David Kastrup, Ikumi Keita, Philip Kime, Oleh Krehel,
Joost Kremers, Frank Küster, Jan-Åke Larsson, Matthew Leach, Brian
Leung, Antoine Levitt, Leo Liu, Vladimir Lomov, Stefan Monnier, Dan
Nicolaescu, Piet van Oostrum, Pieter Pareit, Nicolas Richard, Augusto
Ritter Stoffel, Florent Rougon, Santiago Saavedra, Davide
G. M. Salvetti, Rüdiger Sonderfeld, Holger Sparr, Mike Sperber, Reiner
Steib, Christian Schlauer, Shiro Takeda, Mark Trettin (Please accept
our apologies if we forgot somebody.)
Footnotes:
[1] <URL:https://www.ctan.org/pkg/preview>
[2] dvipng is available via its project page
<URL:https://savannah.nongnu.org/projects/dvipng> and from CTAN.

View file

@ -20,7 +20,7 @@ runs `bib-find', and [mouse-3] runs `bib-display'.
(autoload 'turn-on-bib-cite "bib-cite" "\
Unconditionally turn on Bib Cite mode." nil nil)
(register-definition-prefixes "bib-cite" '("LaTeX-find-label-hist-alist" "bib-" "create-alist-from-list" "member-cis" "psg-" "search-directory-tree"))
(register-definition-prefixes "bib-cite" '("LaTeX-" "bib-" "create-alist-from-list" "member-cis" "psg-" "search-directory-tree"))
;;;***
@ -146,13 +146,9 @@ are the arguments to `completing-read'. See that.
(autoload 'multi-prompt-key-value "multi-prompt" "\
Read multiple strings, with completion and key=value support.
PROMPT is a string to prompt with, usually ending with a colon
and a space.
TABLE is an alist where each entry is a list. The first element
of each list is a string representing a key and the optional
second element is a list with strings to be used as values for
the key. The second element can also be a variable returning a
list of strings.
and a space. TABLE is an alist. The car of each element should
be a string representing a key and the optional cdr should be a
list with strings to be used as values for the key.
See the documentation for `completing-read' for details on the
other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST,
@ -352,14 +348,14 @@ Set `japanese-TeX-mode' to t, and enter `TeX-latex-mode'." t nil)
;;; Generated autoloads from tex-site.el
(require 'tex-site)
(register-definition-prefixes "tex-site" '("AUCTeX-" "TeX-" "preview-TeX-style-dir" "tex-site-unload-function"))
(register-definition-prefixes "tex-site" '("AUCTeX-" "TeX-" "preview-TeX-style-dir"))
;;;***
;;;### (autoloads nil "tex-style" "tex-style.el" (0 0 0 0))
;;; Generated autoloads from tex-style.el
(register-definition-prefixes "tex-style" '("LaTeX-" "TeX-TikZ-point-name-regexp"))
(register-definition-prefixes "tex-style" '("LaTeX-"))
;;;***

View file

@ -0,0 +1,2 @@
;; Generated package description from auctex.el -*- no-byte-compile: t -*-
(define-package "auctex" "13.1.5" "Integrated environment for *TeX*" '((emacs "25.1")) :commit "c569c7d486624ac7a5bb924ca92c41e80a58091f" :maintainer '(nil . "auctex-devel@gnu.org") :keywords '("tex" "latex" "texinfo" "context" "doctex" "preview-latex") :url "https://www.gnu.org/software/auctex/")

View file

@ -2,7 +2,7 @@
;; Copyright (C) 2014-2021 Free Software Foundation, Inc.
;; Version: 13.2.1
;; Version: 13.1.5
;; URL: https://www.gnu.org/software/auctex/
;; Maintainer: auctex-devel@gnu.org
;; Notifications-To: auctex-diffs@gnu.org

View file

@ -1570,6 +1570,8 @@ Does not save excursion."
"Sorry, could not find an environment or section declaration")))))
(defvar LaTeX-find-label-hist-alist nil "History list for LaTeX-find-label.")
(defvar LaTeX-label-list nil "Used by AUCTeX to store label names.")
(defun create-alist-from-list (the-list)
"Return a single list from a THE-LIST that may contain either items or lists.

View file

@ -1,7 +1,7 @@
;;; context-en.el --- Support for the ConTeXt english interface. -*- lexical-binding: t; -*-
;; Copyright (C) 2003-2004, 2006, 2008
;; 2010, 2014, 2020-2023 Free Software Foundation, Inc.
;; 2010, 2014, 2020, 2021 Free Software Foundation, Inc.
;; Maintainer: Berend de Boer <berend@pobox.com>
;; Keywords: tex
@ -188,8 +188,6 @@ That is, besides the section(-block) commands.")
(defun ConTeXt-en-mode-initialization ()
"ConTeXt english interface specific initialization."
;; FIXME: Move to `ConTeXt-mode-common-initialization' replacing
;; `ConTeXt-environment-list-en' with `ConTeXt-environment-list'?
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-en))
(TeX-add-symbols

View file

@ -1,7 +1,7 @@
;;; context-nl.el --- Support for the ConTeXt dutch interface. -*- lexical-binding: t; -*-
;; Copyright (C) 2003, 2004, 2006, 2010,
;; 2015, 2020-2023 Free Software Foundation, Inc.
;; 2015, 2020, 2021 Free Software Foundation, Inc.
;; Maintainer: Berend de Boer <berend@pobox.com>
;; Keywords: tex
@ -163,8 +163,6 @@ That is, besides the section(-block) commands.")
(defun ConTeXt-nl-mode-initialization ()
"ConTeXt dutch interface specific initialization."
;; FIXME: Move to `ConTeXt-mode-common-initialization' replacing
;; `ConTeXt-environment-list-nl' with `ConTeXt-environment-list'?
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-nl))
(TeX-add-symbols

View file

@ -1,6 +1,6 @@
;;; context.el --- Support for ConTeXt documents. -*- lexical-binding: t; -*-
;; Copyright (C) 2003-2023 Free Software Foundation, Inc.
;; Copyright (C) 2003-2022 Free Software Foundation, Inc.
;; Maintainer: Berend de Boer <berend@pobox.com>
;; Keywords: tex
@ -309,20 +309,13 @@ The following variables can be set to customize:
;; LaTeX has a max function here, which makes no sense.
;; I think you want to insert a section that is max ConTeXt-largest-level
;; (May 3, 2023) The above comment is wrong. Here "large" refers to
;; coarseness of document structure grouping. That is, "chapter" is
;; larger than "section", "section" is larger than "subsection" etc.
;; On the ohter hand, the corresponding levels are numbered in the
;; reversed order. That is, "chapter" is level 1, "section" is level
;; 2 etc. Hence the largest _section_ has the smallest _level_.
;; That's the reason we use `max' rather than `min' here.
(defun ConTeXt-current-section ()
"Return the level of the section that contain point.
See also `ConTeXt-section' for description of levels."
(save-excursion
(max (ConTeXt-largest-level)
(min (ConTeXt-largest-level)
(if (re-search-backward outline-regexp nil t)
(- (ConTeXt-outline-level) (ConTeXt-outline-offset))
(+ 1 (- (ConTeXt-outline-level) (ConTeXt-outline-offset)))
(ConTeXt-largest-level)))))
(defun ConTeXt-down-section ()
@ -370,19 +363,35 @@ section."
(defun ConTeXt-numbered-section-name (level)
"Return the name of the section corresponding to LEVEL."
(car (rassoc (list level) ConTeXt-numbered-section-list)))
(let ((entry (TeX-member level ConTeXt-numbered-section-list
(function (lambda (a b) (equal a (nth 1 b)))))))
(if entry
(nth 0 entry)
nil)))
(defun ConTeXt-unnumbered-section-name (level)
"Return the name of the section corresponding to LEVEL."
(car (rassoc (list level) ConTeXt-unnumbered-section-list)))
(let ((entry (TeX-member level ConTeXt-unnumbered-section-list
(function (lambda (a b) (equal a (nth 1 b)))))))
(if entry
(nth 0 entry)
nil)))
(defun ConTeXt-numbered-section-level (name)
"Return the level of the section NAME."
(cadr (assoc name ConTeXt-numbered-section-list)))
(let ((entry (TeX-member name ConTeXt-numbered-section-list
(function (lambda (a b) (equal a (nth 0 b)))))))
(if entry
(nth 1 entry)
nil)))
(defun ConTeXt-unnumbered-section-level (name)
"Return the level of the section NAME."
(cadr (assoc name ConTeXt-unnumbered-section-list)))
(let ((entry (TeX-member name ConTeXt-unnumbered-section-list
(function (lambda (a b) (equal a (nth 0 b)))))))
(if entry
(nth 1 entry)
nil)))
;;; Section Hooks.
@ -402,34 +411,32 @@ The following variables are set before the hooks are run
`ConTeXt-level'.
`ConTeXt-title' - The title of the section, default to an empty
string.
`ConTeXt-reference' - Comma separated list of reference.
`ConTeXt-done-mark' - Position of point afterwards, default nil
(meaning end).
The following standard hooks exist -
`ConTeXt-numbered-section-heading': Query the user about the name
ConTeXt-numbered-section-heading: Query the user about the name
of the sectioning command. Modifies `ConTeXt-level' and
`ConTeXt-name'.
`ConTeXt-section-title': Query the user about the title of the
ConTeXt-section-title: Query the user about the title of the
section. Modifies `ConTeXt-title'.
`ConTeXt-section-section': Insert ConTeXt section command according
ConTeXt-section-section: Insert ConTeXt section command according
to `ConTeXt-name', `ConTeXt-title', and `ConTeXt-reference'. If
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
placed at the point they should be inserted.
`ConTeXt-section-ref': Query the user about a reference for this
section command. Modifies `ConTeXt-reference'.
ConTeXt-section-ref: Insert a reference for this section command.
To get a full featured `ConTeXt-section' command, insert
(setq ConTeXt-numbered-section-hook
\\='(ConTeXt-numbered-section-heading
ConTeXt-section-title
ConTeXt-section-ref
ConTeXt-section-section))
ConTeXt-section-section
ConTeXt-section-ref))
in your init file such as .emacs.d/init.el or .emacs."
:group 'ConTeXt-macro
@ -456,34 +463,32 @@ The following variables are set before the hooks are run
`ConTeXt-level'.
`ConTeXt-title' - The title of the section, default to an empty
string.
`ConTeXt-reference' - Comma separated list of reference.
`ConTeXt-done-mark' - Position of point afterwards, default nil
(meaning end).
The following standard hooks exist -
`ConTeXt-unnumbered-section-heading': Query the user about the name
ConTeXt-unnumbered-section-heading: Query the user about the name
of the sectioning command. Modifies `ConTeXt-level' and
`ConTeXt-name'.
`ConTeXt-section-title': Query the user about the title of the
ConTeXt-section-title: Query the user about the title of the
section. Modifies `ConTeXt-title'.
`ConTeXt-section-section': Insert ConTeXt section command according
ConTeXt-section-section: Insert ConTeXt section command according
to `ConTeXt-name', `ConTeXt-title', and `ConTeXt-reference'. If
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
placed at the point they should be inserted.
`ConTeXt-section-ref': Query the user about a reference for this
section command. Modifies `ConTeXt-reference'.
ConTeXt-section-ref: Insert a reference for this section command.
To get a full featured `ConTeXt-section' command, insert
(setq ConTeXt-unnumbered-section-hook
\\='(ConTeXt-unnumbered-section-heading
ConTeXt-section-title
ConTeXt-section-ref
ConTeXt-section-section))
ConTeXt-section-section
ConTeXt-section-ref))
in your init file such as .emacs.d/init.el or .emacs."
:group 'ConTeXt-macro
@ -556,7 +561,7 @@ assumes the section already is inserted."
(newline)
;; If RefTeX is available, tell it that we've just made a new section
(and (fboundp 'reftex-notice-new-section)
(reftex-notice-new-section)))
(funcall (symbol-function 'reftex-notice-new-section))))
(defun ConTeXt-section-ref ()
"Hook to insert a reference after the sectioning command.
@ -675,14 +680,14 @@ With optional ARG, modify current environment."
(t ConTeXt-default-environment)))
(environment
(completing-read (concat "Environment type (default " default "): ")
(ConTeXt-environment-list) nil nil nil
ConTeXt-environment-list nil nil nil
'ConTeXt-environment-history default)))
;; Use `environment' as default for the next time only if it is different
;; from the current default.
(unless (equal environment default)
(setq ConTeXt-default-environment environment))
(let ((entry (assoc environment (ConTeXt-environment-list))))
(let ((entry (assoc environment ConTeXt-environment-list)))
(if (null entry)
(ConTeXt-add-environments (list environment)))
@ -712,7 +717,7 @@ With optional ARG, modify current environment."
(defun ConTeXt-environment-menu (environment)
"Insert ENVIRONMENT around point or region."
(let ((entry (assoc environment (ConTeXt-environment-list))))
(let ((entry (assoc environment ConTeXt-environment-list)))
(cond ((not (and entry (nth 1 entry)))
(ConTeXt-insert-environment environment))
((numberp (nth 1 entry))
@ -722,19 +727,16 @@ With optional ARG, modify current environment."
(setq args (concat args TeX-grop TeX-grcl))
(setq count (- count 1)))
(ConTeXt-insert-environment environment args)))
((or (stringp (nth 1 entry)) (vectorp (nth 1 entry)))
((stringp (nth 1 entry))
(let ((prompts (cdr entry))
(args ""))
(dolist (elt prompts)
(let* ((optional (vectorp elt))
(elt (if optional (elt elt 0) elt))
(arg (TeX-read-string
(TeX-argument-prompt optional elt nil))))
(while prompts
(setq args (concat args
(cond ((and optional (> (length arg) 0))
(concat ConTeXt-optop arg ConTeXt-optcl))
((not optional)
(concat TeX-grop arg TeX-grcl)))))))
TeX-grop
(read-from-minibuffer
(concat (car prompts) ": "))
TeX-grcl))
(setq prompts (cdr prompts)))
(ConTeXt-insert-environment environment args)))
(t
(apply (nth 1 entry) environment (nthcdr 2 entry))))))
@ -754,151 +756,40 @@ With optional ARG, modify current environment."
(end-of-line)
(newline))
(defvar ConTeXt-after-insert-env-hook nil
"List of functions to be run at the end of `ConTeXt-insert-environment'.
Each function is called with three arguments: the name of the
environment just inserted, the buffer position just before
\\start... and the position just before \\stop....")
;;; Copy and adaptation of `LaTeX-insert-environment'. (2022-08-13)
(defun ConTeXt-insert-environment (environment &optional extra)
"Insert ConTeXt ENVIRONMENT with optional argument EXTRA."
(let ((active-mark (and (TeX-active-mark) (not (eq (mark) (point)))))
content-start env-start env-end additional-indent)
(when (and active-mark (< (mark) (point))) (exchange-point-and-mark))
;; What to do with the line containing point.
;; - Open a new empty line for later insertion of "\startfoo" and
;; put the point there.
;; - If there were at first any non-whitespace texts between the
;; point and EOL, send them into their new own line.
(cond (;; When the entire line consists of whitespaces...
(save-excursion (beginning-of-line)
(looking-at "[ \t]*$"))
;; ...make the line empty and put the point there.
(delete-region (match-beginning 0) (match-end 0)))
(;; When there are only whitespaces between the point and
;; BOL (including the case the point is at BOL)...
(TeX-looking-at-backward "^[ \t]*"
(line-beginning-position))
;; ...in this case, we have non-whitespace texts between
;; the point and EOL, so send the entire line into a new
;; next line and put the point on the empty line just
;; created.
(beginning-of-line)
(newline)
(beginning-of-line 0)
;; Take note that there are texts to be indented later
;; unless the region is activated.
(unless active-mark
(setq additional-indent t)))
(;; In all other cases...
t
;; ...insert a new empty line after deleting all
;; whitespaces around the point, put the point there...
(delete-horizontal-space)
(if (eolp)
(newline)
;; ...and if there were at first any non-whitespace texts
;; between (the original position of) the point and EOL,
;; send them into a new next line.
(newline 2)
(beginning-of-line 0)
;; Take note that there are texts to be indented later
;; unless the region is activated.
(unless active-mark
(setq additional-indent t)))))
;; What to do with the line containing mark.
;; If there is active region...
(when active-mark
;; - Open a new empty line for later insertion of "\stopfoo"
;; and put the mark there.
;; - If there were at first any non-whitespace texts between the
;; mark and EOL, pass them over the empty line and put them on
;; their own line.
"Insert ENVIRONMENT, with optional argument EXTRA."
(if (and (TeX-active-mark)
(not (eq (mark) (point))))
(save-excursion
(if (< (mark) (point))
(exchange-point-and-mark))
(insert TeX-esc (ConTeXt-environment-start-name) environment)
(newline)
(forward-line -1)
(indent-according-to-mode)
(if extra (insert extra))
(goto-char (mark))
(cond (;; When the entire line consists of whitespaces...
(save-excursion (beginning-of-line)
(looking-at "[ \t]*$"))
;; ...make the line empty and put the mark there.
(delete-region (match-beginning 0) (match-end 0)))
(;; When there are only whitespaces between the mark and
;; BOL (including the case the mark is at BOL)...
(TeX-looking-at-backward "^[ \t]*"
(line-beginning-position))
;; ...in this case, we have non-whitespace texts
;; between the mark and EOL, so send the entire line
;; into a new next line and put the mark on the empty
;; line just created.
(beginning-of-line)
(set-mark (point))
(or (TeX-looking-at-backward "^[ \t]*")
(newline))
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
(newline)
;; Take note that there are texts to be indented later.
(setq additional-indent t))
(;; In all other cases...
t
;; ...make a new empty line after deleting all
;; whitespaces around the mark, put the mark there...
(delete-horizontal-space)
(insert-before-markers "\n")
;; ...and if there were at first any non-whitespace
;; texts between (the original position of) the mark
;; and EOL, send them into a new next line.
(unless (eolp)
(newline)
;; Take note that there are texts to be indented
;; later.
(setq additional-indent t))))))
;; Now insert the environment.
(setq env-start (point))
(forward-line -1)
(indent-according-to-mode)
;;(goto-char (point))
)
(or (TeX-looking-at-backward "^[ \t]*")
(newline))
(insert TeX-esc (ConTeXt-environment-start-name) environment)
(indent-according-to-mode)
(when extra (insert extra))
(setq content-start (line-beginning-position 2))
(unless active-mark
(newline)
(newline))
(when active-mark (goto-char (mark)))
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
(end-of-line 0)
(if active-mark
(progn
;; TODO: Do filling when context.el obtains
;; `ConTeXt-fill-region' in future.
(indent-region content-start (line-beginning-position 2))
(set-mark content-start))
(indent-according-to-mode))
;; Indent \stopfoo.
(save-excursion (beginning-of-line 2) (indent-according-to-mode)
(when additional-indent
;; Indent texts sent after the inserted
;; environment.
(forward-line 1) (indent-according-to-mode)))
(setq env-end (save-excursion
(search-forward
(concat TeX-esc (ConTeXt-environment-stop-name)
environment))
(match-beginning 0)))
(run-hook-with-args 'ConTeXt-after-insert-env-hook
environment env-start env-end)))
(defun ConTeXt--env-parse-args (args)
"Helper function to insert arguments defined by ARGS.
This function checks if `TeX-exit-mark' is set, otherwise it's
set to the point where this function starts. Point will be at
`TeX-exit-mark' when this function exits."
(let ((TeX-exit-mark (or TeX-exit-mark
(point-marker))))
(ConTeXt-find-matching-start)
(if extra (insert extra))
(end-of-line)
(TeX-parse-arguments args)
(goto-char TeX-exit-mark)
(set-marker TeX-exit-mark nil)))
(defun ConTeXt-env-args (environment &rest args)
"Insert ENVIRONMENT and arguments defined by ARGS."
(ConTeXt-insert-environment environment)
(ConTeXt--env-parse-args args))
(newline-and-indent)
(newline)
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
(or (looking-at "[ \t]*$")
(save-excursion (newline-and-indent)))
(indent-according-to-mode)
(end-of-line 0)))
;; with the following we can call a function on an environment. Say
@ -1166,8 +1057,7 @@ header is at the start of a line."
"\\|" (ConTeXt-header-end) "\\b"
"\\|" (ConTeXt-trailer-start) "\\b"))
(defvar ConTeXt-text nil
"Name of ConTeXt macro that begins the text body.")
(defvar ConTeXt-text "Name of ConTeXt macro that begins the text body.")
(defun ConTeXt-header-end ()
"Default end of header marker for ConTeXt documents."
@ -1459,20 +1349,20 @@ else. There might be text before point."
(defun ConTeXt-environment-menu-entry (entry)
"Create an ENTRY for the environment menu."
(vector (car entry) (list #'ConTeXt-environment-menu (car entry)) t))
(vector (car entry) (list 'ConTeXt-environment-menu (car entry)) t))
(defvar ConTeXt-environment-modify-menu-name "Change Environment (C-u C-c C-e)")
(defun ConTeXt-environment-modify-menu-entry (entry)
"Create an ENTRY for the change environment menu."
(vector (car entry) (list #'ConTeXt-modify-environment (car entry)) t))
(vector (car entry) (list 'ConTeXt-modify-environment (car entry)) t))
;; ConTeXt define macros
(defvar ConTeXt-define-menu-name "Define")
(defun ConTeXt-define-menu-entry (entry)
"Create an ENTRY for the define menu."
(vector entry (list #'ConTeXt-define-menu entry)))
(vector entry (list 'ConTeXt-define-menu entry)))
(defun ConTeXt-define-menu (define)
"Insert DEFINE from menu."
@ -1483,7 +1373,7 @@ else. There might be text before point."
(defun ConTeXt-setup-menu-entry (entry)
"Create an ENTRY for the setup menu."
(vector entry (list #'ConTeXt-setup-menu entry)))
(vector entry (list 'ConTeXt-setup-menu entry)))
(defun ConTeXt-setup-menu (setup)
"Insert SETUP from menu."
@ -1494,7 +1384,7 @@ else. There might be text before point."
(defun ConTeXt-referencing-menu-entry (entry)
"Create an ENTRY for the referencing menu."
(vector entry (list #'ConTeXt-referencing-menu entry)))
(vector entry (list 'ConTeXt-referencing-menu entry)))
(defun ConTeXt-referencing-menu (referencing)
"Insert REFERENCING from menu."
@ -1505,7 +1395,7 @@ else. There might be text before point."
(defun ConTeXt-other-macro-menu-entry (entry)
"Create an ENTRY for the other macro menu."
(vector entry (list #'ConTeXt-other-macro-menu entry)))
(vector entry (list 'ConTeXt-other-macro-menu entry)))
(defun ConTeXt-other-macro-menu (other-macro)
"Insert OTHER-MACRO from menu."
@ -1524,7 +1414,7 @@ else. There might be text before point."
(defun ConTeXt-project-structure-menu-entry (entry)
"Create an ENTRY for the project structure menu."
(vector entry (list #'ConTeXt-project-structure-menu entry)))
(vector entry (list 'ConTeXt-project-structure-menu entry)))
;; meta-structure section blocks menu entries
@ -1537,7 +1427,7 @@ else. There might be text before point."
(defun ConTeXt-section-block-menu-entry (entry)
"Create an ENTRY for the section block menu."
(vector entry (list #'ConTeXt-section-block-menu entry)))
(vector entry (list 'ConTeXt-section-block-menu entry)))
;; section menu entries
@ -1572,23 +1462,25 @@ else. There might be text before point."
(defun ConTeXt-numbered-section-menu-entry (entry)
"Create an ENTRY for the numbered section menu."
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
(vector (car entry) (list #'ConTeXt-numbered-section-menu (nth 1 entry)) enable)))
(set enable t)
(vector (car entry) (list 'ConTeXt-numbered-section-menu (nth 1 entry)) enable)))
(defun ConTeXt-unnumbered-section-menu-entry (entry)
"Create an ENTRY for the unnumbered section menu."
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
(vector (car entry) (list #'ConTeXt-unnumbered-section-menu (nth 1 entry)) enable)))
(set enable t)
(vector (car entry) (list 'ConTeXt-unnumbered-section-menu (nth 1 entry)) enable)))
;; etexshow support
(defun ConTeXt-etexshow ()
"Call etexshow, if available, to show the definition of a ConTeXt macro."
"Call etexshow, if available, to show the definition of a ConText macro."
(interactive)
(if (fboundp 'etexshow-cmd)
(progn
(if (fboundp 'etexshow)
(let ()
(require 'etexshow)
(etexshow-cmd))
(funcall (symbol-function 'etexshow-cmd)))
(error "etexshow is not installed. Get it from http://levana.de/emacs/")))
;; menu itself
@ -1759,7 +1651,7 @@ Use `ConTeXt-Mark-version' to choose the command."
(let ((engine (eval (nth 4 (TeX-engine-in-engine-alist TeX-engine)) t)))
(when engine
(format "--engine=%s " engine)))
(unless (string= ConTeXt-current-interface "en")
(unless (eq ConTeXt-current-interface "en")
(format "--interface=%s " ConTeXt-current-interface))
(when TeX-source-correlate-mode
(format "--passon=\"%s\" "
@ -1789,9 +1681,6 @@ Use `ConTeXt-Mark-version' to choose the command."
ConTeXt-extra-paragraph-commands
ConTeXt-environment-list)
"List of variables to be set from languages specific ones.")
;; Make language specific variables buffer local
(dolist (symbol ConTeXt-language-variable-list)
(make-variable-buffer-local symbol))
(defconst ConTeXt-dialect :context
"Default dialect for use with function `TeX-add-style-hook' for
@ -1803,8 +1692,8 @@ file, or any mode derived thereof. See variable
;; See *suffixes in texutil.pl.
'("\\.tui" "\\.tup" "\\.ted" "\\.tes" "\\.top" "\\.log" "\\.tmp" "\\.run"
"\\.bck" "\\.rlg" "\\.mpt" "\\.mpx" "\\.mpd" "\\.mpo" "\\.tuo" "\\.tub"
"\\.top" "\\.tuc" "-mpgraph\\.mp" "-mpgraph\\.mpd" "-mpgraph\\.mpo"
"-mpgraph\\.mpy" "-mprun\\.mp" "-mprun\\.mpd" "-mprun\\.mpo" "-mprun\\.mpy")
"\\.top" "-mpgraph\\.mp" "-mpgraph\\.mpd" "-mpgraph\\.mpo" "-mpgraph\\.mpy"
"-mprun\\.mp" "-mprun\\.mpd" "-mprun\\.mpo" "-mprun\\.mpy")
"List of regexps matching suffixes of files to be deleted.
The regexps will be anchored at the end of the file name to be matched,
that is, you do _not_ have to cater for this yourself by adding \\\\\\=' or $."
@ -1835,6 +1724,10 @@ that is, you do _not_ have to cater for this yourself by adding \\\\\\=' or $."
(setq local-abbrev-table context-mode-abbrev-table)
(set (make-local-variable 'TeX-style-hook-dialect) ConTeXt-dialect)
;; Make language specific variables buffer local
(dolist (symbol ConTeXt-language-variable-list)
(make-variable-buffer-local symbol))
(require (intern (concat "context-" ConTeXt-current-interface)))
(dolist (symbol ConTeXt-language-variable-list)
(set symbol (symbol-value (intern (concat (symbol-name symbol) "-"

View file

@ -12,7 +12,7 @@ This manual is for @AUCTeX{}
(version @value{VERSION} from @value{UPDATED}),
a sophisticated @TeX{} environment for Emacs.
Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2023
Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2022
Free Software Foundation, Inc.
@quotation
@ -433,14 +433,14 @@ will blink when @code{blink-matching-paren} is non-nil. If
@code{TeX-electric-math} is nil, typing @kbd{$} simply inserts @samp{$}
at point, this is the default.
Besides @code{nil}, possible values for this variable are @code{("$"
. "$")} for @TeX{} inline equations @samp{$...$}, and @code{("\(" . "\)")}
for @LaTeX{} inline equations @samp{\(...\)}.
Besides @code{nil}, possible values for this variable are @code{(cons
"$" "$")} for @TeX{} inline equations @samp{$...$}, and @code{(cons
"\\(" "\\)")} for @LaTeX{} inline equations @samp{\(...\)}.
If the variable is non-nil and point is inside math mode right between a
couple of single dollars, pressing @kbd{$} will insert another pair of
dollar signs and leave the point between them. Thus, if
@code{TeX-electric-math} is set to @code{("$" . "$")} you can easily
@code{TeX-electric-math} is set to @code{(cons "$" "$")} you can easily
obtain a @TeX{} display equation @samp{$$...$$} by pressing @kbd{$}
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
@ -468,20 +468,6 @@ following to your init file
(cons "\\(" "\\)"))))
@end lisp
Math mode which didn't start with dollar(s) shouldn't be closed with dollar.
@defopt TeX-refuse-unmatched-dollar
This option determines the behavior when the user types @kbd{$} at a
position where @AUCTeX{} thinks that it is in math mode which didn't start
with dollar(s).
When this option is @code{nil}, @AUCTeX{} behaves in the same way as
non-math mode, assuming that the user knows it isn't in math mode
actually. This is the default.
When this option is non-@code{nil}, @AUCTeX{} refuses to insert @samp{$}
to prevent unmatched dollar.
@end defopt
Note that Texinfo mode does nothing special for @kbd{$}. It inserts
dollar sign(s) just in the same way as the other normal keys do.
@ -1340,7 +1326,7 @@ define and register custom @code{completion-at-point} functions and when the
user invokes @code{completion-at-point} (usually bound to
@kbd{M-@key{TAB}}), all such registered functions are consulted for
checking for possible completions. Modern completion UIs like
@i{company-mode} or @i{corfu} support this completion-at-point facility.
@i{company-mode} support this completion-at-point facility.
@defun TeX--completion-at-point
@AUCTeX{}'s completion-at-point function which is automatically added to
@ -1353,17 +1339,6 @@ It offers the same completion candidates as would
like @i{company-mode}.
@end defun
@defun LaTeX--arguments-completion-at-point
@AUCTeX{}'s completion-at-point function inside arguments which is
automatically added to @code{completion-at-point-functions} in @LaTeX{}
buffers.
It offers the completion candidates stored in the variables
@code{TeX-symbol-list} and @code{LaTeX-environment-list} for single
candidate, multiple candidates separated by commas, or key-value
candidates separated by commas and/or equal signs.
@end defun
A more direct way to insert a macro is with @code{TeX-insert-macro},
bound to @kbd{C-c C-m} which is equivalent to @kbd{C-c @key{RET}}. It
has the advantage over completion that it knows about the argument of
@ -1806,40 +1781,6 @@ prepared for similar side effects when you do.
Note that commented curly braces @code{@{} and @code{@}} aren't counted
when @AUCTeX{} computes indentation.
In docTeX-mode, @TeX{} code is enclosed in @samp{macrocode} environment
like this:
@example
% \begin@{macrocode@}
\def\foo#1@{%
$#1$%
@}
% \end@{macrocode@}
@end example
@noindent
Sometimes, the code is long and one wants to insert comments inside the
@TeX{} code like this:
@example
% \begin@{macrocode@}
\def\foo#1@{%
% \end@{macrocode@}
% Comment the next line of code
% \begin@{macrocode@}
$#1$%
@}
% \end@{macrocode@}
@end example
@noindent
Usually, the comment inside the code interrupts the indentation. This
behavior can be controlled by setting the variable
@code{docTeX-indent-across-comments}.
@defopt docTeX-indent-across-comments
If non-nil, indentation in docTeX is done across comments. This option is
disabled by default.
@end defopt
@node Filling
@section Filling
@cindex Filling
@ -2317,11 +2258,11 @@ described above. You can disable these defaults per class by
customizing the variable @code{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", "function-noarg", "sectioning-0", "sectioning-1",
"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" or "type-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
@ -4194,15 +4135,6 @@ 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 @samp{Find Documentation...} entry in the mode menu.
Note that this command assumes @url{https://tug.org/texlive/,
@w{@TeX{} Live}}, not @url{https://miktex.org/,MiK@TeX{}}; according to
@url{https://tug.org/texdoc/, @samp{Texdoc} site},
@quotation
A command named @command{texdoc} is also available in MiK@TeX{}, but it is
merely a shortcut for an independent program, @command{mthelp}.
@end quotation
Thus it isn't sure whether this command works for MiK@TeX{} or not.
@end deffn
@node Customization
@ -5693,19 +5625,6 @@ Following is a list of available hooks for
@item LaTeX-env-item
Insert the given environment and the first item.
@item LaTeX-env-item-args
Insert the given environment plus further arguments, and the first item.
You can use this as a hook in case you want to specify multiple complex
arguments just like in elements of @code{TeX-add-symbols}. Here is an
example from @file{enumitem.el} in order to prompt for a @samp{key=value}
list to be inserted as an optional argument to the @samp{itemize}
environment:
@lisp
(LaTeX-add-environments
'("itemize" LaTeX-env-item-args
[TeX-arg-key-val (LaTeX-enumitem-key-val-options)]))
@end lisp
@item LaTeX-env-figure
Insert the given figure-like environment with a caption and a label.
@ -5716,10 +5635,6 @@ specifications.
@item LaTeX-env-label
Insert the given environment with a label.
@item LaTeX-env-label-args
Insert the given environment with a label and further arguments to the
environment.
@item LaTeX-env-list
Insert the given list-like environment, a specifier for the label and
the first item.

View file

@ -11,29 +11,6 @@
@heading News since last release
@itemize @bullet
@item
@AUCTeX{} now requires GNU Emacs 26.1 or higher.
@end itemize
@heading News in 13.2
@itemize @bullet
@item
@AUCTeX{} no longer refuses to insert dollar sign when you type @kbd{$} at
point where @AUCTeX{} thinks the current math mode didn't start with
dollar(s). @AUCTeX{} assumes the user knows that it isn't in math mode
actually.
You can keep the former behavior by enabling the new customize option
@code{TeX-refuse-unmatched-dollar}.
@item
@AUCTeX{} supports completion-at-point of macro and environment arguments
in @LaTeX{} buffers. The responsible function recognizes the argument
position and extracts the corresponding candidates from the variables
@code{TeX-symbol-list} and @code{LaTeX-environment-list}.
@item
@AUCTeX{} underlines the argument of macros which produce underlined text
in the final product with @code{font-latex-underline-face}. The

View file

@ -1,5 +1,5 @@
@c This is part of the AUCTeX Manual.
@c Copyright (C) 2004-2023 Free Software Foundation, Inc.
@c Copyright (C) 2004-2014, 2021, 2022 Free Software Foundation, Inc.
@c See the file auctex.texi for copying conditions.
@ifset rawfile
@include macros.texi
@ -71,7 +71,7 @@ statements related to the problem.
@item
What versions of Emacs are supported?
@AUCTeX{} was tested with @w{GNU Emacs 26.1}. Older versions may work but
@AUCTeX{} was tested with @w{GNU Emacs 25.1}. Older versions may work but
are unsupported.
@item

View file

@ -1,6 +1,6 @@
@c This is part of the AUCTeX Manual.
@c Copyright (C) 1994, 1996, 2003-2007, 2012-2013,
@c 2015-2023 Free Software Foundation, Inc.
@c 2015, 2017, 2018, 2020, 2021 Free Software Foundation, Inc.
@c See the file auctex.texi for copying conditions.
@ifset rawfile
@include macros.texi
@ -96,7 +96,7 @@ the file @file{INSTALL.windows}.
@end ifclear
@itemize @bullet
@item GNU Emacs 26.1 or higher
@item GNU Emacs 25.1 or higher
Using @previewlatex{} requires a version of Emacs compiled with image
support.

View file

@ -50,30 +50,30 @@ font-latex
@end ifset
@tex
\global\let\savedTeX\TeX
\gdef\TeX#{\savedTeX}
\gdef\LaTeX#{%
\gdef\TeX#1{\savedTeX#1}
\gdef\LaTeX{%
L\kern-.36em\raise.3ex\hbox{\sc{a}}\kern-.15em\TeX}
\gdef\previewlatex#{%
{\textsf preview-latex}}
\gdef\fontlatex#{%
{\textsf font-latex}}
\gdef\AUCTeX#{AUC\TeX}
\gdef\ConTeXt#{%
Con\TeX{}t}
\gdef\previewlatex#1{%
{\sf preview-latex}#1}
\gdef\fontlatex#1{%
{\sf font-latex}#1}
\gdef\AUCTeX{AUC\TeX}
\gdef\ConTeXt#1{%
Con\TeX t#1}
\toks0\expandafter{\indexnofonts
\def\TeX#{TeX}%
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
\def\TeX#1{TeX#1}%
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
\xdef\indexnofonts{\the\toks0}
\ifx\commondummies\undefined \else
\toks0\expandafter{\commondummies
\def\TeX#{TeX}%
\def\LaTeX#1{LaTeX}\def\previewlatex#1{preview-latex}}
\def\TeX#1{TeX#1}%
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
\xdef\commondummies{\the\toks0}
\fi
\ifx\definedummies\undefined \else
\toks0\expandafter{\definedummies
\def\TeX#{TeX}%
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
\def\TeX#1{TeX#1}%
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
\xdef\definedummies{\the\toks0}
\fi
\ifx\acronym\undefined \gdef\acronym#1{{\smallcaps \lowercase{#1}}} \fi

View file

@ -1,6 +1,6 @@
@c This is part of the preview-latex manual.
@c Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009
@c 2017, 2021-2023 Free Software Foundation, Inc.
@c 2017, 2021 Free Software Foundation, Inc.
@c See file preview-latex.texi for copying conditions.
@ifset rawfile
@include macros.texi
@ -48,7 +48,7 @@ to @email{auctex-devel@@gnu.org}.
@subsection Which version of Emacs is needed?
@previewlatex{} nominally requires @w{GNU Emacs} with a version of at
least 26.1.
least 25.1.
@subsection Which versions of Ghostscript and @AUCTeX{} are needed?

View file

@ -42,9 +42,9 @@
% Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
% for creating the GNU Emacs Reference Card from which this was mutated
\def\versionnumber{13.2}
\def\year{2023}
\def\version{April \year\ v\versionnumber}
\def\versionnumber{13.1}
\def\year{2022}
\def\version{February \year\ v\versionnumber}
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.

View file

@ -1,6 +1,6 @@
;;; font-latex.el --- LaTeX fontification for Font Lock mode. -*- lexical-binding: t; -*-
;; Copyright (C) 1996-2023 Free Software Foundation, Inc.
;; Copyright (C) 1996-2022 Free Software Foundation, Inc.
;; Authors: Peter S. Galbraith <psg@debian.org>
;; Simon Marshall <Simon.Marshall@esrin.esa.it>
@ -365,22 +365,21 @@ variable `font-latex-fontify-sectioning'." ',num)
("labelformat" "{{") ("linespread" "{")
("AddToHook" "{[{") ("RemoveFromHook" "{[") ("AddToHookNext" "{{")
("ProvidesClass" "{[") ("ProvidesPackage" "{[") ("ProvidesFile" "{[")
("NewMarkClass" "{"))
("NewMarkClass" "{")
;; XXX: Should macros without arguments rather be listed in a
;; separate category with 'noarg instead of 'command handling?
("enspace" "") ("enskip" "") ("quad" "") ("qquad" "") ("nonumber" "")
("bigskip" "") ("medskip" "") ("smallskip" "")
("thinspace" "") ("negthinspace" "")
("thicklines" "") ("thinlines" "")
("noindent" "") ("hline" "") ("ldots" "")
("centering" "") ("raggedright" "") ("raggedleft" "")
("raggedbottom" "") ("flushbottom" "")
("TeX" "") ("LaTeX" "") ("LaTeXe" "")
("normalfont" "") ("normalshape" "")
("tableofcontents" "") ("listoffigures" "") ("listoftables" "")
("maketitle" ""))
font-lock-function-name-face 2 command)
("function-noarg"
("enspace" "enskip" "quad" "qquad" "nonumber"
"bigskip" "medskip" "smallskip"
"thinspace" "negthinspace"
"thicklines" "thinlines"
"noindent" "hline" "ldots"
"centering" "raggedright" "raggedleft"
"raggedbottom" "flushbottom"
"TeX" "LaTeX" "LaTeXe"
"normalfont" "normalshape"
"tableofcontents" "listoffigures" "listoftables"
"maketitle" "makeindex" "makeglossary"
"sloppy" "fussy")
font-lock-keyword-face 2 noarg)
("sectioning-0"
(("part" "*[{"))
(if (eq font-latex-fontify-sectioning 'color)
@ -482,13 +481,12 @@ will match macros of the form \"\\foo[bar]{baz}\"."))
"List of strings for built-in keyword classes to be deactivated.
Valid entries are \"warning\", \"variable\", \"biblatexnoarg\",
\"biblatex\", \"reference\", \"function\", \"function-noarg\",
\"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\" or
\"type-declaration\".
\"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 have to restart Emacs for a change of this variable to take effect."
:group 'font-latex-keywords
@ -633,12 +631,12 @@ use."
(if (eq type 'command)
"\
This must be a list where each element is a list consisting of a
keyword string (not a regular expression) omitting the leading
keyword string \(not a regular expression\) omitting the leading
backslash and a format specifier as described in the doc string of
`font-latex-user-keyword-classes'."
"\
This must be a list where each element is a keyword string (not a
regular expression) omitting the leading backslash.")
This must be a list where each element is a keyword string \(not a
regular expression\) omitting the leading backslash.")
"\n\n\
This is an internal variable which should not be set directly.
@ -915,7 +913,7 @@ Generated by `font-latex-make-user-keywords'.")))
KEYWORDS is a list of keywords or keywords with syntax specs.
CLASS corresponds to a keyword class and can be one of the
symbols `warning', `variable', `reference', `biblatexnoarg',
`biblatex', `function', `function-noarg', `sectioning-1',
`biblatex', `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',
@ -1097,16 +1095,8 @@ have changed."
;; Some macros take an optional argument. This is
;; the same line as above for environments.
"\\(?:\\[[^][]*\\(?:\\[[^][]*\\][^][]*\\)*\\]\\)?"
;; Within verb macros with braces, only balanced
;; pairs of braces are allowed; so we respect this
;; and allow one level of balanced braces. Give
;; escape char(s) at the end of the verbatim
;; construct punctuation syntax.
"\\({\\)[^}{]*?"
"\\(?:{[^}{]*}[^}{]*?\\)*"
"\\(" (regexp-quote TeX-esc) "*\\)"
"\\(}\\)")
(1 "|") (2 ".") (3 "|")))))
"\\({\\).*?[^\\]\\(?:\\\\\\\\\\)*\\(}\\)")
(1 "|") (2 "|")))))
(when font-latex-syntactic-keywords-extra
(nconc font-latex-syntactic-keywords font-latex-syntactic-keywords-extra))
;; ;; Cater for docTeX mode.

View file

@ -3,7 +3,7 @@
%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
%
% Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
% 2010, 2017-2023 Free Software Foundation
% 2010, 2017-2022 Free Software Foundation
%
% This program is free software; you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
@ -20,7 +20,7 @@
% Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
% Boston, MA 02110-1301 USA
% \fi
% \CheckSum{1758}
% \CheckSum{1794}
% \GetFileInfo{preview.sty}
% \date{\filedate}
% \author{David Kastrup\thanks{\texttt{bug-auctex@gnu.org}}}
@ -429,20 +429,27 @@
%
% \StopEventually{}
% \section{The Implementation}
% We provide version and date manually. This should really be done at
% Here we go: the start is somewhat obtuse since we figure out version
% number and date from RCS strings. This should really be done at
% docstrip time instead. Takers?
% \begin{macro}{\pr@version}
% \begin{macro}{\pr@date}
% \begin{macrocode}
%<*style>
%<*!active>
\NeedsTeXFormat{LaTeX2e}
\def\pr@version{13.2}
\def\pr@date{2023/01/17}
\ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)]
\NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3:
#4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1}
\begingroup \catcode`\_=12
\reserved@a\pr@version $Name: release_13_1 $ \ifx\pr@version\@empty
\reserved@a\pr@version CVS-$Revision: 1.126 $ \endgroup \else
\def\next release_{} \lccode`\_=`.
\edef\next{\lowercase{\endgroup
\def\noexpand\pr@version{\expandafter\next\pr@version}}} \next \fi
\reserved@a\next $Date: 2017/04/24 13:20:00 $
\edef\next{\noexpand\ProvidesPackage{preview}%
[\next\space \pr@version\space (AUCTeX/preview-latex)]}
\next
% \end{macrocode}
% \end{macro}
% \end{macro}
% Since many parts here will not be needed as long as the package is
% inactive, we will include them enclosed with |<*active>| and
% |</active>| guards. That way, we can append all of this stuff at a

View file

@ -23,10 +23,18 @@
%% in the same archive or directory.)
%% The preview style for extracting previews from LaTeX documents.
%% Developed as part of AUCTeX <URL:https://www.gnu.org/software/auctex/>.
\NeedsTeXFormat{LaTeX2e}
\def\pr@version{13.2}
\def\pr@date{2023/01/17}
\ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)]
\NeedsTeXFormat{LaTeX2e} \def\reserved@a #1#2$#3:
#4${\xdef#1{\reserved@c #2#4 $}} \def\reserved@c #1 #2${#1}
\begingroup \catcode`\_=12
\reserved@a\pr@version $Name: release_13_1 $ \ifx\pr@version\@empty
\reserved@a\pr@version CVS-$Revision: 1.126 $ \endgroup \else
\def\next release_{} \lccode`\_=`.
\edef\next{\lowercase{\endgroup
\def\noexpand\pr@version{\expandafter\next\pr@version}}} \next \fi
\reserved@a\next $Date: 2017/04/24 13:20:00 $
\edef\next{\noexpand\ProvidesPackage{preview}%
[\next\space \pr@version\space (AUCTeX/preview-latex)]}
\next
\let\ifPreview\iffalse
\let\preview@delay=\@gobble
\let\pr@advise=\@gobbletwo

Some files were not shown because too many files have changed in this diff Show more