Autoren (Grundlagen) (deutsche Übersetzung der Seite PmWiki.Tables, Stand 2008-03-14)

Grundlagen zu Tabellen

Bei PmWiki gibt es zwei Arten von Formatierungsanweisungen für Tabellen. Die auf dieser Seite beschriebene Syntax ist nützlich, um einfache Tabellen mit vielen kleinen Zellen zu erzeugen. Die zweite verfügbare Syntax ist für Tabellen mit komplexen Zellinhalten geeignet. Weitere Möglichkeiten, Tabellen zu formatieren, finden sich im Kochbuch-Rezept Cookbook:FormattingTables (nur auf Englisch verfügbar).

Tabellen werden mit Hilfe des doppelten 'pipe'-Zeichens || definiert. (Auf deutschen Tastaturen befindet sich das 'pipe'-Zeichen in der Regel links unten auf der Taste mit den Zeichen '<' und '>'. Das 'pipe'-Zeichen lässt sich unter Windows oder Linux normalerweise durch gleichzeitiges Drücken der <AltGr>-Taste und der '<'-Taste erzeugen. Macintosh Nutzer verwenden Wahltaste+7.). Zeilen, die mit || beginnen, zeigen den Beginn einer Tabellenzeile an. Das Auftreten von || innerhalb einer Zeile markiert den Beginn einer neuen Tabellenzelle. Nachfolgende Tabelle enthält zur besseren Sichtbarkeit einen Rand (standardmäßig ist kein Rand sichtbar).

Einfache Tabelle
|| border=1
|| Zelle 1 || Zelle 2 || Zelle 3 ||
|| Zelle 1 || Zelle 2 || Zelle 3 ||
Zelle 1Zelle 2Zelle 3
Zelle 1Zelle 2Zelle 3

Kopfzellen können gebildet werden, indem man ! als erstes Zeichen einer Zelle eingibt. Dies sind Tabellenköpfe, keine Überschriften, so daß !! und !!! keine Wirkung haben!

Tabellenköpfe
|| border=1
||! Zelle 1 ||! Zelle 2 ||! Zelle 3 ||
|| Zelle 1  ||  Zelle 2 ||  Zelle 3 ||
Zelle 1Zelle 2Zelle 3
Zelle 1Zelle 2Zelle 3

Tabellen können eine Beschriftung besitzen: ||!Beschriftung!||. Jede Beschriftung muss vor den anderen Zeilen der Tabelle eingefügt werden.

Tabellenbeschriftung
|| border=1
||! Eine besondere Tabelle !||
||! Zeile 1 ||! Zeile 2 ||! Zeile 3 ||
|| Zeile 1  ||  Zeile 2 ||  Zeile 3 ||
Eine besondere Tabelle
Zeile 1Zeile 2Zeile 3
Zeile 1Zeile 2Zeile 3

Formatierung von Zellinhalten

Zellinhalte dürfen links-, rechtsbündig oder zentriert sein.

  • Um Inhalte nach links auszurichten, wird der Zelleninhalt ohne Leerzeichen direkt rechts neben das führende || geschrieben.
  • Um Inhalte zu zentrieren, wird jeweils ein Leerzeichen vor und nach dem Zelleninhalt gesetzt.
  • Für die rechtsbündige Ausrichtung wird der Zelleninhalt ohne Leerzeichen direkt links neben das folgende || gestellt, wobei vor dem Zelleninhalt ein Leerzeichen eingetippt wird.
Ausrichtung der Zellen
|| border=1 width=100%
||!Zelle 1      ||! Zelle 2  ||!     Zelle 3||
||linksbündig   || zentriert || rechtsbündig||
Zelle 1Zelle 2Zelle 3
linksbündigzentriertrechtsbündig
Standardausrichtung der Zellen
|| border=1 width=100%
||!Zelle standard||!Zelle links ||
||bündig nach Standard||linksbündig ||
Zelle standardZelle links
bündig nach Standardlinksbündig

Es sei bemerkt, daß die Kopfzellen und die Einzelzellen verschiedene Voreinstellungen haben.

Eine Zelle überspannt mehrere Spalten, wenn der Zelle weitere leere Zellen folgen. (Zur Zeit existiert keine Syntax für das Überspannen von Zeilen.)

Überspannen von Spalten
|| border=1 width=100%
|| |||| rechte Spalte ||
|| || mittlere Spalte ||||
|| linke Spalte ||||||
|| linke Spalte || mittlere Spalte || rechte Spalte ||
 rechte Spalte
 mittlere Spalte
linke Spalte
linke Spaltemittlere Spalterechte Spalte

Tabelleneigenschaften

Jede Zeile, welche mit || beginnt, aber nicht mit || endet, setzt die Tabelleneigenschaften für eine folgende Tabelle. Diese Eigenschaften können Größe, Position, Rahmen, Hintergrundfarbe und die Zellenabstände in der Tabelle bestimmen. (Tatsächlich handelt es sich hier nur um die in den <table> Ausdruck gesetzten Standard-HTML-Eigenschaften.)

