tabelle e testo lungo centrato su più righe

  • Creatore
    Topic
  • #30674
    quadamage76
    Partecipante
      Up
      0
      Down
      ::


      Ciao,
      sto ammattendo con una tabella, il codice cui sono arrivato è questo:

      \begin{table}[H]
      \begin{tabularx}{\textwidth}{c|X}
      \hline {\textbf{BUTTON}}& {\centering\textbf{PAGE}}\\
      \hline P15 & Distance between the strapping reset photocell and the strapping axis [mm]\\
      \hline P16 & Distance for bundle’s head alignment in storage area (head stop distance starting from proximity 132S3)\\
      \hline P17 & Step time for 2nd storage chain [ms]\\
      \hline P18 & Bundle trolley slow speed [Hz]\\
      \hline P19 & Available\\
      \hline P20 & Available\\
      \hline P21 & Available\\
      \hline
      \end{tabularx}\\[0.5cm]
      \end{table}

      la tabella sta perfettamente dentro la textwidth, ma la seconda colonna che presenta testi lunghi non è centrata. Non sono riuscito a trovare una soluzione, vorrei entrambe le colonne centrate e con gli “a capo” corretti. Ho provato con tabular* ma ottengo il testo centrato e la sillabazione è tale che le parole debordano dal limite destro della tabella.

      Mi aiutate? Ciao Matteo

      P.S.
      Due domandine veloci, veloci: se volessi creare un pdf in cui compaiono i segnalibri laterali che comandi devo cercare? Se volessi avere i riferimenti dei documenti “cliccabili” nel pdf finale, dove devo guardare?

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #30675
        Up
        0
        Down
        ::


        \begin{table}[H]
        \centering
        \begin{tabular}{cp{40ex}}
        \hline {\textbf{BUTTON}}& \multicolumn{1}{c}{\textbf{PAGE}}\\
        \hline P15 & Distance between the strapping reset photocell and the strapping axis [mm]\\
        \hline P16 & Distance for bundle’s head alignment in storage area (head stop distance starting from proximity 132S3)\\
        \hline P17 & Step time for 2nd storage chain [ms]\\
        \hline P18 & Bundle trolley slow speed [Hz]\\
        \hline P19 & Available\\
        \hline P20 & Available\\
        \hline P21 & Available\\
        \hline
        \end{tabular}
        \end{table}

        Ti consiglio il pacchetto Booktabs.

        Io la farei così la tabella.

        Poi vedi te o aspetta gli esperti.

      • #30676
        Up
        0
        Down
        ::

        Ciao,
        sto ammattendo con una tabella, il codice cui sono arrivato è questo:

        \begin{table}[H]
        \begin{tabularx}{\textwidth}{c|X}
        \hline {\textbf{BUTTON}}& {\centering\textbf{PAGE}}\\
        \hline P15 & Distance between the strapping reset photocell and the strapping axis [mm]\\
        \hline P16 & Distance for bundle’s head alignment in storage area (head stop distance starting from proximity 132S3)\\
        \hline P17 & Step time for 2nd storage chain [ms]\\
        \hline P18 & Bundle trolley slow speed [Hz]\\
        \hline P19 & Available\\
        \hline P20 & Available\\
        \hline P21 & Available\\
        \hline
        \end{tabularx}\\[0.5cm]
        \end{table}

        la tabella sta perfettamente dentro la textwidth, ma la seconda colonna che presenta testi lunghi non è centrata. Non sono riuscito a trovare una soluzione, vorrei entrambe le colonne centrate e con gli “a capo” corretti. Ho provato con tabular* ma ottengo il testo centrato e la sillabazione è tale che le parole debordano dal limite destro della tabella.

        Sostituisci la riga con
        `\textbf{BUTTON}& \centering\textbf{PAGE}\tabularnewline`
        anche se, sinceramente, non vedo perché centrare “PAGE”. Né vedo alcuna necessità per la riga verticale e quelle orizzontali, a parte la prima, la seconda e l’ultima.

        Miglioreresti molto la tua tabella usando i facili comandi del pacchetto booktabs e, forse, scrivendo
        `\renewcommand{\arraystretch}{1.2}`
        nell’ambiente table, prima del tabular.

        Un’altra volta fa’ sparire quello specificatore H, qui non piace. 🙂 Se devi semplicemente centrare una tabella in un certo posto, basta un ambiente center:
        `\begin{center}
        \renewcommand\arraystretch{1.2}
        \begin{tabularx}{\textwidth}{cX}
        \toprule
        \textbf{BUTTON}& \centering\textbf{PAGE}\tabularnewline
        \midrule
        P15 & Distance between the strapping reset photocell and the strapping axis [mm]\\
        P16 & Distance for bundle's head alignment in storage area (head stop
        distance starting from proximity 132S3)\\
        P17 & Step time for 2nd storage chain [ms]\\
        P18 & Bundle trolley slow speed [Hz]\\
        P19 & Available\\
        P20 & Available\\
        P21 & Available\\
        \bottomrule
        \end{tabularx}
        \end{center}`
        Prova e vedrai.

        Ciao
        Enrico

      • #30677
        quadamage76
        Partecipante
          Up
          0
          Down
          ::


          Enrico, grazie per i preziosi suggerimenti. Sapevo della non eleganza dell’utilizzo di {H}, tuttavia non avevo trovato modo migliore per tenere ferma un’immagine dove voglio io. Non sono d’accordo, almeno per il tipo di manuale che sto scrivendo, con l’idea che Latex mi possa mettere l’immagine dove vuole lui. In particolare ho adottato un certo schema per tutto il manuale ed è del tipo: inizio il paragrafo o sottoparagrafo, metto l’immagine, la spiego, poi comincio un altro sottoparagrafo e così via.
          Dell’uso di center di cui dici non sapevo, ora provo.

          Ciao Matteo

        • #30678
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::

            Dell’uso di center di cui dici non sapevo, ora provo.

            Pagina 91 dell’Arte (indicata quassù), con tanto di Rettili d’autore come esempio. ❗

            Ciao,.
            L.

          • #30679
            quadamage76
            Partecipante
              Up
              0
              Down
              ::


              due considerazioni dopo il test del suggerimento di Enrico:

              -mi spiegate esattamente il funzionamento di renewcommand con arraystetch?
              -Circa il centraggio di “Page”, è evidente che o centro lui e tutta la colonna oppure non centro nulla, nemmeno la colonna “Button” altrimenti sembra una “scarpa ed uno zoccolo”. La mia domanda era proprio su come centrare, oltre a “page” anche l’intera colonna facendo però sì che il testo andasse a capo correttamente ove troppo lungo per essere contenuto in una cella singola.

              Ciao Matteo

            • #30680
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::

                due considerazioni dopo il test del suggerimento di Enrico:
                -mi spiegate esattamente il funzionamento di renewcommand con arraystetch?

                Cercare in una guida di base è troppo faticoso? 👿 Quassù trovi indicate quella di Beccari e la mia: le riposte alle tue domande ci sono.

                Ciao,
                L.

              • #30681
                quadamage76
                Partecipante
                  Up
                  0
                  Down
                  ::

                  due considerazioni dopo il test del suggerimento di Enrico:
                  -mi spiegate esattamente il funzionamento di renewcommand con arraystetch?

                  Cercare in una guida di base è troppo faticoso? 👿 Quassù trovi indicate quella di Beccari e la mia: le riposte alle tue domande ci sono.

                  Ciao,
                  L.

                  hai ragione lorenzo, scusa. Conosco bene le regole di questi forum è che sono indietro col lavoro e speravo con due righe mirate di risparmiarmi una lettura magari di un intero capitolo.

                • #30682
                  Up
                  0
                  Down
                  ::

                  due considerazioni dopo il test del suggerimento di Enrico:

                  -mi spiegate esattamente il funzionamento di renewcommand con arraystetch?
                  -Circa il centraggio di “Page”, è evidente che o centro lui e tutta la colonna oppure non centro nulla, nemmeno la colonna “Button” altrimenti sembra una “scarpa ed uno zoccolo”. La mia domanda era proprio su come centrare, oltre a “page” anche l’intera colonna facendo però sì che il testo andasse a capo correttamente ove troppo lungo per essere contenuto in una cella singola.

                  Lo scopo della ridefinizione di \arraystretch è di aumentare la distanza verticale fra le righe della tabella. Questo non influenza la distanza fra le righe nel caso si debba andare a capo.

                  Se vuoi centrare e giustificare nella seconda colonna, l’unica è di centrare l’ultima riga, nel caso il contenuto della cella sia in più righe. Nel preambolo scrivi
                  `\newcommand{\centerlastline}{%
                  \leftskip=\fill \rightskip=-\fill \parfillskip=\stretch{2}}`
                  e la tua tabella diventa:
                  `\begin{tabularx}{\textwidth}{c>{\centerlastline}X}
                  \toprule
                  \textbf{BUTTON}& \textbf{PAGE}\\
                  \midrule
                  P15 & Distance between the strapping reset photocell and the strapping axis [mm]\\
                  P16 & Distance for bundle's head alignment in storage area (head stop distance
                  starting from proximity 132S3)\\
                  P17 & Step time for 2nd storage chain [ms]\\
                  P18 & Bundle trolley slow speed [Hz]\\
                  P19 & Available\\
                  P20 & Available\\
                  P21 & Available\\
                  \bottomrule
                  \end{tabularx}`
                  Bella magia, non trovi? 😀

                  Ciao
                  Enrico

                • #30683
                  quadamage76
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Grande Enrico, funzia alla grande con 2 modifiche:

                    newcommand lo chiamo lastcenter (altrimenti nel codice chiamo qualcosa che non esiste… Errore messo a proposito per vedere se sono attento? 😉 )

                    chiudo tutto in un bel center perché altrimenti la tabella è ok ma viene subito dopo il testo e, quindi, finisce fuori margine destro della pagina. Credo che questo sia dovuto a parfillskip ma non ho capito bene come funziona.

                    Ciao e grazie Matteo

                  • #30684
                    quadamage76
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Alla fine a forza di dai e dai mi sono reso conto che quelle righe orizzontali non servono a nulla e, anzi, danno fastidio, al che, eliminandole, non ha più senso centrare la seconda colonna (anche se almeno ho imparato come si fa…).

                      Grazie a tutti Matteo

                    • #30685
                      Up
                      0
                      Down
                      ::

                      Grande Enrico, funzia alla grande con 2 modifiche:

                      newcommand lo chiamo lastcenter (altrimenti nel codice chiamo qualcosa che non esiste… Errore messo a proposito per vedere se sono attento? 😉 )

                      chiudo tutto in un bel center perché altrimenti la tabella è ok ma viene subito dopo il testo e, quindi, finisce fuori margine destro della pagina. Credo che questo sia dovuto a parfillskip ma non ho capito bene come funziona.

                      Errore dovuto alla modifica al volo del nome del comando. 🙁 Correggo.

                      Vedi tu se usare la magia o no. Dipende molto da com’è la tabella in forma completa.

                      Ciao
                      Enrico

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

                  Go to top