problemi con tabularX

  • Creatore
    Topic
  • #114626
    Up
    0
    Down
    ::


    Salve a tutti, sto creando varie tabelle. A volte uso tabular, quando sono piccole e con poche voci, altre volte uso tabularx.
    Questa seconda scelta è stata necessaria per i seguenti motivi:
    – celle fisse per alcune colonne
    – testo che non sfori i margini della pagina e quindi vada a capo nella stessa colonna

    Purtroppo, però, sono neofita e i benefici hanno portato dei costi:
    – la tabella con tabularx viene posizionata non dove voglio io , ma altrove sballando l’intero documento (e ho anche forzato la posizione)
    – ho caricato tabularx e booktabs
    – vorrei, per alcune tabelle, settare la dimensione della colonna, perchè in alcune i valori sono solo numeri brevi, mentre nell’altra colonna molto testo. Quando va a capo l’effeetto visivo è davvero pessimo!!

    `

    \documentclass[12pt,a4paper,oneside]{book}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage{array}
    \usepackage{tabularx}
    \usepackage{booktabs}

    \begin{document}

    \begin{table}[!h]
    \begin{center}
    \begin{tabularx}{\textwidth}{XXXX}
    Tag & Type of value & Default value & Description \\
    \hline
    start = & string & *[ & This TAG specifies the beginning of the information in the package \\
    stop = & string & ]* & This TAG specifies the end of the information's package \\
    spS = & Char & \& & This TAG specifies the beginning of each string sent from the machine \\
    spT = & Char & : & This TAG delimits the value outside of the channel tag \\
    spD = & Char & : & This TAG delimits the value inside of the channel tag \\
    Cnd =|n,tag1,tag2,tag3,…,tagn| & string & & This TAG specifies the tags that are associated to a channel, while ” | ” after ” cnd = | ” Identifies the end ; ” n , ” is the number of the channel . Inside the channel the variables are separated from the Tag ” spD ” \\
    skip & Char & ? & This TAG identifies which variable you want to skip in the decoding procedure \\
    FError & String & Warning & This TAG is used by the decoder to understand if the machine that is attached to has gone in error, during its works. “Warning” is an example, you have to substitute this value with a correct value that you can found looking for in the manual of the machine that you want to connect at
    \end{tabularx}
    \end{center}
    \end{table}

    \end{document}

    `

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #114627
      robitex
      Amministratore del forum
        Up
        0
        Down
        ::


        Ciao.
        Volevo solo dirti che la tabella va “a giro” perché sei tu che l’hai inserita in un ambiente “table” che fa proprio quello: posizionare secondo criteri il contenuto nel documento nel modo più corretto possibile.
        Ne eri consapevole?
        R.

      • #114628
        Up
        0
        Down
        ::


        Non ne ero consapevole. Ora sto cercando di adattare il codice per avere l’effetto desiderato, ma già senza quell’ambiente qualcosa va già meglio 🙂

      • #114629
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          @Black Goku, LaTeX non è Word, come sta scritto nella guida L’Arte di scrivere con LaTeX.

          In un documento da comporre con uno dei programmi di comaposizione basati su LaTeX, figure e tabelle sono gestiti come oggetti flottanti per metterli dove tipograficamente stanno bene.

          Usare il posizionatore [!h] è la stessa cosa che darsi la zappa sui piedi; Se non dai a LaTeX altre possibilità oltre a “here” e se nella pagina quella cosa (figura/tabella, ecc.) non ci sta, quell’oggetto resta in coda bloccando la fuoriuscita degli altri oggetti che via via vengono accodati, fino a che la fine del capitolo non decreta lo svuotamento della coda; tutti gli oggetti vanno quindi alla fine del capitolo quando invece avrebbero potuto essere spostati ognuno nella propia pagina o nella pagina successiva.

          Visto che stai preparando qualcosa per l’azienda, bisogna che tu consoca bene il funzionamento di LaTeX; la gestione degli oggetti flottanti è complessa e dipende da tanti parametri che stabiliscono che cosa voglia dire “tipograficamante corretto”. Sono spiegati anche nella guida Il LaTeX Reference Manual commentato, dove i commenti sul posizionamento degli oggetti flottanti è descritto in dettaglio.

          L’ambiente tabularx ha la sua brava documentazione che leggi come al solito col comando texdoc tabularx dato in un terminale. Leggendola comprendi che il descrittore di colonna X si aggiunge, non sostituisce, i normali argoenti che accetta anche tabular, quindi per tabelle numeriche non hai nessun bisogno di celle X, ma ti bastano celle r se i numeri devono essere accosti a desta nella loro cella, l se deveno essere accostati a sinistra; ancor meglio, se usi il pacchetto setunitx, disponi anche della colonna S che serve epr incolonanre in numeri in base alla posizione del separatore decimale.

          In colonne strette la giustificazione mostra troppi spazi bianchi interparola; per questo sembrerebbe più prudente usare il pacchetto array (che ha poco a che fare con le matrici), che ti permette di usare certi “modificatori per tutte le celle di una stessa colonna; per esempio una colonna X potrebbe avere come descittore `>{\raggedright}X` in modo che tutte le righe di quella colonna sarebbero rpive del margine destra giustificato, ma podotto in bandiere col paloa sinistra.

          Come vedi gestire bene le tabelle non è cosa facile, ma ci siamo passati tutti, e ore ben o male, siamo in grado di comporre le tabelle che ci servono.

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

      Go to top