Anschlussfrage zu wie-stelle-ich-die-matrixparameter-bei-der-tikz-bibliothek-matrix-ein Ich habe in folgendem Code die Labels als Trotzdem tauchen noch unerwünschte Abstände auf - im Bild rot und blau markiert Hinweise:
Open in Online-Editor
\documentclass[border=10pt, varwidth]{standalone} %\documentclass[]{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath,amsfonts,amssymb, relsize} \usepackage{tikz} \usetikzlibrary{matrix, decorations.pathreplacing} \begin{document} \tikzset{MatrixStyle/.style={% %matrix of math nodes, %draw, densely dashed, %inner ysep=2.5pt, %%column sep=5ex, row sep = 5ex, %nodes={ %outer sep=0mm, % %inner sep=2pt, %%text width=1.5em,align=center %%node distance = 0cm, % kein Effekt %}, matrix of math nodes, draw, densely dashed, inner ysep=2.5pt, column sep=-\pgflinewidth,% <- column sep passend setzen row sep=-\pgflinewidth% <- row sep passend setzen }% } % Label für Blöcke definieren \tikzset{% BlockLabel/.style n args={4}{% label={[overlay, label position={#3}, rotate={#4}]: {\text{$\mathsmaller{(#1 \times #2)}$}} % Text } }, BlockLabel/.default={?}{?}{below}{0} }% % Leerer Block \def\Ph{\phantom{1}} \def\BlockLeer{% \begin{matrix} \Ph & \Ph & \Ph \\ & & \\ & & \\ \end{matrix} }% % Unbekannter Block \def\BlockUnbekannt{% \node[draw, densely dashed, BlockLabel={?}{?}{above}{0}, ] (BlockUnbekannt){ \begin{matrix} \Ph & \Ph & \Ph \\ & ? & \\ & & \\ \end{matrix} }; }% % Jordan Kasten I, Block I \def\JordanKastenIBlockI{% \node[draw, densely dashed, inner sep=2.5pt, BlockLabel={3}{3}{below}{0}, ] (JordanKastenIBlockI){ \begin{matrix} 0 & 1 & \\ & 0 & 1 \\ & & 0 \\ \end{matrix} }; }% % Jordan Kasten I, Block II \def\JordanKastenIBlockII{% \BlockUnbekannt } % Jordan Kasten I \newsavebox\InhaltJordanKastenI \begin{lrbox}{\InhaltJordanKastenI} \begin{tikzpicture} \matrix (JordanKastenI) [ MatrixStyle, BlockLabel={?}{?}{above}{0}, ] {% \JordanKastenIBlockI & \\ & \JordanKastenIBlockII \\ }; \end{tikzpicture} \end{lrbox} \newcommand{\JordanKastenI}{\usebox\InhaltJordanKastenI} % Jordan Kasten II, Block I \def\JordanKastenIIBlockI{% \node[draw, densely dashed, BlockLabel={2}{2}{below}{0}, ] (JordanKastenIIBlockI){ \begin{matrix} 1 & 1 \\ & 1 \\ \end{matrix} }; }% % Jordan Kasten II, Block II \def\JordanKastenIIBlockII{% \BlockUnbekannt } % Jordan Kasten II \newsavebox\InhaltJordanKastenII \begin{lrbox}{\InhaltJordanKastenII} \begin{tikzpicture}[] \matrix (JordanKastenII) [ MatrixStyle, BlockLabel={?}{?}{above}{0}, ] {% \JordanKastenIIBlockI & \\ & \JordanKastenIIBlockII \\ }; \end{tikzpicture} \end{lrbox} \newcommand{\JordanKastenII}{\usebox\InhaltJordanKastenII} \begin{tikzpicture}[scale=1] % Jordannormalform JNF \def\LabelJNF{$(7 \times 7)$} \matrix (m) [%label=below:, left delimiter={(},right delimiter={)}, MatrixStyle, draw=none, ] {% \JordanKastenI & \\ & \JordanKastenII \\ }; % Underbrace \draw [ decoration={brace}, decorate] (m.south east) -- (m.south west) node[midway, below=4.5pt]{\LabelJNF}; % Platzhalter "J = " \node[xshift=-0.75cm] at (m.west) {$J =$}; \end{tikzpicture} \end{document} |
Ich glaub, die Frage hat sich erledigt: wenn ich bei der Hauptmatrix
inner sep= 0pt, outer sep=1.5pt,
dazuschreibe sieht es eigentlich ganz gut aus.@saputello Was hast du denn für eine Bleeding-Edge-Version? Dieses Minimalbeispiel meldet bei mir nichts. Wenn ich
pgfmanual.pdf
nach\begin{matrix}
durchsuche kommt nichts. Auch das Beispiel aus der Frage produziert bei mir (TL2016) keine Meldung. Bist du dir sicher?@Henri: Ich bin sicher, dass ich diese Meldung in der
log
-Datei hatte. Mit der aktuellen Versionen von TL2016 habe ich die in der Tat nicht. Ich weiß aber nicht mehr, mit welcher Version ich vor zwei Wochen getestet habe, eventuell im Online-Editor. Da ich es selbst nicht mehr nachvollziehen kann, werde ich den Kommentar mal löschen. Trotzdem finde ich unschön, dass oben beide Schreibweisen gemischt werden, ohne dass für mich ein Grund erkennbar ist.@saputello Kann sein, dass ich nicht ganz verstehe, worüber Ihr diskutiert, aber in dem MWE kommt zum einen der TikZ Befehl
\matrix
vor und zum anderen die im Mathemodus zu verwendendematrix
Umgebung, die erstmal nichts mit TikZ zu tun hat. Also zum einen etwas wie\tikz\matrix{...\\};
und zum anderen etwas wie$\begin{matrix}...\end{matrix}$