
Предположим, что я хочу переопределить 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}
И чтобы исправить интервал, мне явно придется поставить два %
следующим образом:
\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}
Но я хочу исправить это внутри определения среды в преамбуле без двух %
символов в документе, как мне это сделать?
Я также пробую, \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
. Здесь это не нужно, потому что есть более серьезные проблемы, если содержимое окружения заканчивается вертикальным пробелом. Кавычка в любом случае будет неуместна.