件名のテキストを折り返した表形式で目次を作成する必要があります。ページ番号は現在各セルの上部にあります。タイトルが折り返されている行では、ページ番号を下部に揃える必要があります。これが私のコードです:
\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}
答え1
これは、少し扱いにくいですが、あなたが探している解決策かもしれません。テーブル配置のarray
オプションを取得するには、パッケージを含める必要があります。b{}
\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}
必要なのは、上記のコードをコンパイルし、中央の列が複数行になっている行を探すことです。
次に、\newline
図番号の後に挿入して、1 行上に移動します。この場合、表は次のようになります。
\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}
そして最終結果:
答え2
\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}
答え3
このようなものは、ほとんどの場合、テーブルよりもリストとして設定する方が適しています。ここでは、enumerate
カスタムリスト形式を使用することをお勧めします(enumitem
パッケージが役立つ場合があります)。
\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}