tabelle per la formattazione della pagine?

  • Creatore
    Topic
  • #44022
    Up
    0
    Down
    ::


    ciao a tutti,
    vorrei scrivere un breve documento (max 3 pagine) con una formattazione del genere:

    `
    \documentclass[a4paper,oneside]{article}

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

    \usepackage{titlesec}
    \usepackage{lipsum}
    \usepackage{fullpage}
    \usepackage{tabularx}

    \titleformat{\section}{\LARGE\itshape}{}{0em}{}[\titlerule\vspace{5pt}]

    \begin{document}

    \section{Sezione 1}
    \begin{tabularx}{\columnwidth}{>{\itshape}rX}
    Titolo & \lipsum[1] \\
    Altro & \lipsum[2] \\
    Ancora & \lipsum[3] \\
    & \lipsum[4]
    \end{tabularx}

    \section{Sezione 2}
    \begin{tabularx}{\columnwidth}{>{\itshape}rX}
    Titolo & \lipsum[1] \\
    & \lipsum[2] \\
    Altro & \lipsum[3] \\
    Ancora & \lipsum[4] \\
    \end{tabularx}

    % seguono altre sezioni
    % …

    \end{document}
    `

    Questa soluzione però non è abbastanza flessibile (una tabella non può occupare più di una pagina, spesso una pagina viene riempita solo in parte, …)

    Qual è il modo corretto di ottenere un risultato simile? Va bene usare tabelle per impostare la formattazione voluta (magari usando xtab invece di tabularx, per spezzare le tabelle)?

    Il modo di usare titlesec nell’esempio di sopra è corretto? Non sono più riuscito a riprodurre il problema, ma in alcuni casi un’interruzione di pagina separava il titolo della section dal titlerule corrispondente.

    grazie in anticipo

