如何在页面标题周围画一个框或者获取页面标题的大小?

如何在页面标题周围画一个框或者获取页面标题的大小?

我要么需要画一个框\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

相关内容