如何在两种边距大小之间切换?

如何在两种边距大小之间切换?

这个问题导致了一个新的方案的出现:
fullwidth

这是类似的问题。这个想法是在两种不同的边距大小之间切换。@godbyk 提供的答案非常有效。但是,如果您使用不对称的页面布局(例如,环境跨越两页),则很困难\documentclass[twoside]{article}fullwidth在这些情况下也可以让它工作吗?

回忆录中写道:

请注意,该adjustwidth环境适用于完整段落;除了悬挂段落或通过 进行更深奥的操作外,您无法更改段落部分的宽度\parshape。此外,如果调整后的段落跨越页面边界,则边距变化是恒定的;例如,第一页右侧较宽的段落在延续到下一页时,右侧也会更宽。

那么,如何深奥地做到这一点;)

梅威瑟:

\documentclass[twoside]{article}

\usepackage{changepage}% provides the adjustwidth environment

% The following code should be used *after* any changes to the margins and
% page layout are made (e.g., after the geometry package has been loaded).
\newlength{\fullwidthlen}
\setlength{\fullwidthlen}{\marginparwidth}
\addtolength{\fullwidthlen}{\marginparsep}

\newenvironment{fullwidth}{%
  \begin{adjustwidth*}{}{-\fullwidthlen}%
}{%
  \end{adjustwidth*}%
}

\usepackage{lipsum}% provides dummy text

\begin{document}

\lipsum[1]

\begin{fullwidth}
    \lipsum[2-10]
\end{fullwidth}

\lipsum[3]

\end{document}

答案1

新的方案fullwidth已上传至 CTAN。开发状态可在github

\setcounter{errorcontextlines}{999}
\documentclass[twoside]{article}
\usepackage{showframe,lipsum}
\usepackage[innermargin=-2.0cm,]{fullwidth}
\begin{document}
\lipsum

%\clearpage
\begin{fullwidth}[width=\linewidth+2cm]
Start\par
\lipsum[1] \lipsum \lipsum
ENDE
\end{fullwidth}
\end{document}

您是否在寻找类似以下示例的东西?

\documentclass[twoside]{article}
%\usepackage{showframe}
\usepackage{mdframed}
\usepackage{lipsum}
\begin{document}

\lipsum[1]

\begin{mdframed}[outermargin=\dimexpr-\marginparwidth-\marginparsep\relax,innermargin=0pt]
    \lipsum[2-10]
\end{mdframed}

\lipsum[3]
\end{document}

相关内容