MiKTeX e Babel: errore con la lingua italiana

  • Creatore
    Topic
  • #6459
    Up
    0
    Down
    ::


    Ho notato che l’ultimo aggiornamento di MiKTeX (del 14 luglio 2005) ha apportato modifiche ai files di babel relativi alla lingua italiana. Queste modifiche causano errori di diversa natura e sono riuscito ad isolare un errore prodotto dal pacchetto fancyhdr quando si utilizzano le variabili \rightmark e \leftmark.

    Non avendo avuto tempo di indigare a fondo il problema, ho risolto sostituendo i files italian.ldf e italian.sty con quelli della distribuzione precedente.

    Il fatto che l’errore non sia stato ancora segnalato a chi di dovere mi fa sospettare che sia l’unico utente ad averlo incontrato (tra i molti che plausibilmente utilizzano MiKTeX in Italia). Mi farebbe piacere avere un feedback dagli altri utenti che usano babel in italiano con MiKTeX.

Visualizzazione 9 filoni di risposte
  • Autore
    Risposte
    • #6460
      Up
      0
      Down
      ::


      Rettifica. Per far funzionare correttamente babel, è necessario copiare tutta la cartella della precedente distribuzione, non bastano i due file italian.*.

    • #6461
      andrea.cardellicchio
      Partecipante
        Up
        0
        Down
        ::


        Salve,

        Ho avuto lo stesso problema con babel e fancyhdr.

        Quello che mi capita è che quando vado a compilare il sorgente che ho incollato qui di seguito mi riporta 17 errori che dicono: “Package babel Error: You haven’t defined the language ITALIAN yet”.

        `\documentclass[11pt,a4paper,openright,twoside]{book}

        \usepackage[binding=1.5cm]{layaureo}
        \usepackage[italian,english]{babel}
        \usepackage[latin1]{inputenc}

        \usepackage[bottom]{footmisc}

        \usepackage[pdftex]{graphicx}

        \usepackage{subfigure}
        \usepackage{rotating}

        \usepackage{tabulary}
        \usepackage{ctable}
        \usepackage{multirow}
        \usepackage{longtable}

        \usepackage{indentfirst}

        \usepackage{fancyhdr}
        \usepackage{tocbibind}

        \usepackage[Lenny]{fncychap}
        \usepackage[italian,tight,nohints]{minitoc}

        \usepackage[hyperindex]{hyperref}

        \usepackage{amsmath}
        \usepackage{amsfonts}

        \usepackage[np]{numprint}
        \usepackage[amssymb,italian]{SIunits}

        \usepackage{refcheck}

        \usepackage{lipsum}

        \pagestyle{fancy}

        \headheight 14pt
        \newcommand{\fncyfront}{%
        \fancyhead[RO]{\footnotesize{Andrea Cardellicchio}}
        \fancyfoot[RO]{\thepage}
        \fancyhead[LE]{\footnotesize{\today}}
        \fancyfoot[LE]{\thepage}
        \fancyhead[RE,LO]{}
        \fancyfoot[C]{}
        \renewcommand {\headrulewidth}{0.3pt}}
        \newcommand{\fncymain}{%
        \fancyhead[RO]{{\footnotesize\MakeUppercase
        \rightmark}}
        \fancyfoot[RO]{\thepage}
        \fancyhead[LE]{{\footnotesize\MakeUppercase
        \leftmark}}
        \fancyfoot[LE]{\thepage}
        \fancyfoot[C]{}
        \renewcommand{\headrulewidth}{0.3pt}}

        \makeatletter
        \def\cleardoublepage{\clearpage\if@twoside
        \ifodd\c@page
        \else\hbox{}\thispagestyle{empty}\newpage
        \if@twocolumn\hbox{}\newpage \fi\fi\fi}
        \makeatother

        \begin{document}
        \selectlanguage{italian}

        \fncyfront
        \frontmatter

        \input{0-Intro} % c'è solo testo generato con lipsum diviso in capitoli e sezioni

        \clearpage
        \fncymain
        \mainmatter

        \input{1-CapitoloUno} % c'è solo testo generato con lipsum diviso in capitoli e sezioni

        \appendix

        \input{A-AppendiceA} % c'è solo testo generato con lipsum diviso in capitoli e sezioni

        \backmatter
        \bibliography{biblio}
        \bibliographystyle{natbib}

        \end{document}`

        Uso Miktex 2.5 sotto windows xp sp2

        Leggendo il forum ci sono 3 soluzioni proposte:

          Cancella il file .aux, quando cambi le lingue date come opzione a babel.

          Mi pare che questo problema lo abbia avuto anche io in passato.
          Sono andato sulla mia versione di miktex->settings->language e ho selezionato SOLO l’italiano…prova così…vediamo che succede

          Per far funzionare correttamente babel, è necessario copiare tutta la cartella della precedente distribuzione, non bastano i due file italian.*.

        Le prime due non hanno sortito alcun effetto, mentre per quanto riguarda quella di Lapo non riesco a trovare sul web la cartella babel della distribuzione 2.4.

        Per caso è stata trovata qualche soluzione più elegante nel frattempo?
        Potete indicarmi dove avete trovato la cartella di babel della vecchia distribuzione di Miktex?

        Grazie mille.

      • #6462
        Up
        0
        Down
        ::

        Per caso è stata trovata qualche soluzione più elegante nel frattempo?

        Non che io sappia.

        Potete indicarmi dove avete trovato la cartella di babel della vecchia distribuzione di Miktex?

        Puoi scaricarlo da qua (http://web.mit.edu/texsrc/source/generic/babel/). Ti basta sostituire i files che hai già con quelli del sito che sono più vecchi.

        Mi piacerebbe sapere da dove nasce il problema e come mai nessuno prima di te lo abbia notato però non ho avuto tempo per dedicarmici.

      • #6463
        andrea.cardellicchio
        Partecipante
          Up
          0
          Down
          ::


          Salve,

          Purtroppo anche con l’accorgimento di sostituire babel con quello di una vecchia distribuzione non riesco a risolvere ed ho gli stessi errori. Certo potrei aver sbagliato a sostituire le cartelle, ma non ho fatto altro che rimuovere quella nuova, sostituirla con la vecchia e fare il refresh e l’update.

          A questo punto la tentazione di tenermi gli errori come fossero delle warning è forte visto che compila lo stesso ed il file di output è come lo voglio io.

          Le uniche osservazioni che posso fare sono che:

            commentando tutti i `%\lipsum[1]` riesco a ridurre gli errori da 17 a 2
            anche se commento `%\usepackage{fancyhdr}` ottengo ancora 2 errori

          Se qualcuno trova una soluzione me lo faccia sapere perché in effetti tutti quegli errori mi disturbano un po’!

        • #6464
          Up
          0
          Down
          ::

          Ho avuto lo stesso problema con babel e fancyhdr.

          Quello che mi capita è che quando vado a compilare il sorgente che ho incollato qui di seguito mi riporta 17 errori che dicono: “Package babel Error: You haven’t defined the language ITALIAN yet”.
          `\documentclass[11pt,a4paper,openright,twoside]{book}

          \newcommand{\fncymain}{%
          \fancyhead[RO]{{\footnotesize\MakeUppercase
          \rightmark}}
          \fancyfoot[RO]{\thepage}
          \fancyhead[LE]{{\footnotesize\MakeUppercase
          \leftmark}}
          \fancyfoot[LE]{\thepage}
          \fancyfoot[C]{}
          \renewcommand{\headrulewidth}{0.3pt}}

          \end{document}`

          Cancella quei due \MakeUppercase.

          Ciao
          Enrico

        • #6465
          andrea.cardellicchio
          Partecipante
            Up
            0
            Down
            ::

            Cancella quei due \MakeUppercase.

            Grande!

            In questo caso non da’ alcun errore.
            Ho provato anche con la nuova distribuzione e non da’ errori neanche in questo caso.
            Presumo quindi che la soluzione finale sia di rimuovere i due \MakeUppercase e utilizzare completamente Miktex 2.5
            Anche rimuovendo quel comando le testatine sono comunque maiuscole.

            Di nuovo grazie mille.

          • #6466
            Up
            0
            Down
            ::

            Cancella quei due \MakeUppercase.

            Come mai? Che comando va usato al loro posto?

          • #6467
            Up
            0
            Down
            ::

            Cancella quei due \MakeUppercase.

            Come mai? Che comando va usato al loro posto?

            Non ho indagato a fondo su quanto succede in quella situazione. Sta di fatto che erano quelli che creavano il problema, perché evidentemente nel \leftmark e nel \rightmark c’è anche un comando “\selectlanguage{italian}” che, con \MakeUppercase, diventa un “\selectlanguage{ITALIAN}”: a questo punto c’è l’errore.

            In questo caso sono inutili, visto che non erano stati ridefiniti i \…mark i quali, per le classi standard, contengono già il comando \MakeUppercase.

            Ciao
            Enrico

          • #6468
            Up
            0
            Down
            ::

            [quote]Cancella quei due \MakeUppercase.

            Come mai? Che comando va usato al loro posto?

            Non ho indagato a fondo su quanto succede in quella situazione. Sta di fatto che erano quelli che creavano il problema, perché evidentemente nel \leftmark e nel \rightmark c’è anche un comando “\selectlanguage{italian}” che, con \MakeUppercase, diventa un “\selectlanguage{ITALIAN}”: a questo punto c’è l’errore.

            In questo caso sono inutili, visto che non erano stati ridefiniti i \…mark i quali, per le classi standard, contengono già il comando \MakeUppercase.

            Ciao
            Enrico[/quote]

            Grande! Non sopportavo davvero più di avere due o tre errori del genere a pagina…

          • #6469
            Up
            0
            Down
            ::

            In questo caso sono inutili, visto che non erano stati ridefiniti i \…mark i quali, per le classi standard, contengono già il comando \MakeUppercase.

            Nel mio preambolo avevo ridefinito i mark e quindi avevo bisogno del comando \MakeUppercase. Ho risolto spostando \MakeUppercase dentro la ridefinizione dei mark. Finalmente questa questione è stata risolta. Grazie Enrico. Ho anche corretto l’articolo sulla scrittura della tesi di laurea che riportava il codice non funzionanante con le ultime versioni di babel.

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

        Go to top