Visualizzazione 4 filoni di risposte
  • Autore
    Risposte
    • #44023
      Up
      0
      Down
      ::

      ciao a tutti,
      vorrei scrivere un breve documento (max 3 pagine) con una formattazione del genere:

      `
      \documentclass[a4paper,oneside]{article}

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

      \usepackage{titlesec}
      \usepackage{lipsum}
      \usepackage{fullpage}
      \usepackage{tabularx}

      \titleformat{\section}{\LARGE\itshape}{}{0em}{}[\titlerule\vspace{5pt}]

      \begin{document}

      \section{Sezione 1}
      \begin{tabularx}{\columnwidth}{>{\itshape}rX}
      Titolo & \lipsum[1] \\
      Altro & \lipsum[2] \\
      Ancora & \lipsum[3] \\
      & \lipsum[4]
      \end{tabularx}

      \section{Sezione 2}
      \begin{tabularx}{\columnwidth}{>{\itshape}rX}
      Titolo & \lipsum[1] \\
      & \lipsum[2] \\
      Altro & \lipsum[3] \\
      Ancora & \lipsum[4] \\
      \end{tabularx}

      % seguono altre sezioni
      % …

      \end{document}
      `

      Questa soluzione però non è abbastanza flessibile (una tabella non può occupare più di una pagina, spesso una pagina viene riempita solo in parte, …)

      Qual è il modo corretto di ottenere un risultato simile? Va bene usare tabelle per impostare la formattazione voluta (magari usando xtab invece di tabularx, per spezzare le tabelle)?

      Il modo di usare titlesec nell’esempio di sopra è corretto? Non sono più riuscito a riprodurre il problema, ma in alcuni casi un’interruzione di pagina separava il titolo della section dal titlerule corrispondente.

      grazie in anticipo

      Quelle non sono tabelle, ma liste con descrizione (ambiente description).

      Il problema della riga che “si stacca” è quasi sicuramente dovuto al \vspace; usa il comando \titlespace per impostare la spaziatura dopo il titolo di sezione.

      Ciao
      Enrico

    • #44024
      Up
      0
      Down
      ::

      Quelle non sono tabelle, ma liste con descrizione (ambiente description).

      ok, ma il layout di description non è esattamente quello che voglio. Ho visto il pacchetto enumitem ed ho ottenuto quello che volevo:

      `
      \begin{description}[font=\itshape, leftmargin=12em, style=multiline,
      labelsep=2em]
      \item[Titolo molto lungo su più righe]
      \lipsum[1]
      \lipsum[3]
      \item[Altro] \lipsum[2]
      \end{description}
      `

      solo una cosa: è possibile allineare a destra le label degli item?

      Il problema della riga che “si stacca” è quasi sicuramente dovuto al \vspace; usa il comando \titlespace per impostare la spaziatura dopo il titolo di sezione.

      credo di aver trovato il problema. Io uso
      `
      \titleformat{\section}{\LARGE\itshape\color{darkblue}}{}{0em}{}[\color{black}\titlerule]
      \titlespacing*{\section}{0pt}{0pt}{1em}
      `
      e a volte il titlerule ed il titolo vengono separati da un’interruzione di pagina. Togliendo \color{black} (con lo stesso identico sorgente) il problema scompare. Cosa c’è di sbagliato?

      grazie mille

    • #44025
      Up
      0
      Down
      ::

      Quelle non sono tabelle, ma liste con descrizione (ambiente description).

      ok, ma il layout di description non è esattamente quello che voglio. Ho visto il pacchetto enumitem ed ho ottenuto quello che volevo:

      `
      \begin{description}[font=\itshape, leftmargin=12em, style=multiline,
      labelsep=2em]
      \item[Titolo molto lungo su più righe]
      \lipsum[1]
      \lipsum[3]
      \item[Altro] \lipsum[2]
      \end{description}
      `

      solo una cosa: è possibile allineare a destra le label degli item?

      Sì. Scrivi nel preambolo
      `\makeatletter
      \def\enit@rmultilinestyle#1{%
      \dimen@\leftmargin
      \advance\dimen@-\labelsep
      \advance\dimen@-\labelindent
      \sbox\z@{%
      \parbox[t]\dimen@{%
      \raggedleft\hskip-\labelsep#1}}%
      \setbox\@labels\box\voidb@x
      \dp\z@\z@
      \hskip\labelsep\box\z@
      \hfil}
      \makeatother`
      e nel tuo ambiente description usa “style=rmultiline”.

      Il problema della riga che “si stacca” è quasi sicuramente dovuto al \vspace; usa il comando \titlespace per impostare la spaziatura dopo il titolo di sezione.

      credo di aver trovato il problema. Io uso
      `
      \titleformat{\section}{\LARGE\itshape\color{darkblue}}{}{0em}{}[\color{black}\titlerule]
      \titlespacing*{\section}{0pt}{0pt}{1em}
      `
      e a volte il titlerule ed il titolo vengono separati da un’interruzione di pagina. Togliendo \color{black} (con lo stesso identico sorgente) il problema scompare. Cosa c’è di sbagliato?

      `\titleformat{\section}{\LARGE\itshape}{}{0em}{\textcolor{darkblue}}[\titlerule]
      \titlespacing*{\section}{0pt}{0pt}{1em}`
      L’ultimo comando nell’ultimo argomento obbligatorio può avere un argomento, che sarà il titolo della sezione. Il tuo \color{black} prima di \titlerule introduce un punto dove TeX può spezzare una pagina.

      Ciao
      Enrico

    • #44026
      Up
      0
      Down
      ::


      perfetto, grazie ancora.

      c’è qualche risorsa online per capire come funziona la tua definizione dello stile rmultiline? quello è plain tex, vero?

      ciao

    • #44027
      Up
      0
      Down
      ::

      perfetto, grazie ancora.

      c’è qualche risorsa online per capire come funziona la tua definizione dello stile rmultiline? quello è plain tex, vero?

      No, ho preso da enumitem.sty la definizione dello stile “multiline” e ho cambiato \raggedright in \raggedleft.

      Ciao
      Enrico

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

Go to top