Mittelbündige Option ohne Breitenargument für tabellarisches Array-Paket

Mittelbündige Option ohne Breitenargument für tabellarisches Array-Paket

Betrachten Sie eine einfache tabularUmgebung. Zwei Spalten, die erste muss eine tikzpictureunbestimmte Größe enthalten, die zweite eine Beschreibung mit bestimmter (und benutzerdefinierter) Breite. Wenn der Inhalt der ersten Spalte gut eingeschränkt wäre, könnte man Folgendes tun:

\begin{tabular}{m{2cm}p{6cm}}

Der Inhalt der ersten Spalte ist jedoch nicht gut eingeschränkt und daher frage ich mich, ob wir das Äquivalent hierzu erreichen können:

\begin{tabular}{mp{6cm}}

oder

\begin{tabular}{m{}p{6cm}}

Erste Spalte mittig ausgerichtet, jedoch ohne Breitenargument. Ich werde ein MWE posten, falls Klarheit nötig ist.

Antwort1

Je nach gewünschter horizontaler Ausrichtung der ersten Spalte können Sie für die erste Spalte einfach l(linksbündig), c(horizontal zentriert) oder r(rechtsbündig) wählen. Dies passt sich automatisch der Breite des eingefügten Tikzbilds an. Um den Text in der zweiten Spalte vertikal in Bezug auf das Tikzbild zu zentrieren, verwenden Sie m{6cm}für die zweite Spalte und fügen Sie baseline=(current bounding box.center)als Option zu jedem Tikzbild hinzu.

Da diese Konfiguration zu einer Tabelle führen kann, die breiter als die Textbreite ist, sollten Sie es auch versuchen tabularx. Ich habe auch ein tabularxBeispiel in das folgende MWE aufgenommen. Bitte beachten Sie, dass ich es \hlineals Orientierungshilfe verwendet habe. In der eigentlichen Tabelle würde ich \hlinenur Linien aus dem booktabsPaket oder überhaupt keine horizontalen Linien verwenden:

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{array}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{document}

\begin{tabular}{cm{6cm}}
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {some text here};
\node[draw=black] (text2) [below left =of text1] {some other text here}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {A};
\node[draw=black] (text2) [below left =of text1] {B}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\end{tabular}

\bigskip

\begin{tabularx}{\textwidth}{cX}
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {some text here};
\node[draw=black] (text2) [below left =of text1] {some other text here}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\begin{tikzpicture}[baseline=(current bounding box.center)] 
\node[draw=black] (text1) {A};
\node[draw=black] (text2) [below left =of text1] {B}edge [->] node {}(text1) ;
\end{tikzpicture}
& some explanatory text that is vertically centered with respect to the tikz picture\\
\hline
\end{tabularx}
\end{document}

verwandte Informationen