summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/algorithm.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/style/algorithm.el')
-rw-r--r--elpa/auctex-13.1.3/style/algorithm.el80
1 files changed, 80 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/algorithm.el b/elpa/auctex-13.1.3/style/algorithm.el
new file mode 100644
index 0000000..8500f44
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/algorithm.el
@@ -0,0 +1,80 @@
+;;; algorithm.el --- AUCTeX style for the (LaTeX) algorithm package -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2020 Free Software Foundation, Inc.
+
+;; Author: Uwe Brauer <oub@mat.ucm.es>
+;; Created: 2020-01-26
+;; 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 algorithm package.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+(defvar LaTeX-algorithm-package-options
+ '(;; Appearance options:
+ "plain" "ruled" "boxed"
+ ;; Numbering convention:
+ "part" "chapter" "section" "subsection" "subsubsection" "nothing")
+ "Package options for the algorithm package.")
+
+(defun LaTeX-env-algorithm (environment)
+ "Insert a algorithm-like ENVIRONMENT with caption and label."
+ (let* ((pos (completing-read (TeX-argument-prompt t nil "Position")
+ '(("H"))))
+ (caption (TeX-read-string "Caption: "))
+ (short-caption (when (>= (length caption) LaTeX-short-caption-prompt-length)
+ (TeX-read-string "(Optional) Short caption: "))))
+ (LaTeX-insert-environment environment
+ (concat
+ (unless (zerop (length pos))
+ (concat LaTeX-optop pos LaTeX-optcl))))
+ ;; top caption -- do nothing if user skips caption
+ (unless (zerop (length caption))
+ ;; insert `\caption[short-caption]{caption':
+ (insert TeX-esc "caption")
+ (when (and short-caption (not (string= short-caption "")))
+ (insert LaTeX-optop short-caption LaTeX-optcl))
+ (insert TeX-grop caption)
+ ;; Add } to close `\caption{'
+ (insert TeX-grcl)
+ ;; fill the caption
+ (when auto-fill-function (LaTeX-fill-paragraph))
+ ;; Insert a new line and indent
+ (LaTeX-newline)
+ (indent-according-to-mode)
+ ;; Finally add a \label:
+ (when (LaTeX-label environment 'environment)
+ (LaTeX-newline)
+ (indent-according-to-mode)))))
+
+(TeX-add-style-hook
+ "algorithm"
+ (lambda ()
+ (LaTeX-add-environments
+ '("algorithm" LaTeX-env-algorithm))
+ (TeX-add-symbols
+ '("listofalgorithms" 0)))
+ TeX-dialect)
+
+;;; algorithm.el ends here