反斜杠快捷键

反斜杠快捷键

我在美国键盘上使用葡萄牙语布局(我的笔记本电脑是在那里买的),因此我丢失了反斜杠键。有没有办法使用 overleaf 上的另一个键为反斜杠创建新的快捷键?

我没有数字键盘,所以我不能使用 Altgr+92,而 Crtl+Space 也不是那么有用,因为每个段落只能使用一次。

答案1

正如评论中提到的,您最好找到一种系统范围的方法将键盘键重新映射到字符\

但是,(La)TeX 还提供了在文档中输入某些字符的其他方法。我在这里看到两个选项:

  1. 使用特殊^^输入处理:当 TeX^^在输入流中看到两个上标字符时,它会以不同的方式解析以下字符。序列^^x,其中x是字符代码在 0 到 127 之间的字符,被替换为相同范围内的字符加/减 64。在我们的例子中 的\字符代码为 92,因此x在我们的例子中 将是代码为 92-64 = 28 的字符。不幸的是,这超出了通常可以打印/输入的字符范围,所以这是不可能的。

    接下来,将序列^^xy(其中xy是十六进制数字(0... 9a... f))替换为具有十六进制数 xy 所表示的字符代码的字符。在我们的例子中,该序列为 92 10 = 5c 16

    因此,我们的首选是使用^^5c而不是\

  2. 使用 catcodes:在输入处理的第一阶段之后,TeX 会为每个字符分配所谓的类别代码 (catcode),这些代码会影响字符序列的进一步处理。例如,\默认情况下,分配了 catcode 0(转义字符)。每当读取转义字符时,后面的字母字符序列(catcode 11)都会合并为单个输入标记(控制序列),例如,字符\foo{}将成为标记\foo{}

    幸运的是,我们可以将任何输入字符的 catcode 更改为任何其他 catcode。此分配的语法是\catcode`x=`y其中xy是任意字符(特殊字符必须另外用 转义\)。

    因此,我们的第二个选择是使用,比如说,从现在起\catcode`/=0将所有的 s 都设为/转义字符。当然,最初的反斜杠必须从其他地方复制。;-)

第二种方法使用起来有点棘手,因为新的转义字符可能会在我们意想不到的地方被误解。/例如,一些较旧的软件包在日期中使用。像 这样的日期2019/07/01将被标记为2019/07/0并且1TeX 会抱怨该命令/0未定义。因此,如果使用错误的替换字符或在文档的错误位置使用,第二种方法可能会中断。

但是,我们可以结合这两种方法:首先,我们使用方法一来处理 LaTeX 序言,然后切换到方法二,并祈祷文档的其余部分不会出现问题:

^^5cdocumentclass{article}
^^5cusepackage{xcolor}
% load more packages here using ^^5c

^^5ccatcode`/=0
/begin{document}
/textit{Hello world!}
/end{document}

输出

你好世界!

再次,应该使用适当的键盘重新映射。

相关内容