Hi all,

please find attached a patch for a new style hologo.el.

Any comments welcome.

Best, Arash

>From 50e4ac71c038e444dfd5417bc77cb5ca3117939b Mon Sep 17 00:00:00 2001
From: Arash Esbati <[email protected]>
Date: Sat, 31 Oct 2015 17:22:28 +0100
Subject: [PATCH] Add new style hologo.el.

* Makefile.in (STYLESRC): Add new style.

* style/hologo.el: New file.
---
 ChangeLog       |   6 ++
 Makefile.in     |   3 +-
 style/hologo.el | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 241 insertions(+), 1 deletion(-)
 create mode 100644 style/hologo.el

diff --git a/ChangeLog b/ChangeLog
index ca1d4e3..60debf1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-31  Arash Esbati  <[email protected]>
+
+	* Makefile.in (STYLESRC): Add new style.
+
+	* style/hologo.el: New file.
+
 2015-10-28  Tassilo Horn  <[email protected]>
 
 	* latex.el (LaTeX-fill-break-at-separators): Default to nil
diff --git a/Makefile.in b/Makefile.in
index ba31c43..c1d5059 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -152,7 +152,8 @@ STYLESRC = style/prosper.el \
 	   style/mnras.el     style/environ.el   style/polyglossia.el \
 	   style/vwcol.el     style/textpos.el   style/transparent.el \
 	   style/fontenc.el   style/Alegreya.el  style/gloss-italian.el \
-	   style/newfloat.el  style/subcaption.el style/AlegreyaSans.el
+	   style/newfloat.el  style/subcaption.el style/AlegreyaSans.el \
+	   style/hologo.el
 
 STYLEELC = $(STYLESRC:.el=.elc)
 
