Как сделать так, чтобы две повернутые матрицы имели одинаковый размер независимо от содержимого?

Как сделать так, чтобы две повернутые матрицы имели одинаковый размер независимо от содержимого?

У меня есть две матрицы, которые повернуты на 45 градусов рядом друг с другом. К сожалению, они разного размера, вероятно, потому, что в одной из них двузначные числа, а в другой — однозначные.

Как мне сделать их одинакового размера?

введите описание изображения здесь

Вот мой MWE (спасибо @marmot за оригинальный код):

\documentclass{article}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage{german}

\usetikzlibrary{matrix,shapes.geometric,positioning}

\begin{document}
\begin{figure}
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={regular polygon,regular polygon sides=4,draw,rotate=-45,shape border             rotate=45},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {03 & 13 & 23 & 33 \\ 
 02 & 12 & 22 & 32 \\ 
 01 & 11 & 21 & 31 \\ 
 00 & 10 & 20 & 30 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\qquad
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={regular polygon,regular polygon sides=4,draw,rotate=-45,shape border     rotate=45},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {1 & 3 & 5 & 6 \\ 
 1 & 3 & 4 & 5 \\ 
 1 & 2 & 3 & 3 \\ 
 0 & 1 & 1 & 1 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\caption{Vereinigung zweier epistemischer Zustände $\Phi_1$ und $\Phi_2$     mittels Schlichtungsoperation $\Delta_{ls}$.}
\end{figure}
\end{document}

решение1

Нужно только добавить minimum sizeключ для обоих стилей узлов в две матрицы:

\documentclass{standalone}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage{german}

\usetikzlibrary{matrix,shapes.geometric,positioning}

\begin{document}
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={minimum size=1.3cm,regular polygon,regular polygon sides=4,draw,rotate=-45,shape border             rotate=45},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {03 & 13 & 23 & 33 \\ 
 02 & 12 & 22 & 32 \\ 
 01 & 11 & 21 & 31 \\ 
 00 & 10 & 20 & 30 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\qquad
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={minimum size=1.3cm,regular polygon,regular polygon sides=4,draw,rotate=-45,shape border     rotate=45},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {1 & 3 & 5 & 6 \\ 
 1 & 3 & 4 & 5 \\ 
 1 & 2 & 3 & 3 \\ 
 0 & 1 & 1 & 1 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Еще одно (более приятное) решение благодаря@сурок: Добавим text width={width(33)}и align=centerко второй матрице. Теперь обе матрицы имеют одинаковый размер:

\documentclass[margin=5mm]{standalone}
\usepackage{tikz}
\usepackage[utf8]{inputenc}
\usepackage{german}

\usetikzlibrary{matrix,shapes.geometric,positioning}

\begin{document}
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={regular polygon,regular polygon sides=4,draw,rotate=-45,shape border             rotate=45},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {03 & 13 & 23 & 33 \\ 
 02 & 12 & 22 & 32 \\ 
 01 & 11 & 21 & 31 \\ 
 00 & 10 & 20 & 30 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\qquad
\begin{tikzpicture}
 \matrix[matrix of nodes,transform canvas={rotate=45},
 nodes={text width={width(33)},regular polygon,regular polygon sides=4,draw,rotate=-45,shape border     rotate=45,align=center},
 row sep=-\pgflinewidth,column sep=-\pgflinewidth]
 (mat)
 {1 & 3 & 5 & 6 \\ 
 1 & 3 & 4 & 5 \\ 
 1 & 2 & 3 & 3 \\ 
 0 & 1 & 1 & 1 \\ 
 };
 \path ([xshift=-3mm,yshift=3mm]mat.south west |- mat.north west) rectangle 
 ([xshift=3mm,yshift=-3mm]mat.south east -| mat.north east);
 \node at (mat.south west) {$\Phi_1$};
 \node at (mat.south east) {$\Phi_2$};
\end{tikzpicture}
\end{document}

введите описание изображения здесь

Связанный контент