Preambolo lungo: transizione MacTeX 2007 -> MacTeX 2009

  • Creatore
    Topic
  • #40502
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti. Mi scuso in anticipo se non propongo un ECM, ma vorrei approfittare di questo topic per sottoporre a controllo tutto il preambolo dell’Arte.
      `\documentclass{scrreprt}

      \usepackage[applemac]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage{textcomp}
      \usepackage{amsmath,amssymb,amsthm}
      \usepackage{amscd}
      \usepackage[italian]{varioref}
      %\usepackage[style=philosophy-modern,hyperref,backref,square,natbib]{biblatex}
      \usepackage{indentfirst}
      \usepackage[tight,italian]{minitoc}
      \usepackage{wrapfig}
      \usepackage{makeidx}
      \usepackage{multicol}
      \usepackage{chngpage,calc}
      \usepackage{float}
      \usepackage{braket}
      \usepackage{mhchem}
      \usepackage{empheq}
      \usepackage[writefile]{listings}
      \usepackage{enumitem}
      \usepackage{calligra}
      \usepackage{comment}
      \usepackage{shapepar,lettrine}
      \usepackage{epigraph}
      \usepackage{verbatim}
      \usepackage{numprint}
      \usepackage{shorttoc}
      \usepackage[dvipsnames,table]{xcolor}
      \usepackage{classicthesis-ldpkg}
      \usepackage{classicthesis}
      \usepackage{xfrac}
      \usepackage{mathtools}
      \usepackage{mflogo}
      \usepackage[english,italian]{babel}
      \usepackage[italian]{arsclassica}
      \usepackage{path}
      \let\amssquare\square
      \usepackage{xymtex}
      \let\xymsquare\square
      \renewcommand{\square}{\amssquare}
      \usepackage{eurosym}
      \usepackage{guit}
      \usepackage{multirow,dcolumn,ctable,footnote,colortbl}
      \usepackage{siunitx}
      \usepackage{sidecap}

      \begin{document}

      \begin{table}
      \caption{Dida.}
      \centering
      \begin{tabular}{cc}
      a & a
      \end{tabular}
      \vspace{1.0em}
      \stepcounter{table}
      \ContinuedFloat
      \caption{Dida.}
      \centering
      \begin{tabular}{cc}
      a & a
      \end{tabular}
      \end{table}

      \end{document}`
      (Ho commentato la chiamata a biblatex perché è incompatibile con le versioni standard di ClassicThesis e ArsClassica.)

      Questo documento viene compilato bene sul mio iBook (con una MacTeX 2007), ma non (ancora!) sul mio nuovo iMac (con MacTeX 2009).

      I problemi sono questi:

      1. La convivenza di xymtex con amsmath prima era problematica, dal momento che entrambi definivano \square, in modo diverso. Questo problema era stato risolto con trucco suggerito da Enrico. Ora però il codice produce questo errore
      `l.47 \renewcommand{\square}
      {\amssquare}
      ? `
      Immagino che i pacchetti siano stati aggiornati, e che almeno uno dei due abbia rinunciato a definire \square: quale dei due? O tutti e due? Ho notato che se nel preambolo carico semplicemente xymtex dopo amsmath e nel documento scrivo \square, ottengo un messaggio di
      `! Undefined control sequence.`

      2. Il comando \ContinuedFloat produce il seguente errore di caption:
      `! Package caption Error: Not available in compatibility mode.`

      3. Se carico xfrac, ottengo questo errore:
      `This is a LaTeX bug: check coding!
      ! Command name `\if_num:w' already defined! Current meaning: \ifnum.
      \msg_kernel_bug:x …oding!}\tex_errmessage:D {#1}

      l.56 \cs_new_eq:NN \if_num:w
      \tex_ifnum:D
      ?
      `

      4. Mi piacerebbe che gli esperti del forum dessero un’occhiata all’ordine di caricamento dei pacchetti, per vedere se c’è qualcosa che si può migliorare.

      Questo messaggio viola la netiquette del forum. Chiedo scusa a tutti. Solo, vorrei sottoporre alla vostra attenzione una parte importante della mia guida…

      Grazie mille,
      L.

    Visualizzazione 4 filoni di risposte
    • Autore
      Risposte
      • #40503
        Up
        0
        Down
        ::

        Ciao a tutti. Mi scuso in anticipo se non propongo un ECM, ma vorrei approfittare di questo topic per sottoporre a controllo tutto il preambolo dell’Arte.

        Questo documento viene compilato bene sul mio iBook (con una MacTeX 2007), ma non (ancora!) sul mio nuovo iMac (con MacTeX 2009).

        I problemi sono questi:

        1. La convivenza di xymtex con amsmath prima era problematica, dal momento che entrambi definivano \square, in modo diverso. Questo problema era stato risolto con trucco suggerito da Enrico. Ora però il codice produce questo errore
        `l.47 \renewcommand{\square}
        {\amssquare}
        ? `
        Immagino che i pacchetti siano stati aggiornati, e che almeno uno dei due abbia rinunciato a definire \square: quale dei due? O tutti e due? Ho notato che se nel preambolo carico semplicemente xymtex dopo amsmath e nel documento scrivo \square, ottengo un messaggio di
        `! Undefined control sequence.`

        2. Il comando \ContinuedFloat produce il seguente errore di caption:
        `! Package caption Error: Not available in compatibility mode.`

        3. Se carico xfrac, ottengo questo errore:
        `This is a LaTeX bug: check coding!
        ! Command name `\if_num:w' already defined! Current meaning: \ifnum.
        \msg_kernel_bug:x …oding!}\tex_errmessage:D {#1}

        l.56 \cs_new_eq:NN \if_num:w
        \tex_ifnum:D
        ?
        `

        4. Mi piacerebbe che gli esperti del forum dessero un’occhiata all’ordine di caricamento dei pacchetti, per vedere se c’è qualcosa che si può migliorare.

        Questo messaggio viola la netiquette del forum. Chiedo scusa a tutti. Solo, vorrei sottoporre alla vostra attenzione una parte importante della mia guida…

        Devi prima di tutto caricare etex, subito dopo \documentclass, hai un problema di “troppi registri da allocare.

        Il tuo problema 1 a me non appare e \square è perfettamente definito (come in amsmath). Suppongo sia per via della nuova versione di XyMTeX recentemente apparsa su CTAN e che non ho installato. In ogni caso il codice non dovrebbe dare alcun errore. Puoi produrre un esempio minimo di “\square” che dia un errore?

        Problema 2: c’è un’incompatibilità nata di recente tra caption e hyperref, che ancora non è stata risolta :(; si tratta di una ridefinizione di \caption da parte di hyperref per motivi che Oberdiek ha giudicato importanti, ma che il pacchetto caption non riconosce e quindi smette di agire. La risolvi momentaneamente caricando
        `\usepackage[compatibility=false]{caption}`
        prima di minitoc, già che ci sei.

        Problema 3: questo è un vecchio problema di xfrac, pacchetto che non ha dignità di menzione, secondo me. Fa cose inutili per la maggior parte delle persone e c’è nicefrac che fa più o meno lo stesso per quei pochi che ne dovessero aver bisogno.

        Ciao
        Enrico

      • #40504
        Up
        0
        Down
        ::

        Il tuo problema 1 a me non appare e \square è perfettamente definito (come in amsmath). Suppongo sia per via della nuova versione di XyMTeX recentemente apparsa su CTAN e che non ho installato. In ogni caso il codice non dovrebbe dare alcun errore. Puoi produrre un esempio minimo di “\square” che dia un errore?

        Incuriosito ho dato un’occhiata alla nuova versione di XyMTeX, scoprendo che c’è un evidente errore in aliphat.sty (riga 1574):
        `\let\square\squarplanar`
        dovrebbe essere ovviamente
        `\let\square\squareplanar`
        È chiaro che la definizione sbagliata rende \square non definito (non è definito \squarplanar) e quindi il \renewcommand{\square}{\amssquare} produce l’errore!

        Soluzione: aggiungi \providecommand{\square}{} prima di \renewcommand{\square}{\amssquare} e togli pure \let\xymsquare\square che non serve più a nulla.

        Ciao
        Enrico

      • #40505
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::


          Grande Enrico! Tutto risolto.

          1. Allora, il codice che ho usato per mettere d’accordo xymtex e amsmath è questo:
          `\let\amssquare\square
          \usepackage{xymtex}
          \providecommand{\square}{}
          \renewcommand{\square}{\amssquare}`

          2. Ho usato nicefrac al posto di xfrac (sempre per sconsigliarlo, naturalmente!). Nessun problema, ora.

          3. L’unico problema con la nuova versione è che le testatine dell’indice generale (tutte, non solo la prima o la seconda) sono in minuscolo (invece che in maiuscoletto basso spaziato). Il codice che uso è sempre quello
          `refstepcounter{dummy}
          \pdfbookmark[1]{\contentsname}{tableofcontents}
          \setcounter{tocdepth}{2}
          \shorttoc{Argomenti}{0}
          \dominitoc\tableofcontents
          \markboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}} `
          Prima funzionava, ora no. 🙁 Immagino possa dipendere dal fatto che le classi KOMA sono state aggiornate. Mi aiuti ancora una volta?

          Grazie mille,
          L.

        • #40506
          Up
          0
          Down
          ::

          Grande Enrico! Tutto risolto.

          1. Allora, il codice che ho usato per mettere d’accordo xymtex e amsmath è questo:
          `\let\amssquare\square
          \usepackage{xymtex}
          \providecommand{\square}{}
          \renewcommand{\square}{\amssquare}`

          2. Ho usato nicefrac al posto di xfrac (sempre per sconsigliarlo, naturalmente!). Nessun problema, ora.

          3. L’unico problema con la nuova versione è che le testatine dell’indice generale (tutte, non solo la prima o la seconda) sono in minuscolo (invece che in maiuscoletto basso spaziato). Il codice che uso è sempre quello
          `refstepcounter{dummy}
          \pdfbookmark[1]{\contentsname}{tableofcontents}
          \setcounter{tocdepth}{2}
          \shorttoc{Argomenti}{0}
          \dominitoc\tableofcontents
          \markboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}} `
          Prima funzionava, ora no. 🙁 Immagino possa dipendere dal fatto che le classi KOMA sono state aggiornate. Mi aiuti ancora una volta?

          Non vedo motivi per i quali il codice dovrebbe dare risultati diversi. Che cosa faccia scrrprt sinceramente non lo so e non penso di aver voglia di studiarlo. Forse occorre qualche \manualmark.

          Ciao
          Enrico

        • #40507
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            Non vedo motivi per i quali il codice dovrebbe dare risultati diversi. Che cosa faccia scrrprt sinceramente non lo so e non penso di aver voglia di studiarlo. Forse occorre qualche \manualmark.

            Credimi, viene diverso. Però con \manualmark ho risolto! Il codice che uso ora per produrre l’indice è
            `\manualmark
            \markboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}
            \refstepcounter{dummy}
            \pdfbookmark[1]{\contentsname}{tableofcontents}
            \setcounter{tocdepth}{2}
            \dominitoc\tableofcontents
            \markboth{\spacedlowsmallcaps{\contentsname}}{\spacedlowsmallcaps{\contentsname}}
            `
            Funziona (e ti ringrazio!). È pesante, ma funzione.

            Grazie ancora,
            L.

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

        Go to top