settypeblocksize 不会改变文本宽度

settypeblocksize 不会改变文本宽度

我是 documentclass 的新手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环境可以跨越页面边界。

相关内容