144 lines
4.8 KiB
Plaintext
144 lines
4.8 KiB
Plaintext
|
#!/bin/sh
|
|||
|
################################################################################################
|
|||
|
##
|
|||
|
## Nom: compile_latex
|
|||
|
##
|
|||
|
## Licence: Creative Commons
|
|||
|
##
|
|||
|
## Comportement: Compilation d'un fichier tex, suppression des fichiers temp et affichage du pdf
|
|||
|
##
|
|||
|
##
|
|||
|
##
|
|||
|
################################################################################################
|
|||
|
##
|
|||
|
## Date de création: 26/01/2011
|
|||
|
##
|
|||
|
## Auteur: Gardouille
|
|||
|
##
|
|||
|
##
|
|||
|
## Dernière modifications:
|
|||
|
## 27/01/2011: - Ajout de la possibilité de choisir entre supprimer/déplacer fichiers temp
|
|||
|
##
|
|||
|
# **********************************************************************************************
|
|||
|
## Modifications à apporter:
|
|||
|
## - Faire une gestion en fonction du nombre d'argument
|
|||
|
## - Découper le programme principal en différentes fonctions
|
|||
|
## -
|
|||
|
# **********************************************************************************************
|
|||
|
##
|
|||
|
##
|
|||
|
##
|
|||
|
################################################################################################
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# **********************************************************************************************
|
|||
|
#
|
|||
|
# Variables globales
|
|||
|
#
|
|||
|
# -----------------------------------------------------------
|
|||
|
# Variable qui permet d'indiquer si il faut supprimer les fichiers temporaires
|
|||
|
# 0 = suppression
|
|||
|
rm_file="0"
|
|||
|
|
|||
|
# Variable qui permet d'indiquer si il faut déplacer les fichiers temporaires dans un sous dossier au nom du fichier à compiler
|
|||
|
# 0 = déplacer
|
|||
|
mv_file="1"
|
|||
|
|
|||
|
# Fin des variables globales
|
|||
|
# -----------------------------------------------------------
|
|||
|
# **********************************************************************************************
|
|||
|
|
|||
|
|
|||
|
# **********************************************************************************************
|
|||
|
#
|
|||
|
# Fichiers globaux
|
|||
|
#
|
|||
|
# -----------------------------------------------------------
|
|||
|
#
|
|||
|
log="`pwd`/compile.log"
|
|||
|
# Fin des fichierss globaux
|
|||
|
# -----------------------------------------------------------
|
|||
|
# **********************************************************************************************
|
|||
|
|
|||
|
|
|||
|
# **********************************************************************************************
|
|||
|
#
|
|||
|
# Fonctions globales
|
|||
|
#
|
|||
|
# -----------------------------------------------------------
|
|||
|
# Divers echos ...
|
|||
|
echoi() { echo " (ii) $*" >> "${log}" ; }
|
|||
|
echok() { echo " (ok) $*" >> "${log}" ; }
|
|||
|
echow() { echo " (!!) $*" >> "${log}" ; }
|
|||
|
echnk() { echo " (EE) $*" >> "${log}" ; }
|
|||
|
|
|||
|
# Fin des fonctions globales
|
|||
|
# -----------------------------------------------------------
|
|||
|
# **********************************************************************************************
|
|||
|
|
|||
|
|
|||
|
|
|||
|
# **********************************************************************************************
|
|||
|
#
|
|||
|
# Programme principale
|
|||
|
#
|
|||
|
# -----------------------------------------------------------
|
|||
|
|
|||
|
# Suppression du fichier de log si présent:
|
|||
|
[ -f "${log}" ] && rm -f "${log}"
|
|||
|
|
|||
|
case "$1" in # gestion du premier argument
|
|||
|
*.tex ) # Si le premier argument est bien un fichier .tex
|
|||
|
# On vérifie que le fichier existe bien:
|
|||
|
[ ! -f "$1" ] && echo "Erreur, le fichier passé en paramètre n'existe pas. Vérifier son orthographe et son emplacement, merci." && exit 1
|
|||
|
# On récupère le nom du fichier:
|
|||
|
file=`echo "$1" | sed -e "s/.tex//g"`
|
|||
|
|
|||
|
# On compile le document en pdf en rediregeant la sortie standart et les erreurs vers le fichier de log
|
|||
|
pdflatex "$1" > "${log}" 2>> "${log}"
|
|||
|
if [ $? -eq "0" ] # Si la compilation s'est bien déroulée
|
|||
|
then
|
|||
|
echo "Compilation terminée sans erreur"
|
|||
|
else
|
|||
|
echo "Il y a eu un problème lors de la compilation, veuillez prendre note du fichier de log: ${log}"
|
|||
|
echo "Il y a également les fichiers crées pendant la compilation qui pourront vous aider."
|
|||
|
exit 2
|
|||
|
fi
|
|||
|
|
|||
|
if [ ${rm_file} -eq "0" ] # Si il faut supprimer les fichiers temp
|
|||
|
then
|
|||
|
# Suppression des fichiers temporaires crées pour la compilation:
|
|||
|
rm -rf "${file}".aux "${file}".log >> "${log}" 2>> "${log}"
|
|||
|
elif [ ${mv_file} -eq "0" ] # Si il faut déplacer les fichiers temp
|
|||
|
then
|
|||
|
# Nouveau dossier au nom du fichier à compiler
|
|||
|
mkdir "${file}"
|
|||
|
# Déplacer les fichiers temporaires
|
|||
|
mv "${file}".aux "${file}".log "${file}"/
|
|||
|
fi
|
|||
|
|
|||
|
# Affichage du pdf:
|
|||
|
evince "${file}".pdf &
|
|||
|
|
|||
|
echo "good"
|
|||
|
exit 0
|
|||
|
;;
|
|||
|
h|help ) # Si une l'aide est demandée
|
|||
|
echo "Aide en cours de rédac =)"
|
|||
|
exit 0
|
|||
|
;;
|
|||
|
* ) # Sinon
|
|||
|
echo "Erreur. Utilisation:"
|
|||
|
echo "compile_latex fichier.tex"
|
|||
|
exit 1
|
|||
|
;;
|
|||
|
esac
|
|||
|
|
|||
|
exit 0
|
|||
|
|
|||
|
# Fin de la boucle principale
|
|||
|
# -----------------------------------------------------------
|
|||
|
# **********************************************************************************************
|
|||
|
|