Freeplane - латексный ввод
Поэтому я попытался найти интеллектуальное программное обеспечение с поддержкой латекса и наткнулся на Freeplane.
Довольно доволен этим, за исключением того, что я не могу понять, как заставить латексный ввод из файла работать.
Например, если я хочу включить такой код:
\textbf{$Alg_0$}
\begin{tabular}{cl}
0 & \text{initialisation of $Alg_0$} \\
1 & \text{do\ some\ first\ step}\\
2 & \text{...} \\
\end{tabular}
Я могу скопировать это на узел, и результат будет выглядеть как ожидалось (хотя необходимость в \text{}
раздражает).
Теперь для простоты написания / модификации, мне бы не хотелось каждый раз копировать его во Freeplane.
Freeplane утверждает, что это возможно, с \latexinput{}
команда, но "файл должен быть правильно сформированным XML-документом, поэтому вы должны иметь корневой тег и экранировать <,> и &"
Следуя их примеру, я добавляю теги doc и escape &:
<doc>
\textbf{$Alg_0$}
\begin{tabular}{cl}
0 & \text{initialisation of $Alg_0$} \\
1 & \text{do\ some\ first\ step}\\
2 & \text{...} \\
\end{tabular}
<doc>
сохранить это как alg_0.xml
в той же папке я положил .mm
файл и создать узел с
\latexinput{alg_0.xml}
Изменение его формата на LaTeX теперь будет отображать:
Ошибка установки текста для следующего ввода: \latexinput{alg_0.xml}.
Как мне решить это?
1 ответ
Быстрый ответ: Вы, вероятно, не хотите \latexinput{...}, который работает только для экспорта.
Что вы можете сделать, чтобы сохранить ввод латексного кода во Freeplane, это определить макрос (обычный синтаксис LaTeX с некоторыми ограничениями) в Preferences->Plugins->LaTeX->Common LaTeX Macros [1]. Для вашего примера это работает:
\newcommand{\exampleTable}{
\textbf{$Alg_0$}
\begin{tabular}{cl}
0 & \text{initialisation of $Alg_0$} \\
1 & \text{do\ some\ first\ step}\\
2 & \text{...} \\
\end{tabular}
}
(конечно, вы можете использовать параметры)
-> вставить в текстовое поле в Предпочтения-> Плагины->LaTeX. -> использовать \exampleTable в ваших узлах
Как работает \latexinput{...}?
отсюда [2]: "Если ваш узел соответствует шаблону \latexinput{}, то Freeplane включит данный файл в заданную позицию в экспорте LaTeX. Обратите внимание, что экспорт не удастся, если документ не может быть прочитан".
-> Идея в том, что наша (превосходная!) Библиотека LaTeX (jlatexmath) может обрабатывать только формулы, и вы можете использовать \latexinput{}, чтобы включить LaTeX, который jlatexmath не сможет проанализировать в вашей карте, которая будет обрабатываться латексом (вход / книга / статья) только экспорт.
Причина, по которой вы получаете эту ошибку: Ошибка установки текста для следующего ввода: \latexinput{alg_0.xml}. в том, что jlatexmath не может разобрать это. Используйте узел (без префикса \ latex) с Format=Unparsed LaTeX. Это заставит freeplane игнорировать узел, но это будет частью экспорта.
Однако в Freeplane 1.5.x права доступа более ограничены, поэтому вы получите "Следующая операция с файлом запрещена: Читать /home/felix/src/alg_0.xml".
Я создал пост для этого [3], и я думаю, что он будет исправлен в 1.5.x.
Скажите, пожалуйста, можно ли улучшить документацию в вики (я также могу дать вам права на вики).
[1] http://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane
[2] http://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane
Приветствия и наилучшие пожелания, Феликс