diff --git a/style/hologo.el b/style/hologo.el
new file mode 100644
index 0000000..1795870
--- /dev/null
+++ b/style/hologo.el
@@ -0,0 +1,233 @@
+;;; holog.el --- AUCTeX style for `hologo.sty' (v1.10)
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <esbati'at'gmx.de>
+;; Maintainer: [email protected]
+;; Created: 2015-10-31
+;; 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 `hologo.sty' (v1.10) from 2012/04/26.
+;;  `hologo.sty' is part of TeXLive.
+
+;;; Code:
+
+(defvar LaTeX-hologo-logo-names
+  '("(La)TeX"
+    "AmSLaTeX"
+    "AmSTeX"
+    "biber"
+    "BibTeX"
+    "BibTeX8"
+    "ConTeXt"
+    "emTeX"
+    "eTeX"
+    "ExTeX"
+    "HanTheThanh"
+    "iniTeX"
+    "KOMAScript"
+    "La"
+    "LaTeX"
+    "LaTeX2e"
+    "LaTeX3"
+    "LaTeXe"
+    "LaTeXML"
+    "LaTeXTeX"
+    "LuaLaTeX"
+    "LuaTeX"
+    "LyX"
+    "METAFONT"
+    "MetaFun"
+    "METAPOST"
+    "MetaPost"
+    "MiKTeX"
+    "NTS"
+    "OzMF"
+    "OzMP"
+    "OzTeX"
+    "OzTtH"
+    "PCTeX"
+    "pdfTeX"
+    "pdfLaTeX"
+    "PiC"
+    "PiCTeX"
+    "plainTeX"
+    "SageTeX"
+    "SLiTeX"
+    "SliTeX"
+    "teTeX"
+    "TeX"
+    "TeX4ht"
+    "TTH"
+    "virTeX"
+    "VTeX"
+    "Xe"
+    "XeLaTeX"
+    "XeTeX")
+  "List of logos provided by \"hologo.sty\".")
+
+(defvar LaTeX-hologo-key-val-options-global
+  '(("break"              ("true" "false"))
+    ("hyphenbreak"        ("true" "false"))
+    ("spacebreak"         ("true" "false"))
+    ("discretionarybreak" ("true" "false")))
+  "Global key=value options for hologo macros.")
+
+(defvar LaTeX-hologo-key-val-options-local
+  '(("variant" ("sf" "sc"                          ; BibTeX
+		"lift"                             ; SliTeX
+		"narrow" "simple"                  ; SliTeX, ConTeXt
+		"space"  "hyphen" "runtogether"))) ; plainTeX
+  "Local key=value options for hologo macros.")
+
+(TeX-add-style-hook
+ "hologo"
+ (lambda ()
+   (TeX-add-symbols
+
+    ;; Insert logo macros
+    '("hologo" (TeX-arg-eval completing-read
+			     "Logo name: " LaTeX-hologo-logo-names))
+
+    '("Hologo" (TeX-arg-eval completing-read
+			     "Logo name: " LaTeX-hologo-logo-names))
+
+    ;; Setup macros
+    '("hologoSetup" (TeX-arg-key-val LaTeX-hologo-key-val-options-global))
+
+    '("hologoLogoSetup"
+      (TeX-arg-eval
+       (lambda ()
+	 (let* ((logo   (completing-read "Logo name: " LaTeX-hologo-logo-names))
+		(keyval (TeX-read-key-val
+			 nil
+			 (cond ((string= logo "BibTeX")
+				(append '(("variant" ("sf" "sc")))
+					LaTeX-hologo-key-val-options-global))
+			       ((string= logo "ConTeXt")
+				(append '(("variant" ("narrow" "simple")))
+					LaTeX-hologo-key-val-options-global))
+			       ((string= logo "plainTeX")
+				(append '(("variant" ("space" "hyphen" "runtogether")))
+					LaTeX-hologo-key-val-options-global))
+			       ((or (string= logo "SLiTeX")
+				    (string= logo "SliTeX"))
+				(append '(("variant" ("lift" "narrow" "lift")))
+					LaTeX-hologo-key-val-options-global))
+			       (t
+				LaTeX-hologo-key-val-options-global)))))
+	   (TeX-argument-insert logo optional)
+	   (format "%s" keyval)))))
+
+    '("hologoDriverSetup" (TeX-arg-eval completing-read
+					"Driver: "
+					'("pdftex"  "luatex"
+					  "dvipdfm" "dvipdfmx"
+					  "dvips"   "dvipsone" "xdvi"
+					  "xetex"   "vtex"     "driverfallback")))
+
+    '("hologoFontSetup"
+      (TeX-arg-key-val (("general") ("bibsf")
+			("rm") ("sc") ("sf") ("sy") ("logo"))))
+
+    '("hologoLogoFontSetup"
+      (TeX-arg-eval
+       (lambda ()
+	 (let* ((logo   (completing-read "Logo name: "
+					 '("BibTeX"
+					   "ExTeX"
+					   "SliTeX"
+					   "AmS"
+					   "NTS"
+					   "KOMAScript"
+					   "METAFONT"
+					   "METAPOST")))
+		(keyval (TeX-read-key-val
+			 nil
+			 (cond ((string= logo "BibTeX")
+				'(("bibsf") ("sc")))
+			       ((string= logo "ExTeX")
+				'(("rm") ("sy")))
+			       ((string= logo "SliTeX")
+				'(("rm") ("sc")))
+			       ((or (string= logo "AmS")
+				    (string= logo "NTS"))
+				'(("sy")))
+			       ((string= logo "KOMAScript")
+				'(("sf")))
+			       ((or (string= logo "METAFONT")
+				    (string= logo "METAPOST"))
+				'(("logo")))
+			       (t
+				nil)))))
+	   (TeX-argument-insert logo optional)
+	   (format "%s" keyval)))))
+
+    ;; Additional user macros
+    '("hologoVariant"
+      (TeX-arg-eval completing-read
+		    "Logo name: " LaTeX-hologo-logo-names)
+      (TeX-arg-eval
+       (lambda ()
+	 (let ((setup (TeX-read-key-val
+		       nil
+		       (append LaTeX-hologo-key-val-options-local
+			       LaTeX-hologo-key-val-options-global))))
+	   (format "%s" setup)))))
+
+    '("HologoVariant"
+      (TeX-arg-eval completing-read
+		    "Logo name: " LaTeX-hologo-logo-names)
+      (TeX-arg-eval
+       (lambda ()
+	 (let ((setup (TeX-read-key-val
+		       nil
+		       (append LaTeX-hologo-key-val-options-local
+			       LaTeX-hologo-key-val-options-global))))
+	   (format "%s" setup)))))
+
+    '("hologoList" 0)
+
+    '("hologoEntry" "Logo name" "Variant" "Since"))
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+	      (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("hologo"   "{")
+				("Hologo"   "{"))
+			      'textual)
+     (font-latex-add-keywords '(("hologoSetup"         "{")
+				("hologoLogoSetup"     "{{")
+				("hologoDriverSetup"   "{")
+				("hologoFontSetup"     "{")
+				("hologoLogoFontSetup" "{{")
+				("hologoVariant"       "{{")
+				("HologoVariant"       "{{")
+				("hologoList"          "")
+				("hologoEntry"         "{{{"))
+			      'function)))
+ LaTeX-dialect)
+
+(defvar LaTeX-hologo-package-options nil
+  "Package options for the hologo package.")
+
+;;; hologo.el ends here
-- 
2.6.2

_______________________________________________
auctex-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/auctex-devel

Reply via email to