我需要帮助解决下面的代码。
如果内容占不到一页,我想将摘要放在页面中间,否则从页面顶部开始,或者可能略低于页面顶部。目前,标题和下一个环境被推到底部,而center
所有其他段落从下一页开始。
\documentclass{article}
\usepackage[latin]{babel}
\usepackage{lipsum}
\begin{document}
\section{Introduction}
%%%%%%%%%% ABSTRACT %%%%%%%%%%
\clearpage
\vspace*{\fill}
\noindent {\Huge \bfseries Abstract \par}
\vspace{\baselineskip}
\begin{center}
\MakeUppercase{TITLE EXAMPLE} \linebreak
Subtitle \linebreak
\MakeUppercase{Author} \linebreak
\end{center}
\vspace{\baselineskip}
\noindent
\lipsum[1-4]
\lipsum[5-8]
\lipsum[9-14] % pushes abstract title down
% \lipsum[1-3] % working
\vspace*{\fill}
\clearpage
答案1
据我所知,您希望除第 2 页以外所有页面的底部都参差不齐,第 2 页应居中,因此
短的
长的
\documentclass{article}
\usepackage[latin]{babel}
\usepackage{lipsum}
\begin{document}
\section{Introduction}
%%%%%%%%%% ABSTRACT %%%%%%%%%%
\clearpage
\makeatletter
\def\@texttop{%
\ifnum\value{page}=2 \vfill \fi}
\def\@textbottom{\vfill}
\makeatother
\noindent {\Huge \bfseries Abstract \par}
\vspace{\baselineskip}
\begin{center}
\MakeUppercase{TITLE EXAMPLE} \linebreak
Subtitle \linebreak
\MakeUppercase{Author} \linebreak
\end{center}
\vspace{\baselineskip}
\noindent
\lipsum[1]
\lipsum[5-8]
%\lipsum[9-14] % pushes abstract title down
%\lipsum[1-3] % working
\end{document}
答案2
我可能错了(我过去也犯过错误)但我没有看到任何简单的方法可以根据文本的长度自动更改页面布局。
我建议您为长摘要和短摘要定义两个抽象环境。
% abstractprob.tex SE 629406
\documentclass{article}
\usepackage[latin]{babel}
\usepackage{lipsum}
\newenvironment{shortabstract}{\mbox{}\vfill}{\vfill\mbox{}}
\newenvironment{longabstract}{}{}
\begin{document}
\section{Introduction}
%%%%%%%%%% ABSTRACTS %%%%%%%%%%
\clearpage
\begin{longabstract}
\noindent {\Huge \bfseries Long Abstract \par}
\vspace{\baselineskip}
\begin{center}
\MakeUppercase{TITLE EXAMPLE} \linebreak
Subtitle \linebreak
\MakeUppercase{Author} \linebreak
\end{center}
\vspace{\baselineskip}
\noindent
\lipsum[1-4] \par \lipsum[5-8] \par \lipsum[9-14] % pushes abstract title down
\end{longabstract}
\clearpage
\begin{shortabstract}
\noindent {\Huge \bfseries Short Abstract \par}
\vspace{\baselineskip}
\begin{center}
\MakeUppercase{TITLE EXAMPLE} \linebreak
Subtitle \linebreak
\MakeUppercase{Author} \linebreak
\end{center}
\vspace{\baselineskip}
\noindent
\lipsum[1-2]
\end{shortabstract}
\clearpage
\section{First section}
\end{document}
在您的最终文档中,您可以使用不同的环境轻松地在长摘要和短摘要之间进行切换。
顺便说一句。我不知道为什么,但我一直使用\mbox{}
和而不是,\null
但上面你可以交换它们。