Ich verwende für die Universität meine eigene LaTeX
Prä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 svg
dafü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 \OtherCommand
ist 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.