monnier pushed a commit to branch externals/auctex in repository elpa. commit a80621cde5cc695cb2f5521f9346bb4569124a26 Author: Tassilo Horn <t...@gnu.org> Date: Sun Dec 30 17:05:47 2012 +0000
* latex.el (LaTeX-pagestyle-list): New variable. (TeX-arg-pagestyle): Use it. * style/imakeidx.el: New style by Mosè Giordano <giordano.m...@libero.it>. --- ChangeLog | 8 ++++ latex.el | 9 ++++- style/imakeidx.el | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 1 deletions(-) diff --git a/ChangeLog b/ChangeLog index e42a36a..199443d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2012-12-30 Mos� Giordano <giordano.m...@libero.it> + + * latex.el (LaTeX-pagestyle-list): New variable. + (TeX-arg-pagestyle): Use it. + + * style/imakeidx.el: New style by Mos� Giordano + <giordano.m...@libero.it>. + 2012-12-29 Ikumi Keita <ik...@ikumi.que.jp> * doc/tex-ref.tex: Fix apparent errors and add keybind entries for diff --git a/latex.el b/latex.el index 3245888..4f94cbf 100644 --- a/latex.el +++ b/latex.el @@ -1900,6 +1900,13 @@ string." nil t) optional)) +(defcustom LaTeX-pagestyle-list + '(("plain") ("empty") ("headings") ("myheadings")) + "A list of available pagestyles." + :group 'LaTeX + :type '(repeat (list (string)))) +(make-variable-buffer-local 'LaTeX-pagestyle-list) + (defun TeX-arg-pagestyle (optional &optional prompt) "Prompt for a LaTeX pagestyle with completion. If OPTIONAL is non-nil, insert the resulting value as an optional @@ -1907,7 +1914,7 @@ argument, otherwise as a mandatory one. Use PROMPT as the prompt string." (TeX-argument-insert (completing-read (TeX-argument-prompt optional prompt "Pagestyle") - '(("plain") ("empty") ("headings") ("myheadings"))) + LaTeX-pagestyle-list) optional)) (defcustom LaTeX-default-verb-delimiter ?| diff --git a/style/imakeidx.el b/style/imakeidx.el new file mode 100644 index 0000000..566300b --- /dev/null +++ b/style/imakeidx.el @@ -0,0 +1,101 @@ +;;; imakeidx.el --- AUCTeX style for `imakeidx.sty'. + +;; Copyright (C) 2012 Free Software Foundation, Inc. + +;; Maintainer: auctex-de...@gnu.org +;; Author: Mosè Giordano <giordano.m...@libero.it> +;; 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 `imakeidx.sty'. + +;;; Code: + +(defvar LaTeX-imakeidx-makeindex-options + '(("name") + ("title") + ("program" ("makeindex" "xindy" "texindy" "truexindy")) + ("options") + ("noautomatic" ("true" "false")) + ("intoc" ("true" "false")) + ("columns") + ("columnsep") + ("columnseprule" ("true" "false"))) + "Key=value options for makeindex macro of the imakeidx package.") + +(defvar LaTeX-imakeidx-indexsetup-options + '(("level") + ("toclevel") + ("noclearpage" ("true" "false")) + ("othercode")) + "Key=value options for indexsetup macro of the imakeidx package.") +(make-variable-buffer-local 'LaTeX-imakeidx-indexsetup-options) + +;; `firstpagestyle' and `headers' options for `indexsetup' macro are +;; available only if `fancyhdr' is not loaded. The following code +;; works only if `imakeidx' is loaded before `fancyhdr' +(unless (member "fancyhdr" TeX-active-styles) + ;; `firstpagestyle' key takes as value one of the available + ;; pagestyles. `LaTeX-pagestyle-list' is a list of lists of + ;; strings, we need a list of strings + (setq LaTeX-imakeidx-indexsetup-options + (append LaTeX-imakeidx-indexsetup-options + `(("firstpagestyle" ,(mapcar #'car LaTeX-pagestyle-list))) + '(("headers"))))) + +(TeX-add-style-hook "imakeidx" + (lambda () + (TeX-add-symbols + '("makeindex" [ (TeX-arg-key-val LaTeX-imakeidx-makeindex-options) ]) + '("indexsetup" (TeX-arg-key-val LaTeX-imakeidx-indexsetup-options)) + '("splitindexoptions" "Command line option") + '("index" [ "Index name" ] TeX-arg-index) + '("indexprologue" [ "Spacing" ] "Text") + '("printindex" [ "Index name" ]) + '("seealso" 2) + '("see" 2) + "seename" + "alsoname" + "indexname") + + (TeX-run-style-hooks + "multicol" + "xpatch" + "pdftexcmds" + "ifluatex" + "ifxetex" + "xkeyval") + + ;; Completion for the |see macro and RefTeX support taken from + ;; `makeidx.el' + (setq TeX-complete-list + (append + '(("|see{\\([^{}\n\r]*\\)" 1 LaTeX-index-entry-list)) + TeX-complete-list)) + (and (fboundp 'reftex-add-index-macros) + (reftex-add-index-macros '(default))))) + +(defvar LaTeX-imakeidx-package-options + '("makeindex" "xindy" "texindy" "truexindy" "noautomatic" "nonewpage" "quiet" + "original" "splitindex") + "Package options for the imakeidx package.") + +;; imakeidx.el ends here