Tabelle anpassen

Tabellen und Grafiken erstellen und anordnen


jon
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 16. Mai 2018, 16:10

Tabelle anpassen

Beitrag von jon »

Hallo Liebe Latex-Liebhaber,

ich stehe zurzeit vor einer Hürde und würde euch gerne um Rat fragen.
Ich möchte gerne eine Tabelle auf einer Seite anfangen lassen und diese aber auf der nächsten Seite aufhören lassen. Sobald sie größer ist als auf der momentanen Seite platz ist, springt sie direkt auf die nächste Seite und will dort erst anfangen. Ich habe es mit \newpage mittendrin versucht (ohne Erfolg).

Code: Alles auswählen

\documentclass[paper=a4,fontsize=12pt,oneside]{scrreprt}
\usepackage{amssymb} 
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}  
\usepackage{tabularx}
\usepackage{float}
\begin{document}\noindent
TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT TEXTTEXT
\begin{table}[H]\noindent
	\centering 
	\begin{tabularx}{\textwidth}{>{\hsize=.55\hsize}X>{\hsize=.25\hsize}X>{\hsize=.1\hsize}X>{\hsize=.1\hsize}X}
		\hline Bezeichnung  & Artikelnummer & Anzahl & euro/Stück  \\\hline
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\
		TEXT&TEXT&TEXT&TEXT\\\hline      
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\end{tabularx}
	\caption{Kostenkalkulation}
	\label{Kostenkalkulation}
\end{table}\noindent
\end{document} 
Ich freue mich auf eure Vorschläge!
Liebe Grüße Jon[

Stamm-

Tabellen über mehrere Seiten

Beitrag von Stamm- »

Es gibt Pakete für lange Tabellen. Eines davon ist »ltablex«.

Code: Alles auswählen

\documentclass[
%  paper=a4,  % Unnötig, weil Voreinstellung
  fontsize=12pt,
%  captions=tableabove,
  ngerman
]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
  Euro={€}
}
\usepackage{babel}

%\usepackage{tabularx}
\usepackage{booktabs,ltablex}

\usepackage{lmodern}
\usepackage[official,right]{eurosym}
\usepackage{microtype}

\usepackage{blindtext}

\begin{document}
  \noindent
  \blindtext[3]

  \bigskip
  \noindent
  \captionof{table}{Kostenkalkulation}
  \label{Kostenkalkulation}
  \begin{tabularx}{\textwidth}{>{\hsize=.55\hsize}X>{\hsize=.25\hsize}X>{\hsize=.1\hsize}X>{\hsize=.1\hsize}X} \toprule
     Bezeichnung  & Artikelnummer & Anzahl & \euro/Stück \\ \midrule
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\
     TEXT&TEXT&TEXT&TEXT\\ \bottomrule      
  \end{tabularx}
\end{document}

Gast

Beitrag von Gast »

Ich empfehle xltabular statt ltablex. Wobei "statt" da etwas das falsche Wort ist, weil xltabular intern dann auch wieder ltablex lädt. Es sorgt aber dafür dass die Original tabularx-Umgebung erhalten bleibt und damit dessen Originalfunktionalität weiterhin beispielsweise in table-Umgebungen verwendet werden kann. Für lange Tabellen mit X-Spalten bietet es die xltabular-Umgebung statt der tabularx-Umgebung.

Ratgeber

Zeigen statt nur auflisten

Beitrag von Ratgeber »

Anonymous hat geschrieben:Ich empfehle xltabular statt ltablex. Wobei "statt" da etwas das falsche Wort ist, weil xltabular intern dann auch wieder ltablex lädt. Es sorgt aber dafür dass die Original tabularx-Umgebung erhalten bleibt und damit dessen Originalfunktionalität weiterhin beispielsweise in table-Umgebungen verwendet werden kann. Für lange Tabellen mit X-Spalten bietet es die xltabular-Umgebung statt der tabularx-Umgebung.
Dann präsentiere deine Empfehlungen doch mit einem konkreten Beispiel. Nur Pakete aufzulisten ist wenig hilfreich.

Gast

Trivialitäten muss man nicht zeigen

Beitrag von Gast »

Ratgeber hat geschrieben:Dann präsentiere deine Empfehlungen doch mit einem konkreten Beispiel. Nur Pakete aufzulisten ist wenig hilfreich.
Ich habe doch erklärt, was an Stamm-Gasts Beispiel zu ändern ist, wenn man xltabular statt ltablex verwendet: Die tabularx-Umgebung durch eine xltabular-Umgebung ersetzen. Wenn es dafür wirklich ein Beispiel braucht, dann eben hier der sed-Aufruf, um in Stamm-Gasts Beispiel den entsprechende Ersetzung vorzunehmen, wobei davon ausgegangen wird, dass das Beispiel unter dem Namen ltablex-example.tex gespeichert ist und ' zum Quoten in der verwendeten Shell funktioniert:

