April 2006: Microsoft Excel tabellen invoegen in LaTeX

Tags:

Tabellen invoeren in LaTeX, het gaat wel goed maar bij complexe tabellen wordt het al snel iets moeilijker om het overzicht te bewaren bij het intikken. Als je dan nog wat wil beginnen knoeien met kleurtjes, samengevoegde cellen, vette lijnen of andere opmaak, wordt het snel helemaal een zootje. Op dat vlak is het veel makkelijker werken met een spreadsheet zoals Microsoft Excel of OpenOffice.org. Ook wanneer je in een van deze programma's berekeningen maakt waarvan je het resultaat in LaTeX wil overnemen, is het niet zo handig deze resultaten stuk voor stuk te moeten overkopiëren.

Welnu, het is hier dat het pakket xl2latex te hulp komt. Dit pakket is een macro die in Excel een knopje toevoegt waarmee je de geselecteerde tabel exporteert naar LaTeX-code. Het is gebasseerd op excel2latex (van Joachim Marder) met als opmerkelijke feature dat hier vrijwel alle opmaak (kleuren, randen,...) overgenomen wordt.

Hoe ga je nu concreet te werk? Allereerst dien je de exportfunctie beschikbaar te maken via een knopje in Excel. Hiervoor surf je naar deze locatie en download je het bestandje xl2latex.bas en sla je het ergens op je pc op. Vervolgens start je Excel en open je een leeg bestand (of een bestand waar je andere macro's in bewaart) en schakel je het gebruik van macro's aan. Dit staat immers standaard uitgeschakeld om veiligheidsredenen. Hiervoor ga je naar Extra, Macro's, Beveiliging en zet je het niveau op gemiddeld. Vanaf dan zal Excel bij het openen van een document met macro's telkens vragen of je de macro wil toelaten of niet. Om nu deze nieuwe macro in te voeren, kies je voor Extras, Macro's, Visual Basic Editor. In deze editor kies je vervolgens voor Bestand, Importeren. Importeer op deze manier het bestandje dat je daarnet gedownloaded hebt. Sluit de Visual Basic Editor en sla het bestand op waar je maar wil. Nu zou je het knopje LaTeX export moeten zien in de nieuwe LaTeX werkbalk.

Om een aangemaakte tabel te exporteren, ga je als volgt te werk: selecteer de tabel en druk op de Export LaTeX knop van daarnet. Er zal gevraagd worden waar je het bestand wil opslaan. Je slaat het best op in de map waarin de rest van de LaTeX-bestanden staat waaraan je aan het werken bent. Vervolgens open je het LaTeX-bestand waarin je de tabel wil importeren en maak je een table-omgeving aan. Je kan ook een bijhorende caption ingeven. Echter, in plaats van manueel de cellen en hun inhoud in te geven, plaats je nu de regel \input{bestandje} waar bestandje uiteraard vervangen wordt door de naam van het bestand dat je zonet aangemaakt hebt vanuit Excel. Let wel: indien je kleurtjes gebruikt, dient \usepackage{colortbl} in de preamble te staan.

De macro die de tabellen exporteert, is ontworpen voor Excel versie 97, maar werkt normaal ook voor recentere versies en is oa getest in Excel 2000. Ik heb nergens een versie voor OpenOffice.org gevonden, doch normaal zou het mogelijk moeten zijn Excel-macro's om te zetten naar OOo compatibele exemplaren. Mensen die hier ervaring mee hebben, worden vriendelijk verzocht contact op te nemen.

Met dank aan Jan Bertrem