Tabelle mit Inhalt an Seite anpassen

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: Tabelle mit Inhalt an Seite anpassen

von Remus_ » Fr 12. Apr 2019, 10:12

Ich habe jetzt ein vollständiges Beispiel hinzugefügt (Siehe Beitrag über deinem). Das Minimalbeispiel ist ja gut, ich dachte nur, nachdem von Gast (vermutlich dir) bereits ein kurzer Code gekommen ist (für die Tabelle), kann ich so weiter verfahren. Mein Grundgerüst hat sich bisher nicht geändert (mit Blick auf meinen ersten Beitrag).


Ich werde mal versuchen den Code von dir zu testen vllt. ist das ja schon die Lösung nach der ich suche. Mein großes Problem ist halt, dass ich nicht unendlich viel Zeit habe mich in Latex zu vertiefen (was vllt. an der ein oder anderen Stelle sinnvoll wäre), weil ich primär mit einer anderen Arbeit beauftragt bin, daher suche ich hier gerne den Rat von den experten, die meist wissen, wie man recht elegant diese "Anfängerprobleme" lösen kann. Was ich echt klasse finde!

Lesen der Anleitungen der empfohlenen/verwendeten Pakete …

von Gast » Do 11. Apr 2019, 19:38

Da Du nichts von vollständigen Minimalbeispiel hältst ein vollkommen ungetesteter Vorschlag unter Zuhilfenahme des bereits oben erwähnten ragged2e:
\begin{table}[htbp]
   \begin{tabularx}{\textwidth}{>{\RaggedRight}Xll>{\RaggedRight}X}
      \toprule
      Xccccccccccccm\-Xccccccccs&Xc&Xnnnnnn&Xnnnnn nnnnn XXXXXXXX\\
      \midrule
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4\\
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4\\
      \bottomrume
   \end{tabularx}
\end{table}
Alles weitere ist den Anleitungen der Pakete tabularx, array, ragged2e und booktabs zu entnehmen. Lesen!

von Remus_ » Do 11. Apr 2019, 18:08

Ich habe nochmal eine Tabelle erzeugt, aus der mein Problem etwas deutlicher hervorgeht. Also wenn man sich die Spalte 4 ansieht, dann ist dort zu erkenne, dass die Trennung einfach schlecht ist:
\documentclass[12pt,a4paper,titlepage]{article} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[autostyle=true,german=quotes]{csquotes} 
\usepackage{makeidx} 
\usepackage{graphicx} 
\usepackage{amsmath} 
\usepackage{amssymb} 
\usepackage{autobreak} 
\usepackage{caption} 
\usepackage{array} 
\usepackage[a4paper, left=2.5cm, right=2.5cm, top=3cm, bottom=2cm]{geometry} 
\usepackage[autooneside=false,headsepline,markcase=noupper]{scrlayer-scrpage} 
\ihead{\headmark} 
\ohead*{\pagemark} 
\ifoot{Remus} 
\addto\extrasngerman{% 
   \renewcommand{\refname}{Literaturverzeichnis}% 
} 

\automark[subsection]{section} 
\usepackage{float} 
\usepackage[hang]{footmisc} 
\usepackage[braket]{qcircuit} 
\usepackage[matrix,frame,arrow]{xypic} 
\pagestyle{scrheadings} 
\usepackage{blindtext} 
\usepackage{booktabs} 
\usepackage[numbers]{natbib} 
\usepackage{listings} 
\usepackage{tabularx} 
\usepackage{colortbl} 
\usepackage{hyperref} 


\begin{document} 
   \begin{table}[htbp] 
   \begin{tabularx}{\textwidth}{|X|X|X|X|} 
      \hline 
      Xccccccccccccm- \linebreak Xccccccccs&Xc&Xnnnnnn&Xnnnnn nnnnn XXXXXXXX\\ 
      \hline 
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4\\ 
      \hline 
   \end{tabularx} 
\end{table}


   % Definiton des Literaturverzeichnisses 
   \begin{thebibliography}{xxxxx} 
      %\bibitem[AE]{Einstein}Albert Einstein, Titel~\dots\label{Einstein Spez teo} 
   \end{thebibliography} 
    
    
