Wie kann ich tabularx bündig mit dem Text abschließen?

Tabellen und Grafiken erstellen und anordnen


ricksanchez
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mo 22. Mai 2017, 21:00

Wie kann ich tabularx bündig mit dem Text abschließen?

Beitrag von ricksanchez »

Hi,

ich verzweifle schon fast. Suche schon seit Tagen nach der Lösung. Ich weiß, dass man mit tabular über @{} die Tabelle vor dem Einrücken verhindern kann.
Aber wie funktioniert das eben mit Tabularx?

So sieht meine Tabelle aus:

[code]
\begin{tabularx}{\linewidth}{@{}@{\extracolsep{\fill}}*2l@{}}
Relationen: & Tabellen \\
Tupel: & Zeilen in denen etwas in der Datenbank steht. \\
Attribute: & Spaltenüberschriften \\
Primärschlüssel: & Eindeutig identifizierbares Attribut (z.B. Kunden-Nr.)
Kann auch aus einer Menge von Attributen bestehen. (z.B Kundenummer + Ansprechpartner)\\
Fremdschlüssel: & Der Verweis eines Attributs auf den Primärschlüssel einer Tabelle.\\
NULL: & Leer \\
\end{tabularx}
[\code]

Hab echt schon rauf und runter gegoogelt.

Viele Grüße

Gast

Beitrag von Gast »

Da Du entgegen der wichtigen Hinweise auf ein Minimalbeispiel verzichtet hast, nur der Hinweis: tabularx ist nur sinnvoll, wenn man min. eine X-Spalte verwendet. Siehe neben der [d]tabularx[/d]-Anleitung auch: Unterschied zwischen: tabular, tabularx und tabulary?

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

Beitrag von esdd »

Bitte erstelle immer ein kurzes, aber lauffähiges Minimalbeispiel.

Falls Du mit Absatzeinzug arbeitest, muss der noch mit \noindent verhindert werden. Oder Du zentrierst die Tabelle.

Innerhalb von l Spalten erfolgt kein Zeilenumbruch. Die tabularx Umgebung macht auch eigentlich keinen Sinn ohne wenigstens eine X Spalte.


\documentclass{article}
\usepackage{tabularx}
\usepackage{showframe}% nur zum Anzeigen des Seitenlayouts
\begin{document}

\noindent
\begin{tabularx}{\linewidth}{@{}lX@{}} 
 Relationen: & Tabellen \\ 
 Tupel: & Zeilen in denen etwas in der Datenbank steht. \\ 
 Attribute: & Spaltenüberschriften \\ 
 Primärschlüssel: & Eindeutig identifizierbares Attribut (z.B. Kunden-Nr.) 
 Kann auch aus einer Menge von Attributen bestehen. (z.B Kundenummer + Ansprechpartner)\\ 
 Fremdschlüssel: & Der Verweis eines Attributs auf den Primärschlüssel einer Tabelle.\\ 
 NULL: & Leer
 \end{tabularx}
\end{document}

ricksanchez
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mo 22. Mai 2017, 21:00

Beitrag von ricksanchez »

Oh Mann, ich habe doch glatt auch noch die Falsche Tabelle gepostet.

So, hier der Versuch meines Minimalbeispiels:

\documentclass{article}
\usepackage{tabularx}
\begin{document}

\noindent
\begin{tabularx}{\textwidth}{>{\hsize=.3\hsize}X>{\hsize=.7\hsize}X}
Text & Text\\
Text: & Text\\
\end{tabularx}

\end{document}

Die Tabelle möchte ich nicht zentrieren. Sondern links mit dem Text bündig abschließen lassen.

Sorry fürs Posten der falschen Tabelle!

So wie in diesem MInimalbeispiel wird die Tabelle trotz \noindent eingerückt.

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

Beitrag von esdd »

\usepackage{tabularx} 
\usepackage{showframe}% nur zum Anzeigen des Seitenlayouts
\usepackage{blindtext}% nur für Fülltext
\begin{document} 

\noindent 
\begin{tabularx}{\textwidth}{@{}>{\hsize=.6\hsize}X>{\hsize=1.4\hsize}X@{}}
Text: & Text\\ 
\hline
\blindtext & \blindtext\\ 
\hline
Text & Text
\end{tabularx} 
\end{document} 

ricksanchez
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Mo 22. Mai 2017, 21:00

Beitrag von ricksanchez »

1000 Dank! Ich habe echt vieles ausprobiert, aber das @{} nur am Anfang und am Ende der Anweisung anzubringen, da bin ich nicht drauf gekommen.

Gast

Zum Verständnis

Beitrag von Gast »

Das ganze sollte klar werden, wenn man versteht, was das @{} eigentlich ist: LaTeX setzt vor und nach jeder Spalte einen Spaltenabstand. Das gilt auch vor der ersten und nach der letzten Spalte. mit @{…} innerhalb der Spaltendeklaration kann man an Stelle der Spaltenabstände, die an dieser Stelle eingefügt würden, anderen Code ausführen. So könnte man beispielsweise mit \begin{tabular}{r@{Blumenkohl}l} eine Tabelle erzeugen, bei der zwischen der ersten rechtsbündigen und der zweiten linksbündigen Spalte das Wort »Blumenkohl« ohne jeden Abstand zu den Spalten steht. Einen ggf. erwünschten Wortstand müsste man also ebenfalls in das @{…}-Argument mit eintragen.

Das @{} bewirkt also, dass an Stelle des Spaltenabstandes nichts eingefügt wird. Damit verschwindet der Spaltenabstand.

Übrigens: Lies bitte Wie kann ich Code in meinem Beitrag hervorheben?

Außerdem ist es sinnvoll, dass Du den Status aktuell hältst. Wäre der bereits »beantwortet« gewesen, hätte ich meine Besserwisserei hier gar nicht erst abgesetzt, weil ich die Frage dann ignoriert hätte.

Antworten