summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el')
-rw-r--r--Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el150
1 files changed, 150 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el b/Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el
new file mode 100644
index 00000000000..3d1547b4c80
--- /dev/null
+++ b/Master/texmf-dist/doc/lualatex/ekdosis/ekdosis.el
@@ -0,0 +1,150 @@
+;;; ekdosis.el --- AUCTeX style for `ekdosis.sty'
+;; This file is part of the `ekdosis' package
+
+;; ekdosis -- TEI xml compliant critical editions
+;; Copyright (C) 2020 Robert Alessi
+
+;; Please send error reports and suggestions for improvements to Robert
+;; Alessi <alessi@robertalessi.net>
+
+;; This program 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 of the License, or
+;; (at your option) any later version.
+
+;; This program 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 this program. If not, see
+;; <http://www.gnu.org/licenses/>.
+
+(defvar LaTeX-ekdosis-preamble-options
+ '(("parnotes" ("true" "false" "roman"))
+ ("teiexport" ("true" "false" "tidy"))
+ ("layout" ("float" "footins")))
+ "Package options for the ekdosis package.")
+
+(defun LaTeX-ekdosis-package-options ()
+ "Prompt for package options for ekdosis package."
+ (TeX-read-key-val t LaTeX-ekdosis-preamble-options))
+
+(defun LaTeX-ekdosis-long-key-val (optional arg)
+ (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)))
+ (TeX-argument-insert
+ (TeX-read-key-val optional arg)
+ optional)))
+
+(defvar LaTeX-ekdosis-declarewitness-options
+ '(("settlement")
+ ("repository")
+ ("msName")
+ ("origDate")
+ ("idno"))
+ "List of local options for DeclareWitness macro.")
+
+(defvar LaTeX-ekdosis-app-options
+ '(("type"))
+ "Local option for app|note macro.")
+
+(defvar LaTeX-ekdosis-lem-options
+ '(("wit")
+ ("alt")
+ ("pre")
+ ("post")
+ ("prewit")
+ ("postwit")
+ ("sep")
+ ("nolem" ("true" "false"))
+ ("nosep" ("true" "false")))
+ "Local options for lem macro")
+
+(defvar LaTeX-ekdosis-rdg-options
+ '(("wit")
+ ("alt")
+ ("pre")
+ ("post")
+ ("prewit")
+ ("postwit")
+ ("nordg" ("true" "false")))
+ "Local options for rdg macro.")
+
+(defvar LaTeX-ekdosis-note-options
+ '(("type")
+ ("lem")
+ ("labelb")
+ ("labele")
+ ("sep")
+ ("pre")
+ ("post"))
+ "Local options for note macro.")
+
+(defvar LaTeX-ekdosis-note-star-options
+ '(("pre")
+ ("post"))
+ "Local options for note* macro.")
+
+(defvar LaTeX-ekdosis-alignment-key-val-options
+ '(("tcols")
+ ("lcols")
+ ("texts")
+ ("apparatus")
+ ("flush" ("true" "false"))
+ ("paired" ("true" "false"))
+ ("pagelineation" ("true" "false")))
+ "Local options for alignment env.")
+
+(TeX-add-style-hook
+ "ekdosis"
+ (lambda ()
+ ;; Folding features:
+ (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
+ '("{1}" ("app"))
+ t)
+ (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
+ '("{7}||{6}||{5}||{4}||{3}||{2}||{1}" ("lem"))
+ t)
+ (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
+ '("[r]" ("rdg"))
+ t)
+ (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
+ '("[n]" ("note"))
+ t)
+ (add-to-list (make-local-variable 'LaTeX-fold-macro-spec-list)
+ '("[l]" ("linelabel"))
+ t)
+ ;; This package relies on lualatex, so check for it:
+ (TeX-check-engine-add-engines 'luatex)
+ (TeX-add-symbols
+ '("DeclareWitness" "xml:id" "rendition" "description"
+ [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-declarewitness-options ]
+ 0)
+ '("app" [ TeX-arg-key-val LaTeX-ekdosis-app-options ]
+ t)
+ '("lem" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-lem-options ]
+ t)
+ '("rdg" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-rdg-options ]
+ t)
+ '("note" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-options ]
+ t)
+ '("note*" [ LaTeX-ekdosis-long-key-val LaTeX-ekdosis-note-star-options ]
+ t)
+ '("SetEkdosisAlignment"
+ (TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options))
+ )
+ (LaTeX-add-environments
+ "ekdosis"
+ '("alignment" LaTeX-env-args
+ [ TeX-arg-key-val LaTeX-ekdosis-alignment-key-val-options ]
+ ))
+ )
+ LaTeX-dialect)
+
+;;; ekdosis.el ends here