因此我可以vplace
从垂直和水平方向将一个组与环境置于中心memoir
。
\begin{vplace}[0.7]
\begin{center}
some text \\
more text \\
a third line of text
\vspace{0.25in} \hrule \vspace{0.25in}
{\Huge LARGER TEXT }
\vspace{0.25in} \hrule \vspace{0.25in}
some other text
\end{center}
\end{vplace}
但由于元素垂直不平衡,因此LARGER TEXT
在页面上没有垂直居中。
我怎样才能将其置于中心LARGER TEXT
并some text \\ more text \\ a third line of text
围绕some other text
它移动?
当然,这是一个例子,我实际使用的元素之间的差异更加明显。
答案1
我会在这里使用TikZ
以及current page
由以下扩展的节点系列:tikzpagenodes
用于将元素定位到页面内的绝对位置的包:
\documentclass{memoir}
\usepackage{tikzpagenodes}
\usepackage{showframe}
\usetikzlibrary{positioning,calc}
\begin{document}
\begin{tikzpicture}[remember picture,overlay,every node/.append style={inner sep=0pt}]
\node[font=\Huge]
(center)
at (current page text area.center)
{LARGER TEXT};
\node[above=of center,align=center]
(above)
{some text \\
more text \\
a third line of text
};
\node[below=of center,align=center]
(below)
{Some other text};
\draw
([xshift=-0.5\textwidth]$ (above.south)!0.5!(center.north) $ ) -- ++(\textwidth,0pt)
([xshift=-0.5\textwidth]$ (below.north)!0.5!(center.south) $ ) -- ++(\textwidth,0pt);
\end{tikzpicture}
\end{document}
结果:
使用库中的节点键,positioning
您可以轻松控制将文本放置在所需位置的位置。例如,您可以below=25pt of center
将节点定位在节点25pt
下方center
。