如何将正文内容放在页面垂直居中位置?

发布于 2025-03-05 16:02:39

tcb盒子和文字尽管使用\vfill也没法垂直居中,总有一点点不对称!(不建议用current page.center来确定位置!)

\documentclass{article}
\usepackage[margin=1.5in,showframe,landscape]{geometry}
\usepackage{tcolorbox}
\usepackage{pgffor}
\begin{document}
    \vspace*{\fill}
    \begin{tcolorbox}
        \foreach\x in{1,...,245}{Hello, world! }
    \end{tcolorbox}
    \vspace*{\fill}\newpage
    \vspace*{\fill}
        \foreach\x in{1,...,290}{Hello, world! }
    \vspace*{\fill}\newpage
    \vspace*{\fill}
        \foreach\x in{1,...,304}{Hello, world! }
    \vspace*{\fill}\newpage
    \vspace*{\fill}
        \foreach\x in{1,...,305}{Hello, world! }
    \vspace*{\fill}\newpage
\end{document}

查看更多

关注者
0
被浏览
148
1 个回答
尊咾哎哟
尊咾哎哟 1天前
¥a^2+b^2=c^2¥. . .
不清楚这种“拿来主义”是否讲武德,侵删...

取自 tse 中某个问答的首答:
https://tex.stackexchange.com/questions/2326/vertically-center-text-on-a-page

但此处无需用 memoir 文档类,而是从 memoir.cls 中剖出 vplace 环境定义的 code。同时再加上\centering 实现行内居中。

\documentclass{article}
\usepackage{lipsum}
\newenvironment{vplace}[1][1]{%
  \par\vspace*{\stretch{#1}}%
  \centering %extra centering
}{%
  \vspace*{\stretch{1}}%
  \par}

\begin{document}

\lipsum[1-3] %contents of former pages
\clearpage

\begin{vplace}
\parbox{\textwidth}{\lipsum[1-3]}
\end{vplace}

\clearpage 
\lipsum[1-3] %contents of later pages

\end{document}

效果:
image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览