Tabelle mit mehrzeiligem Text pro Zelle

Tabellen und Grafiken erstellen und anordnen


buster65
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 19. Mai 2018, 20:40

Tabelle mit mehrzeiligem Text pro Zelle

Beitrag von buster65 »

Hallo zusammen,

ich muß für meine Abschlußarbeit eine Tabelle erstellen, in der relative große Textmengen untergebracht werden müssen. Eventuell wird sie auch über eine Seite hinaus gehen.

Da der Text nicht in eine Zelle hineinpaßt, muß ich mehrere Textzeilen in einer Zelle unterbringen. Dabei wäre ein Fließtext am besten, aber ich kann auch manuelle Zeilenumbrüche einfügen.

Soetwas ist in Word ganz einfach aber in LaTex bin ich bisher kläglich gescheitert damit. :( Text der nicht hineinpaßt wird einfach rechts über den Seitenrand hinaus geschoben. Manuelle Zeilenumbrüche lösen das Problem nicht.

Da ich nicht viel Erfahrung mit LaTex habe, bin ich auf der Suche nach einem Beispiel dazu, habe aber bisher nichts passendes gefunden.

Kann jemand helfen?

Vielen Dank für jeden Hinweis!




Grüße aus dem Rheinland

Gast

Beitrag von Gast »

Lies eine LaTeX-Einführung. Da sollten p-Spalten erklärt sein.

Als Erweiterung gibt es dann noch [d]longtable[/d], [d]tabularx[/d] und ggf. [d]xltabular[/d] u. ä.

buster65
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 19. Mai 2018, 20:40

Beitrag von buster65 »

Hallo Gast,

danke für die Hinweise!

Ich habe versucht Die Tabelle mit ltablex zu erstellen, da ich befürchte, daß sie nicht auf eine Seite passen wird wenn sie fertig ist.

Die Tabelle ist eigentlich einfach, soll nur aus zwei Spalten bestehen, ohne Kopf und Fuß und ohne horizotale und vertikale Linien.

Bei meinem Versuch sieht es so aus, als ob beide Spalten gleich breit sind und zusammen nicht die ganze Breite ausnutzen.

Hier das Minimalbeispiel:
\documentclass{scrreprt}
\usepackage{ltablex}

\begin{document}

\begin{tabularx}{\textwidth}[l]{XX}
	\textbf{Anycast}	& Versand einer Nachricht von einem Knoten an eine Gruppe von Rechnern mit gemeinsamer Adresse, bei dem man nur den mit der kürzesten Route erreicht\\
	\textbf{Broadcast}	& Versand einer Nachricht von einem Knoten eines Netze an alle anderen\\
	\textbf{Geocast}& Versand einer Nachricht von einem Knoten an einen oder mehrere Knoten in einem räumlich abgegrenztes Gebiet\\
	\textbf{Multicast}	& Versand einer Nachricht von einem Knoten an eine Gruppe von Knoten mit gemeinsamer Multicast-Adresse\\
	\textbf{Unicast}	& Versand einer Nachricht von einem Knoten an einen anderen Knoten\\
\end{tabularx}

\begin{document}
Wie kann ich die Spaltenbreiten in diesem Fall einstellen? Am besten wäre, wenn die Breite der ersten Spalte sich nach dem längsten Wort richtet und die zweite Spalte den Reste der Seitenbreite belegt. Aber eine feste Einstellung wäre auch ok. Die Beschreibung von ltablex ist hier leider nicht sehr hilfreich.

Vielen Dank für jeden Hinweis!



Grüße aus den Rheinland

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

Beitrag von Bartman »

Dein Beispiel ist fehlerhaft. Teste es bitte, bevor Du es veröffentlichst.

Ist das nicht eher etwas für eine labeling- oder description-Umgebung? Erstere findest Du in der KOMA-Script-Anleitung, während Letztere mithilfe des Pakets enumitem beeinflusst werden kann.
\documentclass{scrreprt}
\usepackage{ltablex}

\begin{document}
{\renewcommand{\arraystretch}{1.2}
\begin{tabularx}{\textwidth}{>{\bfseries}lX}
   Anycast   & Versand einer Nachricht von einem Knoten an eine Gruppe von Rechnern mit gemeinsamer Adresse, bei dem man nur den mit der kürzesten Route erreicht\\
   Broadcast   & Versand einer Nachricht von einem Knoten eines Netze an alle anderen\\
   Geocast& Versand einer Nachricht von einem Knoten an einen oder mehrere Knoten in einem räumlich abgegrenztes Gebiet\\
   Multicast   & Versand einer Nachricht von einem Knoten an eine Gruppe von Knoten mit gemeinsamer Multicast-Adresse\\
   Unicast   & Versand einer Nachricht von einem Knoten an einen anderen Knoten\\
\end{tabularx}}
\end{document}% <- geändert
Zuletzt geändert von Bartman am Di 28. Aug 2018, 10:33, insgesamt 1-mal geändert.

Gast

Beitrag von Gast »

Mir gefällt der Ansatz von xltabular, nicht die tabularx-Umgebung umzudefinieren, sondern eine eigene Umgebung für Tabellen mit Seitenumbruch zu definieren, ja besser. Außerdem bietet sich bei zweispaltigen Tabellen, bei denen die linke Spalte keinen Umbruch benötigt, die rechte aber schon, eigentlich immer eine Liste an. Daher hier mal drei Alternativen:
\documentclass{scrreprt}
\usepackage{xltabular}% Ist auf Overleaf derzeit noch nicht verfügbar
\setkomafont{labelinglabel}{\bfseries}
\begin{document}

\begin{xltabular}{\textwidth}{@{}>{\bfseries}lX@{}}
   Anycast & Versand einer Nachricht von einem Knoten an eine Gruppe von Rechnern mit gemeinsamer Adresse, bei dem man nur den mit der kürzesten Route erreicht\\
   Broadcast & Versand einer Nachricht von einem Knoten eines Netze an alle anderen\\
   Geocast & Versand einer Nachricht von einem Knoten an einen oder mehrere Knoten in einem räumlich abgegrenztes Gebiet\\
   Multicast & Versand einer Nachricht von einem Knoten an eine Gruppe von Knoten mit gemeinsamer Multicast-Adresse\\
   Unicast   & Versand einer Nachricht von einem Knoten an einen anderen Knoten\\
\end{xltabular}

Oder:

\begin{labeling}{Broadcast}
\item[Anycast] Versand einer Nachricht von einem Knoten an eine Gruppe von
  Rechnern mit gemeinsamer Adresse, bei dem man nur den mit der kürzesten
  Route erreicht
\item[Broadcast] Versand einer Nachricht von einem Knoten eines Netze an alle
  anderen
\item[Geocast] Versand einer Nachricht von einem Knoten an einen oder mehrere
  Knoten in einem räumlich abgegrenztes Gebiet
\item[Multicast] Versand einer Nachricht von einem Knoten an eine Gruppe von
  Knoten mit gemeinsamer Multicast-Adresse
\item[Unicast] Versand einer Nachricht von einem Knoten an einen anderen
  Knoten
\end{labeling}

Oder:

\begin{description}
\item[Anycast] Versand einer Nachricht von einem Knoten an eine Gruppe von
  Rechnern mit gemeinsamer Adresse, bei dem man nur den mit der kürzesten
  Route erreicht
\item[Broadcast] Versand einer Nachricht von einem Knoten eines Netze an alle
  anderen
\item[Geocast] Versand einer Nachricht von einem Knoten an einen oder mehrere
  Knoten in einem räumlich abgegrenztes Gebiet
\item[Multicast] Versand einer Nachricht von einem Knoten an eine Gruppe von
  Knoten mit gemeinsamer Multicast-Adresse
\item[Unicast] Versand einer Nachricht von einem Knoten an einen anderen
  Knoten
\end{description}
 

\end{document}

buster65
Forum-Anfänger
Forum-Anfänger
Beiträge: 49
Registriert: Sa 19. Mai 2018, 20:40

Beitrag von buster65 »

Hallo Gast,

xltabular macht genau das was ich brauche. :-)

Besten Dank für diesen Tipp!




Grüße aus dem Rheinland

Antworten