PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wiederholungen eines Befehls



HarryKane
02-02-2007, 18:13
Hi,

ich bin gerade dabei Latex tiefgründiger zu erforschen. Gibt es die Möglichkeit einen Wert N zu übergeben sodass ein Befehl N mal ausgeführt wird?

Ich stelll mir das beispielsweise so vor:

\newcommand{\befehl}[1]{ #1-malige Ausführung von \bullet}

So, wie ich es hier bei
\newcolumntype{C}[1]{*{#1}{c|}} zwar gefunden habe, wollte ich es auch, aber mit

\newcommand{\kringel}[1]{*{#1}{\bullet}}
funktioniert es leider nicht.
Ich bekomme bei $\kringel{1}$ nur *1\bullet (mit \bullet als symbol).

Falls es doch irgendwie gehen sollte, kann man auch mathematische Operationen (+, -, *, /) auf die Argumente anwenden?

Gruß HarryKane

daswaldhorn
03-02-2007, 20:06
Hallo,

ich habe keine Ahnung von der internen LaTeX-Programmierung, aber möglicherweise findest du im Quelltext des Paketes blindtext einen Anhaltspunkt. Das bietet ja mit \blindtext[123] eine Angabe der Wiederholungen.

Grüße, Carsten

HarryKane
05-02-2007, 20:06
Danke Carsten,

vielen Dank für den Hinweis. Es hat zwar ne Weile gedauert bis ich mich da durch gefunden habe, aber nun kann ich eine Lösung präsentieren:



\newcommand{\kringel}[2]
{
\ensuremath
{
\newcount\step \step=1
\loop
\bullet
\ifnum\step<#1
\advance\step by 1
\repeat
\step=1
\loop
\circ
\ifnum\step<#2
\advance\step by 1
\repeat
}
}

\begin{document}
\kringel{5}{2}
\end{document}

Das Ganze macht mir dann 5 Kringel und 2 Kreise :)

Es gibt inzwischen wohl auch noch modernere Implementierungen über die pakete calc und ifthen, da dies nun aber funktioniert belasse ich es erstmal dabei.

Gruß HarryKane!