Для моих уравнений 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)» в качестве стиля копирования.