13. Converteren van TeX markup naar Unicode

13.1. Probleemstelling

Chemische en wiskundige formules in titels worden in het titelveld genoteerd d.m.v. TeX Markup. De TeX constructies worden gescheiden van de rest van de titel door <TeX> ... </TeX> constructie. Mathjax javascript rendered de TeX constructies zodat ze optimaal in een browser worden getoond.

Naast formules worden titelwoorden die in cursief moeten worden getoond worden met TeX markup aangeduid of tussen ** geplaatst. In het eerste geval wordt de titel mooi gerenderd, in het tweede geval wordt het gedeelte tussen de ** zonder opmaak gerenderd. Een uniforme manier om cursieve titels te noteren is er niet.

Deze werkwijze heeft verschillende nadelen

  • In de export vanuit de academische bibliografie naar formaten als ris, bibtex, fwo-mods worden de TeX constructies en de ** markup voor cursief als tekst geëxporteerd. Het is moeilijk om uit de TeX markup de formules te achterhalen die door de markup wordt gecodeerd. Worden deze titels geïmporteerd in een externe toepassing (FWO portaal, Reference Managers, …) dan zijn er titels die hun betekenis verliezen.

  • TeX constructies zijn complex (voor niet specialisten) en worden gemaakt in een TeX editor genre LyX alvorens in te voeren in Brocade.

Maar ook voordelen

  • Betere presentatie van titels met wiskundige formulers in Browsers d.m.v. mathjax.

Een voorbeeld

<TeX>$sqrt{s_{NN}}$</TeX> kan met unicode karakters genoteerd worden als √(sNN)

Onderstaande figuur toont de verschillende presentatie in een browser.

_images/tex2unicode117177.jpg

13.2. Voorstel

  1. Vervang waar mogelijk de TeX markup voor wiskundige symbolen, vergelijkingen en chemische formules door Unicode karakters.

Voorbereidend werk is deels gebeurd en beschreven in Issue 3334: Rel. 4.50: Conversie TeX naar UnicodeMath

De voorgestelde aanpak is om op basis van de vertaaltabel tex:gather en via groepsbewerkingen TeX constructies te vervangen die zonder verlies kunnen omgezet worden naar unicode.

Voor de omzetting is een vertaaltabel tex2unicode in schema tex aangemaakt.

  1. Werk voor publicaties met complexere wiskundige of wetenschappelijke formules met twee titels. In de titel type 'hoofdtitel (TeX-constructies)' blijft de TeX markup behouden, in de titel van type hoofdtitel: ondertitel wordt geen markup gebruikt.

  2. Werk Brocade keyboard uit voor invoer van wiskundige en natuurwetenschappelijke symbolen.

  3. Voorzie de keuzemogelijkheid voor voorkeurstitel in verschillende toepassingen waarin titels verwerkt worden (cerif export, fwo-export, bibtex, opac, oai, html metatags, ... )

  4. Werk een consequente oplossing uit voor het noteren van titelwoorden die in cursief moeten staan.

13.2.1. Keyboards

In de voorbeeld cloi's werden indien van toepassing reeds twee titeltypes voorzien.

  1. Keyboard voor natuurwetenschappelijke symbolen.

Toegang via letter s

Karakter

Unicode

Utf8

beschrijving

tex

Cloi (legato)

α

U+03B1

206 177

GREEK SMALL LETTER ALPHA

$alpha$

c:irua:100836

π

U+03C0

207 128

GREEK SMALL LETTER PI

$pi^{+}p$

c:irua:2762

Υ

U+03A5

206 165

GREEK CAPITAL LETTER UPSILON

$Upsilon$

c:irua:91238

U+2081

226 130 129

SUBSCRIPT ONE

$_{1}$

c:irua:15300

U+2082

226 130 130

SUBSCRIPT TWO

$_{2}$

c:irua:147034

U+2083

226 130 131

SUBSCRIPT THREE

$_{3}$

c:irua:147034

U+2084

226 130 132

SUBSCRIPT FOUR

$_{4}$

c:irua:147241

U+2085

226 130 133

SUBSCRIPT FIVE

$C_{5},$

c:irua:22236

U+2086

226 130 134

SUBSCRIPT SIX

$C_{6},$

c:irua:22236

U+2087

226 130 135

SUBSCRIPT SEVEN

$C_{7},$

c:irua:22236

U+2088

226 130 136

SUBSCRIPT EIGHT

$C_{8},$

c:irua:22236

U+2089

226 130 137

SUBSCRIPT NINE

$C_{9},$

c:irua:22236

τ

U+03C4

207 132

greek small letter tau

$tau$

c:irua:100070

supscriptn

U+2099

226 130 153

LATIN SUBSCRIPT SMALL LETTER N

$_{n}$

c:irua:50264

  1. Keyboard voor wiskundige symbolen

Karakter

Unicode

Utf8

beschrijving

TeX

cloi (legato)

U+221A

226 136 154

Square root

$sqrt{s}=$

c:irua:119892

¯

U+00AF

194 175

Macron

$poverline{p}$

c:irua:80896

U+2192

226 134 146

RIGHTWARDS ARROW

$rightarrow}$

c:irua:98299

<

U+003C

60

LESS-THAN SIGN

$lt$

c:irua:96233

U+2264

226 137 164

LESS-THAN OR EQUAL TO

$leq$

c:irua:96233

13.2.2. Export