From becff06c71d277647eda4378203d03ab36e141eb Mon Sep 17 00:00:00 2001 From: mattkae Date: Tue, 17 May 2022 07:07:37 -0400 Subject: Evil mode and latex support --- elpa/auctex-13.1.3/style/tcolorbox.el | 714 ++++++++++++++++++++++++++++++++++ 1 file changed, 714 insertions(+) create mode 100644 elpa/auctex-13.1.3/style/tcolorbox.el (limited to 'elpa/auctex-13.1.3/style/tcolorbox.el') diff --git a/elpa/auctex-13.1.3/style/tcolorbox.el b/elpa/auctex-13.1.3/style/tcolorbox.el new file mode 100644 index 0000000..5ba44bb --- /dev/null +++ b/elpa/auctex-13.1.3/style/tcolorbox.el @@ -0,0 +1,714 @@ +;;; tcolorbox.el --- AUCTeX style for `tcolorbox.sty' (v4.00) -*- lexical-binding: t; -*- + +;; Copyright (C) 2015--2021 Free Software Foundation, Inc. + +;; Author: Tassilo Horn +;; Maintainer: auctex-devel@gnu.org +;; Created: 2015-01-04 +;; 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 `tcolorbox.sty' (v4.00) from 2017/02/16. + +;; This style file adds support for core macros and environments and +;; their options provided by `tcolorbox.sty'. Macros and environments +;; provided by libraries should go in their own style files where the +;; file is prefixed with `tcolorboxlib-', +;; e.g. `tcolorboxlib-raster.el'. + +;; Libraries should also prepend a symbol containing their key=val +;; options to the variable `LaTeX-tcolorbox-keyval-options-full'. +;; This variable is used by the function of the same name called when +;; inserting `\tcbset' macro. + +;;; Code: + +;; Needed for compiling `cl-pushnew': +(eval-when-compile + (require 'cl-lib)) + +;; Needed for auto-parsing: +(require 'tex) +(require 'latex) + +;; Silence the compiler: +(declare-function font-latex-add-keywords + "font-latex" + (keywords class)) + +(declare-function LaTeX-xcolor-definecolor-list "xcolor" ()) + +;; FIXME: Anything missing? +(defvar LaTeX-tcolorbox-keyval-options + '(;; 4.1 Title + ("title") + ("notitle") + ("adjusted title") + ("adjust text") + ("squeezed title") + ("squeezed title*") + ("detach title") + ("attach title") + ("attach title to upper") + ;; 4.2 Subtitle + ("subtitle style") + ;; 4.3 Upper Part + ("upperbox" ("visible" "invisible")) + ("visible") + ("invisible") + ("saveto") + ;; 4.4 Lower Part + ("lowerbox" ("visible" "invisible" "ignored")) + ("savelowerto") + ("lower separated" ("true" "false")) + ("savedelimiter") + ;; 4.5 Colors and Fonts + ("colframe") + ("colback") + ("title filled" ("true" "false")) + ("colbacktitle") + ("colupper") + ("collower") + ("coltext") + ("coltitle") + ("fontupper" ("\\rmfamily" "\\sffamily" "\\ttfamily" "\\mdseries" "\\bfseries" + "\\upshape" "\\itshape" "\\slshape" "\\scshape" + "\\tiny" "\\scriptsize" "\\footnotesize" + "\\small" "\\normalsize" "\\large" + "\\Large" "\\LARGE" "\\huge" "\\Huge" "\\normalfont")) + ("fontlower" ("\\rmfamily" "\\sffamily" "\\ttfamily" "\\mdseries" "\\bfseries" + "\\upshape" "\\itshape" "\\slshape" "\\scshape" + "\\tiny" "\\scriptsize" "\\footnotesize" + "\\small" "\\normalsize" "\\large" + "\\Large" "\\LARGE" "\\huge" "\\Huge" "\\normalfont")) + ("fonttitle" ("\\rmfamily" "\\sffamily" "\\ttfamily" "\\mdseries" "\\bfseries" + "\\upshape" "\\itshape" "\\slshape" "\\scshape" + "\\tiny" "\\scriptsize" "\\footnotesize" + "\\small" "\\normalsize" "\\large" + "\\Large" "\\LARGE" "\\huge" "\\Huge" "\\normalfont")) + ;; 4.6 Text Alignment + ("halign" ("justify" "left" "flush left" "right" + "flush right" "center" "flush center")) + ("halign lower" ("justify" "left" "flush left" "right" + "flush right" "center" "flush center")) + ("halign title" ("justify" "left" "flush left" "right" + "flush right" "center" "flush center")) + ("flushleft upper") + ("center upper") + ("flushright upper") + ("flushleft lower") + ("center lower") + ("flushright lower") + ("flushleft title") + ("center title") + ("flushright title") + ("valign" ("top" "center" "bottom" "scale" "scale*")) + ("valign upper" ("top" "center" "bottom" "scale" "scale*")) + ("valign lower" ("top" "center" "bottom" "scale" "scale*")) + ("valign scale limit") + ;; 4.7 Geometry: + ;; 4.7.1 Width + ("width") + ("text width") + ("add to width") + ;; 4.7.2 Rules + ("toprule") + ("bottomrule") + ("leftrule") + ("rightrule") + ("titlerule") + ("boxrule") + ;; 4.7.3 Arcs + ("arc") + ("circular arc") + ("bean arc") + ("octogon arc") + ("arc is angular") + ("arc is curved") + ("outer arc") + ("auto outer arc") + ;; 4.7.4 Spacing + ("boxsep") + ("left") + ("left*") + ("lefttitle") + ("leftupper") + ("leftlower") + ("right") + ("right*") + ("righttitle") + ("rightupper") + ("rightlower") + ("top") + ("toptitle") + ("bottom") + ("bottomtitle") + ("middle") + ;; 4.7.5 Size Shortcuts + ("size" ("normal" "title" "small" "fbox" "tight" "minimal")) + ("oversize") + ("toggle left and right" ("none" "forced" "evenpage")) + ;; 4.8 Corners + ("sharp corners" ("northwest" "northeast" "southwest" "southeast" + "north" "south" "east" "west" "downhill" "uphill" "all")) + ("rounded corners" ("northwest" "northeast" "southwest" "southeast" + "north" "south" "east" "west" "downhill" "uphill" "all")) + ("sharpish corners") + ;; 4.9 Transparency + ("opacityframe") + ("opacityback") + ("opacitybacktitle") + ("opacityfill") + ("opacityupper") + ("opacitylower") + ("opacitytext") + ("opacitytitle") + ;; 4.10 Height Control + ("natural height") + ("height") + ("height plus") + ("height from") + ("text height") + ("add to height") + ("add to natural height") + ("height fill" ("true" "false" "maximum")) + ("square") + ("space") + ("space to upper") + ("space to lower") + ("space to both") + ("space to") + ("split") + ("equal height group") + ("minimum for equal height group") + ("minimum for current equal height group") + ("use height from group") + ;; 4.11 Box Content Additions + ("before title") + ("after title") + ("before upper") + ("after upper") + ("after upper*") + ("before lower") + ("after lower") + ("after lower*") + ("text fill") + ("tabularx") + ("tabularx*") + ("tikz upper") + ("tikz lower") + ("tikznode upper") + ("tikznode lower") + ("tikznode") + ("varwidth upper") + ;; 4.12 Overlays + ("overlay") + ("no overlay") + ("overlay broken") + ("overlay unbroken") + ("overlay first") + ("overlay middle") + ("overlay last") + ("overlay unbroken and first") + ("overlay middle and last") + ("overlay unbroken and last") + ("overlay first and middle") + ;; 4.13 Floating Objects + ("floatplacement" ("htbp" "t" "b" "h" "p")) + ("float" ("htbp" "t" "b" "h" "p")) + ("float*" ("htbp" "t" "b" "h" "p")) + ("nofloat") + ("every float" ("\\centering" "\\raggedleft" "\\raggedright")) + ;; 4.14 Embedding into the Surroundings + ("before") + ("after") + ("parskip") + ("noparskip") + ("autoparskip") + ("nobeforeafter") + ("forces nobeforeafter") + ("baseline") + ("box align" ("bottom" "top" "center" "base" )) + ("before skip") + ("after skip") + ("beforeafter skip") + ("left skip") + ("right skip") + ("leftright skip") + ("ignore nobreak" ("true" "false")) + ("before nobreak") + ;; 4.15 Bounding Box + ("enlarge top initially by") + ("enlarge bottom finally by") + ("enlarge top at break by") + ("enlarge bottom at break by") + ("enlarge top by") + ("enlarge bottom by") + ("enlarge left by") + ("enlarge right by") + ("enlarge by") + ("flush left") + ("flush right") + ("center") + ("grow to left by") + ("grow to right by") + ("toggle enlargement" ("none" "forced" "evenpage")) + ("spread inwards") + ("spread outwards") + ("move upwards") + ("move upwards*") + ;; FIXME: This one should be added w/ `breakable' lib: + ;; ("fill downwards") + ("spread upwards") + ("spread upwards*") + ("spread sidewards") + ("spread") + ("spread downwards") + ("shrink tight") + ("extrude left by") + ("extrude right by") + ("extrude top by") + ("extrude bottom by") + ("extrude by") + ;; 4.16 Layered Boxes and Every Box Settings + ("every box") + ("every box on layer 1") + ("every box on layer 2") + ("every box on layer 3") + ("every box on layer 4") + ("every box on higher layers") + ;; 4.17 Capture Mode + ("capture" ("minipage" "hbox" "fitbox")) + ("hbox") + ("minipage") + ;; 4.18 Text Characteristics + ("parbox" ("true" "false")) + ("hyphenationfix" ("true" "false")) + ;; 4.19 Files + ("tempfile") + ;; 4.21 Counters, Labels, and References + ("phantom") + ("nophantom") + ("label") + ("phantomlabel") + ;; FIXME: Are these types documented somewhere in cleveref.pdf? + ("label type") + ("no label type") + ("step") + ("step and label") + ("list entry") + ("list text") + ("add to list") + ("nameref") + ;; 4.22 Even and Odd Pages + ("check odd page" ("true" "false")) + ("if odd page") + ("if odd page or oneside") + ;; FIXME: These two should be added w/ `breakable' lib: + ;; ("if odd page*") + ;; ("if odd page or oneside*") + ;; 4.24 Miscellaneous + ("reset") + ("only") + ("code") + ("void") + ;; 6 Side by Side + ("sidebyside" ("true" "false")) + ("sidebyside align" ("center" "top" "bottom" "center seam" + "top seam" "bottom seam")) + ("sidebyside gap") + ("lefthand width") + ("righthand width") + ("lefthand ratio") + ("righthand ratio") + ;; 8 Recording options + ("record") + ("no recording")) + "Key=value options for tcolorbox macros and environments.") + +(defun LaTeX-tcolorbox-keyval-options () + "Return an updated list of key=vals from tcolorbox package." + (append + ;; This style runs `xcolor.el', so we use + ;; `LaTeX-xcolor-definecolor-list' right away: + (let ((colors (mapcar #'car (LaTeX-xcolor-definecolor-list))) + (keys '("colframe" + "colback" + "colbacktitle" + "colupper" + "collower" + "coltext" + "coltitle")) + result) + (dolist (key keys result) + (cl-pushnew (list key colors) result :test #'equal))) + LaTeX-tcolorbox-keyval-options)) + +(defvar LaTeX-tcolorbox-keyval-options-full + '(LaTeX-tcolorbox-keyval-options) + "Buffer-local list of symbols containing key=val options. +tcolorbox libraries should add their key=val options to this +list. Key=val options might be a variable or a function. This +variable is initialized with the function +`LaTeX-tcolorbox-keyval-options'. Please add entries on top of +this list so that this item always comes last.") +(make-variable-buffer-local 'LaTeX-tcolorbox-keyval-options-full) + +(defun LaTeX-tcolorbox-keyval-options-full () + "Return an updated list of full key=vals for tcolorbox and libraries. +Each symbol is a variable or a function. If a symbol name +contains a function and a variable value, the function is +preferred. This function processes symbols in the variable +`LaTeX-tcolorbox-keyval-options-full'." + (let (result) + (dolist (elt (reverse LaTeX-tcolorbox-keyval-options-full) result) + (if (functionp elt) + (setq result (append (funcall elt) result)) + (setq result (append (symbol-value elt) result)))))) + +(defvar LaTeX-tcolorbox-tcbox-options + '(;; 4.20 \tcbox Specials + ("tcbox raise") + ("tcbox raise base") + ("on line") + ("tcbox width" ("auto" "auto limited" "forced center" + "forced left" "forced right" "minimum center" + "minimum left" "minimum right"))) + "Key=value options only for \\tcbox and \\tcboxmath from tcolorbox.sty.") + +(defvar LaTeX-tcolorbox-init-options + '(;; 5 Initialization Option Keys + ;; 5.1 Numbered Boxes + ("auto counter") + ("use counter from") + ("use counter") + ("use counter*") + ("no counter") + ("number within" ("part" "chapter" "section" "subsection")) + ("number format" ("\\arabic" "\\roman" "\\Roman" "\\Alph" "\\alph")) + ("number freestyle") + ("crefname") + ("Crefname") + ("blend into" ("figures" "tables" "listings")) + ("blend before title" ("colon" "dash" "colon hang" "dash hang")) + ("blend before title code") + ;; 5.2 Lists of tcolorboxes + ("list inside") + ("list type")) + "Initialization key=value options for tcolorbox macros.") + +(defvar LaTeX-tcolorbox-library-list + '("skins" + "vignette" + "raster" + "listings" + "listingsutf8" + "minted" + "theorems" + "breakable" + "magazine" + "fitting" + "hooks" + "xparse" + "external" + "documentation" + "many" "most" "all") + "List with libraries provided by tcolorbox package.") + +;; Setup for \newtcolorbox: +(TeX-auto-add-type "tcolorbox-newtcolorbox" "LaTeX" "tcolorbox-newtcolorboxes") + +(defvar LaTeX-tcolorbox-newtcolorbox-regexp + `(,(concat "\\\\\\(re\\)?newtcolorbox" + "[ \t\n\r%]*" + "\\(?:" + (LaTeX-extract-key-value-label 'none) + "\\)?" + "[ \t\n\r%]*" + "{\\([a-zA-Z0-9]+\\)}" + "[ \t\n\r%]*" + "\\(?:\\[\\([0-9]*\\)\\]\\)?" + "[ \t\n\r%]*" + "\\(\\[\\)?") + (2 3 4 1) LaTeX-auto-tcolorbox-newtcolorbox) + "Matches the arguments of \\newtcolorbox from tcolorbox package.") + +;; Setup for \newtcbox: +(TeX-auto-add-type "tcolorbox-newtcbox" "LaTeX" "tcolorbox-newtcboxes") + +(defvar LaTeX-tcolorbox-newtcbox-regexp + `(,(concat "\\\\\\(re\\)?newtcbox" + "[ \t\n\r%]*" + "\\(?:" + (LaTeX-extract-key-value-label 'none) + "\\)?" + "[ \t\n\r%]*" + "{\\\\\\([a-zA-Z]+\\)}" + "[ \t\n\r%]*" + "\\(?:\\[\\([0-9]*\\)\\]\\)?" + "[ \t\n\r%]*" + "\\(\\[\\)?") + (2 3 4 1) LaTeX-auto-tcolorbox-newtcbox) + "Matches the arguments of \\newtcbox from tcolorbox package.") + +;; Setup for \tcbuselibrary: +(TeX-auto-add-type "tcolorbox-tcbuselibrary" + "LaTeX" "tcolorbox-tcbuselibraries") + +(defvar LaTeX-tcolorbox-tcbuselibrary-regexp + '("\\\\tcbuselibrary{\\([^}]+\\)}" + 1 LaTeX-auto-tcolorbox-tcbuselibrary) + "Matches the arguments of \\tcbuselibrary from tcolorbox package.") + +(defun LaTeX-tcolorbox-load-used-libraries () + "Check which tcolorbox libraries are loaded and run respective style hooks. +This functions checks the arguments of \\tcbuselibrary and the +name of libraries given in the optional argument of \\usepackage +call for tcolorbox and runs the style hook for them. The file +for style must have the prefix \"tcolorboxlib-\" in the name, +for example \"tcolorboxlib-raster.el\"." + (when (LaTeX-tcolorbox-tcbuselibrary-list) + (let (libs) + (dolist (x (LaTeX-tcolorbox-tcbuselibrary-list)) + (push (replace-regexp-in-string "[ %\n\r\t]" "" (car x)) libs)) + (setq libs (mapconcat #'identity libs ",")) + (dolist (x (split-string libs "," t)) + (TeX-run-style-hooks (concat "tcolorboxlib-" x))))) + (when (assoc "tcolorbox" LaTeX-provided-package-options) + (let ((opts (cdr (assoc "tcolorbox" LaTeX-provided-package-options)))) + (dolist (x opts) + (when (member x LaTeX-tcolorbox-library-list) + (TeX-run-style-hooks (concat "tcolorboxlib-" x))))))) + +(defun LaTeX-tcolorbox-auto-prepare () + "Clear various LaTeX-tcolorbox-* variables before parsing." + (setq LaTeX-auto-tcolorbox-newtcolorbox nil + LaTeX-auto-tcolorbox-newtcbox nil + LaTeX-auto-tcolorbox-tcbuselibrary nil)) + +(defun LaTeX-tcolorbox-auto-cleanup () + "Process parsed results." + ;; Process new env's from \newtcolorbox + (dolist (newtcbox (apply #'append LaTeX-tcolorbox-newtcolorbox-list)) + (let ((box (nth 0 newtcbox)) + (arg (nth 1 newtcbox)) + (opt (nth 2 newtcbox)) + (renew (when (string= (nth 3 newtcbox) "re") + (nth 3 newtcbox)))) + ;; When renew'ing, delete any entry from + ;; `LaTeX-environment-list' first: + (when renew + (setq LaTeX-environment-list + (assq-delete-all + (car (assoc box (LaTeX-environment-list))) + LaTeX-environment-list))) + (cond (;; opt. 1st argument and mandatory argument(s) + (and arg (not (string= arg "")) + opt (not (string= opt ""))) + (LaTeX-add-environments + (list box + #'LaTeX-env-args + [TeX-arg-key-val (LaTeX-tcolorbox-keyval-options)] + (1- (string-to-number arg))))) + (;; mandatory argument(s) only + (and arg (not (string= arg "")) + (string-equal opt "")) + (LaTeX-add-environments + (list box (string-to-number arg)))) + (t ; No args + (LaTeX-add-environments (list box)))))) + ;; + ;; Process new macros from \newtcbox + (dolist (newtcbox (apply #'append LaTeX-tcolorbox-newtcbox-list)) + (let ((box (nth 0 newtcbox)) + (arg (nth 1 newtcbox)) + (opt (nth 2 newtcbox)) + (renew (when (string= (nth 3 newtcbox) "re") + (nth 3 newtcbox)))) + ;; When renew'ing, delete any entry from `TeX-symbol-list' + ;; first: + (when renew + (setq TeX-symbol-list + (assq-delete-all + (car (assoc box (TeX-symbol-list))) + TeX-symbol-list))) + (cond (;; opt. 1st argument and mandatory argument(s) + (and arg (not (string= arg "")) + opt (not (string= opt ""))) + (TeX-add-symbols (list box + [TeX-arg-key-val (LaTeX-tcolorbox-keyval-options)] + (1- (string-to-number arg))))) + (;; mandatory argument(s) only + (and arg (not (string= arg "")) + (string-equal opt "")) + (TeX-add-symbols (list box (string-to-number arg)))) + (t ; No args -- in pratice, this will probably never happen + (TeX-add-symbols (list box)))))) + ;; + ;; Load style hooks for libraries, if any. + (LaTeX-tcolorbox-load-used-libraries)) + +(add-hook 'TeX-auto-prepare-hook #'LaTeX-tcolorbox-auto-prepare t) +(add-hook 'TeX-auto-cleanup-hook #'LaTeX-tcolorbox-auto-cleanup t) +(add-hook 'TeX-update-style-hook #'TeX-auto-parse t) + +(TeX-add-style-hook + "tcolorbox" + (lambda () + + ;; Add tcolorbox to the parser. + (TeX-auto-add-regexp LaTeX-tcolorbox-newtcolorbox-regexp) + (TeX-auto-add-regexp LaTeX-tcolorbox-newtcbox-regexp) + (TeX-auto-add-regexp LaTeX-tcolorbox-tcbuselibrary-regexp) + + ;; We just run the style hook for `xcolor' which is loaded by pgf.sty + (TeX-run-style-hooks "xcolor") + + ;; FIXME: Anything missing? + (TeX-add-symbols + + ;; 1.3 Libraries + '("tcbuselibrary" + (TeX-arg-eval + (lambda () + (let ((libs (mapconcat #'identity + (TeX-completing-read-multiple + (TeX-argument-prompt nil nil "Libraries") + LaTeX-tcolorbox-library-list) + ","))) + (LaTeX-add-tcolorbox-tcbuselibraries libs) + (LaTeX-tcolorbox-load-used-libraries) + (format "%s" libs))))) + + ;; 3 Macros for Box Creation + '("tcblower" 0) + + '("tcbset" + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options-full))) + + '("tcbsetforeverylayer" + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + '("tcbox" + [TeX-arg-eval TeX-read-key-val t + (append + LaTeX-tcolorbox-tcbox-options + (LaTeX-tcolorbox-keyval-options))] + t) + + '("newtcolorbox" + [ TeX-arg-key-val LaTeX-tcolorbox-init-options ] + "Name" + [ TeX-arg-define-macro-arguments ] + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + '("renewtcolorbox" + [ TeX-arg-key-val LaTeX-tcolorbox-init-options ] + (TeX-arg-eval completing-read + (TeX-argument-prompt nil nil "Color box") + (LaTeX-tcolorbox-newtcolorbox-list)) + [ TeX-arg-define-macro-arguments ] + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + '("newtcbox" + [ TeX-arg-key-val LaTeX-tcolorbox-init-options ] + TeX-arg-macro + [ TeX-arg-define-macro-arguments ] + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + '("renewtcbox" + [ TeX-arg-key-val LaTeX-tcolorbox-init-options ] + (TeX-arg-eval + (lambda () + (let ((macro (completing-read + (TeX-argument-prompt nil nil "Macro: \\" t) + (LaTeX-tcolorbox-newtcbox-list)))) + (concat TeX-esc macro)))) + [ TeX-arg-define-macro-arguments ] + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + '("tcolorboxenvironment" + TeX-arg-environment + (TeX-arg-key-val (LaTeX-tcolorbox-keyval-options))) + + ;; 4.16 Layered Boxes and Every Box Settings + '("tcbsetmanagedlayer" "Number") + + ;; 4.22 Even and Odd Pages + '("tcbifoddpage" 2) + '("tcbifoddpageoroneside" 2) + '("thetcolorboxnumber" 0) + '("thetcolorboxpage" 0) + + ;; 5.2 Lists of tcolorboxes + '("tcblistof" + [ TeX-arg-eval completing-read + (TeX-argument-prompt t nil "Macro") + (if (< (LaTeX-largest-level) 2) + '("\\chapter" "\\section" "\\subsection" "\\subsubsection") + '("\\section" "\\subsection" "\\subsubsection")) ] + 2) + + ;; 7 Saving and Loading of Verbatim Texts + '("tcbusetemp") + + ;; 8 Recording + '("tcbstartrecording" [ "File name" ]) + '("tcbstoprecording") + '("tcbrecord" t) + '("tcbinputrecords" [ TeX-arg-file ]) ) ; Terminate TeX-add-symbols + + (LaTeX-add-environments + ;; 3 Macros for Box Creation: Main env + '("tcolorbox" LaTeX-env-args + [ TeX-arg-key-val (LaTeX-tcolorbox-keyval-options) ]) + + ;; 7 Saving and Loading of Verbatim Texts + '("tcbverbatimwrite" "File name") + '("tcbwritetemp")) + + ;; Do not indent text in verbatim environments: + (make-local-variable 'LaTeX-indent-environment-list) + (add-to-list 'LaTeX-indent-environment-list + '("tcbverbatimwrite" current-indentation) t) + (add-to-list 'LaTeX-indent-environment-list + '("tcbwritetemp" current-indentation) t) + + ;; Fontification + (when (and (featurep 'font-latex) + (eq TeX-install-font-lock 'font-latex-setup)) + (font-latex-add-keywords '(("tcbuselibrary" "{") + ("tcbset" "{") + ("tcbsetforeverylayer" "{") + ("tcbox" "[{") + ("newtcolorbox" "[{[[{") + ("renewtcolorbox" "[{[[{") + ("newtcbox" "[{[[{") + ("renewtcbox" "[{[[{") + ("tcolorboxenvironment" "{{") + ("tcbsetmanagedlayer" "{")) + 'function))) + TeX-dialect) + +(defvar LaTeX-tcolorbox-package-options LaTeX-tcolorbox-library-list + "Package options for the tcolorbox package.") + +;;; tcolorbox.el ends here -- cgit v1.2.1