Seite 1 von 1

Zusätzliche Spalte in tabularx Zelle

Verfasst: Do 25. Mär 2021, 10:33
von MB21

Moin,
Ich möchte gerne einen Tabulatorabstand in einer Zelle einer Tabelle einfügen. Mit \quad oder \tab und dem Paket tabto funktioniert es nicht. Da ich in der besagten Zelle bereits ein tabular für eine zusätzliche Zeile eingefügt habe, wollte ich dementsprechend eine weitere Spalte einfügen. Außerhalb der tabularx-Umgebung funktioniert es gut, innerhalb jedoch nicht.

Anbei mein Minimalbeispiel. Oberhalb der Tabelle ist mein gewünschtes Ziel, innerhalb der Tabelle funktioniert es nicht.

Viele Grüße

\documentclass{article}

\usepackage{tabularx}

\begin{document}

\begin{tabular}[c]{@{}lc@{}}
	Spalte & →\\ Zeile & ↓
\end{tabular}

\begin{table}[!h]							
\renewcommand\tabularxcolumn[1]{m{#1}}		
	\begin{tabularx}{\linewidth}{| l | X | X | X | X |}
		\hline
		\textbf{\begin{tabular}[c]{@{}l@{}}Spalte →\\ Zeile ↓\end{tabular}} & \multicolumn{1}{c|}{\textbf{1}} & 
			\multicolumn{1}{c|}{\textbf{2}} & \multicolumn{1}{c|}{\textbf{3}} & \multicolumn{1}{c|}{\textbf{4}} \\ \hline
		\textbf{Zeile A} & Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\ \hline
	\end{tabularx}
\end{table}

\end{document}

Re: Zusätzliche Spalte in tabularx Zelle

Verfasst: Do 25. Mär 2021, 11:41
von Grummelgast
MB21 hat geschrieben:
Do 25. Mär 2021, 10:33

Ich möchte gerne einen Tabulatorabstand in einer Zelle einer Tabelle einfügen.

Dessen ungeachtet, dass \quad ebenso wie \hspace in Tabellen durchaus funktioniert und schlicht einen entsprechenden Abstand einfügt, verstehe ich ehrlich gesagt nicht, warum du nicht einfach eine Spalte mehr deklarierst, wenn du eine mehr benötigst. Dein Beispielcode ist da auch nicht wirklich erhellend. Wo genau willst du dort denn was genau anders haben?


Re: Zusätzliche Spalte in tabularx Zelle

Verfasst: Do 25. Mär 2021, 11:49
von KOMA

tabular innerhalb von tabularx sollte zusätzlich in eine Gruppe eingeschlossen werden. \textbf genügt der Anforderung nicht:

\documentclass{article}

\usepackage{tabularx}

\begin{document}

\begin{tabular}[c]{@{}lc@{}}
	Spalte & →\\ Zeile & ↓
\end{tabular}

\begin{table}[!h]							
\renewcommand\tabularxcolumn[1]{m{#1}}		
	\begin{tabularx}{\linewidth}{| l | X | X | X | X |}
		\hline
		{\textbf{\begin{tabular}[c]{@{}lc@{}}Spalte & →\\ Zeile & ↓\end{tabular}}} & \multicolumn{1}{c|}{\textbf{1}} & 
			\multicolumn{1}{c|}{\textbf{2}} & \multicolumn{1}{c|}{\textbf{3}} & \multicolumn{1}{c|}{\textbf{4}} \\ \hline
		\textbf{Zeile A} & Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\ \hline
	\end{tabularx}
\end{table}

\end{document}

Natürlich ginge auch einfach eine \parbox:

\documentclass{article}

\usepackage{tabularx}

\begin{document}

\begin{tabular}[c]{@{}lc@{}}
	Spalte & →\\ Zeile & ↓
\end{tabular}

\begin{table}[!h]							
\renewcommand\tabularxcolumn[1]{m{#1}}		
	\begin{tabularx}{\linewidth}{| l | X | X | X | X |}
		\hline
		\textbf{\parbox[c][2.2\normalbaselineskip]{4em}{Spalte \hfill →\\ Zeile \hfill ↓}} & \multicolumn{1}{c|}{\textbf{1}} & 
			\multicolumn{1}{c|}{\textbf{2}} & \multicolumn{1}{c|}{\textbf{3}} & \multicolumn{1}{c|}{\textbf{4}} \\ \hline
		\textbf{Zeile A} & Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\ \hline
	\end{tabularx}
\end{table}

\end{document}

oder varwidth:

\documentclass{article}

\usepackage{varwidth}
\usepackage{tabularx}

\begin{document}

\begin{tabular}[c]{@{}lc@{}}
	Spalte & →\\ Zeile & ↓
\end{tabular}

\begin{table}[!h]							
\renewcommand\tabularxcolumn[1]{m{#1}}		
	\begin{tabularx}{\linewidth}{| l | X | X | X | X |}
		\hline
		\textbf{\begin{varwidth}[c][2.2\normalbaselineskip]{8em}Spalte \hfill →\\ Zeile \hfill ↓\end{varwidth}} & \multicolumn{1}{c|}{\textbf{1}} & 
			\multicolumn{1}{c|}{\textbf{2}} & \multicolumn{1}{c|}{\textbf{3}} & \multicolumn{1}{c|}{\textbf{4}} \\ \hline
		\textbf{Zeile A} & Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\ \hline
	\end{tabularx}
\end{table}

\end{document}

Bei varwidth gibt man im Unterschied zu \parbox oder minipage keine exakte Breite, sondern nur eine Maximalbreite an.


Re: Zusätzliche Spalte in tabularx Zelle

Verfasst: Do 25. Mär 2021, 12:10
von MB21

Danke KOMA, der Einschluss in eine Gruppe war die Lösung!