我正在尝试为最初在所见即所得发布程序中创建的文档格式制作 LaTeX 模板。
模板的一部分需要一些跨越整个纸张宽度的块色背景元素。
需要两种类型的全宽块色元素:
- 页眉和页脚中固定的一个
- 包含文本的动态/定位块。(用于摘要)
关键的要求是这些框必须填满纸张的两边以及页眉/页脚的顶部和底部边缘。
我尝试了使用 tcolorbox 和 eso-pic 包的各种方法后似乎无法在 LaTeX 中复制。
这可以在 LaTeX 中完成吗?
我已经阐明了我的意思
此致,
阿拉斯泰尔
答案1
我介绍了\aty{y-location}{Text}
页眉和页脚,它们将在每一页上重复出现。然后,我介绍了\movingbox}{left text}{right text}
可以放置在您想要的位置的框。 \inset
是定义彩色框的左/右缩进的长度。显然,您可以更改颜色。您指定的框y
的位置\aty
将取决于您在框中放置的内容的高度。
您必须小心,不要让页眉/页脚与文本主体重叠。
\documentclass{article}
\usepackage{everypage}
\usepackage{xcolor}
\usepackage{lipsum}
\newlength\inset
\inset=1in\relax
% THESE ARE LaTeX DEFAULTS; CAN CHANGE IF NEEDED.
\def\PageTopMargin{1in}
\def\PageLeftMargin{1in}
\newcommand\movingbox[2]{{\centering\makebox[0pt]{%
\colorbox{green!30!blue!40}{\parbox{\paperwidth}%
{\leftskip=\inset\rightskip=\inset%
\begin{minipage}[t]{\dimexpr.45\paperwidth-\inset}\strut#1\end{minipage}%
\hspace{.1\paperwidth}%
\begin{minipage}[t]{\dimexpr.45\paperwidth-\inset}\strut#2\end{minipage}%
}}}\par}}
\newcommand\aty[2]{%
\AddEverypageHook{\smash{\hspace*{\dimexpr-\PageLeftMargin-\hoffset\relax}%
\raisebox{\dimexpr\PageTopMargin+\voffset-#1\relax}{\colorbox{blue!20}{%
\parbox{\paperwidth}{\leftskip=\inset\rightskip=\inset\strut#2}}}}}}
% VERIFIED THAT SETTING \hoffset AND \voffset DO NOT BREAK SOLUTION.
%\hoffset=0.4in
%\voffset=0.2in
\aty{.65in}{HEADER \lipsum[3]}
\aty{10.6in}{FOOTER \lipsum[4]}
\begin{document}
I will put the moving box below here
\movingbox{MOVING BOX \lipsum[5]}{RIGHT COLUMN STUFF \lipsum[6]}
\lipsum[1]
\end{document}