Landscape + Multicols + Supertabular: è possibile?

  • Creatore
    Topic
  • #11171
    Up
    0
    Down
    ::


    Ciao a tutti,
    sto creando una reference card di C++ per uso personale e per ottimizzare lo spazio ho optato per l’orientamento landscape e l’uso di multicols per dividere ogni facciata in tre colonne. Il problema si verifica con l’uso del pacchetto supertabular per colonne lunghe: la tabella viene sì “spezzata” ma la parte seguente è inserita nella prima colonna della pagina successiva e non nella colonna seguente della stessa pagina; ecco un esempio del codice che uso:

    `\documentclass[a4paper,10pt,landscape]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[italian]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{multicol}

    \usepackage[textwidth=28cm, top=1cm, bottom=1.6cm]{geometry}

    \usepackage{supertabular}
    \usepackage{lipsum}

    \begin{document}

    \begin{multicols*}{3}

    \setlipsumdefault{1-4}
    \lipsum

    \begin{center}
    \begin{supertabular}{lll}
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    1 & 2 & 3 \\
    uno & due & tre \\
    \end{supertabular}
    \end{center}

    \end{multicols*}

    \end{document}
    `

    Il comando che uso per compilare il file .tex è:

    `latex tuttoc++.tex && dvips -Ppdf -t landscape tuttoc++.dvi && ps2pdf tuttoc++.ps`

    È possibile risolvere in qualche maniera questo comportamento?

    Grazie,
    Giuseppe

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #11172
      Up
      0
      Down
      ::

      Ciao a tutti,
      sto creando una reference card di C++ per uso personale e per ottimizzare lo spazio ho optato per l’orientamento landscape e l’uso di multicols per dividere ogni facciata in tre colonne. Il problema si verifica con l’uso del pacchetto supertabular per colonne lunghe: la tabella viene sì “spezzata” ma la parte seguente è inserita nella prima colonna della pagina successiva e non nella colonna seguente della stessa pagina; ecco un esempio del codice che uso:

      […]
      È possibile risolvere in qualche maniera questo comportamento?

      Non con supertabular né con longtable. Se le tue righe sono abbastanza uniformi, puoi provare senza scrivere una tabella, con un allineamento “a mano”:
      `\newcommand{\riga}[3]{\par\noindent
      \makebox[2cm][l]{#1}\makebox[2cm][l]{#2}\makebox[2cm][l]{#3}\par}`
      Scrivi poi
      `\riga{1}{2}{3}
      \riga{a}{b}{c}
      …`
      Ciao
      Enrico

    • #11173
      Up
      0
      Down
      ::


      Ho provato la tua soluzione e può andare per celle contenenti poco testo; come faccio a gestire righe di testo lunghe? come faccio a farle andare a capo nella stessa cella? (come si farebbe con p{ dim } in un ambiente tabella).

      grazie,
      giuseppe

    • #11174
      Up
      0
      Down
      ::

      Ho provato la tua soluzione e può andare per celle contenenti poco testo; come faccio a gestire righe di testo lunghe? come faccio a farle andare a capo nella stessa cella? (come si farebbe con p{ dim } in un ambiente tabella).

      Usa \parbox{

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

Go to top