我想在\frame
命令中新增 2 個使用者選項。但是,當\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]