如果我想在页面主体周围设置填充(在所有页面上),在其周围绘制框架/边框,然后添加一些边距,该怎么办?
该geometry
包在其基本选项中似乎没有这个选项,因为它没有分离填充和边距。
(我问的是整个页面主体,而不是关于在来源中明确编码的框。
我正在处理 LaTeX。)
我想要实现的目标——每页都像这样打印:
>outer margin< | >left< >mpwidth< >text body< >right< | >outer margin<
| ...... |
| Text text |
| marginpar Text text |
| Text text |
| ...... |
然后,我还想根据文本更改框架的颜色(使用文本中的命令)。框架/边框样式可能比普通的规则/线条更花哨。框架内的部分就像一个完整的可自定义页面布局:自定义左边距宽度、自定义右边距宽度和自定义边距宽度。这不会跨越框架。框架与纸张边缘的距离是固定的(“外边距”)。
答案1
background
我觉得与其结合的套餐tikzpagenodes
是个不错的选择。
作为起点,您可以使用:
但是有一个免责声明。该软件包background
只能更改整个页面的框架颜色。
\xinnersep
这里有一个例子,您可以通过新的两个尺寸和来控制框架和文本之间的距离\yinnersep
:
\documentclass{book}
\usepackage{tikzpagenodes}
\usepackage{background}
\usepackage{lipsum}
\newlength{\xinnersep}
\setlength{\xinnersep}{1.5cm}
\newlength{\yinnersep}
\setlength{\yinnersep}{0.5cm}
\backgroundsetup{
scale=1,
angle=0,
contents={%
\begin{tikzpicture}[remember picture,overlay]
\draw[blue,line width=2pt,] ([xshift=-\xinnersep,yshift=\yinnersep]current page text area.north west) --
([xshift=\xinnersep,yshift=\yinnersep]current page text area.north east) --
([xshift=\xinnersep,yshift=-\yinnersep]current page text area.south east) --
([xshift=-\xinnersep,yshift=-\yinnersep]current page text area.south west) -- cycle;
\end{tikzpicture}%
}}
\begin{document}
\lipsum[1-15]
\end{document}