環境を定義する際にスペースを無視する

環境を定義する際にスペースを無視する

テキストを斜体にして引用符で囲んで環境を再定義したいとしますquotation。引用符の開始後と終了前のスペースを調整するときに問題があります。

このコードで得られる結果:

\documentclass{article}

\newenvironment{itquote}
  {\begin{quotation}\itshape``}
  {''\end{quotation}}

\begin{document}


\begin{itquote}
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.
\end{itquote}

\end{document}

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

そして、間隔を修正するには、明らかに%次のように 2 つを配置する必要があります。

\begin{itquote}%
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.%
\end{itquote}

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

しかし、ドキュメント内の 2 つのシンボルを使用せずに、プリアンブルの環境の定義内でこれを修正したいのですが%、どうすればよいですか?

私も試してみました\unskipが、最後だけしか機能しません:

\newenvironment{itquote}
  {\begin{quotation}\itshape``}
  {\unskip''\end{quotation}}

答え1

\begin使用できる部分(\ignorespaces参照egreg のコメント) の\end部分では、前のスペースを次のように元に戻すことができます\unskip

\documentclass{article}

\newenvironment{itquote}
  {\begin{quotation}\itshape``\ignorespaces}
  {\unskip''\end{quotation}}

\begin{document}

\begin{itquote}
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.
\end{itquote}

\end{document}

結果

備考:

  • \unskip最後のスキップ スペースを削除します。これは垂直スキップ スペースにもなります。 によってこれを防ぐことができます\ifhmode\unskip\fi。環境コンテンツが垂直スペースで終わると、より大きな問題が発生するため、ここでは必要ありません。引用符はいずれにしても場違いです。

関連情報