Ich muss ein Inhaltsverzeichnis in Tabellenform mit Textumbruch in den Betreffzeilen erstellen. Die Seitenzahl steht derzeit oben in jeder Zelle. In den Zeilen, in denen der Titel umbrochen wird, muss die Seitenzahl unten ausgerichtet sein. Dies ist mein Code:
\begin{tabularx}{\linewidth}{ l X l }
Figure & & Page \\
1.1.1 & test text text text text text text text text text text text text text text text text text text \dotfill & 10 \\
1.1.2 & line \dotfill & 12 \\
\end{tabularx}
Antwort1
Dies könnte die Lösung sein, nach der Sie suchen, obwohl sie etwas umständlich ist. Sie müssen array
ein Paket einschließen, um die Option b{}
zur Tabellenausrichtung zu erhalten.
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{b{0.1\linewidth}b{0.8\linewidth}p{0.1\linewidth}}
Figure & & Page \\
1.1.1 & test text text text text text text text text text text text text text text text text text text \dotfill & 10 \\
1.1.2 & line \dotfill & 12 \\
1.1.3 & a lot of text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text \dotfill & 15 \\
\end{tabular}
\end{document}
Sie müssen lediglich den obigen Code kompilieren und nach den Zeilen suchen, bei denen die mittlere Spalte mehrere Zeilen umfasst:
Fügen Sie dann \newline
nach der Abbildungsnummer Folgendes ein, sodass diese eine Zeile nach oben verschoben wird. In diesem Fall sieht die Tabelle also folgendermaßen aus:
\begin{tabular}{b{0.1\linewidth}b{0.8\linewidth}p{0.1\linewidth}}
Figure & & Page \\
1.1.1\newline & test text text text text text text text text text text text text text text text text text text \dotfill & 10 \\
1.1.2 & line \dotfill & 12 \\
1.1.3\newline\newline & a lot of text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text \dotfill & 15 \\
\end{tabular}
Und das Endergebnis:
Antwort2
\documentclass{article}
\usepackage{tabularx}
\newcommand\DotsPage [1]{\dotfill\rlap{\kern2\tabcolsep #1}&}
\begin{document}
\begin{tabularx}{\linewidth}{ l X l }
Figure & & Page \\
1.1.1 & test text text text text text text text text text text
text text text text text text text text\DotsPage{10}\\
1.1.2 & line test text text text text text text text text text text
text text text text text text text text\DotsPage {12}\\
1.1.3 & line for comparison\dotfill & 13
\end{tabularx}
\end{document}
Antwort3
Solche Dinge lassen sich fast immer besser als Liste denn als Tabelle festlegen. Hier verwenden Sie einfach, enumerate
aber Sie möchten vielleicht ein benutzerdefiniertes Listenformat ( enumitem
ein Paket könnte hilfreich sein).
\documentclass{article}
\begin{document}
\def\Dotfill{{\def\hfill{\hskip4em plus 1fill}\dotfill}}
\begin{enumerate}
\item[1.1.1] test text text text text text text text text text text text text text text text text text text \Dotfill 10
\item[1.1.2] line \Dotfill 12
\end{enumerate}
\end{document}