LaTeX 中横跨整个文档的水平线

LaTeX 中横跨整个文档的水平线

我已使用该\hrulefill命令以及一些其他命令来创建水平线。在每种情况下,我都将线延伸至边距。

我希望规则宽度可控,即我希望它们横跨整个页面。这该怎么做?互联网上现有的帮助看起来相当少。感谢您的帮助。

答案1

要获取任意固定长度的水平线,可以使用\rule命令。要获取横跨整个页面宽度的水平线,可以使用\makebox命令,然后\rule使用宽度等于的命令\paperwidth

\documentclass{article}

\begin{document}

Below is a Line spanning the entire width of the page

\noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}

Below is a 2cm long line

\noindent\rule{2cm}{0.4pt}

Below is a 4cm long line

\noindent\rule{4cm}{0.4pt}

Below is a 8cm long line

\noindent\rule{8cm}{0.4pt}

\end{document}

输出: 在此处输入图片描述 默认情况下, LaTeX 中的规则是0.4pt“粗”的。

答案2

另一个选项是这个,它使水平线延伸整个页面。我更喜欢这个,因为它很短,容易记住,而且正是我需要的。我希望这对你也有效。

\noindent\rule{\textwidth}{1pt}

答案3

我使用了以下\line命令:\line(x slope, y slope){length}

\begin{center}
\line(1,0){450}
\end{center}

答案4

这是一个老问题,但获得最多投票的答案并没有真正解决问题。

\documentclass{book}

\usepackage[a6paper]{geometry}% just to make a smaller picture

\begin{document}

\noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}

\clearpage

\noindent\makebox[\linewidth]{\rule{\paperwidth}{0.4pt}}

\end{document}

在此处输入图片描述

您会发现,由于边距不对称,该规则并未覆盖整个纸张宽度。只有边距相等时,此技巧才有效。

真正的解决方案非常简单:使用2\paperwidth。PDF 翻译将截断超出 MediaBox 的部分。更好的是,使用\maxdimen,这样肯定不会出现极端情况。

\documentclass{book}

\usepackage[a6paper]{geometry}% just to make a smaller picture

\begin{document}

\noindent\makebox[\linewidth]{\rule{\maxdimen}{0.4pt}}

\clearpage

\noindent\makebox[\linewidth]{\rule{\maxdimen}{0.4pt}}

\end{document}

在此处输入图片描述

相关内容