我要么需要画一个框\title
(看看标题、页面上的第一行文本[标题下方]和页面上边距[标题上方]之间有多少空间),要么测量\title
以便\vspace
从中减去适当的空间\date
(去掉标题后大而不必要的空间,以便标题上下有相同的空间——与页面的上边距无关)。
\documentclass[border=5mm,varwidth]{standalone}
\date{}
\title{this is title}
\begin{document}
\maketitle
this is line 1\\
this is line 2
\end{document}
附录:获取尺寸\date
也可以。
答案1
\documentclass[border=5mm,varwidth]{standalone}
\date{}
\usepackage{framed}
\title
{ \begin{framed}
this is (multiline) title\\
let see how long this line extends before wrapping takes effect
\end{framed}
}
\begin{document}
\maketitle
% don't know why but negating 3 times
% the \baselineskip works(?)
% (vertical spacing should be
% EXACTLY determined [from somewhere; any help?]
% before removal attempts)
\vspace{\dimexpr(-\baselineskip*3)}
\begin{framed}
this is line 1\\
this is line 2
\end{framed}
\end{document}
红线大小一致。标题未考虑文档边框(5mm),或为巧合。
答案2
尝试使用\fbox
。
\title{\fbox{this is title}}
但是,如果您有多行标题,则\parbox
可以使用类似的方法(不幸的是,它不会绘制框)
\title{\parbox{\textwidth}{this is a title too long to fit on one line}}
Leslie Lamport 在他的书中LaTeX:文档准备系统,Addison-Wesly,第二版,1985,描述了一个boxit
将在多行文本周围绘制一个框的环境(减去我的任何错别字):
\newsavebox{\savepar}
\newenvironment{boxit}{\begin{lrbox}{\savepar}
\begin{minipage}{\textwidth}}
{\end{minipage}\end{lrbox}\fbox{\usebox{\savepar}}}
可以用作你的标题,像这样:
\title{\begin{boxit}this is a title but it is rather too long for a single line\end{boxit}}
minipage
为了您的目的,您可能需要调整定义内的宽度和位置boxit
。