units comportamento modificato

  • Creatore
    Topic
  • #104675
    Up
    0
    Down
    ::


    Nel 2010 ho scritto un intero libro di carattere ingegneristico.
    Per le unità di misura, e anche qualche altra volta, utilizzo la sintassi
    $1\unit{cm^2}$
    10\unit{k\euro}
    4\unit{bit}

    Non mi sembra che nel 2010 includessi nessun package particolare e tutto funzionava egregiamente inserendo un spazio tra il numero e l’unità di misura nel file compilato, l’utilizzo di \unit, inoltre, impediva che vi fosse un’andata a capo tra il numeor e l’unità.

    Ora, 2016, ho provato a compilare nuovamente i vecchi file e , dapprima ho ricevuto degli errori.
    Poi ho aggiunto il package units.sty e gli errori si sono eliminati.

    Purtroppo, il file compilato ora non inserisce uno spazio tra il numeor e l’unità di misura quindi invece di ottenere:
    4 bit
    ottengo
    4bit

    Domande:
    1) C’è stato qulache cambiamento nell’utilizzo di \unit?

    2) Come posso risolvere in maniera “indolore”? Non vorrei dover rieditare l’intero libro…

    Grazie per l’aiuto.

    I package che carico sono:

    % Preamble with loaded packages
    \usepackage[pdftex]{graphicx}
    \graphicspath{
    {./…}
    {./…}
    }
    \DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}

    \usepackage{subfig}
    \usepackage{url}

    \usepackage{eurosym}
    \usepackage{cite}
    \usepackage{cuted}
    \usepackage{textcomp}
    \usepackage[latin1]{inputenc}
    \usepackage{setspace}
    \usepackage{sidecap}
    \usepackage{multirow}
    \usepackage{listings}
    \usepackage{caption}
    \usepackage{sectsty}
    \usepackage{enumitem}
    \usepackage{array}
    \usepackage[italian]{babel}
    \usepackage{threeparttable}
    \usepackage{units} % aggiunto nel 2015 ma nel 2010 non era presente

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #104676
      Up
      0
      Down
      ::


      A me funziona, ma mettendo il numero tra parentesi quadre, cioè `\unit[4]{bit}`

    • #104677
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::

        gatsu71″ post=104709Nel 2010 ho scritto un intero libro di carattere ingegneristico.
        Per le unità di misura, e anche qualche altra volta, utilizzo la sintassi
        $1\unit{cm^2}$
        10\unit{k\euro}
        4\unit{bit}

        Non mi sembra che nel 2010 includessi nessun package particolare e tutto funzionava egregiamente inserendo un spazio tra il numero e l’unità di misura nel file compilato, l’utilizzo di \unit, inoltre, impediva che vi fosse un’andata a capo tra il numeor e l’unità.

        Ora, 2016, ho provato a compilare nuovamente i vecchi file e , dapprima ho ricevuto degli errori.
        Poi ho aggiunto il package units.sty e gli errori si sono eliminati.

        Purtroppo, il file compilato ora non inserisce uno spazio tra il numeor e l’unità di misura quindi invece di ottenere:
        4 bit
        ottengo
        4bit

        Domande:
        1) C’è stato qulache cambiamento nell’utilizzo di \unit?

        2) Come posso risolvere in maniera “indolore”? Non vorrei dover rieditare l’intero libro…

        Grazie per l’aiuto.

        I package che carico sono:

        % Preamble with loaded packages
        \usepackage[pdftex]{graphicx}
        \graphicspath{
        {./…}
        {./…}
        }
        \DeclareGraphicsExtensions{.pdf,.jpeg,.jpg}

        \usepackage{subfig}
        \usepackage{url}

        \usepackage{eurosym}
        \usepackage{cite}
        \usepackage{cuted}
        \usepackage{textcomp}
        \usepackage[latin1]{inputenc}
        \usepackage{setspace}
        \usepackage{sidecap}
        \usepackage{multirow}
        \usepackage{listings}
        \usepackage{caption}
        \usepackage{sectsty}
        \usepackage{enumitem}
        \usepackage{array}
        \usepackage[italian]{babel}
        \usepackage{threeparttable}
        \usepackage{units} % aggiunto nel 2015 ma nel 2010 non era presente

        Perché non passare al pacchetto siunitx?
        R.

      • #104678
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          La modifica ha avuto luogo nel modulo italian di babel; per impostazione predefinita il comando \unit è definito ma è disabilitato; siccome sono passati quasi sei anni da allora ti suggerisco di leggere la documentazione di italian ( terminale; texdoc babel-italian; invio; lettura); sono cambiate diverse cose. Ne ho dato annuncio anche qui sul forum, ma purtroppo ci sono tanti messaggi e se se ne perde uno poi non lo si vede più.

        • #104679
          Up
          0
          Down
          ::


          Sono davvero perplesso.

          Ho sempre detto che latex è superiore a Word proprio perchè utilizza file asccii e anche a distanza di tempo si può compilare senza perdere la compatibilità con il pregresso.
          Se questo viene a mancare mi sembra un grande problema.

        • #104680
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            La compatibilità assoluta non dipende dai caratteri ASCII ma dalle classi e dai pacchetti usati.

            Anche babel, benché sia sulla scena da circa circa 25 anni (prima non c’era, quindi la compatibilità dove sarebbe stata?) si aggiorna e oggi è irriconoscibile rispetto a 25 anni fa.

            La compatibilità con il passato può essere una palla al piede; certo quando ho riscritto/aggiornato il modulo per l’italiano per babel avrei potuto metterci uno switch per selezionare le funzionalità precedenti, ma lo stesso switch non presente prima, sarebbe stato una rottura con la retrocompatibilità.

            Invece c’è uno switch \setISOcompliance che ti restituisce la funzionalità del comando \unit e non hai da cambiare niente del tuo vecchio documento; hai letto la documentazione che ti ho detto di leggere? Se sì, hai sicuramente già inserito \setISOcompliance nel tuo documento e non hai avuto più problemi di retrocompatibilità.

            Se hai letto la documentazione hai sicuramente anche capito quali siano state le motivazioni per definire \unit, ma renderlo usabile solo se esplicitamente attivato; non è che io mi sia svegliato una mattina mettendo giù il piede sbagliato e abbia deciso di rompere le scatole agli utenti che ne avevano fatto uso e che avrebbero voluto continuare a farlo.

            Come hai visto anche il doppio apice attivo ” ora non è più attivo per impostazione predefinita e bisogna attivarlo esplicitamente. Perché ho deciso in questo senso? Perché ero stanco di ricevere insulti perché qualche str… aveva reso attivo il doppio apice. Ce ne è uno anche in un vecchio messaggio qui sul forum, ma non era l’unico. Benissimo; ora il doppio apice fa quel che deve fare, ma lo fa solo se chi lo vuole usare lo rende attivo con \setactivedoublequote.

            Ora, specialmente si si riprendono in mano vecchi documenti è normale aspettarsi che qualcosa possa essere cambiato; quindi la prima cosa da fare è farsi un elenco di tutti i pacchetti caricati e leggersi la documentazione delle nuove versioni; dopo di che la retrocompatibilità esiste ancora, magari con qualche semplice “aiutino” 🙂

          • #104681
            Up
            0
            Down
            ::


            Grazie per le info.

            in effetti ho ‘letto’ il documento (in effetti sono corso velocemente al punto dove si indicava come riattivare il comando \unit) ed ora tutto funziona bene.

            Il pacchetto babel nel mio preambolo è ora attivaot nel seguente modo:

            \usepackage[italian]{babel}
            \setISOcompliance % added in 2016 to overcome the disabled \unit commad in the italian babel package

            Ringrazio sempre gli sviluppatori che tengono vivo e free il Latex.
            Questi forum sono poi meravigliosi.
            Quando usavo il latex ne 1995 senza il web era davvero un problema superare anche le più piccole difficoltà.

            Buon lavoro.

          • #104682
            robitex
            Amministratore del forum
              Up
              0
              Down
              ::

              gatsu71″ post=104740Grazie per le info.

              in effetti ho ‘letto’ il documento (in effetti sono corso velocemente al punto dove si indicava come riattivare il comando \unit) ed ora tutto funziona bene.

              Il pacchetto babel nel mio preambolo è ora attivaot nel seguente modo:

              \usepackage[italian]{babel}
              \setISOcompliance % added in 2016 to overcome the disabled \unit commad in the italian babel package

              Ringrazio sempre gli sviluppatori che tengono vivo e free il Latex.
              Questi forum sono poi meravigliosi.
              Quando usavo il latex ne 1995 senza il web era davvero un problema superare anche le più piccole difficoltà.

              Buon lavoro.

              Buon lavoro anche a te, ma ricordati che il GuIT non vive di aria ma — guarda caso — di lavoro libero e gratuito. Non dimenticarci…
              R.

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

          Go to top