Hi Keita, Ikumi Keita <ik...@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