Code: Alles auswählen

sed 's/\(ltablex\|tabularx\)/xltabular/' ltablex-example.tex > xltabular-example.tex
Allerdings würde ich außerdem noch empfehlen, eben nicht \captionof zu verwenden, sondern das dafür vorgesehene \caption innerhalb der xltabular-Umgebung (oder bei ltablex innerhalb der tabularx-Umgebung). Natürlich dann in Verbindung mit \endhead und ggf. \endfirsthead:

Code: Alles auswählen

\documentclass[fontsize=12pt,ngerman]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage{babel}

\usepackage{booktabs,xltabular}

\usepackage{lmodern}
\usepackage[official,right]{eurosym}
\usepackage{microtype}

\usepackage{blindtext}

\begin{document}
\blindtext[3]

\begin{xltabular}{\textwidth}{>{\hsize=.55\hsize}X>{\hsize=.25\hsize}X>{\hsize=.1\hsize}X>{\hsize=.1\hsize}X}
  \caption{Kostenkalkulation\label{Kostenkalkulation}}\\
  \toprule
  Bezeichnung & Artikelnummer & Anzahl & \euro/Stück \\
  \midrule
  \endfirsthead
  \caption[]{Kostenkalkulation (Fortsetzung)}\\
  \toprule
  Bezeichnung & Artikelnummer & Anzahl & \euro/Stück \\
  \midrule
  \endhead
  \bottomrule
  \endlastfoot
  \midrule
  \multicolumn{4}{r}{\dots}
  \endfoot
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT\\
  TEXT&TEXT&TEXT&TEXT
\end{xltabular}
\end{document}
Näheres zum Umfang mit \caption, \endhead, \endfirsthead, \endfoot und \endlastfoot in mehrseitigen Tabellen ist der [d]longtable[/d]-Anleitung zu entnehmen.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2139
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

In dem Fall sollte dann aber der Vorschlag des Stammgastes für die Beschriftung der Tabelle nicht fehlen:

Code: Alles auswählen

\documentclass[fontsize=12pt, captions=tableabove, ngerman]{scrreprt}

jon
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 16. Mai 2018, 16:10

Beitrag von jon »

Hey danke für den Tipp. nun zerschießt es mir aber an anderer Stelle Tabellen, so dass diese nicht mehr bündig mit dem rechten- und linken Rand sind.... :/

Gast

Beitrag von Gast »

Welchen Tipp hast Du verwendet? Kannst Du ein Minimalbeispiel für das neue Problem (ggf. in einer neuen Frage) zeigen?

jon
Forum-Anfänger
Forum-Anfänger
Beiträge: 22
Registriert: Mi 16. Mai 2018, 16:10

Beitrag von jon »

Hey, Entschuldigung dass war echt etwas kurz gehalten von mir :D

Also ich habe den Tipp mit \usepackage{booktabs,ltablex} benutzt.
Nun sollen die Tabellen aber bündig mit dem Rand links und rechts sein.

Code: Alles auswählen


\documentclass[paper=a4,fontsize=12pt,oneside]{scrreprt} 
\usepackage{amssymb} 
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage{amsmath}   
\usepackage{tabularx} 
\usepackage{float} 
\usepackage{booktabs,ltablex}

\begin{document} 
	\noindent 
	ababababab
	babababab
	babababab
	babababab\\
	\begin{tabularx}{\textwidth}{>{\hsize=.6\hsize}X>{\hsize=.4\hsize}X}
		\hline   Bauteil & Maße  \\\hline
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\
		TEXT & TEXT \\ \hline         
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		\caption{Erste Systemkonfiguration Diffusorschaltung}
		\label{Erste Systemkonfiguration Diffusorschaltung}
	\end{tabularx}
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\
	babababab\\ 
	\begin{tabularx}{\textwidth}{>{\hsize=.55\hsize}X>{\hsize=.25\hsize}X>{\hsize=.1\hsize}X>{\hsize=.1\hsize}X} 
		\hline Bezeichnung  & Artikelnummer & Anzahl & euro/Stück  \\\hline 
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\ 
		TEXT&TEXT&TEXT&TEXT\\\hline       
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
		\caption{Kostenkalkulation} 
		\label{Kostenkalkulation}
	\end{tabularx} 
\end{document}
	 

Gast

Beitrag von Gast »

Lies mal den dritten Absatz der [d]ltablex[/d]-Anleitung. Da steht die Erklärung und die Lösung. Wobei ich bemerken muss, dass ich nichts davon halte, schmale Spalten künstlich stark zu verbreitern. Das macht die Tabellen nämlich nicht besser lesbar.

BTW: Wenn Du booktabs schon lädst, würde ich empfehlen, dessen unterschiedliche horizontale Linien auch zu nutzen, wie das in den Beispielen oben gezeigt wurde.

Antworten