Ignore o espaço na definição do ambiente

Ignore o espaço na definição do ambiente

Suponhamos que desejo redefinir o quotationambiente colocando o texto em itálico e inserindo-o entre aspas. Tenho alguns problemas para ajustar o espaço após a abertura das aspas e antes do fechamento das mesmas.

Com este código obtenho:

\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}

insira a descrição da imagem aqui

E para corrigir o espaçamento eu claramente tenho que colocar dois %desta forma:

\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}

insira a descrição da imagem aqui

Mas quero fixar isso dentro da definição do ambiente no preâmbulo sem os dois %símbolos no documento, como posso fazer isso?

Eu tento também com \unskipmas funciona apenas no final:

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

Responder1

Na \beginparte que você pode usar \ignorespaces(vejacomentário de egreg), na \endparte um espaço anterior pode ser desfeito por \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}

Resultado

Observações:

  • \unskipremove o último espaço de salto, que também pode ser um espaço de salto vertical. Isso pode ser evitado por \ifhmode\unskip\fi. Aqui não é necessário, porque há problemas maiores, se o conteúdo do ambiente terminar com espaço vertical. As aspas estariam fora de lugar de qualquer maneira.

informação relacionada