\end{document} 

Ich würde gerne die Tabelle mit den "echten" Daten hochladen, aber da weiß ich nicht ob mir das erlaubt ist...

Ich habe das auch nochmal als Bild eingefangen:

Bild
Dateianhänge
bildltx.PNG
bildltx.PNG (2.77 KiB) 7004 mal betrachtet

von Gast » Mi 10. Apr 2019, 09:13

90% des gezeigten Codes ist für das Beispiel mit Sicherheit vollkommen unerheblich und der Rest zeigt IMHO nicht das angesprochene Problem. Bitte die Minimalbeispiel-Anleitung einmal sehr viel gründlicher lesen. Zumindest das angesprochene Problem sollte ein Beispiel selbst dann zeigen, wenn es alles andere als minimal ist. Davon abgesehen, dass ich die gezeigte Tabelle eher als
   \begin{tabularx}{\textwidth}{XXXX}
      \toprule
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\
      \midrule
      Inhalt 1 & Inhalt 2 & Inhalt 3 & Inhalt 4 \\
      \bottomrule
   \end{tabularx}
oder genau genommen als
  \centering
   \begin{tabular}{llll}
      \toprule
      Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\
      \midrule
      Inhalt 1 & Inhalt 2 & Inhalt 3 & Inhalt 4 \\
      \bottomrule
   \end{tabular}
setzen würde, kann ich sonst nicht viel mehr beitragen als ich schon habe.

von Bartman » Di 9. Apr 2019, 19:10

Welche der im Beitrag des Gastes beschriebenen Mittel hast Du probiert, um die Ausrichtung einer Spalte zu ändern? In der Dokumentation von tabularx erfährst Du, wie der durch dieses Paket verfügbare Spaltentyp verändert werden kann. Das funktioniert für das ganze Dokument oder auch nur lokal in Deiner table-Umgebung.

Darfst Du nun booktabs benutzen oder nicht?

Auch wenn die Tabellenbeschriftung lokal beeinflusst werden kann, so sollte sie doch für alle Tabellen im Dokument einheitlich sein.

von Remus_ » Di 9. Apr 2019, 16:50

Also ich habe nochmal etwas probiert. Das mit \newline war hilfreich! Jetzt hab ich es bisher allerdings noch nicht geschafft, den Blocksatz explizit für die Tabelle zu deaktivieren.

Die Tabelle ist fast so wie ich mir das vorstelle, allerdings bekomme ich den Blocksatz nicht in der Tabelle deaktiviert. Wäre klasse, wenn mir Jemand weiterhelfen kann! Danke :)
\documentclass[12pt,a4paper,titlepage]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{autobreak}
\usepackage{caption}
\usepackage{array} 
\usepackage[a4paper, left=2.5cm, right=2.5cm, top=3cm, bottom=2cm]{geometry}
\usepackage[autooneside=false,headsepline,markcase=noupper]{scrlayer-scrpage}
\ihead{\headmark}
\ohead*{\pagemark}
\ifoot{Remus}
\addto\extrasngerman{% 
	\renewcommand{\refname}{Literaturverzeichnis}% 
} 

\automark[subsection]{section}
\usepackage{float}
\usepackage[hang]{footmisc}
\usepackage[braket]{qcircuit}
\usepackage[matrix,frame,arrow]{xypic}
\pagestyle{scrheadings}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage[numbers]{natbib} 
\usepackage{listings} 
\usepackage{tabularx} 
\usepackage{colortbl}
\usepackage{hyperref}


\begin{document}
	\begin{table}[htbp] 
	\begin{tabularx}{\textwidth}{|X|X|X|X|} 
		\hline
		Spalte 1 & Spalte 2 & Spalte 3 & Spalte 4 \\
		\hline
		Inhalt 1 & Inhalt 2 & Inhalt 3 & Inhalt 4 \\
		\hline
	\end{tabularx} 
	\captionsetup{labelfont=bf,textfont=it}
	\caption[Titel]{Beschreibung}
	\label{tabelle:label}
	\end{table} 


	% Definiton des Literaturverzeichnisses
	\begin{thebibliography}{xxxxx} 
		%\bibitem[AE]{Einstein}Albert Einstein, Titel~\dots\label{Einstein Spez teo}
	\end{thebibliography} 
	
	
