[nought] [james] [xpilot] [egbt] [tex2im] [mail]

tex2im - the latex to pixmap converter

Tex2im is a simple tool that converts LaTeX formulas into high resolution pixmap graphics for inclusion in text processors or presentations. I encountered the problem that the formulas generated by the editors of common office packages usually were the ugliest part of my scientific presentations; on the other hand I didn't want to use latex for my transparencies. On the latex side I'm aware of the slitex and foiltex packages, nevertheless I consider them to be masochistic. EPS import can be nice, but commonly you get either display or printing problems. Also, often its nice just to copy formulas out of you latex documents.

With tex2im you can write files containing only the formula in latex mathmode and transform them to many different graphic formats. latex2html can do something similar, but only on whole documents. This is the direct solution.

Changes:

Version 1.8: Support for non-formula mode and eps-graphics, bugfix for eqnarray formulas
Version 1.7: Tex2im can now process multiple files
Version 1.6: Removed necessity of generating an input file
Version 1.5: Transparency support, antialias selectable
Version 1.4: Support for extra header lines and user specific default settings
Version 1.3: Fixed incompabilities with older versions of bash and convert
Version 1.2: Fixed tempfile problems on Solaris and Redhat
Version 1.0: Initial release

Examples:

Generate a file, called "formula1.tex", containing the following:

\psi_{tot}(x,-t_0,r) = \frac{1}{(2\pi)^2} \int\!\!\!\int
\tilde\Psi_{tot}\left(k_x,\frac{c}{2}\sqrt{k_x^2 + k_r^2},r=0\right)

Note that you should not put any \begin{document} or in the file. Just plain latex mathmode code is required.

Then type on the command line:

> tex2im formula1.tex

And you'll get a file "formula1.png" which has the following content:

You can also use color. Generate a file "formula2.txt", containing the following:

[C_3] = {\color{red} \langle \vec k_{3L} \vec k_{3L}^{\:\adj} \rangle }=
\left[ \begin{array}{rrrr}
S_{11} & S_{21} & S_{31} \\
S_{12} & S_{22} & S_{32} \\
S_{13} & S_{23} & S_{33} \end{array} \right]

Then type on the command line:

> tex2im -b yellow -t blue formula2.tex

And you'll get this:

Finally, you can use tex2im without input file by specifying the latex-code directly on the command line:

> tex2im "\sum_{i=0}^5 x_i^2"

generates a file "out.png" in the local directory (as long as you dont specify another output filename), containing:

Usage:

tex2im [options] inputfile

The content of input file should be plain latex mathmode code!
Alternatively, a string containing the latex code can be specified.

Options:

 -v show version -h show help -o file specifies output filename, default is inputfile with new extension -f expr specifies output format, possible examples: gif, jpg, tif...... all formates supported by "convert" should work, default: png -r expr specifies desired resolution in dpi, possible examples: 100x100, 300x300, 200x150, default is 150x150 -b expr specifies the background color default: white -t expr specifies the text color default: black -x file file containing extra header lines of latex. default: ~/.tex2im_header -z transparent background default: off -n no-formula mode (do not wrap in eqnarray* environment) default: off -a change status of antialiasing default is on for normal mode and off for transparent mode

For user specific default values, tex2im reads the file '.tex2imrc' in your home-directorty. To change a value, put inside one or more of the following 5 commands:

resolution="150x150"
format="png"
color1="white"
color2="black"
trans=0
aa=1

The transparency implementation of imagemagic has some problems in combination with antialiasing. Therefore, by default, antialiasing is off in transparent mode. If you switch it on via the -a flag you can expect pixels with something between background and text color around the letters. This can look good if the background used in tex2im and the one of your document are identical, but also very bad if this is not the case. True antialising with transparency seems not to be possible. Just play around a bit to find the optimal settings.