Newsgroup: it.comp.software.tex
Titolo: Pdftricks.

Qualcuno di voi lo usa con successo? Perché io non capisco dove sto
sbagliando...
Sto lavorando con MiKTeX 2.4.1398 e WinEdt 5.4.2004.05.13. In WinEdt ho
impostato (Options/Execution Modes) PDFLaTeX con switch -shell-escape.
Questo già dovrebbe risolvermi molto, solo che al momento della compilazione
(andata male) il log mi toglie molte speranze:
Package pdftricks Warning: ****************************************
(pdftricks)                No \write 18 capability.
(pdftricks)                You'll have to run a script by yourself!
(pdftricks)                ****************************************.
Con questa versione di MiKTeX (tra le ultime, oltretutto) devo proprio
procedere senza shell escape?
MaxArt

procedere senza shell escape?
Stando al manuale di MikTeX, dovrebbe essere sufficiente l'opzione
-enable-write-18. Non ho però mai avuto occasione di verificare.
Per verificare la possibilità, se capisco bene, pdftricks tenta di eseguire
un touch su un file temporaneo. Il test potrebbe fallire per diverse
ragioni, anche se la shell è di fatto abilitata.
Ciao.

 scrive:

Il supporto di pstricks a pdflatex è recente e richiede di abilitare
l'opzione di far andare programmi esterni con l'estensione write-18.
Un metodo più sicuro è di usare latex e poi dvipdfm, oppure lo
script altpdflatex (non so se è disponibile con MikTeX).
Ciao
Enrico

l'opzione di far andare programmi esterni con l'estensione write-18.
Il problema credo che sia questo codice in pdftricks.sty:
....
\ifPDFTshell
% we must set it to false if \write18 doesn't work.
% Hack given by Thierry Bouche (Thanks !)
\def\tmpfile{/tmp/w18-test-\the\year\the\month\the\day\the\time} 
\immediate\write18{touch \tmpfile}
\IfFileExists{\tmpfile}{\PDFTshelltrue}{\PDFTshellfalse}
\fi
\ifPDFTshell
  \PackageWarningNoLine{pdftricks}
   {****************************************\MessageBreak
    Using \csname write\endcsname18 capability \MessageBreak
    for producing PDF-figures.  \MessageBreak
    ****************************************}
\else
  \PackageWarningNoLine{pdftricks}
   {****************************************\MessageBreak
    No \csname write\endcsname18 capability.\MessageBreak
    You'll have to run a script by yourself!\MessageBreak
    ****************************************}
\fi
....
Non capisco come possa funzionare, così com'è, indipendentemente dal fatto
che \write18 sia abilitato. In particolare, mi sembra improbabile che
funzioni su Windows, dove probabilmente non esiste un comando touch, né una
directory /tmp.
Tutto il codice di pdftricks comunque è un po' oltre le mie competenze, e
potrei anche avere interpretato male.
Ciao.

 potrei anche avere interpretato male.
Immagino anch'io che sotto Wi***** non funzioni. Comunque gli autori
di pdftricks indicano come risolvere il problema della mancanza di
"shell escape": con uno shell script ;-)
A questo punto penso che gli unici due modi per avere un pdf usando
pstricks siano:
1) latex+dvipdfm (o latex+dvips+ps2pdf)
2) installare GNU/Linux
Ciao
Enrico

 2) installare GNU/Linux
No, grazie (per ora). Sono appena in orbita di avvicinamento al mondo Linux
:-)
MaxArt

 diverse ragioni, anche se la shell è di fatto abilitata.
Un touch, cioè un programmino che cambi ora e data di un file? O che altro?
Forse potrei recuperarne uno, tipo quello che c'è qui:
 
http://unxutils.sourceforge.net/
Oppure potrei gabolare il tutto creando un touch.bat...
In ultimo, vedo che pdftricks deve eseguire pst2pdf, ma vedo che non ho
niente che possa essere eseguito con questo nome sotto MiKTeX. Ho visto il
file pst2pdf (senza estensione), sembra dare le linee generali (è
l'eseguibile per Linux?), e credo si possa farne il porting in un semplice
file batch, pst2pdf.bat, ma non saprei come scendere nei dettagli, e non so
cosa sia questo comando 'rm' che compare verso la fine...
Comunque, cercando un pochetto in rete credo che questa soluzione vada bene:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&selm=ac9n59%242ui%241%40venus.telepac.pt
(Scusate il linkissimo!)
In questo messaggio:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&selm=Pine.LNX.4.44.0205141503320.1901-100000%40danube.river-valley.com
uno degli autori afferma dell'esistenza di una versione sperimentale per
MiKTeX. Solo che la discussione è vecchia e non so se sia quella già
incorporata col MiKTeX.
Altre discussioni interessanti:
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&threadm=9s83mu%2441m%241%40newsserv.zdv.uni-tuebingen.de&rnum=1&prev=/groups%3Fhl%3Dit%26lr%3D%26ie%3DUTF-8%26selm%3D9s83mu%252441m%25241%2540newsserv.zdv.uni-tuebingen.de
http://groups.google.it/groups?hl=it&lr=&ie=UTF-8&threadm=abm1rt%24upk%241%40venus.telepac.pt&rnum=1&prev=/groups%3Fhl%3Dit%26lr%3D%26ie%3DUTF-8%26selm%3Dabm1rt%2524upk%25241%2540venus.telepac.pt
Insomma, ho un sacco di cose da verificare...
MaxArt

niente che possa essere eseguito con questo nome sotto MiKTeX.
Non mi sembra, o non nella versione di pdftricks che ho io. C'è un
riferimento a questo pst2pdf, ma non un comando \write18 per
eseguirlo. Le operazioni che vengono eseguite sono:
     ....
     \immediate\write18{latex -interaction=batchmode \PDFTfigname}
     %% compila i file con le immagini
     ....
     \immediate\write18{dvips -E -o \PDFTfigname.eps \PDFTfigname}
     %% genera i relativi documenti Postscript
     ....
     \immediate\write18{epstopdf \PDFTfigname.eps}
     %% li converte in pdf
     ....
     \immediate\write18{rm \PDFTfigname.aux \PDFTfigname.dvi
        \PDFTfigname.log \PDFTfigname.eps}
     %% fa un po' di pulizia
Quindi mi pare che l'unica cosa che potrebbe mancare è rm; secondo
l'attitudine più o meno conservativa, si può sostituire del a rm nel
file pdftricks, o aggiustare un rm nel sistema che faccia la medesima
cosa.
Non dovrebbe essere comunque particolarmente difficile anche
arrangiare uno script che faccia le medesime cose, e venir fuori
definitivamente dalla palude del write18 (tra l'altro, con anche
qualche garanzia in più, quanto alla sicurezza generale del sistema).
Ciao.

 eseguirlo.
Ora che ho controllato, hai ragione, come non detto. Solo che ho visto
questa brutta riga:
     \immediate\write18{ps2eps -f \PDFTfigname.ps}
A quanto pare, devo proprio ottenere questo ps2eps...
Ti ringrazio per l'attenzione che mi stai dando.
MaxArt