Existe alguma maneira fácil de colocar caixas ao redor do texto das páginas selecionadas com o número da página abaixo da caixa?

Existe alguma maneira fácil de colocar caixas ao redor do texto das páginas selecionadas com o número da página abaixo da caixa?

Gostaria de poder criar caixas em torno de uma página inteira ou de uma seleção de páginas com a caixa estendendo-se por todo o comprimento da página, mas com a borda inferior da caixa acima do número da página, como no exemplo anexo. Seria ideal se isso pudesse ser definido como um ambiente para que todas as páginas desse ambiente estivessem em caixa. Este ambiente pode ser usado para diferenciar um resumo executivo do restante do documento.

Qualquer dica ou sugestão seria muito apreciada.

Página em caixa

Responder1

Com tikze eso-pic. Defini dois comandos, \addframeque \removeframe, respectivamente, adicionam o frame e removem o frame da página.

MWE:

\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} 

Saída:

insira a descrição da imagem aqui

Você pode ajustar os parâmetros ( 1ptpara espessura e 5mmdistância do texto) conforme desejar.

Alternativamente, você pode definir \addframedesta forma

\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}%
}

e use \addframeem todas as páginas onde precisar do frame, como no MWE a seguir:

\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} 

Responder2

Você pode usar o pacote mdframedpara fazer isso. mdframedé muito personalizável, você pode definir uma cor de fundo e muito mais.

Se você deseja que suas caixas apareçam em todos os lugares usando o mesmo estilo, a melhor prática é definir um novo ambiente com newmdenv, definindo algumas opções de estilo. Neste caso, utiliza-se o padrão, uma única moldura ao redor da caixa. Posteriormente, você pode anular as configurações localmente, fornecendo opções ao ambiente, como visto no segundo exemplo.

\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}

informação relacionada