考虑一下代码
\documentclass[10pt]{book}
\usepackage{lipsum}
\begin{document}
\thispagestyle{empty}
\begin{quote}
\item \lipsum[3]
{\setlength\itemindent{15pt} \item \lipsum[3]}
\end{quote}
\end{document}
产生
我试图将第二项完全水平移动15pt
到右侧;但是,该命令{\setlength\itemindent{15pt} \item \lipsum[3]}
只影响第一行的 15pt 缩进(我想,这是我在代码中要求的。)
问题:我如何水平移动第二项,比如说向右移动 15pt,以便第二段文本(与第一段相同)位于第一段文本下方,但向右移动 15pt?似乎应该有一种简单的方法可以做到这一点,但我还没有找到。
谢谢。
答案1
在列表环境中,例如quote
,每个段落都使用
\parshape1 \@totallleftmargin \linewidth
您可以在本地修改设置:
\documentclass[10pt]{book}
\usepackage{lipsum}
\makeatletter
\newenvironment{shiftquote}[1]{%
\par
\advance\@totalleftmargin#1\relax
%\advance\linewidth -#1\relax % uncomment for keeping the right margin
\parshape\@ne \@totalleftmargin \linewidth
}{\par}
\makeatother
\begin{document}
\begin{quote}
\lipsum[3]
\begin{shiftquote}{15pt}
\lipsum[3][1-3]
\lipsum[3][4-7]
\end{shiftquote}
\lipsum[3]
\end{quote}
\end{document}
答案2
您可以使用该quoting
包:
\documentclass{article}
\usepackage{lipsum}
\usepackage{quoting}
\pagestyle{empty}
\begin{document}
\begin{quoting}[indentfirst=false,leftmargin=15pt,rightmargin=15pt]
\lipsum[3]
\begin{quoting}[indentfirst=false,leftmargin=15pt,rightmargin=-15pt]
\lipsum[3]
\end{quoting}
\end{quoting}
\end{document}