Ich möchte, dass mein Text (eigentlich eine Matrix) sich vertikal in seiner Zelle zentriert. Stattdessen zentriert er sich basierend auf der Position, an der sich die Unterseite des Tikz-Bilds in der angrenzenden Zelle befindet. Dies fügt einer Tabelle, die ich gerne entfernen würde, unnötige Höhe hinzu. Gibt es eine Möglichkeit, die Textspalte an der Mitte des Tikz-Bilds auszurichten oder das Tikz-Bild vollständig zu ignorieren?
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand{\pic}{
{\centering
\begin{tikzpicture}[x=1cm,y=1cm]
\useasboundingbox (0,.5) rectangle (3, -2);
\draw (current bounding box.north east) -- (current bounding box.north west) -- (current bounding box.south west) -- (current bounding box.south east) -- cycle;
\end{tikzpicture}}
}
\begin{document}
\begin{tabular}{| c | c | c |} \hline
Initial Pic & Final Pic & U \\ \hline
\pic & \pic & \\ \hline
\pic & \pic & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\pic & that &
$\text{U} = .5 \begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
this & that & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\end{tabular}
\end{document}
Antwort1
Sie können baseline=(current bounding box.center)
die gewünschte Ausrichtung wie im folgenden Code gezeigt erreichen:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand{\pic}{
{\centering
\begin{tikzpicture}[x=1cm,y=1cm,baseline=(current bounding box.center)]
\useasboundingbox (0,.5) rectangle (3, -2);
\draw (current bounding box.north east) -- (current bounding box.north west) -- (current bounding box.south west) -- (current bounding box.south east) -- cycle;
\end{tikzpicture}}
}
\begin{document}
\begin{tabular}{| c | c | c |} \hline
Initial Pic & Final Pic & U \\ \hline
\pic & \pic & \\ \hline
\pic & \pic & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\pic & that &
$\text{U} = .5 \begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
this & that & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\end{tabular}
\end{document}
Da der Bildrand nun die horizontalen Linien überlappt, möchten Sie möglicherweise etwas zusätzlichen vertikalen Abstand hinzufügen (wie hier mithilfe des cellspace
Pakets gemacht):
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{cellspace}
\setlength\cellspacetoplimit{6pt}
\setlength\cellspacebottomlimit{6pt}
\usepackage{tikz}
\newcommand{\pic}{
{\centering
\begin{tikzpicture}[x=1cm,y=1cm,baseline=(current bounding box.center)]
\useasboundingbox (0,.5) rectangle (3, -2);
\draw (current bounding box.north east) -- (current bounding box.north west) -- (current bounding box.south west) -- (current bounding box.south east) -- cycle;
\end{tikzpicture}}
}
\begin{document}
\begin{tabular}{| Sc | Sc | Sc |} \hline
Initial Pic & Final Pic & U \\ \hline
\pic & \pic & \\ \hline
\pic & \pic & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\pic & that &
$\text{U} = .5 \begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
this & that & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\end{tabular}
\end{document}
Antwort2
Ein Fix mit einem optionalen Argument für die Grundlinie des Tikzbildes:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{tikz}
\newcommand{\pic}[1][-17pt]
{\centering
\begin{tikzpicture}[x=1cm,y=1cm,baseline=#1]
\useasboundingbox (0,.5) rectangle (3, -2);
\draw (current bounding box.north east) -- (current bounding box.north west) -- (current bounding box.south west) -- (current bounding box.south east) -- cycle;
\end{tikzpicture}%
}
\begin{document}
\begin{tabular}{| c | c | c |} \hline
Initial Pic & Final Pic & U \\ \hline
\pic & \pic & \\ \hline
\pic & \pic & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\pic[-25pt] & that &
$\text{U} = .5 \begin{bmatrix}
0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 \\
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
this & that & $\text{U} = \begin{bmatrix}
1 & i & 1 & -i \\
-i & 1 & i & 1 \\
1 & -i & 1 & i \\
i & 1 & -i & 1 \end{bmatrix}$ \\ \hline
\end{tabular}
\end{document}