\hrulefill,垂直方向

\hrulefill,垂直方向

该命令\hrulefill会用规则填充行的其余部分。现在,我想从该页面的最后一段开始,创建一条垂直线到页面底部。这可以吗?

我需要左侧的线,但我也很想了解从概念上如何实现这一点,因为(据我所知)没有办法知道您在渲染过程中某一时刻的位置。

答案1

该命令\hrulefill不知道从哪里发出;它只是以类似于\hfill(实际上它是相同的方式)。

因为\vrulefill它非常相似:

\documentclass{article}
\usepackage{lipsum}

\newcommand{\vrulefill}{\leaders\vrule\vfill}

\begin{document}

\lipsum[1]
\vrulefill

\clearpage % <-- not necessary if it's the last page

\end{document}

在此处输入图片描述

您可以使规则从最后一段结束的地方开始,方法是用\parvrulefill以下示例结束该段落:

\documentclass{article}
\usepackage{lipsum}

\newcommand{\vrulefill}{\leaders\vrule\vfill}

\makeatletter
\newcommand{\parvrulefill}{%
  {\abovedisplayskip=\z@\belowdisplayskip=\z@
   \abovedisplayshortskip=\z@\belowdisplayshortskip=\z@
   $$\xdef\vrule@shift{\the\predisplaysize}$$}%
   \par
   \kern-\baselineskip
  \leaders\hbox to\dimexpr\vrule@shift-2em{\hfill\vrule height1pt}\vfill
  \clearpage
}
\makeatother

\begin{document}

\lipsum*[1]\parvrulefill

\lipsum*[2]\parvrulefill

\end{document}

在此处输入图片描述

答案2

对于沿着中心的一条线,你可以使用

\documentclass{article}

\begin{document}

aaa aaa\\bb bbbb

\leaders\centerline{\vrule height1pt}\vfill

\end{document}

相关内容