auctex-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: beamer.el update candidate


From: Arash Esbati
Subject: Re: beamer.el update candidate
Date: Mon, 12 Dec 2022 12:11:33 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50

Hi Keita,

Ikumi Keita <ikumi@ikumi.que.jp> writes:

> Here is the updated style file. Give it a roll. ;-)

Thanks for the update.  May I suggest a small change like this:

--8<---------------cut here---------------start------------->8---
--- beamer.el~  2022-12-12 11:37:30.362157400 +0100
+++ beamer.el   2022-12-12 11:57:58.716753100 +0100
@@ -223,7 +223,8 @@

     '("uncover" [TeX-arg-beamer-overlay-spec] t)
     '("usetheme" ["Options"] LaTeX-arg-beamer-theme)
-    '("useinnertheme" ["Options"] LaTeX-arg-beamer-inner-theme)
+    '("useinnertheme" ["Options"]
+      (TeX-arg-completing-read (LaTeX-beamer-inner-themes-list) "Theme"))
     '("useoutertheme" ["Options"] LaTeX-arg-beamer-outer-theme)
     '("usecolortheme" ["Options"] LaTeX-arg-beamer-color-theme)
     '("usefonttheme" ["Options"] LaTeX-arg-beamer-font-theme)
@@ -275,11 +276,11 @@
     '("frame" LaTeX-env-args [TeX-arg-beamer-overlay-spec]
       [TeX-arg-beamer-default-overlay-spec]
       [TeX-arg-key-val (("allowdisplaybreaks" ("0" "1" "2" "3" "4"))
-                         ("allowframebreaks") ("b") ("c") ("t") ("s")
-                         ("noframenumbering")
-                         ("fragile" ("singleslide"))
-                         ("environment") ("label") ("plain") ("shrink")
-                         ("squeeze"))]
+                        ("allowframebreaks") ("b") ("c") ("t") ("s")
+                        ("noframenumbering")
+                        ("fragile" ("singleslide"))
+                        ("environment") ("label") ("plain") ("shrink")
+                        ("squeeze"))]
       LaTeX-beamer-env-frame)

     '("onlyenv" LaTeX-env-args [TeX-arg-beamer-overlay-spec])
@@ -504,24 +505,18 @@
     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-beamer-inner-themes-list ()
+  "Return a list of beamer inner themes for completion."
+  (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))))

 (defun LaTeX-arg-beamer-outer-theme (&rest _ignore)
   "Prompt for beamer outer theme with completion."
--8<---------------cut here---------------end--------------->8---

I.e., turn `LaTeX-arg-beamer-inner-theme' into a function which only
returns completion candidates and then use `TeX-arg-completing-read' in
the hook?  The same thing would also apply to

  • `LaTeX-arg-beamer-theme',
  • `LaTeX-arg-beamer-outer-theme',
  • `LaTeX-arg-beamer-color-theme' and
  • `LaTeX-arg-beamer-font-theme'.

WDYT?

Best, Arash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]