I just wrote a simple shell script to save a LaTeX expression as a PNG file. It works fine, except for the LaTeX-syntax for "next row", i.e. the double backslash \\.
When for instance my input expression is like this:
\left( \begin{array}{cc}1 & 2\\ 3 & 4\end{array} \right)
The double backslash is reduced to a single one. I know I can add more backslashes in my expression, but I want those expressions to be genuine LaTeX, not some weird LaTeX-bash combination.
My script:
#!/bin/bash
if [ $# -ne 2 ]; then
echo -e "Er moeten twee argumenten worden opgegeven:\n(1) LaTeX code\n(2) Bestandsnaam zonder extensie"
else
SaveDir="/home/pieter"
echo "\documentclass{article}\usepackage[utf8x]{inputenc}\pagestyle{empty}\begin{document}\[ $1 \]\end{document}" > /tmp/$2.tex
latex -output-directory /tmp -interaction=batchmode $2.tex
dvips -o /tmp/$2.ps -E /tmp/$2.dvi
convert -units PixelsPerInch -density 200 /tmp/$2.ps -trim $SaveDir/$2.png
fi
So, how can I ignore the escape characters and literally print my LaTeX expression? Preferably without using sed.