假设我想重新定义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
。这里不需要它,因为如果环境内容以垂直空格结尾,则会出现更大的问题。无论如何,引号都不合适。