Me gustaría poder crear cuadros alrededor de una página completa o una selección de páginas con el cuadro extendiéndose a lo largo de toda la página pero con el borde inferior del cuadro sobre el número de página como en el ejemplo adjunto. Sería ideal si esto pudiera definirse como un entorno para que todas las páginas de ese entorno estuvieran encuadradas. Este entorno podría utilizarse para diferenciar un resumen ejecutivo del resto del documento.
Cualquier sugerencia o sugerencia será muy apreciada.
Respuesta1
Con tikz
y eso-pic
. He definido dos comandos \addframe
que \removeframe
, respectivamente, agregan y eliminan el marco en la 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}
Producción:
Puede ajustar los parámetros ( 1pt
para el grosor y 5mm
la distancia desde el texto) como desee.
Alternativamente, puede definir \addframe
de esta manera
\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}%
}
y utilícelo \addframe
en cada página donde necesite el marco, como en el siguiente 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}
Respuesta2
Puedes usar el paquete mdframed
para hacer esto.
mdframed
Es muy personalizable, puedes definir un color de fondo y muchas cosas más.
Si desea que sus cuadros aparezcan en todas partes usando el mismo estilo, la mejor práctica es definir un nuevo entorno con newmdenv
algunas opciones de estilo. En este caso se utiliza el estándar, un único marco alrededor de la caja. Luego puede anular la configuración localmente brindando opciones al entorno, como se ve en el segundo ejemplo.
\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}