babel latino e date romane

  • Creatore
    Topic
  • #101703
    claudio
    Partecipante
      Up
      0
      Down
      ::


      Da un po di tempo mi sto divertendo con le date e il tempo. Non credo che serva a molto ma mi permette di avere una scusa per programmare in latex (affermazione un po grossa)

      Comunque mi sono imbattuto in quello che mi sembra un’imprecisione. Premetto che il mio latino è diventato un tardo ricordo di gioventù quindi mi posso sbagliare ma ho trovato una incongruenza mi spiego
      in ctan per quanto ne so ci sono due pacchetti che permettono di scrivere le date in latino
      babel e datetime2

      esempio 1
      `
      \documentclass[10pt,a4paper]{article}
      \usepackage[latin]{babel}
      \usepackage[utf8]{inputenc}
      \begin{document}
      \today
      \end{document}
      `

      esempio 2
      `
      \documentclass[latin]{article}
      \usepackage{babel}
      \usepackage[useregional]{datetime2}
      \begin{document}
      \today
      \end{document}
      `

      che stampano la data di oggi 17 maggio 2015
      in questo modo

      XVII Maii MMXV

      che è la data in latino

      è vero che i romani hanno avuto più di un calendario
      ma oggi non dovrebbe essere:

      ante diem sextum decimum Kalendas iunias

      forse sono pignolo ma …
      grazie per il vostro tempo
      claudio

    Visualizzazione 32 filoni di risposte
    • Autore
      Risposte
      • #101704
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Claudio, la tua osservazione è giusta, ma devi sempre ricordare che di lingue laitne ce ne sono tre; una è il latino moderno usato come lingua ufficiale dello Stato della Citta del Vaticano; usa la data gregoriana moderna e la u e la v come in italiano e non usa le legature ae ed oe.
          Un latino medievale che usa entrambi i tipi di data, probabilmente con la data giuliana, visto che la gregoriana è del 1582, se non vado errato; usa la u e la v in modo classico e usa le legature. Un latinco classico, ch userebbe solo la data con le kalende, usa la u e la v in modo classico (ovviamente) ma non usa le legature ae ed od, che sono una invenzione medievale.

          Ora pensa al motore di composizione tex, o pdftex o xetex o luatex, o…; esso riceve dal sistema operativo i numeri del giorno, del mese e dell’anno in forma moderna; camuffare i numeri del giprno e dell’anno in numeri romani potrebbe anche andare bene per il latino moderno; certamante non per la data giuliana e non per la data ab urbe condita con le calende, le idi e tutto il resto.

          Un tentativo per creare la data ab urbe condita è stato fatto una ventina di anni fa; se leggi la documentazione di babel-latin dovresti trovare in nota un riferimento a questo fatto. Io non implementai il codice che fu proposto, perché secondo me il giorno e l’anno della fondazione non erano corretti; ma penso che qualunque data si scelga esisterebbe sempre almeno un latinista che affermerebbe che la data giusta è probabimente un’altra.

          Comunuqe se vuoi cimentarti con la trasformazione della data gregoriana in data giuliana e questa nella data ab urbe condita saròlieto di aggiungere il tuo contributo al modulo per il latino usando l’algoritmo giusto per le tre versioni.

          Non sto scherzando; visto che ci sei provaci!
          Claudio (quello old)

        • #101705
          claudio
          Partecipante
            Up
            0
            Down
            ::


            ad essere onesto la data l’ha scritta un mio pacchetto …
            ma il problema è che mi appoggio a datetime2 che a sua volta si appoggia su babel … credo che venga fuori un cortocircuito. Conoscendo la tua professione questo a te non ti spaventa ma a me si un po…

            Comunque il problema del calendario romano è rognoso prima era lunare poi no, poi arriva Cesare e lo cambia, perfino Costantino ci ha messo le mani. Per non parlare dei bisestili che non sono sono i bisestili nostri, i nomi dei mesi che si cambiano nel tempo.
            Credo che la tua classificazione a tre sia un po semplice.
            Ora sono impegnato con le chiusure di fine anno ma penso che ci lavorerò sopra.
            ciao
            claudio

          • #101706
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Be’, sì, certo, prima di Giulio Cesare c’era il caos, quindi è difficile considerare seriamente le date prima del calendario giuliano e questo è il motivo per il quale gli storici sono in disaccordo sulla data della fondazione di Roma, almeno la data convenzionale da cui partire per specificarla ab urbe condita.; ciò nonostante quando si è stabilito di numerare gli anni a partire dalla nascita di Cristo (che poi è risultata sbagliata di circa sei anni), si usava ancora la data ab urbe condita; ma anche dopo c’è stata una bella confusione con l’anno che cominciava il primo di gennaio o il 21 di marzo o in altre date; una cosa seria si è fatta solo con il calendario gregoriano che dovrebbe valere almeno fino al 12000 A.D. poi si vedrà; ma tanto noi non abbiamo necessità di preoccuparcene.:smile:
              Se è per quello anche ai giorni nostri ci sono proposte di modifiche del calendario; a me piace specialmente quella in cui i mesi sono aboliti in favore di quattro periodi di 13 settimane ciascuno (diciamo in quattro stagioni di 91 giorni); ogni anno è quindi formato da quattro periodi in cui lo stesso ordinale in ciascuna stagione corrisponde sempre allo stesso giorno della settimana; il giorno in più per arrivare a 365 non ha una nome specifico, è solo soprannumerario; e negli anni bisestili ci sono non uno ma due giorni soprannumerari; non mi risulta che sia anche stata proposta la posizione di questo giorno o di questi due giorni soprannumerari. Ovviamente questo calendario non verrà mai adottato, ma l’idea mi piace; se cerco bene trovo anche il nome di questa proposta.

            • #101707
              claudio
              Partecipante
                Up
                0
                Down
                ::


                Ciao OldClaudio
                mi sono messo a leggere la documentazione di Babel e
                vorrei capire una cosa,Babel ha solo il comando \today per gestire le date?
                se voglio per esempio usare babel per scrivere la data 17/03/1962 come faccio?
                Detta in soldoni come posso crearmi un insieme di date per fare delle prove?
                ciao
                claudio

              • #101708
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Prova questo codice`\def\data#1/#2/#3 {% Lo spazio prima della graffa è significativo
                  \day=#1\relax
                  \month=#2\relax
                  \year=#3\relax
                  \today\xspace}`Lo dovresti poter usare così:` la data del \data12/3/2025 corrisponde al dodicesimo giorno
                  del terzo mese del duemilaquindicesimo anno.`

                  Perché funzioni devi caricare il pacchetto xspace nel preambolo. se devi mettere un segno di interpunzione dopo l’anno, lasciaci comunque uno spazio prima, perché lo spazio viene “mangiato” dalla definizione del comando; \xspace serve per ripristinarlo se il primo carattere dopo lo spazio NON è un segno di interpunzione.
                  Non cambiare la definizione di \data usando \newcommand, perché quella definizione ha gli argomenti delimitati che non si possono definire con \newcommad e \renewcommand.

                • #101709
                  Up
                  0
                  Down
                  ::

                  OldClaudio” post=101524[…] a me piace specialmente quella in cui i mesi sono aboliti in favore di quattro periodi di 13 settimane ciascuno […] se cerco bene trovo anche il nome di questa proposta.

                  Credo si chiami INPS: è il calendario che si usa per pagare i contributi. 😆 😆 😆

                  Sto scherzando, naturalmente. Trovo entusiasmante l’idea dei “due Claudi” per un pacchetto che gestisca la data ab urbe condita e con le indicazioni dei giorni date in idi, none e calende, e non vedo l’ora di ammirare il lavoro finito.

                  Colgo l’occasione per infilare una domanda del tutto off-topic, che però mi assilla ormai da decenni senza che sia mai riuscito a trovare la risposta. Gli antichi Romani hanno fatto uso, almeno a partire da un certo periodo, della scansione settimanale del tempo, tant’è vero che i nostri nomi lunedì, martedì ecc. sono di origine latina e derivano da nomi di dei pagani. Ma quando, e da quale popolo, è stata fissata l’ “origine” di questa scansione? Cioè, chi un bel giorno ha deciso, e quando, di dire «oggi è domenica» (o, forse meglio, «il primo giorno»), senza che si sia mai più perso il conto da allora?

                  È da notare che la scansione settimanale ha attraversato indenne la riforma gregoriana del calendario, e che a oggi tutte le nazioni del mondo (dai Paesi occidentali ai Paesi arabi, dal Giappone a Israele) concordano sulla definizione di «sabato». D’altra parte, si può star certi che gli Ebrei non hanno mai “perso il conto” fin dai tempi più antichi: dunque l’ “origine” della scansione settimanale, che noi ancora oggi adottiamo, è stata fissata dal popolo ebraico? E quando? E d’altra parte ancora, gli Ebrei antichi non erano certo l’unico popolo che usava scansioni temporali basate su (il quarto de) la lunazione: queste scansioni antiche saranno state in accordo tra loro? Forse no, e allora la tradizione ebraica ha prevalso per essere passata nel cristianesimo?

                  E se è così, ripeto, il primo «primo giorno» a quando risale? Su Wikipedia ho letto che «l’osservanza del sabato (il settimo giorno) e la cadenza settimanale sono accertate solo dopo l’esilio da Gerusalemme cui gli ebrei furono costretti dalla conquista babilonese del 586 a.C., ma probabilmente l’uso preesisteva da molto». Ecco, io sono affascinato dall’idea di questo contatore modulo 7 che non ha mai perso uno scatto, e mi piacerebbe sapere da quanti millenni va avanti così.

                  Perdonatemi, e ciao.


                  Gustavo

                • #101710
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    [OT]
                    Le domande che poni sono abbastanza normali, nel senso che i popoli antichi certamante misuravano il tempo sulla rotazioni degli astri, in primis il sole e la luna; non avevano orologi ma misuravano la durata del giorno con i quadranti solari e negli ultimi secooli prima della nuova era, anche con ingegnosi strumenti ad acqua che permettevano di avere l’ora del giorno anche in mancanza di sole. Il giorno era diviso in 12 ore di lunghezza variabile che partivano dall’alba e andavano fino al tramonto; la note era divisa in quattro vigilie. Quella sì che era l’ora solare, non quella che viene chiamata oggi ora solare, invece che ora invernale.

                    La lunazione con i suoi evidenti quarti di 7 giorni ciascuno (circa) hanno certamente ispirato la settimana; la bibbia l’ha poi codificata destinando il giorno di shabat al riposo da dedicare al signore e alla famiglia, come il Creatore il settimo giorno si riposò e si dedicò alla ammirazione del suo creato. Ovviamente tutti, ebrei in testa, sano che quello è un racconto mitico come sono mitici la maggior aprte degli episodi raccontati nel Pentateuco e in molti libri successivi; mitici ma in grado di insegnare Dio stesso, e la sua etica e come il popolo eletto fosse appunto affetto dalle debolezze umane e che… ecc. ecc. Ricerche recenti hanno accertato che i libri della Bibbia risalgono all’ottavo o al nono secolo AC, scritti forse in base ad una tradizione orale, ma che in sostanza tutto quello che vi viene scritto come fatti avvenuti prima dell’epoca dei Re è sostanzialmente mitico e non ha riscontri di altro tipo (scavi, iscrizioni, archeologia, ecc.).

                    Naturalmente la lunazione ha ispirato i calendari lunari e lunisoloari, da quello ebraico lunisolare, a quello islamico lunare, a quelli orientali per lo più lunisolari; ma la settimana, che non esiste nei calendari orientali tradizionali (almeno così mi pare di capire) è arrivata a noi tramite l’ebraismo; il cristianesimo, sulla base del racconto evangelico, ha stabilito che la permanenza di Cristo nel sepolcro è stata dal venerdì prima del tramonto al giorno dopo lo shabat, quando le pie donne sono salite al sepolcro per finire el operazioni di inumazione, interrotte per lo shabat, e scoprendo che Cristo non era più nel sepolcro; la resurrezione di Cristo è quindi avvenuto il giorno dopo lo shabat (tradotto in latino sabato) e quindi per i cristiani “dies dominica”, il giorno del Signore, sarebbe stato conservato per la festa da dedicare al riposo e alla celebrazione della resurrezione con il rito dell’eucarestia. Il nome domenica quindi è di origine cristiana e vista la diffusione del cristianesimo nella civiltà occidentale non ci si deve stupire che sia diventato una faccenda di carattere universale, che prescinde dalle varie religioni e vi convive accanto come calendario civile.

                    Mi perdonino i teologi e i filologi se ho riassunto in modo così superficiale cose che vengono dibattute da millenni sia nelle comunità ebraiche, sia in quelle cristiane, sia in quelle islamiche, sia a livello laico fra le varie nazioni moderne. Il calendario civile cinese oggi coincide con quello europeo, ma accanto vi è il calendario tradizionale che permette loro di trarre gli opportuni oroscopi a secondo del giorno in cui cadono le vicende umane nei mesi associati ai nomi di quegli animali che caratterizzano i nomi dei mesi e degi anni ne i cicli di 60 anni in cui si sviluppa il loro calendario.

                    L’invenzione del calendario solare è nato sostanzialmente nei paesi accanto alla Palestina; dove tra babilonesi (che usavano un sistema di numerazione in cui il 360 aveva un ruolo importante, quasi uguale ai giorni dell’ano solare) ed egizi avevano preferito un calendari in cui le stagioni si ripetessero con regolarità anche se non erano in fase con le lunazioni; Quando Giulio cesare impose il calendario che noi oggi chiamiamo giuliano, impose sostanzialmente il calendario egiziano con i nomi dei mesi che conosciamo ancora oggi. Prima di questa imposizione di Cesare, esistevano si le kalende, le idi le none e compagnia, ma erano stabiliti “dinamicamente” dai pontifices che oltre a costruire e riparare i punti sul Tevere, avevano anche il compito di stabilire che giorno fosse ogni giorno che sorgeva; sembra che per motivi che non avevano niente a che vedere con i cicli della luna o del sole, siano arrivati a far sì che alcuni anni durassero anche 400 giorni.

                    Comunque non credo che i due Claudi si cimenteranno a ricostruire i calendari precedenti all’epoca repubblicana; troppo complicato. E poi: cui iuvat? Certo ai due Claudi per divertirsi un po’ con l’aritmetica di TeX, ma penso che la cosa non serva nemmeno agli storici.:smile:

                  • #101711
                    claudio
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      come ti ho detto il codice è pronto
                      e visto che parliamo di calendari mi firmo
                      claudio il piccolo

                    • #101712
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Come ce lo scambiamo?
                        Il fatto che tu l’abbia pronto non vuol dire che sia a disposizione.
                        Nello stesso tempo ci sono dei test da fare per gli anni bisestili, come per la data di introduzione della data gregoriana; forse li hai già fatti, ma se desideri che vadano a finire nel modulo babel per il latino, bisogna che io li abbia, altrimenti non li posso introdurre. In realtà ci sarebbe anche il modulo gloss-latin per polyglossia.

                        Il mio indirizzo di posta elettronica dovresti trovarlo nel file di documentazione del modulo stesso.

                      • #101713
                        claudio
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          questo codice credo che sia un buon test per l’anno bisestile
                          `
                          \documentclass[10pt,a4paper]{article}
                          \usepackage[utf8]{inputenc}
                          \usepackage{etoolbox}
                          \newcounter{countA}
                          \newtoggle{bisestile}
                          \togglefalse{bisestile}
                          \newcommand{\testbisestile}[1]{
                          \setcounter{countA}{#1}
                          \ifboolexpr{
                          (test{ \ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}}
                          and not test {\ifnumcomp{(\value{countA}/100)*100-\value{countA}}{=}{0}})
                          or test {\ifnumcomp{(\value{countA}/400)*400-\value{countA}}{=}{0}}
                          }{bisestile}{non bisestile}
                          }

                          \begin{document}

                          2008 \testbisestile{2008}

                          2000 \testbisestile{2000}

                          1900 \testbisestile{1900}

                          1996 \testbisestile{1996}

                          2009\testbisestile{2009}

                          1800 \testbisestile{1800}

                          \end{document}
                          `

                          ripensandoci i bisestili giuliani non sono bisestili gregoriani
                          modifico il test così
                          `
                          \documentclass[10pt,a4paper]{article}
                          \usepackage[utf8]{inputenc}
                          \usepackage{etoolbox}
                          \newcounter{countA}
                          \newtoggle{bisestile}
                          \togglefalse{bisestile}
                          \newcommand{\testbisestile}[1]{
                          \setcounter{countA}{#1}
                          \ifboolexpr{
                          (test{ \ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}}
                          and not test {\ifnumcomp{(\value{countA}/100)*100-\value{countA}}{=}{0}})
                          or test {\ifnumcomp{(\value{countA}/400)*400-\value{countA}}{=}{0}}
                          }{bisestile}{non bisestile}
                          }

                          \newcommand{\testbisestiledue}[1]{
                          \setcounter{countA}{#1}
                          \ifnumcomp{#1}{>}{1582}{
                          \ifboolexpr{
                          (test{ \ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}}
                          and not test {\ifnumcomp{(\value{countA}/100)*100-\value{countA}}{=}{0}})
                          or test {\ifnumcomp{(\value{countA}/400)*400-\value{countA}}{=}{0}}
                          }{bisestile}{non bisestile}
                          }
                          {\ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}{bisestile}{non bisestile}}
                          }

                          \begin{document}

                          2008 \testbisestile{2008}

                          2000 \testbisestile{2000}

                          1900 \testbisestile{1900}

                          1996 \testbisestile{1996}

                          2009\testbisestile{2009}

                          1800 \testbisestile{1800}

                          1582 \testbisestile{1582}

                          1500 \testbisestile{1500}

                          2008 \testbisestiledue{2008}

                          2000 \testbisestiledue{2000}

                          1900 \testbisestiledue{1900}

                          1996 \testbisestiledue{1996}

                          2009\testbisestiledue{2009}

                          1800 \testbisestiledue{1800}

                          1582 \testbisestiledue{1582}

                          1500 \testbisestiledue{1500}

                          \end{document}

                          `

                          notare 1500
                          ciao
                          claudio
                          (credo di aver trovato email)

                        • #101714
                          OldClaudio
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Direi che \testbisestiledue faccia la giusta distinzione fra gli anni precedenti alla riforma gregoriane e agli anni seguenti.

                            Ora sulla base di questo testi bisognerebbe creare l’algoritmo per la data romana con kalende, none e idi.

                            Molto più complicato risalire ab rbe condita, perché, nonostante la confusione che era presente priam di Giulio Cesare, anche se si volesse mantenere l’algoritmo delle date giuliane, gli anni vanno numerati a partire da una data da scegliere in modo storicamente “quasi” corretto. Cerco di informarmi; ma supponendo che la data sia il 23 aprile 751 AC, il conteggio degli anni non corrisponde semplicemente all’aumento dell anno civile di 750 o 751 anni, perché dipende dal fatto che il giorno e il mese corrispondano ad un giorno precedente al 23 aprile.

                            A presto
                            (Old) Claudio

                            Ti aggiungo queste informazioni:

                            Il pacchetto pgfcalendar permette di calcolare la data giuliana; non so esattamante quanto possa andare indietro nel tempo, ma dispone di cun comando \pdfcalendartojulian che dovrebbe essere capace di eseguire la trasformazione da solo.

                            ti allego questa tabella:

                            [attachment=1319]DataRomana.pdf[/attachment]

                            dalla quale puoi desumere tutte le differenze nella scrittura delle date specialmente per i mesi con 31 giorni, che, a quanto pare, hanno le none, e quindi le idi, in posti diversi. Non so quanto sia attendibile questa tabella, ma chi l’ha scritta è molto attento ai dettagli.

                            Attachments:
                            You must be logged in to view attached files.
                          • #101715
                            claudio
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              ieri ti avevo spedito una email su google
                              allego i file qui
                              [attachment=1321]babel-romano-latino.zip[/attachment]
                              ad urbe condita 🙂
                              a senso i romani non usavano una cronologia ma indicavano gli anno con il nome del console etc.. che era in carica
                              l’espressione ad urbe condita è tarda …
                              bo vediamo di lavorarci sopra
                              ciao
                              claudio

                              Attachments:
                              You must be logged in to view attached files.
                            • #101716
                              OldClaudio
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Ho verificato anche nellla cartella Trash, ma non ho trovato nulla; verifica se per caso hai ricevuto un messaggio di errore nel recapito del messaggio; a me con Thunderbird arrivano sempre messaggi di questo genere se sbaglio nello scrivere l’indirizzo.

                                Comunque h scaricato i, file che hai allegato. Nonostante io ora ce l’abbia, prova ancora con al posta elettronica. Questa faccenda mi lascia piuttosto perplesso.

                              • #101717
                                claudio
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::


                                  salve
                                  non capisco non ho messaggi di errore
                                  è arrivato qualcosa?
                                  claudio

                                • #101718
                                  OldClaudio
                                  Partecipante
                                    Up
                                    0
                                    Down
                                    ::


                                    Nulla.
                                    Controlla bene di aver messo tutti i punti dove c’è scritto dot; se salti il punto fra il nome e il cognome va ad un altro destinatario; mi pare che faccia l’attore e che faccia anche il doppiatore di fil e telefilm 🙂
                                    Controlla anche che sia gmail.com, non gmail.it

                                  • #101719
                                    claudio
                                    Partecipante
                                      Up
                                      0
                                      Down
                                      ::


                                      la seconda che hai detto
                                      nel dtx di latin hai messo due indirizzi di posta ed io ho letto solo il primo
                                      ora ti dovrebbe arrivare il tutto
                                      ciao
                                      claudio

                                    • #101720
                                      claudio
                                      Partecipante
                                        Up
                                        0
                                        Down
                                        ::


                                        primo passo per ad urbe condita
                                        il calcolo della data giuliana da data gregoriana

                                        `
                                        \documentclass[10pt,a4paper]{article}
                                        \usepackage[utf8]{inputenc}
                                        \usepackage{etoolbox}
                                        \usepackage{calc}
                                        \newcounter{countA}
                                        \newcounter{countB}
                                        \newcounter{countC}
                                        \newcounter{countD}
                                        \newcounter{countM}
                                        \newcounter{countY}
                                        \newcounter{countd}
                                        \newcounter{countJD}

                                        \newcommand{\dagregorianoAgiuliano}[3]{
                                        \setcounter{countY}{#1}
                                        \setcounter{countM}{#2}
                                        \setcounter{countd}{#3}
                                        \ifnum\thecountM=1\setcounter{countY}{\thecountY-1}\setcounter{countM}{\thecountM+12}\fi
                                        \ifnum\thecountM=2\setcounter{countY}{\thecountY-1}\setcounter{countM}{\thecountM+12}\fi

                                        \ifboolexpr{
                                        test{ \ifnumcomp{\thecountd}{=}{15}}
                                        and
                                        test{ \ifnumcomp{\thecountM}{=}{10}}
                                        and
                                        (test{ \ifnumcomp{\thecountY}{=}{1582}}}
                                        {\setcounter{countA}{\thecountY/100}\setcounter{countB}{2-\thecountA+\thecountA/4}}{\ifboolexpr{
                                        test{\ifnumcomp{\thecountY}{<}{1582}} or (test{ \ifnumcomp{\thecountY}{=}{1582}} and test{\ifnumcomp{\thecountM}{<}{10}}) or (test{ \ifnumcomp{\thecountY}{=}{1582}} and test{ \ifnumcomp{\thecountD}{=}{10}} and test{\ifnumcomp{#3}{<}{15}}) }{\setcounter{countA}{0}\setcounter{countB}{0}} {\setcounter{countA}{\thecountY/100}\setcounter{countB}{2-\thecountA+\thecountA/4} } } \setcounter{countC}{\thecountY*\real{365.25}} \setcounter{countM}{\thecountM+1} \setcounter{countD}{\thecountM*\real{30.6011}} \setcounter{countJD}{\thecountB+\thecountC+\thecountD+\thecountd+1720995} } \begin{document} \dagregorianoAgiuliano{-10}{1}{1} A\thecountA B\thecountB C\thecountC D\thecountD d\thecountd M\thecountM Y\thecountY JD\thecountJD \end{document} ` come spiegato qui
                                        il problema è l’algoritmo inverso
                                        come trovare la parte frazionaria della divisione fra due contatori?
                                        ciao
                                        claudio

                                      • #101721
                                        OldClaudio
                                        Partecipante
                                          Up
                                          0
                                          Down
                                          ::


                                          Supponiamo che tu abbia due contatori TeX che si chiamano \NumI e \DenI.
                                          devi definire due lunghezze, diamo \Num e \Den, caricarci dentro il contatore da dividere \moltiplicato per \p@:code]\mum=\NumI\p@[/code] \p@ è una lunghezza predefinita lunga un punto, e nell’altro metti i contatore divisore moltiplicato per \p@; la divisione si fa moltiplicando il numeratore per \p@ dividendolo poi per il denominatore`\dimexpr\Num*\p@/\Den\relax`Il comando \relax non è veramente sempre necessario, ma visto che è un comando eseguibile che corrisponde a un NoOperation, non dà nessun fastidio. dal risultato togli l’unità di misura, per avere il quoziente fratto (altra lunghezza \Quoz)ti basta questo codice: `\edef\@tempA{\strip@pt\Quoz}`

                                          Se vuoi solo la parte fratta devi fare un altro calcoletto con un’altra lunghezza \partefratta; naturalmente ha già calcolato al divisione intera nel contatore \Qintero:`\Qinterp =\NumI \divide\Qintero by \DenI` (nota l’aritmetica nativa di TeX, mentre \dimexpr è nativo di eTeX) e poi `\partefratta=\dimexpr\Quoz -\Qintero\p@`.

                                          Trovi spiegato tutto questo sia nella guida tematica Il LaTeX Refernce Manual commentato sia nella documentazione di eTeX: texdoc etex

                                        • #101722
                                          claudio
                                          Partecipante
                                            Up
                                            0
                                            Down
                                            ::


                                            scusa ma non ho capito il capitolo 3.5 di etex non dice molto
                                            mi spieghi
                                            `
                                            {\makeatletter
                                            \textwidth=120mm \relax
                                            % 0.35145980 mm/pt
                                            \textheight=
                                            \dimexpr \textwidth * \paperheight / \paperwidth \relax
                                            \dimen@=0.3514598\textheight
                                            \strip@pt\dimen@\,mm}
                                            `
                                            questo codice
                                            carichi \textwidth= con 120mm
                                            che moltiplichi e dividi \dimexpr trasforma la divisione da intera a decimale?
                                            \dimen@=0.3514598\textheight che fa?
                                            e sopratutto la linea dopo
                                            che fa?
                                            ciao e grazie
                                            claudio

                                          • #101723
                                            OldClaudio
                                            Partecipante
                                              Up
                                              0
                                              Down
                                              ::


                                              Non sono sicuro che tu abbia letto quell’esempio nella documentazione di etes nel capitolo 3.5, perché la documentazione di etes non è divisa in capitoli

                                              In ongi caso non cè nessuna divisione intera, ma ci sono delle divisioni e moltiplicazioni per lunghezze; le lunghezze in pt sono dei numeri fratti; in realtà nella pancia del programma di composizione esse sono rappresentate in virgola fissa con sedici cifre binarie fratte, e di fatto sono rappresentate da misure intere in scaled point; non è il caso di preoccuparsi di questi dettagli, ma se vuoi capire bene il funzionamento di quest comandi nativi di etex considera questi fatti;
                                              ogni lunghezza è conservata in registri di 32 bit, di cui i primi due sono per il segno e per altre funzioni, e i restanti trenta sono per rappresentare gli scaled point; quando moltiplichi due lunghezze fra di loro nei registri interni del programma ottieni un prodotto di 64 bit che va conservato in un registro a doppia precisione; questo numero in teoria conterrebbe 32 cifre binarie fratte. Quando dividi per un’altra lunghezza il risultato viene messo in un registro a 32 bit, e perde 16 cifre binarie fratte e resta conforme ad una lunghezza 9salvo casi speciali di overflow) quindi l’operazione di scalamento è fatta con la massima precisione possibile con l’aritmetica a virgola fissa, cioè con i numeri interi di scaled point.

                                              LA maoltiplicazione epr quel numero strano è spiegata nella riga commentata; serve per trasformarne il valore espresso in punti in un valore espresso in millimetri per poterlo pois scrivere con l’ultimo statement; se non ci fosse \strip@pt scriverebbe qualcosa come 123.4567pt mm; e chiaro che i pt (due lettere, non unità di misura) vanno tolti.

                                              Leggi la vera documentazione di etex con texdoc etex

                                            • #101724
                                              claudio
                                              Partecipante
                                                Up
                                                0
                                                Down
                                                ::


                                                guarda che l’ho letta, parlo di: The ε-T E X manual Version 2, February 1998 a pagina 8 c’è 3.5 Expressions …
                                                si vede che non l’ho capita
                                                ciao
                                                claudio

                                              • #101725
                                                OldClaudio
                                                Partecipante
                                                  Up
                                                  0
                                                  Down
                                                  ::

                                                  claudio” post=101609guarda che l’ho letta, parlo di: The ε-T E X manual Version 2, February 1998 a pagina 8 c’è 3.5 Expressions …
                                                  si vede che non l’ho capita
                                                  ciao
                                                  claudio

                                                  OK, ma quel numero 3.5 non è un capitolo ma un sotto paragrafo. Inoltre in quel sotto paragrafo NON c’è l’esempio che hai riportato e che, invece, potrei aver scritto io da qualche parte, non ricordo dove.

                                                  In ogni caso ti ho spiegato che cosa fa; la mia spiegazione non era abbastanza chiara?

                                                  Temo di sì perché l’esempio che non hai capito non è dei più adatti a spiegare come usare le lunghezze per fare dei calcoli con numeri fratti. Gli unici numeri fratti che ogni programma del sistema TeX conosce (a parte LuaTeX e LuaLaTeX che li conoscono attraverso il linguaggio di scripting Lua) sono i moltiplicatori delle unità di misura e i numeri fratti che si riescono ad ottenere dai calcoli eseguiti su quantità dimensionali sono quelli che si ottengono sottoponendo il nome di un registro lunghezza all’azione del comando nativo \the che ne estrae il valore binario interpretandolo come scaled point (sp) e trasformandone il valore in punti tipografici (pt).
                                                  Per il resto le frasi della documentazione che spiegano l’operazione di scalamento di una grandezza sono le seguenti:
                                                  [attachment=1325]etex-expressions.pdf[/attachment]
                                                  È importante capire queste parole.

                                                  Attachments:
                                                  You must be logged in to view attached files.
                                                • #101726
                                                  Up
                                                  0
                                                  Down
                                                  ::

                                                  claudio” post=101583primo passo per ad urbe condita […]

                                                  come trovare la parte frazionaria della divisione fra due contatori?
                                                  […]

                                                  Torno a leggere la discussione con qualche giorno di ritardo. Non è che, per caso, quello che ti serve realmente è trovare il resto della divisione tra due contatori?

                                                  Supponi di avere tre contatori (definiti con il [tt]\newcount[/tt] del plain TeX) chiamati, diciamo, [tt]\@temp@ctr@a[/tt], [tt]\@temp@ctr@b[/tt] e [tt]\@temp@ctr@r[/tt]: per memorizzare in [tt]\@temp@ctr@r[/tt] il resto della divisone di [tt]\@temp@ctr@a[/tt] per [tt]\@temp@ctr@b[/tt] puoi fare così:
                                                  `
                                                  \@temp@ctr@r \@temp@ctr@a
                                                  \count@ \@temp@ctr@a
                                                  \divide \count@ \@temp@ctr@b % must not divide by zero!
                                                  \multiply \count@ \@temp@ctr@b
                                                  \advance \@temp@ctr@r -\count@
                                                  `
                                                  Questo codice preserva i valori contenuti in [tt]\@temp@ctr@a[/tt] e [tt]\@temp@ctr@b[/tt]; è possibile risparmiare qualcosina se ciò non è necessario.

                                                  Una dozzina di anni fa o giù di lì mi scrissi un pacchettino per trovare il giorno della settimana corrispondente a una certa data (per esempio, il 7 novembre 1628, giorno in cui i bravi minacciano Don Abbondio, dando inizio alla vicenda dei Promessi sposi, era un martedì); ovviamente, esso conteneva anche un comando [tt]\IfLeapYear[/tt] per fare una cosa oppure un’altra a seconda che un certo anno fosse o no bisestile. Si assumeva il calendario gregoriano e una data non anteriore al 1 gennaio 1601. Se ti interessa, devo ancora avere il codice da qualche parte.

                                                  Ciao.


                                                  Gustavo

                                                • #101727
                                                  claudio
                                                  Partecipante
                                                    Up
                                                    0
                                                    Down
                                                    ::


                                                    salve riapriamo il post
                                                    un altro pezzo del progetto

                                                    `
                                                    \documentclass[italian]{article}
                                                    \usepackage{ifpdf,ifxetex}
                                                    \ifpdf
                                                    \usepackage[T1]{fontenc}
                                                    \usepackage[utf8]{inputenc}
                                                    \usepackage{babel}
                                                    \else
                                                    \usepackage{fontspec}
                                                    \usepackage{polyglossia}
                                                    \setdefaultlanguage{italian}
                                                    \fi
                                                    \newcounter{countS}
                                                    \newcommand{\stamparoman}[1]{\space{\uppercase\expandafter{\romannumeral#1}}}
                                                    \newcommand{\stampadate}[1]{
                                                    \setcounter{countS}{#1}
                                                    \addtocounter{countS}{753}
                                                    %\value{countS}

                                                    ANNO $-$\stamparoman{#1} $-$ POST · CHR · N · VEL $-$\stamparoman{\thecountS}$-$ AB · VRBE CONDITA

                                                    \thecountS
                                                    }

                                                    \listfiles
                                                    \begin{document}
                                                    \stampadate{2015}
                                                    \end{document}
                                                    `

                                                    prima o poi unisco tutto e pubblico

                                                    buona notte
                                                    claudio

                                                  • #101728
                                                    OldClaudio
                                                    Partecipante
                                                      Up
                                                      0
                                                      Down
                                                      ::



                                                      @claudio
                                                      , eccoti alcune osservazioni:
                                                      1) puoi usare un unico pacchetto iftex, che definisce i comandi \ifPDFTeX, \ifXeTeX, e \ifLuaTeX. Lo trovo migliore dei due pacchetti ifpdf e ifxetex che usi tu.

                                                      2) non ho capito bene l’uso dei segni meno matematici invece delle legature [tt]–[/tt] di due trattini di seguito

                                                      3) penso che sarebbe meglio usare le sigle ACN (ante Christum natum), PCN (post Christum natum} oppure AD (Annus Domini che, come sigla, non ha importanza se debba essere usato al nominativo, all’accusativo o all’ablativo); AUC (ab urbe condita) oppure AVC (ab vrbe condita).

                                                      4) gli anni negativi rispetto all’istante zero, vengono convertiti male per difetto di una unità, \stampadate{1} produce I, e DCCLIV rispettivamente, mentre \stampadate(-1) produce un errore per il numero romano negativo, che non esiste, e DCCLII mentre il valore corretto è DCCLIII.

                                                      … sempre che l’anno di fondazione di Roma sia il 753 ACN… 🙂

                                                    • #101729
                                                      claudio
                                                      Partecipante
                                                        Up
                                                        0
                                                        Down
                                                        ::


                                                        mi ero scordato il prima di Cristo 🙂

                                                        `
                                                        \documentclass[italian]{article}
                                                        \usepackage{ifpdf,ifxetex}
                                                        \ifpdf
                                                        \usepackage[T1]{fontenc}
                                                        \usepackage[utf8]{inputenc}
                                                        \usepackage{babel}
                                                        \else
                                                        \usepackage{fontspec}
                                                        \usepackage{polyglossia}
                                                        \setdefaultlanguage{italian}
                                                        \fi
                                                        \newcounter{countS}
                                                        \newcounter{countT}
                                                        \newcounter{countM}
                                                        \newcommand{\stamparoman}[1]{\space{\uppercase\expandafter{\romannumeral#1}}}
                                                        \newcommand{\stampadate}[1]{
                                                        \setcounter{countS}{#1}
                                                        \setcounter{countM}{-1}
                                                        \ifnumcomp{#1}{>}{0}{
                                                        \addtocounter{countS}{753}
                                                        \addtocounter{countS}{753}ANNO — \stamparoman{#1} — PCN –VEL –\stamparoman{\thecountS}–AUC}{\setcounter{countS}{\numexpr\thecountM*\thecountS}
                                                        \setcounter{countT}{\thecountS}
                                                        \setcounter{countS}{\numexpr 754-\thecountS}
                                                        ANNO — \stamparoman{\thecountT} — ACN — VEL –\stamparoman{\thecountS}–AUC}}

                                                        \listfiles
                                                        \begin{document}
                                                        \stampadate{-20}

                                                        \stampadate{-100}

                                                        \stampadate{20}

                                                        \stampadate{100}
                                                        \end{document}
                                                        `
                                                        per il 753 non so rispondere, non c’ero 🙂
                                                        ciao
                                                        claudio

                                                      • #101730
                                                        OldClaudio
                                                        Partecipante
                                                          Up
                                                          0
                                                          Down
                                                          ::


                                                          Ehi, ehi, ehi! se siamo nell’anno 20 e aggiungiamo 753 otteniamo 773, cioè DCCLXXIII, non una cosa superiore a 1000!

                                                          Ti è rimasto nel caso di anno positivo un \addtocounter{countS}{753} di troppo!

                                                        • #101731
                                                          claudio
                                                          Partecipante
                                                            Up
                                                            0
                                                            Down
                                                            ::

                                                            OldClaudio” post=101833Ehi, ehi, ehi! se siamo nell’anno 20 e aggiungiamo 753 otteniamo 773, cioè DCCLXXIII, non una cosa superiore a 1000!

                                                            Ti è rimasto nel caso di anno positivo un \addtocounter{countS}{753} di troppo!

                                                            ops 🙂
                                                            claudio

                                                          • #101732
                                                            claudio
                                                            Partecipante
                                                              Up
                                                              0
                                                              Down
                                                              ::


                                                              ultima versione
                                                              o quasi 🙂
                                                              ciao
                                                              claudio

                                                              [attachment=1332]calendario-romano.zip[/attachment]

                                                              più che di latino qui è più corretto parlare di romano

                                                              Attachments:
                                                              You must be logged in to view attached files.
                                                            • #101733
                                                              OldClaudio
                                                              Partecipante
                                                                Up
                                                                0
                                                                Down
                                                                ::


                                                                Appena posso ci guardo ora sono alle prese con la dichiarazione dei redditi con la modulistica tutta cambiata rispetto al passato….:evil:

                                                                PS: credo di avere finto con le tasse, che lunedì dovrò pagare. Poi devo aspettare che mi arrivi la seconda parte del PIN per poter trasmettere telematicamente la dichiarazione all’Agenzia delle Entrate. Finora l’ho sempre fatto per posta, ma da quest’anno c’è una multa da oltre 200€ a oltre 2000€ per chi la invia cartacea senza averne diritto.

                                                                Così ho aperto il file .zip e vi ho ritrovato quasi tutto quello che via via sei andato facendo. Mi osno un po’ stupito che tu non abbia incorporato il contenuto del file ausiliario baseromano.tex dentro il file .sty; certo importarlo con \input fa lo stesso, ma non c’è bisogno di dargli l’estensione .tex; se gli avessi dato l’estensione .sty, avresti potuto richiamarlo con \RequirePackage{baseromano} che ti controlla di non caricarlo de vlte e ti consentirebbe anche di passargli delle opzioni se fosse costruito con una scelta di opzioni. Ptresti comeunque sempre chiamarlo con \input{baseromano.sty}; il fato di usare un file sty permette di ricordarsi che si possono usare anche i segni @ per formare i nomi delle macro; mentre con l’estensione .tex lo puoi fare ma non ti balza all’occhio che stai scrivendo un file di estensione.

                                                                Immettere file di definizioni con \input e l’estensione .tex fa molto il vecchio stile di Plain TeX.

                                                                Bene, ora vedo di studiarlo negli ultimi dettagli; se me lo consenti posso inserire il codice nel file di descrizione della lingua latina. Anche se gli apporto qualche piccola modifica sarà ben chiaro che la paternità è tua 🙂

                                                                (Old) Claudio

                                                              • #101734
                                                                claudio
                                                                Partecipante
                                                                  Up
                                                                  0
                                                                  Down
                                                                  ::


                                                                  bene quando hai tempo fai pure
                                                                  sono curioso di vedere le modifiche
                                                                  a presto
                                                                  claudio

                                                                • #101735
                                                                  claudio
                                                                  Partecipante
                                                                    Up
                                                                    0
                                                                    Down
                                                                    ::


                                                                    A essere pignoli di quale calendario stiamo parlando? Chiamarlo calendario latino forse è improprio
                                                                    meglio sarebbe chiamarlo romano.
                                                                    I romani avevano una gestione del tempo un po particolare che cambiò dei secoli
                                                                    si passò da un anno a 10 mesi a uno di 12
                                                                    da un mese bisestile ad un giorno bisestile
                                                                    da un anno bisestile ogni tre a uno a ogni 4
                                                                    il giorno bisestile non era il 29 febbraio ma il giorno dopo il sesto prima delle calende di marzo
                                                                    i mesi cambiarono durata
                                                                    la settimana era di otto giorni e solo dopo (età imperiale ) divenne di sette
                                                                    il mese di luglio fu chiamato così dopo Giulio Cesare Agosto con Augusto
                                                                    ciao a tutti
                                                                    claudio

                                                                  • #101736
                                                                    OldClaudio
                                                                    Partecipante
                                                                      Up
                                                                      0
                                                                      Down
                                                                      ::


                                                                      Incorporato nel file latin.ldf, vi vorrà un nome inglese per distinguere il \today dal “\romatoday” o “\???today” similmente a come succede per il greco. Comunque mi pare corretto chiamala “data romana, piuttosto che “data latina”; in latino si trova già scritta la data fornita da \today, ma si tratta della data moderna, non della data antica; magari \ancienttoday? oppure \classictoday, attivabile solo quando si specifica la variante classiclatin?

                                                                      Ci penserò.

                                                                  Visualizzazione 32 filoni di risposte
                                                                  • Devi essere connesso per rispondere a questo topic.

                                                                  Go to top