tabelle lunghe

  • Creatore
    Topic
  • #3260
    Up
    0
    Down
    ::


    Devo fare una tabella con molte righe, che va quindi divisa su più pagine.
    Ho provato ad usare sia xtab che supertabular.
    Con entrambi, le tabelle si dividono correttamente, il problema è che tutto il testo successivo non viene più formattato correttamente, in particolare se interrompo una riga senza iniziare un nuovo paragrafo (\\), il pdf risultante presenta dei rientri come se fosse iniziato un nuovo paragrafo.
    Ad esempio

    `
    \documentclass[a4paper,12pt,twoside,openright]{report}
    \usepackage[italian]{babel}
    \usepackage[latin1]{inputenc}
    \usepackage{xtab}

    \begin{document}

    \begin{center}
    \begin{xtabular}{|c|c|}
    \hline prima cella&seconda cella\\
    \hline
    \end{xtabular}
    \end{center}

    A questo punto se dopo questa frase io cerco di andare a capo
    senza indentare la riga successia\\
    non ci riesco!!!!!

    \end{document}
    `

    La riga “non ci riesco” non dovrebbere essere “rientrata” invece lo è….

    Ho provato anche l’ambiente longtable, ma volendo mettere la didascalia al di sotto, non ottengo un buon risultato (la tabella risulta molto distanziata dal testo) successivo (che però è formattato correttamente).

    ho appena scoperto che se non uso \\ ma uso \newline, il risultato è corretto. Mi viene il dubbio che non sia del tutto corretto utilizzare \\… E’ così?

    Grazie a tutti

    Stefano

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


      beh, dipende per cosa usi //.
      in ogni caso mi sembre perturbante che i pacchetti usati modificano la resa di //.
      l’effetto lo ottieni con entrambi i pacchetti?
      succede solo dopo l’inserimento dell’ambiente o solo con la dichirazione?

      ciao
      f

    • #3262
      Up
      0
      Down
      ::

      beh, dipende per cosa usi //.

      Lo uso semplicemente per andare a capo senza iniziare un nuovo paragrafo

      in ogni caso mi sembre perturbante che i pacchetti usati modificano la resa di //.
      l’effetto lo ottieni con entrambi i pacchetti?

      Si, ho provato con entrambi

      succede solo dopo l’inserimento dell’ambiente o solo con la dichirazione?

      Succede dopo l’inseriimento dell’ambiente, infatti tutti i \\ utilizzati prima dell’inserimento dell’ambiente funzionano correttamente.
      se ad esempio compilo
      `
      \documentclass[a4paper,12pt,twoside,openright]{report}
      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{xtab}

      \begin{document}

      A questo punto se dopo questa frase io cerco di andare a capo
      senza indentare la riga successia\\
      ci riesco!!!!!

      \begin{center}
      \begin{xtabular}{|c|c|}
      \hline prima cella&seconda cella\\
      \hline
      \end{xtabular}
      \end{center}

      A questo punto se dopo questa frase io cerco di andare a capo
      senza indentare la riga successia\\
      non ci riesco!!!!!

      \end{document}

      `
      la riga ci riesco va a capo correttamente senza rientro, mentre la riga non ci riesco (inserita dopo l’ambiente xtabular) va a capo con rientro (come se si iniziasse un nuovo paragrafo).

      Grazie Stefano

    • #3263
      Up
      0
      Down
      ::

      Devo fare una tabella con molte righe, che va quindi divisa su più pagine.

      Io non mi perderei in un bicchiere d’acqua e leggerei, invece, questo documento, che nella parte iniziale contiene molte indicazioni su come risolvere problemi con le tabelle.

      Ciao

    • #3264
      Up
      0
      Down
      ::

      Io non mi perderei in un bicchiere d’acqua e leggerei, invece, questo documento, che nella parte iniziale contiene molte indicazioni su come risolvere problemi con le tabelle.

      Purtroppo in questo documento si suggerisce di usare longtable, io ho provato e (probabilmente/sicuramente a causa della mia poca esperienza) non riesco ad ottenere un buon risultato. In particolare io vorrei la didascalia al di sotto della tabella, l’ho quindi inserita prima di \endlastfoot. A questo punto il testo al di sotto della tabella rimane molto distanziato dalla didascalia stessa (più del doppio di quanto non venga distanziata solitamente), credo che il problema derivi dal fatto che tale ambiente è stato pensato per avere la didascalia sopra la tabella, quindi viene inserito una spaziatura sotto la didascalia (che va a sommarsi alla spaziatura al di sotto della tabella, creando così una spaziatura molto ampia).
      Il problema potrebbe però derivare dall’uso non del tutto corretto che ne faccio.
      Ho provato questa semplice parte di codice
      `
      \documentclass[a4paper,12pt,twoside,openright]{report}
      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{longtable}

      \begin{document}

      A questo punto se dopo questa frase io cerco di andare a capo
      senza indentare la riga successia\\
      non ci riesco!!!!!

      \begin{center}
      \begin{longtable}{|c|c|}
      \endfirsthead
      \endhead
      \endfoot
      \hline \caption{didascalia}
      \endlastfoot
      \hline prima cella&seconda cella\\
      \hline
      \end{longtable}
      \end{center}

      Questa parte di testo risulta moooolto distanziata dalla
      didascalia.

      \end{document}
      `

      ed il risultato non è per niente bello…..
      ciao e grazie
      Stefano

    • #3265
      Up
      0
      Down
      ::

      Devo fare una tabella con molte righe, che va quindi divisa su più pagine.
      Ho provato ad usare sia xtab che supertabular.
      Con entrambi, le tabelle si dividono correttamente, il problema è che tutto il testo successivo non viene più formattato correttamente, in particolare se interrompo una riga senza iniziare un nuovo paragrafo (\\), il pdf risultante presenta dei rientri come se fosse iniziato un nuovo paragrafo.
      Ad esempio

      `
      \documentclass[a4paper,12pt,twoside,openright]{report}
      \usepackage[italian]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage{xtab}

      \begin{document}

      \begin{center}
      \begin{xtabular}{|c|c|}
      \hline prima cella&seconda cella\\
      \hline
      \end{xtabular}
      \end{center}

      A questo punto se dopo questa frase io cerco di andare a capo
      senza indentare la riga successia\\
      non ci riesco!!!!!

      \end{document}
      `

      La riga “non ci riesco” non dovrebbere essere “rientrata” invece lo è….

      Ho provato anche l’ambiente longtable, ma volendo mettere la didascalia al di sotto, non ottengo un buon risultato (la tabella risulta molto distanziata dal testo) successivo (che però è formattato correttamente).

      ho appena scoperto che se non uso \\ ma uso \newline, il risultato è corretto. Mi viene il dubbio che non sia del tutto corretto utilizzare \\… E’ così?

      Grazie a tutti

      Stefano

      Non capisco perché mai andare a capo senza rientro. È una cosa che non si deve fare, in generale. Non conosco xtab, ma a quanto pare modifica il significato di \\. Se aggiungi \show\\ prima di \begin{center} e anche dopo \end{center}, ottieni il seguente log:`> \\=macro:
      ->\x@protect \\\protect \\ .
      l.8 \show\\

      ?
      > \\=macro:
      ->\ifhmode \unskip \else \@nolnerr \fi \par \@ifstar {\nobreak \@xcentercr }\@x
      centercr .
      l.21 \show\\`Soluzione ad hoc:`\newenvironment{mycenter}
      {\global\let\myBS=\\%
      \begin{center}}
      {\end{center}\global\let\\=\myBS}`
      Ciao
      Enrico

    • #3266
      Up
      0
      Down
      ::

      Soluzione ad hoc:`\newenvironment{mycenter}
      {\global\let\myBS=\\%
      \begin{center}}
      {\end{center}\global\let\\=\myBS}`

      Effettivamente così si riporta \\ al suo compito originario.
      Però ho notato un altro problema, ora il testo non è più correttamente giustificato!!!
      Comincio a credere che questi package abbiano qualche problema…..
      Credo che passerò al package longtable, sperando di riuscire a risolvere il problema dello spazio aggiunto dopo la didascalia.
      ciao e ancora grazie stefano

    • #3267
      Up
      0
      Down
      ::


      Credo di aver individuato il problema.
      La giustificazione non corretta del testo non viene dall’utilizzo degli ambienti xtab o supertabular, ma da un overfull \hbox, causato da una non corretta divisione di una parola a fine riga. Utilizzando \hyphenation il problema si è ovviamente risolto.
      Ritiro tutto quello che ho detto di male sui package citati….. 😳
      Grazie a tutti
      Stefano

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

Go to top