Legen Sie die Breite aller Spalten einer Tabelle in ConTeXt fest

Legen Sie die Breite aller Spalten einer Tabelle in ConTeXt fest

Manchmal brauche ich eine solche Tabelle, deren Spaltenbreiten untereinander gleich sein sollen. Hier ist ein Beispiel:

Name    Email
John    [email protected]
Bill    [email protected]
Tim     [email protected]

Die Spalte „Name“ sollte rechtsbündig und die Spalte „E-Mail“ linksbündig sein. Natürlich haben beide Spalten die gleiche Breite.

Ich denke, diese Anforderung kann durch \starttableund erreicht werden \stoptable, aber wie kombiniert man loder rmit der erforderlichen Breite?

Antwort1

Die \starttableSyntax ist veraltet und sollte daher für neue Dokumente vermieden werden. Aus diesem Grund stelle ich eine Lösung mit natürlichen Tabellen vor, auch HTML-Tabellen genannt. Da natürliche Tabellen sehr ausführlich sind, können sie am besten mit dem databaseModul kombiniert werden. Dies ermöglicht eine sehr einfache und lesbare Syntax, ist jedoch weniger flexibel. Es hängt von Ihren Anforderungen ab, ob das databaseModul in diesem Fall sinnvoll ist. Der Aufbau der natürlichen Tabellen ist in beiden Fällen gleich.

Für einfachere Aufgaben reichen möglicherweise die tabellarischen Übersichten aus.

\usemodule [database]

\defineseparatedlist
  [NaturalTable]
  [separator=comma, %% not necessary, already the default
   before=\bTABLE, after=\eTABLE,
   first=\bTR, last=\eTR,
   left=\bTD, right=\eTD,
   setups=s:NaturalTable]

\startsetups [s:NaturalTable]
  \setupTABLE              [frame=off, distance=5mm]
  \setupTABLE [column] [1] [width=2cm, align=flushright]
  \setupTABLE [row]    [1] [style=bold]
\stopsetups

\starttext

\startNaturalTable
  Name, Email
  John, [email protected]
  Bill, [email protected]
  Tim , [email protected]
\stopNaturalTable

\starttabulate [|p(3cm)r|l|]
  \NC Name \NC Email                \AR
  \NC John \NC [email protected]   \AR
  \NC Bill \NC [email protected] \AR
  \NC Tim  \NC [email protected]  \AR
\stoptabulate


\stoptext

Ergebnis

verwandte Informationen