我已使用该\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}