2016-07-29 6 views
0

Итак, я попытался найти программное обеспечение для отображения разума с поддержкой латекса и наткнулся на Freeplane.Freeplane - latexinput

Довольно довольны этим, за исключением того, что я не могу понять, как сделать латексный вход из файла.

E.g. если я хочу, чтобы включить такой код:

\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 claims that's possible с \latexinput{} команды, но «файл должен быть хорошо сформированный XML-документ, поэтому вы должны иметь корневой тег и избежать <,> и &»

следуя их примеру, добавить документ теги и избежать &:

<doc> 
\textbf{$Alg_0$} 
\begin{tabular}{cl} 
    0 &amp; \text{initialisation of $Alg_0$} \\ 
    1 &amp; \text{do\ some\ first\ step}\\ 
    2 &amp; \text{...} \\ 
\end{tabular} 
<doc> 

сохранить это как alg_0.xml в той же папке, я поместил файл .mm и создать узел с

\latexinput{alg_0.xml} 

меняет свой формат в LaTeX теперь будет отображаться:

Error setting the text for the following input: \latexinput{alg_0.xml}.

Как решить эту проблему?

ответ

1

быстрый ответ: вы, вероятно, не хотите \ latexinput {...} который только работает для экспорта.

Что вы можете сделать, чтобы сохранить печатая латекса код в Freeplane является определить макросъемки (обычный синтаксис LaTeX с некоторыми ограничениями) в Настройки- > Plugins-> LaTeX-> Общие LaTeX Макросы [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} 
} 

(конечно, вы можете использовать параметры)

-> вставить в текстовое поле в Настройки-> Plugins-> LaTeX. -> use \ exampleTable в ваших узлах

Как работает \ latexinput {...}?

здесь [2]:. «Если узел соответствует шаблону \ latexinput {} затем Freeplane будет включать данный файл в данной позиции в экспорте LaTeX Обратите внимание, что экспорт будет выполнена, если в документе не может быть .

-> Идея заключается в том, что наш (отлично!) LaTeX библиотека (jlatexmath) может обрабатывать только формулы, и вы можете использовать \ latexinput {} включить LaTeX, что jlatexmath не удается разобрать в вашей карте который будет обрабатываться латексом (вход/книга/статья) только экспорт.

Причина, по которой вы получаете эту ошибку: Ошибка при настройке текста для следующего ввода: \ latexinput {alg_0.xml}. - это то, что jlatexmath не может разобрать это. Используйте узел (без префикса \ latex) с форматом = 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#Commmon.2Fglobal_LaTeX_Macros

[2] http://www.freeplane.org/wiki/index.php/LaTeX_in_Freeplane#Including_LaTeX_content_from_file_system

[3] http://freeplane-developer.996965.n3.nabble.com/Permission-problem-when-Including-LaTeX-content-from-file-system-tt973.html

Приветствия и наилучшими пожеланиями, Felix

+0

Проблема разрешения с \ latexinput {...} является зафиксировано в свободной плоскости 1.5.14. –

 Смежные вопросы

  • Нет связанных вопросов^_^