Rahmen wird nicht richtig angezeigt

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Rahmen wird nicht richtig angezeigt

Re: Rahmen wird nicht richtig angezeigt

von Diggi2023 » So 21. Jan 2024, 01:02

Die Lösung habe ich hier gefunden im Kap "6.2 Over Sized Spanning Rows" https://www.cl.uni-heidelberg.de/courses/ss19/wissschreib/material/tableTricks.pdf

Ich mag die Lösung nicht so, da man Manuell eingreifen muss, aber schlussendlich hat es geklappt,


In der Präambel muss der folgende Code rein:
\usepackage{bigstrut}
\newlength{\rowA}
\setlength{\rowA}{9ex} % modify as needed
\newcommand{\strutA}{% no space before strut
\rule[-0.45\rowA]{0pt}{\rowA}% put text approx mid strut
}

In der Tabelle, der Fett gedruckte Teil nicht vergessen:
\multirow{2}{*}[1ex]{\parbox{4cm}{%
Und in einer Zelle von einer Zeile muss
\strutA
stehen

Ach ja und wenn in einer Zelle der Text zu lang wir, dass dieser automatisch einen Zeilenumbruch auslösst, würde ich die Zelle mit
\parbox{4cm}{Das ist mein langer Text}
einfügen. Sonst kommt zwischen dem Text noch durch die \strutA der Vertikaler Leerraum.

So und hier der ganze Code:
\documentclass{article}
\usepackage{array}
\usepackage{makecell}
\usepackage{multirow}

\usepackage{bigstrut}
\newlength{\rowA}
\setlength{\rowA}{9ex} % modify as needed
\newcommand{\strutA}{% no space before strut
	\rule[-0.45\rowA]{0pt}{\rowA}% put text approx mid strut
	}
	
	
\begin{document}
	\begin{tabular}{|c|c|}
		\hline
		\multirow{2}{*}[1ex]{\parbox{4cm}{%
				Erste Zeile\\
				Zweite Zeile\\
				Dritte Zeile\\
				Vierte Zeile\\
				Fünfte Zeile}} & 
		kurzer Text\strutA\\
		\cline{2-2}
		& weiterer Text\strutA\\
		\hline
	\end{tabular}
	
	Text unter der Tabelle
	
	\begin{tabular}{|c|c|}
		\hline
			\multirow{2}{80mm}{%
				Erste Zeile,
				Zweite Zeile,
				Dritte Zeile,
				Vierte Zeile,
				Fünfte Zeile}
			& 
		Text in der zweiten Zeile \\
		\cline{2-2}
		& Weiterer Text \\
		\hline
	\end{tabular}
	
	
\end{document}

Re: Rahmen wird nicht richtig angezeigt

von Diggi2023 » So 14. Jan 2024, 23:05

Bei näherer Betrachtung habe ich festgestellt, dass das Problem gar nicht was mit Aufzählung bei mir zutun hat.
\multirow erzeugt den Fehler, da er nicht die richtige Box-Größe generiert.

Mein Worst Case sieht in etwa so aus:
Zelle A1:A2 wird mit multirow verbunden
Zelle B1 und B2 haben nur einen kleinen eintrag.
Der Text "Text unter der Tabelle" ist nicht unter der Tabelle.
Die nächste Tabelle wird "richtig" unter dem Text eingefügt.

Mein Problem zeigt die dritte Tabelle, wo ich um die multirow eine fbox erzeugt habe und dies nicht in der richtigen Größe von LaTeX umgesetzt wird. Hat da einer eine Idee?
\documentclass{article}
\usepackage{array}
\usepackage{makecell}
\usepackage{multirow}

\begin{document}
	\begin{tabular}{|c|c|}
		\hline
		\multirow{2}{*}{\parbox{4cm}{%
				Erste Zeile\\
				Zweite Zeile\\
				Dritte Zeile\\
				Vierte Zeile\\
				Fünfte Zeile}} & 
		kurzer Text\\
		\cline{2-2}
		& weiterer Text \\
		\hline
	\end{tabular}
	
	Text unter der Tabelle
	
	\begin{tabular}{|c|c|}
		\hline
			\multirow{2}{80mm}{%
				Erste Zeile,
				Zweite Zeile,
				Dritte Zeile,
				Vierte Zeile,
				Fünfte Zeile}
			& 
		Text in der zweiten Zeile \\
		\cline{2-2}
		& Weiterer Text \\
		\hline
	\end{tabular}
	
	\vspace{2cm}
	Hier die Tabelle mit fbox-multirow
	
	\begin{tabular}{|c|c|}
		\hline
		\fbox{
			\multirow{2}{80mm}{%
				Erste Zeile,
				Zweite Zeile,
				Dritte Zeile,
				Vierte Zeile,
				Fünfte Zeile}
			} & 
		Text in der zweiten Zeile \\
		\cline{2-2}
		& Weiterer Text \\
		\hline
	\end{tabular}
\end{document}

Re: Rahmen wird nicht richtig angezeigt

von Diggi2023 » Fr 12. Jan 2024, 11:13

Moment, ich merke gerade, dies ist die Lösung für eine Zelle, ob dies auch für verbundene Zellen funktioniert.... :roll: muss ich noch testen.... war doch etwas zu schnell unterwegs....

Re: Rahmen wird nicht richtig angezeigt

von Stefan Kottwitz » Fr 12. Jan 2024, 10:59

Prima, danke für die Info!

Stefan

Re: Rahmen wird nicht richtig angezeigt

von Diggi2023 » Fr 12. Jan 2024, 10:56

Ich verstehe zwar nicht die Ausführung, aber es geht
Quelle: https://tex.stackexchange.com/questions/320686/itemize-within-a-multirow
\documentclass{report}
\usepackage{makecell,multirow}
\usepackage{caption}
\usepackage{calc}
\usepackage{enumitem}
\newcommand{\tablistcommand}{% <-- zum entfernen des Vertikalen Zwischenraum
	%     vor und nach itemize
	\leavevmode\par\vspace{-\baselineskip}
}
\newcolumntype{P}[1]{p{#1-2\tabcolsep-\arrayrulewidth}}

\begin{document}
	\begin{table}[h]
		\setcellgapes{3pt}
		\makegapedcells
		\centering
		\begin{tabular}{c|P{0.6\textwidth}}
			ABC
			& DEF  \\ \hline
			
			first col 
			& 
			HALLO\newline
			\begin{itemize}[noitemsep,topsep=0pt,left=0pt,before = \tablistcommand,after  = 
			\tablistcommand]
				\item first item
				\item second item
			\end{itemize}                               \\
		\end{tabular}
	\end{table}
\end{document}

Rahmen wird nicht richtig angezeigt

von Diggi2023 » Mi 10. Jan 2024, 16:59

Ich hab das Problem:
  • In einer Tabelle will ich Zelle A1 und Zelle A2 verbinden
  • In der neuen Zelle will ich ein Text und darunter eine Aufzählung haben
  • Das alles braucht jetzt ein Rahmen
Und wenn man es sich anschaut, geht die letzte Linie durch den ganzen Text.
Was mach ich falsch, wie müsste der Code aussehen?
\documentclass{article}
\usepackage{array}
\usepackage{makecell}
\usepackage{multirow}

\begin{document}
	\begin{tabular}{|c|c|}
		\hline
		\multirow{2}{*}{\parbox{4cm}{Gemeinsame Zellen
				\begin{itemize}
					\item Erster Punkt
					\item Zweiter Punkt
					\item Dritter Punkt
		\end{itemize}}} & 
		Text in der zweiten Zeile \\
		\cline{2-2}
		& Weiterer Text \\
		\hline
	\end{tabular}
\end{document}

Nach oben