回收前幾行的數學表達式

回收前幾行的數學表達式

我突然想到,在輸入 TeX 文件時,我花了大量時間來複製和貼上前幾行計算中的表達式。如果我在該表達式中犯了錯誤,那麼我必須仔細檢查以下所有行並進行更新。

有沒有一種方法可以將數學表達式分配給某種符號,這樣我就可以簡單地將表達式匯入到頁面下方的數學模式環境中,而不必重複自己。渲染文件後,這看起來與將表達式的 TeX 程式碼從一行複製並貼上到下一行完全相同。

每當我有一個必須一遍又一遍重複的公共子表達式時,這將非常有用。如果我犯了一個錯誤,我可以簡單地修改數學表達式的原始版本,它會更新以下所有方程式。

答案1

你問,

有沒有一種方法可以將數學表達式分配給某種符號,這樣我就可以簡單地將表達式匯入到頁面下方的數學模式環境中,而不必重複自己?

您的貼文聽起來好像您可以從獲得如何建立和使用 LaTeX 巨集的工作知識中受益匪淺。這些巨集幾乎可以在 LaTeX 文件中的任何位置定義和重新定義。 (好吧,我想在 後定義它們是沒有意義的\end{document},對吧?)創建巨集\newcommand不僅限於文件的序言——儘管通常有很好的理由傾向於將巨集定義放在序言中...

附錄:正如 @egreg 在評論中指出的那樣,\newcommand在後面添加指令的一個(可能是意外且非常不受歡迎的)副作用\begin{document}是,必須小心不要無意中插入空格字符,因為這些字符可能會影響TeX 的間距,甚至影響TeX 的間距。為了防止 TeX 在指令末尾插入空格\newcommand,請確保以%(註釋)字元終止它。

我會讓你猜猜下面的測試文件會產生什麼。

\documentclass{article}
\begin{document}
Hello World.
\newcommand\CommonTerm{a^2+b^2}% <-- note the comment character
\[
\CommonTerm \quad \sqrt{\CommonTerm} \quad -\ln(\CommonTerm)
\]
\end{document}

另外,為了完整起見:事實上,有一些與數學相關的定義活動必須出現在序言中。例如,如果您想使用\DeclareMathOperator(由包提供amsmath),您必須請在序言中這樣做。

相關內容