キーを使用してコマンドに引数を渡すことはできませんか?

キーを使用してコマンドに引数を渡すことはできませんか?

私は大学で独自のLaTeXプリアンブルを使用しているため、 などのツールを使用してマクロを作成することにかなり慣れていますxparse。ただし、2 つの画像の中から自動的に選択する操作ができないのはなぜかわかりません。

アイデアとしては、ドラフト作業中に「ダークモード」のスタイルにすべてを設定するグローバルブール値を用意することです。基本的に重要なのは、

\setboolean{DARKMODE}{true}

私は SVG を使用して、論文のスタイルを少し整えます (詳細は重要ではありません)。私は SVG のライト モード バージョンとダーク モード バージョンを持っており、このsvgために パッケージを使用します (私の理解では、 内から SVG の色を設定することはできないため、これを行いますLaTeX)。

現在、私は次のものを所有しています:

\newcommand{\AddSvgHeight}[1]{%
    \ifthenelse{\boolean{DARKMODE}}{%
        \includesvg[height=#1px]{MySvg_White}
    }{%                      
        \includesvg[height=#1px]{MySvg_Black}
    }
}

コマンドで使用される高さキーに引数 (幅) を渡したいのです\includesvgが、次のエラーが発生します:

パッケージ scrbase エラー: 不明なオプション height=['. \OtherCommand

\OtherCommandこのコマンドを使用するコマンドはどこにありますか。

同じまたは類似の問題でいくつかのバリエーションを試しました。なぜこのようなことが起こるのでしょうか? このコマンドを定義するにはどうすればよいでしょうか?

答え1

何かタイプミスをしたに違いない。なぜなら、私がこれをやったことは確かだからだ。そして、私が望んでいた通りに動作する。私はもう一度試してみることにした。明らか解決:

\newcommand{\AddSvgHeight}[1][]{%
    \ifthenelse{\boolean{DARKMODE}}{%
        \includesvg[#1]{Pengu_White}%
    }{%                      
        \includesvg[#1]{Pengu_Black}%
    }%
}

これにより、任意のキー値オプションを使用できるようになります。これは、私の場合は手動で渡すよりも優れています。

関連情報