引用環境の余白を非対称に変更する

引用環境の余白を非対称に変更する

私はMLAスタイルでエッセイを書く必要があり、2つの段落からなるブロック引用が必要です。私は次の方法で各段落の最初の行のインデントをそのまま維持する方法を見つけました。この答えquotation提案されたコードで環境を再定義するここ各段落の最初の行の余分なインデントを削除します。これは の定義のバリエーションのようですquote。比較してください。この答えquoteと環境の両方の定義についてquotation

の使い方は、その使い方通りetoolboxです\patchcmdここ引用の両側に同じ幅の余白が作成されますが、quotation環境の左側のインデントは 1 インチだけ必要です。また、各段落の最初の行のインデントは、MLA に従って 1/4 インチの幅にする必要があります。これらを実現するにはどうすればよいでしょうか。etoolboxこのような場合に を使用することはお勧めですか。

\renewenvironmentquotation使用済みのコード付きここ残念ながらエラーが返されます:

l.190 \begin{quotation}

? 
! Undefined control sequence.
<argument> ...n \leftmargin \parsep \z @ \@plus\p 
                                                  @

動作例 (最小限?!):

\documentclass{article}

% Ragged right text and paragraph indentation 0.5in
\raggedright
\setlength{\parindent}{0.5in}

\usepackage{etoolbox}
\patchcmd{\quotation}{\rightmargin}{\leftmargin 1in \rightmargin}{}{}

\begin{document}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.

\begin{quotation}
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.

Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
\end{quotation}

Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.

\end{document}

結果は次のようになります:

MWEの結果

しかし、私が望んでいるのは次のようなものです:

それはどのように見えるか

答え1

私の提案としては、これに対して独自の環境を定義しadjustwidthchangepage:

ここに画像の説明を入力してください

\documentclass{article}

% Ragged right text and paragraph indentation 0.5in
\raggedright
\setlength{\parindent}{0.5in}

\usepackage{changepage}

\newenvironment{myquotation}[1][1in]
  {\par\vspace{\topsep}%
   \begin{adjustwidth}{#1}{0pt}
   \setlength{\parindent}{1.5em}% Similar to quotation
   \leavevmode\hspace*{\parindent}\ignorespaces}
  {\end{adjustwidth}
   \vspace{\topsep}}

\usepackage{etoolbox}
\patchcmd{\quotation}{\rightmargin}{\leftmargin 1in \rightmargin}{}{}

\begin{document}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.

\begin{quotation}
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.

Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
\end{quotation}

Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.

\begin{myquotation}
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.

Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
\end{myquotation}

Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.

\end{document}

上記の例では、左余白/インデントをmyquotationオプションの引数 (デフォルトは ) で定義しています。環境では通常、最初の段落をインデントなしで設定するため、これをシミュレートするために強制が配置されます。1inadjustwidth\hspace*{\parindent}

答え2

ほとんどの場合、カスタム環境は私のquotingパッケージとそのキー値オプション。周囲のテキストとは異なる段落のインデントを指定するには、\AtBeginEnvironmentが提供するマクロを使用しますetoolbox

\documentclass{article}

\raggedright
\setlength{\parindent}{0.5in}

\usepackage[indentfirst=true,leftmargin=1in,rightmargin=0pt]{quoting}

% \usepackage{etoolbox}% already loaded by 'quoting' 
\AtBeginEnvironment{quoting}{%
  \setlength{\parindent}{0.25in}%
}

\begin{document}

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque.

\begin{quoting}
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat.

Integer sapien est, iaculis in, pretium quis, viverra ac, nunc. Praesent eget sem vel leo ultrices bibendum. Aenean faucibus.
\end{quoting}

Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. Donec varius orci eget risus. Duis nibh mi, congue eu, accumsan eleifend, sagittis quis, diam. Duis eget orci sit amet orci dignissim rutrum.

\end{document}

ここに画像の説明を入力してください

関連情報