Startpagina > Cijfers in LuaLaTeX

Cijfers in LuaLaTeX

Niko Strijbol

latex, lettertypes

Het vorige stuk in deze reeks behandelde ligaturen in LaTeX. Nu richten we onze aandacht op cijfers, hun verschijningsvormen, wanneer welke vorm het gebruik verdient en hoe dit in LuaLaTeX kan.

Cijfers versus woorden

Officiële regels over wanneer een getal voluit (in woorden) geschreven moet worden dan wel in cijfers bestaan niet.

Dat betekent echter niet dat er geen richtlijnen zijn. Zo stelt de Nederlandse Taalunie voor om volgende getallen voluit te schrijven:

  • Getallen onder de twintig
  • Tientallen, honderdtallen, duizendtallen, …​

De Taalunie geeft de voorkeur aan cijfers wanneer het gaat om zakelijke of exacte gegevens. Denk hierbij aan maten, gewichten en data. Ook in combinatie met een eenheid verdienen cijfers de voorkeur.

Verder is de regel ook om consistent te zijn, maar dat kunnen we als een algemene aanbeveling beschouwen, die geldt op ieder vlak.

Onze Taal geeft een gelijkaardige, doch uitgebreidere richtlijn.

Let wel: deze aanbevelingen gaan over lopende tekst. In tabelvorm zijn cijfers zonder uitzondering de aanbevolen schrijfwijze.

Uithangende cijfers en tabelcijfers

Net zoals er voor letters twee verschijningsvormen zijn (hoofdletters en kleine letters), bestaan er voor cijfers tabelcijfers en uithangende cijfers.

Uithangende cijfers gaan meer op in lopende tekst, doordat de cijfers qua vorm en positie meegaan met de letters. Hoewel de exacte implementatie afhangt van het lettertype, zijn bijvoorbeeld de cijfers 0, 1 en 2 vaak klein: ze hebben slechts de x-hoogte. Anders cijfers zoals 6 en 9 hebben dan een uithang langs boven of onder.

In onderstaande tabel beide vormen. Zoals steeds in deze reeks is het nodig dat uw browser een goed lettertype gebruikt, anders zal u geen verschil zien.

TabelcijfersUithangende cijfers
01234567890123456789

Uithangende cijfers zijn de oudste vorm: deze worden al sinds de opkomst van de Arabische cijfers (in de 12e eeuw) gebruikt. Tabelcijfers daarentegen zijn slechts wijdverbreid sinds de 19e eeuw.

Daarom worden uithangende cijfers (ook wel mediëvalcijfers of tekstcijfers) in het Engels ook wel old style numerals genoemd, terwijl tabelcijfers (ook wel rechte of staande cijfers, of kapitaalcijfers) new style numerals heten.

Al dan niet proportionele cijfers

Net zoals bij letters kan ook bij cijfers de breedte proportioneel zijn (wat betekent dat elk cijfer een eigen breedte heeft) of niet-proportioneel zijn (zodat elk cijfers dezelfde breedte heeft, zoals bij monospace-lettertypes).

In het Nederlands is de terminologie enigszins verwarrend: het is niet duidelijk of de term tabelcijfers enkel betrekking hebben op de hoogte, of ook op de breedte van de cijfers. Doordachte typografie wil namelijk dat cijfers in tabellen zowel qua hoogte als breedte gelijk zijn.

In de Engelse terminologie (en dus ook de termen die gebruikt worden in OpenType) bestaat het verschil wel:

  • Proportional numerals zijn cijfers waarbij de breedte varieert
  • Tabular numerals zijn cijfers waarbij de breedte gelijk is
  • Old-style numerals zijn cijfers waarvan de hoogte varieert
  • Lining numerals zijn cijfers waarvan de hoogte gelijk is
Gelijke hoogteVerschillende hoogte
Gelijke breedte01234567890123456789
Verschillende breedte01234567890123456789

Wanneer welke vorm te gebruiken

De twee belangrijkste combinaties, met hun gebruik, zijn:

  • Proportionele uithangende cijfers (proportional old-style numerals) zijn het best geschikt voor lopende tekst. Doordat ze variëren in zowel hoogte als breedte vallen ze minder op en maken ze meer deel uit van de omliggende letters.
  • Niet-proportionele tabelcijfers (tabular lining numerals) zijn het best geschikt voor tabellen. Doordat de hoogte hetzelfde is, oogt de tabel netter en overzichtelijker, en doordat de breedte hetzelfde is, kunnen de cijfers uitgelijnd worden, wat opnieuw het overzicht en leesbaarheid van de tabel bevordert.

De andere combinaties hebben ook hun nut, hetzij met minder frequent gebruik. Zo zijn proportionele tabelcijfers (proportional lining numerals) een veel gebruikt alternatief voor lopende tekst. Zoals al vermeld zijn dit soort cijfers sinds de 19e eeuw meer populair. Andere gebruiken waar de hoogte belangrijk is, maar de breedte minder zijn affiches van prijzen, bijvoorbeeld op een poster of in de winkel.

Niet-proportionele uithangende cijfers (tabular old-style numerals) zijn de minst gebruikte combinatie. Een mogelijk scenario is een lijst van adressen: door de combinatie met tekst (de straatnamen, stadsnamen, enzovoort) kunnen de verschillende hoogtes nuttig zijn, om toch bijvoorbeeld de postcodes te laten uitlijnen. Dit is echter een randgeval: de andere combinaties zouden zeker ook volstaan.

Cijfersoorten in LuaLaTeX

Het gebruik van cijfers in LaTeX is eenvoudig:

\setmainfont[
    Numbers={Proportional,OldStyle}
]{Source Serif 4}

Met de opties Proportional/Tabular en OldStyle/Lining kunnen de vier combinaties gemaakt worden. Bovenstaande voorbeeld zal voor het document proportionele uithangende cijfers als standaardvorm kiezen.

Het is wel belangrijk om voor tabellen dan expliciet niet-proportionele tabelcijfers te nemen. Met onderstaande voorbeeld kan dit automatisch gebeuren bij het gebruik van de LaTeX-omgeving tabular.

\usepackage{etoolbox}

\AtBeginEnvironment{tabular}{%
   \addfontfeatures{Numbers={Monospaced,Lining}}%
}

Een gelijkaardige techniek kan toegepast worden voor andere omgevingen waarin u veel cijfers zou gebruiken.

Merk tot slot op dat de meeste monospace-lettertypes enkel niet-proportionele tabelcijfers hebben. Daar het lettertype zelf niet-proportioneel is, lijkt het logisch dat de cijfers dat ook niet zijn. De reden waarom er enkel tabelcijfers zijn, is minder duidelijk.

Monospace-lettertypen met uithangende cijfers bestaan wel. Zo heeft Source Code Pro van Paul D. Hunt, uitgegeven door Adobe, ondersteuning voor uithangende cijfers.