summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/scrbase.el
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-05-17 07:07:37 -0400
committermattkae <mattkae@protonmail.com>2022-05-17 07:07:37 -0400
commitbecff06c71d277647eda4378203d03ab36e141eb (patch)
treea1f73bba3676f34e0faf76764f5de963321f5576 /elpa/auctex-13.1.3/style/scrbase.el
parent3f4a0d5370ae6c34afe180df96add3b8522f4af1 (diff)
Evil mode and latex support
Diffstat (limited to 'elpa/auctex-13.1.3/style/scrbase.el')
-rw-r--r--elpa/auctex-13.1.3/style/scrbase.el228
1 files changed, 228 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/scrbase.el b/elpa/auctex-13.1.3/style/scrbase.el
new file mode 100644
index 0000000..e5cc853
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/scrbase.el
@@ -0,0 +1,228 @@
+;;; scrbase.el --- AUCTeX style for the KOMA-Script bundle. -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2002, 2004, 2005, 2007, 2014, 2018-2021 Free Software Foundation, Inc.
+
+;; Author: Mark Trettin <Mark.Trettin@gmx.de>
+;; Created: 2002-09-26
+;; 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 KOMA-Script bundle. This file
+;; contains the base definitions that work with all KOMA-Script
+;; classes (scrarctl.cls, scrreprt.cls, scrbook.cls and scrlttr2.cls).
+;; You need this file since it's loaded from the class-styles.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(TeX-add-style-hook "scrbase"
+ (lambda ()
+ (TeX-add-symbols
+ "appendixmore"
+ "autodot"
+ '("addtokomafont" TeX-arg-KOMA-fontelements t)
+ '("areaset" [ "BCOR" ] "Width" "Height")
+ '("captionabove" [ "Lof entry" ] "Caption")
+ '("captionbelow" [ "Lof entry" ] "Caption")
+ '("cleardoubleemptypage")
+ '("cleardoubleplainpage")
+ '("cleardoublestandardpage")
+ '("dedication" t)
+ '("deffootnote" [ "Mark width" ] "Indent" "Parindent" "Definition")
+ '("deffootnotemark" "Definition")
+ '("extratitle" t)
+ '("ifpdfoutput" t nil)
+ '("ifthispageodd" t nil)
+ '("lowertitleback" t)
+ '("maketitle" [ "Pagenumber" ])
+ '("marginline" t)
+ '("publishers" "Publishers")
+ '("setbibpreamble" "Preamble")
+ '("setcaphanging")
+ '("setcapindent" "Indent")
+ '("setcapindent*" "X-Indent")
+ '("setcapmargin" [ "Margin left" ] "Margin")
+ '("setcapmargin*" [ "Margin inside" ] "Margin")
+ '("setcapwidth" [ TeX-arg-KOMA-capjust ] "Width")
+ '("setindexpreamble" "Preamble")
+ '("setkomafont" TeX-arg-KOMA-fontelements t)
+ '("subject" "Subject")
+ '("thanks" "Footnote")
+ '("thefootnotemark")
+ '("titlehead" t)
+ '("uppertitleback" t)
+ '("usekomafont" TeX-arg-KOMA-fontelements))
+ (LaTeX-add-environments
+ '("labeling" (lambda (env &rest ignore)
+ (LaTeX-insert-environment
+ env
+ (let ((delim (TeX-read-string "(Optional) Delimiter: "))
+ (width (TeX-read-string "Longest item: ")))
+ (concat
+ (if (not (zerop (length delim)))
+ (format "[%s]" delim))
+ (format "{%s}" width))))
+ (LaTeX-find-matching-begin)
+ (end-of-line 1)
+ (LaTeX-insert-item)))
+ '("addmargin" (lambda (env &rest ignore)
+ (LaTeX-insert-environment
+ env
+ (let ((leftin (TeX-read-string "(Optional) Left Indentation: "))
+ (indent (TeX-read-string "Indentation: ")))
+ (concat
+ (if (not (zerop (length leftin)))
+ (format "[%s]" leftin))
+ (format "{%s}" indent))))))
+ '("addmargin*" (lambda (env &rest ignore)
+ (LaTeX-insert-environment
+ env
+ (let ((innin (TeX-read-string "(Optional) Inner Indentation: "))
+ (indent (TeX-read-string "Indentation: ")))
+ (concat
+ (if (not (zerop (length innin)))
+ (format "[%s]" innin))
+ (format "{%s}" indent))))))
+ '("captionbeside" (lambda (env &rest ignore)
+ (LaTeX-insert-environment
+ env
+ (let ((lofent (TeX-read-string "(Optional) Lof Entry: "))
+ (title (TeX-read-string "Caption: "))
+ (place (TeX-read-string "(Optional) Placement (l,r,o,i): "))
+ (width (TeX-read-string "(Optional) Width: "))
+ (offset (TeX-read-string "(Optional) Offset: ")))
+ (concat
+ (if (not (zerop (length lofent)))
+ (format "[%s]" lofent))
+ (format "{%s}" title)
+ (if (not (zerop (length place)))
+ (format "[%s]" place))
+ (if (not (zerop (length width)))
+ (format "[%s]" width))
+ (and
+ (not (zerop (length place)))
+ (not (zerop (length offset)))
+ (format "[%s]%s" offset
+ (if (y-or-n-p "Starred? ")
+ "*" "")))))))))
+ (LaTeX-section-list-add-locally '(("addpart" 0)
+ ("addsec" 2)
+ ("minisec" 7)))
+ ;; This doesn't work. Maybe it's RefTeX's label insertion?
+ (make-local-variable 'LaTeX-section-label)
+ (setq LaTeX-section-label (append
+ LaTeX-section-label
+ '(("addpart" . nil)
+ ("addsec" . nil)
+ ("minisec" . nil))))
+ ;; Fill \minisec{...} like normal sectioning commands
+ (LaTeX-paragraph-commands-add-locally "minisec")
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ ;; Textual keywords
+ (font-latex-add-keywords '(("captionabove" "[{")
+ ("captionbelow" "[{")
+ ("dedication" "{")
+ ("extratitle" "{")
+ ("lowertitleback" "{")
+ ("maketitle" "[")
+ ("marginline" "{")
+ ("publishers" "{")
+ ("subject" "{")
+ ("setbibpreamble" "{")
+ ("setindexpreamble" "{")
+ ("titlehead" "{")
+ ("uppertitleback" "{"))
+ 'textual)
+ ;; Function keywords
+ (font-latex-add-keywords '(("deffootnote" "[{{{")
+ ("deffootnotemark" "{")
+ ("ifpdfoutput" "{{")
+ ("ifthispageodd" "{{"))
+ 'function)
+ ;; Variable keywords
+ (font-latex-add-keywords '(("addtokomafont" "{{")
+ ("areaset" "[{{")
+ ("setcaphanging" "")
+ ("setcapindent" "{")
+ ("setcapmargin" "*[{")
+ ("setcapwidth" "[{")
+ ("setkomafont" "{{")
+ ("typearea" "[{")
+ ("usekomafont" "{"))
+ 'variable)
+ ;; Warning keywords
+ (font-latex-add-keywords '("cleardoublestandardpage"
+ "cleardoubleplainpage"
+ "cleardoubleemptypage")
+ 'warning)
+ ;; Sectioning keywords
+ (font-latex-add-keywords '(("addpart" "[{")) 'sectioning-1)
+ (font-latex-add-keywords '(("addsec" "[{")) 'sectioning-2)
+ (font-latex-add-keywords '(("minisec" "[{")) 'sectioning-4)))
+ TeX-dialect)
+
+(defun TeX-arg-KOMA-setpreamble (optional &optional prompt)
+ "Prompt for KOMA-Script's \\set*preamble position with completion."
+ (TeX-argument-insert
+ (completing-read
+ (TeX-argument-prompt optional prompt "Position")
+ '(("") ("l") ("r") ("c") ("o") ("u")
+ ("lo") ("lu") ("ro") ("ru") ("co") ("cu"))
+ nil t)
+ optional))
+
+(defun TeX-arg-KOMA-capjust (optional &optional prompt)
+ "Prompt for KOMA-Script's \\setcapwidth justification with completion."
+ (TeX-argument-insert
+ (completing-read
+ (TeX-argument-prompt optional prompt "Justification")
+ '(("") ("l") ("r") ("c") ("i") ("o"))
+ nil t)
+ optional))
+
+(defun TeX-arg-KOMA-fontelements (optional &optional prompt)
+ "Prompt for KOMA-Script's fontelements with completion."
+ (TeX-argument-insert
+ (completing-read
+ (TeX-argument-prompt optional prompt "Element")
+ '(("")
+ ("caption") ("captionlabel")
+ ("descriptionlabel") ("dictum") ("dictumauthor") ("dictumtext")
+ ("footnote") ("footnotelabel") ("footnotereference")
+ ("pagefoot") ("pagehead") ("pagenumber") ("pagination")
+ ("sectioning") ("part") ("partnumber") ("chapter") ("section")
+ ("subsection") ("subsubsection") ("paragraph") ("subparagraph")
+ ("title") ("disposition") ("minisec"))
+ nil t)
+ optional))
+
+(add-to-list 'LaTeX-item-list '("labeling" . LaTeX-item-argument))
+
+;;; scrbase.el ends here