该命令\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}