| Hallo! Gibt es eine Möglichkeit, einzelne Schleifenelemente auszuschließen? In folgendem Bsp. {-2,...,6} soll z.B. das Element 0 ausgeschlossen werden. Die einzige mir bekannte Lösung ist hier {-2,-1,1,2,...,6}. Geht das vll. besser? Open in writeLaTeX \documentclass[margin=5mm]{standalone} \usepackage[ngerman]{babel} \usepackage{tikz} \usepackage{amsmath, amssymb} %=========== \begin{document} %=========== \begin{tikzpicture}[] \foreach \x in {-2,...,6} \draw[] (\x,0pt) node[left]{$\x$}; \end{tikzpicture} %=========== \end{document} %=========== | 
| Eine alternative Lösung zu der von @esdd wäre mit der Plain TeX Primitive  Open in writeLaTeX \documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \foreach \x in {-2,...,6} { \if\x0\else \node at (\x,0) {$\x$}; \fi } \end{tikzpicture} \end{document} Falls nur einer der beiden Vergleichspartner expandiert werden soll, bietet sich  Open in writeLaTeX \documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \foreach \x in {-2,...,6} { \expandafter\ifx\x0\else \node at (\x,0) {$\x$}; \fi } \end{tikzpicture} \end{document} Das Ergebnis ist natürlich immer das gleiche. Man kann auch eine der zahlreichen Funktionen aus  Open in writeLaTeX \documentclass[tikz]{standalone} \usepackage{etoolbox} \begin{document} % \ifnumcomp (Nur für Zahlen) \begin{tikzpicture} \foreach \x in {-2,...,6} { \ifnumcomp{\x}{=}{0}{}{ \node at (\x,0) {$\x$}; } } \end{tikzpicture} % \ifnumequal (Nur für Zahlen) \begin{tikzpicture} \foreach \x in {-2,...,6} { \ifnumequal{\x}{0}{}{ \node at (\x,0) {$\x$}; } } \end{tikzpicture} % ifstrequal (Braucht wieder expandafter) \begin{tikzpicture} \foreach \x in {-2,...,6} { \expandafter\ifstrequal\expandafter{\x}{0}{}{ \node at (\x,0) {$\x$}; } } \end{tikzpicture} % ifdefequal (Braucht wieder expandafter) \begin{tikzpicture} \foreach \x in {-2,...,6} { \expandafter\ifdefequal\expandafter{\x}{0}{}{ \node at (\x,0) {$\x$}; } } \end{tikzpicture} \end{document} Um mehrere Elemente auszuschließen muss man entweder die  Open in writeLaTeX \documentclass[tikz]{standalone} \begin{document} \begin{tikzpicture} \foreach \x in {-2,...,6} { \if\x0\else \if\x3\else \node at (\x,0) {$\x$}; \fi \fi } \end{tikzpicture} \begin{tikzpicture} \newif\ifinlist \foreach \x in {-2,...,6} { \inlisttrue \foreach \s in {0,3} { \if\x\s \global\inlistfalse \fi } \ifinlist \node at (\x,0) {$\x$}; \fi } \end{tikzpicture} \end{document} Sowas einfaches hatte ich mir erhofft. 
                
                
                
                
                
                (13 Mai '14, 14:12)
                cis
                
             Nur zur Vollständigkleit: Kann man hier auch einfach mehrere Elemente if'en, also z.B. 0 und 3 ausschließen? 
                
                
                
                
                
                (13 Mai '14, 14:22)
                cis
                
             | 
| Natürlich kannst du innerhalb der Schleife dann wieder Elemente ausschließen, aber "besser" wird das dadurch nicht und kürzer sowieso nicht. Nutzen kann man dafür zum Beispiel die Pakete  Open in writeLaTeX \documentclass[margin=5mm]{standalone} \usepackage[ngerman]{babel} \usepackage{tikz} \begin{document} \begin{tikzpicture} \foreach \x in {-2,...,6} \path (\x,0) node[left]{$\pgfmathparse{\x==0?:int(\x)}\pgfmathresult$}; \end{tikzpicture} \end{document} Sinnvoll ist so etwas vielleicht dann, wenn man einzelne (von mehreren) Schleifenaktionen für ein Element unterbinden will/muss. | 
 
			
