Re: Calcoli temporali (date, età, ecc.)

#23792
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    Grazie per la risposta.

    Alla fine mi sono “arreso” e ho deciso di utilizzare R. Ai fini della risoluzione del mio problemino è come usare una bomba atomica per ammazzare una mosca, ma comunque…

    Probabilmente in futuro si potrà fare di meglio. Ad ogni modo, posto il codice che ho usato io. Il file prova.Rtex:

    `\documentclass{minimal}

    \begin{document}

    \begin{Scode}{echo=FALSE}
    calcola.tempo <- function(data) { spedizione <- as.Date(data) oggi <- Sys.Date() tempo <- as.integer(oggi - spedizione) return(tempo) } calcola.eta <- function(data) { nascita <- as.Date(data) giorni <- calcola.tempo(nascita) eta <- as.integer(giorni / 365) return(eta) } \end{Scode} Il pacchetto è stato spedito \Sexpr{calcola.tempo("2009-11-16")} giorni fa e non l'ho ancora ricevuto Io ho \Sexpr{calcola.eta("1981-08-10")} anni \end{document}` Da un terminale: `$ echo -e "Sweave(\"prova.Rtex\")" | R --slave[Invio] $ pdflatex prova.tex[Invio]` Grazie e alla prossima.

    Per certi documenti mi capita di dover determinare la differenza in giorni tra due date od anche determinare la data che cade dopo un numero di giorni stabilito a partire da una data base.

    Il conteggio deve essere assolutamente preciso come se contassi i giorni su un calendario.

    Risolvo questo problema utilizzando un foglio di calcolo dove le date vengono gestite internamente come numeri a partire da un istante zero che se non ricordo male è il 1/01/1900 alle ore 0.00 per Excel e Calc (OpenOffice.org).

    Tuttavia, se si rimane nell’ambito del conteggio dei giorni, credo non sia difficile implementare il calcolo in TeX utilizzando la matematica dei contatori.
    Potrebbe essere un esercizio interessante ed una funzionalità utile per gli utenti di LaTeX.

    Potrebbe essere anche un occasione per sperimentare un lavoro di squadra nel senso che, stabilito un team di sviluppo, si potrebbe lavorare a distanza ciascuno con il proprio compito arrivando alla stesura di un pacchetto eventualmente da distribuire attraverso CTAN, oppure alla stesura di un articolo da pubblicare su ArsTeXnica.

    Obiettivi:
    — Imparare la programmazione TeX;
    — Condividere esperienze di lavoro a distanza e quindi se riesce, giungere a risultati altrimenti non possibili;
    — Produrre una funzionalità utile per gli altri utenti;
    — Prepararsi al futuro prossimo implementando la stessa funzione in luatex.

    A sembra un progetto interessante. Tempo fa pensavo che lo stesso forum dovrebbe avere una board dedicata allo sviluppo, od almeno una cosa simile per favorire le collaborazioni a distanza via web, su progetti comuni.
    Roberto.

    Go to top