febbraio e anno bisestile

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


      voglio fare un test se l’anno è bis sesto ed è febbraio succede una cosa altrimenti un altra
      ho fatto varie prove
      ma non nascondo la mia ignoranza
      ho fatto varie prove di test la prima funziona la seconda no perché?
      ecco il codice

      `
      \documentclass[10pt,a4paper]{article}
      \usepackage[utf8]{inputenc}
      \usepackage{etoolbox}
      \newcounter{countA}
      \newtoggle{bisestile}
      \togglefalse{bisestile}
      \newcommand{\testbisestile}[1]{
      \setcounter{countA}{#1}
      \ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}{\toggletrue{bisestile}}{\togglefalse{bisestile}}
      }
      \newcommand{\testbisestiledue}[1]{
      \setcounter{countA}{#1}
      \ifnumcomp{(\value{countA}/4)*4-\value{countA}}{=}{0}{1}{0}
      }

      \newcommand{\testdue}[2]{#2
      \testbisestile{#1}
      \ifboolexpr{
      test {\ifnumcomp{#2}{=}{2}}
      and test {\iftoggle{bisestile}} } {bisestile}{non bisestile}
      }
      \newcommand{\testtre}[2]{#2
      \ifboolexpr{
      test {\ifnumcomp{#2}{=}{2}}
      and test {\ifnumcomp{\value{\testbisestiledue{#1}}}{=}{2}} } {bisestile}{non bisestile}
      }
      \begin{document}
      \testdue{2008}{2}\testbisestiledue{2008}

      \testdue{2009}{2}\testbisestiledue{2009}

      \testtre{2008}{2}

      \testtre{2009}{2}
      \end{document}
      `
      grazie per il vostro tempo
      claudio

      ps non sono testati gli anni bisestili millenari

    Visualizzazione 0 filoni di risposte
    • Autore
      Risposte
      • #101653
        mcl1962
        Partecipante
          Up
          0
          Down
          ::


          Ciao.

          Non sono pratico di programmazione con LaTeX e non so dirti cosa non funziona, ma ricordati che un anno N > 1582 (a causa della riforma gregoriana del calendario) è bisestile se N è divisibile per 400 oppure se N è divisibile per 4 ma non per 100. Per esempio: 2000 è bisestile, ma 1900 non è bisestile.

          Claudio

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

      Go to top