
Ich möchte in meinem Dokument a tabular
und a verwenden longtable
, aber die linken Ränder sind nicht ausgerichtet.
\documentclass[letterpaper,11pt]{article}
\usepackage{longtable}
\begin{document}
\begin{tabular}{p{2cm} p{15cm}}
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular
\end{tabular}
\begin{longtable}{p{2cm} p{15cm}}
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned
\end{longtable}
\end{document}
Diese Frageist verwandt, und das gilt auchDieses hier.
Das Ersetzen \begin{longtable}{...}
durch \begin{longtable}[l]{...}
im obigen Code scheint nichts zu bewirken.
Durch Herumprobieren habe ich herausgefunden, dass \setlength{\LTleft}{18pt}
meine Ränder bei Verwendung ziemlich gleich aussehen. Gibt es eine elegantere Möglichkeit, longtables
linksbündig auszurichten tabulars
? Kann ich meine Tabellen ausrichten, ohne Zahlen anzugeben?
Antwort1
Wie von anderen Mitgliedern in den Kommentaren angemerkt, haben Sie eine Breite festgelegt, die größer ist als \textwidth
. In diesem Fall tabularx
kann die gesamte verfügbare Breite genutzt werden, indem die erste Spalte auf festgelegt wird p{2cm}
und die restliche Breite in die zweite Spalte geht. \noindent
war auch für erforderlich tabularx
.
Für longtable
können Sie dasselbe einstellen, aber für die zweite Spalte müssen wir die verbleibende Breite berechnen. Dies geschieht durch \dimexpr\linewidth-4\tabcolsep-2cm\relax
. Um dies zu verstehen, stellen Sie sich die Zeile als vor |tabcolsep||p{2cm}||tabcolsep||tabcolsep||p{length}||tabcolsep|
, dann length
sollte gleich sein wie \linewidth-2cm-4\tabcolsep
.
Zum Schluss habe ich \toprule
und \bottomrule
aus dem booktabs
Paket verwendet, um den Tischen ein professionelles Aussehen zu verleihen.
\documentclass[letterpaper,11pt]{article}
\usepackage{tabularx,booktabs}
\usepackage{longtable}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{p{2cm} X}\toprule
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular \\ \bottomrule
\end{tabularx}
\begin{longtable}{p{2cm} p{\dimexpr\linewidth-4\tabcolsep-2cm\relax}}\toprule
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned \\ \bottomrule
\end{longtable}
\end{document}
Antwort2
Wie in einem Kommentar erwähnt, longtable
ist zentriert tabular
ist eingerückt. Abschnitt 5 indie Paketdokumentationgibt die Lösung an. Durch das Hinzufügen \setlength\LTleft\parindent
in der Präambel wird longtable linksbündig eingestellt, jedoch mit dem üblichen Absatzeinzug eingerückt.
\documentclass[letterpaper,11pt]{article}
\usepackage{longtable}
\setlength\LTleft\parindent
\begin{document}
\begin{tabular}{p{2cm} p{15cm}}
entry 1 & bla bla bla bla bla \\
entry 2 & this is a tabular
\end{tabular}
\begin{longtable}{p{2cm} p{15cm}}
entry 3 & This is a longtable \\
entry 4 & with many more lines \\
entry 5 & but it isn't aligned
\end{longtable}
\end{document}