Feste Spaltenhöhe automatisch vergrößern

Tabellen und Grafiken erstellen und anordnen


Garnelchen
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 22. Jun 2017, 11:45

Feste Spaltenhöhe automatisch vergrößern

Beitrag von Garnelchen »

Hallo Community,

ich habe folgende Tabelle:
\documentclass[a4paper,10pt]{article}
%\documentclass[a4paper,10pt]{scrartcl}

\usepackage[top=0.5cm,bottom=1cm,includeheadfoot]{geometry}


\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{colortbl}

\begin{document}

	\begin{table}[h]
		\begin{tabular}{| p{2cm} | p{11cm} | p{1,5cm} |}
			\hline
				\rowcolor[gray]{.8}Schrift1 & Schrift2 & Schrift3 \\
				\rowcolor[gray]{.8} & & \\
			\hline

				Montag: & Dieser Text ist zu lang für die 2. Spalte und wird automatisch umgebrochen! & Test 3 \\
				& &\\
			\hline
		\end{tabular}
	\end{table}

\end{document}
Ich möchte, das diese Tabelle eine Standard Spaltenhöhe hat.
Wenn ich jetzt aber Text einfüge und der Text zu lang für die Tabelle ist, wird automatisch ein Zeilenumbruch generiert.

Ich möchte aber nicht das die Tabelle dadurch größer wird.

Die Höhe de Tabelle soll auf bspw. 5 Zeilen gesetzt sein.
Wenn die 5 Zeilen voll sind, soll ab diesem Zeitpunk bei einem Umbruch die Höhe angepasst werden.

Sprich, 5 Zeilen Standard.
Wenn 3 Zeilen geschrieben, dann trotzdem auf 5 belassen.

Wenn 6 Zeilen geschrieben, dann soll die Höhe auf 6 gestellt werden (automatisch)

Mit
\rule{0cm}{0,5cm} & &\\
wird die Tabelle leider nur "aufgefüllt" d.h. wenn ich dort 5 Zeilen einstelle, wird beim ersten umbrechen gleich noch eine hinzugefügt.

Geht das?

Liebe Grüße,

Garnelchen

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du kannst die unsichtbare Stütze an einen Spaltenabstand anfügen:
\documentclass[a4paper,10pt]{article} 
%\documentclass[a4paper,10pt]{scrartcl} 

\usepackage[top=0.5cm,bottom=1cm,includeheadfoot]{geometry} 

\usepackage[utf8]{inputenc} 
\usepackage{graphicx} 
\usepackage[table]{xcolor}


\begin{document} 

   \begin{table}[htb] 
      \begin{tabular}{| p{2cm} | p{9.75cm} | p{1.5cm} 
        @{\hspace{\tabcolsep}%
          \rule[\dimexpr-4\ht\strutbox-5\dp\strutbox\relax]{0pt}{\dimexpr5\ht\strutbox+5\dp\strutbox\relax}%
        }
        |} 
         \hline 
            \rowcolor[gray]{.8}Schrift1 & Schrift2 & \multicolumn{1}{l}{Schrift3} \\[\normalbaselineskip]
         \hline 
            Montag: &
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen!
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              %Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              %Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              & Test 3 \\
         \hline
            Dienstag: &
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
            & Test 4\\
         \hline 
            Mittwoch: &
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen!
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              Dieser Text ist zu lang für die zweite Spalte und wird automatisch umgebrochen! 
              & Test 5 \\
         \hline 
      \end{tabular} 
   \end{table} 
\end{document}

Garnelchen
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 22. Jun 2017, 11:45

Beitrag von Garnelchen »

Danke!

Ich hab jetzt ne andere Lösung gefunden...
Hab gezählt wie viele Zeichen in eine Zeile passen, bevor die Tabelle umbrechen würde und per Skript abgefragt, wie lang mein eingefügter String ist.

Ab einer bestimmten länge werden einfach 4 Leere Zeilen darunter eingefügt, ab der doppelten menge 3 leere Zeilen, an der 3 fachen 2 usw.

Ab der 5/6/7( ... fachen menge, wird die Zelle dann automatisch ausgedehnt!


Liebe Grüße,
Garnelchen und Danke nochmal!

Antworten