script shell pour compilation latex - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 08-02-2008 à 14:14:43
choinul a écrit : Je travaille sous linux, je cherche à écrire un script shell permettant d'effectuer les différentes instructions de latex en une ligne. |
Très bonne initiative. Je vois trop de collègues se prendre la tête à toujours taper les instructions à la main alors qu'un simple script peut automatiser tout ça.
Une autre méthode (plus puissante que le shell-script à mon avis) est le Makefile. Si tu as quelques notions de makefile, tu peux avantageusement passer à ce système je pense.
choinul a écrit : Le problème avec ce code, c'est que lorsque j'ai une erreur de compilation du latex, il exécute tout de même la suite de programme, et ça prend du temps... |
Deux solutions :
1- tu mets un switch -e à l'exécution de ton shell, pour que le script s'arrête dès qu'une instruction plante.
2- tu écris un truc du genre :
latex $1 \ |
Marsh Posté le 08-02-2008 à 14:25:34
Merci beaucoup franceso pour cette réponse rapide.
J'ai donc fait le code suivant qui fonctionne très bien :
Code :
|
En ce qui concerne le makefile, si tu as un exemple qui fonctionne bien, je suis preneur! (j'ai quelques notions mais ça me paraissait plus facile à mettre en place en shell)
Marsh Posté le 08-02-2008 à 14:36:14
Quand tu plus de 2-3 commandes à enchainer il est quand même plus simple de sortir en cas d'erreur que d'enchainer les && :
latex $1 || exit |
Marsh Posté le 08-02-2008 à 14:47:15
Pour mes gros projets, j'ai mis au point un système qui recompile juste le nombre de fois qu'il faut :
- Makefile : le makefile qui fait le boulot
- makedepend.pl : un script perl qui détermine les dépendances de ton latex (pour savoir si on doit recompiler ou non).
Chez moi, ça marche bien... mais je n'ai jamais testé ailleurs alors ça pourrait bien foirer. (et je ne prétends pas avoir fait un truc propre ; au départ c'est juste pour mon usage perso... donc soyez indulgents )
Marsh Posté le 08-02-2008 à 14:51:08
matafan a écrit : Quand tu plus de 2-3 commandes à enchainer il est quand même plus simple de sortir en cas d'erreur que d'enchainer les && :
|
Oui, c'est vrai, c'est plus propre! Merci.
Marsh Posté le 08-02-2008 à 14:54:38
franceso a écrit : Pour mes gros projets, j'ai mis au point un système qui recompile juste le nombre de fois qu'il faut : |
Merci pour ces exemples, il va falloir que je les regarde de plus près car il faut que je lance ma compilation en paysage pour ma présentation beamer.
En tout cas, c'est plus compliqué que le simple script shell. Mais c'est vrai que sur des gros projets, ça peut faire gagner du temps.
Marsh Posté le 08-02-2008 à 15:01:28
choinul a écrit : |
Normalement, tu n'as pas trop besoin de regarder ce qu'il y a à l'intérieur du Makefile : le fait que ce soit du beamer ou autre ne change rien à la compilation...
Marsh Posté le 08-02-2008 à 15:03:53
Pour les doc pas trop long j'utilise un Makefile très con, qui fait 3 fois pdflatex
FILE=file.pdf |
J'en ai un plus intelligent en stock, à l'occasion je regarderai
Marsh Posté le 08-02-2008 à 15:12:12
En fait, je ne peux pas utiliser pdflatex car j'utilise des figures .eps et ça plante en général...
Marsh Posté le 08-02-2008 à 13:59:00
Bonjour à tous,
Je travaille sous linux, je cherche à écrire un script shell permettant d'effectuer les différentes instructions de latex en une ligne. J'ai fait un truc simple avec en paramètre le nom du fichier latex sans son extension :
Le problème avec ce code, c'est que lorsque j'ai une erreur de compilation du latex, il exécute tout de même la suite de programme, et ça prend du temps...
J'aimerai donc arriver à ignorer la suite si les étapes de compilation latex plantent.
Est-ce que quelqu'un sait comment faire (je ne suis pas un pro en script shell )!
Merci d'avance!