我正在使用 定义页边距geometry
,添加页脚和页眉。我希望文本主体(不是页脚或页眉)被包含在一个框中(每一页)。
这个问题与在 LaTeX 中,添加页面边框的最简单方法是什么?以及我发现的其他内容,但它们都计划在整个页面周围形成完整的边框(例如,出于裁剪需要)。
欢迎提出建议。
答案1
不确定这是否是最好的解决方案,但它tikzpagenodes
为每个块(文本、页脚、页眉……)提供了 tikz 锚点,并background
提供了\AddEverypageHook
在每个页面上添加文本的功能。将两者结合起来可得到:
\documentclass{article}
\usepackage{tikzpagenodes}
\usepackage[contents={}]{background}
\AddEverypageHook{%
\tikz[remember picture,overlay]{
\draw (current page text area.north east) -- (current page text area.north west)
-- (current page text area.south west) -- (current page text area.south east) -- cycle;
}
}
\begin{document}
Hello
\newpage
Hello
\end{document}
通过向 tikz 绘图添加选项,您可以轻松地使用虚线、颜色等对其进行自定义……
答案2
不使用任何包也可以完成。
\documentclass{article}
\AddToHook{shipout/background}{\fboxsep=0pt
\ifodd\value{page}
\put({\dimexpr 1in+\oddsidemargin-\fboxrule},{\dimexpr -1in-\topmargin-\headheight-\headsep-\textheight-\fboxrule})%
{\fbox{\rule{0pt}{\textheight}\rule{\textwidth}{0pt}}}
\else
\put({\dimexpr 1in+\evensidemargin-\fboxrule},{\dimexpr -1in-\topmargin-\headheight-\headsep-\textheight-\fboxrule})%
{\fbox{\rule{0pt}{\textheight}\rule{\textwidth}{0pt}}}
\fi}
\begin{document}
Hello
\noindent\verb|\fboxsep| = \the\fboxsep
\newpage
Hello
\end{document}