Tabella con immagini all’interno

  • Creatore
    Topic
  • #117700
    Up
    0
    Down
    ::


    Salve a tutti, ho intenzione di fare una tabella: 4 colonne, 8 righe.

    Requisiti fondamentali:
    – colonne di lunghezza fissa (quindi prevedevo di usare il pacchetto tabularx)
    – nella prima colonna, a parte la prima cella, nelle altre vanno messe delle immagini all’inizio di ciascuna riga
    – voglio evitare di mettere le “celle” delle righe, ma solo una linea di divisione tra la prima e la seconda

    Chiedo a voi consiglio su come fare per la dimensione fissa delle colonne e se la scelta tipografica di non usare le linee per delimitare la tabella è ottima o sbagliata.

    Grazie :mrgreen:

Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #117701
      Up
      0
      Down
      ::

      gilio_pedrinatti” post=118116Salve a tutti, ho intenzione di fare una tabella: 4 colonne, 8 righe.

      E fin qui tutto bene.

      gilio_pedrinatti” post=118116
      Requisiti fondamentali:
      – colonne di lunghezza fissa (quindi prevedevo di usare il pacchetto tabularx)

      Forse intendevi larghezza. Ma anche in questo caso tabularx potrebbe non essere necessario. Per impostare la larghezza delle colonne puoi usare semplicemente gli specificatoci previsti dal pacchetto array. Vedi la doc del pacchetto.

      gilio_pedrinatti” post=118116
      – nella prima colonna, a parte la prima cella, nelle altre vanno messe delle immagini all’inizio di ciascuna riga

      Bene.

      gilio_pedrinatti” post=118116
      – voglio evitare di mettere le “celle” delle righe, ma solo una linea di divisione tra la prima e la seconda

      Non ho capito niente 😕

      gilio_pedrinatti” post=118116
      Chiedo a voi consiglio su come fare per la dimensione fissa delle colonne e se la scelta tipografica di non usare le linee per delimitare la tabella è ottima o sbagliata.

      Filetti verticali sì; filetti orizzontali (quasi sempre) no. Questa è una buna regola generale.

      Ciao
      Ivan

    • #117702
      Up
      0
      Down
      ::


      `

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

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

      \usepackage{tabularx}

      \begin{document}

      \begin{tabularx}{\textwidth}{ X|XXX }

      & BLOCCATO & BILANCIATO & IPERATTIVO
      \vspace{0.5cm}
      \\
      & paura, ansia, incertezza, instabilità finanziaria, mancanza di sicurezza
      & salvezza, sicurezza, essere centrati, piedi per terra, felicità di essere vivo
      & gola, lussuria, aggressività, materialismo, cinico, unico punto di vista
      \end{tabularx}

      \end{document}

      `

      Il testo nelle celle non vengono centrate e non si riesce a leggere.
      Se provo ad allineare al centro il testo, ho dei problemi …

    • #117703
      samiel
      Partecipante
        Up
        0
        Down
        ::


        Non ho capito bene il risultato che vuoi ottenere.
        partiamo da questa prima prova:
        `\documentclass[12pt,a4paper,oneside]{book}

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

        \usepackage{tabulary}
        \usepackage{booktabs}

        \begin{document}

        \begin{tabulary}{\textwidth}{ C|CCC }
        \toprule
        & BLOCCATO & BILANCIATO & IPERATTIVO \\
        \midrule
        & paura, ansia, incertezza, instabilità finanziaria, mancanza di sicurezza
        & salvezza, sicurezza, essere centrati, piedi per terra, felicità di essere vivo
        & gola, lussuria, aggressività, materialismo, cinico, unico punto di vista \\
        \bottomrule
        \end{tabulary}
        \end{document}`

        m

      • #117704
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Gilio, la tua mancanza di voglia di documentarti è ormai diventata proverbiale; la sezione Documentazione di questo forum è piena di testi per documentarti.

          La tua mancanza di capacità di farti due conti sulle dita è altrettanto inimitabile.

          Ricapitoliamo: hai una classe article dove la larghezza della griglia di stampa vale 390pt (circa 13cm) ci metti una tabella di quattro colonne, di cui la prima vuota (ma questo forse solo per l’esempio che hai allegato); le 4 colonne occupano pertanto poco meno di 100pt ciascuna; togli i 12pt (6pt a sinistra e 6pt a destra, 12pt in totale) e ogni spazio utile in ciascuna colonna diventa di poco meno di 90pt, cioè circa 3cm; tre centimetri sono troppo pochi per consentire un testo giustificato e quindi la tabella del tuo esempio è orrenda.

          Hai mai sentito parlare di \raggedright? Mancanza di documentazione cronica (ABC di LaTeX); \Hai mai studiato come si spazione le righe in una tabella? (ABC di LaTeX); hai mai visto come si possono definire descrittori di colonna con la caratteristica \raggedright incorporata? mancanza di documentazione (Pacchetto array, citato in ogni guida generale e nella guida specifica sulle tabelle).

          No ti voglio indicare le pagine esatte delle guide precise che non hai studiato; LaTeX è un programma di composizione tipografica, non è un word processor, quindi devi studiare. Non continuare a fare domande di cose che sono spiegate nelle guide che abbiamo scritto e messo a disposizione: è contrario alla netiquette del forum.

        • #117705
          samiel
          Partecipante
            Up
            0
            Down
            ::


            io a questo punto (cfr. il su ultimo messaggio) non ho più capito
            se vuole il testo centrato dentro le tabelle…
            ecco perché gli ho proposto tabulary

            m

          • #117706
            Up
            0
            Down
            ::


            @ Samuel: la tua soluzione risolve a metà il problema. Il testo è ben formattato, ma quando aggiungo l’immagine nella prima colonna, il risultato è il seguente

            Spoiler

            https://ibb.co/YckJTgZ

            ovviamente deve essere messo a sinistra si, ma il resto deve slittare a destra

            @ OldClaudio: capisco la predica, ma qui si tratta di risolvere problemi in tempo reale e lo farei se ci fossero degli esempi mirati.

          • #117707
            samiel
            Partecipante
              Up
              0
              Down
              ::


              ovviamente devi riposizionare l’immagine.
              verifica preventivamente che sia scontornata

              m

            • #117708
              Up
              0
              Down
              ::


              Ho riadattato il codice

              `

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

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

              \usepackage{array}
              \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
              \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
              \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

              \begin{document}

              \begin{tabular}{ C{3.5cm} C{3.5cm} C{3.5cm} C{3.5cm}}
              & BLOCCATO & ARMONICO & IPERATTIVO
              \vspace{0.5cm}
              \\
              \includegraphics[scale=0.75]{primo}
              & paura, ansia, incertezza, instabilità finanziaria, mancanza di sicurezza
              & salvezza, sicurezza, essere centrati, piedi per terra, felicità di essere vivo
              & ingordigia, sessualità fisica, aggressività, materialismo (denaro, beni, fisico perfetto), cinismo, unico punto di vista
              \end{tabular}

              \end{document}

              `

              Purtroppo non viene centrata nella pagina la tabella, e le parole non sono allineate

              Spoiler

              https://ibb.co/qm5RBxx

            • #117709
              Up
              0
              Down
              ::

              gilio_pedrinatti” post=118142
              @ OldClaudio: capisco la predica, ma qui si tratta di risolvere problemi in tempo reale e lo farei se ci fossero degli esempi mirati.

              Cioè, tu vorresti un esempio per ogni tipo di tabella che si possa immaginare di comporre?
              Mi sembra un po’ troppo. Le guide, tutte le guide, sono sempre generaliste. Spiegano i principi generali. Sta poi a te
              adattarli ai casi singolari, che sono infiniti. Inoltre è impensabile pretendere di sfogliare una guida e trovare subito una soluzione,
              specie se si è alle prime armi. Quando si inizia bisogna leggere, almeno leggere, integralmente i capitoli che interessano.
              Devi comporre una tabella? Allora devi leggerti il capitolo sulle tabelle. Dall’inizio.
              In secondo luogo devi capire come funzionano i codici che la guida fornisce.
              Solo così sarai in grado di risolvere i problemi che inevitabilmente incontrerai anche in futuro.
              E soprattutto, solo in questo modo potrai spiegarti meglio, e quindi di essere realmente aiutato.

              Nel tuo caso, devi usare lo specificatore p e non m per le colonne 2-4.
              Mentre per la colonna uno, che contiene l’immagine, potrebbe andar bene m.

              Se l’immagine la vuoi centrata rispetto alle due righe della tabella, e non posizionata nella prima cella,
              dovrai usare il comando \multirow, del pacchetto multirow, le cui basi sono spiegate
              nell’Arte di scrivere con LaTeX.

              Inoltre sono inutili
              `\let\newline\\`
              e
              `\hspace{0pt}`

              Quindi, semplicemente:
              `\newcolumntype{L}{>{\raggedright\arraybackslash}p{#1}}
              `

              Ciao
              Ivan

            • #117710
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Ora è molto meglio, ma non puoi avere allineata una scatola contenente 5 righe con due scatole contenti rispettivamente 6 e 8 righe. Le tre scatole co testo,per avere le righe allineate, devono anche avere i numeri delle righe o tutti pari o tutti dispari.

              • #117711
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  ma il testo all’interno si ogni singola tabella
                  lo vuoi allineato a sinistra o centrato? mi sto perdendo….

                  cmq vedi questo, po ovviamente devi aggiustare le misure
                  (io per provare ho usato una mia immagine “logo”)
                  [attachment=2394]Schermatadel2020-04-0116-09-49.png[/attachment]

                  `\documentclass[12pt,a4paper,oneside]{book}
                  \usepackage[T1]{fontenc}
                  \usepackage[utf8]{inputenc}
                  \usepackage[italian]{babel}
                  \usepackage{graphicx}
                  \usepackage{booktabs}
                  \usepackage{array}
                  \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
                  \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
                  \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

                  \begin{document}

                  \begin{tabular}{ c | C{3cm} C{3cm} C{3cm} }
                  \toprule
                  & BLOCCATO & BILANCIATO & IPERATTIVO \\
                  \midrule
                  \raisebox{-.5\height}{\includegraphics[width=0.08\textwidth, height=10mm]{logo}}
                  & paura, ansia, incertezza, instabilità finanziaria, mancanza di sicurezza
                  & salvezza, sicurezza, essere centrati, piedi per terra, felicità di essere vivo
                  & gola, lussuria, aggressività, materialismo, cinico, unico punto di vista \\
                  \bottomrule
                  \end{tabular}

                  \end{document}`

                  Attachments:
                  You must be logged in to view attached files.
                • #117712
                  OldClaudio
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    E anche tu @Samiel, hai la terza colonna con 5 righe con le righe non allineate con le 6 righe delle altre due colonne.
                    Semplicemente non si possono allineare le righe in verticale se i loro numeri in ogni colonna non sono con la stessa parità.
                    O meglio, si possono allineare aggiungendo una riga completamente vuota dove manca, ma a quel punto il contenuto delle celle non appare più centrato; invece cambiare lo scartamento della quantità giusta si potrebbe fare, anche se è difficile, ma poi si vede lontano un miglio che le righe sono spaziate diversamente.
                    Nemmeno un maestro tipografo di quando si componeva in piombo riuscirebbe a risolvere il problema.
                    Credo che la soluzione meno brutta sarebbe quella di inserire una scatola vuota con la larghezza giusta dopo l’ultima riga della colonne di 5 righe. IN questo modo le tre colonne testuali sono allineate in alto e l’immagine resta allineata con le altre sulla base dell’asse matematico.

                  • #117713
                    samiel
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      ovvio. se poi io avessi una casella con 1 riga e una con 8,
                      manco Gutenberg !!

                      ma a giglio venivano disallineati anche i titoli della prima riga,
                      il che è brutto oltre che anomalo.
                      e a volte non si capisce se sta parlando
                      dell’allineamento orizzontale o verticale del testo all’interno delle caselle

                    • #117714
                      OldClaudio
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Be’. è logico che a @gilio venissero disallineati anche i titoli delle colonne; gli ho suggerito, senza dirgli come fare, di studiarsi la spaziatura delle tabelle e come usare \vspace, ma non l’ha fatto; lui prima aveva le colonne con il descrittore C e va bene, ma, ha lasciato il \vspace dentro la cella del titolo della terza colonna, senza usare i comandi giusti per spaziare le righe della tabella. Per cui il titolo della terza colonna gli diventa di due righe, mentre gli altri titolo sono di una riga.
                        Se vogliamo @gilio ha scoperto come allungare di una riga la colonna testuale con 5 righe, ma ha usato la sua scoperta nel posto sbagliato senza accorgersi del perché quel titolo della terza colonna risultava rialzato.
                        @gilio dice che non ha tempo di studiare approfonditamente LaTeX; ma continua, nonostante l’invito a documentasi, a non studiare i punti specifici; le guide, tute quelle della sezione documentazione, contengono abbondanti indici analitici, usando i quali non è necessario usare tutta la guida ma si può andare con un click direttamente al punto che interessa. E si fa molto prima che a consultare la rete.

                      • #117715
                        Up
                        0
                        Down
                        ::


                        Alla fine ho riadattato leggermente il codice di Samuel e funziona!

                        non è importante allineare il testo all’interno delle righe. Il più era allineare l’immagine!

                      • #117716
                        samiel
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          non samuel, bensì samiel,
                          il cavaliere nero del Freischütz di Weber !! 🙂

                          m

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

                      Go to top