Re: data/ora e directory

#58282
Up
0
Down
::

Ciao a tutti,

sto facendo una gran confusione fra stampe successive di stesure diverse dello stesso documento (semplice classe article). Il solo elemento individuante, la data, a volte non basta perchè faccio più stampe nello stesso giorno (purtroppo non resisto a lungo davanti al monitor).

Qualcuno sa dirmi se esiste un’opzione per inserire l’indicazione della data completa di orario in calce al testo? Mi piacerebbe anche poter inserire il percorso della directory in cui si trova il file, in modo da poter trovarlo rapidamente nel passaggio dal cartaceo al file. Potete aiutarmi anche su questo punto? Ve ne sarei molto grato

D

Per avere il percorso completo esiste un modo che richiede di lanciare pdflatex con l’opzione “-shell-escape”; scrivi il seguente codice nel preambolo
`\makeatletter
\begingroup
\ifnum\pdfshellescape=\@ne
\everyeof{\noexpand}
\@makeother\”
\@makeother\|
\xdef\printpath{\@@input|”find `pwd` -name \jobname.tex -print” \unskip}
\else
\xdef\printpath{./\jobname.tex (attivare -shell-escape!)}
\fi
\endgroup
\makeatother`
e usa \printpath per stampare il percorso completo. Questo funziona su un sistema Unix; su Windoze ci potrebbe essere un comando analogo; purtroppo 😛 non conosco i comandi della shell di Windoze.

Spiegazione: se non si attiva -shell-escape, il valore del parametro \pdfshellescape non è 1; in tal caso definiamo \printpath come il nome del file con un messaggio esplicativo. Altrimenti impostiamo \everyeof in modo che contenga \noexpand (serve perché altrimenti la definizione seguente non funzionerebbe); impostiamo il codice di ” e di | a 12 perché potrebbero essere diversi se si usa babel. A questo punto definiamo \printpath globalmente espandendo il testo di definizione (\xdef); il testo di definizione contiene l’istruzione primitiva \input (che in LaTeX diventa \@@input) seguita dal carattere | che fa il suo dovere:
(1) esegue il comando che segue (le virgolette servono a delimitarlo);
(2) importa il risultato come se fosse un file esterno.
Lo spazio dopo le virgolette è necessario; siccome però TeX aggiunge un fine riga ai file esterni, ne annulliamo l’effetto con \unskip.

Et voilà. 🙂

Ciao
Enrico

Ottimi risultati. Ringrazio tutti e due. In special modo il Professore, per la “chicca” teorica.

Grazie!

Go to top