Können Sie mithilfe von Schlüsseln keine Argumente an Befehle übergeben?

Können Sie mithilfe von Schlüsseln keine Argumente an Befehle übergeben?

Ich verwende für die Universität meine eigene LaTeXPräambel und bin daher ziemlich daran gewöhnt, Makros mit Tools wie zu erstellen xparse. Ich bin mir jedoch nicht sicher, warum ich nicht etwas tun kann, das für mich zwischen zwei Bildern wählt.

Die Idee ist, dass ich einen globalen Booleschen Wert habe, um alles auf den Stil „Dunkelmodus“ einzustellen, den ich während der Arbeit an einem Entwurf verwende. Im Wesentlichen ist alles, was zählt, dass ich

\setboolean{DARKMODE}{true}

Ich verwende ein SVG, um mein Papier ein wenig aufzupeppen (die Details hierzu sind unwichtig). Ich habe eine helle und eine dunkle Version eines SVG und verwende svgdafür das Paket (ich mache das, weil man meines Wissens die Farbe des SVG nicht von innen einstellen kann LaTeX).

Zur Zeit habe ich folgendes:

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

Ich möchte das Argument (die Breite) an den vom Befehl verwendeten Höhenschlüssel übergeben \includesvg. Allerdings erhalte ich die Fehlermeldung:

Paket scrbase Fehler: unbekannte Option height=['. \OtherCommand

wo \OtherCommandist der Befehl, der diesen Befehl verwendet.

Ich habe mehrere Varianten mit den gleichen oder ähnlichen Problemen ausprobiert. Warum passiert das? Wie kann ich diesen Befehl definieren?

Antwort1

Ich muss einen Tippfehler gemacht haben, denn ich bin sicher, dass ich das gemacht habe, was so funktioniert, wie ich es wollte. Ich habe beschlossen, es noch einmal zu versuchenoffensichtlichLösung:

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

Es ermöglicht mir, beliebige Schlüssel-Wert-Optionen zu verwenden, was in meinem Fall besser ist, als sie manuell zu übergeben.

verwandte Informationen