我想将反引号符号声明`
为数学运算幂^
,这样就可以这样写
\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 令牌的东西。