Aiuto tabella

  • Creatore
    Topic
  • #18203
    Up
    0
    Down
    ::


    Ho fatto una tabella con il seguente codice:
    `
    \begin{table}[h]\centering
    \begin{tabular}{l l l}\hline
    \textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}\\ \hline
    A? & & Ottiene allarme\\
    A= & 0 & Spegne gli allarmi\\
    B?& & Ottiene le retroriflessioni in cavità\\
    M= & 0, 1, 2 & Imposta la modalità di controllo del laser\\
    Q= & & Imposta la corrente dell'amplificatore\\
    V? & & Controlla la versione del software e la data di rilascio\\
    X= & 0, 1 & Imposta la modalità del display\\
    \vdots & & \\
    \hline\hline\end{tabular}
    \caption{\footnotesize ciao.}
    \label{tab2}
    \end{table}
    `
    Con il comando {l l l} mi allinea le tre colonne a sinistra. Vorrei però allineare SOLO la prima riga
    `\textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}
    `
    al centro della relativa colonna. Ho provato con un “brutale” \begin{center}, ma naturalmente non ha funzionato. Come faccio?

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #18204
      DMW
        Up
        0
        Down
        ::

        Ho fatto una tabella con il seguente codice:
        `
        \begin{table}[h]\centering
        \begin{tabular}{l l l}\hline
        \textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}\\ \hline
        A? & & Ottiene allarme\\
        A= & 0 & Spegne gli allarmi\\
        B?& & Ottiene le retroriflessioni in cavità\\
        M= & 0, 1, 2 & Imposta la modalità di controllo del laser\\
        Q= & & Imposta la corrente dell'amplificatore\\
        V? & & Controlla la versione del software e la data di rilascio\\
        X= & 0, 1 & Imposta la modalità del display\\
        \vdots & & \\
        \hline\hline\end{tabular}
        \caption{\footnotesize ciao.}
        \label{tab2}
        \end{table}
        `
        Con il comando {l l l} mi allinea le tre colonne a sinistra. Vorrei però allineare SOLO la prima riga
        `\textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}
        `
        al centro della relativa colonna. Ho provato con un “brutale” \begin{center}, ma naturalmente non ha funzionato. Come faccio?

        Prova così
        `
        \end{table}
        \begin{table}[h]\centering
        \begin{tabular}{lll}\hline
        \multicolumn{1}{c}{\textbf{Comando}} & \multicolumn{1}{c}{\textbf{Dato}} & \multicolumn{1}{c}{\textbf{Descrizione}}\\ \hline
        A? & & Ottiene allarme\\
        A= & 0 & Spegne gli allarmi\\
        B?& & Ottiene le retroriflessioni in cavità\\
        M= & 0, 1, 2 & Imposta la modalità di controllo del laser\\
        Q= & & Imposta la corrente dell'amplificatore\\
        V? & & Controlla la versione del software e la data di rilascio\\
        X= & 0, 1 & Imposta la modalità del display\\
        \vdots & & \\
        \hline\end{tabular}
        \caption{\footnotesize ciao.}
        \label{tab2}
        \end{table}
        `

        E usa il pacchetto booktabs ed evita le doppie linee.

        Ciao

        Andrea

      • #18205
        Up
        0
        Down
        ::

        Ho fatto una tabella con il seguente codice:
        `
        \begin{table}[h]\centering
        \begin{tabular}{l l l}\hline
        \textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}\\ \hline
        A? & & Ottiene allarme\\
        A= & 0 & Spegne gli allarmi\\
        B?& & Ottiene le retroriflessioni in cavità\\
        M= & 0, 1, 2 & Imposta la modalità di controllo del laser\\
        Q= & & Imposta la corrente dell'amplificatore\\
        V? & & Controlla la versione del software e la data di rilascio\\
        X= & 0, 1 & Imposta la modalità del display\\
        \vdots & & \\
        \hline\hline\end{tabular}
        \caption{\footnotesize ciao.}
        \label{tab2}
        \end{table}
        `
        Con il comando {l l l} mi allinea le tre colonne a sinistra. Vorrei però allineare SOLO la prima riga
        `\textbf{Comando} & \textbf{Dato} & \textbf{Descrizione}
        `
        al centro della relativa colonna. Ho provato con un “brutale” \begin{center}, ma naturalmente non ha funzionato. Come faccio?

        Non lo fai. È impossibile* avere l’intestazione centrata se le celle sottostanti sono più corte dell’intestazione stessa, perché è questa che in ogni caso dice quanto spazio riservare alla colonna.

        Ti dirò che anche centrare l’intestazione sulla terza colonna darebbe un notevole squilibrio al tutto, vista la variabilità della lunghezza dei testi.

        Occhio al comando \footnotesize nella didascalia: non funziona come ti potresti aspettare. Se proprio vuoi la didascalia in corpo minore, devi usare il pacchetto caption:
        `\usepackage{caption}
        \captionsetup{font=footnotesize}`

        Già che ci sei, usa anche il pacchetto booktabs, sostituendo il primo \hline con \toprule, il secondo con \midrule e gli ultimi due con \bottomrule.

        * Impossibile con i comandi standard di LaTeX. Si può fare, ma andando direttamente con \halign; l’unica soluzione che conosco richiede perfino di comporre due volte la tabella. Se ti accontenti di vedere a occhio qual è la cella più lunga, potresti fare così, ammettendo che “M=” sia il contenuto più ampio nella colonna (le prime due righe vanno nel preambolo, ovviamente):
        `\newlength{\cellwd}
        \newcommand{\cell}[1]{\makebox[\cellwd][l]{#1}}

        \begin{table}[htp]
        \settowidth{\cellwd}{M=}
        \begin{tabular}{ c l l }
        \toprule
        \textbf{Comando} & \multicolumn{1}{c}{\textbf{Dato}} &
        \multicolumn{1}{c}{\textbf{Descrizione}} \\
        \midrule
        \cell{A?} & & Ottieni…\\

        \cell{X=} & 0, 1 & Imposta…\\
        \bottomrule
        \end{tabular}
        …`
        Ma vedrai che non ne vale la pena. Almeno però adesso hai imparato un uso di \multicolumn.

        Ciao
        Enrico

      • #18206
        Up
        0
        Down
        ::


        Grazie a tutti 😉

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

    Go to top