Andare a capo in una stessa cella

  • Questo topic ha 7 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 7 anni fa da OldClaudio.
  • Creatore
    Topic
  • #116365
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    una domanda da cui non riesco a venirne fuori. Come si fa a forzare l’andatura a capo in una tabella all’interno della stessa cella?

    Mi spiego meglio sto usando l’ambiente longtable e ho due colonne definite con p e le ho tenute abbastanza larghe per coprire bene l’intera tabella. Tuttavia ho necessità di inserirvi un codice in una cella della prima colonna, non riesco però a forzare l’andatura a capo, anche dando uno spazio molto ampio mi tiene entrambe le parole nella stessa riga.
    Ho provato a usare \multirows ma il problema è che ho molto testo nella corrispettiva cella di destra e quindi dovrei farlo solo a costo di spezzare il testo di destra io a mano e il risultato è scadente. Avete consigli?

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #116366
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Se il codice è scritto in carattere monospaziato, la sillabazione è interdetta; ma nella prima colonna non è vietato introdurre uno o più comandi \neline, né di inserire nelle parole del codice qualche \discretionary{}{}{}; la seconda via produce risultati migliori ma dipende molto da che cosa includi nei tre argomenti del comando \dicretionary; dipende dal codice che scrivi e dalle spiegazioni che dai per specificare che quel particolare segno (possibilmente diverso da trattino) non fa parte del codice, ma segna la prosecuzione della parola nella riga successiva.

      • #116367
        Up
        0
        Down
        ::


        Grazie Claudio, in realtà non è un problema di sillabazione in quanto ho una parola corta allineata a sx poi devo andare a capo poi un’altra parolina.
        Ho provato a dare newline ma nella colonna di destra mi allinea il testo alla seconda riga non alla prima, è normale?

      • #116368
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Esempio minimo compilabile, per favore.

        • #116369
          Up
          0
          Down
          ::


          `% !TEX encoding = UTF-8 Unicode
          % !TEX program = pdflatex
          % !TEX spellcheck = it_IT

          \documentclass[a4paper, twoside]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[english,italian]{babel}
          \usepackage{lipsum}
          \usepackage{amsmath}
          \usepackage{booktabs}
          \usepackage{caption}
          \usepackage{longtable}

          \begin{document}
          \begin{longtable}%{0.7\textwidth}
          {p{0.48\textwidth}p{0.48\textwidth}}
          %intestazione iniziale
          \caption{Spiegazione di alcuni codici particolari}\\
          \toprule
          Comando&Effetto\\
          \midrule
          \endfirsthead
          %intestazione normale
          \multicolumn{2}{l}{\footnotesize\itshape Continua dalla pagina precedente}\\
          \toprule
          Comando&{Effetto}\\
          \midrule
          \endhead
          %piede normale
          \midrule
          \multicolumn{2}{r}{\footnotesize\itshape Continua nella prossima pagina}\\
          \endfoot
          %piede finale
          \bottomrule
          \multicolumn{2}{r}{\footnotesize\itshape Si conclude dalla pagina precedente}\\
          \endlastfoot
          %CORPO
          \lipsum[1] & \lipsum[2]\\
          \verb|Questo va bene|\\
          \verb|Questo lo vorrei a capo| & \lipsum[2]
          \end{longtable}
          \end{document}` Ecco qua, in realtà la scritta Questo va bene dovrebbe essere allineata nelle mie intenzioni con l’inizio del paragrafo a destra.

        • #116370
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Dentro una tabella \\ significa “fine della riga di celle; se ne comincia un’altra”.

            Se invece usi \newline ottieni l’a-capo dentro la singola cella e hai l’allineamento che cerchi.

          • #116371
            Up
            0
            Down
            ::


            Grazie Claudio, da sciocco avevo confuso le cose,

            ti chiedo un’ultima cosa, nel caso entrambe le colonne siano di tipo p funziona ma mettendo tipo l nella prima non funziona più, come mai?

            `% !TEX encoding = UTF-8 Unicode
            % !TEX program = pdflatex
            % !TEX spellcheck = it_IT

            \documentclass[a4paper, twoside]{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[english,italian]{babel}
            \usepackage{lipsum}
            \usepackage{amsmath}
            \usepackage{booktabs}
            \usepackage{caption}
            \usepackage{longtable}

            \begin{document}
            \begin{longtable}%{0.7\textwidth}
            {lp{0.48\textwidth}}
            %intestazione iniziale
            \caption{Spiegazione di alcuni codici particolari}\\
            \toprule
            Comando&Effetto\\
            \midrule
            \endfirsthead
            %intestazione normale
            \multicolumn{2}{l}{\footnotesize\itshape Continua dalla pagina precedente}\\
            \toprule
            Comando&{Effetto}\\
            \midrule
            \endhead
            %piede normale
            \midrule
            \multicolumn{2}{r}{\footnotesize\itshape Continua nella prossima pagina}\\
            \endfoot
            %piede finale
            \bottomrule
            \multicolumn{2}{r}{\footnotesize\itshape Si conclude dalla pagina precedente}\\
            \endlastfoot
            %CORPO
            Testo di prova & \lipsum[2]\\
            \verb|Questo va bene|\newline
            \verb|Questo lo vorrei a capo| & \lipsum[2]\\
            \end{longtable}
            \end{document}`

          • #116372
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Perché l serve per definire una colonne in cui tutte le celle contengono solo una riga.

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

          Go to top