Didier Gabory a écrit :
Merci pour votre aide mais je ne suis pas sur de comprendre...
Mon intention est de pouvoir utiliser directement pdflatex sans réaliser
préalablement la conversion du .eps -> .pdf
Dans la rubrique outil->préférences->gestion des fichiers->convertisseur
La rubrique convertisseur eps->pdf contient "epstopdf --outfile=$$o $$i"
La rubrique autre option est vide.
Est-il possible de modifier ces options ou d'ajouter une règle de conversion
pour que lors de la compilation pdflatex le fichier.eps soit converti à la
volé en fichier.pdf
Comme le dit Julien, Vous ne pouvez pas toucher à ce convertisseur, vous
modifieriez la configuration basique de LyX pour la conversion
automatique des fichiers eps appelés « normalement » (sans un insert de
graphique).
Je n'avais pas testé ici la conversion de essai1.eps en essai1.pdf via
epstopdf, elle fonctionne correctement, le seul problème est donc
l'automatisation de la conversion en pdf.
Première solution : en p.j., un script Perl eps2pdf qui appelle
epstopdf sur toute une famille de fichiers, mais il est développé pour
Unix; Perl existe pour Windows, mais pour utiliser facilement des
comamndes Unix sous Windows, il faut probablement installer MinGW (un
émulateur Windows de fenêtre de commande Unix).
La meilleure option à mon avis est de créer un convertisseur du fichier
de type epslatex par exemple (i.e. nommer essai1.tex essai1.epslatex) et
d'associer un script du style de celui utilisé pour xfig (voir dans le
répertoire scripts de la dustribution LyX). Peut-être même qu'une
duplication du convertisseur EPS->PDF suffit, je n'ai pas le temps de
tester maintenant, je vous tiens au courant.
--
Jean-Pierre
eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0
$argv:q'
if 0;
#
# wrapper permettant de convertir une série de fichiers de eps en pdf
# (ou de ps en pdf si ps2eps est installé)
#
# conversion eps->pdf : utilisation de epstopdf, options transmises
# conversion ps->pdf : conversion préalable en eps par ps2eps
#
# © Jean-Pierre Chrétien, [email protected], 2000-2008
use strict;
use File::Basename;
$| = 1;
if ($ARGV[0] eq "-h" || $ARGV[0] eq "") {
&usage; exit;
}
my @opts;
for my $arg (@ARGV) {
last if (grep(/\.ps/,$arg) || grep(/\.eps/,$arg)) ;
push(@opts,$arg);
shift @ARGV;
}
my $opt=join(' ',@opts);
BOUCLE: while (@ARGV) {
my $ARG = shift @ARGV;
my ($rac,$path,$suf) = fileparse($ARG,('eps','ps')); chop($rac);
if ($suf eq 'eps') {
if (-e "$path$rac.pdf" &&(-M "$path$rac.pdf" < -M "$path$rac.eps")) {
print "$path$rac.pdf \t plus récent, pas de conversion...\n";
next BOUCLE;
}
`cp $path$rac.eps $path$rac-norm-eps.eps`;
}
elsif ($suf eq 'ps') {
if (grep(/ommand/,`which ps2eps`)) {
print "ps2eps non installé, pas de conversion...\n";
next BOUCLE;
}
if (-e "$path$rac.pdf" &&(-M "$path$rac.pdf" < -M "$path$rac.ps")) {
print "$path$rac.pdf \t plus récent, pas de conversion...\n";
next BOUCLE;
}
`ps2eps -q <$path$rac.ps >$path$rac-norm-eps.eps`;
print "$ARG: \t converti en eps\n";
$ARG="$path$rac.eps";$suf='eps';
}
else {
print "$ARG: \t suffixe inconnu, non traité\n";
next BOUCLE;
}
`epstopdf $opt --outfile $path$rac.pdf $path$rac-norm-eps.eps; \\rm -f
$path$rac-norm-eps.eps`;
print "$ARG: \t traduit en $path$rac.pdf\n";
}
sub usage {
print "Usage: eps2pdf [-h(elp)] [-options] <file1> <file2> ...
(convention * admise, par exemple eps2pdf *.{e}ps)
Convertit une famille de fichiers eps ou ps en pdf
Encapsulation de epstopdf avec -options transmises: voir
epstopdf --help
Évite la conversion si pdf plus récent que {e}ps
";
}