如何将一条线拉伸至整个页面宽度

如何将一条线拉伸至整个页面宽度

我想在整个页面宽度上拉伸一条黑线。MWE:

\documentclass[letterpaper]{article}
\usepackage{geometry}
\geometry{top=.0in}
\usepackage{xhfill}
\begin{document}

\makebox[10in][c]{\xrfill{10pt}}

\end{document}

但是,我不知道如何让框从页面的左边缘开始 - 而是从左边距开始,如下所示: 边际问题

任何帮助都将不胜感激!

答案1

如果左右边距对称,此方法可行。如果不对称,可以增加宽度进行\rule补偿。

\documentclass[letterpaper]{article}
\usepackage{geometry}
\geometry{top=.0in}
\begin{document}
\noindent\makebox[\textwidth]{\rule{\paperwidth}{10pt}}
\end{document}

在此处输入图片描述

答案2

最好为此使用不同的工具:atbegshi似乎是此应用程序的最佳工具。

\documentclass{article}
\usepackage{atbegshi}

\usepackage{lipsum}

\AtBeginShipoutNext{%
  \AtBeginShipoutUpperLeft{%
    \put(0,0){\vrule width \paperwidth height 0pt depth 10pt}%
  }%
}

\begin{document}
\title{Title}
\author{A. Uthor}

\maketitle

\lipsum

\end{document}

如果您希望所有页面上都有该带,请使用\AtBeginShipout而不是\AtBeginShipoutNext

在此处输入图片描述

答案3

使用 TikZ 的简单解决方案。你必须编译两次以使其正确。

\documentclass[letterpaper]{article}
\usepackage{tikz}
\def\UpperPageRule{%
  \tikz [remember picture,overlay]%
  \fill (current page.north west) rectangle ++(\paperwidth,-10pt);%
}
\begin{document}
\UpperPageRule
\section{First Page}
\newpage
\UpperPageRule
\section{Second Page}
\end{document}

在此处输入图片描述

相关内容