diff options
author | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
commit | bd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch) | |
tree | 95b9933376770381bd8859782ae763be81c2d72b /elpa/auctex-13.1.3/style/siunitx.el | |
parent | b07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff) | |
parent | ef160dea332af4b4fe5e2717b962936c67e5fe9e (diff) |
Merge conflict
Diffstat (limited to 'elpa/auctex-13.1.3/style/siunitx.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/siunitx.el | 522 |
1 files changed, 0 insertions, 522 deletions
diff --git a/elpa/auctex-13.1.3/style/siunitx.el b/elpa/auctex-13.1.3/style/siunitx.el deleted file mode 100644 index b1164a1..0000000 --- a/elpa/auctex-13.1.3/style/siunitx.el +++ /dev/null @@ -1,522 +0,0 @@ -;;; siunitx.el --- AUCTeX style for `siunitx.sty' version 3.3.36. -*- lexical-binding: t; -*- - -;; Copyright (C) 2012-2021 Free Software Foundation, Inc. - -;; Maintainer: auctex-devel@gnu.org -;; Author: Mosè Giordano <mose@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 support for `siunitx.sty' version 3.0.36 from -;; 2021/22/18. - -;;; Code: - -(require 'tex) ;Indispensable when compiling the call to `TeX-auto-add-type'. -(require 'latex) - -;; Silence the compiler: -(declare-function font-latex-add-keywords - "font-latex" - (keywords class)) -(declare-function LaTeX-color-definecolor-list "color" ()) -(declare-function LaTeX-xcolor-definecolor-list "xcolor" ()) - -(TeX-auto-add-type "siunitx-unit" "LaTeX") - -;; Self Parsing -- see (info "(auctex)Hacking the Parser"). -;; `\\(?:\\[[^]]*\\]\\)?' matches possible options (actually used only -;; by `DeclareSIUnit' macro), wrapped in `[...]'. -(defvar LaTeX-siunitx-regexp - `(,(concat "\\\\DeclareSI\\(Unit\\|Prefix\\|Power\\|Qualifier\\)" - "[ \t\n\r]*" - ;; The optional argument - "\\(?:\\[[^]]*\\]\\)?" - "[ \t\n\r]*" - ;; First mandatory argument - "{?\\\\\\([A-Za-z]+\\)}?" - "[ \t\n\r]*" - ;; Second mandatory argument needed for '\DeclareSIPower': - "{?\\\\\\([A-Za-z]+\\)}?") - (2 3 1) LaTeX-auto-siunitx-unit) - "Matches new siunitx unit, prefix, power, and qualifier definitions.") - -(defun LaTeX-siunitx-prepare () - "Clear `LaTex-auto-siunitx-unit' before use." - (setq LaTeX-auto-siunitx-unit nil)) - -(add-hook 'TeX-auto-prepare-hook #'LaTeX-siunitx-prepare t) -(add-hook 'TeX-update-style-hook #'TeX-auto-parse t) - -(defvar LaTeX-siunitx-unit-history nil - "History of units in siunitx.") - -(defun LaTeX-siunitx-unit-list-parsed () - "Return a list of units incl. the user defined ones. -This function should be preferred over the function -`LaTeX-siunitx-unit-list' since it knows about the 2 macros -defined with '\\DeclareSIPower'." - (let (result) - (dolist (unit (LaTeX-siunitx-unit-list) result) - (push (car unit) result) - (when (and (> (safe-length unit) 1) - (string-equal (nth 2 unit) "Power")) - (push (cadr unit) result))))) - -(defun LaTeX-arg-siunitx-unit (optional &optional prompt initial-input - definition prefix) - "Prompt for siunitx units, prefixes, powers, and qualifiers. -If OPTIONAL is non-nil, insert the resulting value as an optional -argument, otherwise as a mandatory one. Use PROMPT as the prompt -string. If INITIAL-INPUT is non-nil, insert it in the minibuffer -initially, with point positioned at the end. If DEFINITION is -non-nil, add the chosen unit to the list of defined units. If -PREFIX is non-nil, insert it before the given input." - ;; Remove <SPC> key binding from map used in `TeX-completing-read-multiple' - ;; with `require-match' set to `nil' (it's `crm-local-completion-map' if - ;; `completing-read-multiple' is bound, `minibuffer-local-completion-map' - ;; otherwise) and set completion separator to the TeX escape character. - (let* ((crm-local-completion-map - (remove (assoc 32 crm-local-completion-map) crm-local-completion-map)) - (minibuffer-local-completion-map - (remove (assoc 32 minibuffer-local-completion-map) - minibuffer-local-completion-map)) - (crm-separator (regexp-quote TeX-esc)) - (unit (mapconcat #'identity - (TeX-completing-read-multiple - (TeX-argument-prompt optional prompt "Unit: " t) - (LaTeX-siunitx-unit-list-parsed) - nil nil initial-input - 'LaTeX-siunitx-unit-history) - TeX-esc))) - (if (and definition (not (string-equal "" unit))) - (LaTeX-add-siunitx-units unit)) - (TeX-argument-insert unit optional prefix))) - -(defun LaTeX-arg-define-siunitx-unit (optional &optional prompt) - "Prompt for a LaTeX siunitx unit, prefix, power, and qualifier. -If OPTIONAL is non-nil, insert the resulting value as an optional -argument, otherwise as a mandatory one. Use PROMPT as the prompt -string." - (LaTeX-arg-siunitx-unit optional - (unless prompt (concat "Unit: " TeX-esc)) - nil t TeX-esc)) - -(defvar LaTeX-siunitx-package-options - '(;; Table 10: Print options - ("color") - ("mode" ("match" "math" "text")) - ("number-color") - ("number-mode" ("match" "math" "text")) - ("propagate-math-font" ("true" "false")) - ("reset-math-version" ("true" "false")) - ("reset-text-family" ("true" "false")) - ("reset-text-series" ("true" "false")) - ("reset-text-shape" ("true" "false")) - ("text-family-to-math" ("true" "false")) - ("text-font-command") - ("text-series-to-math" ("true" "false")) - ("unit-color") - ("unit-mode" ("match" "math" "text")) - ;; Table 11: Options for number parsing - ("evaluate-expression" ("true" "false")) - ("expression") - ("input-close-uncertainty") - ("input-comparators") - ("input-decimal-markers") - ("input-digits") - ("input-exponent-markers") - ("input-ignore") - ("input-open-uncertainty") - ("input-signs") - ("input-uncertainty-signs") - ("parse-numbers" ("true" "false")) - ("retain-explicit-plus" ("true" "false")) - ("retain-zero-uncertainty" ("true" "false")) - ;; Table 12: Number post-processing options - ("drop-exponent" ("true" "false")) - ("drop-uncertainty" ("true" "false")) - ("drop-zero-decimal" ("true" "false")) - ("exponent-mode" ("input" "fixed" "engineering" "scientific")) - ("fixed-exponent") - ("minimum-integer-digits") - ("minimum-decimal-digits") - ("round-half" ("up" "even")) - ("round-minimum") - ("round-mode" ("off" "figures" "places" "uncertainty")) - ("round-pad" ("true" "false")) - ("round-precision") - ;; Table 13: Output options for numbers - ("bracket-negative-numbers" ("true" "false")) - ("exponent-base") - ("exponent-product") - ("group-digits" ("all" "none" "decimal" "integer")) - ("group-minimum-digits") - ("group-separator") - ("negative-color") - ("output-close-uncertainty") - ("output-decimal-marker") - ("output-exponent-marker") - ("output-open-uncertainty") - ("print-implicit-plus" ("true" "false")) - ("print-unity-mantissa" ("true" "false")) - ("print-zero-exponent" ("true" "false")) - ("tight-spacing" ("true" "false")) - ("uncertainty-mode" ("compact" "full" "compact-marker")) - ("uncertainty-separator") - ;; Table 14: Output options for lists, products and ranges of - ;; numbers and quantities - ("list-exponents" ("individual" "combine-bracket" "combine")) - ("list-final-separator") - ("list-pair-separator") - ("list-separator") - ("list-units" ("repeat" "bracket" "single")) - ("product-exponents" ("individual" "combine-bracket" "combine")) - ("product-mode" ("symbol" "phrase")) - ("product-phrase") - ("product-symbol") - ("product-units" ("repeat" "bracket" "single")) - ("range-exponents" ("individual" "combine-bracket" "combine")) - ("range-phrase") - ("range-units" ("repeat" "bracket" "single")) - ;; Table 15: Options for complex numbers - ("complex-root-position" ("after-number" "before-number")) - ("output-complex-root") - ("input-complex-root") - ;; Table 16: Angle options - ("angle-mode" ("input" "arc" "decimal")) - ("angle-symbol-degree") - ("angle-symbol-minute") - ("angle-symbol-over-decimal" ("true" "false")) - ("angle-symbol-second") - ("angle-separator") - ("fill-angle-degrees" ("true" "false")) - ("fill-angle-minutes" ("true" "false")) - ("fill-angle-seconds" ("true" "false")) - ("number-angle-product") - ;; Table 17: Unit creation options - ("free-standing-units" ("true" "false")) - ("overwrite-command" ("true" "false")) - ("space-before-unit" ("true" "false")) - ("unit-optional-argument" ("true" "false")) - ("use-xspace" ("true" "false")) - ;; Table 18: Unit output options - ("bracket-unit-denominator" ("true" "false")) - ("forbid-literal-units" ("true" "false")) - ("fraction-command") - ("inter-unit-product") - ("parse-units" ("true" "false")) - ("per-mode" ("power" "fraction" "symbol" - "repeated-symbol" "symbol-or-fraction")) - ("per-symbol") - ("qualifier-mode" ("subscript" "brackets" - "combine" "phrase")) - ("qualifier-phrase") - ("sticky-per" ("true" "false")) - ("unit-font-command") - ;; Table 19: Options for quantities - ("allow-number-unit-breaks" ("true" "false")) - ("extract-mass-in-kilograms" ("true" "false")) - ("prefix-mode" ("input" "combine-exponent" - "extract-exponent")) - ("quantity-product") - ("separate-uncertainty-units") - ;; Table 20: Options for tabular material - ("table-align-comparator" ("true" "false")) - ("table-align-exponent" ("true" "false")) - ("table-align-text-after" ("true" "false")) - ("table-align-text-before" ("true" "false")) - ("table-align-uncertainty" ("true" "false")) - ("table-alignment" ("center" "left" "right" "none")) - ("table-alignment-mode" ("format" "marker" "none")) - ("table-auto-round" ("true" "false")) - ("table-column-width") - ("table-fixed-width" ("true" "false")) - ("table-format") - ("table-number-alignment" ("center" "left" "right")) - ("table-text-alignment" ("center" "left" "right")) - ;; 4.13 Locale options - ("locale" ("FR" "DE" "UK" "US" "ZA"))) - "Package options for the siunitx package.") - -(defun LaTeX-siunitx-key-val-options () - "Return an updated list of key=vals from siunitx package." - (append - (when (and (or (member "xcolor" (TeX-style-list)) - (member "color" TeX-active-styles))) - (let* ((colorcmd (if (member "xcolor" TeX-active-styles) - #'LaTeX-xcolor-definecolor-list - #'LaTeX-color-definecolor-list)) - (colors (mapcar #'car (funcall colorcmd))) - (keys '("color" - "number-color" - "unit-color" - "negative-color")) - result) - (dolist (key keys result) - (push (list key colors) result)))) - LaTeX-siunitx-package-options)) - -(TeX-add-style-hook - "siunitx" - (lambda () - - (TeX-auto-add-regexp LaTeX-siunitx-regexp) - - (TeX-add-symbols - '("sisetup" (TeX-arg-key-val (LaTeX-siunitx-key-val-options))) - - ;; 3.1 Numbers - '("num" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] "Number") - '("numlist" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] "Numbers") - '("numproduct" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] "Numbers") - '("numrange" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Number 1" "Number 2") - - ;; 3.2 Angles - '("ang" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] "Angle") - - ;; 3.3 Units - ;; For 'qty' and 'units', see 8 Compatibility with other packages - '("qtylist" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Numbers" LaTeX-arg-siunitx-unit) - '("qtyproduct" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Numbers" LaTeX-arg-siunitx-unit) - '("qtyrange" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Number 1" "Number 2" LaTeX-arg-siunitx-unit) - - ;; 3.4 Complex numbers and quantities - '("complexnum" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Number") - '("complexqty" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Number" LaTeX-arg-siunitx-unit) - - ;; 3.7 Creating new macros - '("DeclareSIUnit" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - (LaTeX-arg-define-siunitx-unit) "Symbol") - - '("DeclareSIPrefix" (LaTeX-arg-define-siunitx-unit "Prefix") - "Symbol" "Powers of 10") - - '("DeclareSIPower" - (LaTeX-arg-define-siunitx-unit "Symbol before") - (LaTeX-arg-define-siunitx-unit "Symbol after") - "Power") - - '("DeclareSIQualifier" (LaTeX-arg-define-siunitx-unit "Qualifier") "Symbol") - - ;; 3.8 Tabular material - '("tablenum" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] "Number") - - ;; 5 Upgrading from version 2 - ;; The next set of macros are still available in siunitx.sty v3 - ;; but are not recommended for use in new documents. We provide - ;; them in this file anyway since they are also needed when other - ;; packages like physics or units are loaded: - '("si" [TeX-arg-key-val (LaTeX-siunitx-package-options)] LaTeX-arg-siunitx-unit) - '("SI" [TeX-arg-key-val (LaTeX-siunitx-package-options)] - "Value" ["Pre-unit"] LaTeX-arg-siunitx-unit) - '("SIlist" [TeX-arg-key-val (LaTeX-siunitx-package-options)] - "Values" LaTeX-arg-siunitx-unit) - '("SIrange" [TeX-arg-key-val (LaTeX-siunitx-package-options)] - "Value 1" "Value 2" LaTeX-arg-siunitx-unit)) - - ;; 8 Compatibility with other packages - ;; Avoid clash with other packages which define macros with the - ;; same name: - (let ((styles (TeX-style-list))) - (unless (member "physics" styles) - (TeX-add-symbols - '("qty" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - "Number" LaTeX-arg-siunitx-unit))) - (unless (member "units" styles) - (TeX-add-symbols - '("unit" [TeX-arg-key-val (LaTeX-siunitx-key-val-options)] - LaTeX-arg-siunitx-unit)))) - - ;; The unit macros - (LaTeX-add-siunitx-units - ;; Table 1: SI base units. - "ampere" - "candela" - "kelvin" - "kilogram" - "meter" - "metre" - "second" - ;; Table 2: Coherent derived units in the SI with special names - ;; and symbols - "becquerel" - ;; "celsius" - "degreeCelsius" - "coulomb" - "farad" - "gray" - "hertz" - "henry" - "joule" - "lumen" - "katal" - "lux" - "newton" - "ohm" - "pascal" - "radian" - "siemens" - "sievert" - "steradian" - "tesla" - "volt" - "watt" - "weber" - ;; Table 3: Non-SI units accepted for use with the International - ;; System of Units - "astronomicalunit" - "bel" - "dalton" - "day" - "decibel" - "degree" - "electronvolt" - "hectare" - "hour" - "liter" - "litre" - "arcminute" - "minute" - "arcsecond" - "neper" - "tonne" - ;; 3.5 The unit macros - "percent" - "square" - "squared" - "cubic" - "cubed" - "tothe" - "raiseto" - "per" - "of" - "highlight" ; Defined by siunitx.sty - ;; Table 4: SI prefixes - "yocto" - "zepto" - "atto" - "femto" - "pico" - "nano" - "micro" - "milli" - "centi" - "deci" - "deca" - "deka" - "hecto" - "kilo" - "mega" - "giga" - "tera" - "peta" - "exa" - "zetta" - "yotta") - - ;; 3.6 Unit abbreviations are always defined: - (LaTeX-add-siunitx-units - "fg" "pg" "ng" "ug" "mg" "g" "kg" - "pm" "nm" "um" "mm" "cm" "dm" "m" "km" - "as" "fs" "ps" "ns" "us" "ms" "s" - "fmol" "pmol" "nmol" "umol" "mmol" "mol" "kmol" - "pA" "nA" "uA" "mA" "A" "kA" - "ul" "ml" "l" "hl" "uL" "mL" "L" "hL" - "mHz" "Hz" "kHz" "MHz" "GHz" "THz" - "mN" "N" "kN" "MN" - "Pa" "kPa" "MPa" "GPa" - "mohm" "kohm" "Mohm" - "pV" "nV" "uV" "mV" "V" "kV" - "uW" "mW" "W" "kW" "MW" "GW" - "J" "uJ" "mJ" "kJ" - "eV" "meV" "keV" "MeV" "GeV" "TeV" "kWh" - "F" "fF" "pF" "nF" "uF" - "H" "mH" "uH" - "K" "dB" - "kibi" "mebi" "gibi" "tebi" "pebi" - "exbi" "zebi" "yobi" "bit" "byte") - - ;; \cancel is only available when cancel.sty is loaded: - (when (member "cancel" (TeX-style-list)) - (LaTeX-add-siunitx-units "cancel")) - - ;; FIXME: 'siunitx.sty' adds only one new column specification - ;; letter 'S' in v3 and 's' is removed. We keep 's' for older - ;; documents and remove it sometimes later. - (set (make-local-variable 'LaTeX-array-column-letters) - (concat LaTeX-array-column-letters "S" "s")) - - (TeX-run-style-hooks "l3keys2e" - "array" - "amstext" - "xparse" - "expl3") - - ;; Fontification - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords '(("num" "[{") - ("numlist" "[{") - ("numproduct" "[{") - ("numrange" "[{{") - ("ang" "[{") - ("qtylist" "[{{") - ("qtyrange" "[{{{") - ("complexnum" "[{") - ("complexqty" "[{") - ("DeclareSIUnit" "[|{\\{") - ("DeclareSIPrefix" "|{\\{{") - ("DeclareSIPower" "|{\\|{\\{") - ("DeclareSIQualifier" "|{\\{") - ("tablenum" "[{") - ("highlight" "{") - ("sisetup" "{") - ;; These macros are deprecated in v3 but - ;; still available: - ("si" "[{") - ("SI" "[{[{") - ("SIlist" "[{{") - ("SIrange" "[{{{")) - 'function) - (let ((styles (TeX-style-list))) - (unless (member "physics" styles) - (font-latex-add-keywords '(("qty" "[{{")) - 'function)) - (unless (member "units" styles) - (font-latex-add-keywords '(("unit" "[{")) - 'function))))) - TeX-dialect) - -(defun LaTeX-siunitx-package-options nil - "Prompt for package options for the siunitx package." - (TeX-read-key-val t (append - ;; 'table-column-type' is a preamble only: - '(("table-column-type")) - LaTeX-siunitx-package-options))) - -;; siunitx.el ends here |