Beamerで数式に背景色をつけるアニメーションのコマンド書いた
概要
- Beamer向けに以下の画像に示してるような,数式に背景をつけるアニメーションを作れるコマンドを書いた
- LaTeXのコードが
\onslide
で汚くならず,すっきり書けるようになって便利になった - コマンド自体はシンプルだけど,Beamerの
\alt
コマンドやスライド番号を引数に受け取る方法など,調べることが多かったのでメモ - Overleafのテンプレ作って公開した (2021/5/9追記)
追記 (2021/5/9): Overleafでテンプレート公開した
紹介記事っぽいのも改めて書いた:
この記事で紹介してるコマンドをOverleafで使うと
「エディタ上で文法エラーが出るけどコンパイルは通る」現象が起こることがある
(\highlightcap
のキャプション中にさらに数式入れようとしたときとか).
公式に問い合わせたところ,Overleafの文法チェック機能とLaTeXの文法チェックは異なっていて,
そんなエキゾチックな書き方には対応してないよ!って言われた.
エラーがうっとうしいときは下記のようにnovalidate
で囲えばいいとのこと.
%%begin novalidate ここに書いたテキストはOverleafの文法チェックから無視される %%end novalidate
作ったコマンド
以下の\highlight
と\highlightcap
の2種類.
% 数式に背景色をつけるコマンド \newcommand<>{\highlight}[2][red]{% \alt#3{% \tikz[baseline=(x.base)]{ \node[rectangle,rounded corners,fill=#1!10](x){$#2$}; }% }{% #2 }% } % 数式に背景色とキャプションをつけるコマンド \newcommand<>{\highlightcap}[3][red]{% \alt#4{% \tikz[baseline=(x.base)]{ \node[rectangle,rounded corners,fill=#1!10](x){$#2$}; \node[anchor=north, color=#1, align=center] at (x.south) {#3}; }% }{% #2 }% }
これらのコマンドは,以下のページで紹介されているものをベースに機能を拡張したもの.
サンプルスライド
上記コマンドを利用して作ったスライド例が以下. 数式部分のLaTeXコードもスライドに載せてある.
自分も研究室輪講のスライドで実際に使っていて, 一度元の数式見せてから補足とか解釈をアニメーションで足せるのは中々しゃべりやすくて良かった.
コマンドを作るのに使った文法とか
\alt
コマンド
公式ドキュメントのSection 9.3に説明がある.
http://tug.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf#subsection.9.3
定義は
\alt<⟨overlay specification⟩>{⟨default text⟩}{⟨alternative text⟩}
のようになっていて,
overlay specification
を満たすときは一つ目,それ以外は二つ目の引数のテキストを表示する.
公式ドキュメントにある例:\alt<2>{On Slide 2}{Not on slide 2.}
で覚えておくといいと思う.
\newcommand<>
公式ドキュメントではSection 9.6に説明がある.
http://tug.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf#subsection.9.6
簡単に説明すると,通常の\newcommand
に<>
をつけるとoverlay specificationを
扱えるコマンドを新しく定義できる.
overlay specificationは引数の一番後ろに追加されるので,
例えば\newcommand<>{\highlightcap}[3]{ ... }
のように定義すると,
コマンド内では#4
でoverlay specificationを参照することができる.
おわり
価格:3,520円 |
インストールいらずのLATEX入門 Overleafで手軽に文書作成 [ 坂東慶太 ] 価格:2,640円 |