음영처리된 상자를 페이지 상단에 정렬

음영처리된 상자를 페이지 상단에 정렬

상단에 음영 처리된 상자가 있는 페이지가 있습니다. 음영 처리된 상자를 페이지 프레임 상단에 맞추려면 어떻게 해야 합니까? 약간의 틈이 있습니다. 내 코드:

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

결과 여기에 이미지 설명을 입력하세요

또 다른 질문에서 (음영 처리된 상자를 페이지 하단에 정렬OuterFrameSep), 프레임 환경 전후의 수직 공간을 제거하기 위해 0으로 설정하는 것이 제안되었습니다 . 그것은 프레임된 환경 이후에는 작동하는 것처럼 보이지만 이전에는 그렇지 않습니다.

답변1

다음을 시도해 보세요. 귀하에게도 효과가 있을 수 있습니다.

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

여기에 이미지 설명을 입력하세요

답변2

대안은 패키지를 사용하는 것입니다 tcolorbox. 기본적으로 모든 것에 대해 많은 제어 기능을 제공하는 버전은 다음과 같습니다.

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

관련 정보