Seite 1 von 1
Variablen zusammen rechnen
Verfasst: Fr 7. Mai 2021, 10:21
von M_Rohsoft
Hallo. Ich habe da eine kleine Frage und hoffe man kann mir helfen.
Ich habe einen Befehl für eine Bewertung zusammengestellt.
\newcommand{\bewertung}[2]{ \ensuremath
{
\newcount\step
\step=5
\loop
\ifnum#1<\step
\advance\step by -1
\textcolor{black}{\large\bigcirc}
\repeat
\newcount\step
\step=0
\loop
\ifnum\step<#1
\advance\step by 1
\textcolor{ForestGreen}{\large\CIRCLE}
\repeat
\newcount\step
\step=0
\loop
\ifnum\step<#2
\advance\step by 1
\textcolor{red}{\large\CIRCLE}
\repeat
}
}
Nun möchte ich eine zweite Variable hinzufügen. Es sollen #1 und #2 zusammengerechnet werden und wenn kleiner als....
So in der Art...
...
\step=5
\loop
\ifnum#1+#2<\step
\advance\step by -1
...
Aber irgendwie fehlt mir der richtige Weg.
Dankce schonmal im voraus
Re: Variablen zusammen rechnen
Verfasst: Fr 7. Mai 2021, 10:37
von Gastname ungültig
\ifnum wertet keine Ausdrücke aus, sondern vergleicht Zahlen (daher der Name der Anweisung). Eine Zahl endet für TeX bei allem, was bei der Expansion keine Ziffer ist, in dem Fall also bei +. Seit LaTeX e-TeX verwendet, können aber natürlich number expressions verwendet werden, also beispielsweise (in Ermangelung eines Minimalbeispiel ungetestet):
\ifnum\numexpr#1+#2\relax<\step
Näheres zu \numexpr etc. ist im e-TeX Manual zu finden.
Re: Variablen zusammen rechnen
Verfasst: Fr 7. Mai 2021, 11:19
von Grummelgast
Wenn mehr gerechnet werden soll als nur zwei Integer zusammen zu zählen, sollte man übrigens über die Verwendung eines auf Berechnungen spezialisierten Pakets nachdenken. Wenn man ohnehin bereits pgf verwendet, kann man auch dessen Mathefähigkeiten verwenden. Auch die Möglichkeiten von l3kernel sind oftmals mehr als ausreichend. Dort gibt es auch bereits passende Conditionals.
Re: Variablen zusammen rechnen
Verfasst: Mi 19. Mai 2021, 14:15
von M_Rohsoft
Dachte da keine besonderen Pakete oder dergleichen verwendet werden, reicht das. Aber ich gelobe Besserung und die Lösung war genau das was ich brauchte. Dankeschoen