\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), оказывается на разных страницах в зависимости от его содержимого?

решение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[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)%
        }%

Связанный контент