Group Abstract Group Abstract

Message Boards Message Boards

24
|
137K Views
|
12 Replies
|
36 Total Likes
View groups...
Share
Share this post:

LaTeX typesetting in Mathematica

Posted 12 years ago

Join the chat at https://gitter.im/MaTeX-help/Lobby GitHub (pre-)release Github All Releases Contributions welcome DOI


Hello everyone,

I wrote a package that makes it easy to insert LaTeX-typeset formulae in Mathematica notebooks, in particular in Mathematica graphics. I use this to create figures with high quality typesetting that fit well with the visual style of LaTeX documents.

Here's the package description and here's MaTeX.

Features of the package:

  • get LaTeX-typeset snippets as Mathematica Graphics expressions (convenient for a Mathematica-centric workflow)
  • the baseline is preserved so these snippets can be precisely aligned with each other or with Mathematica text
  • control over font size, magnification and display or inline styles
  • integrated documentation (open the documentation centre and search for "MaTeX")

Let me know what you think and whether you find it useful.

A quick demo:

Attachments:
POSTED BY: Szabolcs Horvát
12 Replies
POSTED BY: Murray Eisenberg

Let me give a fully general answer, in case others need this information too.

If you have MaTeX 1.6.1 or earlier (which does not use paclets), it is located in FileNameJoin[{$UserBaseDirectory, "Applications"}]. Navigate to that directory and delete the MaTeX directory within.

If you have MaTeX 1.6.2 or later, it uses the paclet system. It is not strictly necessary to uninstall earlier versions when upgrading. <<MaTeX` will always load the newest version that is installed.

To see which versions you have installed, use the command

versions = PacletFind["MaTeX"]

To uninstall a specific version, apply PacletUninstall to it. For example, to uninstall the second element returned in the versions list above, use

PacletUninstall[ versions[[2]] ]

To uninstall all versions of MaTeX at the same time, use

PacletUninstall["MaTeX"]

I do not usually delete the files in ~/Library/Mathematica/Paclets/ manually. I believe it is better to let the paclet manager do it.

Some of this information is available at the following locations:

POSTED BY: Szabolcs Horvát

Version 1.7.1 is now released. This is the recommended version for Mathematica 11.1 and later (although it is compatible with 10.0 and later).

User-facing changes since the 1.6 series:

  • Better documentation compatibility with recent versions of Mathematica
  • Expanded documentation
  • Improved compatibility with certain Linux systems

Please upgrade, and don't forget that the documentation can be accessed by going to Help ? Wolfram Documentation and entering MaTeX.

POSTED BY: Szabolcs Horvát

Version 1.6.2 is now released. Get it from the GitHub releases page.

The 1.6 series can compile a list of expressions using a single call to LaTeX, which is much faster than compiling them separately.

In 1.6.2 now the documentation integrates with Mathematica. Search for "matex" in the documentation center.

This release is distributed as a .paclet file. This means that the installation instructions have changed. Please see the README on GitHub. This is my first experiment with this distribution format, so any feedback is appreciated.

POSTED BY: Szabolcs Horvát

Version 1.5.0 is now released. Get it from the GitHub releases page, as usual.

This release has much improved error reporting. If you find any problems with it, please let me know.

Reminder: the package is documented in this blog post, which usually gets updated with every new release.

POSTED BY: Szabolcs Horvát
POSTED BY: Murray Eisenberg

Just a quick update to note that if people are getting AbsoluteFileName::fdnfnd messages with Mathematica 10.3 on Windows,

  • This is because you have directories in the system's [PATH environment variable](https://en.wikipedia.org/wiki/PATH_(variable)) that do not exist. This may happen when installing, then later uninstalling software that modifies the path. These directories can safely be removed from the path.

  • The message is harmless and shouldn't influence MaTeX.

  • The latest version of MaTeX avoids printing these messages.

POSTED BY: Szabolcs Horvát
POSTED BY: Gianluca Gorni
POSTED BY: Gianluca Gorni

Hi Gianluca,

You are right that in this case the output is almost identical, and Mathematica's math typesetting is pretty good, even if it lags behind that of LaTeX. LaTeX is of course the very best, and Mathematica is also very good compared to similar alternatives. A while ago I would not have written this package, it would have seemed like wasted time since Mathematica's typsetting should be at least good enough for most purposes ... However, the reality is that (1) I do not always set the standards myself, unfortunately, so in the past I was forced to add LaTeX-made labels in drawing programs sometimes ... (2) it's not always easy to type formulae in Mathematica; right now I type them in a text cell after pressing Ctrl-9 to start a math subcell, then copy them; otherwise the spacing around operators is not always correct (3) math symbols won't use the Latin Modern font, try e.g. "\!\(\*FormBox[\(\(\[ScriptCapitalN](x)\)~\(\[ScriptCapitalG](x)\)\), TraditionalForm]\)" (I haven't tried Latin Modern Math though!) (4) Mathematica occasionally has bugs, e.g. this in v10.0.2. Typesetting quality also tends to be affected when exporting to PDF.

My point is simply that the package grew out of a real practical need. I wanted to say this because a couple of years ago I may have considered this a useless exercise that won't add much to what Mathematica can already do.

I hope others will find it useful too!

I should also mention the MathPSFrag package which achieves similar results using PSFrag. I only discovered this after writing MaTeX ... yes, I should have googled first, not afterwards :-) I haven't tried using this package yet, so I can't comment on which is the most convenient approach.

POSTED BY: Szabolcs Horvát

Works like a charm. It's great for presentations at conferences and for teaching. Fantastic work!

Thanks a lot,

Marco

POSTED BY: Marco Thiel

Szabolcs, it looks great. Thanks for sharing!

POSTED BY: Bernat Espigulé
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard