Scrivere misure in pollici con siunitx

  • Creatore
    Topic
  • #101305
    Up
    0
    Down
    ::


    Salve a tutti
    questo è il mio primo messaggio sul forum. Sono stato costretto a iscrivermi per farvi presente il mio problema in quanto fino ad ora ho sempre trovato tutte le risposte che cercavo tramite la funzione “cerca” oppure san Google mi rimandava a qualche vostra interessante discussione.
    Sto usando latex da qualche settimana per scrivere la mia tesi e devo dire che senza aver stampato e letto “L’arte di scrivere con latex” avrei abbandonato dopo poco. Ringrazio quindi gli autori che sono riusciti nella loro impresa, far imparare un nuovo programma (per niente banale) in maniera semplice e chiara.

    Dopo questa premessa passo a esporvi il mio problema. Mi trovo a dover scrivere alcune misure in pollici ma non riesco a rinvenirmi col pacchetto “siunitx”. In pratica leggendo questo topic http://guitex.org/home/it/forum/5-tex-e-latex/67747-risolto-scrivere-misure-in-pollici ho provato a copiare e incollare i codici proposti ma non ne funziona uno. Praticamente se io provo a copiare e incollare questo codice

    `\documentclass{article}
    \usepackage[output-decimal-marker={,}]{siunitx}
    \DeclareSIUnit[number-unit-product={}]{\inch}{$''$}

    \begin{document}
    \SI{12.3}{\inch}
    \end{document}`

    ottengo errore (mi dice che manca una { oppure che ne ho inserita una di troppo). Se scrivo invece:

    `\SI{12.3}{inch}`

    mi restituisce “12.3 inch” senza mettere il simbolo. La sintassi invece funziona se scrivo qualcosa tipo

    `\SI{12.3}{\milli\metre}`

    Qualcuno saprebbe indicarmi dove sbaglio? Nell’Arte non ho trovato nulla a riguardo. Inoltre qualcuno saprebbe dirmi come fare a scrivere le frazioni di pollice accanto al valore intero? Vorrei che la frazione si vedesse in formato matematico ma più piccola accanto al numero intero.

    Uso Miktex 2.9 e Texmaker su windows 7.

    Grazie a tutti

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #101306
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Ciao. Quella discussione che citi dovrebbe essere tutto quello che ti serve.
        Prova a compilare il seguente codice:
        `\documentclass{article}
        \usepackage[T1]{fontenc}
        \usepackage[utf8]{inputenc}
        \usepackage[italian]{babel}

        \usepackage[output-decimal-marker={,},detect-mode]{siunitx}
        \DeclareSIUnit[number-unit-product={}]{\inch}{$''$}

        \begin{document}
        \SI{12.3}{\inch}
        \end{document}`
        Alla prossima.
        R.

      • #101307
        Up
        0
        Down
        ::


        Ciao! Ti ringrazio infinitamente per l’aiuto perchè adesso funziona! Cioè l’unica differenza rispetto a quanto scrivevo io sta in “detect-mode”. Sapresti per caso aiutarmi anche per quanto riguarda la frazione da mettere piccola accanto al numero intero? Perchè nel topic linkato si dice

        Non credo che per lui sia un problema scrivere la frazione con la barra diagonale e con i numeri più piccolini;

        beh per me invece lo è 😀
        Oppure al limite potresti spiegarmi come si usa la macro citata? Perchè con un semplice copia/incolla non mi funziona….

        PS: come fate a scrivere il codice latex in quella finestra?

      • #101308
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::

          ste_unipi” post=101068Ciao! Ti ringrazio infinitamente per l’aiuto perchè adesso funziona! Cioè l’unica differenza rispetto a quanto scrivevo io sta in “detect-mode”. Sapresti per caso aiutarmi anche per quanto riguarda la frazione da mettere piccola accanto al numero intero? Perchè nel topic linkato si dice

          Non credo che per lui sia un problema scrivere la frazione con la barra diagonale e con i numeri più piccolini;

          beh per me invece lo è 😀
          Oppure al limite potresti spiegarmi come si usa la macro citata? Perché con un semplice copia/incolla non mi funziona….

          PS: come fate a scrivere il codice latex in quella finestra?

          Premetto che detesto i pollici: gli americani hanno sottoscritto e adottato il SI nel 1953, se ricordo bene, ma hanno reso equivalenti i pollici e le altre misure USA con fattori codificati per legge ai valori delle unità SI, e con questo si ritengono esenti dall’usare le unità che tutti capiscono nel resto del mondo.

          Tuttavia sono al corrente che anche in nostri tubisti, termotecnici e idraulici usano le filettature Witworth e i diametri dei tupi e relativa bullonerai in polici, pollici che non hanno nulla a che vedere con quelli “ufficiali” del mondo anglo, dove cioè un pollice sarebbe equivalente s 25,4mm. Prova a prendere un calibro e a misurare un tubo da un pollice e vedrai che misura ottieni. Capirai che i pollici dei tubisti sono “pollici convenzionali” e non pollici veri.

          Sfogatomi con questo commento ripeto il codice che avevo proposto in quella discussione:`\newcommand\tubo[3]{\ensuremath{#1''\^{#2}\!/\!_{#3}}}`Non mi sembra difficile da usare; Innanzi tutto bisogna copiare quel codice nel preambolo del prorio documento, stando attenti che il segno ”, non è un doppio apice ma sono due apici semplici (due apostrofi, insomma — la cosa è evidente nella parte del codice latex scritta sopra).

          Poi nel tuo testo per indicare un tubo da un pollice e mezzo, scrivi semplicemente [tt]\tubo{1}{1}{2}[/tt] il primo dei tre argomenti è il numero intero di pollici, il secondo è il numeratore “piccolino” e il terzo è il denominatore “piccolino”; ci pensa la macro a renderli piccolini perché li tratta come se fossero apici e pedici; quei segni [tt]\![/tt] servono per inserire spazi negativi per accostare sia il numeratore sia il denominatore alla barra / che vi si trova in mezzo; [tt]\ensuremath[/tt] è un comando stnadard che permette di scrivere alcune cose che richiedono di essere in ambiente matematico ma di cui l’utente non deve preoccuparsi anche se sta scrivendo in modo testo. Esiste un pacchettino per scrivere frazioni in quel modo, mi pare che si chiami nicefrac, ma non l’ho mai usato, anche perché, come leggi qui di seguito, le frazioni scritte con la barra e i numeri piccolini sono deprecate dalle norme internazionali.

          Non è una gran macro, ma è meglio di niente. Siccome le frazioni scritte in quel modo sono deprecate dalle norme internazionali (per la verità sono deprecati anche i pollici, a maggior ragione quelli che non valgono 25,4mm) io mi sono completamente dimenticato dell’esistenza di quella macro e faccio prima, essendo molto più chiaro, a indicare i pollici con il poro nome per disteso e l’indicazione completa con [tt] 1\,1/2 pollici[/tt]; mi è capitato l’ultima volta per esprimere in pollici le dimensioni della carta letter degli USA, che d’altronde avevo accompagnato con l’indicazione in millimetri. Coi tubi non lo puoi fare perché non ci sarebbe nessun tubista che potrebbe capire le misure vere dei tubi espresse i millimetri.

          Per scrivere codice latex su sfondo giallo e con la barra scura a sinistra, ma, essenzialmente, usando un font monospaziato, devi racchiudere il codice fra i marker appositi; questo sito ti rende le cose semplici in questo modo: scrivi il codice, lo evidenzi, poi clicchi l’icona per il codice che si trova nella barra superiore, proprio a destra dell’icona “quote” che hai cliccato tu per evidenziare le tue cose nel primo messaggio che hai scritto.

        • #101309
          Up
          0
          Down
          ::


          Grazie per la precisa spiegazione, veramente non avrei saputo chiedere di meglio! Diciamo che avevo intuito la struttura della macro ma adesso ho capito veramente come funziona.

          Il problema è che a me continua a non andare… nello specifico per fare una prova ho scritto questo codice:

          `
          \documentclass[11pt,a4paper,twoside ,openright ]{book}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage{microtype}
          \usepackage{indentfirst}
          \usepackage{amsfonts}
          \usepackage{amsmath}
          \usepackage{fancyhdr}
          \usepackage{fncychap}
          \usepackage{graphicx}
          \usepackage{caption}
          \usepackage[outercaption]{sidecap}
          \usepackage{rotating}
          \usepackage[output-decimal-marker={,},detect-mode]{siunitx}
          \graphicspath{{immagini/}}
          \captionsetup{tableposition=top,figureposition=bottom}
          \captionsetup{font=small,format=hang,labelfont={sf,bf}}
          \DeclareSIUnit[number-unit-product={}]{\inch}{$''$}
          \newcommand\tubo[3]{\ensuremath{#1''\^{#2}\!/\!_{#3}}}

          \begin{document}

          \tubo{6}{3}{4}

          \end{document}
          `

          ma ottengo un errore che dice ! Please use \mathaccent for accents in math mode. e inoltre ! You can’t use `\spacefactor’ in math mode.. Sembra che sia un problema di simboli che non possono essere usati in quell’ambiente.

        • #101310
          Up
          0
          Down
          ::


          ok ho risolto! Ho usato il pacchetto \usepackage[]{units} e quindi l’estensione nicefrac come suggerito da Claudio!

          Praticamente ho scritto:

          `
          6\,\nicefrac[]{3}{4}\si{\inch}
          `

          e il risultato è accettabile (sono indeciso se mettere uno o due spazi indivisibili).

          Ringrazio ancora per la pazienza e la disponibilità dimostrata. Alla prossima!

        • #101311
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Ecco, così si fa; non si dice”a me dà errore” ma si riporta il messaggio d’errore; infatti il backslash prima di ^ non ci vuole; la sintassi giusta è`\newcommand\tubo[3]{\ensuremath{#1''^{#2}\!/\!_{#3}}}`

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

        Go to top