Wie kann man mehr als einen optionalen Parameter in eigenen Makros einbauen?
Der Beispielbefehl sollte wie folgt aufgebaut sein:
Öffne in Overleaf
\documentclass{article} \usepackage[ngerman]{babel} \usepackage{tikz} \newcommand{\dreieck}[2]{\begin{tikzpicture}[ scale = {#1 * 1.2}, line width = #2, rounded corners = {#2 * 0.1}] \draw (90: 1) -- (210: 1) -- (330: 1) -- cycle; \end{tikzpicture}} \begin{document} \dreieck{3}{.8mm} \end{document} |
Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen gast3 29 Nov '17, 13:42
Bei mehreren optionalen Argumenten empfiehlt sich die Verwendung von benannten Argumenten in Form einer Liste. In Deinem konkreten Beispiel kann man aber auch einfach das optionale Argument an Open in Online-Editor
\documentclass{article} \usepackage[ngerman]{babel} \usepackage{tikz} \newcommand{\dreieck}[3][]{% \begin{tikzpicture}[ scale = {#2 * 1.2}, line width = #3, rounded corners = {#3 * 0.1} ] \draw[#1] (90: 1) -- (210: 1) -- (330: 1) -- cycle; \end{tikzpicture}% } \begin{document} \dreieck{3}{.8mm} \dreieck[fill=red,draw=blue]{3}{.8mm} \end{document} beantwortet 30 Nov '15, 08:03 saputello Dankeschön. Ist wohl tatsächlich die einfachste Lösung. Es würde mich trotzdem interessieren, wie man das auch anders machen kann. :)
(30 Nov '15, 17:46)
rix
|
Das Paket
xparse
ist da nützlich. Allerdings verheddert man sich bei sowas schnell in einer Unzahl an Optionen, da immer wieder Ausnahmen kommen. Am Ende ist man nur durcheinander.Bitte beachte korrektes Markdown für Inline-Code, weil sonst die Darstellung nicht korrekt ist und auch der Backslash fehlt.