如何使用 keyval 选项处理

如何使用 keyval 选项处理

我正在尝试制作一个具有视图键值选项的命令/环境,与许多其他流行的包类似。

我找到了如何使用键值的描述,但示例不起作用。无论如何,能帮忙制作一个最小的键值配置命令my吗?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{keyval}

\define@key{my}{foo}{Foo is #1\par}
\define@key{my}{bar}[99]{Bar is #1\par}

\newcommand{\KV@my@foo}[1]{Foo is #1}

\begin{document}

\my{foo=3,bar}

\end{document}

在此处输入图片描述

答案1

在此处输入图片描述

定义键通常在包中,因此受到保护,@但您可以使用\makeatletter在序言中编写包代码。

\documentclass{article}

\usepackage{keyval}

\makeatletter
\define@key{my}{foo}{Foo is #1\par}
\define@key{my}{bar}[99]{Bar is #1\par}

\makeatother

\newcommand\my[1]{\setkeys{my}{#1}}

\begin{document}

\my{foo=3,bar}

\end{document}

相关内容