![如何在文档的每一页(页眉/页脚除外)周围创建双边框/表格?](https://linux22.com/image/307652/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%96%87%E6%A1%A3%E7%9A%84%E6%AF%8F%E4%B8%80%E9%A1%B5%EF%BC%88%E9%A1%B5%E7%9C%89%2F%E9%A1%B5%E8%84%9A%E9%99%A4%E5%A4%96%EF%BC%89%E5%91%A8%E5%9B%B4%E5%88%9B%E5%BB%BA%E5%8F%8C%E8%BE%B9%E6%A1%86%2F%E8%A1%A8%E6%A0%BC%EF%BC%9F.png)
我是 LaTeX 的新手... 除了标题页和结束页之外,我还想创建一个固定大小的边框/表格,它将围绕文档的每一页(页眉/页脚除外)。文本也需要位于右下角。结果需要看起来类似于以下内容(文本将出现在每一页上):
我不确定最好的方法是什么...我尝试使用带有水平线的 framebox/fbox,但没有取得太大成功。
答案1
再次使用TiKZ
,无需特殊类,您可以执行类似的操作(使用提示这个答案):
\documentclass[a4paper]{article}
\usepackage[footskip=1.5cm]{geometry}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc}
\usepackage{eso-pic}
\usepackage{fancyhdr}
\usepackage{lipsum}
\AddToShipoutPictureBG{%
\begin{tikzpicture}[overlay,remember picture,line width=.7pt]
\draw ($(current page text area.north west)+(-2mm,2mm)$) rectangle ($ (current page text area.south east) + (2mm,-2mm) $) ($(current page text area.south west)+(-2mm,-2mm)$) rectangle ($ (current page text area.south east) + (2mm,-8mm) $);
\node at ($ (current page text area.south east) + (2mm,-5mm) $) [left]{UNCLASSIFIED};
\end{tikzpicture}
}
\pagestyle{fancy}
\fancyhead[C]{Dummy Header}
\fancyfoot[C]{Dummy Footer}
\fancyfoot[R] {\thepage}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
产生
请注意,我footskip=1.5cm
在几何包中添加了调整与footer
盒子距离的选项。这里的所有参数都可以根据您的情况进行调整。
答案2
如果您可以使用scrlayer-scrpage
页眉和页脚,则可以添加包含框架的层。请注意,此建议需要最新的 KOMA-Script(版本 3.16 或更高版本),但您可以使用标准类。
\documentclass{article}
\usepackage{tikz}
\usepackage{scrlayer-scrpage}
\clearpairofpagestyles
\chead*{Dummy Header}
\cfoot*{Dummy Footer}
\addtokomafont{pageheadfoot}{\normalfont}
\DeclareNewLayer[
foreground,
textarea,
addvoffset=-5pt,addhoffset=-5pt, addwidth=10pt,addheight={10pt+2\normalbaselineskip},
contents={\tikz[blue!50!green]{
\useasboundingbox(0,0)rectangle({\layerwidth},{\layerheight});
\draw[very thick](0,0)rectangle({\layerwidth},{\layerheight});
\draw[thick](0,2\normalbaselineskip)--+({\layerwidth},0);
\node[anchor=east]at({.975*\layerwidth},\normalbaselineskip){UNCLASSIFIED};
}}
]{frame}
\addtolength\textheight{-2\normalbaselineskip}
\addtolength\footskip{2\normalbaselineskip}
%\usepackage{showframe}% to show the page layout
\usepackage{blindtext}% dummy text
\begin{document}
\tableofcontents
\clearpage
\AddLayersToPageStyle{@everystyle@}{frame}% add the frame
\blinddocument
\clearpage
\RemoveLayersFromPageStyle{@everystyle@}{frame}% remove the frame
\blinddocument
\end{document}