我目前正在使用以下指令从文本主体的左边缘到纸张的右边缘绘制一条水平线:
\rule{\paperwidth}{2pt}
这有效,但会导致过度警告:
Overfull \hbox (232.295pt too wide) in paragraph at lines 12--13
正确的做法可能是计算实际长度,但我不知道该怎么做。我读过说明,\addtolength
但不确定我能把什么加在一起。有人能给出建议吗?
答案1
没有任何包装:
\documentclass{article}
\begin{document}
Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text.
\noindent\makebox[0pt][l]{\rule{\paperwidth}{2pt}}\par
Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text. Some more text.
\end{document}
答案2
答案3
在 的onside
(默认)模式下article
,从文本块左侧到页面右侧的长度为
\paperwidth - \oddsidemargin - 1in - \hoffset
% ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
% left margin
要查看此内容,请加载layout
包裹并发出来\layout
看看工作的长度是多少:
但是,只要长度大于上述长度,它就会一直延伸到页面的右侧。所以,您只需使用即可\paperwidth
。这是一个宏版本,允许通过可选参数调整宽度:
\documentclass{article}
\newcommand{\fullrule}[1][2pt]{%
\par\nobreak\noindent
\makebox[0pt][l]{%
\rule[.5ex]{\paperwidth}{#1}}\par
}
\usepackage{lipsum}
\begin{document}
\sloppy\lipsum[1]
\fullrule
\lipsum[2]
\fullrule[.4pt]
\lipsum[3]
\end{document}
请注意,我们将规则放在零宽度框内,以避免出现任何有关过满的警告\hbox
。