在页面底部垂直对齐两个并排的小页面

在页面底部垂直对齐两个并排的小页面

梅威瑟:

% !TeX program = xelatex
\documentclass[paper=A4,fontsize=12pt,titlepage]{scrartcl}

\usepackage{showframe}

\begin{document}
\begin{titlepage}
    \raggedright
    {
        Some text
    }
    \vfill
    {
        \begin{minipage}[t][][b]{.5\textwidth}
            \begin{flushleft}
                More text \\
                Second\\
                Line
            \end{flushleft}%
        \end{minipage}%
        \hfill
        \begin{minipage}[t][][b]{.5\textwidth}
            \begin{flushright}
                Additional text\\
                fin\\
            \end{flushright}%
        \end{minipage}%
    }
\end{titlepage}
\end{document}

我希望左侧小页面的最后一行垂直对齐在页面底部。右侧小页面的第一行应与左侧小页面的第一行对齐。

在 MWE 中,最后一行超出了底部边框。我尝试过的所有迷你页面对齐设置组合都不起作用。用一个大型迷你页面包裹所有内容也无济于事。要么对齐方式与 MWE 中保持一致,要么左侧内部迷你页面完美对齐,右侧迷你页面浮动在左侧迷你页面下方。

答案1

新的:

行数似乎可能会发生变化,并且此示例只是一种可能的情况。以下是\vfill您可以使用的更灵活的内容:

\vfill
{
\begin{minipage}[b][][t]{\textwidth}
    \begin{minipage}[t]{.5\textwidth}
            More text \\
            Second\\
            Line\\
            Test\\
            Test2
    \end{minipage}%
    \hfill
    \begin{minipage}[t]{.5\textwidth}
        \raggedleft
            Additional text\\
            fin
    \end{minipage}%
\end{minipage}%
}

看起来像这样:

Flexible and top-aligned version

诀窍是将它们包装在另一个minipage内容顶部对齐(并且锚定在其基线)的位置。

如果我们修改文本以具有一些不同的字体大小(例如下面的代码),这个整体结构仍然有效:

\vfill
{
\begin{minipage}[b][][t]{\textwidth}
    \begin{minipage}[t]{.5\textwidth}
            More text \\
            Second\\
            Line\\
            {\Huge Test}\\
            Test2
    \end{minipage}%
    \hfill
    \begin{minipage}[t]{.5\textwidth}
        \raggedleft
            Additional text\\
            {\Large fin}
    \end{minipage}%
\end{minipage}%
}

Improved version with font size changes

原来的:

需要澄清的是,第一张图像就是您所看到的,而第二张图像就是您想要的,对吗?

original

desired

如果我理解正确的话,你可以改变:

\begin{minipage}[t][][b]{.5\textwidth}

到:

\begin{minipage}[b][][t]{.5\textwidth}

编辑:

如果您想要 下方的额外间隙fin,则需要\strut@esdd 在其答案中使用的 。这样做的原因是末尾的空白行(由 定义fin\\)被忽略。这就是为什么第二幅图像的Line和都与底部齐平。如果除了我上面提供的更改之外还fin添加\strut(例如) ,您将得到以下结果:fin\\\strut\begin{minipage}[b][][t]{.5\textwidth}

desired plus the extra blank line at bottom

但是,您可能会注意到左侧文本比右侧文本略低。问题是\strut右侧文本占用了最大垂直空间(用于行),而左侧文本不需要最大空间(因为行上的文本没有任何深度 [例如,基线以下的空间,字母如下G等需要)。如果您希望它们相同,那么您\strut也需要在左侧添加它。

desired plus \strut changes

差异主要体现在风格上,取决于哪种选项对您来说看起来/感觉更好。

答案2

\strut您可以在第三行和\begin{minipage}[b]{.5\textwidth}两个小页面中使用:

\documentclass[paper=A4,fontsize=12pt,titlepage]{scrartcl}

\usepackage{showframe}

\begin{document}
\begin{titlepage}
    \raggedright
    {
        Some text
    }
    \vfill
    {%
      \begin{minipage}[b]{.5\textwidth}
        \raggedright
          More text \\
          Second\\
          Line\strut
         \par
      \end{minipage}%
      \hfill
      \begin{minipage}[b]{.5\textwidth}
        \raggedleft
        Additional text\\
        fin\\
        \strut
        \par
      \end{minipage}%
    }
\end{titlepage}
\end{document}

结果:

enter image description here

相关内容