diff options
Diffstat (limited to 'elpa/auctex-13.1.3/style/ltx-base.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/ltx-base.el | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/ltx-base.el b/elpa/auctex-13.1.3/style/ltx-base.el new file mode 100644 index 0000000..d10a137 --- /dev/null +++ b/elpa/auctex-13.1.3/style/ltx-base.el @@ -0,0 +1,160 @@ +;;; ltx-base.el --- AUCTeX style for basic LaTeX commands. -*- lexical-binding: t; -*- + +;; Copyright (C) 2004--2022 Free Software Foundation, Inc. + +;; Author: Frank Küster <frank@kuesterei.ch> +;; Maintainer: auctex-devel@gnu.org +;; 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 general support for basic LaTeX commands used for +;; writing LaTeX class files (.cls), style files (.sty) and package +;; files (.dtx). Most of the macros are taken from clsguide.pdf. + +;;; Code: + +(require 'tex) + +;; Silence the compiler: +(declare-function font-latex-add-keywords + "font-latex" + (keywords class)) + +(TeX-add-style-hook + "ltx-base" + (lambda () + (TeX-add-symbols + + ;; 4.1 Identification. Other '\Provide*' macros are available in + ;; latex.el + '("NeedsTeXFormat" "Format" [ "Release date" ]) + + ;; 4.2 Loading files + ;; \RequirePackage is provided in latex.el + '("RequirePackageWithOptions" "Package" [ "Release information" ]) + + '("LoadClass" [ "Options" ] "Class" [ "Release information" ]) + '("LoadClassWithOptions" "Class" [ "Release information" ]) + + ;; 4.3 Option declaration + '("DeclareOption" "Option" t) + '("DeclareOption*" t) + + ;; 4.4 Commands within option code + '("CurrentOption" 0) + '("OptionNotUsed" 0) + + ;; 4.5 Moving options around + '("PassOptionsToPackage" "Option(s) list" "Package") + '("PassOptionsToClass" "Option(s) list" "Class") + + ;; 4.6 Delaying code + '("AtEndOfPackage" t) + '("AtEndOfClass" t) + '("AtBeginDocument" t) + '("AtEndDocument" t) + '("AtBeginDvi" t) + + ;; 4.7 Option processing + '("ProcessOptions" (TeX-arg-literal "\\relax")) + "ProcessOptions*" + '("ExecuteOptions" "Option list") + + ;; 4.8 Safe file commands + '("IfFileExists" "File" 2) + '("InputIfFileExists" "File" 2) + + ;; 4.9 Reporting errors, etc + '("ClassError" "Class name" "Error text" t) + '("PackageError" "Package name" "Error text" t) + + '("ClassWarning" "Class name" t) + '("PackageWarning" "Package name" t) + '("ClassWarningNoLine" "Class name" t) + '("PackageWarningNoLine" "Package name" t) + + '("ClassInfo" "Class name" t) + '("PackageInfo" "Package name" t) + + '("MessageBreak" 0) + '("message" "Log Message") + + ;; 4.10 Defining commands + '("DeclareRobustCommand" + TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t) + '("DeclareRobustCommand*" + TeX-arg-define-macro [ TeX-arg-define-macro-arguments ] t) + + '("CheckCommand" TeX-arg-macro [ TeX-arg-define-macro-arguments ] t) + '("CheckCommand*" TeX-arg-macro [ TeX-arg-define-macro-arguments ] t) + + ;; 5.1 Layout parameters + ;; \paperheight & \paperwidth are provided in latex.el + + ;; 5.2 Case changing + ;; \MakeUppercase & \MakeLppercase are provided in latex.el + + ;; 5.4 Better user-defined math display environments + "ignorespacesafterend" + + ;; 5.5 Normalising spacing + "normalsfcodes" + + ;; Some general macros not mentioned in clsguide.pdf + '("@addtoreset" TeX-arg-counter (TeX-arg-counter "Within counter")) + '("addpenalty" "Penalty") + '("@ifundefined" TeX-arg-macro 2) + '("@ifnextchar" (TeX-arg-literal " ") (TeX-arg-free "Character") 2) + '("expandafter" 0)) + + ;; Fontification + (when (and (featurep 'font-latex) + (eq TeX-install-font-lock 'font-latex-setup)) + (font-latex-add-keywords '(("NeedsTeXFormat" "{[") + ("RequirePackageWithOptions" "{[") + ("LoadClass" "[{[") + ("LoadClassWithOptions" "{[") + ;; Don't fontify the second argument + ;; which will contain code: + ("DeclareOption" "*{") + ("CurrentOption" "") + ("OptionNotUsed" "") + ("PassOptionsToPackage" "{{") + ("PassOptionsToClass" "{{") + + ("AtEndOfPackage" "") + ("AtEndOfClass" "") + ("AtBeginDocument" "") + ("AtEndDocument" "") + ("AtBeginDvi" "") + + ("ProcessOptions" "*") + ("ExecuteOptions" "{") + ("DeclareRobustCommand" "*|{\\[[{") + ("CheckCommand" "*|{\\[[{")) + 'function))) + TeX-dialect) + +;; Local Variables: +;; coding: utf-8 +;; End: + +;;; ltx-base.el ends here |