無痛解決方案

無痛解決方案

我想將反引號聲明`為數學運算冪^,以便透過編寫

\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}

但是,上面的代碼會引發 a,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 令牌的東西。

相關內容