在任何版本的 Microsoft Word 中,是否可以為重複出現的數學運算式定義捷徑? (最好是在需要時允許一次更新所有事件的方式)
例如,在量子力學中,循環結構是狀態符號|ψ⟩
* 和⟨ψ|
。根據上下文,更複雜的結構可能會重複出現,例如χ⁽²⁾
。在 LaTeX 中,我用來\newcommand
定義快捷方式,通常是參數化的。
儘管自舊版Word 以來發生了許多變化,但從理論上講,這將使其成為科學寫作的可行替代方案(或至少在某些實體只接受MS Word 文件時可行),定義此類「宏」的能力對我來說至關重要。 MS Word 現在支援這樣的東西嗎?
為了創造重複結構,我會使用 AutoHotKey。然而,Word 內部解決方案可能會提供更多功能和便利性。
*編輯*我指的是特別參數化的結構,即相當於\newcommand{\ket}[1]{|#1\rangle}
.
*我在這裡使用了可能並非所有系統都支援的 unicode 符號。等效的乳膠代碼依此順序為:|\psi\rangle
、\langle\psi|
和\chi^{(2)}
。
答案1
通常的方法是使用自動更正,如本頁底部所述:http://office.microsoft.com/en-us/word-help/auto Correct-spelling-and-insert-text-and-symbols-HA010354277.aspx
本質上,您可以定義一個等效文本,Word 將自動替換一個符號或一組符號。例如:
若要在最新版本的 Word 中新增自動更正項目:
點擊左上角的“Office”按鈕,然後點擊“Word 選項”按鈕
按一下左側清單中的“校對”,然後按一下“自動修正選項”按鈕。
按一下「數學自動修正」標籤並檢查該條目是否已存在。
如果清單中尚未包含,請在左側方塊中輸入您要使用的文本,例如我在螢幕截圖中輸入的「|Y)」。在右側方塊中輸入符號,然後按一下「新增」按鈕。
- 確定,返回文檔。
現在,每次您鍵入左側文字時,它都會被右側條目取代。
答案2
現在是(2022年)有點可能的。 「參數化」是透過對話框完成的。
以下是一個簡單的「Create Bra|Ket」對話方塊範例,其中包含四個控制項:一個用於輸入自訂 LaTeX 字串的文字方塊; “Bra”和“Ket”命令按鈕將其轉換為 LaTeX 中的其他內容並將它們附加到選擇中;和“建立方程式”命令按鈕,用於將選擇轉換為方程式編輯器物件。
第一張圖顯示了按下「Bra」按鈕後的對話方塊和文件。
為了允許額外的處理,我不會自動將選擇轉換為方程式。例如,如果接下來插入“ket”,則底層程式碼會合併兩個垂直條(在“bra”的末尾和“ket”的開頭):
現在,「製作方程式」命令按鈕會將其轉換為方程式編輯器物件:
下面的程式碼並不是萬無一失的——它只是演示了概念證明。
第一個子程序是關鍵:這兩行將選擇內容轉換為方程式編輯器對象,然後解析 LaTeX 字串。當“Make Equation”按鈕(又名 CommandButton1
)被點擊:
Private Sub Text2Equation()
Selection.OMaths.Add Range:=Selection.Range
Selection.OMaths.BuildUp
End Sub
剩下的只是對話框代碼。 這就是 TeX 宏透過字串連接的方式實現的地方。事件程式碼Click()
示範了您可以使用文字進行計算,根據需要對其進行修改,以從輸入到對話方塊的材料中建立您想要的任何自訂 LaTeX 字串。
Private Sub CommandButton_Ket_Click()
Dim s As String
s = Trim(Selection.Text)
If Len(s) > 0 Then
If Mid(s, Len(s), 1) = "|" Then
Selection.InsertAfter Text:=Bra_Ket.TextBox1.Text & "\rangle_^*"
Else
Selection.InsertAfter Text:="|" & Bra_Ket.TextBox1.Text & "\rangle_^*"
End If
End If
End Sub
Private Sub CommandButton_Bra_Click()
Selection.InsertAfter Text:="\langle " & Bra_Ket.TextBox1.Text & "|"
End Sub
Private Sub CommandButton1_Click()
Text2Equation
End Sub
這種方法有點複雜——比編寫 LaTeX 命令巨集複雜得多——但一旦你完成了這麼多工作,它就很容易擴展。為最喜歡的巨集創建單獨的小對話框或搜尋和替換材料(警告:我不知道如何搜尋方程式編輯器物件並懷疑它可能不可能)。或者,建立一個怪物對話框以從選項清單中進行選擇。