\end{document}




PS: Gibt es auch eine Möglichkeit die Tabelle darstellerisch noch etwas zu optimieren? Also gerade die zweite Zeile wirkt etwas gequetscht.

von Gast » Mi 3. Apr 2019, 12:43

In schmalen Spalten ist Blocksatz ohnehin eher nicht zu empfehlen. Ich würde also entweder \raggedright oder \RaggedRight verwenden. Zu letzterem siehe ragged2e. Bei \raggedright gibt es Trennung nur noch, wenn ein Wort insgesamt nicht in die Zeile passt. Bei der letzten Spalte kann es sinnvoll sein zusätzlich zu \raggedright noch \arraybackslash zu verwenden. Siehe dazu die [d]array[/d]-Anleitung.

Ansonsten kann man in Tabellen Trennung auf die übliche Weise beeinflussen, also beispielsweise mit expliziten Trennstrichen \- nur bestimmte Stellen die Trennung eines Worts erlauben oder mit \mbox die Trennung eines Worts komplett verbieten. Ebenso funktionieren \linebreak oder \newline.

von Remus_ » Mi 3. Apr 2019, 12:27

Ok danke für die Antworten, also ich habe dann mal etwas losgelegt. Mein Problem ist jetzt aber, dass er sehr komisch trennt.

Gibt es einen Parameter mit dem man einen Umbruch ab einem Gewissen Wort erwirken kann. Ich will mal ein Beispiel geben:

In einer Zeile steht z.B.

"Dateierweiterung, Un-
beantwortete"

besser wäre die Trennung:

"Dateierweiterung,
Unbeantwortete"


Gibt es dort vielleicht einen Parameter, mit dem das umgesetzt werden kann?



\begin{table}[htbp] 
	\begin{tabularx}{\textwidth}{XXXX} 
	\toprule
	Dateierweiterung, Unbeantwortete&Bla&BlaBla&Lange Überschrift\\
	\end{tabularx} 
\end{table} 

Re: Tabelle mit Inhalt an Seite anpassen

von markusv » Mi 3. Apr 2019, 12:06

Remus_ hat geschrieben:Am Besten wäre es, wenn das durch einen automatischen Umbruch [...]
Wenn du dies möchtest, musst du auch eine Spaltendefinition verwenden, die Zeilenumbrüche ermöglicht. Im einfachsten Falle wäre das p{Spaltenlänge} bzw. m{Spaltenlänge}. Sollen alle Spalten die gleiche Länge haben und die Tabelle die ganze Seite ausfüllen, wäre evtl. tabularx ein Versuch wert.

von Gast » Mi 3. Apr 2019, 12:04

Als erstes würde ich für eine Tabelle mit vier verwendeten Spalten nicht 8 Spalten deklarieren, also nicht
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}*8l@{}}
sondern
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}*4l@{}}
verwenden. Dann könnte man je nach Inhalt noch p-Spalten verwenden, damit innerhalb der Spalten ein Zeilenumbruch erlaubt ist. p-Spalten sollten in jeder bessere LaTeX-Einführung erklärt sein.

Und ob es wirklich sinnvoll ist tabular* zu verwenden, sei einmal dahin gestellt. Üblicherweise finde ich Tabellen, die künstlich auf Zeilenbreite aufgeblasen werden eher schlecht. Wenn man Zeilenumbrüche in den Spalten will, wäre ggf. tabularx und die Verwendung einer oder mehrerer X-Spalten eine Alternative. Siehe dazu die Anleitung und unzählige Beispiele hier auf goLaTeX oder auch auf TeXwelt.de.

BTW: \pagestyle{scrheadings} ist nach dem Laden von scrlayer-scrpage Voreinstellung. Die Anweisung braucht es also nicht.

Zwischen \tiny und \normalsize gibt es übrigens auch noch \footnotesize und \small. Siehe dazu eine nahezu beliebige LaTeX-Einführung.

Nach oben