平衡点
2025/06/17
_ org-beamer での \section*{}
の扱い
org で文書を書いて beamer に export してスライドを作成する際に, ちょっとハマった(?)話.
何が問題なのか
beamer で \section*{}
や \subsection*{}
を使うと,
toc にエントリは追加されないものの, navigation には追加される → PDF の bookmark には追加されてしまう.
これを止めたいのだけれど, 上手くいかないね, というお話
発端
特定のスライドで背景画像を変えたい, ということがある場合,
中身の無い section
を入れて,
その直下で usebackgroundtemplate
で画像を切り変える, という事する.
なぜかと言うと, **
の内容は \begin{frame}
と \end{frame}
の中に展開されるので,
その上のレベルで背景画像を入れ替えたい, となるわけで.
#+OPTIONS: ... :h 2
* Song1 (This is a dummy heading at least for my purposes)
** Song 1 slide 1
%%% stuff %%%
** Song 1 slide 2
%%% etc. %%%
* Song2 (Dummy heading)
#+BEAMER: \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/image2.jpg}}%
** Song 2 slide 1
%%% stuff %%%
** Song 2 slide 2
%%% etc. %%%
* Song3 (Dummy heading)
#+BEAMER: \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/image3.jpg}}%
** Song 3 slide 1
%%% stuff %%%
** Song 3 slide 2
%%% etc. %%%
といった塩梅. で, こういう時に *Song 2
とか * Song3
がそのままだと
TOC に追加されちゃうので嫌だよね, というわけで
* Song2
:PROPERTIES:
:UNNUMBERED: t
:END:
#+BEAMER: \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/image2.jpg}}%
とかする. こうすると TeX に変換された時には \section*{}
になるのでめでたしめでたし…
と思ったら **beamerでのPDF bookmarkはtocではなくnavを見ている** ようで,
ダミーで入れた \section*{}
も表示されてしまう, と.
解決方法(?)
じゃあ, \section*{}
使わなきゃいいんじゃないの, ということで
(setq org-latex-classes '(("my:uplatex"
...
)
("my:beamer"
"\\RequirePackage{plautopatch}\n\\documentclass[dvipdfmx,c,presentation]{beamer}\n\\plautopatchdisable{eso-pic}\n\\ifdefined\\endofdump\\else\\let\\endofdump\\relax\\fi
[DEFAULT-PACKAGES] [NO-PACKAGES] [EXTRA]"
("\\section\{%s\}" . "%% %s")
("\\subsection\{%s\}" . "%% %s")
("\\subsubsection\{%s\}" . "%% %s"))
)
)
としてみたり.
こうすると
* Song2 (Dummy heading)
#+BEAMER: \usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/image2.jpg}}%
** Song 2 slide 1
%%% stuff %%%
** Song 2 slide 2
%%% etc. %%%
は
% Song2 (Dummy heading)
\label{sec:orge845205}
\usebackgroundtemplate{\includegraphics[width=\paperwidth]{images/image2.jpg}}%
\begin{frame}[label={sec:org646cd22},fragile]{Song 2 slide 1}
\%\%\% stuff \%\%\%
\end{frame}
\begin{frame}[label={sec:org9b996e8},fragile]{Song 2 slide 2}
\%\%\% etc. \%\%\%
\end{frame}
みたいに変換される(\label
が入っちゃうのはしょうがないかなぁ…).
まとめ
なんだかなぁ(笑).
にも 「 navigation に入れたくないなら \section
使わなきゃエエやん」としかなくてなんというか.
切り替えられると良いんだけれどね. もしくは hyperref の pdfbookmarkstype=toc
が使えれば.