我有一块文本,我想让它位于页面的中心,也就是说,纸张顶部和文本块的起始处之间以及纸张底部和文本块的结束处之间有相同的空间。 无论页面上的其他块如何,该块都必须居中
具体来说,我想写一封由两段文字组成的信,在页面上垂直居中。顶部还必须有一个地址,但我不想这影响居中。
我想要实现的效果这个问题,但对于 Beamer 来说并非如此。
答案1
以纸,不管页面上的其他内容,窃取我的答案有哪些方法可以将内容绝对定位在页面上?
修改后的答案
这解释了原作者编辑的目的,即“我想写一封由两段文字组成的信,在页面上垂直居中。顶部还必须有一个地址,但我不想这影响居中。”
\documentclass{article}
\usepackage{everypage}
\usepackage{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
\AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
\raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\begin{document}
\noindent Name\\
Address\\
Anytown, USA 12345
\atxy{.5\paperwidth}{.5\paperheight}{%
\makebox[0pt]{\parbox{\textwidth}{\parindent1em\relax\lipsum[1-2]}}}
\end{document}
原始答案
\documentclass{article}
\usepackage{everypage}
\usepackage{lipsum}
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\atxy[3]{%
\AddThispageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset+#1\relax}%
\raisebox{\dimexpr\PageTopMargin+\voffset-#2\relax}{#3}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\begin{document}
\atxy{.5\paperwidth}{.5\paperheight}{%
\fboxsep=200pt\relax\makebox[0pt]{\fbox{\Huge I AM CENTERED}}}
\lipsum[1]
\end{document}
答案2
尝试这个:
\documentclass{article}% or book, report, etc
\usepackage{lipsum}
\begin{document}
\lipsum[1] % some text
\clearpage % go to next page.
\mbox{}
\vfill
\lipsum[2] % more text, vertically centered
\vfill
\mbox{}
\clearpage % go to next page
\lipsum[3] % yet more text
\end{document}
或者如果您希望中间文本相对于前后文本居中,则删除两个\clearpage
宏\mbox{}
。