如何在页面主体周围设置填充,在其周围绘制框架/边框,然后添加一些边距?

如何在页面主体周围设置填充,在其周围绘制框架/边框,然后添加一些边距?

如果我想在页面主体周围设置填充(在所有页面上),在其周围绘制框架/边框,然后添加一些边距,该怎么办?

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}

相关内容