- Questo topic ha 3 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 2 anni, 2 mesi fa da .
-
Topic
-
Ciao,sono Maurizio e non ho molta esperienza con Tex.
Sto preparando un template in tex (compilo con pdfLatex) per poi utilizzarlo cambiando le info in input su un file di dati in formato chiave-valore.
In pratica cambio i dati sul file di dati e poi compilo in maniera tale da cambiare alcune info sul PDF dinamicamente.Questo il file che sto utilizzando ora:
VERO=1
FALSO=0
NOMINATIVO=Nome Cognome
VISUALIZZA_BOX=1(dove VERO e FALSO) sono due prove.
Nel codice creo un command che mi restituisce dinamicamente il valore della chiave corrispondente in questo modo:
`\ifdefined\inputFileName
% import data
\DTLloaddb[noheader, keys={thekey,thevalue}]{mydata}{../\inputFileName}
% \DTLloaddb[noheader, keys={thekey,thevalue}]{mydata}{../FileDatiRichiesta.txt}
% Loads mydata.dat with column headers 'thekey' and 'thevalue'
\newcommand{\var}[1]
{
\DTLfetch{mydata}{thekey}{#1}{thevalue}
}
\fi`
Fin qui tutto ok. Se inserisco il seguente comando:
\var{NOMINATIVO} mi viene restituito correttamente quanto presente nel file alla chiave corrispondente. Nell’esempio sopra: Nome Cognome.Il problema è con le if.
Il campo sul file di dati VISUALIZZA_BOX ,mi serve per includere o escludere una sezione nel PDF.
Qualsiasi istruzione uso: \if, \ifx, ifthenelse, \strcompare … mi viene restituito sempre false e non so cosa fare. Questo un esempio:
`
\newcommand\visualizza{\var{VISUALIZZA_BOX}}
\newcommand\vero{\var{VERO}}
\strcompare {\visualizza}{\vero} %oppure \if\visualizza\vero ….
{% True case
Vero
}
{% false case
Falso
}
`
Ovviamente:
\newcommand\visualizza{\var{VISUALIZZA_BOX}} assegna correttamente a \visualizza il valore 1
\newcommand\vero{\var{VERO}} assegna correttamente a \vero il valore 1Potete aiutarmi indicandomi il modo corretto per eseguire il test sul campo VISUALIZZA_BOX contenuto nel file di dati?
Grazie,
Maurizio.
- Devi essere connesso per rispondere a questo topic.