[Risolto] tabelle, caption e piccola spieg. sottostante

  • Creatore
    Topic
  • #30551
    Up
    0
    Down
    ::


    Ciao a tutti,

    leggendo l’ottimo “L’ arte di scrivere con latex”, ho scoperto come posizionare la caption delle tabelle al di sopra delle stesse. Avrei però due problemi:

    1) la didascalia, nonostante il comando nel preambolo
    `\usepackage[font=small,format=hang,tableposition=top,bf]{caption}`
    non si posiziona al di sopra della tabella;
    2) vorrei inserire una piccola spiegazione alla tabella, questa volta al di sotto della stessa; un esempio? eccolo 🙂

    come si potrebbe fare?

    Questo è il preambolo:

    `\documentclass[a4paper,12pt,fleqn]{report}
    \usepackage{a4wide}
    \usepackage[latin1]{inputenc}
    \usepackage{graphicx}
    \usepackage{amsmath}
    \usepackage{datetime}
    \usepackage{makeidx}
    \usepackage{subfigure}
    \usepackage[font=small,format=hang,tableposition=top,bf]{caption}
    \usepackage{hyperref}
    \usepackage{url}
    \usepackage{eurosym}
    \makeindex
    \usepackage{xcolor}
    \renewcommand{\chaptermark}[1]{%
    \markboth{#1}{}}
    \linespread{1.5}
    \makeatletter
    \let\@orig@endthebibliography\endthebibliography
    \renewcommand\endthebibliography{%
    \xdef\@kept@last@number{\the\c@enumiv}%
    \@orig@endthebibliography}
    \newenvironment{thesitography}[1]
    {\def\bibname{Web references}%
    \thebibliography{#1}%
    \setcounter{enumiv}{\@kept@last@number}%
    }
    {\@orig@endthebibliography} `

    Grazie a tutti 🙂

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #30552
      lorenzo.pantieri
      Partecipante
        Up
        0
        Down
        ::


        Nell’Arte è menzionato il comando
        `\captionsetup[table]{position=top}`
        che permette di separare la didascalia dalla tabella (con le classi standard), senza inserire ogni volta un \medskip, non di fare quello che chiedi (ovvero di di mettere automaticamente la didascalia sopra la tabella).

        Dalla doc. di caption:

        Please note that position=top does NOT mean that the caption is actually placed at the top of the figure or table. Instead the caption is usually placed where you place the \caption command.

        In ogni caso, il codice che hai scritto
        `\usepackage[font=small,format=hang,tableposition=top,bf]{caption}`
        non è corretto: quel “bf” da solo non ci va.

        Quanto alla “piccola spiegazione alla tabella”, quella è per l’appunto la funzione della didascalia.

        Ah, subfigure è obsoleto (usa subfig), url è caricato automaticamente da hyperref (che di regola va caricato per ultimo). Soprattutto, a4wide è obsoleto: usa layaureo (o geometry).

        Ciao,
        L.

      • #30553
        Up
        0
        Down
        ::

        2) vorrei inserire una piccola spiegazione alla tabella, questa volta al di sotto della stessa; un esempio? eccolo 🙂

        Credo di aver capito il tuo problema ma non saprei darti una risposta.
        Il mio testo di fisica dello stato solido usa le tabelle come indichi tu: sopra la tabella, in grassetto, c’e’ l’indicazione del contatore della tabella e il titolo della stessa mentre in basso, dopo la tabella, c’e’ del testo, a volte anche lungo, che ne spiega il contenuto.
        Purtroppo, come ti ho detto, non riesco a riprodurre il tutto… 😥

        Luca

      • #30554
        Up
        0
        Down
        ::

        Ciao a tutti,

        leggendo l’ottimo “L’ arte di scrivere con latex”, ho scoperto come posizionare la caption delle tabelle al di sopra delle stesse. Avrei però due problemi:

        1) la didascalia, nonostante il comando nel preambolo
        `\usepackage[font=small,format=hang,tableposition=top,bf]{caption}`
        non si posiziona al di sopra della tabella;
        2) vorrei inserire una piccola spiegazione alla tabella, questa volta al di sotto della stessa; un esempio? eccolo 🙂

        come si potrebbe fare?

        Questo è il preambolo:

        `\documentclass[a4paper,12pt,fleqn]{report}
        \usepackage{a4wide}
        \usepackage[latin1]{inputenc}
        \usepackage{graphicx}
        \usepackage{amsmath}
        \usepackage{datetime}
        \usepackage{makeidx}
        \usepackage{subfigure}
        \usepackage[font=small,format=hang,tableposition=top,bf]{caption}
        \usepackage{hyperref}
        \usepackage{url}
        \usepackage{eurosym}
        \makeindex
        \usepackage{xcolor}
        \renewcommand{\chaptermark}[1]{%
        \markboth{#1}{}}
        \linespread{1.5}
        \makeatletter
        \let\@orig@endthebibliography\endthebibliography
        \renewcommand\endthebibliography{%
        \xdef\@kept@last@number{\the\c@enumiv}%
        \@orig@endthebibliography}
        \newenvironment{thesitography}[1]
        {\def\bibname{Web references}%
        \thebibliography{#1}%
        \setcounter{enumiv}{\@kept@last@number}%
        }
        {\@orig@endthebibliography} `

        Grazie a tutti 🙂

        Pagina 137 degli “Appunti”:
        `\makeatletter
        \newsavebox{\@tabparbox}
        \newenvironment{tabpar}[3][t]
        {\long\def\@tabparagraph{#3}\def\@tabparopt{#1}%
        \begin{lrbox}{\@tabparbox}
        \begin{tabular}{#2}}
        {\end{tabular}\end{lrbox}%
        \parbox{\wd\@tabparbox}{
        \if t\@tabparopt
        \@tabparagraph\par\smallskip
        \fi
        \usebox{\@tabparbox}\par
        \if b\@tabparopt
        \smallskip\@tabparagraph
        \fi}}
        \makeatother`
        L’ambiente tabparbox prende un argomento opzionale (t o b per indicare dove mettere l’annotazione; default è t, cioè sopra); il primo argomento obbligatorio è il preambolo di tabella; il secondo argomento obbligatorio è il testo dell’annotazione. Il contenuto della tabella va scritto al modo solito
        `\begin{tabpar}{cc}{Questo è il testo di spiegazione}
        \toprule
        a & b\\
        \bottomrule
        \end{tabpar}`
        Ciao
        Enrico

        Nota: ho corretto l’ordine degli argomenti

      • #30555
        Up
        0
        Down
        ::


        Ringrazio subito chi mi ha risposto 🙂

        @ lorenzo.pantieri
        Giustissimo: mettendo la caption subito dopo \begin{table}, questa viene posizionata correttamente, anche se c’è uno spazio troppo grande tra la didascalia e la tabella. Sono sicuro di aver letto qualcosa al riguardo..

        @ egreg9
        Effettivamente, dovrei riuscire a scrivere con tabpar la spiegazione al di sotto della tabella; ho inserito le istruzioni nel preambolo, ho inserito anche il pacchetto booktabs, ma non riesco a capire dove sbaglio 🙁
        Saresti così gentile da scrivere giusto una tabella con caption “sopra” e spiegazione “sotto”? 🙂
        Mi basta anche una “3 colonne”, del tipo:

        sono & un & ignorante\\

        🙂

        Cerco di sdrammatizzare 🙂

      • #30556
        Up
        0
        Down
        ::

        Ringrazio subito chi mi ha risposto 🙂

        @ lorenzo.pantieri
        Giustissimo: mettendo la caption subito dopo \begin{table}, questa viene posizionata correttamente, anche se c’è uno spazio troppo grande tra la didascalia e la tabella. Sono sicuro di aver letto qualcosa al riguardo..

        @ egreg9
        Effettivamente, dovrei riuscire a scrivere con tabpar la spiegazione al di sotto della tabella; ho inserito le istruzioni nel preambolo, ho inserito anche il pacchetto booktabs, ma non riesco a capire dove sbaglio 🙁
        Saresti così gentile da scrivere giusto una tabella con caption “sopra” e spiegazione “sotto”? 🙂
        Mi basta anche una “3 colonne”, del tipo:

        sono & un & ignorante\\

        🙂

        Cerco di sdrammatizzare 🙂

        Ho sbagliato a scrivere l’ordine degli argomenti
        `\begin{tabpar}{ccc}
        {Testo di spiegazione, che non spiega nulla, ma serve solo per riempire lo spazio}
        \toprule
        Una tabella & con tre colonne & centrate\\
        per & vedere & come viene fuori il tutto\\
        \bottomrule
        \end{tabpar}`
        Correggo nell’altro messaggio.

        Ciao
        Enrico

      • #30557
        Up
        0
        Down
        ::


        Grazie!

        Ora ottengo esattamente quello che cercavo.

        Posto il codice definitivo (lo so che il comando \begin{center}..\end{center} dovrebbe essere sostituito da \centering, ma mi piace più il primo):

        `\begin{table}
        \begin{center}
        \caption{Didascalia sopra la tabella \label{tab:stat1}}
        \begin{tabpar}{ccc}
        {bla bla bla bla testo che va sotto la tabella bla bla.}
        \toprule
        Una tabella & con tre colonne & centrate\\
        per & vedere & come viene fuori il tutto\\
        \bottomrule
        \end{tabpar}
        \end{center}
        \end{table}`

        Alla prossima e ancora grazie 🙂

      • #30558
        Up
        0
        Down
        ::

        Grazie!

        Ora ottengo esattamente quello che cercavo.

        Posto il codice definitivo (lo so che il comando \begin{center}..\end{center} dovrebbe essere sostituito da \centering, ma mi piace più il primo):

        `\begin{table}
        \begin{center}
        \caption{Didascalia sopra la tabella \label{tab:stat1}}
        \begin{tabpar}{ccc}
        {bla bla bla bla testo che va sotto la tabella bla bla.}
        \toprule
        Una tabella & con tre colonne & centrate\\
        per & vedere & come viene fuori il tutto\\
        \bottomrule
        \end{tabpar}
        \end{center}
        \end{table}`

        Alla prossima e ancora grazie 🙂

        Usa \centering, non c’è alcun motivo per preferire l’ambiente center; ce ne sono per non preferirlo.

        Ciao
        Enrico

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

    Go to top