TikZ-Matrix in foreach („&“ und Num. too big)

Tabellen und Grafiken erstellen und anordnen


flying sheep
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: So 27. Jul 2008, 14:34
Wohnort: München, By
Kontaktdaten:

TikZ-Matrix in foreach („&“ und Num. too big)

Beitrag von flying sheep »

ich bekomme bescheuerten fehlercode mit folgendem minimalbeispiel:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
 \node[matrix] {a&b\\c&d};
\end{tikzpicture}
\end{document}
hier der fehlercode:
! Missing } inserted.
l.7 \end{tikzpicture}
                     
! Missing } inserted.
l.7 \end{tikzpicture}
                     
! Missing } inserted.
l.7 \end{tikzpicture}
                     
! Missing \cr inserted.
l.7 \end{tikzpicture}
                     
! Misplaced \cr.
l.7 \end{tikzpicture}
die letzten beiden fehler kommen dann zigmal abwechselnd…
warum?!
Zuletzt geändert von flying sheep am Sa 6. Jun 2009, 14:45, insgesamt 2-mal geändert.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2530
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

TikZ-Matrix

Beitrag von Stefan Kottwitz »

Hallo,

wenn Du die letzte Matrix-Zeile mit \\ abschließt, verschwindet der Fehler:
\node[matrix] {a&b\\c&d\\};
Viele Grüße,

Stefan

flying sheep
Forum-Anfänger
Forum-Anfänger
Beiträge: 40
Registriert: So 27. Jul 2008, 14:34
Wohnort: München, By
Kontaktdaten:

Beitrag von flying sheep »

vielen dank, da wär ich nie drauf gekommen.
bleibt bloß die frage, warum die pgf-macher hier ihr eigenes süppchen kochen.

PS: zu früh gefreut: mit der "matrix of nodes"-option seh ich zwar was, aber die matrix verschlingt zu viel platz.
wie zwinge ich sie in eine bestmmte größe? (inner sep ist bereits 0)
ich habe inner sep, row sep und col sep auf minuswerte gestellt, aber das ist cheaten…

hier bekomme ich auch fehler:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\node[matrix of nodes] at (0,0) {1 & 2 \\ 3 & 4 \\};
\foreach \cor/\ol/\or/\ul/\ur in {1/5/6/7/8, 2/9/10/11/12}
	\node[matrix of nodes] at (\cor,0) {\ol & \or \\ \ul & \ur \\};
\end{tikzpicture}
\end{document}
und zwar die:
! Package pgfbasematrix Error: Single ampersand used with wrong catcode.
l.9 ...s] at (\cor,0) {\ol & \or \\ \ul & \ur \\};
                                          
! Number too big.
<argument> 010101010101010
l.9 ...s] at (\cor,0) {\ol & \or \\ \ul & \ur \\};
(wieder mehrmals)

ich hab nun rausgefunden, dass ich durch die „ampersand replacement“-option einen der beiden fehler abschalten kann, aber der zweite besteht weiterhin und ich hab auch keine ahnung, warums den ersten gibt.

Antworten