我试图用乳胶在自定义大小的页面上垂直居中标题。我已经编写了以下代码,但由于某种原因它不居中。有人可以指出我有什么问题吗?
谢谢
\doentcl{article}
\setlength{\pdfpagewidth}{88.184mm}
\setlength{\pdfpageheight}{113.854mm}
\usepackage[margin=0.5cm, width=88.184mm, height=113.854mm]{geometry}
\le{[[le]]}
\date{[[date]]}
\autr{[[autr]]}
\begin{doent}
\ve{\fill}
\makele
\ve{\fill}
\newpage
[[text]]
\end{doent}
代码中有两个小 bug。
首先,如果您希望\ve
在页面的开头或结尾工作,则应使用星号版本(\ve*
)。
这可以工作,但是\makele
是一个非常复杂的宏,如果像在您的示例中一样使用,它只是将标题放在第二页。您可以使用lepage
环境,它为您提供了更多关于标题页外观的命令-包括间距。例如,您可以使用以下代码:
\doentcl{article}
\setlength{\pdfpagewidth}{88.184mm}
\setlength{\pdfpageheight}{113.854mm}
\usepackage[margin=0.5cm, width=88.184mm, height=113.854mm]{geometry}
\begin{doent}
\begin{lepage}
\ve*{\fill}
\begin{center}
{Huge [[le]]}\\[0.5cm]
{Large [[autr}\\[0.4cm]
[[date]]
\end{center}
\ve*{\fill}
\end{lepage}
[[text]]
\end{doent}
\null % Empty line
\nointerlineskip % No skip for prev line
\vfill
\let\snewpage \newpage
\let\newpage \relax
\makele
\let \newpage \snewpage
\vfill
\break % page break
如果你想让一切工作,即使\makele
把你的\ve*{\fill}
里面的第一个和最后一个属性,exp:
\le{**\ve*{\fill}**[[le]]}
\date{[[date]]}
\autr{[[autr]]**\ve*{\fill}**[[}
\begin{doent}
\makele
\newpage
[[text]]
\end{doent}
正如 finrod 的答案,\makele
是一个非常复杂的宏,这就是为什么我不想自己覆盖它(\renewcommand\makele{
...)。然而,复制,粘贴和编辑article.cls doentcl的 170-201 行,我可以添加一个新的自定义(\newcommand\mymakele{
...)如下:
\doentcl{article}
\setlength{\pdfpagewidth}{88.184mm}
\setlength{\pdfpageheight}{113.854mm}
\usepackage[margin=0.5cm, width=88.184mm, height=113.854mm]{geometry}
\le{Title}
\date{Date}
\autr{Autr}
\makeatletter
\newcommand\mymakele{%
\begin{lepage}
\null\vfil\vskip 40\p@
\begin{center}
{\LARGE \@le \par}
\vskip 2.5em
{\large \lineskip .75em \@autr \par}
\vskip 1.5em
{\large \@date \par}
\end{center}\par
\@thanks
\vfil\null
\end{lepage}
}
\makeatother
\begin{doent}
\mymakele
Text
\end{doent}
输出:
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(8条)