在一本书的项目中,我使用了以下简单的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}