Seite 1 von 1
Wie kann ich tabularx bündig mit dem Text abschließen?
Verfasst: Mo 22. Mai 2017, 21:09
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
Verfasst: Mo 22. Mai 2017, 21:29
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?
Verfasst: Mo 22. Mai 2017, 21:33
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}
Verfasst: Mo 22. Mai 2017, 22:14
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.
Verfasst: Mo 22. Mai 2017, 22:26
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}
Verfasst: Mo 22. Mai 2017, 22:31
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.
Zum Verständnis
Verfasst: Di 23. Mai 2017, 08:40
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.