maketitle 使用了多少垂直空间?

maketitle 使用了多少垂直空间?

是否有可能知道命令\textheight消耗了哪一部分(或剩余部分)\maketitle?我的意思是考虑应用的 maketitle(有或没有作者,有或没有日期,...)

\documentclass{article}
\title{This is a title}
\author{My name}

\begin{document}
\maketitle

The vertical available space in this page is ...
\end{document}

更新:

如果可能的话我希望找到一个同样有效的解决方案\documentclass[twocolumn]{article}

答案1

在此处输入图片描述

\documentclass{article}
\title{This is a title}
\author{My name}

\begin{document}
\maketitle


The used space in this page is
\the\pagetotal\
plus
\ifdim\pagefillstretch=0pt
\ifdim\pagefilstretch=0pt
\the\pagestretch
\else 
\the\pagefillstretch fil
\fi
\else 
\the\pagefillstretch fill
\fi\
minus
\the\pageshrink\
out of \the\pagegoal


\end{document}

答案2

\label您可以在页面上放置坐标标记(类似于s)并计算它们之间的差异/距离。zref模块savepos提供\zsaveposy{<label>}标记垂直位置(以s刻度点为p单位,从页面底部测量,在当前行的基线)并将\zposy{<label>}其作为计算的一部分检索:

在此处输入图片描述

\documentclass{article}

\usepackage{zref-savepos,eso-pic}

\title{This is a title}
\author{My name}

\begin{document}

\AddToShipoutPictureBG*{
  \AtTextUpperLeft{\zsaveposy{text-upper}}%
  \AtTextLowerLeft{\zsaveposy{text-lower}}%
}

\maketitle

\leavevmode\zsaveposy{title}%
Text block lower/upper y-coordinate: \zposy{text-lower}sp/\zposy{text-upper}sp

Current location: \zsaveposy{curpos}\zposy{curpos}sp
(\the\dimexpr\zposy{text-upper}sp-\zposy{curpos}sp\relax/\the\dimexpr\zposy{curpos}sp-\zposy{text-lower}sp\relax{} to top/bottom)

Space used by title: \the\dimexpr\zposy{text-upper}sp-\zposy{title}sp-\baselineskip\relax

\end{document}

我用eso-pic在文本块的底部/顶部放置标记以便获得参考框架。

由于该过程使用类似\label-\ref的设置,因此在位置发生任何变化后都至少需要进行两次编译\zsaveposy

答案3

您可以使用以下方式测量尺寸\setbox

\documentclass{article}
\title{This is a title}
\author{My name}

\begin{document}
\setbox0\vbox{\maketitle}

The vertical available space in this page is ...
\expandafter\the\dimexpr\textheight-\ht0\relax
\end{document}

相关内容