Compare commits
3 commits
ee6401529a
...
a7b0aa02ca
Author | SHA1 | Date | |
---|---|---|---|
KemoNine | a7b0aa02ca | ||
KemoNine | 554d5e62c2 | ||
KemoNine | d388672a3f |
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -16,3 +16,4 @@ code/projects
|
||||||
**/.persistent-scratch*
|
**/.persistent-scratch*
|
||||||
**/url
|
**/url
|
||||||
**/eshell
|
**/eshell
|
||||||
|
**/.lsp-session*
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1 +0,0 @@
|
||||||
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
|
|
|
@ -1,229 +0,0 @@
|
||||||
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.
|
|
|
@ -1,2 +0,0 @@
|
||||||
;; 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/")
|
|
|
@ -1,97 +0,0 @@
|
||||||
;;; XCharter.el --- AUCTeX style for `XCharter.sty' (v1.094) -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2014, 2017, 2018, 2020 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Arash Esbati <arash@gnu.org>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
;; Created: 2014-10-30
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for `XCharter.sty' (v1.094) from 2017/08/08.
|
|
||||||
;; `XCharter.sty' is part of TeXLive.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
|
|
||||||
;; Silence the compiler:
|
|
||||||
(declare-function font-latex-add-keywords
|
|
||||||
"font-latex"
|
|
||||||
(keywords class))
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"XCharter"
|
|
||||||
(lambda ()
|
|
||||||
|
|
||||||
;; Run style hook for various packages loaded by XCharter
|
|
||||||
(TeX-run-style-hooks "textcomp" "fontaxes")
|
|
||||||
|
|
||||||
;; New symbols
|
|
||||||
(TeX-add-symbols
|
|
||||||
|
|
||||||
;; Only preamble commands
|
|
||||||
'("useosf" 0)
|
|
||||||
'("useosfI" 0)
|
|
||||||
|
|
||||||
;; Text commands
|
|
||||||
'("textsu" t) ; superior figures
|
|
||||||
'("sustyle" -1) ;
|
|
||||||
'("textin" t) ; inferior figures
|
|
||||||
'("instyle" -1) ;
|
|
||||||
'("textlf" t) ; lining figures
|
|
||||||
'("lfstyle" -1) ;
|
|
||||||
'("textosf" t) ; oldstyle figures
|
|
||||||
'("textosfI" t) ; oldstyle figures alternate
|
|
||||||
'("osfstyle" -1) ; whatever oldstyle option is in force
|
|
||||||
'("textnumerator" t) ; numerators
|
|
||||||
'("textnu" t) ;
|
|
||||||
'("textdenominator" t) ; denominators
|
|
||||||
'("textde" t) ;
|
|
||||||
'("textfrac" 2))
|
|
||||||
|
|
||||||
;; Fontification
|
|
||||||
(when (and (featurep 'font-latex)
|
|
||||||
(eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
(font-latex-add-keywords '(("textsu" "{")
|
|
||||||
("textin" "{")
|
|
||||||
("textlf" "{")
|
|
||||||
("textosf" "{")
|
|
||||||
("textosfI" "{")
|
|
||||||
("textnumerator" "{")
|
|
||||||
("textnu" "{")
|
|
||||||
("textdenominator" "{")
|
|
||||||
("textde" "{")
|
|
||||||
("textfrac" "{{"))
|
|
||||||
'type-command)
|
|
||||||
(font-latex-add-keywords '(("sustyle" "")
|
|
||||||
("instyle" "")
|
|
||||||
("lfstyle" "")
|
|
||||||
("osfstyle" ""))
|
|
||||||
'type-declaration)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defvar LaTeX-XCharter-package-options
|
|
||||||
'("lining" "lf" "oldstyle" "osf" "oldstyleI" "osfI"
|
|
||||||
"scaled" "sups" "scosf")
|
|
||||||
"Package options for the XCharter package.")
|
|
||||||
|
|
||||||
;;; XCharter.el ends here
|
|
|
@ -1,201 +0,0 @@
|
||||||
;;; amsthm.el --- Style hook for the AMS-LaTeX amsthm package. -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 1997, 2013--2015, 2018, 2020 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Carsten Dominik <dominik@strw.leidenuniv.nl>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; The style provides the function `LaTeX-amsthm-env-label' which
|
|
||||||
;; enables new defined environments with "\newtheoreom" to interact
|
|
||||||
;; with AUCTeX and RefTeX mechanisms for inserting labels. Check
|
|
||||||
;; docstring of `LaTeX-amsthm-env-label' for instructions.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
(require 'latex)
|
|
||||||
|
|
||||||
;; Silence the compiler:
|
|
||||||
(declare-function font-latex-add-keywords
|
|
||||||
"font-latex"
|
|
||||||
(keywords class))
|
|
||||||
|
|
||||||
(defvar LaTeX-amsthm-package-options nil
|
|
||||||
"Package options for the amsthm package.")
|
|
||||||
|
|
||||||
(defvar LaTeX-amsthm-fontdecl
|
|
||||||
'(;; family
|
|
||||||
"rmfamily" "sffamily" "ttfamily"
|
|
||||||
;; series
|
|
||||||
"mdseries" "bfseries"
|
|
||||||
;; shape
|
|
||||||
"upshape" "itshape" "slshape" "scshape"
|
|
||||||
;; size
|
|
||||||
"tiny" "scriptsize" "footnotesize"
|
|
||||||
"small" "normalsize" "large"
|
|
||||||
"Large" "LARGE" "huge" "Huge"
|
|
||||||
;; reset macro
|
|
||||||
"normalfont")
|
|
||||||
"List of font declaration commands for \"\\newtheoremstyle\".")
|
|
||||||
|
|
||||||
(defun LaTeX-arg-amsthm-fontdecl (optional &optional prompt)
|
|
||||||
"Prompt for font declaration commands in \"\\newtheoremstyle\".
|
|
||||||
If OPTIONAL is non-nil, insert the resulting value as an optional
|
|
||||||
argument. Use PROMPT as the prompt string."
|
|
||||||
(let* ((crm-separator (regexp-quote TeX-esc))
|
|
||||||
(fontdecl (mapconcat #'identity
|
|
||||||
(TeX-completing-read-multiple
|
|
||||||
(TeX-argument-prompt optional prompt "Font: \\" t)
|
|
||||||
LaTeX-amsthm-fontdecl)
|
|
||||||
TeX-esc)))
|
|
||||||
(TeX-argument-insert fontdecl
|
|
||||||
optional
|
|
||||||
(when (and fontdecl (not (string= fontdecl "")))
|
|
||||||
TeX-esc))))
|
|
||||||
|
|
||||||
(defun LaTeX-amsthm-env-label (environment)
|
|
||||||
"Insert ENVIRONMENT, query for an optional argument and prompt
|
|
||||||
for label. AUCTeX users should add ENVIRONMENT to
|
|
||||||
`LaTeX-label-alist' via customize or in init-file with:
|
|
||||||
|
|
||||||
(add-to-list \\='LaTeX-label-alist \\='(\"lemma\" . \"lem:\"))
|
|
||||||
|
|
||||||
RefTeX users should customize or add ENVIRONMENT to
|
|
||||||
`LaTeX-label-alist' and `reftex-label-alist', for example
|
|
||||||
|
|
||||||
(add-to-list \\='LaTeX-label-alist \\='(\"lemma\" . \"lem:\"))
|
|
||||||
(add-to-list \\='reftex-label-alist
|
|
||||||
\\='(\"lemma\" ?m \"lem:\" \"~\\ref{%s}\"
|
|
||||||
nil (\"Lemma\" \"lemma\") nil))"
|
|
||||||
(let ((opthead (TeX-read-string
|
|
||||||
(TeX-argument-prompt t nil "Heading"))))
|
|
||||||
(LaTeX-insert-environment environment
|
|
||||||
(when (and opthead
|
|
||||||
(not (string= opthead "")))
|
|
||||||
(format "[%s]" opthead))))
|
|
||||||
(when (LaTeX-label environment 'environment)
|
|
||||||
(LaTeX-newline)
|
|
||||||
(indent-according-to-mode)))
|
|
||||||
|
|
||||||
;; Setup parsing for \newtheorem
|
|
||||||
(TeX-auto-add-type "amsthm-newtheorem" "LaTeX")
|
|
||||||
|
|
||||||
;; Setup parsing for \newtheoremstyle
|
|
||||||
(TeX-auto-add-type "amsthm-newtheoremstyle" "LaTeX")
|
|
||||||
|
|
||||||
(defun LaTeX-amsthm-auto-prepare ()
|
|
||||||
"Clear `LaTeX-auto-amsthm-newtheorem' and
|
|
||||||
`LaTeX-auto-amsthm-newtheoremstyle' before parsing."
|
|
||||||
(setq LaTeX-auto-amsthm-newtheorem nil)
|
|
||||||
(setq LaTeX-auto-amsthm-newtheoremstyle nil))
|
|
||||||
|
|
||||||
(defun LaTeX-amsthm-auto-cleanup ()
|
|
||||||
"Move parsed results from `LaTeX-auto-amsthm-newtheorem' and
|
|
||||||
make them available as new environments."
|
|
||||||
(dolist (newthm (mapcar #'car (LaTeX-amsthm-newtheorem-list)))
|
|
||||||
(LaTeX-add-environments (list newthm #'LaTeX-amsthm-env-label))))
|
|
||||||
|
|
||||||
(add-hook 'TeX-auto-prepare-hook #'LaTeX-amsthm-auto-prepare t)
|
|
||||||
(add-hook 'TeX-auto-cleanup-hook #'LaTeX-amsthm-auto-cleanup t)
|
|
||||||
(add-hook 'TeX-update-style-hook #'TeX-auto-parse t)
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"amsthm"
|
|
||||||
(lambda ()
|
|
||||||
;; Add the pre-defined styles:
|
|
||||||
(LaTeX-add-amsthm-newtheoremstyles "definition"
|
|
||||||
"plain"
|
|
||||||
"remark")
|
|
||||||
|
|
||||||
(LaTeX-add-environments
|
|
||||||
'("proof" LaTeX-amsthm-env-label))
|
|
||||||
|
|
||||||
(TeX-add-symbols
|
|
||||||
;; Overrule the defintion in `latex.el':
|
|
||||||
'("newtheorem"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let ((nthm (TeX-read-string
|
|
||||||
(TeX-argument-prompt nil nil "Environment"))))
|
|
||||||
(LaTeX-add-amsthm-newtheorems nthm)
|
|
||||||
(LaTeX-add-environments (list nthm #'LaTeX-amsthm-env-label))
|
|
||||||
(format "%s" nthm))))
|
|
||||||
[ TeX-arg-environment "Numbered like" ]
|
|
||||||
t [ (TeX-arg-eval progn (if (eq (save-excursion
|
|
||||||
(backward-char 2)
|
|
||||||
(preceding-char)) ?\])
|
|
||||||
()
|
|
||||||
(TeX-arg-counter t "Within counter"))
|
|
||||||
"") ])
|
|
||||||
|
|
||||||
'("newtheorem*"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let ((nthm (TeX-read-string
|
|
||||||
(TeX-argument-prompt nil nil "Environment")))
|
|
||||||
(heading (TeX-read-string
|
|
||||||
(TeX-argument-prompt nil nil "Heading"))))
|
|
||||||
(LaTeX-add-amsthm-newtheorems nthm)
|
|
||||||
(LaTeX-add-environments (list nthm #'LaTeX-amsthm-env-label))
|
|
||||||
(insert (concat TeX-grop nthm TeX-grcl))
|
|
||||||
(format "%s" heading)))))
|
|
||||||
|
|
||||||
'("theoremstyle"
|
|
||||||
(TeX-arg-eval completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Style")
|
|
||||||
(LaTeX-amsthm-newtheoremstyle-list)))
|
|
||||||
"qedhere"
|
|
||||||
"swapnumbers"
|
|
||||||
|
|
||||||
'("newtheoremstyle"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let ((nthmstyle (TeX-read-string
|
|
||||||
(TeX-argument-prompt nil nil "Style name"))))
|
|
||||||
(LaTeX-add-amsthm-newtheoremstyles nthmstyle)
|
|
||||||
(format "%s" nthmstyle))))
|
|
||||||
(TeX-arg-length "Space above")
|
|
||||||
(TeX-arg-length "Space below")
|
|
||||||
(LaTeX-arg-amsthm-fontdecl "Body font: \\")
|
|
||||||
"Indent amount"
|
|
||||||
(LaTeX-arg-amsthm-fontdecl "Theorem head font: \\")
|
|
||||||
"Punctuation after head"
|
|
||||||
(TeX-arg-length "Space after head")
|
|
||||||
"Theorem head spec"))
|
|
||||||
|
|
||||||
(TeX-auto-add-regexp
|
|
||||||
`(,(concat "\\\\newtheorem\\*?{\\(" TeX-token-char "+\\)}")
|
|
||||||
1 LaTeX-auto-amsthm-newtheorem))
|
|
||||||
(TeX-auto-add-regexp
|
|
||||||
`(,(concat "\\\\newtheoremstyle{\\(" TeX-token-char "+\\)}")
|
|
||||||
1 LaTeX-auto-amsthm-newtheoremstyle))
|
|
||||||
|
|
||||||
;; Fontification
|
|
||||||
(when (and (featurep 'font-latex)
|
|
||||||
(eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
(font-latex-add-keywords '(("newtheorem" "*{[{[")
|
|
||||||
("theoremstyle" "{")
|
|
||||||
("newtheoremstyle" "{{{{{{{{{"))
|
|
||||||
'function)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
;;; amsthm.el ends here
|
|
|
@ -1,381 +0,0 @@
|
||||||
;;; beamer.el --- AUCTeX style for the latex-beamer class -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2003-2021 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Thomas Baumann <thomas.baumann@ch.tum.de>
|
|
||||||
;; Created: 2003-12-20
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for the latex-beamer class.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
(require 'latex)
|
|
||||||
|
|
||||||
;; Silence the compiler:
|
|
||||||
(declare-function font-latex-add-keywords
|
|
||||||
"font-latex"
|
|
||||||
(keywords class))
|
|
||||||
|
|
||||||
(defun LaTeX-beamer-after-insert-env (env start _end)
|
|
||||||
"Do beamer-specific stuff after the insertion of an environment."
|
|
||||||
;; Add `fragile' as an optional argument to the frame environment if
|
|
||||||
;; a verbatim environment is inserted.
|
|
||||||
(when (and (TeX-member env (LaTeX-verbatim-environments) #'string-equal)
|
|
||||||
(save-excursion
|
|
||||||
(goto-char start)
|
|
||||||
(string-equal (LaTeX-current-environment) "frame")))
|
|
||||||
(save-excursion
|
|
||||||
(when (re-search-backward "\\\\begin[ \t]*{frame}" nil t)
|
|
||||||
(let ((end-of-begin (match-end 0)))
|
|
||||||
(goto-char end-of-begin)
|
|
||||||
(while (forward-comment 1))
|
|
||||||
(if (eq (char-after) (string-to-char LaTeX-optop))
|
|
||||||
(progn
|
|
||||||
(forward-char)
|
|
||||||
(insert "fragile")
|
|
||||||
(unless (looking-at (concat "[ \t]*" LaTeX-optcl))
|
|
||||||
(insert ",")))
|
|
||||||
(goto-char end-of-begin)
|
|
||||||
(insert "[fragile]")))))))
|
|
||||||
|
|
||||||
(defvar LaTeX-beamer-frametitle-history nil
|
|
||||||
"History of frame titles in beamer.")
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"beamer"
|
|
||||||
(lambda ()
|
|
||||||
(add-hook 'LaTeX-after-insert-env-hook #'LaTeX-beamer-after-insert-env nil t)
|
|
||||||
|
|
||||||
(TeX-run-style-hooks "amsmath" "amssymb" "amsthm" "color" "geometry"
|
|
||||||
"hyperref" "inputenc" "translator" "xcolor")
|
|
||||||
|
|
||||||
(unless LaTeX-beamer-section-labels-flag
|
|
||||||
(make-local-variable 'LaTeX-section-hook)
|
|
||||||
(setq LaTeX-section-hook
|
|
||||||
'(LaTeX-section-heading
|
|
||||||
LaTeX-section-title
|
|
||||||
LaTeX-section-section)))
|
|
||||||
|
|
||||||
(setq LaTeX-item-list
|
|
||||||
(append '(("itemize" . LaTeX-item-beamer)
|
|
||||||
("enumerate" . LaTeX-item-beamer))
|
|
||||||
LaTeX-item-list))
|
|
||||||
|
|
||||||
(setq LaTeX-default-document-environment "frame")
|
|
||||||
|
|
||||||
(LaTeX-paragraph-commands-add-locally "frametitle")
|
|
||||||
|
|
||||||
(TeX-add-symbols
|
|
||||||
'("alert" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("alt" [ TeX-arg-beamer-overlay-spec ] 2)
|
|
||||||
'("beamerbutton" 1)
|
|
||||||
'("beamergotobutton" 1)
|
|
||||||
'("beamerreturnbutton" 1)
|
|
||||||
'("beamerskipbutton" 1)
|
|
||||||
'("frame" TeX-arg-beamer-frametitle)
|
|
||||||
'("frametitle"
|
|
||||||
(TeX-arg-eval TeX-read-string "Title: " nil 'LaTeX-beamer-frametitle-history))
|
|
||||||
'("hyperlink" [ TeX-arg-beamer-overlay-spec ] 2)
|
|
||||||
'("hyperlinkslideprev" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkslidenext" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkframestart" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkframeend" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkframestartnext" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkframeendprev" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkpresentationstart" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkpresentationend" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkappendixstart" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkappendixend" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkdocumentstart" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hyperlinkdocumentend" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("hypertarget" [ TeX-arg-beamer-overlay-spec ] 2)
|
|
||||||
'("institute" 1)
|
|
||||||
'("invisible" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("label" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("logo" 1)
|
|
||||||
'("note" TeX-arg-beamer-note 1)
|
|
||||||
'("only" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("onslide" [ TeX-arg-beamer-overlay-spec ])
|
|
||||||
'("partpage")
|
|
||||||
'("pause" ["Slide number"])
|
|
||||||
'("structure" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("temporal" [ TeX-arg-beamer-overlay-spec ] 3)
|
|
||||||
'("titlepage")
|
|
||||||
'("titlegraphic" 1)
|
|
||||||
'("uncover" [ TeX-arg-beamer-overlay-spec ] 1)
|
|
||||||
'("usetheme" LaTeX-arg-beamer-theme)
|
|
||||||
'("useinnertheme" LaTeX-arg-beamer-inner-theme)
|
|
||||||
'("useoutertheme" LaTeX-arg-beamer-outer-theme)
|
|
||||||
'("usecolortheme" LaTeX-arg-beamer-color-theme)
|
|
||||||
'("usefonttheme" LaTeX-arg-beamer-font-theme)
|
|
||||||
'("usetheme" LaTeX-arg-beamer-theme)
|
|
||||||
'("visible" [ TeX-arg-beamer-overlay-spec ] 1))
|
|
||||||
|
|
||||||
(LaTeX-add-environments
|
|
||||||
'("actionenv")
|
|
||||||
'("alertblock" 1)
|
|
||||||
'("beamerboxesrounded" 1)
|
|
||||||
'("block" (lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env (format "{%s}" (TeX-read-string "Title: ")))))
|
|
||||||
'("column" "Width")
|
|
||||||
"columns"
|
|
||||||
"columnsonlytextwidth"
|
|
||||||
'("exampleblock" 1)
|
|
||||||
'("frame" (lambda (env &rest ignore)
|
|
||||||
(let ((title (TeX-read-string "(Optional) Title: " nil
|
|
||||||
'LaTeX-beamer-frametitle-history)))
|
|
||||||
(LaTeX-insert-environment env)
|
|
||||||
(unless (zerop (length title))
|
|
||||||
(save-excursion
|
|
||||||
(LaTeX-find-matching-begin)
|
|
||||||
(end-of-line)
|
|
||||||
(LaTeX-newline)
|
|
||||||
;; Indent the next macro insertion and don't
|
|
||||||
;; rely on the fill-function to do it:
|
|
||||||
(indent-according-to-mode)
|
|
||||||
(insert (format "\\frametitle{%s}" title))
|
|
||||||
;; This works because \frametitle is a
|
|
||||||
;; paragraph command.
|
|
||||||
(when auto-fill-function
|
|
||||||
(backward-char)
|
|
||||||
(LaTeX-fill-paragraph)))))))
|
|
||||||
'("onlyenv" (lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env
|
|
||||||
(let ((overlay (TeX-read-string "(Optional) Overlay: ")))
|
|
||||||
(unless (zerop (length overlay))
|
|
||||||
(format "<%s>" overlay))))))
|
|
||||||
'("overlayarea" "Area width" "Area height")
|
|
||||||
'("overprint" (lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env
|
|
||||||
(let ((width (TeX-read-string "(Optional) Area width: ")))
|
|
||||||
(unless (zerop (length width))
|
|
||||||
(format "[%s]" width))))))
|
|
||||||
"semiverbatim")
|
|
||||||
|
|
||||||
(LaTeX-largest-level-set "section")
|
|
||||||
(LaTeX-add-counters "lecture" "part" "section" "subsection" "subsubsection"
|
|
||||||
"subsectionslide" "framenumber" "figure" "table"
|
|
||||||
"beamerpauses")
|
|
||||||
(LaTeX-add-pagestyles "navigation")
|
|
||||||
(add-to-list (make-local-variable 'LaTeX-indent-environment-list)
|
|
||||||
'("semiverbatim" current-indentation) t)
|
|
||||||
(add-to-list 'LaTeX-verbatim-environments-local "semiverbatim")
|
|
||||||
|
|
||||||
;; Fontification
|
|
||||||
(when (and (featurep 'font-latex)
|
|
||||||
(eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
(font-latex-add-keywords '(("title" "[{")
|
|
||||||
("subtitle" "[{")
|
|
||||||
("author" "[{")
|
|
||||||
("date" "[{")
|
|
||||||
("frametitle" "<[{")) 'slide-title)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defun TeX-arg-beamer-overlay-spec (optional &optional prompt)
|
|
||||||
"Prompt for overlay specification.
|
|
||||||
If OPTIONAL is non-nil, insert the specification only if
|
|
||||||
non-empty and enclosed in \"<>\". PROMPT replaces the standard
|
|
||||||
one."
|
|
||||||
(let ((TeX-arg-opening-brace "<")
|
|
||||||
(TeX-arg-closing-brace ">"))
|
|
||||||
(TeX-argument-insert
|
|
||||||
(TeX-read-string
|
|
||||||
(TeX-argument-prompt optional prompt "Overlay"))
|
|
||||||
optional)
|
|
||||||
(indent-according-to-mode)))
|
|
||||||
|
|
||||||
(defun TeX-arg-beamer-frametitle (_optional &optional _prompt)
|
|
||||||
"Prompt for the frametitle."
|
|
||||||
(let ((title (TeX-read-string "Title: " nil 'LaTeX-beamer-frametitle-history)))
|
|
||||||
(if (not (zerop (length title)))
|
|
||||||
(insert TeX-grop TeX-esc "frametitle" TeX-grop
|
|
||||||
title TeX-grcl TeX-grcl)
|
|
||||||
(insert TeX-grop TeX-grcl))))
|
|
||||||
|
|
||||||
(defun LaTeX-item-beamer ()
|
|
||||||
"Insert a new item with an optional overlay argument. You
|
|
||||||
can turn off the prompt for the overlay argument by setting
|
|
||||||
`LaTeX-beamer-item-overlay-flag' to nil. Calling the function
|
|
||||||
with a prefix argument prompts for the overlay specification
|
|
||||||
unconditionally."
|
|
||||||
(if (listp current-prefix-arg)
|
|
||||||
(setq current-prefix-arg (car current-prefix-arg))
|
|
||||||
current-prefix-arg)
|
|
||||||
(TeX-insert-macro "item")
|
|
||||||
(delete-horizontal-space)
|
|
||||||
(if (or current-prefix-arg LaTeX-beamer-item-overlay-flag)
|
|
||||||
(TeX-arg-beamer-overlay-spec 0))
|
|
||||||
(insert " ")
|
|
||||||
(indent-according-to-mode))
|
|
||||||
|
|
||||||
(defun TeX-arg-beamer-note (_optional &optional _prompt)
|
|
||||||
"Prompt for overlay specification and optional argument."
|
|
||||||
(let ((overlay (TeX-read-string "(Optional) Overlay: "))
|
|
||||||
(options (TeX-read-string "(Optional) Options: ")))
|
|
||||||
(unless (zerop (length overlay))
|
|
||||||
(insert "<" overlay ">"))
|
|
||||||
(unless (zerop (length options))
|
|
||||||
(insert "[" options "]"))
|
|
||||||
(indent-according-to-mode)))
|
|
||||||
|
|
||||||
(defun LaTeX-beamer-search-themes (&optional regexp extensions length)
|
|
||||||
"Search for beamer themes matching REGEXP with EXTENSIONS.
|
|
||||||
The function removes the first LENGTH characters and the
|
|
||||||
extension of the file and returns a list of strings. LENGTH may
|
|
||||||
also be a string. Then the length of the string is used."
|
|
||||||
(let* ((match (or regexp "^beamertheme[A-Z]"))
|
|
||||||
(exts (or extensions '("tex" "sty")))
|
|
||||||
(chars (cond ((integerp length)
|
|
||||||
length)
|
|
||||||
((stringp length)
|
|
||||||
(string-width length))
|
|
||||||
;; Try some DWIM magic...
|
|
||||||
((and (not length)
|
|
||||||
(string-match "beamer[A-Za-z0-9]*theme" match))
|
|
||||||
(- (match-end 0) (match-beginning 0)))
|
|
||||||
(t (error "Invalid length: `%s'" length)))))
|
|
||||||
;; (message "match=`%s' chars=`%s'" match chars)
|
|
||||||
(TeX-delete-duplicate-strings
|
|
||||||
(delete nil
|
|
||||||
(mapcar
|
|
||||||
(lambda (file)
|
|
||||||
(let ((case-fold-search nil))
|
|
||||||
(and (numberp (string-match match file))
|
|
||||||
(substring file chars))))
|
|
||||||
(TeX-search-files nil exts t t))))))
|
|
||||||
|
|
||||||
(defun LaTeX-arg-beamer-theme (&rest _ignore)
|
|
||||||
"Prompt for beamer theme with completion."
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Theme")
|
|
||||||
(mapcar #'list
|
|
||||||
(cond ((eq LaTeX-beamer-themes 'local)
|
|
||||||
(set (make-local-variable 'LaTeX-beamer-themes)
|
|
||||||
(LaTeX-beamer-search-themes)))
|
|
||||||
((functionp LaTeX-beamer-themes)
|
|
||||||
(funcall LaTeX-beamer-themes))
|
|
||||||
((listp LaTeX-beamer-themes)
|
|
||||||
LaTeX-beamer-themes)
|
|
||||||
(t (error
|
|
||||||
"`LaTeX-beamer-themes' should be a list: `%s'"
|
|
||||||
LaTeX-beamer-themes))))
|
|
||||||
nil nil nil)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defun LaTeX-arg-beamer-inner-theme (&rest _ignore)
|
|
||||||
"Prompt for beamer inner theme with completion."
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Theme")
|
|
||||||
(mapcar #'list
|
|
||||||
(cond ((eq LaTeX-beamer-inner-themes 'local)
|
|
||||||
(set (make-local-variable 'LaTeX-beamer-inner-themes)
|
|
||||||
(LaTeX-beamer-search-themes "^beamerinnertheme")))
|
|
||||||
((functionp LaTeX-beamer-inner-themes)
|
|
||||||
(funcall LaTeX-beamer-inner-themes))
|
|
||||||
((listp LaTeX-beamer-inner-themes)
|
|
||||||
LaTeX-beamer-inner-themes)
|
|
||||||
(t (error
|
|
||||||
"`LaTeX-beamer-inner-themes' should be a list: `%s'"
|
|
||||||
LaTeX-beamer-inner-themes))))
|
|
||||||
nil nil nil)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defun LaTeX-arg-beamer-outer-theme (&rest _ignore)
|
|
||||||
"Prompt for beamer outer theme with completion."
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Theme")
|
|
||||||
(mapcar #'list
|
|
||||||
(cond ((eq LaTeX-beamer-outer-themes 'local)
|
|
||||||
(set (make-local-variable 'LaTeX-beamer-outer-themes)
|
|
||||||
(LaTeX-beamer-search-themes "^beameroutertheme")))
|
|
||||||
((functionp LaTeX-beamer-outer-themes)
|
|
||||||
(funcall LaTeX-beamer-outer-themes))
|
|
||||||
((listp LaTeX-beamer-outer-themes)
|
|
||||||
LaTeX-beamer-outer-themes)
|
|
||||||
(t (error
|
|
||||||
"`LaTeX-beamer-outer-themes' should be a list: `%s'"
|
|
||||||
LaTeX-beamer-outer-themes))))
|
|
||||||
nil nil nil)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defun LaTeX-arg-beamer-color-theme (&rest _ignore)
|
|
||||||
"Prompt for beamer color theme with completion."
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Theme")
|
|
||||||
(mapcar #'list
|
|
||||||
(cond ((eq LaTeX-beamer-color-themes 'local)
|
|
||||||
(set (make-local-variable 'LaTeX-beamer-color-themes)
|
|
||||||
(LaTeX-beamer-search-themes "^beamercolortheme")))
|
|
||||||
((functionp LaTeX-beamer-color-themes)
|
|
||||||
(funcall LaTeX-beamer-color-themes))
|
|
||||||
((listp LaTeX-beamer-color-themes)
|
|
||||||
LaTeX-beamer-color-themes)
|
|
||||||
(t (error
|
|
||||||
"`LaTeX-beamer-color-themes' should be a list: `%s'"
|
|
||||||
LaTeX-beamer-color-themes))))
|
|
||||||
nil nil nil)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defun LaTeX-arg-beamer-font-theme (&rest _ignore)
|
|
||||||
"Prompt for beamer font theme with completion."
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read
|
|
||||||
(TeX-argument-prompt nil nil "Theme")
|
|
||||||
(mapcar #'list
|
|
||||||
(cond ((eq LaTeX-beamer-font-themes 'local)
|
|
||||||
(set (make-local-variable 'LaTeX-beamer-font-themes)
|
|
||||||
(LaTeX-beamer-search-themes "^beamerfonttheme")))
|
|
||||||
((functionp LaTeX-beamer-font-themes)
|
|
||||||
(funcall LaTeX-beamer-font-themes))
|
|
||||||
((listp LaTeX-beamer-font-themes)
|
|
||||||
LaTeX-beamer-font-themes)
|
|
||||||
(t (error
|
|
||||||
"`LaTeX-beamer-font-themes' should be a list: `%s'"
|
|
||||||
LaTeX-beamer-font-themes))))
|
|
||||||
nil nil nil)
|
|
||||||
t))
|
|
||||||
|
|
||||||
(defun LaTeX-beamer-class-options ()
|
|
||||||
"Read the beamer class options from the user."
|
|
||||||
(TeX-load-style "hyperref")
|
|
||||||
(TeX-read-key-val t '(("usepdftitle" ("false")) ("envcountsect")
|
|
||||||
("notheorems") ("noamsthm") ("compress") ("t") ("c")
|
|
||||||
("leqno") ("fleqn") ("handout") ("trans") ("pdftex")
|
|
||||||
("nativepdf") ("pdfmark") ("dvips") ("dviwindo")
|
|
||||||
("dvipsone") ("vtex") ("ps2pdf") ("ignorenonframetext")
|
|
||||||
("noamssymb") ("bigger") ("smaller") ("8pt") ("9pt")
|
|
||||||
("10pt") ("11pt") ("12pt") ("14pt") ("17pt") ("20pt")
|
|
||||||
("draft") ("CJK") ("cjk") ("pgf")
|
|
||||||
("hyperref" LaTeX-hyperref-package-options-list)
|
|
||||||
("color") ("xcolor") ("ucs") ("utf8x") ("utf8")
|
|
||||||
("aspectratio" ("1610" "169" "149" "54" "43" "32")))))
|
|
||||||
|
|
||||||
;;; beamer.el ends here
|
|
|
@ -1,63 +0,0 @@
|
||||||
;;; expl3.el --- AUCTeX style for `expl3.sty' -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2015, 2017-2020 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Tassilo Horn <tsdh@gnu.org>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
;; Created: 2015-02-22
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for `expl3.sty'.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
(require 'latex)
|
|
||||||
|
|
||||||
(defvar font-latex-match-simple-include-list)
|
|
||||||
|
|
||||||
(defvar LaTeX-expl3-syntax-table
|
|
||||||
(let ((st (copy-syntax-table LaTeX-mode-syntax-table)))
|
|
||||||
;; Make _ and : symbol chars
|
|
||||||
(modify-syntax-entry ?\_ "_" st)
|
|
||||||
(modify-syntax-entry ?\: "_" st)
|
|
||||||
st))
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"expl3"
|
|
||||||
(lambda ()
|
|
||||||
(set-syntax-table LaTeX-expl3-syntax-table)
|
|
||||||
(when (and (eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
;; Fontify _ and : as part of macros.
|
|
||||||
(add-to-list 'font-latex-match-simple-include-list "_" t)
|
|
||||||
(add-to-list 'font-latex-match-simple-include-list ":" t)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defun LaTeX-expl3-package-options ()
|
|
||||||
"Read the expl3 package options from the user."
|
|
||||||
(TeX-read-key-val t '(("check-declarations" ("true" "false"))
|
|
||||||
("log-functions" ("true" "false"))
|
|
||||||
("driver" ("auto" "latex2e"
|
|
||||||
"dvips" "dvipdfmx"
|
|
||||||
"pdfmode" "xdvipdfmx")))))
|
|
||||||
|
|
||||||
;;; expl3.el ends here
|
|
|
@ -1,237 +0,0 @@
|
||||||
;;; hologo.el --- AUCTeX style for `hologo.sty' (v1.10) -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2015--2022 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Arash Esbati <arash@gnu.org>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
;; Created: 2015-10-31
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for `hologo.sty' (v1.10) from 2012/04/26.
|
|
||||||
;; `hologo.sty' is part of TeXLive.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
|
|
||||||
;; Silence the compiler:
|
|
||||||
(declare-function font-latex-add-keywords
|
|
||||||
"font-latex"
|
|
||||||
(keywords class))
|
|
||||||
|
|
||||||
(defvar LaTeX-hologo-logo-names
|
|
||||||
'("(La)TeX"
|
|
||||||
"AmSLaTeX"
|
|
||||||
"AmSTeX"
|
|
||||||
"biber"
|
|
||||||
"BibTeX"
|
|
||||||
"BibTeX8"
|
|
||||||
"ConTeXt"
|
|
||||||
"emTeX"
|
|
||||||
"eTeX"
|
|
||||||
"ExTeX"
|
|
||||||
"HanTheThanh"
|
|
||||||
"iniTeX"
|
|
||||||
"KOMAScript"
|
|
||||||
"La"
|
|
||||||
"LaTeX"
|
|
||||||
"LaTeX2e"
|
|
||||||
"LaTeX3"
|
|
||||||
"LaTeXe"
|
|
||||||
"LaTeXML"
|
|
||||||
"LaTeXTeX"
|
|
||||||
"LuaLaTeX"
|
|
||||||
"LuaTeX"
|
|
||||||
"LyX"
|
|
||||||
"METAFONT"
|
|
||||||
"MetaFun"
|
|
||||||
"METAPOST"
|
|
||||||
"MetaPost"
|
|
||||||
"MiKTeX"
|
|
||||||
"NTS"
|
|
||||||
"OzMF"
|
|
||||||
"OzMP"
|
|
||||||
"OzTeX"
|
|
||||||
"OzTtH"
|
|
||||||
"PCTeX"
|
|
||||||
"pdfTeX"
|
|
||||||
"pdfLaTeX"
|
|
||||||
"PiC"
|
|
||||||
"PiCTeX"
|
|
||||||
"plainTeX"
|
|
||||||
"SageTeX"
|
|
||||||
"SLiTeX"
|
|
||||||
"SliTeX"
|
|
||||||
"teTeX"
|
|
||||||
"TeX"
|
|
||||||
"TeX4ht"
|
|
||||||
"TTH"
|
|
||||||
"virTeX"
|
|
||||||
"VTeX"
|
|
||||||
"Xe"
|
|
||||||
"XeLaTeX"
|
|
||||||
"XeTeX")
|
|
||||||
"List of logos provided by \"hologo.sty\".")
|
|
||||||
|
|
||||||
(defvar LaTeX-hologo-key-val-options-global
|
|
||||||
'(("break" ("true" "false"))
|
|
||||||
("hyphenbreak" ("true" "false"))
|
|
||||||
("spacebreak" ("true" "false"))
|
|
||||||
("discretionarybreak" ("true" "false")))
|
|
||||||
"Global key=value options for hologo macros.")
|
|
||||||
|
|
||||||
(defvar LaTeX-hologo-key-val-options-local
|
|
||||||
'(("variant" ("sf" "sc" ; BibTeX
|
|
||||||
"lift" ; SliTeX
|
|
||||||
"narrow" "simple" ; SliTeX, ConTeXt
|
|
||||||
"space" "hyphen" "runtogether"))) ; plainTeX
|
|
||||||
"Local key=value options for hologo macros.")
|
|
||||||
|
|
||||||
(defun LaTeX-hologo--arg-use-region-or-query-logo-name (optional)
|
|
||||||
(if (and (use-region-p)
|
|
||||||
(member (buffer-substring (region-beginning) (region-end))
|
|
||||||
LaTeX-hologo-logo-names))
|
|
||||||
(progn
|
|
||||||
(insert TeX-grop)
|
|
||||||
(goto-char (region-end))
|
|
||||||
(insert TeX-grcl))
|
|
||||||
(TeX-argument-insert
|
|
||||||
(completing-read "Logo name: " LaTeX-hologo-logo-names)
|
|
||||||
optional)))
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"hologo"
|
|
||||||
(lambda ()
|
|
||||||
(TeX-add-symbols
|
|
||||||
|
|
||||||
;; Insert logo macros
|
|
||||||
'("hologo" LaTeX-hologo--arg-use-region-or-query-logo-name)
|
|
||||||
'("Hologo" LaTeX-hologo--arg-use-region-or-query-logo-name)
|
|
||||||
|
|
||||||
;; Setup macros
|
|
||||||
'("hologoSetup" (TeX-arg-key-val LaTeX-hologo-key-val-options-global))
|
|
||||||
|
|
||||||
'("hologoLogoSetup"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let* ((logo (completing-read "Logo name: " LaTeX-hologo-logo-names))
|
|
||||||
(keyval (TeX-read-key-val
|
|
||||||
nil
|
|
||||||
(cond ((string= logo "BibTeX")
|
|
||||||
(append '(("variant" ("sf" "sc")))
|
|
||||||
LaTeX-hologo-key-val-options-global))
|
|
||||||
((string= logo "ConTeXt")
|
|
||||||
(append '(("variant" ("narrow" "simple")))
|
|
||||||
LaTeX-hologo-key-val-options-global))
|
|
||||||
((string= logo "plainTeX")
|
|
||||||
(append '(("variant" ("space" "hyphen" "runtogether")))
|
|
||||||
LaTeX-hologo-key-val-options-global))
|
|
||||||
((or (string= logo "SLiTeX")
|
|
||||||
(string= logo "SliTeX"))
|
|
||||||
(append '(("variant" ("lift" "narrow" "lift")))
|
|
||||||
LaTeX-hologo-key-val-options-global))
|
|
||||||
(t
|
|
||||||
LaTeX-hologo-key-val-options-global)))))
|
|
||||||
(TeX-argument-insert logo nil)
|
|
||||||
(format "%s" keyval)))))
|
|
||||||
|
|
||||||
'("hologoDriverSetup" (TeX-arg-eval completing-read
|
|
||||||
"Driver: "
|
|
||||||
'("pdftex" "luatex"
|
|
||||||
"dvipdfm" "dvipdfmx"
|
|
||||||
"dvips" "dvipsone" "xdvi"
|
|
||||||
"xetex" "vtex" "driverfallback")))
|
|
||||||
|
|
||||||
'("hologoFontSetup"
|
|
||||||
(TeX-arg-key-val (("general") ("bibsf")
|
|
||||||
("rm") ("sc") ("sf") ("sy") ("logo"))))
|
|
||||||
|
|
||||||
'("hologoLogoFontSetup"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let* ((logo (completing-read "Logo name: "
|
|
||||||
'("BibTeX"
|
|
||||||
"ExTeX"
|
|
||||||
"SliTeX"
|
|
||||||
"AmS"
|
|
||||||
"NTS"
|
|
||||||
"KOMAScript"
|
|
||||||
"METAFONT"
|
|
||||||
"METAPOST")))
|
|
||||||
(keyval (TeX-read-key-val
|
|
||||||
nil
|
|
||||||
(cond ((string= logo "BibTeX")
|
|
||||||
'(("bibsf") ("sc")))
|
|
||||||
((string= logo "ExTeX")
|
|
||||||
'(("rm") ("sy")))
|
|
||||||
((string= logo "SliTeX")
|
|
||||||
'(("rm") ("sc")))
|
|
||||||
((or (string= logo "AmS")
|
|
||||||
(string= logo "NTS"))
|
|
||||||
'(("sy")))
|
|
||||||
((string= logo "KOMAScript")
|
|
||||||
'(("sf")))
|
|
||||||
((or (string= logo "METAFONT")
|
|
||||||
(string= logo "METAPOST"))
|
|
||||||
'(("logo")))
|
|
||||||
(t
|
|
||||||
nil)))))
|
|
||||||
(TeX-argument-insert logo nil)
|
|
||||||
(format "%s" keyval)))))
|
|
||||||
|
|
||||||
;; Additional user macros
|
|
||||||
`("hologoVariant"
|
|
||||||
LaTeX-hologo--arg-use-region-or-query-logo-name
|
|
||||||
(TeX-arg-key-val ,(append LaTeX-hologo-key-val-options-local
|
|
||||||
LaTeX-hologo-key-val-options-global)))
|
|
||||||
|
|
||||||
`("HologoVariant"
|
|
||||||
LaTeX-hologo--arg-use-region-or-query-logo-name
|
|
||||||
(TeX-arg-key-val ,(append LaTeX-hologo-key-val-options-local
|
|
||||||
LaTeX-hologo-key-val-options-global)))
|
|
||||||
|
|
||||||
'("hologoList" 0)
|
|
||||||
|
|
||||||
'("hologoEntry" "Logo name" "Variant" "Since"))
|
|
||||||
|
|
||||||
;; Fontification
|
|
||||||
(when (and (featurep 'font-latex)
|
|
||||||
(eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
(font-latex-add-keywords '(("hologo" "{")
|
|
||||||
("Hologo" "{"))
|
|
||||||
'textual)
|
|
||||||
(font-latex-add-keywords '(("hologoSetup" "{")
|
|
||||||
("hologoLogoSetup" "{{")
|
|
||||||
("hologoDriverSetup" "{")
|
|
||||||
("hologoFontSetup" "{")
|
|
||||||
("hologoLogoFontSetup" "{{")
|
|
||||||
("hologoVariant" "{{")
|
|
||||||
("HologoVariant" "{{")
|
|
||||||
("hologoList" "")
|
|
||||||
("hologoEntry" "{{{"))
|
|
||||||
'function)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defvar LaTeX-hologo-package-options nil
|
|
||||||
"Package options for the hologo package.")
|
|
||||||
|
|
||||||
;;; hologo.el ends here
|
|
|
@ -1,180 +0,0 @@
|
||||||
;;; theorem.el --- AUCTeX style for `theorem.sty' (v2.2c) -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2015-2021 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Arash Esbati <arash@gnu.org>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
;; Created: 2015-10-31
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for `theorem.sty' (v2.2c) from 2014/10/28.
|
|
||||||
;; `theorem.sty' is a standard LaTeX package and part of TeXLive.
|
|
||||||
|
|
||||||
;; The style provides the function `LaTeX-theorem-env-label' which
|
|
||||||
;; enables new defined environments with "\newtheoreom" to interact
|
|
||||||
;; with AUCTeX and RefTeX mechanisms for inserting labels. Check
|
|
||||||
;; docstring of `LaTeX-theorem-env-label' for instructions.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'crm)
|
|
||||||
(require 'tex)
|
|
||||||
(require 'latex)
|
|
||||||
|
|
||||||
;; Silence the compiler:
|
|
||||||
(declare-function font-latex-add-keywords
|
|
||||||
"font-latex"
|
|
||||||
(keywords class))
|
|
||||||
|
|
||||||
(defvar LaTeX-theorem-theoremstyle-list
|
|
||||||
'(("plain") ("break") ("margin") ("change")
|
|
||||||
("marginbreak") ("changebreak"))
|
|
||||||
"List of theorem styles provided by `theorem.sty'.")
|
|
||||||
|
|
||||||
(defvar LaTeX-theorem-fontdecl
|
|
||||||
'(;; family
|
|
||||||
"rmfamily" "sffamily" "ttfamily"
|
|
||||||
;; series
|
|
||||||
"mdseries" "bfseries"
|
|
||||||
;; shape
|
|
||||||
"upshape" "itshape" "slshape" "scshape"
|
|
||||||
;; size
|
|
||||||
"tiny" "scriptsize" "footnotesize"
|
|
||||||
"small" "normalsize" "large"
|
|
||||||
"Large" "LARGE" "huge" "Huge"
|
|
||||||
;; reset macro
|
|
||||||
"normalfont")
|
|
||||||
"List of font declaration commands for \"\\theorem(body|header)font\".")
|
|
||||||
|
|
||||||
(defun LaTeX-arg-theorem-fontdecl (optional &optional prompt)
|
|
||||||
"Prompt for font declaration commands in \"\\theorem(body|header)font\".
|
|
||||||
If OPTIONAL is non-nil, insert the resulting value as an optional
|
|
||||||
argument. Use PROMPT as the prompt string."
|
|
||||||
;; `INITIAL-INPUT' (5th argument to `TeX-completing-read-multiple')
|
|
||||||
;; is hard-coded to `TeX-esc'.
|
|
||||||
(let* ((crm-separator (regexp-quote TeX-esc))
|
|
||||||
(fontdecl (mapconcat #'identity
|
|
||||||
(TeX-completing-read-multiple
|
|
||||||
(TeX-argument-prompt optional prompt "Font")
|
|
||||||
LaTeX-theorem-fontdecl nil nil TeX-esc)
|
|
||||||
TeX-esc)))
|
|
||||||
(TeX-argument-insert fontdecl optional)))
|
|
||||||
|
|
||||||
(defun LaTeX-theorem-env-label (environment)
|
|
||||||
"Insert ENVIRONMENT, query for an optional argument and prompt
|
|
||||||
for label. AUCTeX users should add ENVIRONMENT to
|
|
||||||
`LaTeX-label-alist' via customize or in init-file with:
|
|
||||||
|
|
||||||
(add-to-list \\='LaTeX-label-alist \\='(\"lemma\" . \"lem:\"))
|
|
||||||
|
|
||||||
RefTeX users should customize or add ENVIRONMENT to
|
|
||||||
`LaTeX-label-alist' and `reftex-label-alist', for example
|
|
||||||
|
|
||||||
(add-to-list \\='LaTeX-label-alist \\='(\"lemma\" . \"lem:\"))
|
|
||||||
(add-to-list \\='reftex-label-alist
|
|
||||||
\\='(\"lemma\" ?m \"lem:\" \"~\\ref{%s}\"
|
|
||||||
nil (\"Lemma\" \"lemma\") nil))"
|
|
||||||
(let ((opthead (TeX-read-string
|
|
||||||
(TeX-argument-prompt t nil "Heading"))))
|
|
||||||
(LaTeX-insert-environment environment
|
|
||||||
(when (and opthead
|
|
||||||
(not (string= opthead "")))
|
|
||||||
(format "[%s]" opthead))))
|
|
||||||
(when (LaTeX-label environment 'environment)
|
|
||||||
(LaTeX-newline)
|
|
||||||
(indent-according-to-mode)))
|
|
||||||
|
|
||||||
;; Setup parsing for \newtheorem
|
|
||||||
(TeX-auto-add-type "theorem-newtheorem" "LaTeX")
|
|
||||||
|
|
||||||
(defun LaTeX-theorem-auto-prepare ()
|
|
||||||
"Clear `LaTeX-auto-theorem-newtheorem' before parsing."
|
|
||||||
(setq LaTeX-auto-theorem-newtheorem nil))
|
|
||||||
|
|
||||||
(defun LaTeX-theorem-auto-cleanup ()
|
|
||||||
"Move parsed results from `LaTeX-auto-theorem-newtheorem' and
|
|
||||||
make them available as new environments."
|
|
||||||
(dolist (newthm (mapcar #'car (LaTeX-theorem-newtheorem-list)))
|
|
||||||
(LaTeX-add-environments (list newthm #'LaTeX-theorem-env-label))))
|
|
||||||
|
|
||||||
(add-hook 'TeX-auto-prepare-hook #'LaTeX-theorem-auto-prepare t)
|
|
||||||
(add-hook 'TeX-auto-cleanup-hook #'LaTeX-theorem-auto-cleanup t)
|
|
||||||
(add-hook 'TeX-update-style-hook #'TeX-auto-parse t)
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"theorem"
|
|
||||||
(lambda ()
|
|
||||||
|
|
||||||
(TeX-auto-add-regexp
|
|
||||||
`(,(concat "\\\\newtheorem{\\(" TeX-token-char "+\\)}")
|
|
||||||
1 LaTeX-auto-theorem-newtheorem))
|
|
||||||
|
|
||||||
(TeX-add-symbols
|
|
||||||
;; Overrule the defintion in `latex.el':
|
|
||||||
'("newtheorem"
|
|
||||||
(TeX-arg-eval
|
|
||||||
(lambda ()
|
|
||||||
(let ((nthm (TeX-read-string
|
|
||||||
(TeX-argument-prompt nil nil "Environment"))))
|
|
||||||
(LaTeX-add-theorem-newtheorems nthm)
|
|
||||||
(LaTeX-add-environments (list nthm #'LaTeX-theorem-env-label))
|
|
||||||
(format "%s" nthm))))
|
|
||||||
[ TeX-arg-environment "Numbered like" ]
|
|
||||||
t [ (TeX-arg-eval progn (if (eq (save-excursion
|
|
||||||
(backward-char 2)
|
|
||||||
(preceding-char)) ?\])
|
|
||||||
()
|
|
||||||
(TeX-arg-counter t "Within counter"))
|
|
||||||
"") ])
|
|
||||||
|
|
||||||
'("theoremstyle"
|
|
||||||
(TeX-arg-eval completing-read
|
|
||||||
"Style: "
|
|
||||||
LaTeX-theorem-theoremstyle-list))
|
|
||||||
|
|
||||||
'("theorembodyfont"
|
|
||||||
(LaTeX-arg-theorem-fontdecl "Body font"))
|
|
||||||
|
|
||||||
'("theoremheaderfont"
|
|
||||||
(LaTeX-arg-theorem-fontdecl "Header font"))
|
|
||||||
|
|
||||||
'("theorempreskipamount"
|
|
||||||
(TeX-arg-length "Skip before theorem"))
|
|
||||||
|
|
||||||
'("theorempostskipamount"
|
|
||||||
(TeX-arg-length "Skip after theorem")))
|
|
||||||
|
|
||||||
;; Fontification
|
|
||||||
(when (and (featurep 'font-latex)
|
|
||||||
(eq TeX-install-font-lock 'font-latex-setup))
|
|
||||||
(font-latex-add-keywords '(("theoremstyle" "{")
|
|
||||||
("theorembodyfont" "{")
|
|
||||||
("theoremheaderfont" "{")
|
|
||||||
("theorempreskipamount" "{")
|
|
||||||
("theorempostskipamount" "{"))
|
|
||||||
'function)))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defvar LaTeX-theorem-package-options nil
|
|
||||||
"Package options for the theorem package.")
|
|
||||||
|
|
||||||
;;; theorem.el ends here
|
|
|
@ -1,121 +0,0 @@
|
||||||
;;; wrapfig.el --- AUCTeX style for `wrapfig.sty' version v3.6 -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; Copyright (C) 2014, 2015 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
;; Author: Arash Esbati <arash@gnu.org>
|
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
|
||||||
;; Created: 2014-12-13
|
|
||||||
;; Keywords: tex
|
|
||||||
|
|
||||||
;; This file is part of AUCTeX.
|
|
||||||
|
|
||||||
;; AUCTeX is free software; you can redistribute it and/or modify it
|
|
||||||
;; under the terms of the GNU General Public License as published by
|
|
||||||
;; the Free Software Foundation; either version 3, or (at your option)
|
|
||||||
;; any later version.
|
|
||||||
|
|
||||||
;; AUCTeX is distributed in the hope that it will be useful, but
|
|
||||||
;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
;; General Public License for more details.
|
|
||||||
|
|
||||||
;; You should have received a copy of the GNU General Public License
|
|
||||||
;; along with AUCTeX; see the file COPYING. If not, write to the Free
|
|
||||||
;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
|
||||||
;; 02110-1301, USA.
|
|
||||||
|
|
||||||
;;; Commentary:
|
|
||||||
|
|
||||||
;; This file adds support for `wrapfig.sty' version v3.6 from
|
|
||||||
;; 2003/01/31. `wrapfig.sty' is part of TeXLive.
|
|
||||||
|
|
||||||
;;; Code:
|
|
||||||
|
|
||||||
(require 'tex)
|
|
||||||
(require 'latex)
|
|
||||||
|
|
||||||
(TeX-add-style-hook
|
|
||||||
"wrapfig"
|
|
||||||
(lambda ()
|
|
||||||
(LaTeX-add-environments
|
|
||||||
;; \begin{wrapfigure}[No.lines]{Placement}[Overhang]{Width} ... \end{wrapfigure}
|
|
||||||
'("wrapfigure"
|
|
||||||
(lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env
|
|
||||||
(let ((narrow (TeX-read-string "(Optional) Number of narrow lines: "))
|
|
||||||
(placement (completing-read
|
|
||||||
"Placement: " '(("r") ("R")
|
|
||||||
("l") ("L")
|
|
||||||
("i") ("I")
|
|
||||||
("o") ("O"))))
|
|
||||||
(overhang (TeX-read-string "(Optional) Overhang: "))
|
|
||||||
(width (TeX-read-string "Width: ")))
|
|
||||||
(concat
|
|
||||||
(unless (string= narrow "")
|
|
||||||
(format "[%s]" narrow))
|
|
||||||
(format "{%s}" placement)
|
|
||||||
(unless (string= overhang "")
|
|
||||||
(format "[%s]" overhang))
|
|
||||||
(format "{%s}" width))))))
|
|
||||||
;;
|
|
||||||
;; \begin{wraptable}[No.lines]{Placement}[Overhang]{Width} ... \end{wraptable}
|
|
||||||
'("wraptable"
|
|
||||||
(lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env
|
|
||||||
(let ((narrow (TeX-read-string "(Optional) Number of narrow lines: "))
|
|
||||||
(placement (completing-read
|
|
||||||
"Placement: " '(("r") ("R")
|
|
||||||
("l") ("L")
|
|
||||||
("i") ("I")
|
|
||||||
("o") ("O"))))
|
|
||||||
(overhang (TeX-read-string "(Optional) Overhang: "))
|
|
||||||
(width (TeX-read-string "Width: ")))
|
|
||||||
(concat
|
|
||||||
(unless (string= narrow "")
|
|
||||||
(format "[%s]" narrow))
|
|
||||||
(format "{%s}" placement)
|
|
||||||
(unless (string= overhang "")
|
|
||||||
(format "[%s]" overhang))
|
|
||||||
(format "{%s}" width))))))
|
|
||||||
;;
|
|
||||||
;; \begin{wrapfloat}{<Type>}[No.lines]{Placement}[Overhang]{Width} ... \end{wrapfloat}
|
|
||||||
;;
|
|
||||||
;; <Type> can be a new floating environment defined with
|
|
||||||
;; "\DeclareFloatingEnvironment" from newfloat.el. We check if
|
|
||||||
;; the function `LaTeX-newfloat-DeclareFloatingEnvironment-list'
|
|
||||||
;; is bound and returns non-nil before offering environment for
|
|
||||||
;; completion. Otherwise, just ask user without completion.
|
|
||||||
'("wrapfloat"
|
|
||||||
(lambda (env &rest ignore)
|
|
||||||
(LaTeX-insert-environment
|
|
||||||
env
|
|
||||||
(let ((floattype (if (and (fboundp 'LaTeX-newfloat-DeclareFloatingEnvironment-list)
|
|
||||||
(LaTeX-newfloat-DeclareFloatingEnvironment-list))
|
|
||||||
(completing-read
|
|
||||||
"Float type: "
|
|
||||||
(mapcar #'car (LaTeX-newfloat-DeclareFloatingEnvironment-list)))
|
|
||||||
(TeX-read-string "Float type: ")))
|
|
||||||
(narrow (TeX-read-string "(Optional) Number of narrow lines: "))
|
|
||||||
(placement (completing-read
|
|
||||||
"Placement: " '(("r") ("R")
|
|
||||||
("l") ("L")
|
|
||||||
("i") ("I")
|
|
||||||
("o") ("O"))))
|
|
||||||
(overhang (TeX-read-string "(Optional) Overhang: "))
|
|
||||||
(width (TeX-read-string "Width: ")))
|
|
||||||
(concat
|
|
||||||
(format "{%s}" floattype)
|
|
||||||
(unless (string= narrow "")
|
|
||||||
(format "[%s]" narrow))
|
|
||||||
(format "{%s}" placement)
|
|
||||||
(unless (string= overhang "")
|
|
||||||
(format "[%s]" overhang))
|
|
||||||
(format "{%s}" width))))))))
|
|
||||||
TeX-dialect)
|
|
||||||
|
|
||||||
(defvar LaTeX-wrapfig-package-options '("verbose")
|
|
||||||
"Package options for the wrapfig package.")
|
|
||||||
|
|
||||||
;;; wrapfig.el ends here
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2023-04-23 Mosè Giordano <mose@gnu.org>
|
||||||
|
|
||||||
|
* Version 13.2 released.
|
||||||
|
|
||||||
2022-02-20 Mosè Giordano <mose@gnu.org>
|
2022-02-20 Mosè Giordano <mose@gnu.org>
|
||||||
|
|
||||||
* Version 13.1 released.
|
* Version 13.1 released.
|
File diff suppressed because it is too large
Load diff
|
@ -34,18 +34,18 @@ several files.
|
||||||
|
|
||||||
One component of AUCTeX that LaTeX users will find attractive is
|
One component of AUCTeX that LaTeX users will find attractive is
|
||||||
preview-latex, a combination of folding and in-source previewing that
|
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
|
sourcebuffer, while letting you retain full control. For more
|
||||||
information, see further below.
|
information, see further below.
|
||||||
|
|
||||||
More detailed information about the features and usage of AUCTeX can be
|
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
|
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
|
typing ‘C-h i d m auctex <RET>’. If you prefer the standalone info
|
||||||
reader, issue the command 'info auctex' in a terminal.
|
reader, issue the command ‘info auctex’ in a terminal.
|
||||||
|
|
||||||
AUCTeX is written entirely in Emacs Lisp, and hence you can easily add
|
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
|
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
|
The most recent version is always available at
|
||||||
<https://ftp.gnu.org/pub/gnu/auctex/>.
|
<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/>.
|
<https://www.gnu.org/software/auctex/>.
|
||||||
|
|
||||||
For comprehensive information about how to install AUCTeX read the file
|
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
|
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
|
If you want to discuss AUCTeX with other users or its developers, there
|
||||||
are several mailing lists you can use.
|
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
|
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
|
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
|
<info-auctex@gnu.org> list for just getting important announcements
|
||||||
about AUCTeX. The list <bug-auctex@gnu.org> is for bug reports which
|
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
|
command. If you want to address the developers of AUCTeX themselves
|
||||||
with technical issues, they can be found on the discussion list
|
with technical issues, they can be found on the discussion list
|
||||||
<auctex-devel@gnu.org>.
|
<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
|
WYSIWYG (what you see is what you get) sometimes is considered all the
|
||||||
rage, sometimes frowned upon. Do we really want it? Wrong question.
|
rage, sometimes frowned upon. Do we really want it? Wrong question.
|
||||||
The right question is _what_ we want from it. Except when finetuning
|
The right question is _what_ we want from it. Except when finetuning
|
||||||
the layout, we don't 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
|
editing. The low resolution and contrast of a computer screen render
|
||||||
all but the coarsest printer fonts (those for low-quality newsprint)
|
all but the coarsest printer fonts (those for low-quality newsprint)
|
||||||
unappealing, and the margins and pagination of the print are not wanted
|
unappealing, and the margins and pagination of the print are not wanted
|
||||||
on the screen, either. On the other hand, more complex visual
|
on the screen, either. On the other hand, more complex visual
|
||||||
compositions like math formulas and tables can't 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
|
seen only in the source. preview-latex strikes a balance: it only uses
|
||||||
graphic renditions of the output for certain, configurable constructs,
|
graphic renditions of the output for certain, configurable constructs,
|
||||||
does this only when told, and then right in the source code. Switching
|
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
|
back and forth between the source and preview is easy and natural and
|
||||||
can be done for each image independently. Behind the scenes of
|
can be done for each image independently. Behind the scenes of
|
||||||
preview-latex, a sophisticated framework of other programs like
|
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
|
LaTeX style file for extracting the material of interest in the
|
||||||
background and providing fast interactive response.
|
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)
|
(load "preview-latex.el" nil t t)
|
||||||
|
|
||||||
If you still don't get a "Preview" menu in LaTeX mode in spite of AUCTeX
|
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
|
showing its “Command”, your installation is broken. One possible cause
|
||||||
are duplicate Lisp files that might be detectable with 'M-x
|
are duplicate Lisp files that might be detectable with ‘M-x
|
||||||
list-load-path-shadows <RET>'.
|
list-load-path-shadows <RET>’.
|
||||||
|
|
||||||
3 Getting started
|
3 Getting started
|
||||||
*****************
|
*****************
|
||||||
|
|
||||||
Once activated, preview-latex and its documentation will be accessible
|
Once activated, preview-latex and its documentation will be accessible
|
||||||
via its menus (note that preview-latex requires AUCTeX to be loaded).
|
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
|
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
|
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
|
‘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
|
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. You'll 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
|
the previewed objects change into a roadworks sign when preview-latex
|
||||||
has determined just what it is going to preview. Note that you can
|
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
|
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
|
original text and the buffer locations gets established. If the buffer
|
||||||
changes before that point of time, the previews will not be placed where
|
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
|
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
|
spotted, we recommend you stop the background process by pressing ‘C-c
|
||||||
C-k'.
|
C-k’.
|
||||||
|
|
||||||
To see/edit the LaTeX code for a specific object, put the point (the
|
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
|
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
|
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
|
C-p’ (or by clicking with the middle mouse button on the icon before the
|
||||||
edited text).
|
edited text).
|
||||||
|
|
||||||
If you are using the 'desktop' package, previews will remain from one
|
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.
|
session to the next as long as you don’t kill your buffer.
|
||||||
|
|
||||||
4 Basic modes of operation
|
4 Basic modes of operation
|
||||||
**************************
|
**************************
|
||||||
|
|
||||||
preview-latex has a number of methods for generating its graphics. Its
|
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
|
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
|
(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,
|
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>
|
M-x customize-option <RET> preview-image-type <RET>
|
||||||
|
|
||||||
The default is 'png' (the most efficient image type). A special setting
|
The default is ‘png’ (the most efficient image type). A special setting
|
||||||
is 'dvipng' in case you have the 'dvipng' program installed. In this
|
is ‘dvipng’ in case you have the ‘dvipng’ program installed. In this
|
||||||
case, 'dvipng' will be used for converting DVI files and Ghostscript
|
case, ‘dvipng’ will be used for converting DVI files and Ghostscript
|
||||||
(with a 'PNG' device) for converting PDF files. 'dvipng' is much faster
|
(with a ‘PNG’ device) for converting PDF files. ‘dvipng’ is much faster
|
||||||
than the combination of Dvips and Ghostscript. You can get downloads,
|
than the combination of Dvips and Ghostscript. You can get downloads,
|
||||||
access to its CVS archive and further information from its project site
|
access to its CVS archive and further information from its project site
|
||||||
(https://savannah.nongnu.org/projects/dvipng).
|
(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
|
info preview-latex
|
||||||
|
|
||||||
or by pressing 'C-h i d m preview-latex <RET>' in Emacs. Once
|
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
|
preview-latex is activated, you can instead use ‘C-c C-p <TAB>’ (or the
|
||||||
menu entry 'Preview/Read documentation').
|
menu entry ‘Preview/Read documentation’).
|
||||||
|
|
||||||
Depending on your installation, a printable manual may also be available
|
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
|
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,
|
installation; on typical TeX Live-based systems,
|
||||||
|
|
||||||
texdoc preview
|
texdoc preview
|
||||||
|
@ -218,7 +218,7 @@ interface.
|
||||||
7 Contacts
|
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
|
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
|
installation fails (but this should be a rare event), report bugs to
|
||||||
<bug-auctex@gnu.org>.
|
<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
|
There is a general discussion list for AUCTeX which also covers
|
||||||
preview-latex, look at <https://lists.gnu.org/mailman/listinfo/auctex>.
|
preview-latex, look at <https://lists.gnu.org/mailman/listinfo/auctex>.
|
||||||
For more information on the mailing list, send a message with just the
|
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
|
developers, there is the <auctex-devel@gnu.org> list; it would probably
|
||||||
make sense to direct feature requests and questions about internal
|
make sense to direct feature requests and questions about internal
|
||||||
details there. There is a low-volume read-only announcement list
|
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>.
|
in the subject to <info-auctex-request@gnu.org>.
|
||||||
|
|
||||||
Offers to support further development will be appreciated. If you want
|
Offers to support further development will be appreciated. If you want
|
||||||
to show your appreciation with a donation to the main developer, you can
|
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
|
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.
|
list for suggestions in that area.
|
171
code/elpa/auctex-13.2.1/RELEASE
Normal file
171
code/elpa/auctex-13.2.1/RELEASE
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
Release notes for AUCTeX 13.2 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
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
AUCTeX no longer refuses to insert dollar sign when you type ‘$’ 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 ‘TeX-refuse-unmatched-dollar’.
|
||||||
|
|
||||||
|
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 ‘TeX-symbol-list’ and ‘LaTeX-environment-list’.
|
||||||
|
|
||||||
|
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’. See the
|
||||||
|
section for 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’.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
|
||||||
|
It is required that you use at least GNU Emacs 26.1.
|
||||||
|
|
||||||
|
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.
|
|
@ -20,7 +20,7 @@ runs `bib-find', and [mouse-3] runs `bib-display'.
|
||||||
(autoload 'turn-on-bib-cite "bib-cite" "\
|
(autoload 'turn-on-bib-cite "bib-cite" "\
|
||||||
Unconditionally turn on Bib Cite mode." nil nil)
|
Unconditionally turn on Bib Cite mode." nil nil)
|
||||||
|
|
||||||
(register-definition-prefixes "bib-cite" '("LaTeX-" "bib-" "create-alist-from-list" "member-cis" "psg-" "search-directory-tree"))
|
(register-definition-prefixes "bib-cite" '("LaTeX-find-label-hist-alist" "bib-" "create-alist-from-list" "member-cis" "psg-" "search-directory-tree"))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
|
@ -146,9 +146,13 @@ are the arguments to `completing-read'. See that.
|
||||||
(autoload 'multi-prompt-key-value "multi-prompt" "\
|
(autoload 'multi-prompt-key-value "multi-prompt" "\
|
||||||
Read multiple strings, with completion and key=value support.
|
Read multiple strings, with completion and key=value support.
|
||||||
PROMPT is a string to prompt with, usually ending with a colon
|
PROMPT is a string to prompt with, usually ending with a colon
|
||||||
and a space. TABLE is an alist. The car of each element should
|
and a space.
|
||||||
be a string representing a key and the optional cdr should be a
|
|
||||||
list with strings to be used as values for the key.
|
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.
|
||||||
|
|
||||||
See the documentation for `completing-read' for details on the
|
See the documentation for `completing-read' for details on the
|
||||||
other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST,
|
other arguments: PREDICATE, REQUIRE-MATCH, INITIAL-INPUT, HIST,
|
||||||
|
@ -348,14 +352,14 @@ Set `japanese-TeX-mode' to t, and enter `TeX-latex-mode'." t nil)
|
||||||
;;; Generated autoloads from tex-site.el
|
;;; Generated autoloads from tex-site.el
|
||||||
(require 'tex-site)
|
(require 'tex-site)
|
||||||
|
|
||||||
(register-definition-prefixes "tex-site" '("AUCTeX-" "TeX-" "preview-TeX-style-dir"))
|
(register-definition-prefixes "tex-site" '("AUCTeX-" "TeX-" "preview-TeX-style-dir" "tex-site-unload-function"))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
||||||
;;;### (autoloads nil "tex-style" "tex-style.el" (0 0 0 0))
|
;;;### (autoloads nil "tex-style" "tex-style.el" (0 0 0 0))
|
||||||
;;; Generated autoloads from tex-style.el
|
;;; Generated autoloads from tex-style.el
|
||||||
|
|
||||||
(register-definition-prefixes "tex-style" '("LaTeX-"))
|
(register-definition-prefixes "tex-style" '("LaTeX-" "TeX-TikZ-point-name-regexp"))
|
||||||
|
|
||||||
;;;***
|
;;;***
|
||||||
|
|
2
code/elpa/auctex-13.2.1/auctex-pkg.el
Normal file
2
code/elpa/auctex-13.2.1/auctex-pkg.el
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
;; Generated package description from auctex.el -*- no-byte-compile: t -*-
|
||||||
|
(define-package "auctex" "13.2.1" "Integrated environment for *TeX*" '((emacs "25.1")) :commit "1c3360b1621a524e14fa0067dc7e138630c2267f" :maintainer '(nil . "auctex-devel@gnu.org") :keywords '("tex" "latex" "texinfo" "context" "doctex" "preview-latex") :url "https://www.gnu.org/software/auctex/")
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
;; Copyright (C) 2014-2021 Free Software Foundation, Inc.
|
;; Copyright (C) 2014-2021 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Version: 13.1.5
|
;; Version: 13.2.1
|
||||||
;; URL: https://www.gnu.org/software/auctex/
|
;; URL: https://www.gnu.org/software/auctex/
|
||||||
;; Maintainer: auctex-devel@gnu.org
|
;; Maintainer: auctex-devel@gnu.org
|
||||||
;; Notifications-To: auctex-diffs@gnu.org
|
;; Notifications-To: auctex-diffs@gnu.org
|
File diff suppressed because it is too large
Load diff
|
@ -1570,8 +1570,6 @@ Does not save excursion."
|
||||||
"Sorry, could not find an environment or section declaration")))))
|
"Sorry, could not find an environment or section declaration")))))
|
||||||
|
|
||||||
(defvar LaTeX-find-label-hist-alist nil "History list for LaTeX-find-label.")
|
(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)
|
(defun create-alist-from-list (the-list)
|
||||||
"Return a single list from a THE-LIST that may contain either items or lists.
|
"Return a single list from a THE-LIST that may contain either items or lists.
|
|
@ -1,7 +1,7 @@
|
||||||
;;; context-en.el --- Support for the ConTeXt english interface. -*- lexical-binding: t; -*-
|
;;; context-en.el --- Support for the ConTeXt english interface. -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; Copyright (C) 2003-2004, 2006, 2008
|
;; Copyright (C) 2003-2004, 2006, 2008
|
||||||
;; 2010, 2014, 2020, 2021 Free Software Foundation, Inc.
|
;; 2010, 2014, 2020-2023 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Maintainer: Berend de Boer <berend@pobox.com>
|
;; Maintainer: Berend de Boer <berend@pobox.com>
|
||||||
;; Keywords: tex
|
;; Keywords: tex
|
||||||
|
@ -188,6 +188,8 @@ That is, besides the section(-block) commands.")
|
||||||
|
|
||||||
(defun ConTeXt-en-mode-initialization ()
|
(defun ConTeXt-en-mode-initialization ()
|
||||||
"ConTeXt english interface specific 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))
|
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-en))
|
||||||
|
|
||||||
(TeX-add-symbols
|
(TeX-add-symbols
|
|
@ -1,7 +1,7 @@
|
||||||
;;; context-nl.el --- Support for the ConTeXt dutch interface. -*- lexical-binding: t; -*-
|
;;; context-nl.el --- Support for the ConTeXt dutch interface. -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; Copyright (C) 2003, 2004, 2006, 2010,
|
;; Copyright (C) 2003, 2004, 2006, 2010,
|
||||||
;; 2015, 2020, 2021 Free Software Foundation, Inc.
|
;; 2015, 2020-2023 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Maintainer: Berend de Boer <berend@pobox.com>
|
;; Maintainer: Berend de Boer <berend@pobox.com>
|
||||||
;; Keywords: tex
|
;; Keywords: tex
|
||||||
|
@ -163,6 +163,8 @@ That is, besides the section(-block) commands.")
|
||||||
|
|
||||||
(defun ConTeXt-nl-mode-initialization ()
|
(defun ConTeXt-nl-mode-initialization ()
|
||||||
"ConTeXt dutch interface specific 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))
|
(mapc #'ConTeXt-add-environments (reverse ConTeXt-environment-list-nl))
|
||||||
|
|
||||||
(TeX-add-symbols
|
(TeX-add-symbols
|
|
@ -1,6 +1,6 @@
|
||||||
;;; context.el --- Support for ConTeXt documents. -*- lexical-binding: t; -*-
|
;;; context.el --- Support for ConTeXt documents. -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; Copyright (C) 2003-2022 Free Software Foundation, Inc.
|
;; Copyright (C) 2003-2023 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Maintainer: Berend de Boer <berend@pobox.com>
|
;; Maintainer: Berend de Boer <berend@pobox.com>
|
||||||
;; Keywords: tex
|
;; Keywords: tex
|
||||||
|
@ -309,13 +309,20 @@ The following variables can be set to customize:
|
||||||
|
|
||||||
;; LaTeX has a max function here, which makes no sense.
|
;; LaTeX has a max function here, which makes no sense.
|
||||||
;; I think you want to insert a section that is max ConTeXt-largest-level
|
;; 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 ()
|
(defun ConTeXt-current-section ()
|
||||||
"Return the level of the section that contain point.
|
"Return the level of the section that contain point.
|
||||||
See also `ConTeXt-section' for description of levels."
|
See also `ConTeXt-section' for description of levels."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(min (ConTeXt-largest-level)
|
(max (ConTeXt-largest-level)
|
||||||
(if (re-search-backward outline-regexp nil t)
|
(if (re-search-backward outline-regexp nil t)
|
||||||
(+ 1 (- (ConTeXt-outline-level) (ConTeXt-outline-offset)))
|
(- (ConTeXt-outline-level) (ConTeXt-outline-offset))
|
||||||
(ConTeXt-largest-level)))))
|
(ConTeXt-largest-level)))))
|
||||||
|
|
||||||
(defun ConTeXt-down-section ()
|
(defun ConTeXt-down-section ()
|
||||||
|
@ -363,35 +370,19 @@ section."
|
||||||
|
|
||||||
(defun ConTeXt-numbered-section-name (level)
|
(defun ConTeXt-numbered-section-name (level)
|
||||||
"Return the name of the section corresponding to LEVEL."
|
"Return the name of the section corresponding to LEVEL."
|
||||||
(let ((entry (TeX-member level ConTeXt-numbered-section-list
|
(car (rassoc (list 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)
|
(defun ConTeXt-unnumbered-section-name (level)
|
||||||
"Return the name of the section corresponding to LEVEL."
|
"Return the name of the section corresponding to LEVEL."
|
||||||
(let ((entry (TeX-member level ConTeXt-unnumbered-section-list
|
(car (rassoc (list 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)
|
(defun ConTeXt-numbered-section-level (name)
|
||||||
"Return the level of the section NAME."
|
"Return the level of the section NAME."
|
||||||
(let ((entry (TeX-member name ConTeXt-numbered-section-list
|
(cadr (assoc 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)
|
(defun ConTeXt-unnumbered-section-level (name)
|
||||||
"Return the level of the section NAME."
|
"Return the level of the section NAME."
|
||||||
(let ((entry (TeX-member name ConTeXt-unnumbered-section-list
|
(cadr (assoc name ConTeXt-unnumbered-section-list)))
|
||||||
(function (lambda (a b) (equal a (nth 0 b)))))))
|
|
||||||
(if entry
|
|
||||||
(nth 1 entry)
|
|
||||||
nil)))
|
|
||||||
|
|
||||||
|
|
||||||
;;; Section Hooks.
|
;;; Section Hooks.
|
||||||
|
@ -411,32 +402,34 @@ The following variables are set before the hooks are run
|
||||||
`ConTeXt-level'.
|
`ConTeXt-level'.
|
||||||
`ConTeXt-title' - The title of the section, default to an empty
|
`ConTeXt-title' - The title of the section, default to an empty
|
||||||
string.
|
string.
|
||||||
|
`ConTeXt-reference' - Comma separated list of reference.
|
||||||
`ConTeXt-done-mark' - Position of point afterwards, default nil
|
`ConTeXt-done-mark' - Position of point afterwards, default nil
|
||||||
(meaning end).
|
(meaning end).
|
||||||
|
|
||||||
The following standard hooks exist -
|
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
|
of the sectioning command. Modifies `ConTeXt-level' and
|
||||||
`ConTeXt-name'.
|
`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'.
|
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
|
to `ConTeXt-name', `ConTeXt-title', and `ConTeXt-reference'. If
|
||||||
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
|
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
|
||||||
placed at the point they should be inserted.
|
placed at the point they should be inserted.
|
||||||
|
|
||||||
ConTeXt-section-ref: Insert a reference for this section command.
|
`ConTeXt-section-ref': Query the user about a reference for this
|
||||||
|
section command. Modifies `ConTeXt-reference'.
|
||||||
|
|
||||||
To get a full featured `ConTeXt-section' command, insert
|
To get a full featured `ConTeXt-section' command, insert
|
||||||
|
|
||||||
(setq ConTeXt-numbered-section-hook
|
(setq ConTeXt-numbered-section-hook
|
||||||
\\='(ConTeXt-numbered-section-heading
|
\\='(ConTeXt-numbered-section-heading
|
||||||
ConTeXt-section-title
|
ConTeXt-section-title
|
||||||
ConTeXt-section-section
|
ConTeXt-section-ref
|
||||||
ConTeXt-section-ref))
|
ConTeXt-section-section))
|
||||||
|
|
||||||
in your init file such as .emacs.d/init.el or .emacs."
|
in your init file such as .emacs.d/init.el or .emacs."
|
||||||
:group 'ConTeXt-macro
|
:group 'ConTeXt-macro
|
||||||
|
@ -463,32 +456,34 @@ The following variables are set before the hooks are run
|
||||||
`ConTeXt-level'.
|
`ConTeXt-level'.
|
||||||
`ConTeXt-title' - The title of the section, default to an empty
|
`ConTeXt-title' - The title of the section, default to an empty
|
||||||
string.
|
string.
|
||||||
|
`ConTeXt-reference' - Comma separated list of reference.
|
||||||
`ConTeXt-done-mark' - Position of point afterwards, default nil
|
`ConTeXt-done-mark' - Position of point afterwards, default nil
|
||||||
(meaning end).
|
(meaning end).
|
||||||
|
|
||||||
The following standard hooks exist -
|
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
|
of the sectioning command. Modifies `ConTeXt-level' and
|
||||||
`ConTeXt-name'.
|
`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'.
|
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
|
to `ConTeXt-name', `ConTeXt-title', and `ConTeXt-reference'. If
|
||||||
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
|
`ConTeXt-title' is an empty string, `ConTeXt-done-mark' will be
|
||||||
placed at the point they should be inserted.
|
placed at the point they should be inserted.
|
||||||
|
|
||||||
ConTeXt-section-ref: Insert a reference for this section command.
|
`ConTeXt-section-ref': Query the user about a reference for this
|
||||||
|
section command. Modifies `ConTeXt-reference'.
|
||||||
|
|
||||||
To get a full featured `ConTeXt-section' command, insert
|
To get a full featured `ConTeXt-section' command, insert
|
||||||
|
|
||||||
(setq ConTeXt-unnumbered-section-hook
|
(setq ConTeXt-unnumbered-section-hook
|
||||||
\\='(ConTeXt-unnumbered-section-heading
|
\\='(ConTeXt-unnumbered-section-heading
|
||||||
ConTeXt-section-title
|
ConTeXt-section-title
|
||||||
ConTeXt-section-section
|
ConTeXt-section-ref
|
||||||
ConTeXt-section-ref))
|
ConTeXt-section-section))
|
||||||
|
|
||||||
in your init file such as .emacs.d/init.el or .emacs."
|
in your init file such as .emacs.d/init.el or .emacs."
|
||||||
:group 'ConTeXt-macro
|
:group 'ConTeXt-macro
|
||||||
|
@ -561,7 +556,7 @@ assumes the section already is inserted."
|
||||||
(newline)
|
(newline)
|
||||||
;; If RefTeX is available, tell it that we've just made a new section
|
;; If RefTeX is available, tell it that we've just made a new section
|
||||||
(and (fboundp 'reftex-notice-new-section)
|
(and (fboundp 'reftex-notice-new-section)
|
||||||
(funcall (symbol-function 'reftex-notice-new-section))))
|
(reftex-notice-new-section)))
|
||||||
|
|
||||||
(defun ConTeXt-section-ref ()
|
(defun ConTeXt-section-ref ()
|
||||||
"Hook to insert a reference after the sectioning command.
|
"Hook to insert a reference after the sectioning command.
|
||||||
|
@ -680,14 +675,14 @@ With optional ARG, modify current environment."
|
||||||
(t ConTeXt-default-environment)))
|
(t ConTeXt-default-environment)))
|
||||||
(environment
|
(environment
|
||||||
(completing-read (concat "Environment type (default " default "): ")
|
(completing-read (concat "Environment type (default " default "): ")
|
||||||
ConTeXt-environment-list nil nil nil
|
(ConTeXt-environment-list) nil nil nil
|
||||||
'ConTeXt-environment-history default)))
|
'ConTeXt-environment-history default)))
|
||||||
;; Use `environment' as default for the next time only if it is different
|
;; Use `environment' as default for the next time only if it is different
|
||||||
;; from the current default.
|
;; from the current default.
|
||||||
(unless (equal environment default)
|
(unless (equal environment default)
|
||||||
(setq ConTeXt-default-environment environment))
|
(setq ConTeXt-default-environment environment))
|
||||||
|
|
||||||
(let ((entry (assoc environment ConTeXt-environment-list)))
|
(let ((entry (assoc environment (ConTeXt-environment-list))))
|
||||||
(if (null entry)
|
(if (null entry)
|
||||||
(ConTeXt-add-environments (list environment)))
|
(ConTeXt-add-environments (list environment)))
|
||||||
|
|
||||||
|
@ -717,7 +712,7 @@ With optional ARG, modify current environment."
|
||||||
|
|
||||||
(defun ConTeXt-environment-menu (environment)
|
(defun ConTeXt-environment-menu (environment)
|
||||||
"Insert ENVIRONMENT around point or region."
|
"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)))
|
(cond ((not (and entry (nth 1 entry)))
|
||||||
(ConTeXt-insert-environment environment))
|
(ConTeXt-insert-environment environment))
|
||||||
((numberp (nth 1 entry))
|
((numberp (nth 1 entry))
|
||||||
|
@ -727,16 +722,19 @@ With optional ARG, modify current environment."
|
||||||
(setq args (concat args TeX-grop TeX-grcl))
|
(setq args (concat args TeX-grop TeX-grcl))
|
||||||
(setq count (- count 1)))
|
(setq count (- count 1)))
|
||||||
(ConTeXt-insert-environment environment args)))
|
(ConTeXt-insert-environment environment args)))
|
||||||
((stringp (nth 1 entry))
|
((or (stringp (nth 1 entry)) (vectorp (nth 1 entry)))
|
||||||
(let ((prompts (cdr entry))
|
(let ((prompts (cdr entry))
|
||||||
(args ""))
|
(args ""))
|
||||||
(while prompts
|
(dolist (elt prompts)
|
||||||
|
(let* ((optional (vectorp elt))
|
||||||
|
(elt (if optional (elt elt 0) elt))
|
||||||
|
(arg (TeX-read-string
|
||||||
|
(TeX-argument-prompt optional elt nil))))
|
||||||
(setq args (concat args
|
(setq args (concat args
|
||||||
TeX-grop
|
(cond ((and optional (> (length arg) 0))
|
||||||
(read-from-minibuffer
|
(concat ConTeXt-optop arg ConTeXt-optcl))
|
||||||
(concat (car prompts) ": "))
|
((not optional)
|
||||||
TeX-grcl))
|
(concat TeX-grop arg TeX-grcl)))))))
|
||||||
(setq prompts (cdr prompts)))
|
|
||||||
(ConTeXt-insert-environment environment args)))
|
(ConTeXt-insert-environment environment args)))
|
||||||
(t
|
(t
|
||||||
(apply (nth 1 entry) environment (nthcdr 2 entry))))))
|
(apply (nth 1 entry) environment (nthcdr 2 entry))))))
|
||||||
|
@ -756,40 +754,151 @@ With optional ARG, modify current environment."
|
||||||
(end-of-line)
|
(end-of-line)
|
||||||
(newline))
|
(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)
|
(defun ConTeXt-insert-environment (environment &optional extra)
|
||||||
"Insert ENVIRONMENT, with optional argument EXTRA."
|
"Insert ConTeXt ENVIRONMENT with optional argument EXTRA."
|
||||||
(if (and (TeX-active-mark)
|
(let ((active-mark (and (TeX-active-mark) (not (eq (mark) (point)))))
|
||||||
(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.
|
||||||
(save-excursion
|
(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))
|
(goto-char (mark))
|
||||||
(or (TeX-looking-at-backward "^[ \t]*")
|
(cond (;; When the entire line consists of whitespaces...
|
||||||
(newline))
|
(save-excursion (beginning-of-line)
|
||||||
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
|
(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))
|
||||||
(newline)
|
(newline)
|
||||||
(forward-line -1)
|
;; Take note that there are texts to be indented later.
|
||||||
(indent-according-to-mode)
|
(setq additional-indent t))
|
||||||
;;(goto-char (point))
|
(;; In all other cases...
|
||||||
)
|
t
|
||||||
(or (TeX-looking-at-backward "^[ \t]*")
|
;; ...make a new empty line after deleting all
|
||||||
(newline))
|
;; 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))
|
||||||
(insert TeX-esc (ConTeXt-environment-start-name) environment)
|
(insert TeX-esc (ConTeXt-environment-start-name) environment)
|
||||||
(indent-according-to-mode)
|
(indent-according-to-mode)
|
||||||
(if extra (insert extra))
|
(when extra (insert extra))
|
||||||
(end-of-line)
|
(setq content-start (line-beginning-position 2))
|
||||||
(newline-and-indent)
|
(unless active-mark
|
||||||
(newline)
|
(newline)
|
||||||
|
(newline))
|
||||||
|
(when active-mark (goto-char (mark)))
|
||||||
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
|
(insert TeX-esc (ConTeXt-environment-stop-name) environment)
|
||||||
(or (looking-at "[ \t]*$")
|
(end-of-line 0)
|
||||||
(save-excursion (newline-and-indent)))
|
(if active-mark
|
||||||
(indent-according-to-mode)
|
(progn
|
||||||
(end-of-line 0)))
|
;; 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)
|
||||||
|
(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))
|
||||||
|
|
||||||
|
|
||||||
;; with the following we can call a function on an environment. Say
|
;; with the following we can call a function on an environment. Say
|
||||||
|
@ -1057,7 +1166,8 @@ header is at the start of a line."
|
||||||
"\\|" (ConTeXt-header-end) "\\b"
|
"\\|" (ConTeXt-header-end) "\\b"
|
||||||
"\\|" (ConTeXt-trailer-start) "\\b"))
|
"\\|" (ConTeXt-trailer-start) "\\b"))
|
||||||
|
|
||||||
(defvar ConTeXt-text "Name of ConTeXt macro that begins the text body.")
|
(defvar ConTeXt-text nil
|
||||||
|
"Name of ConTeXt macro that begins the text body.")
|
||||||
|
|
||||||
(defun ConTeXt-header-end ()
|
(defun ConTeXt-header-end ()
|
||||||
"Default end of header marker for ConTeXt documents."
|
"Default end of header marker for ConTeXt documents."
|
||||||
|
@ -1349,20 +1459,20 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-environment-menu-entry (entry)
|
(defun ConTeXt-environment-menu-entry (entry)
|
||||||
"Create an ENTRY for the environment menu."
|
"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)")
|
(defvar ConTeXt-environment-modify-menu-name "Change Environment (C-u C-c C-e)")
|
||||||
|
|
||||||
(defun ConTeXt-environment-modify-menu-entry (entry)
|
(defun ConTeXt-environment-modify-menu-entry (entry)
|
||||||
"Create an ENTRY for the change environment menu."
|
"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
|
;; ConTeXt define macros
|
||||||
(defvar ConTeXt-define-menu-name "Define")
|
(defvar ConTeXt-define-menu-name "Define")
|
||||||
|
|
||||||
(defun ConTeXt-define-menu-entry (entry)
|
(defun ConTeXt-define-menu-entry (entry)
|
||||||
"Create an ENTRY for the define menu."
|
"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)
|
(defun ConTeXt-define-menu (define)
|
||||||
"Insert DEFINE from menu."
|
"Insert DEFINE from menu."
|
||||||
|
@ -1373,7 +1483,7 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-setup-menu-entry (entry)
|
(defun ConTeXt-setup-menu-entry (entry)
|
||||||
"Create an ENTRY for the setup menu."
|
"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)
|
(defun ConTeXt-setup-menu (setup)
|
||||||
"Insert SETUP from menu."
|
"Insert SETUP from menu."
|
||||||
|
@ -1384,7 +1494,7 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-referencing-menu-entry (entry)
|
(defun ConTeXt-referencing-menu-entry (entry)
|
||||||
"Create an ENTRY for the referencing menu."
|
"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)
|
(defun ConTeXt-referencing-menu (referencing)
|
||||||
"Insert REFERENCING from menu."
|
"Insert REFERENCING from menu."
|
||||||
|
@ -1395,7 +1505,7 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-other-macro-menu-entry (entry)
|
(defun ConTeXt-other-macro-menu-entry (entry)
|
||||||
"Create an ENTRY for the other macro menu."
|
"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)
|
(defun ConTeXt-other-macro-menu (other-macro)
|
||||||
"Insert OTHER-MACRO from menu."
|
"Insert OTHER-MACRO from menu."
|
||||||
|
@ -1414,7 +1524,7 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-project-structure-menu-entry (entry)
|
(defun ConTeXt-project-structure-menu-entry (entry)
|
||||||
"Create an ENTRY for the project structure menu."
|
"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
|
;; meta-structure section blocks menu entries
|
||||||
|
@ -1427,7 +1537,7 @@ else. There might be text before point."
|
||||||
|
|
||||||
(defun ConTeXt-section-block-menu-entry (entry)
|
(defun ConTeXt-section-block-menu-entry (entry)
|
||||||
"Create an ENTRY for the section block menu."
|
"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
|
;; section menu entries
|
||||||
|
@ -1462,25 +1572,23 @@ else. There might be text before point."
|
||||||
(defun ConTeXt-numbered-section-menu-entry (entry)
|
(defun ConTeXt-numbered-section-menu-entry (entry)
|
||||||
"Create an ENTRY for the numbered section menu."
|
"Create an ENTRY for the numbered section menu."
|
||||||
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
|
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
|
||||||
(set enable t)
|
(vector (car entry) (list #'ConTeXt-numbered-section-menu (nth 1 entry)) enable)))
|
||||||
(vector (car entry) (list 'ConTeXt-numbered-section-menu (nth 1 entry)) enable)))
|
|
||||||
|
|
||||||
(defun ConTeXt-unnumbered-section-menu-entry (entry)
|
(defun ConTeXt-unnumbered-section-menu-entry (entry)
|
||||||
"Create an ENTRY for the unnumbered section menu."
|
"Create an ENTRY for the unnumbered section menu."
|
||||||
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
|
(let ((enable (ConTeXt-section-enable-symbol (nth 1 entry))))
|
||||||
(set enable t)
|
(vector (car entry) (list #'ConTeXt-unnumbered-section-menu (nth 1 entry)) enable)))
|
||||||
(vector (car entry) (list 'ConTeXt-unnumbered-section-menu (nth 1 entry)) enable)))
|
|
||||||
|
|
||||||
|
|
||||||
;; etexshow support
|
;; etexshow support
|
||||||
|
|
||||||
(defun ConTeXt-etexshow ()
|
(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)
|
(interactive)
|
||||||
(if (fboundp 'etexshow)
|
(if (fboundp 'etexshow-cmd)
|
||||||
(let ()
|
(progn
|
||||||
(require 'etexshow)
|
(require 'etexshow)
|
||||||
(funcall (symbol-function 'etexshow-cmd)))
|
(etexshow-cmd))
|
||||||
(error "etexshow is not installed. Get it from http://levana.de/emacs/")))
|
(error "etexshow is not installed. Get it from http://levana.de/emacs/")))
|
||||||
|
|
||||||
;; menu itself
|
;; menu itself
|
||||||
|
@ -1651,7 +1759,7 @@ Use `ConTeXt-Mark-version' to choose the command."
|
||||||
(let ((engine (eval (nth 4 (TeX-engine-in-engine-alist TeX-engine)) t)))
|
(let ((engine (eval (nth 4 (TeX-engine-in-engine-alist TeX-engine)) t)))
|
||||||
(when engine
|
(when engine
|
||||||
(format "--engine=%s " engine)))
|
(format "--engine=%s " engine)))
|
||||||
(unless (eq ConTeXt-current-interface "en")
|
(unless (string= ConTeXt-current-interface "en")
|
||||||
(format "--interface=%s " ConTeXt-current-interface))
|
(format "--interface=%s " ConTeXt-current-interface))
|
||||||
(when TeX-source-correlate-mode
|
(when TeX-source-correlate-mode
|
||||||
(format "--passon=\"%s\" "
|
(format "--passon=\"%s\" "
|
||||||
|
@ -1681,6 +1789,9 @@ Use `ConTeXt-Mark-version' to choose the command."
|
||||||
ConTeXt-extra-paragraph-commands
|
ConTeXt-extra-paragraph-commands
|
||||||
ConTeXt-environment-list)
|
ConTeXt-environment-list)
|
||||||
"List of variables to be set from languages specific ones.")
|
"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
|
(defconst ConTeXt-dialect :context
|
||||||
"Default dialect for use with function `TeX-add-style-hook' for
|
"Default dialect for use with function `TeX-add-style-hook' for
|
||||||
|
@ -1692,8 +1803,8 @@ file, or any mode derived thereof. See variable
|
||||||
;; See *suffixes in texutil.pl.
|
;; See *suffixes in texutil.pl.
|
||||||
'("\\.tui" "\\.tup" "\\.ted" "\\.tes" "\\.top" "\\.log" "\\.tmp" "\\.run"
|
'("\\.tui" "\\.tup" "\\.ted" "\\.tes" "\\.top" "\\.log" "\\.tmp" "\\.run"
|
||||||
"\\.bck" "\\.rlg" "\\.mpt" "\\.mpx" "\\.mpd" "\\.mpo" "\\.tuo" "\\.tub"
|
"\\.bck" "\\.rlg" "\\.mpt" "\\.mpx" "\\.mpd" "\\.mpo" "\\.tuo" "\\.tub"
|
||||||
"\\.top" "-mpgraph\\.mp" "-mpgraph\\.mpd" "-mpgraph\\.mpo" "-mpgraph\\.mpy"
|
"\\.top" "\\.tuc" "-mpgraph\\.mp" "-mpgraph\\.mpd" "-mpgraph\\.mpo"
|
||||||
"-mprun\\.mp" "-mprun\\.mpd" "-mprun\\.mpo" "-mprun\\.mpy")
|
"-mpgraph\\.mpy" "-mprun\\.mp" "-mprun\\.mpd" "-mprun\\.mpo" "-mprun\\.mpy")
|
||||||
"List of regexps matching suffixes of files to be deleted.
|
"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,
|
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 $."
|
that is, you do _not_ have to cater for this yourself by adding \\\\\\=' or $."
|
||||||
|
@ -1724,10 +1835,6 @@ that is, you do _not_ have to cater for this yourself by adding \\\\\\=' or $."
|
||||||
(setq local-abbrev-table context-mode-abbrev-table)
|
(setq local-abbrev-table context-mode-abbrev-table)
|
||||||
(set (make-local-variable 'TeX-style-hook-dialect) ConTeXt-dialect)
|
(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)))
|
(require (intern (concat "context-" ConTeXt-current-interface)))
|
||||||
(dolist (symbol ConTeXt-language-variable-list)
|
(dolist (symbol ConTeXt-language-variable-list)
|
||||||
(set symbol (symbol-value (intern (concat (symbol-name symbol) "-"
|
(set symbol (symbol-value (intern (concat (symbol-name symbol) "-"
|
|
@ -12,7 +12,7 @@ This manual is for @AUCTeX{}
|
||||||
(version @value{VERSION} from @value{UPDATED}),
|
(version @value{VERSION} from @value{UPDATED}),
|
||||||
a sophisticated @TeX{} environment for Emacs.
|
a sophisticated @TeX{} environment for Emacs.
|
||||||
|
|
||||||
Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2022
|
Copyright @copyright{} 1992-1995, 2001, 2002, 2004-2023
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
@quotation
|
@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{$}
|
@code{TeX-electric-math} is nil, typing @kbd{$} simply inserts @samp{$}
|
||||||
at point, this is the default.
|
at point, this is the default.
|
||||||
|
|
||||||
Besides @code{nil}, possible values for this variable are @code{(cons
|
Besides @code{nil}, possible values for this variable are @code{("$"
|
||||||
"$" "$")} for @TeX{} inline equations @samp{$...$}, and @code{(cons
|
. "$")} for @TeX{} inline equations @samp{$...$}, and @code{("\(" . "\)")}
|
||||||
"\\(" "\\)")} for @LaTeX{} inline equations @samp{\(...\)}.
|
for @LaTeX{} inline equations @samp{\(...\)}.
|
||||||
|
|
||||||
If the variable is non-nil and point is inside math mode right between a
|
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
|
couple of single dollars, pressing @kbd{$} will insert another pair of
|
||||||
dollar signs and leave the point between them. Thus, if
|
dollar signs and leave the point between them. Thus, if
|
||||||
@code{TeX-electric-math} is set to @code{(cons "$" "$")} you can easily
|
@code{TeX-electric-math} is set to @code{("$" . "$")} you can easily
|
||||||
obtain a @TeX{} display equation @samp{$$...$$} by pressing @kbd{$}
|
obtain a @TeX{} display equation @samp{$$...$$} by pressing @kbd{$}
|
||||||
twice in a row. (Note that you should not use double dollar signs in
|
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
|
@LaTeX{} because this practice can lead to wrong spacing in typeset
|
||||||
|
@ -468,6 +468,20 @@ following to your init file
|
||||||
(cons "\\(" "\\)"))))
|
(cons "\\(" "\\)"))))
|
||||||
@end lisp
|
@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
|
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.
|
dollar sign(s) just in the same way as the other normal keys do.
|
||||||
|
|
||||||
|
@ -1326,7 +1340,7 @@ define and register custom @code{completion-at-point} functions and when the
|
||||||
user invokes @code{completion-at-point} (usually bound to
|
user invokes @code{completion-at-point} (usually bound to
|
||||||
@kbd{M-@key{TAB}}), all such registered functions are consulted for
|
@kbd{M-@key{TAB}}), all such registered functions are consulted for
|
||||||
checking for possible completions. Modern completion UIs like
|
checking for possible completions. Modern completion UIs like
|
||||||
@i{company-mode} support this completion-at-point facility.
|
@i{company-mode} or @i{corfu} support this completion-at-point facility.
|
||||||
|
|
||||||
@defun TeX--completion-at-point
|
@defun TeX--completion-at-point
|
||||||
@AUCTeX{}'s completion-at-point function which is automatically added to
|
@AUCTeX{}'s completion-at-point function which is automatically added to
|
||||||
|
@ -1339,6 +1353,17 @@ It offers the same completion candidates as would
|
||||||
like @i{company-mode}.
|
like @i{company-mode}.
|
||||||
@end defun
|
@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},
|
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
|
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
|
has the advantage over completion that it knows about the argument of
|
||||||
|
@ -1781,6 +1806,40 @@ prepared for similar side effects when you do.
|
||||||
Note that commented curly braces @code{@{} and @code{@}} aren't counted
|
Note that commented curly braces @code{@{} and @code{@}} aren't counted
|
||||||
when @AUCTeX{} computes indentation.
|
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
|
@node Filling
|
||||||
@section Filling
|
@section Filling
|
||||||
@cindex Filling
|
@cindex Filling
|
||||||
|
@ -2258,11 +2317,11 @@ described above. You can disable these defaults per class by
|
||||||
customizing the variable @code{font-latex-deactivated-keyword-classes}.
|
customizing the variable @code{font-latex-deactivated-keyword-classes}.
|
||||||
This is a list of strings for keyword classes to be deactivated. Valid
|
This is a list of strings for keyword classes to be deactivated. Valid
|
||||||
entries are "warning", "variable", "biblatexnoarg", "biblatex",
|
entries are "warning", "variable", "biblatexnoarg", "biblatex",
|
||||||
"reference", "function" , "sectioning-0", "sectioning-1",
|
"reference", "function", "function-noarg", "sectioning-0", "sectioning-1",
|
||||||
"sectioning-2", "sectioning-3", "sectioning-4", "sectioning-5",
|
"sectioning-2", "sectioning-3", "sectioning-4", "sectioning-5",
|
||||||
"slide-title", "textual", "bold-command", "italic-command",
|
"slide-title", "textual", "bold-command", "italic-command",
|
||||||
"underline-command", "math-command", "type-command", "bold-declaration",
|
"underline-command", "math-command", "type-command", "bold-declaration",
|
||||||
"italic-declaration", "type-declaration".
|
"italic-declaration" or "type-declaration".
|
||||||
|
|
||||||
You can also get rid of certain keywords only. For example if you want
|
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
|
to remove highlighting of footnotes as references you can put the
|
||||||
|
@ -4135,6 +4194,15 @@ 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 command can be invoked by the key binding mentioned above as well as
|
||||||
the @samp{Find Documentation...} entry in the mode menu.
|
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
|
@end deffn
|
||||||
|
|
||||||
@node Customization
|
@node Customization
|
||||||
|
@ -5625,6 +5693,19 @@ Following is a list of available hooks for
|
||||||
@item LaTeX-env-item
|
@item LaTeX-env-item
|
||||||
Insert the given environment and the first 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
|
@item LaTeX-env-figure
|
||||||
Insert the given figure-like environment with a caption and a label.
|
Insert the given figure-like environment with a caption and a label.
|
||||||
|
|
||||||
|
@ -5635,6 +5716,10 @@ specifications.
|
||||||
@item LaTeX-env-label
|
@item LaTeX-env-label
|
||||||
Insert the given environment with a 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
|
@item LaTeX-env-list
|
||||||
Insert the given list-like environment, a specifier for the label and
|
Insert the given list-like environment, a specifier for the label and
|
||||||
the first item.
|
the first item.
|
|
@ -11,6 +11,29 @@
|
||||||
@heading News since last release
|
@heading News since last release
|
||||||
|
|
||||||
@itemize @bullet
|
@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
|
@item
|
||||||
@AUCTeX{} underlines the argument of macros which produce underlined text
|
@AUCTeX{} underlines the argument of macros which produce underlined text
|
||||||
in the final product with @code{font-latex-underline-face}. The
|
in the final product with @code{font-latex-underline-face}. The
|
|
@ -1,5 +1,5 @@
|
||||||
@c This is part of the AUCTeX Manual.
|
@c This is part of the AUCTeX Manual.
|
||||||
@c Copyright (C) 2004-2014, 2021, 2022 Free Software Foundation, Inc.
|
@c Copyright (C) 2004-2023 Free Software Foundation, Inc.
|
||||||
@c See the file auctex.texi for copying conditions.
|
@c See the file auctex.texi for copying conditions.
|
||||||
@ifset rawfile
|
@ifset rawfile
|
||||||
@include macros.texi
|
@include macros.texi
|
||||||
|
@ -71,7 +71,7 @@ statements related to the problem.
|
||||||
@item
|
@item
|
||||||
What versions of Emacs are supported?
|
What versions of Emacs are supported?
|
||||||
|
|
||||||
@AUCTeX{} was tested with @w{GNU Emacs 25.1}. Older versions may work but
|
@AUCTeX{} was tested with @w{GNU Emacs 26.1}. Older versions may work but
|
||||||
are unsupported.
|
are unsupported.
|
||||||
|
|
||||||
@item
|
@item
|
|
@ -1,6 +1,6 @@
|
||||||
@c This is part of the AUCTeX Manual.
|
@c This is part of the AUCTeX Manual.
|
||||||
@c Copyright (C) 1994, 1996, 2003-2007, 2012-2013,
|
@c Copyright (C) 1994, 1996, 2003-2007, 2012-2013,
|
||||||
@c 2015, 2017, 2018, 2020, 2021 Free Software Foundation, Inc.
|
@c 2015-2023 Free Software Foundation, Inc.
|
||||||
@c See the file auctex.texi for copying conditions.
|
@c See the file auctex.texi for copying conditions.
|
||||||
@ifset rawfile
|
@ifset rawfile
|
||||||
@include macros.texi
|
@include macros.texi
|
||||||
|
@ -96,7 +96,7 @@ the file @file{INSTALL.windows}.
|
||||||
@end ifclear
|
@end ifclear
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item GNU Emacs 25.1 or higher
|
@item GNU Emacs 26.1 or higher
|
||||||
|
|
||||||
Using @previewlatex{} requires a version of Emacs compiled with image
|
Using @previewlatex{} requires a version of Emacs compiled with image
|
||||||
support.
|
support.
|
|
@ -50,30 +50,30 @@ font-latex
|
||||||
@end ifset
|
@end ifset
|
||||||
@tex
|
@tex
|
||||||
\global\let\savedTeX\TeX
|
\global\let\savedTeX\TeX
|
||||||
\gdef\TeX#1{\savedTeX#1}
|
\gdef\TeX#{\savedTeX}
|
||||||
\gdef\LaTeX{%
|
\gdef\LaTeX#{%
|
||||||
L\kern-.36em\raise.3ex\hbox{\sc{a}}\kern-.15em\TeX}
|
L\kern-.36em\raise.3ex\hbox{\sc{a}}\kern-.15em\TeX}
|
||||||
\gdef\previewlatex#1{%
|
\gdef\previewlatex#{%
|
||||||
{\sf preview-latex}#1}
|
{\textsf preview-latex}}
|
||||||
\gdef\fontlatex#1{%
|
\gdef\fontlatex#{%
|
||||||
{\sf font-latex}#1}
|
{\textsf font-latex}}
|
||||||
\gdef\AUCTeX{AUC\TeX}
|
\gdef\AUCTeX#{AUC\TeX}
|
||||||
\gdef\ConTeXt#1{%
|
\gdef\ConTeXt#{%
|
||||||
Con\TeX t#1}
|
Con\TeX{}t}
|
||||||
\toks0\expandafter{\indexnofonts
|
\toks0\expandafter{\indexnofonts
|
||||||
\def\TeX#1{TeX#1}%
|
\def\TeX#{TeX}%
|
||||||
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
|
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
|
||||||
\xdef\indexnofonts{\the\toks0}
|
\xdef\indexnofonts{\the\toks0}
|
||||||
\ifx\commondummies\undefined \else
|
\ifx\commondummies\undefined \else
|
||||||
\toks0\expandafter{\commondummies
|
\toks0\expandafter{\commondummies
|
||||||
\def\TeX#1{TeX#1}%
|
\def\TeX#{TeX}%
|
||||||
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
|
\def\LaTeX#1{LaTeX}\def\previewlatex#1{preview-latex}}
|
||||||
\xdef\commondummies{\the\toks0}
|
\xdef\commondummies{\the\toks0}
|
||||||
\fi
|
\fi
|
||||||
\ifx\definedummies\undefined \else
|
\ifx\definedummies\undefined \else
|
||||||
\toks0\expandafter{\definedummies
|
\toks0\expandafter{\definedummies
|
||||||
\def\TeX#1{TeX#1}%
|
\def\TeX#{TeX}%
|
||||||
\def\LaTeX#1{LaTeX#1}\def\previewlatex#1{preview-latex#1}}
|
\def\LaTeX#{LaTeX}\def\previewlatex#{preview-latex}}
|
||||||
\xdef\definedummies{\the\toks0}
|
\xdef\definedummies{\the\toks0}
|
||||||
\fi
|
\fi
|
||||||
\ifx\acronym\undefined \gdef\acronym#1{{\smallcaps \lowercase{#1}}} \fi
|
\ifx\acronym\undefined \gdef\acronym#1{{\smallcaps \lowercase{#1}}} \fi
|
0
code/elpa/auctex-13.1.5/doc/preview-dtxdoc.pl → code/elpa/auctex-13.2.1/doc/preview-dtxdoc.pl
Executable file → Normal file
0
code/elpa/auctex-13.1.5/doc/preview-dtxdoc.pl → code/elpa/auctex-13.2.1/doc/preview-dtxdoc.pl
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
@c This is part of the preview-latex manual.
|
@c This is part of the preview-latex manual.
|
||||||
@c Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009
|
@c Copyright (C) 2002, 2003, 2004, 2005, 2006, 2009
|
||||||
@c 2017, 2021 Free Software Foundation, Inc.
|
@c 2017, 2021-2023 Free Software Foundation, Inc.
|
||||||
@c See file preview-latex.texi for copying conditions.
|
@c See file preview-latex.texi for copying conditions.
|
||||||
@ifset rawfile
|
@ifset rawfile
|
||||||
@include macros.texi
|
@include macros.texi
|
||||||
|
@ -48,7 +48,7 @@ to @email{auctex-devel@@gnu.org}.
|
||||||
@subsection Which version of Emacs is needed?
|
@subsection Which version of Emacs is needed?
|
||||||
|
|
||||||
@previewlatex{} nominally requires @w{GNU Emacs} with a version of at
|
@previewlatex{} nominally requires @w{GNU Emacs} with a version of at
|
||||||
least 25.1.
|
least 26.1.
|
||||||
|
|
||||||
@subsection Which versions of Ghostscript and @AUCTeX{} are needed?
|
@subsection Which versions of Ghostscript and @AUCTeX{} are needed?
|
||||||
|
|
|
@ -42,9 +42,9 @@
|
||||||
% Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
% Paul Rubin, Bob Chassell, Len Tower, and Richard Mlynarik
|
||||||
% for creating the GNU Emacs Reference Card from which this was mutated
|
% for creating the GNU Emacs Reference Card from which this was mutated
|
||||||
|
|
||||||
\def\versionnumber{13.1}
|
\def\versionnumber{13.2}
|
||||||
\def\year{2022}
|
\def\year{2023}
|
||||||
\def\version{February \year\ v\versionnumber}
|
\def\version{April \year\ v\versionnumber}
|
||||||
|
|
||||||
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
\def\shortcopyrightnotice{\vskip 1ex plus 2 fill
|
||||||
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
|
\centerline{\small \copyright\ \year\ Free Software Foundation, Inc.
|
|
@ -1,6 +1,6 @@
|
||||||
;;; font-latex.el --- LaTeX fontification for Font Lock mode. -*- lexical-binding: t; -*-
|
;;; font-latex.el --- LaTeX fontification for Font Lock mode. -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
;; Copyright (C) 1996-2022 Free Software Foundation, Inc.
|
;; Copyright (C) 1996-2023 Free Software Foundation, Inc.
|
||||||
|
|
||||||
;; Authors: Peter S. Galbraith <psg@debian.org>
|
;; Authors: Peter S. Galbraith <psg@debian.org>
|
||||||
;; Simon Marshall <Simon.Marshall@esrin.esa.it>
|
;; Simon Marshall <Simon.Marshall@esrin.esa.it>
|
||||||
|
@ -365,21 +365,22 @@ variable `font-latex-fontify-sectioning'." ',num)
|
||||||
("labelformat" "{{") ("linespread" "{")
|
("labelformat" "{{") ("linespread" "{")
|
||||||
("AddToHook" "{[{") ("RemoveFromHook" "{[") ("AddToHookNext" "{{")
|
("AddToHook" "{[{") ("RemoveFromHook" "{[") ("AddToHookNext" "{{")
|
||||||
("ProvidesClass" "{[") ("ProvidesPackage" "{[") ("ProvidesFile" "{[")
|
("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)
|
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"
|
("sectioning-0"
|
||||||
(("part" "*[{"))
|
(("part" "*[{"))
|
||||||
(if (eq font-latex-fontify-sectioning 'color)
|
(if (eq font-latex-fontify-sectioning 'color)
|
||||||
|
@ -481,12 +482,13 @@ will match macros of the form \"\\foo[bar]{baz}\"."))
|
||||||
"List of strings for built-in keyword classes to be deactivated.
|
"List of strings for built-in keyword classes to be deactivated.
|
||||||
|
|
||||||
Valid entries are \"warning\", \"variable\", \"biblatexnoarg\",
|
Valid entries are \"warning\", \"variable\", \"biblatexnoarg\",
|
||||||
\"biblatex\", \"reference\", \"function\" , \"sectioning-0\",
|
\"biblatex\", \"reference\", \"function\", \"function-noarg\",
|
||||||
\"sectioning-1\", \"sectioning-2\", \"sectioning-3\",
|
\"sectioning-0\", \"sectioning-1\", \"sectioning-2\",
|
||||||
\"sectioning-4\", \"sectioning-5\", \"slide-title\", \"textual\",
|
\"sectioning-3\", \"sectioning-4\", \"sectioning-5\",
|
||||||
\"bold-command\", \"italic-command\", \"underline-command\",
|
\"slide-title\", \"textual\", \"bold-command\",
|
||||||
\"math-command\", \"type-command\", \"bold-declaration\",
|
\"italic-command\", \"underline-command\", \"math-command\",
|
||||||
\"italic-declaration\", \"type-declaration\".
|
\"type-command\", \"bold-declaration\", \"italic-declaration\" or
|
||||||
|
\"type-declaration\".
|
||||||
|
|
||||||
You have to restart Emacs for a change of this variable to take effect."
|
You have to restart Emacs for a change of this variable to take effect."
|
||||||
:group 'font-latex-keywords
|
:group 'font-latex-keywords
|
||||||
|
@ -631,12 +633,12 @@ use."
|
||||||
(if (eq type 'command)
|
(if (eq type 'command)
|
||||||
"\
|
"\
|
||||||
This must be a list where each element is a list consisting of a
|
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
|
backslash and a format specifier as described in the doc string of
|
||||||
`font-latex-user-keyword-classes'."
|
`font-latex-user-keyword-classes'."
|
||||||
"\
|
"\
|
||||||
This must be a list where each element is a keyword string \(not a
|
This must be a list where each element is a keyword string (not a
|
||||||
regular expression\) omitting the leading backslash.")
|
regular expression) omitting the leading backslash.")
|
||||||
|
|
||||||
"\n\n\
|
"\n\n\
|
||||||
This is an internal variable which should not be set directly.
|
This is an internal variable which should not be set directly.
|
||||||
|
@ -913,7 +915,7 @@ Generated by `font-latex-make-user-keywords'.")))
|
||||||
KEYWORDS is a list of keywords or keywords with syntax specs.
|
KEYWORDS is a list of keywords or keywords with syntax specs.
|
||||||
CLASS corresponds to a keyword class and can be one of the
|
CLASS corresponds to a keyword class and can be one of the
|
||||||
symbols `warning', `variable', `reference', `biblatexnoarg',
|
symbols `warning', `variable', `reference', `biblatexnoarg',
|
||||||
`biblatex', `function', `sectioning-0', `sectioning-1',
|
`biblatex', `function', `function-noarg', `sectioning-1',
|
||||||
`sectioning-2', `sectioning-3', `sectioning-4', `sectioning-5',
|
`sectioning-2', `sectioning-3', `sectioning-4', `sectioning-5',
|
||||||
`slide-title', `textual', `bold-command', `italic-command',
|
`slide-title', `textual', `bold-command', `italic-command',
|
||||||
`underline-command', `math-command', `type-command',
|
`underline-command', `math-command', `type-command',
|
||||||
|
@ -1095,8 +1097,16 @@ have changed."
|
||||||
;; Some macros take an optional argument. This is
|
;; Some macros take an optional argument. This is
|
||||||
;; the same line as above for environments.
|
;; the same line as above for environments.
|
||||||
"\\(?:\\[[^][]*\\(?:\\[[^][]*\\][^][]*\\)*\\]\\)?"
|
"\\(?:\\[[^][]*\\(?:\\[[^][]*\\][^][]*\\)*\\]\\)?"
|
||||||
"\\({\\).*?[^\\]\\(?:\\\\\\\\\\)*\\(}\\)")
|
;; Within verb macros with braces, only balanced
|
||||||
(1 "|") (2 "|")))))
|
;; 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 "|")))))
|
||||||
(when font-latex-syntactic-keywords-extra
|
(when font-latex-syntactic-keywords-extra
|
||||||
(nconc font-latex-syntactic-keywords font-latex-syntactic-keywords-extra))
|
(nconc font-latex-syntactic-keywords font-latex-syntactic-keywords-extra))
|
||||||
;; ;; Cater for docTeX mode.
|
;; ;; Cater for docTeX mode.
|
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue