Я использую собственную LaTeX
преамбулу для университета, поэтому я довольно привык создавать макросы с помощью таких инструментов, как xparse
. Однако я не уверен, почему я не могу сделать что-то, что будет выбирать между двумя изображениями от моего имени.
Идея в том, что у меня есть глобальный логический параметр, чтобы установить все в стиле "темный режим", который я использую во время работы над черновиком. По сути, все, что имеет значение, это то, что у меня есть
\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}%
}%
}
Это позволяет мне использовать любые параметры «ключ-значение», что в моем случае лучше, чем передавать их вручную.