¿No puedes pasar argumentos a comandos usando claves?

¿No puedes pasar argumentos a comandos usando claves?

Utilizo mi propio LaTeXpreámbulo para la universidad, por lo que estoy bastante acostumbrado a crear macros utilizando herramientas como xparse. Sin embargo, no estoy seguro de por qué no puedo hacer algo que elija entre dos imágenes en mi nombre.

La idea es que tengo un booleano global para configurar todo en un estilo de "modo oscuro", que uso mientras trabajo en un borrador. Básicamente, lo único que importa es que tengo

\setboolean{DARKMODE}{true}

Utilizo un SVG para darle estilo a mi artículo un poco (los detalles para esto no son importantes). Tengo una versión en modo claro y oscuro de un SVG y uso el svgpaquete para esto (hago esto porque, según tengo entendido, no se puede configurar el color del SVG desde dentro LaTeX).

Actualmente tengo lo siguiente:

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

Quiero pasar el argumento (el ancho) a la clave de altura utilizada por el \includesvgcomando. Sin embargo, aparece el error:

Error de scrbase del paquete: opción desconocida altura=['. \OtroComando

¿Dónde \OtherCommandestá el comando que usa este comando?

He probado varias variantes con problemas iguales o similares. ¿Por qué está pasando esto? ¿Cómo puedo definir este comando?

Respuesta1

Debo haber cometido algún error tipográfico porque estoy seguro de que hice esto, que funciona como quería. Decidí volver a intentarlo.obviosolución:

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

Me permite usar cualquier opción clave-valor, lo cual es mejor que pasarlas manualmente, en mi caso.

información relacionada