對於我的 LaTeX 方程,我使用 Mathtype 將方程複製為 TeX 程式碼的出色功能。當我想要在 LaTeX 中編號方程式並且還想在 Mathtype 中輸入方程式而不是直接在 TeX 語言中輸入方程式時,我的小問題就出現了。
當我從 Mathtype 複製/貼上方程式時,它會顯示為:
\[{a^2} + {b^2} = {c^2}\]
或者
$${a^2} + {b^2} = {c^2}$$
取決於 Mathtype 中的複製設定。
然而,在我的文件中,我將把這個方程式包裝在方程式環境中(以獲得編號),如下所示:
\begin{equation}
{a^2} + {b^2} = {c^2}
\label{eq:abc}
\end{equation}
我必須手動刪除\[ \]
或 ,$$
因為它們不屬於方程式環境。 TeXShop 是否有可能偵測到這些符號貼上時自動刪除它們或將它們替換為\begin{equation}
和\end{equation}
?
因此,如果我只是粘貼\[
它,則會將其替換為\begin{equation}
.
我知道這個問題本身(太)具體,但如果存在解決方案,它可以適用於人們可能擁有的其他複製/貼上儀式。
編輯:
我在 Mountain Lion 的文字替換工具中找到了幾乎符合我需求的解決方案。
- 首先在系統偏好設定中啟用符號和文字替換。
- 將其配置為
\[
替換為\begin{equation}
並\]
替換為\end{equation}
。 - 將公式從 Mathtype 複製/貼上到 TeXShop 文件中。
- 在編譯程式碼之前,右鍵單擊文件中的某處並轉到
Substitutions -> Show Substitutions
:
- 將開啟以下視窗:
檢查
Text Replacements
並按一下Replace All
。 - 編譯文檔。
但是,這不會自動替換貼上的符號,並且需要額外的步驟。所以我還在尋找一種「貼上時間」的方法。
答案1
很簡單,將以下檔案儲存為「Latex (Texshop).tdl」到「translator」資料夾中。
MathType Output Translator 1.0: "Latex (Texshop)", "Daniel Wei 2013", language
include "LaTeX (base vars).tdl";
// redefinitions of base variables
var/"TranslatorName" = "Latex (Texshop)";
var/"TranslatorFileName" = "Latex (Texshop).tdl";
var/"BeginMathDisplay" = "\begin{equation}\label{}@n";
var/"EndMathDisplay" = "@n\end{equation}";
include "LaTeX (base rules).tdl";
然後在 Mathtype 首選項中,只需選擇「Latex (Texshop)」作為複製樣式。