
コマンドにさらに 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]