latex3:保留空格

latex3:保留空格

通常情况下,我非常欣赏 latex3/expl3 中的空格被忽略。但是,在某些情况下,我更愿意暂时禁用此行为。

其中一个例子就是新消息的定义,例如

\msg_new:nnn{module}{msg}{My example message}

显示此消息时,所有单词将会连接起来显示,因为它们之间的空格已被忽略。

梅威瑟:

\documentclass{article}

\usepackage{expl3}

\ExplSyntaxOn

\msg_new:nnn{module}{msg}{My example message}

\msg_warning:nn{module}{msg}

\ExplSyntaxOff

\begin{document}
    MWE
\end{document}

这将产生警告“Myexamplemessage”。

所以问题是:我怎样才能暂时禁用空格吞噬,这样我就不必单独转义所有空格?

答案1

您可以使用 更改空格的处理方式\char_set_catcode_space:n { `\ }。此处之所以不“自动”执行此操作,是因为这依赖于没有嵌套等(即输入尚未被标记):总体而言,团队发现,尽管输入要求略有增加,但保持一致性是更好的选择。


要重置,假设您没有使用组,请使用\char_set_catcode_ignore:n { `\ }

相关内容