]> code.delx.au - gnu-emacs-elpa/blobdiff - packages/auctex/style/beamer.el
* GNUmakefile: Obey a .elpaignore file in a package's root directory.
[gnu-emacs-elpa] / packages / auctex / style / beamer.el
diff --git a/packages/auctex/style/beamer.el b/packages/auctex/style/beamer.el
deleted file mode 100644 (file)
index 7b911cd..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-;;; beamer.el --- AUCTeX style for the latex-beamer class
-
-;; Copyright (C) 2003, 2004, 2005,2008 Free Software Foundation
-
-;; Author: Thomas Baumann <thomas.baumann@ch.tum.de>
-;; Created: 2003-12-20
-;; 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 the latex-beamer class.
-
-;;; Code:
-
-(defun LaTeX-beamer-after-insert-env (env start end)
-  "Do beamer-specific stuff after the insertion of an environment."
-  ;; Add `fragile' as an optional argument to the frame environment if
-  ;; a verbatim environment is inserted.
-  (when (and (TeX-member env (LaTeX-verbatim-environments) 'string-equal)
-            (save-excursion
-              (goto-char start)
-              (string-equal (LaTeX-current-environment) "frame")))
-    (save-excursion
-      (when (re-search-backward "\\\\begin[ \t]*{frame}" nil t)
-       (let ((end-of-begin (match-end 0)))
-         (goto-char end-of-begin)
-         (while (forward-comment 1))
-         (if (eq (char-after) (string-to-char LaTeX-optop))
-             (progn
-               (forward-char)
-               (insert "fragile")
-               (unless (looking-at (concat "[ \t]*" LaTeX-optcl))
-                 (insert ",")))
-           (goto-char end-of-begin)
-           (insert "[fragile]")))))))
-
-(TeX-add-style-hook
- "beamer"
- (lambda ()
-   (add-hook 'LaTeX-after-insert-env-hooks 'LaTeX-beamer-after-insert-env nil t)
-
-   (unless LaTeX-beamer-section-labels-flag
-     (make-local-variable 'LaTeX-section-hook)
-     (setq LaTeX-section-hook
-          '(LaTeX-section-heading
-            LaTeX-section-title
-            LaTeX-section-section)))
-
-   (setq LaTeX-item-list
-        (append '(("itemize" . LaTeX-item-beamer)
-                  ("enumerate" . LaTeX-item-beamer))
-                LaTeX-item-list))
-
-   (LaTeX-paragraph-commands-add-locally "frametitle")
-
-   (TeX-add-symbols
-    '("alert" 1)
-    '("alt" TeX-arg-beamer-overlay-spec 2)
-    '("beamerbutton" 1)
-    '("beamergotobutton" 1)
-    '("beamerreturnbutton" 1)
-    '("beamerskipbutton" 1)
-    '("frame" TeX-arg-beamer-frametitle)
-    '("frametitle" 1)
-    '("hyperlink" TeX-arg-beamer-overlay-spec 2)
-    '("hyperlinkslideprev" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkslidenext" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkframestart" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkframeend" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkframestartnext" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkframeendprev" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkpresentationstart" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkpresentationend" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkappendixstart" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkappendixend" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkdocumentstart" TeX-arg-beamer-overlay-spec 1)
-    '("hyperlinkdocumentend" TeX-arg-beamer-overlay-spec 1)
-    '("hypertarget" TeX-arg-beamer-overlay-spec 2)
-    '("institute" 1)
-    '("invisible" TeX-arg-beamer-overlay-spec 1)
-    '("label" TeX-arg-beamer-overlay-spec 1)
-    '("logo" 1)
-    '("note" TeX-arg-beamer-note 1)
-    '("only" TeX-arg-beamer-overlay-spec 1)
-    '("onslide" TeX-arg-beamer-overlay-spec)
-    '("partpage")
-    '("pause")
-    '("structure" TeX-arg-beamer-overlay-spec 1)
-    '("temporal" TeX-arg-beamer-overlay-spec 3)
-    '("titlepage")
-    '("titlegraphic" 1)
-    '("uncover" TeX-arg-beamer-overlay-spec 1)
-    '("usetheme" LaTeX-arg-beamer-theme)
-    '("useinnertheme" LaTeX-arg-beamer-inner-theme)
-    '("useoutertheme" LaTeX-arg-beamer-outer-theme)
-    '("usecolortheme" LaTeX-arg-beamer-color-theme)
-    '("usefonttheme" LaTeX-arg-beamer-font-theme)
-    '("usetheme" LaTeX-arg-beamer-theme)
-    '("visible" TeX-arg-beamer-overlay-spec 1))
-
-   (LaTeX-add-environments
-    '("actionenv")
-    '("alertblock" 1)
-    '("beamerboxesrounded" 1)
-    '("block" 1)
-    '("column" "Width")
-    "columns"
-    "columnsonlytextwidth"
-    '("exampleblock" 1)
-    '("frame"  (lambda (env &rest ignore)
-                (let ((title (read-string "(Optional) Title: ")))
-                  (LaTeX-insert-environment env)
-                  (unless (zerop (length title))
-                    (save-excursion
-                      (LaTeX-find-matching-begin)
-                      (end-of-line)
-                      (LaTeX-newline)
-                      (insert (format "\\frametitle{%s}" title))
-                      ;; This works because \frametitle is a
-                      ;; paragraph command.
-                      (backward-char)
-                      (LaTeX-fill-paragraph))))))
-    '("onlyenv" (lambda (env &rest ignore)
-                 (LaTeX-insert-environment
-                  env
-                  (let ((overlay (read-string "(Optional) Overlay: ")))
-                    (unless (zerop (length overlay))
-                      (format "<%s>" overlay))))))
-    '("overlayarea" "Area width" "Area height")
-    '("overprint"  (lambda (env &rest ignore)
-                    (LaTeX-insert-environment
-                     env
-                     (let ((width (read-string "(Optional) Area width: ")))
-                       (unless (zerop (length width))
-                         (format "[%s]" width))))))
-    "semiverbatim")
-
-   (make-local-variable 'LaTeX-indent-environment-list)
-   (add-to-list 'LaTeX-indent-environment-list
-               '("semiverbatim" current-indentation))
-   (make-local-variable 'LaTeX-verbatim-regexp)
-   (setq LaTeX-verbatim-regexp (concat LaTeX-verbatim-regexp "\\|semiverbatim"))
-   (add-to-list 'LaTeX-verbatim-environments-local "semiverbatim")
-
-   ;; Fontification
-   (when (and (featurep 'font-latex)
-             (eq TeX-install-font-lock 'font-latex-setup))
-     (font-latex-add-keywords '(("frametitle" "<[{")) 'slide-title)
-     ;; For syntactic fontification, e.g. verbatim constructs.
-     (font-latex-set-syntactic-keywords)
-     ;; Tell font-lock about the update.
-     (setq font-lock-set-defaults nil)
-     (font-lock-set-defaults))))
-
-(defun TeX-arg-beamer-overlay-spec (optional &optional prompt)
-  "Prompt for overlay specification." 
-  (let ((overlay (read-string "(Optional) Overlay: ")))
-    (unless (zerop (length overlay))
-      (insert "<" overlay ">"))
-    (indent-according-to-mode)))
-
-(defun TeX-arg-beamer-frametitle (optional &optional prompt)
-  "Prompt for the frametitle."
-  (let ((title (read-string "Title: ")))
-    (if (not (zerop (length title)))
-        (insert TeX-grop TeX-esc "frametitle" TeX-grop 
-               title TeX-grcl TeX-grcl)
-      (insert TeX-grop TeX-grcl))))
-
-(defun LaTeX-item-beamer ()
-  "Insert a new item with an optional overlay argument. You 
-can turn off the prompt for the overlay argument by setting 
-`LaTeX-beamer-item-overlay-flag' to nil. Calling the function
-with a prefix argument prompts for the overlay specification
-unconditionally."
-  (if (listp current-prefix-arg)
-      (setq current-prefix-arg (car current-prefix-arg))
-    current-prefix-arg)
-  (TeX-insert-macro "item")
-  (delete-horizontal-space)
-  (if (or current-prefix-arg LaTeX-beamer-item-overlay-flag)
-      (TeX-arg-beamer-overlay-spec 0))
-  (insert " ")
-  (indent-according-to-mode))
-  
-(defun TeX-arg-beamer-note (optional &optional prompt)
-  "Prompt for overlay specification and optional argument."
-  (let ((overlay (read-string "(Optional) Overlay: "))
-        (options (read-string "(Optional) Options: ")))
-    (unless (zerop (length overlay))
-      (insert "<" overlay ">"))
-    (unless (zerop (length options))
-      (insert "[" options "]"))
-    (indent-according-to-mode)))
-
-(defun LaTeX-beamer-search-themes (&optional regexp extensions length)
-  "Search for beamer themes matching REGEXP with EXTENSIONS.
-The function removes the first LENGTH characters and the
-extension of the file and returns a list of strings.  LENGTH may
-also be a string.  Then the length of the string is used."
-  (let* ((match (or regexp "^beamertheme[A-Z]"))
-        (exts  (or extensions '("tex" "sty")))
-        (chars (cond ((integerp length)
-                      length)
-                     ((stringp length)
-                      (string-width length))
-                     ;; Try some DWIM magic...
-                     ((and (not length)
-                           (string-match "beamer[A-Za-z0-9]*theme" match))
-                      (- (match-end 0) (match-beginning 0)))
-                     (t (error "Invalid length: `%s'" length)))))
-    ;; (message "match=`%s' chars=`%s'" match chars)
-    (TeX-delete-duplicate-strings
-     (delete nil
-            (mapcar
-             (lambda (file)
-               (let ((case-fold-search nil))
-                 (and (numberp (string-match match file))
-                      (substring file chars))))
-             (TeX-search-files nil exts t t))))))
-
-(defun LaTeX-arg-beamer-theme (&rest ignore)
-  "Prompt for beamer theme with completion."
-  (TeX-argument-insert
-   (completing-read
-    (TeX-argument-prompt nil nil "Theme")
-    (mapcar 'list
-           (cond ((eq LaTeX-beamer-themes 'local)
-                  (set (make-local-variable 'LaTeX-beamer-themes)
-                       (LaTeX-beamer-search-themes)))
-                 ((functionp LaTeX-beamer-themes)
-                  (funcall LaTeX-beamer-themes))
-                 ((listp LaTeX-beamer-themes)
-                  LaTeX-beamer-themes)
-                 (t (error
-                     "`LaTeX-beamer-themes' should be a list: `%s'"
-                     LaTeX-beamer-themes))))
-    nil nil nil)
-   t))
-
-(defun LaTeX-arg-beamer-inner-theme (&rest ignore)
-  "Prompt for beamer inner theme with completion."
-  (TeX-argument-insert
-   (completing-read
-    (TeX-argument-prompt nil nil "Theme")
-    (mapcar 'list
-           (cond ((eq LaTeX-beamer-inner-themes 'local)
-                  (set (make-local-variable 'LaTeX-beamer-inner-themes)
-                       (LaTeX-beamer-search-themes "^beamerinnertheme")))
-                 ((functionp LaTeX-beamer-inner-themes)
-                  (funcall LaTeX-beamer-inner-themes))
-                 ((listp LaTeX-beamer-inner-themes)
-                  LaTeX-beamer-inner-themes)
-                 (t (error
-                     "`LaTeX-beamer-inner-themes' should be a list: `%s'"
-                     LaTeX-beamer-inner-themes))))
-    nil nil nil)
-   t))
-
-(defun LaTeX-arg-beamer-outer-theme (&rest ignore)
-  "Prompt for beamer outer theme with completion."
-  (TeX-argument-insert
-   (completing-read
-    (TeX-argument-prompt nil nil "Theme")
-    (mapcar 'list
-           (cond ((eq LaTeX-beamer-outer-themes 'local)
-                  (set (make-local-variable 'LaTeX-beamer-outer-themes)
-                       (LaTeX-beamer-search-themes "^beameroutertheme")))
-                 ((functionp LaTeX-beamer-outer-themes)
-                  (funcall LaTeX-beamer-outer-themes))
-                 ((listp LaTeX-beamer-outer-themes)
-                  LaTeX-beamer-outer-themes)
-                 (t (error
-                     "`LaTeX-beamer-outer-themes' should be a list: `%s'"
-                     LaTeX-beamer-outer-themes))))
-    nil nil nil)
-   t))
-
-(defun LaTeX-arg-beamer-color-theme (&rest ignore)
-  "Prompt for beamer color theme with completion."
-  (TeX-argument-insert
-   (completing-read
-    (TeX-argument-prompt nil nil "Theme")
-    (mapcar 'list
-           (cond ((eq LaTeX-beamer-color-themes 'local)
-                  (set (make-local-variable 'LaTeX-beamer-color-themes)
-                       (LaTeX-beamer-search-themes "^beamercolortheme")))
-                 ((functionp LaTeX-beamer-color-themes)
-                  (funcall LaTeX-beamer-color-themes))
-                 ((listp LaTeX-beamer-color-themes)
-                  LaTeX-beamer-color-themes)
-                 (t (error
-                     "`LaTeX-beamer-color-themes' should be a list: `%s'"
-                     LaTeX-beamer-color-themes))))
-    nil nil nil)
-   t))
-
-(defun LaTeX-arg-beamer-font-theme (&rest ignore)
-  "Prompt for beamer font theme with completion."
-  (TeX-argument-insert
-   (completing-read
-    (TeX-argument-prompt nil nil "Theme")
-    (mapcar 'list
-           (cond ((eq LaTeX-beamer-font-themes 'local)
-                  (set (make-local-variable 'LaTeX-beamer-font-themes)
-                       (LaTeX-beamer-search-themes "^beamerfonttheme")))
-                 ((functionp LaTeX-beamer-font-themes)
-                  (funcall LaTeX-beamer-font-themes))
-                 ((listp LaTeX-beamer-font-themes)
-                  LaTeX-beamer-font-themes)
-                 (t (error
-                     "`LaTeX-beamer-font-themes' should be a list: `%s'"
-                     LaTeX-beamer-font-themes))))
-    nil nil nil)
-   t))
-
-;;; beamer.el ends here