Comporre tabelle numeriche “per colonne”

  • Creatore
    Topic
  • #100934
    Roberto Castelluccio
    Partecipante
      Up
      0
      Down
      ::


      Dopo aver fatto un po’ di ricerca fra i pacchetti per la composizione di tabelle, vorrei chiedere se esiste un modo per inserire i dati numerici nel corpo di una tabella colonna per colonna, delle liste insomma: `col = [ 1, 5.2, 6, …]`
      Spiego anche per cosa mi servirebbe, così magari esce un’altra strada per risolvere il mio problema: sto usando il pacchetto Sagetex per fare i calcoli di una relazione tecnica; dovendo inserire delle tabelle per presentare i risultati, ho sfruttato il comando table(…) di SageMath che permette la costruzione per colonne e funziona bene, tranne per il fatto che gestisce solo tabelle con filetti \hline, dalla resa non ottimale in quanto a spaziatura.

      Di qui l’intenzione di provare a comporre la tabella con l’usuale (per me) pacchetto booktabs fino all’intestazione e poi dare le colonne come liste, sempre che funzioni l’annidamento del comando \sage{lista}.

      Mi sono deciso a chiedere prima di provare (forse 🙄 ) a far comporre la tabella direttamente a Sage usando però \toprule, \midrule e \bottomrule (segue un esempio tratto dalla documentazione di Sagetex):
      `\begin{sageblock}
      def pascals_triangle(n):
      # start of the table
      s = [r”\begin{tabular}{cc|” + “r” * (n+1) + “}”]
      s.append(r” & & $k$: & \\”)
      # second row, with k values:
      s.append(r” & “)
      for k in [0..n]:
      s.append(“& {0} “.format(k))
      s.append(r”\\”)
      # the n = 0 row:
      s.append(r”\hline” + “\n” + r”$n$: & 0 & 1 & \\”)
      # now the rest of the rows
      for r in [1..n]:
      s.append(” & {0} “.format(r))
      for k in [0..r]:
      s.append(“& {0} “.format(binomial(r, k)))
      s.append(r”\\”)
      # add the last line and return
      s.append(r”\end{tabular}”)
      return ''.join(s)

      # how big should the table be?
      n = 9
      \end{sageblock}
      `

    • Devi essere connesso per rispondere a questo topic.

    Go to top