\vbox 的高度位置取決於其內容

\vbox 的高度位置取決於其內容

我已經為我目前正在處理的模板創建了一個自定義標題頁,並遇到了\vbox.這是代碼:

\documentclass[twoside
    ,fontsize=11pt
    ,paper=a4
]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{setspace}
\usepackage[left=25mm,right=25mm,top=9mm,bottom=22.6mm]{geometry}
\usepackage{graphicx}


\makeatletter
%\newcommand{\my@title}{Entwicklung}% this works
\newcommand{\my@title}{Dies ist ein sehr intelligenter Titel, der ein wenig länger ist als die meisten. Das muss er aber auch sein, um schön zu sein.}% this doesn't
\newcommand{\my@author}{Eins Student\\\vfill Zwei Student\\\vfill Drei Student}
\newcommand{\my@shortauthor}{E. Student, Z. Student, D. Student}
\newcommand{\my@thesis}{Teamprojekt}
\newcommand{\my@examinor}{Prof. Dr. Dings Bumsenskirchen}
\newcommand{\my@shortexaminor}{D. Bumsenskirchen}
\newcommand{\my@advisor}{Dipl.-Depp Hans Bumsenskirchen}
\newcommand{\my@shortadvisor}{H. Bumsenskirchen}
\newcommand{\my@number}{XX-00-AA-0}

\newcommand{\multfill}[1]{%
    \bgroup%
    \newcount\@multfillmax%
    \newcount\@multfillcur%
    \@multfillmax=#1%
    \@multfillcur=0%
    \loop\ifnum\@multfillmax>\@multfillcur%
        \advance\@multfillcur by 1%
        \vfill%
    \repeat%
    \egroup%
}

\renewcommand{\maketitle}{
    \thispagestyle{empty}
    \newgeometry{left=25mm,right=25mm,top=9mm,bottom=22.6mm}%
    \vbox to 0.96\textheight{%
        \setstretch{1}\noindent%
        \includegraphics[height=10.85mm]{example-image-a}%
        \hfill\includegraphics[height=11.9mm]{example-image-b}%
        \multfill{9}%
        \begin{center}%
        {%
            \setstretch{1.4}\bfseries\huge\my@title\\%
            \multfill{2}%
            \setstretch{1}\large von\\%
            \multfill{2}%
            \my@author\\%}}}
        }%
        \multfill{5}%
        {\setstretch{1.15}\large\textbf{\my@thesis}}%
        \multfill{5}%
        {\setstretch{1.15}\large Ausgegeben von\\\textbf{\my@examinor},\\%
            mitbetreut von\\\textbf{\my@advisor}\\%
        }
        \multfill{5}%
        {\setstretch{1.15}\large Lehrstuhl für eine Wissenschaft\\%
            Fakultät für Wissenschaft, Universität\\%
        }%
        \multfill{2}%
        \textbf{\@date}\\%
        \end{center}%
        \multfill{5}%
        \parbox{0.5\textwidth}{\setstretch{1.07}\small Zitierhinweis:\\
            \my@shortauthor, \my@shortadvisor, \my@shortexaminor:%
            \\\my@title,\\LS1-Bericht Nr. \my@number; Stadt (\the\year)%
        }
    }%
}
\makeatother

\begin{document}
\maketitle
\cleardoublepage
\restoregeometry
\end{document}

這樣,標題頁就會出現在 pdf 的第二頁。如果我替換\newcommand{\my@title}{...}\newcommand{\my@title}{Entwicklung}標題頁,則最終會出現在第一頁。

因此,我的問題是:為什麼\vbox設定為總高度(在本例中0.96\textheight)的 a 根據其內容最終出現在不同的頁面上?

答案1

盒子裡的最後一件物品是

\parbox{0.5\textwidth}{\setstretch{1.07}\small Zitierhinweis:\\
            \my@shortauthor, \my@shortadvisor, \my@shortexaminor:%
            \\\my@title,\\LS1-Bericht Nr. \my@number; Stadt (\the\year)%

正如您尚未使用的那樣,它[b]是一個垂直居中的 parbox,因此其總高度的一半有助於深度當您有兩行標題時,外框的深度會增加。

 \parbox[b]{0.5\textwidth}{\setstretch{1.07}\small Zitierhinweis:\\
            \my@shortauthor, \my@shortadvisor, \my@shortexaminor:%
            \\\my@title,\\LS1-Bericht Nr. \my@number; Stadt (\the\year)%
        }%

相關內容