Difference between revisions of "LaTeX in Freeplane"

From Freeplane - free mind mapping and knowledge management software
(LaTeX Text+Formulae in Freeplane 1.3.x)
("Unparsed LaTex" (LaTeX for Export))
Line 27: Line 27:
  
 
== "Unparsed LaTex" (LaTeX for Export) ==
 
== "Unparsed LaTex" (LaTeX for Export) ==
 +
JLaTeXMath, the component used by Freeplane for rendering LaTeX, is focused on math and thus does not support i.e. itemize or enumerate and more.
 +
However, some people want to export complete LaTeX documents, including code not supported by JLaTeXMath, and if you try to use
 +
unsupported LaTeX in LaTeX nodes (Format=LaTeX or node prefix "\latex"), then this will be correctly exported but you will get ugly error boxes in Freeplane.
  
 +
In order to solve this, we have added Format="Unparsed LaTeX" (translation may be different) and the node prefix "\unparsedlatex" (for symmetry, will not be translated).
 +
Nodes designated like this will use LaTeX syntax highlighting and will be exported correctly, but will not be rendered with JLaTeXMath.
 +
 +
== Including LaTeX content from file system ==
  
 
== Combination of LaTeX and Groovy formulas==
 
== Combination of LaTeX and Groovy formulas==

Revision as of 09:28, 22 March 2014

Freeplane 1.2.x supports LaTeX formulae in boxes underneath nodes while Freeplane 1.3.x deprecates those boxes and adds LaTeX directly to node contents. Please see the relevant subsections below.

Thanks to the excellent JLaTeXMath!

LaTeX Text+Formulae in Freeplane 1.3.x

Freeplane LaTeX.jpg
  • LaTeX text is displayed inline in node content (as opposed to underneath nodes in 1.2.x)
  • You can tell Freeplane to treat a node as LaTeX text by either:
    • using a "\latex " prefix ("\latex" + <space or newline>)
    • View->Properties panel, then Core text->Format->LaTeX
  • By default the LaTeX interpreter is in text mode, so you need to use $...$ for (inline) formulae
  • Automatic linebreaks are supported
  • The editor supports LaTeX syntax highlighting

Example:

 \latex my formula: $x_2=\frac{1}{2}$

Commmon/global LaTeX Macros

Starting with 1.3.5_05, Freeplane has a textbox in preferences->Plugins->LaTeX that allows you to enter code (usually macros) that will be inserted into every LaTeX node before the actual node content. Be aware though, that using this means that your map will only be readable by someelse if he/she also includes the macros in his/her config!

"Unparsed LaTex" (LaTeX for Export)

JLaTeXMath, the component used by Freeplane for rendering LaTeX, is focused on math and thus does not support i.e. itemize or enumerate and more. However, some people want to export complete LaTeX documents, including code not supported by JLaTeXMath, and if you try to use unsupported LaTeX in LaTeX nodes (Format=LaTeX or node prefix "\latex"), then this will be correctly exported but you will get ugly error boxes in Freeplane.

In order to solve this, we have added Format="Unparsed LaTeX" (translation may be different) and the node prefix "\unparsedlatex" (for symmetry, will not be translated). Nodes designated like this will use LaTeX syntax highlighting and will be exported correctly, but will not be rendered with JLaTeXMath.

Including LaTeX content from file system

Combination of LaTeX and Groovy formulas

Here's how to format formula results as LaTeX:

  1. Set node format to LaTeX.
  2. Let your formula generate LaTeX code.

Example (copy 'n paste it into a map)

 ="\\LaTeX: \$\\sum_{children} = ${children.sum(0)}\$"
   2
   3
   4

Note that LaTeX symbol '\' has to be doubled in a double quoted string and that a $ have to be escaped with a single '\' to prevent Groovy from interpreting it as the prefix of a variable.

Known Problems

  • Array environments are maximized on the maximum node width
  • align=right and align=center does not work well
  • The syntax highlighting editor has problems with some unicode/chinese characters. If you experience this, turn off the editor in prefs->Plugins->LaTeX (Freeplane will then use the normal editor for LaTeX).

Feedback

Please give us feedback on the 1.3.x solution:

  • How do you like the ways to treat a node as LaTeX?
  • What do you think about the way we deprecate the 1.2.x formulae?
  • Are you missing a feature in JLaTeXMath or JLaTeXMath integration?
  • How do you like the syntax highlighting?

LaTeX Formulae in Freeplane 1.2.x

This type of LaTeX formulae in Freeplane is deprecated in Freeplane 1.3.x (the formula boxes will still be displayed and can be edited but you can't add new boxes)! Please see the 1.3.x section above if you're using Freeplane 1.3.x.

  • you can add a LaTeX formula to a node by running Edit->Node Extensions->Add LaTeX formula...
  • you can edit a LaTeX formula related to a node by running Edit->Node Extensions->Edit LaTeX formula...
  • you can remove a LaTeX formula by selecting Edit->Node Extensions->Remove LaTeX formula OR by using Edit->Node Extensions->Edit LaTeX formula... and specifying an empty text.
  • by default the LaTeX interpreter is in math mode
  • does not support automatic linebreaks

Example:

x_2=\frac{1}{2}