appeler un scripr avec parametres depuis emacs

Le
reymarlioz
Bonjour,

j'ai un script shell a4toa5 qui prend comme paramètre un fichier.pdf,
(s ou d) et ({1-4}, ) qui me transforme les pdf a4 en a5 en simple/
double exemplaire pour les pages {1-4}.

J'essaie de compléter une fonction en elisp fournie par P. Ivaldi et
G. Connan
pour l'appeler par un C-c C-z dans la fenêtre emacs de mon
fichier.tex, mais j'ai des pb pour le passage des paramètres :

;;; Pour le a4toa5
(defvar tom-reduce-command "~/bin/a4toa5 %s.pdf")
(defun tom-reduce (trdouble)
"Transformation en A5 du document A4"
(interactive "sUn exemplemplaire:s, double:d (defaut=d) :")
(if (string= trdouble "") (setq doubletmp "d") (setq doubletmp
trdouble))
(let ((fnse (file-name-sans-extension (buffer-file-name))))
(shell-command (format
tom-reduce-command
(concat fnse " " doubletmp) )))
); fin de let
(eval-after-load "latex"
'(progn
(define-key LaTeX-mode-map (kbd "C-c C-z") 'tom-reduce)))
;;; fin du a4toa5

il me demande bien le param "s" ou "d", mais je n'arrive pas passer ce
paramètre à l'appel de la commande 'tom-reduce-command. (le (concat
fnse " " doubletmp) ne fonctionne pas).

Ensuite, peut-on écrire deux (interactive ) successivement ? (pour
demander le deuxième paramètre)

Merci pour votre aide,

Thomas Rey
http://mathtom.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Ph. Ivaldi
Le #21774261
Bonjour Thomas,

Voici ce que je te propose:
8<------8<------8<------8<------8<------8<------8<------8<------8<------
(defvar tom-reduce-command "~/bin/a4toa5")
(defun tom-reduce (trdouble pages)
"Transformation en A5 du document A4"
(interactive "cSimple=s, double=d (defaut=d)nsPages: ")
(when (not (= trdouble 115)) (setq trdouble 100))
(let ((fnse (file-name-sans-extension (buffer-file-name))))
(shell-command (concat tom-reduce-command " " fnse ".pdf "
(char-to-string trdouble)
" " pages))))
8<------8<------8<------8<------8<------8<------8<------8<------8<------

Attention, j'ai modifié la variable 'tom-reduce-command', si tu veux
tester sans redémarrer Emacs remplace provisoirement le defvar par un
setq.
Dans 'interactive' chaque paramètre est séparé par un retour chariot
(code n).
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
reymarlioz
Le #21774251
On 3 déc, 16:15, Ph. Ivaldi
Bonjour Thomas,

Voici ce que je te propose:
.....
--
   Philippe Ivaldi.http://piprim.tuxfamily.org/



Génial ! Ca marche (comme à chaque fois que je te sollicite !) !

Merci,

Thomas
http://mathtom.free.fr
Publicité
Poster une réponse
Anonyme