避免在短引号/内联引号环境中出现不必要的空格

避免在短引号/内联引号环境中出现不必要的空格

在一本书的项目中,我使用了以下简单的shortquote环境定义,主要是为了使内联引用的使用比仅仅使用“quote”更加灵活(来源)

% inline quotations
\newenvironment{shortquote}{``}{''}

当我使用它时,例如

He said of his bar chart: 
\begin{shortquote}
This Chart is different from the others in principle, as it does
not comprehend any portion of time, and it is much inferior in utility to those that do; for though it gives the extent of the different branches of trade, it does not compare the same branch of commerce with itself at different periods.
\end{shortquote}
(\emph{Atlas}, 1st edition, 1786, p. 101)

我得到了以下结果,在引号前后都留有额外的空格。可能有更好的方法可以做到这一点。欢迎提出任何建议。

从其他相关查询来看,也许我需要\ignorespaces某个地方,但我不知道如何或在哪里。

在此处输入图片描述

答案1

您可以定义环境以始终忽略开头和结尾的空格:

\newenvironment{shortquote}{``\ignorespaces}{\unskip''}

这将忽略空格,但它不会忽略空行,因此请确保按照您在问题中显示的方式输入引文。

答案2

空格与环境定义无关,它们被添加到您的文档中,但是如果您不想在标记文档时避免添加它们,您可以重新定义环境以删除它们。

在此处输入图片描述

\documentclass{article}

\newenvironment{shortquote}{``}{''}
\newenvironment{xshortquote}{``\ignorespaces}
    {\ifvmode\PackageError{shortquote}{dont leave a blank line}{}\else\unskip\fi''}

\begin{document}

\begin{shortquote}xx\end{shortquote}


\begin{shortquote} xx \end{shortquote}

\begin{xshortquote}xx\end{xshortquote}


\begin{xshortquote} xx \end{xshortquote}

\end{document}

相关内容