emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/auctex aaf22a9 08/42: Add new style/arabxetex.el


From: Tassilo Horn
Subject: [elpa] externals/auctex aaf22a9 08/42: Add new style/arabxetex.el
Date: Thu, 23 Nov 2017 06:06:06 -0500 (EST)

branch: externals/auctex
commit aaf22a91a7d7dbf921f6acd1ed4541705bbdce19
Author: Arash Esbati <address@hidden>
Commit: Arash Esbati <address@hidden>

    Add new style/arabxetex.el
    
    * Makefile.in (STYLESRC): Add new style.
    
    * style/arabxetex.el: New file.
---
 Makefile.in        |   2 +-
 style/arabxetex.el | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 114 insertions(+), 1 deletion(-)

diff --git a/Makefile.in b/Makefile.in
index 4114d0e..4f2910a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -167,7 +167,7 @@ STYLESRC = style/prosper.el \
           style/preview.el   style/fvextra.el   style/jurabib.el \
           style/csquotes.el  style/babel.el     style/dk-bib.el \
           style/floatrow.el  style/moodle.el    style/canadian.el \
-          style/australian.el style/newzealand.el
+          style/arabxetex.el style/australian.el style/newzealand.el
 
 STYLEELC = $(STYLESRC:.el=.elc)
 
diff --git a/style/arabxetex.el b/style/arabxetex.el
new file mode 100644
index 0000000..cdd8a64
--- /dev/null
+++ b/style/arabxetex.el
@@ -0,0 +1,113 @@
+;;; arabxetex.el --- AUCTeX style for `arabxetex.sty' (v1.2.1)
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <address@hidden>
+;; Maintainer: address@hidden
+;; Created: 2017-08-12
+;; 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 `arabxetex.sty' (v1.2.1) from 2015/09/04.
+;; `arabxetex.sty' is part of TeXLive.
+
+;;; Code:
+
+(TeX-add-style-hook
+ "arabxetex"
+ (lambda ()
+
+   ;; Run the style hooks for packages required by arabxetex:
+   (TeX-run-style-hooks "amsmath" "fontspec" "bidi")
+
+   ;; We need xelatex, so check for the engine here:
+   (TeX-check-engine-add-engines 'xetex)
+
+   ;; New macros & environments:
+   (let ((langs '("arab"
+                 "farsi" "persian"
+                 "urdu"
+                 "sindhi"
+                 "pashto"
+                 "ottoman" "turk"
+                 "kurdisch"
+                 "kashmiri"
+                 "malay" "jawi"
+                 "uighur")))
+     ;; Add \text<language>[option]{...}
+     (mapc #'TeX-add-symbols
+          (mapcar
+           (lambda (symbol)
+             (list symbol
+                   [ TeX-arg-eval completing-read
+                                  (TeX-argument-prompt optional nil "Mode")
+                                  LaTeX-arabxetex-package-options ]
+                   t))
+           (mapcar (lambda (lang) (concat "text" lang)) langs)))
+     ;;
+     ;; Add \begin{<language>}[option] ... \end{<language>}
+     (mapc #'LaTeX-add-environments
+          (mapcar
+           (lambda (environment)
+             (list environment
+                   #'LaTeX-env-args
+                   [ TeX-arg-eval completing-read
+                                  (TeX-argument-prompt optional nil "Mode")
+                                  LaTeX-arabxetex-package-options ]))
+           langs))
+     ;;
+     ;; Fontification
+     (when (and (featurep 'font-latex)
+               (eq TeX-install-font-lock 'font-latex-setup))
+       (font-latex-add-keywords (mapcar (lambda (lang)
+                                         (list (concat "text" lang) "[{"))
+                                       langs)
+                               'textual)))
+
+   ;; Other macros:
+   (TeX-add-symbols
+    '("textLR" t)
+    '("aemph" t)
+
+    ;; 3.3 Transliteration
+    '("SetTranslitConvention"
+      (TeX-arg-eval completing-read
+                   (TeX-argument-prompt optional nil "Mapping")
+                   '("dmg" "loc")))
+    '("SetTranslitStyle" "Style"))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+             (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("textLR" "{"))
+                             'textual)
+     (font-latex-add-keywords '(("aemph"  "{"))
+                             'italic-command)
+     (font-latex-add-keywords '(("SetTranslitConvention" "{")
+                               ("SetTranslitStyle"      "{"))
+                             'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-arabxetex-package-options
+  '("novoc" "voc" "fullvoc" "trans" "utf")
+  "Package options for the arabxetex package.")
+
+;;; arabxetex.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]