好的,我目前正在写一份报告(在文章类中),其中有一节都是化学光谱。我认为每页两个光谱是一个不错的数字,所以我写了
\RequirePackage{calc}
\newlength{\halfpage}
\setlength{\halfpage}{\textheight/2}
\newcommand{\twoandabitperpage}{height=\halfpage}
\newcommand\mygraphicspage[2][]{\centering\expandafter\includegraphics\expandafter[#1]{#2}}
这意味着我可以说\mygraphicspage[\twoandabitperpage]{spectrum_1.pdg}
和\mygraphicspage[\twoandabitperpage]{spectrum_2.pdg}
,这样一页上就能给我一些很好的光谱。(请注意,我需要 s \expandafter
,否则我的代码会崩溃。我不完全理解它,但它就在那里,我猜它是有效的)。
“太棒了!”我心里想。但实际上,效果并不好。我的光谱部分如下:
\part{Spectras!}
\section{Spectrum One}
\mygraphicspage[\twoandabitperpage]{spectrum_1.pdf}
\section{Spectrum Two}
\mygraphicspage[\twoandabitperpage]{spectrum_2.pdf}
因此,当有部分或多个部分在起作用时(因为它们的标题占页面的理想大小),占用页面的一半并将其作为我的图像高度并不总是可行的。
于是我去谷歌搜索:我发现了这个
\newlength\remainder
\newcommand\measurepage{\dimexpr\pagegoal-\pagetotal-\baselineskip\relax}
\remainder=\measurepage\relax\the\remainder
因此,根据我的理解(我可能错了,因为我不太了解 TeX [我搞不清楚如何发出命令\mygraphicspage
...]),它的作用是测量页面的剩余部分,可能通过一些黑魔法 — 当然,在定义页面的剩余长度应称为 之后remainder
。然后,它会打印出来?这就是最后一行的用途吗?
无论如何,我希望能够定义
\newlength{\almosthalfpage}
\setlength{\almosthalfpage}{\textheight-\remainder/2}
其中\remainder
由相关页面定义。仅当我使用长度 时,才会指定此页面\almosthalfpage
。
例如,假设我的 textheight=40em,部分标题占 4em,两个部分标题各占 2em。那么,页面的剩余部分为 32em。因此,我的单个图像高度应为 16em。此剩余的 32em 由 定义,但仅当我为该特定页面\remainder
指定图像height
(它是 的函数)时才如此。\remainder
如果这完全没有意义,我真的很抱歉……任何帮助都将不胜感激!在次要方面,我将不胜感激任何人对传达我目前拥有的代码的更好方法发表评论(即,我应该使用\def
而不是\newcommand
,和\let
? 如何我该使用这些命令吗?等等等等...)。
谢谢你!