[Risolto] longtable e documentclass

  • Creatore
    Topic
  • #25323
    Up
    0
    Down
    ::


    Buongiorno a tutti.
    Come da titolo, il mio problema riguarda l’ambiente longtable (ho letto la documentazione e fatto una ricerca nel forum, ma non ho torvato nulla)
    Sto componendo un documento con la seguente classe
    `\documentclass[12pt,a4paper,twoside,titlepage]{book}`
    (12pt è obbligatorio) e con interlinea doppia (obbligatoria), impostata così
    `\usepackage{setspace}`
    Mi sono imposti anche i margini (3 cm per ogni lato), quindi
    `\usepackage[top=3.0cm,right=3.0cm,bottom=3.0cm,left=3.0cm]{geometry}`
    (anche se questo mi fa perdere il margine differenziato pagina destra-pagina sinistra).

    All’interno del documento devo riportare per intero una tabella che ha un centinaio di righe e 5 colonne. Ovviamente, ho dovuto usare il pacchetto longtable:
    `\usepackage{longtable}`

    Il mio problema: la tabella così fatta mantiene tutte le impostazioni del documento (font 12pt, interlinea doppia, marginii* …) e non ci sta più nella larghezza della pagina (*il margine a sinistra della tabella rimane di 3 cm, come per il testo, dopo di che essa procede nelle colonne e a destra “sfora” dal margine fino quasi al bordo della foglio).
    Dato l’elevato numero di righe, non mi sembra il caso di impostare la pagina in orizzontale; allora, per risolvere il mio problema, ho pensato di ridurre semplicemente la dimensione del font.
    L’unica soluzione che mi è venuta in mente è stata inserire tutta la tabella in un \normalsize, e ho fatto così:
    `\begin{normalsize}
    \begin{longtable}
    …tabella…
    \end{normalsize}
    \end{longtable}`
    Il mio problema sembrava risolto, ma, inspiegabilmente, la parte di testo della sezione nella quale è inserita la tabella precedente alla tabella stessa è diventata piccola e con interlinea singola.
    Cerco di spiegarmi meglio. Il mio file è così:
    `\section{Sezione A}
    testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
    testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
    testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
    testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
    \begin{normalsize}
    \begin{longtable}
    …tabella…
    \end{normalsize}
    \end{longtable}
    testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
    testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
    testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
    testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
    \section{Sezione B}
    …`
    Il risultato che ottengo è che testo 1 diventa piccolo e con interlinea singola, la tabella si sistema diventa font 10, il testo 2 rimane com’era (corretto).
    Esiste la possibilità che questo sia un bug?
    Come altro potrei risolvere?
    A me basterebbe poter modificare le impostazioni di una parte del documento in cui inserisco la tabella (infatti, vorrei anche un’interlinea singola per il testo in tabella).
    Nota: tra l’altro, altre tabelle più piccole che ho riportato nel mio documento con
    `\begin{table}
    \begin{tabular}
    …`
    l’interlinea torna singola da sola e tutto va alla perfezione…

    Grazie per l’attenzione che vorrete prestare al mio problema.
    A presto,
    GG

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #25324
      Up
      0
      Down
      ::

      Buongiorno a tutti.
      Come da titolo, il mio problema riguarda l’ambiente longtable (ho letto la documentazione e fatto una ricerca nel forum, ma non ho torvato nulla)
      Sto componendo un documento con la seguente classe
      `\documentclass[12pt,a4paper,twoside,titlepage]{book}`
      (12pt è obbligatorio) e con interlinea doppia (obbligatoria), impostata così
      `\usepackage{setspace}`
      Mi sono imposti anche i margini (3 cm per ogni lato), quindi
      `\usepackage[top=3.0cm,right=3.0cm,bottom=3.0cm,left=3.0cm]{geometry}`
      (anche se questo mi fa perdere il margine differenziato pagina destra-pagina sinistra).

      All’interno del documento devo riportare per intero una tabella che ha un centinaio di righe e 5 colonne. Ovviamente, ho dovuto usare il pacchetto longtable:
      `\usepackage{longtable}`

      Il mio problema: la tabella così fatta mantiene tutte le impostazioni del documento (font 12pt, interlinea doppia, marginii* …) e non ci sta più nella larghezza della pagina (*il margine a sinistra della tabella rimane di 3 cm, come per il testo, dopo di che essa procede nelle colonne e a destra “sfora” dal margine fino quasi al bordo della foglio).
      Dato l’elevato numero di righe, non mi sembra il caso di impostare la pagina in orizzontale; allora, per risolvere il mio problema, ho pensato di ridurre semplicemente la dimensione del font.
      L’unica soluzione che mi è venuta in mente è stata inserire tutta la tabella in un \normalsize, e ho fatto così:
      `\begin{normalsize}
      \begin{longtable}
      …tabella…
      \end{normalsize}
      \end{longtable}`
      Il mio problema sembrava risolto, ma, inspiegabilmente, la parte di testo della sezione nella quale è inserita la tabella precedente alla tabella stessa è diventata piccola e con interlinea singola.
      Cerco di spiegarmi meglio. Il mio file è così:
      `\section{Sezione A}
      testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
      testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
      testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
      testo 1 testo 1 testo 1 testo 1 testo 1 testo 1
      \begin{normalsize}
      \begin{longtable}
      …tabella…
      \end{normalsize}
      \end{longtable}
      testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
      testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
      testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
      testo 2 testo 2 testo 2 testo 2 testo 2 testo 2
      \section{Sezione B}
      …`
      Il risultato che ottengo è che testo 1 diventa piccolo e con interlinea singola, la tabella si sistema diventa font 10, il testo 2 rimane com’era (corretto).
      Esiste la possibilità che questo sia un bug?
      Come altro potrei risolvere?

      Non credo proprio che con \normalsize tu ottenga corpo 10. Forse con \footnotesize.

      Lascia una riga vuota prima di cambiare corpo:
      `… testo prima.

      \begingroup\footnotesize
      \begin{longtable}{…}

      \end{longtable}
      \endgroup

      Testo dopo…`
      Ricorda che un capoverso va sempre terminato con una riga vuota.

      Ciao
      Enrico

    • #25325
      Up
      0
      Down
      ::


      Grazie egreg9 per la solerzia e per l’attenzione.

      Perfetto, mi è bastato aggiungere una riga bianca per iniziare il nuovo paragrafo e la dimensione del carattere è andata a posto.

      Per l’interlinea singola in tabella
      Forte del tuo suggerimento (\begingroup), ho pensato di fare altrettanto per modificare localmente (cioè per la sola tabella) l’interlinea da 2 a 1 e ho fatto
      `testo

      \begingroup \footnotesize \linesprad{1}
      \begin{lingtable}
      tabella
      \endgroup`

      ma non sono riuscito a ottenere l’interlinea singola.
      Come posso fare?

      Infine

      Non credo proprio che con \normalsize tu ottenga corpo 10

      Io mi basavo su quanto ho trovato qui. Per questo, forse, sbagliavo

      Grazie ancora
      GG

    • #25326
      Up
      0
      Down
      ::


      Ah, un’altra cosa (sperando di non fare un off-topic)
      Dopo le modifiche descritte qua sopra, la mia tabella inizia a metà di una pagina (con la didascalia a precederla), occupa due pagine per intero, quindi termina in una quarta pagina con [didascalia breve – riga d’intestazione – 5 righe della tabella – ultimo “piede”]. Da lì riprende il testo normale (no nuova sezione) che si protrae per una quindicina di righe prima della nuova sezione. La cosa strana è che ques’ultima parte di testo non si posiziona immediatamente sotto la tabella come mi aspettavo, ma tra la tabella e il testo rimane uno spazio bianco e il testo è come “allineato” verticalmente a partire da fondo pagina. La pagina successiva, infine, inizia con il titolo della nuova sezione,
      E’ normale che rimanga tale spazio bianco? mi era già successo (qualche compilazione fa) con del testo dopo un’immagine posizionata (automaticamente) e inizio pagina. Io, invece, preferirei che il testo si posizionasse subito sotto la tabella e lasciasse eventualmente dello spazio bianco in fondo alla pagina!
      Grazie ancora per l’attenzione
      GG

    • #25327
      Up
      0
      Down
      ::

      Grazie egreg9 per la solerzia e per l’attenzione.

      Perfetto, mi è bastato aggiungere una riga bianca per iniziare il nuovo paragrafo e la dimensione del carattere è andata a posto.

      Per l’interlinea singola in tabella
      Forte del tuo suggerimento (\begingroup), ho pensato di fare altrettanto per modificare localmente (cioè per la sola tabella) l’interlinea da 2 a 1 e ho fatto
      `testo

      \begingroup \footnotesize \linesprad{1}
      \begin{lingtable}
      tabella
      \endgroup`
      ma non sono riuscito a ottenere l’interlinea singola.
      Come posso fare?

      Visto che usi setspace, puoi scrivere \singlespacing; oppure mettere \linespread{1} prima di \footnotesize.

      Non credo proprio che con \normalsize tu ottenga corpo 10

      Io mi basavo su quanto ho trovato qui. Per questo, forse, sbagliavo

      Se dai l’opzione 12pt, \normalsize sceglie corpo 12. Non è che per caso tu dia un comando \large iniziale? Se sì, toglilo: una tesi a corpo 14 è davvero uno spreco di carta.

      Per l’altra faccenda è meglio se apri un nuovo topic.

      Ciao
      Enrico

    • #25328
      Up
      0
      Down
      ::

      Visto che usi setspace, puoi scrivere \singlespacing; oppure mettere \linespread{1} prima di \footnotesize.

      Perfetto, ho risolto mettendo semplicemente \linespread{1} prima di footnotesize.

      Se dai l’opzione 12pt, \normalsize sceglie corpo 12

      Ah, ecco, mi ero fatto trarre in inganno dalla tabella che ho trovato al link citato prima e non ricordavo che \normalsize è relativo al corpo scelto.

      Anche questa è andata, metto un bel [Risolto] nel titolo del post.

      Grazie mille GG

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

Go to top