xtabular su twocolumn

  • Creatore
    Topic
  • #119989
    Up
    0
    Down
    ::


    Salve a tutti. Sto scrivendo un articolo con twocolumn. Non voglio usare il pacchetto multicol perché c’è bisogno che qua e là ci siano figure all’interno della singola colonna. Ora io conoscevo solo longtable, ma mi dà problemi con twocolumn. Allora mi sono rivolto a xtab, in particolare all’ambiente xtabular*, a sua volta nell’ambiente table* (non table perché la larghezza della tabella supera la gabbia del testo). La tabella, però, è mal composta: intestazione e piede che vengono messe come se la tabella stesse cambiando pagine mentre non è vero; se si supera l’altezza del testo comunque la tabella continua superando i margini. Come posso risolvere? C’è qualche pacchetto apposito o magari qualche altro ambiente di xtab?
    Lascio un MWE e ringrazio anticipatamente.

    `
    \documentclass[twocolumn]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{siunitx}
    \usepackage{booktabs}
    \usepackage{xtab}
    \begin{document}
    \topcaption{This is top caption}
    \bottomcaption{This is bottom caption}
    \tablecaption{this is table caption}
    \tablefirsthead{
    \toprule
    \multicolumn{10}{c}{Intervalli tra urti (\si\second)} \\
    \midrule
    \multicolumn{10}{c}{Tentativo} \\
    \cmidrule(lr){1-10}
    {1}&{2}&{3}&{4}&{5}&{6}&{7}&{8}&{9}&{10}\\
    \midrule}
    \tablehead{\multicolumn{10}{l}%
    {{\footnotesize\em Continua dalla pagina precedente}} \\
    \toprule
    {1}&{2}&{3}&{4}&{5}&{6}&{7}&{8}&{9}&{10}\\ \midrule}
    \tabletail{%
    \midrule \multicolumn{10}{r}{\footnotesize\em Continua alla pagina seguente} \\ \midrule}
    \tablelasttail{%
    \\\midrule
    \multicolumn{10}{r}{{Conclusa}} \\ \bottomrule}
    \begin{table*}[hbt]
    \centering
    \begin{xtabular*}{.735\textwidth}{S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]S[table-format=1.3]}
    0.770 & 0.743 & 0.775 & 0.779 & 0.752 & 0.774 & 0.768 & 0.777 & 0.736 & 0.736 \\
    0.591 & 0.584 & 0.597 & 0.599 & 0.586 & 0.601 & 0.592 & 0.598 & 0.576 & 0.574 \\
    0.481 & 0.472 & 0.484 & 0.482 & 0.477 & 0.483 & 0.476 & 0.487 & 0.472 & 0.467 \\
    0.400 & 0.397 & 0.399 & 0.391 & 0.397 & 0.403 & 0.396 & 0.401 & 0.396 & 0.388 \\
    0.340 & 0.336 & 0.339 & 0.332 & 0.338 & 0.341 & 0.335 & 0.340 & 0.337 & 0.330 \\
    0.291 & 0.290 & 0.289 & 0.279 & 0.291 & 0.292 & 0.290 & 0.291 & 0.291 & 0.284 \\
    0.252 & 0.251 & 0.250 & 0.240 & 0.251 & 0.252 & 0.249 & 0.251 & 0.252 & 0.245 \\
    0.218 & 0.221 & 0.216 & 0.209 & 0.218 & 0.217 & 0.214 & 0.219 & 0.220 & 0.213 \\
    0.189 & 0.192 & 0.189 & 0.176 & 0.189 & 0.188 & 0.184 & 0.191 & 0.191 & 0.186 \\
    0.163 & 0.169 & 0.164 & 0.155 & 0.165 & 0.166 & 0.159 & 0.167 & 0.166 & 0.163 \\
    \cmidrule(lr){1-10}
    0.692 & 0.754 & 0.746 & 0.694 & 0.749 & 0.698 & 0.752 & 0.746 & 0.740 & 0.740 \\
    0.548 & 0.588 & 0.588 & 0.556 & 0.585 & 0.555 & 0.580 & 0.586 & 0.584 & 0.583 \\
    0.453 & 0.480 & 0.481 & 0.454 & 0.478 & 0.456 & 0.477 & 0.476 & 0.479 & 0.477 \\
    0.382 & 0.402 & 0.402 & 0.384 & 0.401 & 0.385 & 0.397 & 0.398 & 0.401 & 0.399 \\
    0.327 & 0.341 & 0.342 & 0.327 & 0.340 & 0.324 & 0.337 & 0.339 & 0.340 & 0.334 \\
    0.283 & 0.291 & 0.291 & 0.281 & 0.292 & 0.281 & 0.292 & 0.292 & 0.292 & 0.287 \\
    0.247 & 0.254 & 0.251 & 0.245 & 0.254 & 0.244 & 0.253 & 0.253 & 0.256 & 0.249 \\
    0.215 & 0.219 & 0.219 & 0.210 & 0.220 & 0.212 & 0.219 & 0.218 & 0.222 & 0.217 \\
    0.188 & 0.192 & 0.190 & 0.187 & 0.193 & 0.185 & 0.191 & 0.192 & 0.193 & 0.192 \\
    0.166 & 0.166 & 0.166 & 0.164 & 0.168 & 0.162 & 0.168 & 0.169 & 0.168 & 0.165 \\
    \cmidrule(lr){1-10}
    0.696 & 0.698 & 0.710 & 0.716 & 0.712 & 0.704 & 0.706 & 0.712 & 0.716 & 0.705 \\
    0.552 & 0.552 & 0.565 & 0.562 & 0.563 & 0.559 & 0.559 & 0.564 & 0.567 & 0.559 \\
    0.455 & 0.455 & 0.468 & 0.460 & 0.464 & 0.458 & 0.458 & 0.462 & 0.465 & 0.455 \\
    0.381 & 0.382 & 0.393 & 0.382 & 0.386 & 0.382 & 0.384 & 0.387 & 0.388 & 0.382 \\
    0.324 & 0.327 & 0.337 & 0.325 & 0.326 & 0.324 & 0.327 & 0.329 & 0.333 & 0.326 \\
    0.278 & 0.282 & 0.291 & 0.277 & 0.280 & 0.279 & 0.280 & 0.285 & 0.285 & 0.281 \\
    0.241 & 0.243 & 0.252 & 0.241 & 0.247 & 0.244 & 0.241 & 0.246 & 0.247 & 0.243 \\
    0.208 & 0.212 & 0.220 & 0.213 & 0.213 & 0.212 & 0.209 & 0.214 & 0.215 & 0.211 \\
    0.181 & 0.184 & 0.191 & 0.188 & 0.189 & 0.185 & 0.181 & 0.186 & 0.186 & 0.183 \\
    0.156 & 0.161 & 0.166 & 0.161 & 0.166 & 0.161 & 0.159 & 0.165 & 0.160 & 0.160 \\
    \cmidrule(lr){1-10}
    0.696 & 0.698 & 0.710 & 0.716 & 0.712 & 0.704 & 0.706 & 0.712 & 0.716 & 0.705 \\
    0.552 & 0.552 & 0.565 & 0.562 & 0.563 & 0.559 & 0.559 & 0.564 & 0.567 & 0.559 \\
    0.455 & 0.455 & 0.468 & 0.460 & 0.464 & 0.458 & 0.458 & 0.462 & 0.465 & 0.455 \\
    0.381 & 0.382 & 0.393 & 0.382 & 0.386 & 0.382 & 0.384 & 0.387 & 0.388 & 0.382 \\
    0.324 & 0.327 & 0.337 & 0.325 & 0.326 & 0.324 & 0.327 & 0.329 & 0.333 & 0.326 \\
    0.278 & 0.282 & 0.291 & 0.277 & 0.280 & 0.279 & 0.280 & 0.285 & 0.285 & 0.281 \\
    0.241 & 0.243 & 0.252 & 0.241 & 0.247 & 0.244 & 0.241 & 0.246 & 0.247 & 0.243 \\
    0.208 & 0.212 & 0.220 & 0.213 & 0.213 & 0.212 & 0.209 & 0.214 & 0.215 & 0.211 \\
    0.181 & 0.184 & 0.191 & 0.188 & 0.189 & 0.185 & 0.181 & 0.186 & 0.186 & 0.183 \\
    0.156 & 0.161 & 0.166 & 0.161 & 0.166 & 0.161 & 0.159 & 0.165 & 0.160 & 0.160 \\
    \cmidrule(lr){1-10}
    0.696 & 0.698 & 0.710 & 0.716 & 0.712 & 0.704 & 0.706 & 0.712 & 0.716 & 0.705 \\
    0.552 & 0.552 & 0.565 & 0.562 & 0.563 & 0.559 & 0.559 & 0.564 & 0.567 & 0.559 \\
    0.455 & 0.455 & 0.468 & 0.460 & 0.464 & 0.458 & 0.458 & 0.462 & 0.465 & 0.455 \\
    0.381 & 0.382 & 0.393 & 0.382 & 0.386 & 0.382 & 0.384 & 0.387 & 0.388 & 0.382 \\
    0.324 & 0.327 & 0.337 & 0.325 & 0.326 & 0.324 & 0.327 & 0.329 & 0.333 & 0.326 \\
    0.278 & 0.282 & 0.291 & 0.277 & 0.280 & 0.279 & 0.280 & 0.285 & 0.285 & 0.281 \\
    0.241 & 0.243 & 0.252 & 0.241 & 0.247 & 0.244 & 0.241 & 0.246 & 0.247 & 0.243 \\
    0.208 & 0.212 & 0.220 & 0.213 & 0.213 & 0.212 & 0.209 & 0.214 & 0.215 & 0.211 \\
    0.181 & 0.184 & 0.191 & 0.188 & 0.189 & 0.185 & 0.181 & 0.186 & 0.186 & 0.183 \\
    0.156 & 0.161 & 0.166 & 0.161 & 0.166 & 0.161 & 0.159 & 0.165 & 0.160 & 0.160
    \end{xtabular*}
    \end{table*}
    \end{document}
    `

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #119990
      Up
      0
      Down
      ::


      Il tuo codice mi restituisce un errore. Riesci a fornirne uno compilabile? Tiani conto che quando si deve comporre su due colonne, con tabelle “spalmabili”, a quanto ne so, sono sempre dolori. Probabilmente con ConTeXt si riesce a gestire una situazione simile molto meglio.

      Ciao
      Ivan

    • #119991
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Mmmm

        Ho provato ad aggiustare il tuo codice, visto che così, com’è, come dice anche @Ivan, non funziona.

        Non funziona perché a quanto pare le colonne di tipo S non sono ammesse; d’altra parte non ne hai bisogno, perché tutti i tuoi numeri hanno una cifra intera e tre cifre decimali.
        Da quel che ho letto nella documentazione di xtab (che on ho mai usato prima) l’ambiente ztabula (con o senza asterisco) non deve essere usato dentro un ambiente mobile come table o table*; questo è comunie a tutti gli ambineti per costruire tabelle lunghe, che non sono mai flottanti; nel migliore dei casi ne puoi ritardare la composizione in modo che comincino su una nuova pagina; basta usare il comando \afterpage (definito dal pacchetto afterpage), col rischio che talvolta faccia cose strane.
        Tuttavia dopo aver cambito l’argomento contenente i 10 descrittori di colonna in`\begin{xtabular*}{.735\textwidth}{*{10}c}`la tabella si compone: male, ma si compone ad una sola colonna, e con le colonne che occupano uno spazio orizzontale maggiore di quello che corrisponde a \textwidth. Due conti sulle dita: ogni colonna contiene 4 cifre (circa 2em, pari a circa 8mm in copro 10pt) più la virgola (trascuriamone la larghezza) e gli spazi a destra e a sinistra pari a circa 1em, cioè 4mm); totale ogni colona occupa almeno 12mm e 10 colonne occupano 120mm — Stampando la tabella su carta, si constata che i conti sulle dita fatti sopra sono piuttosto precisi.
        Tu specifichi per xtabular* una larghezza di 0.735\textwidth, circa 88mm, il comando centering pensa che la tabella sia larga 88mm e la centra nella giustezza di 120mm, lasciando 16mm a sinistra e a destra. A sinistra ci riesce, ma la scatola vera è più larga di 88mm, quindi appare tutta spostata a destra, fuoriuscendo nel margine destro.

        Lunga spiegazione? Sì, lunga perché non hai pensato prima a quello che stavi facendo e gli errori, ci sono anche se si correggono quelli causati da siunitx con la colonna S,

        Come rimediare? difficilissimo dirlo, perché bisogna ripensare completamente a che cosa mettere nella tabella; hai una cinquantina di righe numeriche (troppe per \textheight); hai 10 colonne di 16mm l’una, per un totale di 120mm (troppe per \textwidth); Non andrebbe bene nemmeno ruotando la tabella di 90° perché ti verrebbe spezzata s\in due monconi in ogni pagina/colonna. Insomma la devi ripensare riducendo le colonne; oppure devi rassegnarti a metterla in una appendice composta ad una colonna e usando un corpo inferire a a quello normale e togliendo quel coefficiente 0,735.
        Non saprei cos’altro consigliarti, perché la soluzione migliore dipende dal significato che hanno i numeri e il significato delle intestazioni, cose che solo tu sai. Mi spiace.

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top