Larghezza fissa colonne

  • Creatore
    Topic
  • #79713
    Up
    0
    Down
    ::


    Salve a tutti. Ho fatto la seguente tabella che ha un problema; la larghezza delle colonne non è fissa ma variabile (se notate, dove c’è la colonna con un numero a due cifre come 14 è più larga) e fa un brutto effetto. Come si può ovviare? Ho provato col comando \tabcolsep ma non mi dà un risultato soddisfacente. Posto il codice e l’output;

    `
    \begin{table}
    \centering
    \subfloat{%
    \begin{tabular}{c|c|c|c|c|c|c|c}
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{1} & \multicolumn{1}{c}{3} & \multicolumn{1}{c}{8} & \multicolumn{1}{c}{9} & \multicolumn{1}{c}{11} & \multicolumn{1}{c}{14} & \multicolumn{1}{c}{}\\
    \cline{2-7}
    $P_{0}$ & & & & & & x & 3 \\
    \cline{2-7}
    $P_{1}$ & & & & & & x & 3 \\
    \cline{2-7}
    $P_{2}$ & x & & x & x & & & 2 \\
    \cline{2-7}
    $P_{3}$ & x & x & & x & x & & 2 \\
    \cline{2-7}
    $P_{4}$ & & & x & x & x & & 2 \\
    \cline{2-7}
    \end{tabular}}
    \end{table}
    `

    Poi vorrei fare una linea che mi cancelli una colonna (o anche una riga) e su questa cosa non ho trovato niente in rete (non saprei come farla). Per farvi capire vorrei fare una cosa del genere (linea tratteggiata, o anche continua, colorata o meno, nella tabella che segue):

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #79714
      Up
      0
      Down
      ::


      Benvenuto!

      Per il primo problema devi impostare le colonne a una larghezza fissa.
      Cerca nell’Arte (link in alto).
      Io toglierei però i filetti verticali. In questo modo l’effetto
      che tu ritieni antiestetico diminuisce.

      Per il secondo problema io userei il pacchetto tikz
      ma probabilmente esiste qualcosa di più semplice

      Ciao
      Ivan

    • #79715
      Up
      0
      Down
      ::


      Grazie della risposta Ivan, ma non ho capito come fare. Nel libro di Pantieri parla di tabularx o il descrittore p ma nel mio caso come si usa? devo scrivere \begin{tabular}{8*p{qualcosa}} a qualcosa che ci metto? Per il secondo problema ho visto la documentazione di pgf/tikz ma è immensa. Se puoi darmi le istruzioni per fare una linea come quella in figura sarebbe meglio. Grazie.

    • #79716
      Up
      0
      Down
      ::


      Nessuno mi può aiutare concretamente? Grazie

    • #79717
      Up
      0
      Down
      ::

      Paccio” post=78929Nessuno mi può aiutare concretamente? Grazie

      In questo forum nulla è dovuto: se qualcuno ha voglia ti aiuta, se no no (è una regola scritta nel regolamento).

      Detto questo, il paragrafo che fa per te è il 6.3.3 del libro di Pantieri (che è anche mio): ti serve un descrittore p, da scrivere come vedi lì. Fa’ qualche prova e assegnagli una misura in millimetri. Quando hai trovato la larghezza che fa per te, allora sei a cavallo.

      Ma non credo che una tabella convenzionale sia quello che ti serve. Hai provato a vedere i pacchetti youngtab e ytableau? Fa’ una ricerca su CTAn.

      Ciao
      Tommaso

    • #79718
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        La tua tabella è un disegno, non una tabella; quindi rivolgiti ai programmi di disegno programmato; TikZ è troppo complicato? usa l’ambiente picture, standard di LaTeX; il manuale è costituito da una decina di pagine e ora è tradotto in italiano nella guida tematica Handbook LaTeX commentato, qui sopra nella sezione Documentazione. Disegnare con questo strumento è facile, anche se non si possono usare le meraviglie ottenibili con TikZ. Ma tu hai un disegno semplice, quindi ti basta uno strumento semplice.

      • #79719
        Up
        0
        Down
        ::


        Grazie delle risposte. Ma sinceramente continuo a non capire come poter fare una linea di quel tipo lì. Mi dite che non è una tabella ma un disegno, ma mica posso mettermi a riscrivere tutto perchè le tabelle le ho fatte con tabular. Ci sta qualcosa che mi integri quello che ho scritto con tabular? Oppure convertire una tabella in un’immagine per poi operare con l’ambiente picture su questa. Insomma io penso che voi siate esperti e da esperti mi dovete far capire in termini di codice come si fa perchè le chiacchiere vanno via col vento. Per codice non intendo che me lo dovete scrivere per intero ma almeno qualcosa del tipo: scrivi \begin{picture} dopo \begin{tabular} ecc ecc…Vi dico la verità diventare un mago di Latex non mi interessa; mi interessa risolvere questo problema per la tesina dell’università. stop.

      • #79720
        Up
        0
        Down
        ::


        `\documentclass{book}

        \usepackage{tikz}
        \usepackage{subfig}

        \begin{document}

        \begin{table}
        \centering
        \subfloat{%
        \begin{tabular}{cccccccc}
        & 1 & 3 & 8 & 9\tikz[overlay,xshift=-2.4pt]\draw[dotted,thick] (0,.4) — (0,-2.5);
        & 11 & 14\\
        \cline{2-7}
        $P_{0}$ & & & & & & x & 3 \\
        \cline{2-7}
        $P_{1}$ & & & & & & x & 3 \\
        \cline{2-7}
        $P_{2}$ & x & & x & x & & & 2 \\
        \cline{2-7}
        $P_{3}$ & x & x & & x & x & & 2 \\
        \cline{2-7}
        $P_{4}$ & & & x & x & x & & 2 \\
        \cline{2-7}
        \end{tabular}}
        \end{table}

        \end{document}`

        La soluzione non è perfetta. Devi aggiustare di volta in volta le distanza manualmente.
        Ma è un inizio. La cosa migliore sarebbe definirsi un comando con qualche argomento da usare
        poi nelle diverse colonne. Nota che se le cifre sono due lo spostamento a sinistra (xshift=-2.4pt) va aumentato

        Ciao
        Ivan

      • #79721
        Up
        0
        Down
        ::


        Grazie mille Ivan. Manipolando un po’ i valori è uscita una linea perfetta. 🙂

      • #79722
        Up
        0
        Down
        ::

        Paccio” post=78946Grazie mille Ivan. Manipolando un po’ i valori è uscita una linea perfetta. 🙂

        Un diverso approccio:

        `
        \documentclass{book}

        \usepackage{tikz}
        \usepackage{subfig}

        \newcommand{\tablemark}[1]{\tikz[overlay,remember picture,xshift=-0.275em] \node ({#1}) {};}

        \begin{document}

        \begin{table}
        \centering
        \subfloat{%
        \begin{tabular}{cccccccc}
        & 1 & 3 & 8 & 9\tablemark{a}
        & 11 & 14\\
        \cline{2-7}
        $P_{0}$ & & & & & & x & 3 \\
        \cline{2-7}
        $P_{1}$ & & & & & & x & 3 \\
        \cline{2-7}
        $P_{2}$ & x & & x & x & & & 2 \\
        \cline{2-7}
        $P_{3}$ & x & x & & x & x & & 2 \\
        \cline{2-7}
        $P_{4}$ & & & x & x\tablemark{b} & x & & 2 \\
        \cline{2-7}
        \end{tabular}}
        \tikz[overlay,remember picture] {\draw[shorten >=-1ex, shorten <=-1ex,dashed] (a.north) to (b.south);} \end{table} \end{document} ` Ciao Claudio

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

    Go to top