Re: Utilizzare il risultato di comandi unix dentro LaTex

#28032
Up
0
Down
::

Per la cronaca, alla fine ho creato uno script in AWK che mi estrae tutti i valori di interesse dal file di output e mi crea un file latex composto da vari newcommand, tipo `\newcommand{\AirTemp}{125}`
All’inizio del mio file latex principale includo questo file generato automaticamente tramite un \input e più avanti nel file, all’interno delle mie tabelle, utilizzo ad esempio \AirTemp per riferirmi alla temperatura

Sono riuscito a trovare qualcosa che forse fa per te:
`% nel preambolo
\newread\shellcommand
\newcommand{\doshellcommand}[1]{%
\immediate\openin\shellcommand=”|#1″
\loop\unless\ifeof\shellcommand
\read\shellcommand to \next
\unless\ifx\next\parcs
\next\unskip
\fi
\repeat}
\def\parcs{\par}`
Nel tuo documento (che devi compilare con “pdflatex -shell-escape”) puoi scrivere, per esempio
`\doshellcommand{grep temp temp.dat}`
e se il file temp.dat contiene una riga che a sua volta contiene la stringa “temp” il comando la stampa.

Come argomento di \shellcommand puoi dare un comando qualsiasi. Con cautela, ovviamente, non ti consiglio \shellcommand{rm -fr *} 😯

È solo un abbozzo, naturalmente; una macro davvero utile dovrà essere diversa, per esempio se vuoi stampare più righe o scegliere qualcosa che ti serve dall’output. Il trucco sta nel dare come primo carattere del nome di file per \openin un | (pipe). Le virgolette servono solo come delimitatori.

Ciao
Enrico

Go to top