settypeblocksizeはテキスト幅を変更しません

settypeblocksizeはテキスト幅を変更しません

私はドキュメントクラスの使用に慣れていないmemoirので、大きなサイドマージンを持つページレイアウトを実装して、マージンノートやマージン数値を表示できるようにしようとしていますが、特定のページでこのマージンを削除する環境を作成しようとしています。コードは次のとおりです。

\LoadClass[twoside, 11pt]{memoir}

\setstocksize{11in}{8.5in}
\settrims{0pt}{0pt}
\settypeblocksize{7.5in}{4.3in}{*}
\setlrmargins{1.5cm}{*}{*}
\setmarginnotes{20pt}{6.2cm}{0pt}

\checkandfixthelayout[nearest]


\newenvironment{fullwidth}{%
    \settrims{0pt}{0pt}
    \settypeblocksize{7.5in}{6in}{*}
    \setlrmargins{3.2cm}{*}{*}
    \setmarginnotes{0.01pt}{0.01pt}{0pt}

    \checkandfixthelayout[nearest]
}{%
    \settrims{0pt}{0pt}
    \settypeblocksize{7.5in}{4.3in}{*}
    \setlrmargins{1.5cm}{*}{*}
    \setmarginnotes{20pt}{6.2cm}{0pt}

  \checkandfixthelayout
}

レイアウト(を使用して視覚化\usepackage[showframe,pass]{geometry})は適切に変更されるので、これはうまく機能しているように見えますが、 は変更textwidthされません。どうすればこの問題を解決できますか?

答え1

@daleif が言うように、ページの途中でレイアウトを変更することはできませんが、memoir's adjustwidth環境は使用できる可能性があります。

% textwidthprob.tex  SE 643343

\documentclass[letterpaper]{memoir}

\usepackage{lipsum}

\begin{document}
\lipsum[1]

%%% reduce local margins by 1cm and 2cm
%%% (increases local textwidth by 3cm)
\begin{adjustwidth}{-1cm}{-2cm}
  \lipsum[2]

  \lipsum[3]
\end{adjustwidth}

\lipsum[4]

\end{document}

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

環境adjustwidthはページの境界を越えることができます。

関連情報