![Beamerフレーム: ユーザーオプションの追加](https://rvso.com/image/298792/Beamer%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%3A%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E8%BF%BD%E5%8A%A0.png)
コマンドにさらに 2 つのユーザー オプションを追加したいと思います\frame
。ただし、\frame
特定の順序 (暗黙的な値を持つものを先頭にする) で両方のパラメーターを同時に呼び出すと、エラーが発生します。次のようになりますMWE
。
\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\define@key{beamerframe}{oneparam}[true]{%
\setbeamercolor{background canvas}{bg=black}
}
\define@key{beamerframe}{twoparam}{%
\color{#1}
}
% Default framestyle
\pretocmd{\beamer@@@@frame}
{
\setbeamercolor{background canvas}{bg=white}
\setbeamertemplate{background}{}
}
{}{}
\makeatother
\begin{document}
\frame[oneparam]{
Works
}
\frame[twoparam=red]{
Works
}
\frame[oneparam, twoparam=green]{
Fail
}
\frame[twoparam=green, oneparam]{
Works
}
\end{document}
エラーメッセージ:
パッケージ keyval エラー: twoparam が未定義です \frame[oneparam, twoparam=red]