对于我的 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)”作为您的复制样式。