如何使用最简单的命令或环境将整个段落以距左边距相同的距离缩进?
答案1
无需任何附加包,你可以将段落包装在minipage
:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\lipsum[1]
\hfill\begin{minipage}{\dimexpr\textwidth-3cm}
\lipsum[2]
\xdef\tpd{\the\prevdepth}
\end{minipage}
\prevdepth\tpd\lipsum[3]
\end{document}
在上面的例子中,段落深度校正(via\prevdepth
来自如何在使用 minipages (或 \parboxes) 时保持恒定的 baselineskip?)。
左侧缩进设置为3cm
,但可以修改。此外,如果需要段落缩进,请\indent
在小页面内使用。所有上述修改都可以自动完成。但有一点需要注意,即不允许跨页分页。
一种相当粗糙的方法是修改\leftskip
:
\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\lipsum[1]
\setlength{\leftskip}{3cm}
\lipsum[2]
\setlength{\leftskip}{0pt}
\lipsum[3]
\end{document}
答案2
您可以使用包adjustwidth
中的环境 -changepage
接下来是 MWE。请注意,adjustwidth
环境处理分页符。
环境adjustwidth
需要 2 个参数:第一个是左边距的缩进,第二个是右边距的缩进。有关更多详细信息,请参阅文档。
\documentclass{report}
\usepackage{lipsum} % for sample text
\usepackage{changepage} % for the adjustwidth environment
\begin{document}
\lipsum[1]
\begin{adjustwidth}{2cm}{}
\lipsum[1]
\end{adjustwidth}
\end{document}
如果你打算经常使用这个想法,那么定义自己的环境可能是值得的
\newenvironment{myenv}{\begin{adjustwidth}{2cm}{}}{\end{adjustwidth}}
可以用作
\begin{myenv}
\lipsum[1]
\end{myenv}
根据 Werner 的评论,您可以让您的环境采用一个可选参数来覆盖默认缩进:
\newenvironment{myenv}[1][2cm]{\begin{adjustwidth}{#1}{}}{\end{adjustwidth}}
答案3
答案4
您可以使用\parshape
原语:
\documentclass{report}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\parshape 1 2cm \dimexpr\linewidth-2cm\relax
\lipsum[1]
\end{document}