Mediawiki syntaxe - tabulky

Z Wiki Pavel
Skočit na navigaci Skočit na vyhledávání

Tabulky na Wikipedii se vytvářejí pomocí značkovacího jazyka (viz Jak editovat stránku), zejména znaku svislá čára, svislice, také lidově svislítko nebo roura: | . Tabulka může mít nad sebou titulek a zvolený počet sloupců a řádků, které mohou být opatřeny záhlavími. Je možné využít standardní předdefinované tabulky a také upravovat parametry jako jsou rozměry, zarovnání a barva textu, buď pro celou tabulku nebo pro jednotlivé sloupce a řádky resp. buňky.

V MediaWiki je možné tabulky zapisovat i standardními příkazy HTML, ale nejsou povoleny pokročilejší příkazy jako tbody, colgroup ap. Touto možností se nápověda nezabývá.

Základní syntaxe tabulek

Tabulka má tuto základní strukturu:

{| parametry obsah|}

Mezi {| a parametry musí být mezera.

Parametry jsou nepovinné a určují vlastnosti celé tabulky, další parametry se pak mohou vkládat i do obsahu (buněk) tabulky. Užívají se stejné jako v HTML/CSS, jednotlivé parametry není třeba uzavírat do uvozovek, do zdrojového kódu je automaticky doplní systém.

Obsah tabulky se vkládá po řádcích, každý řádek se skládá z oddělených buněk a je ukončený značkou konce řádku.

Zápis jednoduché tabulky
{| 
|+ Titulek tabulky 
! Záhlaví A !! Záhlaví B !! Záhlaví C 
|- 
| Řádek 1, A || Řádek 1, B || Řádek 1, C 
|- 
| Řádek 2, A || Řádek 2, B || Řádek 2, C 
|} 
Výsledek v článku
Titulek tabulky
Záhlaví A Záhlaví B Záhlaví C
Řádek 1, A Řádek 1, B Řádek 1, C
Řádek 2, A Řádek 2, B Řádek 2, C








Buňky se mohou oddělovat (HTML tag TD) takto:

| buňka A || buňka B || buňka C

To je přehledné u jednoduchých tabulek s krátkým obsahem, protože rozvržení ve zdrojovém textu se blíží tomu ve výsledné tabulce. U složitějšího obsahu může být výhodné zapsat každou buňku na nový řádek, takto:

| buňka A
| buňka B
| buňka C

Každá buňka musí tedy být uvozena buď

  • odřádkováním a svislicí ( | na začátku řádku) anebo
  • dvojicí svislic ( || ) v pokračování na řádku kódu.

Parametry lze určovat i u jednotlivých buněk. Vloží se hned za značku začátku buňky a ukončí se svislicí.

| parametry | buňka

Buňky s parametry zapsané do řádku pak vypadají takto:

| parametry a | buňka A || parametry b | buňka B || parametry c | buňka C

Nový řádek. První řádek tabulky (HTML tag TR) je vygenerován automaticky. Začátek dalšího řádku je třeba vyznačit

|- 

Parametry řádku se připojí takto:

|- parametry

Záhlaví sloupců (HTML tag TH) se zapisuje stejně jako ostatní buňky, pouze místo svislice se buňky (nikoli parametry) oddělují vykřičníkem (!):

 ! Záhlaví sloupce A !! Záhlaví sl. B !! Záhlaví sl. C

Stejně jako u ostatních buněk lze zapsat každé záhlaví na nový řádek:

 ! Záhlaví sloupce A
 ! Záhlaví sl. B
 ! Záhlaví sl. C

Parametr je od vlastního záhlaví oddělován standardně svislicí, nikoli vykřičníkem:

 ! parametry | Záhlaví

Titulek tabulky (HTML tag CAPTION) se vytvoří pomocí:

|+ Titulek tabulky

Parametry se připojí takto:

|+ parametry | Titulek tabulky

Příklad

{|
 |+ '''Toto je titulek.''' Příklad z tabulky pro Afghánistán.
 | [[Nezávislost]] || [[19. srpen|19. srpna]] [[1919]]
 |-
 | [[Měna]] || [[Afghani]]
 |-
 | [[Časové pásmo]] || [[Universal Time, Coordinated|UTC]]+4:30
 |-
 | [[Národní hymna]] || [[Sououd-e-Melli]]
 |-
 | [[Doména nejvyšší úrovně]] || .af
|}

což se zobrazí jako:

Toto je titulek. Příklad z tabulky pro Afghánistán.
Nezávislost 19. srpna 1919
Měna Afghani
Časové pásmo UTC+4:30
Národní hymna Sououd-e-Melli
Doména nejvyšší úrovně .af

Předdefinované tabulky

Jednoduchá tabulka

Pro standardní tabulky je vhodné využít předdefinovanou jednoduchou, slabě zarámovanou tabulku o libovolném počtu sloupců a řádek. Stačí jako parametr tabulky uvést class="wikitable" nebo Šablona:Š. Například:

{| class="wikitable"
|+ Označení položek
! AAA !! BBB !! CCC
|-
| A1 || B3 || C11 
|-
| A2 || B2 || C10
|-
| A3 || B1 || C12
|-
|}

se zobrazí jako

Označení položek
AAA BBB CCC
A1 B3 C11
A2 B2 C10
A3 B1 C12

Tabulka s volitelným řazením

Lze také vytvářet tabulky, které si čtenář může řadit dle vybraného sloupce kliknutím na jeho záhlaví. Využívá se při tom JavaScript a funguje od MediaWiki verze 1.9. Jednoduše použijeme předdefinovanou tabulku wikitable sortable. Pokud v předchozím příkladu takto:

{| class="wikitable sortable"

upravíme parametr tabulky, získáme:

Označení položek
AAA BBB CCC
A1 B3 C11
A2 B2 C10
A3 B1 C12

U tabulky s řazením lze použít parametry, určující které sloupce mají zůstat bez řazení a kde končí oblast řazení:

ID položky Název Kusů Cena za kus Celkem
1 Toaletní papír 5 5,60 28,-
2 Smirkový papír 3 12,- 36,-
3 Kancelářský papír 100 0,50 50,-
Celková cena: 114,-

Zdrojový kód ukázky:

{|class="wikitable sortable"
!ID položky!!Název!!class="unsortable"|Kusů!!Cena za kus!!Celkem
|-
|1||Toaletní papír||5||5,60||28,-
|-
|2||Smirkový papír||3||12,-||36,-
|-
|3||Kancelářský papír||100||0,50||50,-
|-class="sortbottom"
!!!!!!!!!Celková cena: 114,-
|}
  • Parametr class="unsortable"| v záhlaví vynechá nežádoucí řazení podle počtu kusů.
  • Parametr class="sortbottom" před posledním řádkem ukončí oblast řazení, aby celková cena zůstala na posledním řádku.

Řazení čísel podle velikosti

Parametr před textem nadpisu data-sort-type="number" (zakončený svislicí) změní řazení ze znakového na seřazení podle velikostí čísel, řádek nadpisů by tak byl tvořen zápisem např.

!ID položky!!Název!!class="unsortable"|Kusů!!data-sort-type="number"|Cena za kus!!Celkem!

s výslednou tabulkou s číselným řazením podle jednotkové ceny:

ID položky Název Kusů Cena za kus Celkem
1 Toaletní papír 5 5,60 28,-
2 Smirkový papír 3 12,- 36,-
3 Kancelářský papír 100 0,50 50,-
Celková cena: 114,-

Pokročilé formátování

Zarovnání textu

Výchozí zarovnání textu v buňce je vlevo a ve svislém směru doprostřed. Parametry lze přiřadit jak buňce (pak platí pouze pro danou buňku), tak celému řádku (pak platí pro všechny buňky v řádku, které nemají daný parametr změněný). V případě, že není použit předdefinovaný styl (např. class="wikitable"), tak lze použít i pro celou tabulku (pak určuje zarovnání tabulky na stránce).

Vodorovné zarovnání

Pro horizontální zarovnání textu v buňkách tabulky se používá parametr align (angl. zarovnat):

  • align="left" – vlevo (výchozí)
  • align="center" – na střed
  • align="right" – vpravo
Svislé zarovnání

Pro vertikální zarovnání textu se používá podobný parametr valign (v[ertical] align):

  • valign="top" – nahoře
  • valign="middle" – uprostřed (výchozí)
  • valign="bottom" – dole
Příklad tabulky s různě zarovnanými buňkami
Svislé zarovnání Vodorovné zarovnání
výchozí
Vodorovné zarovnání
na střed
Vodorovné zarovnání
doprava
zarovnání
výchozí
data data data
zarovnání
nahoru
data data data
zarovnání
dolů
data data data
Zarovnání řádku vpravo vpravo vpravo
celý řádek zarovnaný
dolů a doprava
data data data
stejný řádek
jedna buňka s parametry
data s parametry data

Zdrojový kód příkladu:

{| class="wikitable"
|+ Příklad tabulky s různě zarovnanými buňkami
! Svislé zarovnání
! Vodorovné zarovnání <br /> výchozí
! Vodorovné zarovnání <br /> na střed
! Vodorovné zarovnání <br /> doprava
|-
! zarovnání <br /> výchozí
| data
| align="center" | data
| align="right" | data
|-
! zarovnání <br /> nahoru
| valign="top" | data
| valign="top" align="center" | data
| valign="top" align="right" | data
|-
! zarovnání <br /> dolů
| valign="bottom" | data
| valign="bottom" align="center" | data
| valign="bottom" align="right" | data
|-
! Zarovnání řádku
! vpravo
! vpravo
! vpravo
|- valign="bottom" align="right"
! celý řádek zarovnaný <br /> dolů a doprava
| data || data || data
|- valign="bottom" align="right"
! stejný řádek <br /> jedna buňka s parametry
| data
| valign="top" align="left" | s parametry
| data
|}

Zarovnání čísel na desetinnou čárku

Čísla v tabulkách nemají jiné vlastnosti, než každý jiný text. To platí také u zarovnání. V tabulkách ale jsou ignorovány prosté mezery na začátku a na konci obsahu buňky.

Pro zarovnání podle desetinné čárky proto zvolíme zarovnání vpravo (align="right") a doplníme za číslo příslušný počet nezobrazených nul použitím šablony nuly se svislicí 0|. Ta vynechá v buňce právě tolik místa, jako by zabral text (zde zejména případná desetinná čárka a příslušný počet nul) zapsaný do šablony za svislicí, např. desetinná čárka a dvě nuly:

{{0|,00}}

Navíc:

  • I číslo s největším počtem číslic za desetinnou čárkou „odlepíme“ od pravého okraje buňky přidáním za čísla plné nebo malé mezery:
    {{0|0}}, {{0|.}} 
    Stejně můžeme oddělit od krajů buněk i texty přidáním mezer na obou stranách.
  • U celých čísel ve sloupci i s desetinnými čísly je úhlednější zapsat alespoň první nulu za desetinnou čárkou.

Upravený příklad výše uvedené tabulky tak bude s příslušnými zarovnáními (zejména pravý sloupec) vypadat takto:

Šablona:0ID položkyŠablona:0 Šablona:0NázevŠablona:0 Šablona:0KusůŠablona:0 Šablona:0Cena za kusŠablona:0 Šablona:0CelkemŠablona:0
1Šablona:0 Šablona:0Toaletní papírŠablona:0 5Šablona:0 5,60Šablona:0 28,00Šablona:0
2Šablona:0 Šablona:0Smirkový papírŠablona:0 3Šablona:0 12,50Šablona:0 36Šablona:0
3Šablona:0 Šablona:0Kancelářský papír Šablona:0 100Šablona:0 0,50Šablona:0 50,-Šablona:0
Celková cena: 114,-Šablona:0

s kódem:

{|class="wikitable sortable"
!{{0|.}}ID položky{{0|.}}!!{{0|.}}Název{{0|.}}!!class="unsortable"|{{0|.}}Kusů{{0|.}}!!{{0|.}}Cena za kus{{0|.}}!!{{0|.}}Celkem{{0|.}}
|-
|align="right"|1{{0|.}}||{{0|.}}Toaletní papír{{0|.}}||align=right|5{{0|.}}||align=right|5,60{{0|.}}||align=right|28,00{{0|.}}
|-
|align="right"|2{{0|.}}||{{0|.}}Smirkový papír{{0|.}}||align=right|3{{0|.}}||align=right|12,50{{0|.}}||align=right|36{{0|,00.}}
|-
|align="right"|3{{0|.}}||{{0|.}}Kancelářský papír {{0|.}}    ||align=right|100{{0|.}}||align=right|0,50{{0|.}}||align=right|50,-{{0|0.}}
|-class="sortbottom"
!!!!!!!Celková cena:!!align="right"|114,-
|}


Slučování buněk

Jednotlivé buňky tabulky můžeme slučovat. Vykreslit v daném řádku buňku přes několik sloupců lze pomocí parametru colspan="cislo", kde cislo značí počet sloupců, přes které se má buňka vykreslit. Např. colspan="2" tedy vykreslí danou buňku přes dva sloupce. Jestliže chceme vykreslit v daném sloupci buňku přes několik řádků, použijeme obdobným způsobem parametr rowspan="cislo".

Příklad tabulky se sloučenými buňkami
řádek 1, sloupec 1 řádek 1, sloupec 2 a 3
řádek 2, sloupec 1 řádek 2, sloupec 2 řádek 2, sloupec 3
řádek 3, sloupec 1 řádek 3 a 4, sloupec 2 řádek 3, sloupec 3
řádek 4, sloupec 1 řádek 4, sloupec 3
řádek 5, sloupec 1 řádek 5, sloupec 2 rádek 5, sloupec 3

Zdrojový kód příkladu:

{|class="wikitable"
|+ Příklad tabulky se sloučenými buňkami
! řádek 1, sloupec 1
! colspan="2" | řádek 1, sloupec 2 a 3
|-
|řádek 2, sloupec 1
|řádek 2, sloupec 2
|řádek 2, sloupec 3
|-
|řádek 3, sloupec 1
|rowspan="2"|řádek 3 a 4, sloupec 2
|řádek 3, sloupec 3
|-
|řádek 4, sloupec 1
|řádek 4, sloupec 3
|-
|řádek 5, sloupec 1
|řádek 5, sloupec 2
|rádek 5, sloupec 3
|}

Vkládání tabulek do sebe

Do jedné tabulky lze vložit druhou tabulku, např.:

data A tabulky 1
data a tabulky 2 data b tabulky 2
data c tabulky 2 data d tabulky 2
data B tabulky 1
data C tabulky 1 data D tabulky 1

Zdrojový kód příkladu:

{| class="wikitable"
| data A tabulky 1
{| class="wikitable"
| data a tabulky 2 
| data b tabulky 2
|-
| data c tabulky 2 
| data d tabulky 2
|}
| data B tabulky 1
|-
| data C tabulky 1
| data D tabulky 1
|}

Ohraničení buněk a tabulky

Pokud nepoužijeme předdefinovanou tabulku, můžeme použít parametr border="cislo" pro změnu šířky okraje tabulky. Pro změnu vnitřních okrajů užíváme parametr cellpadding="cislo" a pro změnu vnějších okrajů parametr cellspacing="cislo".

Příklady různě ohraničených tabulek
border="0"
data data
data data
border="1"
data data
data data
border="3"
data data
data data
border="7"
data data
data data
Příklady tabulek s různými vnitřními okraji
cellpadding="0"
data data
data data
cellpadding="1"
data data
data data
cellpadding="3"
data data
data data
cellpadding="7"
data data
data data
Příklady tabulek s různými vnějšími okraji
cellspacing="0"
data data
data data
cellspacing="1"
data data
data data
cellspacing="3"
data data
data data
cellspacing="7"
data data
data data

Převod tabulek do formátu Wikitable

Pro převod tabulek z programů jako je Gnumeric, MS Excel nebo Calc z OpenOffice lze použít nástroj Copy & Paste Excel-to-Wiki.

Též lze uložit původní tabulku do formátu CSV a použít převaděč csv2wp. * (další informace (en))

Práce s HTML a CSS

Převod z formátu HTML

Máte-li již zpracovanou tabulku ve formátu HTML nebo ve formátu, který do HTML můžete převést, mohl by se hodit HTML to Wiki Tool. Skript jednoduše převede zápis tabulky v HTML do wiki syntaxe - z hlediska práce s Wikipedií se jedná rozhodně o čistší způsob uchovávání informací. Tato pomůcka není funkční pro html formát tabulek generovaný prostřednictvím aplikace Microsoft Excel.

Předdefinované třídy CSS

Můžete použít CSS třídu (class) wikitable, případně ještě sortable.

Nepoužívejte složité styly nebo grafické úpravy, pokud to není zcela nezbytné. V naprosté většině případů si vystačíte s předdefinovanými třídami. Jednotný vzhled Wikipedie je důležitý!

Poznámky

<references group="pozn." />

Odkazy

Související články

Externí odkaz