![]() |
1
1
首先创建命令,例如
捕捉空格或标点符号的解决方案:
|
![]() |
2
1
关于命令后的空白:请参见包
现在为什么这是非常困难的:正如你自己所说,这样的事情似乎只能通过改变catcode来完成。当tex读取字符时,catcode被分配给字符,tex一次读取一行,因此不能对同一行上的其他空格做任何操作,imho。也许有办法,但我看不出来。 下面是危险代码! 这段代码可以做你想做的 只有 在行尾,如果您想要的是更“流畅”的无括号键入,但您愿意在每个首字母缩略词后单击“return”(以后不运行任何自动缩进),则可以使用:
|
![]() |
3
1
@Debilski-我在论文中为缩略词写了一些类似于你的active*代码的东西。我激活了<然后单击了\def<>1>来打印首字母缩略词,如果这是第一次遇到扩展,也会打印扩展名。我还做了一些深入的工作,允许在行中定义扩展,如果在声明之前使用了扩展,则使用.aux文件“及时”发送它们,或者如果从未声明缩写,则报告错误。 总的来说,当时这似乎是个好主意-我很少需要在实际文本中使用catcode 12(因为我的所有宏都在一个单独的.sty文件中),而且我让它在数学模式下运行,所以我无法预见任何困难。但孩子,它是脆弱的…我不知道有多少次,我不小心改变了一些看似无关的东西,把我的身材弄坏了。这么说来,就是 非常 小心激活那些甚至是远程常用的字符。 另一方面,使用xetex和更高的unicode字符,可能会更安全,而且通常有一些简单的方法来键入这些额外的字符,例如生成一个multi(或compose)键(我通常会将numlock或一个windows键映射到这个键),这样,例如multi-!-!生产)。或者,如果您在Emacs中运行,您可以使用c-\切换到tex输入模式,通过为其键入tex命令来简单地插入Unicode(尽管这对于实际键入tex文档是一种痛苦,因为它会截获您的实际文档,请不要尝试定义您自己的转义字符!) |
![]() |
4
0
一种解决方案可能是将另一个字符设置为活动字符并使用此字符进行转义。这不会消除对结束字符的需要,但避免键入
因此,在非常特殊的情况下,下面的工作。
不幸的是,这使得
在xetex中,似乎可以利用unicode字符来实现这一点,因此可以定义
这应该会减少对其他命令的影响,但当然需要将字符映射到键盘的某个位置以供使用。 |
![]() |
Sam · 在LaTeX中将图像添加到预制的投影仪中 8 月前 |
![]() |
user2609605 · github上的CI:日志不完整 1 年前 |
|
Julia · MacOS上Texifier中的LaTeX铸币包装 1 年前 |
![]() |
fortytwo · 包括LaTeX附录中的html页面 1 年前 |
|
Erik · 每个条形图下面都有文本的乳胶条形图? 1 年前 |
![]() |
user123945 · 使用R实现从Latex到PDF的即时转换 1 年前 |