Documentconversie

In onze zetpraktijk hebben wij te maken met aangeleverde bestanden die in vele formaten zijn opgesteld. Wij hebben inmiddels veel ervaring met conversies tussen verschillende bestandsformaten, waarvoor wij een uitgebreide bibliotheek aan conversiescripts hebben aangelegd. Wij geven hier een korte inleiding in onze werkwijze en vervolgens een overzicht van de formaten waarmee wij het meest te maken hebben.

Perl scripts

Wij gebruiken voor bestandsconversies programma’s die wij zelf schrijven in de scripting-taal Perl. Perl is een programmeertaal die eind jaren 80 door Larry Wall is ontwikkeld en die door zijn veelzijdigheid ook wel bekend staat als ‘The swiss army knife of programming languages’. Doordat Perl uitgebreide mogelijkheden heeft op het gebied van patroonherkenning en -vervanging (met behulp van zogenaamde reguliere expressies), is de taal zeer geschikt voor bestandsconversie. Een andere voordeel van Perl is het feit dat deze taal ook Unicode ondersteunt.

RTF en Word

Moderne tekstverwerkers kunnen hun bestanden opslaan in Rich Text Format. Dit formaat is door Microsoft ontwikkelt ten behoeve van bestandsuitwisseling. Een in RTF opgeslagen document bevat in platte ASCII-tekst de volledige tekst van het oorspronkelijke document, en daarnaast in de vorm van zogenaamde controle-codes alle opmaakinformatie en bijzonderheden zoals voetnoten, afbeeldingen, kruisverwijzingen en indexmarkeringen. Doordat RTF een zeer gestructureerd en goed gedocumenteerd formaat is, is het bij uitstek geschikt voor conversie naar andere formaten.

Wij hebben in de eerste plaats ervaring met de vertaling van RTF naar TeX. De meeste boeken die wij zetten worden immers in MS Word-formaat aangeleverd. MS Word kan deze bestanden zelf opslaan als RTF, waarna wij ze converteren met de Perl-scripts die wij daarvoor hebben geschreven. Niet alleen Word-formaat maar ook minder gangbare formaten zoals WordPerfect converteren wij via RTF. Bij deze conversie geven wij precies aan welke opmaakgegevens relevant zijn voor het eindresultaat, met andere woorden, welke controle-codes bewaard moeten worden, en welke niet; zo zal opmaakinformatie met betrekking tot de bladspiegel of de interlinie doorgaans niet relevant zijn, maar bijvoorbeeld cursivering of de instelling van niet-Latijnse fonts wel. Door deze methode is de conversie naar TeX tegelijk een opschoning van het document: alleen relevante opmaakinformatie blijft bewaard.

Naast de conversie vanuit RTF hebben wij ook ervaring met de vertaling naar RTF. Als wij uw tekst in TeX hebben opgemaakt, kunnen wij in de meeste gevallen ook weer vertalen naar RTF-formaat. Omdat moderne tekstverwerkers niet alleen bestanden in RTF-formaat kunnen opslaan, maar ook RTF-bestanden kunnen lezen, betekent dit dat de tekst weer in de tekstverwerker beschikbaar is waarmee hij is geschreven. Dat betekent dat u uw tekst retour kunt krijgen met de tekstconstitutie zoals die in het gedrukte boek is verschenen. Dit kan zeker bij boeken die tijdens de proefrondes nog veel correcties hebben ondergaan een waardevolle dienst zijn.

XML

Een ander formaat waarmee wij ruime ervaring hebben is XML (eXtensible Markup Language). XML is een markeertaal voor de codering van gegevens en hun onderlinge verbanden. XML heeft duidelijke verwantschap met HTML, maar door de veel bredere opzet is deze taal geschikt voor het beschrijven veel soorten informatie, uiteenlopend van bibliotheekcatalogie tot transcripties van handschriften. Wij hebben ervaring met het converteren van XML naar TeX en omgekeerd. Voor verschillende soorten van documenten maakt XML gebruik van verschillende soorten recepten, die de structuur van documenten beschrijven, de zogenaamde DTD’s (Document Type Definition). Een DTD die van groot belang is in de wetenschappelijke wereld is TEI (ontwikkeld door het Text Encoding Initiative). TEI-XML passen wij bijvoorbeeld in het Digital Locke Project.

Databases

Soms heeft informatie een zodanig complexe structuur – bijvoorbeeld door een grote hoeveelheid kruisverbanden – dat deze niet eenvoudig is te beheren in een tekstbestand; tekstbestanden hebben immers in essentie een lineaire opbouw. Dergelijke complexe informatie is beter thuis in een niet-lineaire database met onderling gerelateerde tabellen. Wij zetten bij dergelijke projecten doorgaans het database-management-systeem FileMaker Pro in. FileMaker onderscheidt zich van zwaardere database-management-systemen, zoals MySQL, doordat in FileMaker relatief snel complexe database-structuren kunnen worden ontwikkeld met een toegankelijke gebruikersinterface. Wij hebben ervaring met het converteren van FileMaker-data naar TeX-formaat, zodat de database zijn neerslag krijgt in een bijvoorbeeld een gedrukte catalogus, een bibliografie of een teksteditie. Voorbeelden van dergelijke conversies zijn onder meer aan de orde in het Stoa project en A Cellist’s Companion.