複数ページの目次を下部に揃える

複数ページの目次を下部に揃える

タイトルと目次のあるスタート ページが必要でした。その部分は問題なく機能しますが、目次が 1 ページより長い場合は、LaTeX で最初に 2 ページ目を埋めてからタイトル ページに続くようにしたいです。どうすれば実現できますか?

MWE (タイトル ページの ToC には 2 つのセクションのみを置き、残りは 2 番目のページに置きます):

\documentclass{article}

\usepackage[
    a4paper,
    margin=1.5cm,
    centering,
    nohead,
    includefoot
]{geometry}

\title{Example}

\begin{document}
\thispagestyle{empty}

\pagenumbering{Alph}

\begin{titlepage}
    \vspace*{\fill}
    \begin{center}
        \makeatletter
        \huge
        \@title
        \makeatother
    \end{center}
    \vspace*{\fill}
    \tableofcontents{
        \thispagestyle{empty}
    }
\end{titlepage}

\newpage

\pagenumbering{arabic}
\setcounter{page}{1}

\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}
\section{Test section}

\end{document}

答え1

これは の仕事のようです\vsplit!

\baselineskipさらにいくつかのセクションを追加する必要がありました。そうしないと、目次全体が 2 ページ目に収まってしまいます。2 ページ目の下部の隙間をなくすために、接着剤を追加しました。

\documentclass{article}

\usepackage[
    a4paper,
    margin=1.5cm,
    centering,
    nohead,
    includefoot,
    showframe
]{geometry}

\title{Example}

\begin{document}
\pagenumbering{Alph}

\newsavebox{\tempbox}

\begin{titlepage}
    \vspace*{\fill}
    \begin{center}
        \makeatletter
        \huge
        \@title
        \makeatother
    \end{center}
    \vfill
    \advance\baselineskip by 0pt plus 1pt minus .5pt
    \setbox0=\vbox{\tableofcontents}%
    \setbox1=\vsplit0 to \dimexpr \ht0-\textheight\relax
    \box1
    \pagebreak
    \thispagestyle{empty}
    \unvbox0
\end{titlepage}

\pagenumbering{arabic}
\setcounter{page}{1}

\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode
\section{Test section}\leavevmode

\end{document}

関連情報