org beamer: Tweak metropolis theme

This commit is contained in:
TEC 2022-05-02 01:56:51 +08:00
parent d09796d23b
commit fe5c6de5d2
Signed by: tec
GPG Key ID: 779591AFDB81F06C
1 changed files with 28 additions and 2 deletions

View File

@ -9949,13 +9949,39 @@ It's nice to use a different theme
(setq org-beamer-theme "[progressbar=foot]metropolis")
#+end_src
#+begin_src emacs-lisp
When using metropolis though, we want to make a few tweaks:
#+name: beamer-metropolis-tweaks
#+begin_src LaTeX
\\NewCommandCopy{\\moldusetheme}{\\usetheme}
\\renewcommand*{\\usetheme}[2][]{\\moldusetheme[#1]{#2}
\\setbeamertemplate{items}{$\\bullet$}
\\setbeamerfont{block title}{size=\\normalsize, series=\\bfseries\\parbox{0pt}{\\rule{0pt}{4ex}}}}
\\makeatletter
\\newcommand{\\setmetropolislinewidth}{
\\setlength{\\metropolis@progressinheadfoot@linewidth}{1.2px}}
\\makeatother
\\usepackage{etoolbox}
\\AtEndPreamble{\\setmetropolislinewidth}
#+end_src
Now let's just apply this along with some extra beamer tweaks.
#+begin_src emacs-lisp :noweb no-export
(defun org-beamer-p (info)
(eq 'beamer (and (plist-get info :back-end) (org-export-backend-name (plist-get info :back-end)))))
(eq 'beamer (and (plist-get info :back-end)
(org-export-backend-name (plist-get info :back-end)))))
(add-to-list 'org-latex-conditional-features '(org-beamer-p . beamer) t)
(add-to-list 'org-latex-feature-implementations '(beamer :requires .missing-koma :prevents (italic-quotes condensed-lists)) t)
(add-to-list 'org-latex-feature-implementations '(.missing-koma :snippet "\\usepackage{scrextend}" :order 2) t)
(defvar org-beamer-metropolis-tweaks "
<<beamer-metropolis-tweaks>>
")
(add-to-list 'org-latex-conditional-features '((lambda (info) (and (org-beamer-p info) (string-match-p "metropolis$" org-beamer-theme))) . beamer-metropolis) t)
(add-to-list 'org-latex-feature-implementations '(beamer-metropolis :requires beamer :snippet org-beamer-metropolis-tweaks :order 3) t)
#+end_src
And I think that it's natural to divide a presentation into sections, e.g.