changepage 包的 adjustwidth* 导致跨页面全宽出错

changepage 包的 adjustwidth* 导致跨页面全宽出错

adjustwidth*(带星号的版本)无法在偶数页和奇数页之间切换。是我误解了手册changepage,还是这是一个错误?

以下屏幕截图显示(a)第 2 页的底部和第 3 页的顶部以及(b)第 3 页的底部和第 4 页的顶部。请注意,第 2 页和第 4 页的布局正确,但第 3 页的布局不正确。

在此处输入图片描述

...

在此处输入图片描述

\documentclass[12pt,a4paper]{book}
\usepackage[strict]{changepage}
\usepackage{showframe,lipsum}

\begin{document}

\lipsum[1-8]

\begin{adjustwidth*}{}{-\dimexpr\marginparsep+\marginparwidth\relax}
\lipsum[1-8]
\end{adjustwidth*}

\lipsum[1-2]

\end{document}

答案1

使用 tcolorbox 包

    \documentclass[12pt,a4paper]{book}
    %https://tex.stackexchange.com/questions/668095/full-width-across-pages-goes-wrong-with-adjustwidth-of-changepage-package

    \usepackage{showframe,lipsum}
    \usepackage{tcolorbox}
    \tcbuselibrary{breakable}

    \newlength{\mylength}
    \setlength{\mylength}{\dimexpr\marginparsep+\marginparwidth}
    \tcbset{width=\linewidth+\mylength,colframe=blue!75!black,colback=white,
    if odd page*={grow to right by=\mylength}{grow to left by=\mylength}
    }


    \begin{document}
    \lipsum[1-8]
    \begin{tcolorbox}[breakable,notitle,boxrule=0pt,if odd page*={colback=red!50}{colback=yellow!50},colframe=blue!20]
        \lipsum[1-8]
    \end{tcolorbox}
    \lipsum[1-2]

    \end{document}

在此处输入图片描述

相关内容