Mit dem width=-Attribut (in Prozent als absoluter Wert oder als *) wird die Tabellenweite festgelegt.

Tabellenbreite
|| border=1 width=100% 
|| Zeile 1 || Zeile 2 || Zeile 3 ||
|| z1 || zeilezeilezeilezeile2 || zeile 3 ||
Zeile 1Zeile 2Zeile 3
z1zeilezeilezeilezeile2zeile 3

Das border=-Attribut setzt die Größe der Tabellenränder.

Tabelle mit Rahmen
|| border=10 
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig
Tabelle ohne Rahmen
|| border=0
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||=]
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig=]

Mit align=center, align=left, and align=right wird die Tabelle links-, rechtsbündig oder zentriert ausgerichtet. align=left und align=right erzeugen eine fließende (floating) Tabelle, so dass der Text um die Tabelle herumfließt.

Tabellenausrichtung: zentriert
|| border=1 align=center width=70%
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||
Eine mit [@align=center@] ausgerichtete
Tabelle wird nicht vom Text umflosse.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Eine mit align=center ausgerichtete Tabelle wird nicht vom Text umflosse.

Tabellenausrichtung: linksbündig
|| border=1 align=left width=70%
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||
Der Text fließt rechts um die links
ausgerichtete Tabelle.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Der Text fließt rechts um die links ausgerichtete Tabelle.

Tabellenausrichtung: rechtsbündig
|| border=1 align=right width=70%
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||
Der Text fließt links um die rechts
ausgerichtete Tabelle.
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Der Text fließt links um die rechts ausgerichtete Tabelle.

Zu beachten ist, dass man CSS benötigt, um eine Tabelle zwar linksbündig auszurichten, aber als nicht-fließendes Element festzulegen.

||style="margin-left:0px;"

Das bgcolor=-Attribute legt die Hintergrundfarbe fest. Im Moment können keine individuellen Farben für Zeilen oder Spalten in einer Tabelle festgelegt werden (siehe aber auch das Kochbuch-Rezept Cookbook:FormattingSimpleTables (nur auf Englisch verfügbar)).

|| border=1 align=center bgcolor=yellow
||!Zeile 1      ||! Zeile 2  ||!      
Zeile 3||
||linksbündig || zentriert ||
rechtsbündig||
Zeile 1Zeile 2Zeile 3
linksbündigzentriertrechtsbündig

Weitere Beispiele

Eine komplexere Tabelle
%define=sp padding-right:1em font-weight:bold%
|| border=1
|| [++Events Calendar++] ||||||||||
|| '''May 2005''' || '''June 2005''' || '''July 2005''' || '''August
2005''' || '''September 2005''' ||
||%sp%'''10'''%%6:30 - 8:30 Big
Meeting[[<<]][[<<]]%sp%'''17'''%%7:00 - 8:30 Bigger
Meeting[[<<]][[<<]]%sp%'''24'''%%7:00 - 8:30 Biggest Meeting||
|| || || ||
|| '''October 2005''' || '''November 2005''' || '''December 2005''' ||
'''January 2006''' || '''February 2006''' ||
|| || || || || ||
Events Calendar
May 2005June 2005July 2005August 2005September 2005
106:30 - 8:30 Big Meeting

177:00 - 8:30 Bigger Meeting

247:00 - 8:30 Biggest Meeting
    
October 2005November 2005December 2005January 2006February 2006
     

<< Hochladen von Dateien | Dokumentationsindex | Tabellendirektiven >>

How do I create a basic table?

Tables are created via use of the double pipe character: ||. Lines beginning with this markup denote rows in a table; within such lines the double-pipe is used to delimit cells. In the examples below a border is added for illustration (the default is no border).

Basic table
|| border=1 rules=rows frame=hsides
|| cell 1 || cell 2 || cell 3 ||
|| cell 1 || cell 2 || cell 3 ||
cell 1cell 2cell 3
cell 1cell 2cell 3

How do I create cell headers?

Header cells can be created by placing ! as the first character of a cell. Note that these are table headers, not headings, so it doesn't extend to !!, !!!, etc.

Table headers
|| border=1 rules=cols frame=vsides
||! cell 1 ||! cell 2 ||! cell 3 ||
|| cell 1  ||  cell 2 ||  cell 3 ||
cell 1cell 2cell 3
cell 1cell 2cell 3

How do I create an advanced table?

See table directives

My tables are by default centered. When I try to use '||align=left' they don't align left as expected.

You're probably using Firefox. Use ||style="margin-left:0px;" instead.

How can I specify the width of columns?

At present there isn't a way to do this using the basic markup. You need to use Table Directives.

How can I display a double pipe "||" in cell text using basic table markup?

Use &#124;&#124; to display || as a special characters.