这个问题导致了一个新的方案的出现:
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}