[Risolto]Allineamento al punto di tabelle contenenti formule

  • Creatore
    Topic
  • #34799
    Up
    0
    Down
    ::


    Salve a tutti,
    ho la seguente tabella

    `
    \begin{table}[htb]
    \centering
    \caption{Coefficienti Aerodinamici ottenuti mediante metodo a pannelli sorgente utilizzando diverse pannellazioni}
    \label{tab:Coefficienti}
    \subfloat[][4 Pannelli]{%
    \begin{tabular}{ll}
    \toprule
    $C_l$ & $-3.33\times10^{-16}$\\
    $C_d$ & $5.55\times10^{-16}$\\
    $C_m$ & $1.11\times10^{-16}$\\
    \bottomrule
    \end{tabular}
    \label{tab:Coeff4Pann}
    }
    \quad
    \subfloat[][100 Pannelli]{%
    \begin{tabular}{ll}
    \toprule
    $C_l$ & $-5.83\times10^{-17}$\\
    $C_d$ & $-1.04\times10^{-16}$\\
    $C_m$ & $-3.78\times10^{-16}$\\
    \bottomrule
    \end{tabular}
    \label{tab:Coeff100Pann}
    }
    \end{table}
    `

    Vorrei che i numeri nella tabella di sinistra fossero allineati al punto.

    Ho provato con Dcolumn, ma non mi permette di inserire matematica all’interno della colonna.
    Avrei parzialmente risolto utilizzando dcolumn per una colonna contenente i soli numeri, e in una colonna affianco posizionare il termine esponenziale. Ovviamente questa soluzione è del tutto insoddisfacente, essendo lo spazio tra la colonna ‘numerica’ e la colonna ‘esponenziale’ troppo ampio rispetto allo spazio normalmente inserito dal Latex.

    Grazie,
    Roberto

Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #34800
      Antonio Ledda
      Partecipante
        Up
        0
        Down
        ::

        Salve a tutti,
        ho la seguente tabella

        `
        \begin{table}[htb]
        \centering
        \caption{Coefficienti Aerodinamici ottenuti mediante metodo a pannelli sorgente utilizzando diverse pannellazioni}
        \label{tab:Coefficienti}
        \subfloat[][4 Pannelli]{%
        \begin{tabular}{ll}
        \toprule
        $C_l$ & $-3.33\times10^{-16}$\\
        $C_d$ & $5.55\times10^{-16}$\\
        $C_m$ & $1.11\times10^{-16}$\\
        \bottomrule
        \end{tabular}
        \label{tab:Coeff4Pann}
        }
        \quad
        \subfloat[][100 Pannelli]{%
        \begin{tabular}{ll}
        \toprule
        $C_l$ & $-5.83\times10^{-17}$\\
        $C_d$ & $-1.04\times10^{-16}$\\
        $C_m$ & $-3.78\times10^{-16}$\\
        \bottomrule
        \end{tabular}
        \label{tab:Coeff100Pann}
        }
        \end{table}
        `

        Vorrei che i numeri nella tabella di sinistra fossero allineati al punto.

        Ho provato con Dcolumn, ma non mi permette di inserire matematica all’interno della colonna.
        Avrei parzialmente risolto utilizzando dcolumn per una colonna contenente i soli numeri, e in una colonna affianco posizionare il termine esponenziale. Ovviamente questa soluzione è del tutto insoddisfacente, essendo lo spazio tra la colonna ‘numerica’ e la colonna ‘esponenziale’ troppo ampio rispetto allo spazio normalmente inserito dal Latex.

        Grazie,
        Roberto

        Ci ho lavorato un po’:

        `\documentclass[a4paper,12pt]{book}
        \usepackage[italian]{babel}
        \usepackage{array}
        \usepackage{booktabs}
        \usepackage{subfig}

        \begin{document}

        \begin{table}[t]
        \centering
        \caption{Coefficienti Aerodinamici ottenuti mediante metodo a pannelli sorgente utilizzando diverse pannellazioni}
        \label{tab:Coef}
        \subfloat[][4 Pannelli]{%
        \newcolumntype{A}{>{$}c<{$}}% Specifico il modo matematico. \newcolumntype{Q}{>{$}l<{$}}% Specifico il modo matematico. \newcolumntype{V}{>{$}r<{$}}% Specifico il modo matematico. \begin{tabular}{QV@{,}Q} \toprule% C_l & -33333212 & 33\times10^{-16}\\ C_d & 5 & 55\times10^{-16}\\ C_m & 1 & 112121121\times10^{-16}\\ \bottomrule% \end{tabular} } \end{table} \begin{table}[t] \centering \caption{Coefficienti Aerodinamici ottenuti mediante metodo a pannelli sorgente utilizzando diverse pannellazioni} \label{tab:Coefficienti} \subfloat[][4 Pannelli]{% \newcolumntype{A}{>{$}c<{$}}% Specifico il modo matematico. \newcolumntype{Q}{>{$}l<{$}}% Specifico il modo matematico. \newcolumntype{V}{>{$}r<{$}}% Specifico il modo matematico. \begin{tabular}{QV@{,}Q} \toprule% C_l & -3 & 33\times10^{-16}\\ C_d & 5 & 55\times10^{-16}\\ C_m & 1 & 11\times10^{-16}\\ \bottomrule% \end{tabular} } \quad \subfloat[][100 Pannelli]{% \newcolumntype{A}{>{$}c<{$}}% Specifico il modo matematico. \newcolumntype{Q}{>{$}l<{$}}% Specifico il modo matematico. \newcolumntype{V}{>{$}r<{$}}% Specifico il modo matematico. \begin{tabular}{QV@{,}Q} \toprule C_l & -5 & 83\times10^{-17}\\ C_d & -1 & 04\times10^{-16}\\ C_m & -3 & 78\times10^{-16}\\ \bottomrule \end{tabular} \label{tab:Coeff100Pann} } \end{table} \end{document} ` Può andare? (Vedi ArsTeXnica numero 2.) Ciao, Antonio

      • #34801
        Up
        0
        Down
        ::

        Salve a tutti,
        ho la seguente tabella

        `
        \begin{table}[htb]
        \centering
        \caption{Coefficienti Aerodinamici ottenuti mediante metodo a pannelli sorgente utilizzando diverse pannellazioni}
        \label{tab:Coefficienti}
        \subfloat[][4 Pannelli]{%
        \begin{tabular}{ll}
        \toprule
        $C_l$ & $-3.33\times10^{-16}$\\
        $C_d$ & $5.55\times10^{-16}$\\
        $C_m$ & $1.11\times10^{-16}$\\
        \bottomrule
        \end{tabular}
        \label{tab:Coeff4Pann}
        }
        \quad
        \subfloat[][100 Pannelli]{%
        \begin{tabular}{ll}
        \toprule
        $C_l$ & $-5.83\times10^{-17}$\\
        $C_d$ & $-1.04\times10^{-16}$\\
        $C_m$ & $-3.78\times10^{-16}$\\
        \bottomrule
        \end{tabular}
        \label{tab:Coeff100Pann}
        }
        \end{table}
        `

        Vorrei che i numeri nella tabella di sinistra fossero allineati al punto.

        Ho provato con Dcolumn, ma non mi permette di inserire matematica all’interno della colonna.
        Avrei parzialmente risolto utilizzando dcolumn per una colonna contenente i soli numeri, e in una colonna affianco posizionare il termine esponenziale. Ovviamente questa soluzione è del tutto insoddisfacente, essendo lo spazio tra la colonna ‘numerica’ e la colonna ‘esponenziale’ troppo ampio rispetto allo spazio normalmente inserito dal Latex.

        Dal momento che hai lo stesso numero di cifre dopo il punto decimale, puoi scrivere la tua tabella così (caricando il pacchetto array):
        `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{}>{${}}l<{$}} \toprule C_l & -3.33 & \times10^{-16}\\ ...` Due trucchi degni di nota. Primo: con >{…} specifichi materiale che LaTeX inserirà all’inizio di ogni cella della colonna; analogamente con <{} specifichi materiale da inserire alla fine della cella. Con >{$}l<{$} dici quindi che la cella va composta in modo matematico. Secondo trucco: la terza colonna ha >{${}}; il gruppo vuoto serve a rendere \times un operatore binario e le spaziature saranno corrette.

        La specifica @{} dice a LaTeX di non inserire nulla fra seconda e terza colonna.

        Ciao
        Enrico

      • #34802
        Antonio Ledda
        Partecipante
          Up
          0
          Down
          ::


          Scusa Enrico,
          una domanda: secondo te, la soluzione che ho proposto è un orrore che non andrebbe mai usato, o si può migliorare? Ti ringrazio fin d’ora per una eventuale risposta.

          Ciao,
          Antonio

        • #34803
          Up
          0
          Down
          ::

          Scusa Enrico,
          una domanda: secondo te, la soluzione che ho proposto è un orrore che non andrebbe mai usato, o si può migliorare? Ti ringrazio fin d’ora per una eventuale risposta.

          Non è un orrore; un po’ troppe complicazioni di \newcolumntype, forse.

          Un difetto è la separazione fra parte intera e parte decimale.

          Ciao
          Enrico

        • #34804
          Antonio Ledda
          Partecipante
            Up
            0
            Down
            ::

            Scusa Enrico,
            una domanda: secondo te, la soluzione che ho proposto è un orrore che non andrebbe mai usato, o si può migliorare? Ti ringrazio fin d’ora per una eventuale risposta.

            Non è un orrore; un po’ troppe complicazioni di \newcolumntype, forse.

            Un difetto è la separazione fra parte intera e parte decimale.

            Ciao
            Enrico

            Grazie mille per la risposta, Enrico.

            Per quanto riguarda le complicazioni di \newcolumntype, capisco il problema; mi sfugge solo una cosa: la separazione fra parte intera e parte decimale, a cui ti riferisci, è considerato un errore o una complicazione in più da evitare?

            Perdona le domande, ma ci terrei a non ripetere gli stessi sbagli.

            Ciao,
            Antonio

          • #34805
            Up
            0
            Down
            ::

            … mi sfugge solo una cosa: la separazione fra parte intera e parte decimale, a cui ti riferisci, è considerato un errore o una complicazione in più da evitare?

            Se è possibile scrivere i dati di una tabella in modo omogeneo è certamente meglio. Si potrebbe addirittura “perfezionare” il preambolo in modo da usare & invece di \times:
            `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}>{$}l<{$}} ... C_1 & -3.33&10^{-16}\\` Nel caso si dovessero usare più volte specifiche di colonna di quel tipo, scrivere `\newcolumntype{L}{>{$}l<{$}} \newcolumntype{R}{>{$}r<{$}} \newcolumntype{C}{>{$}c<{$}}` nel preambolo potrebbe essere utile. Ciao Enrico

          • #34806
            Antonio Ledda
            Partecipante
              Up
              0
              Down
              ::

              … mi sfugge solo una cosa: la separazione fra parte intera e parte decimale, a cui ti riferisci, è considerato un errore o una complicazione in più da evitare?

              Se è possibile scrivere i dati di una tabella in modo omogeneo è certamente meglio. Si potrebbe addirittura “perfezionare” il preambolo in modo da usare & invece di \times:
              `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}{>{$}l<{$}} ... C_1 & -3.33&10^{-16}\\` Nel caso si dovessero usare più volte specifiche di colonna di quel tipo, scrivere `\newcolumntype{L}{>{$}l<{$}} \newcolumntype{R}{>{$}r<{$}} \newcolumntype{C}{>{$}c<{$}}` nel preambolo potrebbe essere utile. Ciao Enrico[/quote] Ti ringrazio per la pazienza e per i chiarimenti; gentilissimo. Ora sperimento i tuoi suggerimenti. :) Riporto la soluzione di Enrico, al problema discusso: Risposta al problema di maumau138.

              Dal momento che hai lo stesso numero di cifre dopo il punto decimale, puoi scrivere la tua tabella così (caricando il pacchetto array): Codice:
              \begin{tabular}{>{$}l<{$}>{$}r<{$}@{}{>{${}}l<{$}} \toprule C_l & -3.33 & \times10^{-16}\\ ... Due trucchi degni di nota. Primo: con >{…} specifichi materiale che LaTeX inserirà all’inizio di ogni cella della colonna; analogamente con <{} specifichi materiale da inserire alla fine della cella. Con >{$}l<{$} dici quindi che la cella va composta in modo matematico. Secondo trucco: la terza colonna ha >{${}}; il gruppo vuoto serve a rendere \times un operatore binario e le spaziature saranno corrette.

              La specifica @{} dice a LaTeX di non inserire nulla fra seconda e terza colonna.

              Ciao
              Enrico

              Grazie ancora.

              Ciao,
              Antonio

            • #34807
              Up
              0
              Down
              ::


              I miei complimenti 😯 ,
              avevo sentito parlare di array, ma non pensavo si potesse eliminare lo spazio tra le colonne.

              Gentilissimi e preparatissimi come sempre,

              Grazie mille,
              Roberto

            • #34808
              Up
              0
              Down
              ::


              E’ nato un problema,
              il sorgente da errore durante la compilazione, nonostante riesca a rendere correttamente la tabella, con allineamento e modo matematico.
              L’errore segnalato è:
              `
              ! Package array Error: Illegal pream-token (>{${}}l<{$}): `c' used. See the array package documentation for explanation. Type H for immediate help.

              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              ! Missing $ inserted.

              $
              l.255 }

              ?
              `

              Utilizzo un elevato numero di pacchetti, il preambolo che utilizzo è:

              `
              \documentclass[a4paper,11pt]{report}

              %%%Tastiera e linguaggio italiano
              \usepackage[latin1]{inputenc}
              \usepackage[italian]{babel}
              \usepackage[T1]{fontenc}

              %Pacchetto per l'inclusione di immagini
              \usepackage[pdftex]{graphicx}
              %Indico la cartella dove sono presenti le immagini
              \graphicspath{{Graphics/},{Graphics/PDF/},{Graphics/Diciassettesimo/}}

              %Pacchetto per le formule
              \usepackage{amsmath}

              %Pacchetto per la gestione dei colori
              \usepackage{color}
              \definecolor{colokey}{rgb}{0,0,1} %Definisco il colore delle chiavi matlab
              \definecolor{colostring}{rgb}{0.62745,0.12549,0.941176} %Definisco il colore delle stringhe Matlab
              \definecolor{colocomment}{rgb}{0.1333333,0.545098,0.13333333} %Definisco il colore dei commenti Matlab

              %Pacchetto per i riferimenti incrociati nel file pdf
              \usepackage[pdfauthor={Roberto},pdftitle={Diciassettesimo}]{hyperref}
              %Dichiarazioni del pacchetto hyperref
              \hypersetup{colorlinks=false}

              %Pacchetto per la modifica dei margini
              \usepackage[a4paper,top=3cm,bottom=3cm,left=3.5cm,right=2cm]{geometry}

              %Pacchetto per la modifica dello stile del titolo di capitoli e sezioni
              \usepackage{titlesec}
              \titleformat{\chapter}{\vspace{.8ex}\normalfont\huge\bfseries\slshape\scshape}{}{.5em}{\titlelabel {}}
              \titlespacing{\chapter}{0pt}{*1}{*1}[1pc]
              \titleformat{\section}{\vspace{,8ex}\normalfont\Large\bfseries\slshape\scshape}{}{.5em}{\titlelabel {}}
              \titlespacing{\section}{0pt}{*1}{*1}[1pc]
              \titleformat{\subsection}{\vspace{.8ex}\normalfont\large\bfseries\slshape\scshape}{-}{.5em}{\titlelabel {}}
              \titlespacing{\section}{0pt}{*1}{*1}[1pc]

              %Pacchetto per la modifica delle didascalie
              \usepackage{caption}
              \captionsetup{format=hang,font=small} %Riduce il font della didascalia e indenta le righe successive
              \captionsetup[table]{position=top} %Posiziona la didascalia delle tabelle sopra la tabella

              %Pacchetti per la modifica del comportamento degli oggetti flottanti
              \usepackage{float}
              \usepackage[section]{placeins} %Section include il comando \Floatbarrier nel comando \section

              %Pacchetto per modificare il rientro della prima riga di ogni sezione
              \usepackage{indentfirst}

              %Pacchetto per ottenere colonne complesse
              \usepackage{array}

              %Pacchetto per l'inserimento di figure affiancate
              \usepackage{subfig}

              %Pacchetto per la resa tipografica delle tabelle
              \usepackage{booktabs}

              %Pacchetto per la bibliografia
              \usepackage[square,sort]{natbib}

              %Pacchetto per l'inserimento di codici o frammenti di codice
              \usepackage{listings}
              \lstset{%
              language=Matlab, %Identifico il linguaggio
              float=tp, %Fisso la posizione dell'oggetto
              basicstyle=\ttfamily\small, %Scelgo la dimensione del font
              keywordstyle=\color{colokey}, %Imposto il colore delle parole chiave
              identifierstyle=, %Imposto il colore degli identificatori
              commentstyle=\color{colocomment}, %Imposto il colore dei commenti
              stringstyle=\ttfamily\color{colostring}, %Imposto lo stile delle stringhe
              showstringspaces=false, %Non mostra nessun segno di spaziatura
              tabsize=4, %Imposta il rientro a 4 caratteri
              columns=fixed, %Fissa lo spazio riservato ad ogni carattere
              extendedchars=true, %Abilita i caratteri estesi
              }

              %Ridichiaro i comandi per avere Listato invece di Listing (e plurali)
              \renewcommand*\lstlistingname{Listato}
              \renewcommand*\lstlistlistingname{Listati}

              %Dichiaro i comandi per ottenere il termine Tabella e Figura
              \newcommand{\Tab}{Tabella}
              \newcommand{\Tabs}{Tabelle}
              \newcommand{\Fig}{Figura}
              \newcommand{\Figs}{Figure}
              `

              Infine la tabella viene richiamata con:

              `
              \subfloat[][4 Pannelli]{
              \begin{tabular}{>{$}l<{$}>{$}r<{$}@{}{>{${}}l<{$}}} \toprule C_l & -3.33 & \times10^{-16}\\ C_d & 5.55 & \times10^{-16}\\ C_m & 1.11 & \times10^{-16}\\ \bottomrule \end{tabular} \label{tab:Coeff4Pann} } ` A cosa è dovuto l'errore? Grazie, Roberto

            • #34809
              Up
              0
              Down
              ::

              E’ nato un problema,
              il sorgente da errore durante la compilazione, nonostante riesca a rendere correttamente la tabella, con allineamento e modo matematico.
              L’errore segnalato è:
              `
              ! Package array Error: Illegal pream-token (>{${}}l<{$}): `c' used. ...` A cosa è dovuto l'errore?

              C’era una graffa in più prima dell’ultimo >. 🙁
              `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{}>{${}}l<{$}}` Metti la chiamata di hyperref come ultima dove carichi i pacchetti. Ciao Enrico

            • #34810
              Up
              0
              Down
              ::

              C’era una graffa in più prima dell’ultimo >. 🙁
              `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{}>{${}}l<{$}}`

              Corretto, funziona sia così che con \times

              Metti la chiamata di hyperref come ultima dove carichi i pacchetti.

              Ciao
              Enrico

              Una volta lo avevo fatto, poi ci ho aggiunto vari pacchetti e ho dimenticato di spostarlo 😳

              Grazie infinite,
              Roberto

            • #34811
              Antonio Ledda
              Partecipante
                Up
                0
                Down
                ::


                Probabilmente c’è un problema con le graffe anche in questo:

                `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}{>{$}l<{$}} ` ecco l'errore: `Runaway argument? { \begin {tabular}{>{$}l<{$}>{$}r<{$}@{${}\times {}$}{>{$}l<{$}} \toprule \ETC. ! File ended while scanning use of \sf@@@subfloat.
                \par
                <*> D:/wqdqwd.tex

                I suspect you have forgotten a `}', causing me
                to read past where you wanted me to stop.
                I'll try to recover; but if the error is serious,
                you'd better type `E' or `X' now and fix your file.`

                Questo non dà errori:

                `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}>{$}l<{$}}` Non riuscivo a trovare la parentesi in più o in meno, :? finché non ho letto la soluzione di Enrico. Ciao, Antonio

              • #34812
                Up
                0
                Down
                ::

                Probabilmente c’è un problema con le graffe anche in questo:

                `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}{>{$}l<{$}} `

                C’era, infatti. Ho corretto il messaggio: andava
                `\begin{tabular}{>{$}l<{$}>{$}r<{$}@{${}\times{}$}>{$}l<{$}} ` Ciao Enrico

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

            Go to top