\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,因此其总高度的一半贡献给了深度当您有两行标题时,外框的深度会增加。

 \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)%
        }%

相关内容