#!/bin/bash # Copyright (C) 2004 Otávio Corrêa Cordeiro # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Otávio Corrêa Cordeiro # otaviocc@turing.unisinos.br ConverTeX_latex=latex ConverTeX_dvips=dvips ConverTeX_convert=convert ConverTeX_density=320 ConverTeX_class=article ConverTeX_version="1.1" function IsOK () { if [ "$?" = "0" ] then echo -e "Status: \033[0;31mOK\033[0m" else echo -e "Status: \033[0;31mFail\033[0m" echo -e "Status: \033[0;31mAborting ...\033[0m" rm -f tmpConverTex* exit; fi } function getHelp () { echo "Use: ConverTeX [OPTIONS]..." echo "" echo "OPTIONS:" echo " --equation, -e 'equation' (w. single quotes) Convert" echo " --version, -v Version" echo " --help, -h This Help" } function Parser_ConverTeX () { Parser_ConverTeX_str=`echo -E $* | \ sed 's/\\\\f/\\\\\\\\\\\\\\\\\\\\\\\\f/g' | \ sed 's/\\\\v/\\\\\\\\\\\\\\\\\\\\\\\\v/g' | \ sed 's/\\\\e/\\\\\\\\\\\\\\\\\\\\\\\\e/g' | \ sed 's/\\\\r/\\\\\\\\\\\\\\\\\\\\\\\\r/g' | \ sed 's/\\\\c/\\\\\\\\\\\\\\\\\\\\\\\\c/g' | \ sed 's/\\\\t/\\\\\\\\\\\\\\\\\\\\\\\\t/g' | \ sed 's/\\\\n/\\\\\\\\\\\\\\\\\\\\\\\\n/g' | \ sed 's/\\\\b/\\\\\\\\\\\\\\\\\\\\\\\\b/g'` } function criaArquivo_ConverTeX () { ConverTeX_corpotex="\\documentclass{$ConverTeX_class}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\usepackage{amsmath}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\usepackage{amsfonts}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\usepackage{amssymb}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\usepackage{cancel}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\pagestyle{empty}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\begin{document}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\begin{displaymath}\n" ConverTeX_corpotex=$ConverTeX_corpotex"$*\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\end{displaymath}\n" ConverTeX_corpotex=$ConverTeX_corpotex"\\\end{document}\n" } function criaImagem_ConverTeX (){ Parser_ConverTeX $* criaArquivo_ConverTeX $Parser_ConverTeX_str echo -e "Creating TeX / Criando estrutura TeX..." echo -e $ConverTeX_corpotex > tmpConverTex.tex $ConverTeX_latex --interaction=nonstopmode tmpConverTex.tex > /dev/null IsOK echo -e "Compiling / Compilando..." $ConverTeX_dvips tmpConverTex.dvi -o tmpConverTex.ps 2>&- IsOK echo -e "Converting / Convertendo..." $ConverTeX_convert -density $ConverTeX_density -trim -transparent "#FFFFFF" tmpConverTex.ps tmpConverTeX.png IsOK set $(date +%j%H%M%S) mv tmpConverTeX.png equation$1.png rm -f tmpConverTex* echo -e "Done / Feito! (equation$1.png)" } until [ -z "$1" ]; do case $1 in --equation|-e ) shift criaImagem_ConverTeX $* ;; --help|-h ) getHelp exit 0 ;; --version|-v ) echo -e "ConverTeX v.$ConverTeX_version" echo -e "by Otavio Correa Cordeiro" exit 0 ;; -*) echo "Unrecognized option $1" exit 1 ;; esac shift if [ "$#" = "0" ]; then break fi done #################################################################