網掛けのボックスをページ上部に揃える

網掛けのボックスをページ上部に揃える

上部に影付きのボックスがあるページがあります。影付きのボックスをページ フレームの上部に揃えるにはどうすればよいでしょうか。少し隙間があります。私のコード:

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

結果的に ここに画像の説明を入力してください

別の質問では(網掛けのボックスをページの下部に揃える) の場合、フレーム環境の前後の垂直方向のスペースを削除するには、 0 に設定することが推奨されていますOuterFrameSep。これは、フレーム環境の後では機能するようです。ただし、フレーム環境の前では機能しません。

答え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}

関連情報