
Tengo una página que tiene un cuadro sombreado en la parte superior. ¿Cómo consigo que el cuadro sombreado se alinee con la parte superior del marco de la página? Hay una pequeña brecha. Mi código:
\documentclass[10pt]{book}
\usepackage[showframe]{geometry}
\usepackage[x11names]{xcolor}
\usepackage{framed}
\colorlet{shadecolor}{LavenderBlush2}
\usepackage{lipsum}
\begin{document}
\setlength{\OuterFrameSep}{0pt}
\begin{shaded*}
\lipsum[1]
\end{shaded*}
\vfill
\begin{shaded*}
\lipsum[1]
\end{shaded*}
\end{document}
En otra pregunta (Alinear el cuadro sombreado al final de la página), se ha sugerido establecerlo OuterFrameSep
en 0 para eliminar el espacio vertical antes y después del entorno enmarcado. Eso parece funcionar después del entorno enmarcado, pero no antes.
Respuesta1
Pruebe lo siguiente, puede que también funcione para usted:
\documentclass[10pt]{book}
\usepackage{geometry}
\usepackage[x11names]{xcolor}
\usepackage{framed}
\colorlet{shadecolor}{LavenderBlush2}
\setlength{\OuterFrameSep}{0pt}
\usepackage{etoolbox} % <---
\BeforeBeginEnvironment{shaded*}{\topskip=0pt} % <---
\AfterEndEnvironment{shaded*}{\topskip=10pt} % <---
\usepackage{lipsum}
\usepackage{graphicx}
%---------------- Show page layout. Don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{shaded*}
\lipsum[1]
\end{shaded*}
\vfill
\begin{shaded*}
\lipsum[1]
\end{shaded*}
\clearpage
\begin{figure}[ht]
\includegraphics[width=\linewidth]{example-image-duck}
\end{figure}
\section{title}\lipsum
\end{document}
Respuesta2
Una alternativa es utilizar el paquete tcolorbox
. Aquí hay una versión que le brinda mucho control sobre esencialmente todo:
\documentclass[10pt]{book}
\usepackage[showframe]{geometry}
\usepackage[x11names]{xcolor}
\colorlet{shadecolor}{LavenderBlush2}
\usepackage{lipsum}
\usepackage{tcolorbox}
\tcbuselibrary{breakable}
\begin{document}
\begin{tcolorbox}[boxrule=0mm, boxsep=0mm, sharp corners, colback=shadecolor]
\lipsum[1]
\end{tcolorbox}
\vfill
\begin{tcolorbox}[boxrule=0mm, boxsep=0mm,
after skip=0pt, % this removes some extra space at the bottom
bottom=2ex, top=2ex, right=2ex, left=2ex, % 'padding' between text and border
sharp corners, colback=shadecolor]
\lipsum[1]
\end{tcolorbox}
\end{document}