- Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da .
-
Topic
-
Ciao a tutti,
ho un dubbio da alcuni anni, di recente è riemerso e vorrei risolverlo.In un documento italiano, la data corrente, fornita dalla macro «\today», viene resa nel seguente modo:
`7 settembre 2010
`
mi è spesso utile modificarla in modo tale da ottenere come risultato la formattazione`martedì 7 settembre 2010
`
Come fare? La soluzione che ho adottato tempo fa consisteva nello scomodare il pacchetto «datetime.sty» modificando la macro «\today» con le istruzioni messe a disposizione dal pacchetto:`\documentclass{article}
\usepackage[italian]{babel}
\usepackage{datetime}\renewcommand{\today}{\thisdayofweekname\ \the\day\ \monthname\ \the\year}
\begin{document}
\today
\end{document}
`
È possibile ottenere lo stesso risultato (quindi anteponendo il nome del giorno della settimana al numero del giorno del mese) senza scomodare «datetime.sty»? Lo domando perché curiosando all’interno di «italian.ldf» ho notato la definizione`\def\dateitalian{%
\def\today{\number\day~\ifcase\month\or
gennaio\or febbraio\or marzo\or aprile\or maggio\or giugno\or
luglio\or agosto\or settembre\or ottobre\or novembre\or
dicembre\fi\space \number\year}}%
`
e mi è venuto in mente che si potrebbe copiare quell’«\ifcase…» in modo da definire a mano i nomi dei giorni (in italiano, «\or sabato\or domenica», ecc.). Resta da capire quale istruzione passargli (nell’esempio sopra, «\month») per eseguire il calcolo.Secondo problema (presumo meno difficile del primo), il pacchetto «babel.sty» non deve sparire; tuttavia, eventuali
`\renewcommand{\today}{…}
`
dopo il caricamento di babel sembrano non avere effetto, mentre invece funzionano se babel lo commento, cosa che non posso fare.Grazie e a presto.
- Devi essere connesso per rispondere a questo topic.