我希望我的文本行在新环境中从左侧缩进,就像在
\begin{minipage}{...}
\end{minipage}
不使用环境内部定义的原因minipage
是为了在环境内启用分页。我该如何实现呢?
答案1
adjustwidth
最好是使用changepage
包裹. 其格式如下:
\begin{adjustwidth}{<leftmargin>}{<rightmargin>}
...
\end{adjustwidth}
内容按预期从左侧缩进<leftmargin>
,从右侧缩进<rightmargin>
,并允许分页:
\documentclass{article}
\usepackage{changepage}% http://ctan.org/pkg/changepage
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\lipsum[1-2]
\begin{adjustwidth}{3em}{0em}
\lipsum[3-6]
\end{adjustwidth}
\lipsum[7]
\end{document}
这里有一些技巧:quotation
LaTeX 提供的标准环境(将其内容排版为列表)可能对此有所帮助。以此为基础,以下 MWE 提供了环境shiftpar
。可选参数指定左边距缩进(默认值为1.5em
,直接从quotation
环境定义中获取):
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\makeatletter
\newenvironment{shiftpar}[1][1.5em]
{\list{}{%\listparindent #1%
\itemindent\parindent
\leftmargin#1
% \rightmargin\leftmargin
\parsep\z@\@plus\p@}%
\item\relax}
{\endlist}
\makeatother
\begin{document}
\lipsum[1-2]
\begin{shiftpar}[3em]
\lipsum[3-6]
\end{shiftpar}
\lipsum[7]
\end{document}