
テキストを斜体にして引用符で囲んで環境を再定義したいとします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
。環境コンテンツが垂直スペースで終わると、より大きな問題が発生するため、ここでは必要ありません。引用符はいずれにしても場違いです。