Есть ли простой способ добавить рамки вокруг текста выбранных страниц с номером страницы под рамкой?

Есть ли простой способ добавить рамки вокруг текста выбранных страниц с номером страницы под рамкой?

Я хотел бы иметь возможность создавать блоки вокруг целой страницы или выборки страниц с блоком, простирающимся на всю длину страницы, но с нижним краем блока над номером страницы, как в приложенном примере. Было бы идеально, если бы это можно было определить как среду, чтобы все страницы в этой среде были заключены в рамку. Эту среду можно использовать для отделения резюме от остальной части документа.

Любые подсказки и предложения будут высоко оценены.

Страница в коробке

решение1

С помощью tikzи eso-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}

Связанный контент