当 vspace 应用于其他部分时,如何固定页面中文本的位置

当 vspace 应用于其他部分时,如何固定页面中文本的位置

我在使用 vspace 时遇到问题。我有一个空白页面,上面有以下几行

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{epigraph}
\begin{document}
\emph{Alpha Beta}
    \epigraph{\emph{An Alpha is a Beta when Gamma is dropped :D}}{\textit{a donkey}}
\end{document}

我想将\emph{Alpha Beta}其放在页面的正中央,以及\epigraph{\emph{An Alpha is a Beta when Gamma is dropped :D}}{\textit{a donkey}} 页面的右下角。我尝试用 将其epigraph向下推vspace,它起作用了,但是 vspace 会\emph{Alpha Beta}远离中心(将其向上推)。

答案1

这里有两个解决方案。一个用于\smash隐藏底部文本的大小。另一个使用 tikzpagenodes 以绝对坐标放置东西。注意,它需要运行两次才能起作用。

因为 epigraph 表现不佳,我将其放入小页面中。[b] 选项可防止文本掉到页面底部以下。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{epigraph}
\usepackage{tikzpagenodes}
\usepackage{showframe}
\begin{document}
\null\vfill
\noindent\emph{Alpha Beta}
\vfill
\noindent\smash{\begin{minipage}[b]{\textwidth}
  \epigraph{\emph{An Alpha is a Beta when Gamma is dropped :D}}{\textit{a donkey}}
\end{minipage}}
\newpage\null
\begin{tikzpicture}[remember picture, overlay]
  \node[right,inner sep=0pt] at (current page text area.west) {\emph{Alpha Beta}};
  \node[above right, inner sep=0pt] at (current page text area.south west)
    {\begin{minipage}[b]{\textwidth}
      \epigraph{\emph{An Alpha is a Beta when Gamma is dropped :D}}{\textit{a donkey}}
    \end{minipage}};
\end{tikzpicture}

\end{document}

相关内容