无痛解决方案

无痛解决方案

我想将反引号符号声明`为数学运算幂^,这样就可以这样写

\documentclass{article}
\usepackage{amsmath}
% \DeclareMathSymbol{`}{\mathbin}{symbols}{^}
\begin{document}
$3`2$
\end{document}

它显示 在此处输入图片描述

我本来想使用\DeclareMathSymbol{<symbol>}{<type>}{<sym-font>}{<slot>},但我不确定是否有插槽代码,因为^它是一个操作而不是一个符号。

我想避免使用,\newcommand因为否则我将不得不写3\`2才能获得权力。

无痛解决方案

安装轻量级程序 autohotkey,并创建脚本,代码如下

NumLock::
send {^}
return

^一旦运行,您可以通过按下数字键盘上的 Num Lock 键来打印插入符号。

您可以将 NumLock 更改为您想要的任何值,检查所有键的列表所有热键列表, 例如

MButton::     middle/wheel mouse button
^p::          ctrl+p
+p::          shift+p
F2::          F2

答案1

这一切都是真的不是不推荐,除非你真的知道自己在做什么和/或愿意承担后果。用猫先生的话来说,这是“危险的生活”,当有人打开盒子时,你可能会死 ;-)

\DeclareMathSymbol用于选择字体中的字形,该字形将用于在纸张上书写特定符号。上标在 TeX 中出现在更低的级别。通常,^具有类别代码(catcode)7,这是一个“上标标记”。这意味着每当 TeX 看到 时^,它都会创建一个上标。最简单的方法是将 a 的 catcode 更改`为 7 来实现此效果:

\documentclass{article}
\catcode`\`=7
\begin{document}
$3`2$ and some `quoted' text
\end{document}

但是,上面的代码会引发一个,Missing $ inserted因为现在这`是一个上标字符,它只能在数学模式下使用。您可以重新定义\`为表示“正常”(catcode 12)`字符:

\documentclass{article}
\renewcommand\`{`}
\catcode`\`=7
\begin{document}
$3`2$ and some \`quoted' text
\end{document}

然后您将无法写出重音符,例如D\'ej\`a vu(输出将是“Déj'a vu”)。此外,任何依赖于`catcode-12 标记的代码都将失败。

一个可能更好的选择是让`角色活跃起来仅有的在数学模式中并将其定义为上标标记:

\documentclass{article}
{\catcode`\`=\active
 \global\let`=^}
\mathcode`\`="8000
\begin{document}
$3`2$ and some `quoted' text
\end{document}

输出为:

在此处输入图片描述

但是同样,这可能会破坏某些依赖于`catcode 12 令牌的东西。

相关内容