限制某些环境之外的行扩展

限制某些环境之外的行扩展

我需要修复我正在编写的文档中的精确行距,但仅限于文档的普通部分。换句话说,我正在编写数学,文本中有很多环境(定理、命题、定义等):有没有办法让行距仅在这些环境之外工作,而无需每次使用环境时都插入命令?

我想我可以在文档开头重新定义所有环境,有没有更简单的方法可以做到这一点?

答案1

使用etoolboxsetspace在序言中写下如下内容:

\AtBeginEnvironment{mytheorem}{\singlespacing} 

\BeforeBeginEnvironment{mytheorem}{\singlespacing}(尚未测试哪一个有效 - 请参阅 etoolbox 的文档)。

并使用以下命令恢复文档全局间距:

\AtEndEnvironment{mytheorem}{\linespread{…}} 

或者\AfterEndEnvironment{mytheorem}{\linespread{…}}

除了评论之外,您可能应该使用\setspace{…}命令(来自同名包)而不是\linespread,因为该包会处理许多副作用。请参阅l2tabu,§1.4 中的详细信息。

相关内容