summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/titleps.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/style/titleps.el')
-rw-r--r--elpa/auctex-13.1.3/style/titleps.el245
1 files changed, 245 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/titleps.el b/elpa/auctex-13.1.3/style/titleps.el
new file mode 100644
index 0000000..8de8b1d
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/titleps.el
@@ -0,0 +1,245 @@
+;;; titleps.el --- AUCTeX style for `titleps.sty' (v1.1.1) -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2016--2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2016-06-22
+;; 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 `titleps.sty' (v1.1.1) from 2016/03/15.
+;; `titleps.sty' is part of TeXLive.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(defvar LaTeX-titleps-section-command-list
+ '("part"
+ "chapter"
+ "section"
+ "subsection"
+ "subsubsection"
+ "paragraph"
+ "subparagraph")
+ "List of sectioning commands available in \"titleps.sty\".")
+
+(defun LaTeX-titleps-section-command-list ()
+ "Remove \"chapter\" from variable
+`LaTeX-titleps-section-command-list' and return the remainder.
+Removal is based on the return value of function
+`LaTeX-largest-level'."
+ (if (< (LaTeX-largest-level) 2)
+ (symbol-value 'LaTeX-titleps-section-command-list)
+ (remove "chapter" LaTeX-titleps-section-command-list)))
+
+(defvar LaTeX-titleps-newpagestyle-regexp
+ '("\\\\newpagestyle[ \t\n\r%]*{\\([^}]+\\)}" 1 LaTeX-auto-pagestyle)
+ "Match the argument of \"\\newpagestyle\" from titleps.sty.")
+
+(add-hook 'TeX-update-style-hook #'TeX-auto-parse t)
+
+(TeX-add-style-hook
+ "titleps"
+ (lambda ()
+
+ ;; Add titleps to the parser.
+ (TeX-auto-add-regexp LaTeX-titleps-newpagestyle-regexp)
+
+ ;; Add \<section>title's
+ (dolist (sec (LaTeX-titleps-section-command-list))
+ (TeX-add-symbols `(,(concat sec "title") 0)))
+
+ (TeX-add-symbols
+ ;; 2. Defining Page Styles
+ '("newpagestyle"
+ (TeX-arg-eval
+ (lambda ()
+ (let ((ps (TeX-read-string
+ (TeX-argument-prompt nil nil "Page style"))))
+ (LaTeX-add-pagestyles ps)
+ (format "%s" ps))))
+ (TeX-arg-conditional (y-or-n-p "With optional global style? ")
+ ( [ t ] nil)
+ ( t )))
+
+ '("renewpagestyle" TeX-arg-pagestyle
+ (TeX-arg-conditional (y-or-n-p "With optional global style? ")
+ ( [ t ] nil)
+ ( t )))
+
+ '("sethead"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil)
+ ( 3 )))
+
+ '("setfoot"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil)
+ ( 3 )))
+
+ '("sethead*" 3)
+ '("setfoot*" 3)
+
+ '("settitlemarks"
+ (TeX-arg-eval mapconcat #'identity
+ (TeX-completing-read-multiple
+ (TeX-argument-prompt nil nil "Level names")
+ (LaTeX-titleps-section-command-list))
+ ","))
+
+ '("settitlemarks"
+ (TeX-arg-eval mapconcat #'identity
+ (TeX-completing-read-multiple
+ (TeX-argument-prompt nil nil "Level names")
+ (LaTeX-titleps-section-command-list))
+ ","))
+
+ '("headrule" 0)
+ '("setheadrule" "Thickness")
+
+ '("footrule" 0)
+ '("setfootrule" "Thickness")
+
+ '("makeheadrule" 0)
+ '("makefootrule" 0)
+
+ ;; 3. On \markboth and \markleft
+ '("setmarkboth" t)
+ '("resetmarkboth" 0)
+
+ ;; 4. Headline/footline width
+ '("widenhead"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 2 ] nil nil)
+ ( 2 )))
+
+ '("widenhead*" 2)
+
+ '("TitlepsPatchSection"
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Sectioning command")
+ (LaTeX-titleps-section-command-list)))
+
+ '("TitlepsPatchSection*"
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Sectioning command")
+ (LaTeX-titleps-section-command-list)))
+
+ ;; 5. Marks
+ '("bottitlemarks" 0)
+ '("toptitlemarks" 0)
+ '("firsttitlemarks" 0)
+ '("nexttoptitlemarks" 0)
+ '("outertitlemarks" 0)
+ '("innertitlemarks" 0)
+
+ '("newtitlemark" (TeX-arg-macro "Command name"))
+ '("newtitlemark*" (TeX-arg-counter "Variable name"))
+
+ '("pretitlemark"
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Sectioning command")
+ (LaTeX-titleps-section-command-list))
+ "Text")
+
+ '("pretitlemark*"
+ (TeX-arg-eval completing-read
+ (TeX-argument-prompt nil nil "Sectioning command")
+ (LaTeX-titleps-section-command-list))
+ "Text")
+
+ '("ifsamemark"
+ (TeX-arg-macro "Marks group: \\")
+ (TeX-arg-macro "Command: \\")
+ 2)
+
+ ;; 6. Running heads with floats
+ '("setfloathead"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil nil [ nil ] )
+ ( 4 [ nil ] )))
+
+ '("setfloatfoot"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil nil [ nil ] )
+ ( 4 [ nil ] )))
+
+ '("setfloathead*" 4 [ nil ] )
+ '("setfloatfoot*" 4 [ nil ] )
+
+ '("nextfloathead"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil nil [ nil ] )
+ ( 4 [ nil ] )))
+
+ '("nextfloatfoot"
+ (TeX-arg-conditional (y-or-n-p "With optional even pages? ")
+ ( [ 3 ] nil nil nil nil [ nil ] )
+ ( 4 [ nil ] )))
+
+ '("nextfloathead*" 4 [ nil ] )
+ '("nextfloatfoot*" 4 [ nil ] )
+
+ ;; 7. Extra marks: I'm not clear how the marks commands work;
+ ;; until then, I ignore them
+ )
+
+ ;; Don't increase indent at \ifsamemark:
+ (add-to-list 'LaTeX-indent-begin-exceptions-list "ifsamemark" t)
+ (LaTeX-indent-commands-regexp-make)
+
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("newpagestyle" "{[{")
+ ("renewpagestyle" "{[{")
+ ("settitlemarks" "*{")
+ ("widenhead" "*[[{{")
+ ("TitlepsPatchSection" "*{")
+ ("newtitlemark" "*{")
+ ("pretitlemark" "*{{")
+ ("nextfloathead" "*[[[{{{{[")
+ ("nextfloatfoot" "*[[[{{{{["))
+ 'function)))
+ TeX-dialect)
+
+(defvar LaTeX-titleps-package-options
+ '(;; 4. Headline/footline width
+ "nopatches"
+
+ ;; 5. Marks
+ "outermarks" "innermarks" "topmarks" "botmarks"
+
+ ;; 6. Running heads with floats
+ "psfloats"
+
+ ;; 7. Extra marks
+ "extramarks")
+ "Package options for the titleps package.")
+
+;;; titleps.el ends here