是否有简单的方法可以在选定页面的文本周围放置方框,并在方框下方显示页码?

是否有简单的方法可以在选定页面的文本周围放置方框,并在方框下方显示页码?

我希望能够围绕整个页面或选定的页面创建方框,方框延伸到页面的整个长度,但方框的底边位于页码上方,如附件示例中所示。如果可以将其定义为环境,以便该环境中的所有页面都被框起来,那就太理想了。此环境可用于将执行摘要与文档的其余部分区分开来。

如有任何提示或建议我将非常感激。

盒装页

答案1

使用tikzeso-pic。我定义了两个命令\addframe\removeframe,分别用于在页面中添加框架和删除框架。

梅威瑟:

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\usepackage{eso-pic}

\newcommand{\addframe}{%
  \AddToShipoutPicture{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt] 
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
  }%
}

\newcommand{\removeframe}{\ClearShipoutPicture}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\removeframe
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

输出:

在此处输入图片描述

您可以根据需要调整参数(1pt厚度和5mm与文本的距离)。

或者,您可以\addframe这样定义

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\addframe并在每个需要框架的页面中使用,如下面的 MWE:

\documentclass{article}

\usepackage{tikzpagenodes}
\usetikzlibrary{calc}

\newcommand{\addframe}{%
  \begin{tikzpicture}[remember picture, overlay]
      \draw[line width=1pt]
           ($(current page text area.north west) +(-5mm,5mm)$)
           rectangle
           ($(current page text area.south east) +(5mm,-5mm)$);
  \end{tikzpicture}%
}

\usepackage{lipsum} % just for the example

\begin{document}
\addframe
\lipsum[1-10]
\clearpage
\lipsum[1-10]
\clearpage
\addframe
\lipsum[1-10]
\end{document} 

答案2

您可以使用包mdframed来执行此操作。 mdframed它非常可定制,您可以定义背景颜色和更多东西。

如果您希望框在任何地方都使用相同的样式,最佳做法是使用 定义一个新环境newmdenv,设置一些样式选项。在这种情况下,使用标准,框周围有一个框架。您可以稍后通过为环境提供选项来本地推翻设置,如第二个示例所示。

\documentclass{article}
\usepackage{mdframed}
\newmdenv{boxed}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{boxed}
\blindtext

\blindtext
\begin{description}
    \item [something] \blindtext
    \item [something else] \blindtext[2]
\end{description}
\end{boxed}

\blindtext

\begin{boxed}[backgroundcolor=yellow]
    \blindtext
\end{boxed}
\end{document}

相关内容