Provided by: po4a_0.67-2_all bug

NAAM

       Locale::Po4a::TeX - TeX-documenten en afgeleiden van/naar PO-bestanden converteren

BESCHRIJVING

       Het doel van het project po4a (PO voor alles) is om de vertaalwerkzaamheden (en
       interessanter nog, het onderhoud van vertalingen) te vergemakkelijken met behulp van
       gettext-hulpmiddelen in domeinen waarin deze niet meteen verwacht worden, zoals
       documentatie.

       Locale::Po4a::TeX is een module ter ondersteuning van de vertaling van TeX-documenten naar
       andere [menselijke] talen. Ze kan ook gebruikt worden als basis voor het bouwen van
       modules voor op TeX gebaseerde documenten.

       Gebruikers moeten waarschijnlijk eerder de LaTeX-module gebruiken, die voortbouwt op de
       TeX-module en de definities van veelvoorkomende LaTeX-commando's bevat.

VERTALEN MET PO4A::TEX

       Deze module kan rechtstreeks gebruikt worden voor het verwerken van generieke TeX-
       documenten. Zij splitst uw document op in kleinere blokken (paragrafen, woordelijke
       blokken, of zelfs kleinere blokken, zoals titels en indexen).

       Er zijn bepaalde opties (die in het volgende gedeelte beschreven worden) die dit gedrag
       kunnen aanpassen. Indien deze module niet beantwoordt aan de indeling van uw document,
       wordt u aangemoedigd om op basis van deze module uw eigen afgeleide module te schrijven,
       met de beschrijving van de details van uw indeling. Raadpleeg het gedeelte AFGELEIDE
       MODULES SCHRIJVEN, hieronder, voor de beschrijving van de werkwijze.

       Deze module kan ook aangepast worden door regels in het TeX-bestand zelf, die beginnen met
       "% po4a:". Dit proces wordt beschreven in het gedeelte INBOUWAANPASSINGEN.

MOGELIJKE OPTIES BIJ DEZE MODULE

       De volgende opties zijn specifiek voor deze module:

       debug
           Debuggen activeren voor sommige interne mechanismen van deze module. Gebruik de
           broncode om na te gaan voor welke delen debuggen mogelijk is.

       no_wrap
           Door komma's gescheiden lijst met omgevingen, waarin de regelafbreking niet veranderd
           mag worden.

           Merk op dat er een verschil is tussen de omgevingen verbatim en no_wrap. In verbatim
           (woordelijke) blokken gebeurt er geen analyse van commando's en commentaar.

           Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als
           een parameterloze omgeving.

       exclude_include
           Door dubbele punten gescheiden lijst van bestanden die niet mogen ingevoegd worden met
           de commando's \input en \include.

       definitions
           De naam van een bestand dat definities voor po4a bevat, zoals beschreven wordt in de
           sectie INBOUWAANPASSINGEN. U kunt deze optie gebruiken indien het niet mogelijk is om
           de definities te plaatsen in het document dat vertaald wordt.

       verbatim
           Door komma's gescheiden lijst van omgevingen die als letterlijk (verbatim) moeten
           worden beschouwd.

           Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als
           een parameterloze omgeving.

       Gebruik deze opties om het standaardgedrag van de gedefinieerde commando's op te heffen.

INBOUWAANPASSINGEN

       De TeX-module kan aangepast worden met regels die beginnen met % po4a:. Deze regels worden
       geïnterpreteerd als commando's voor de ontleder. De volgende commando's worden herkend:

       % po4a: command commando1 alias commando2
           Geeft aan dat de argumenten voor het commando commando1 behandeld moeten worden zoals
           de argumenten voor het commando commando2.

       % po4a: command commando1 parameters
           Dit beschrijft in detail de parameters voor het commando commando1. Deze informatie
           wordt vervolgens gebruikt om het aantal argumenten en hun type te controleren.

           U kunt het commando commando1 laten voorafgaan door

           een sterretje (*)
               po4a zal dit commando uit paragrafen halen (als het zich in het begin of aan het
               einde van een paragraaf bevindt). De vertalers zullen dan de parameters, die
               gemarkeerd zijn als vertaalbaar, moeten vertalen.

           een plus (+)
               Zoals dit bij een sterretje gebeurt, zal het commando uit het blok gehaald worden,
               als het zich aan een uiteinde ervan bevindt, maar de parameters zullen niet
               afzonderlijk vertaald worden. De vertaler zal het commando samengevoegd met al
               zijn parameters moeten vertalen. Dit behoudt meer context en is nuttig voor
               commando's met kleine woorden als parameter, welke verschillende betekenissen (en
               vertalingen) kunnen hebben.

               Opmerking: in dit geval moet u niet specificeren welke parameters vertaalbaar
               zijn, maar po4a moet het type en het aantal parameters kennen.

           een minteken (-)
               In dit geval zal het commando nooit uit een blok geëxtraheerd worden. Maar wanneer
               het alleen in een blok voorkomt, dan zullen enkel de als vertaalbaar gemarkeerde
               parameters voorgelegd worden aan de vertaler. Dit is nuttig voor
               lettertypecommando's. Deze commando's zouden in het algemeen niet losgemaakt
               moeten worden uit hun alinea (om de context te behouden), maar er is geen reden om
               de vertaler ermee te ergeren als een heel tekstfragment door zo'n commando
               omsloten wordt.

           Het parameters-argument is een verzameling van [] (om een facultatief argument aan te
           geven) en {} (om een verplicht argument aan te geven).  U kunt een laag streepje (_)
           tussen deze aanhalingstekens plaatsen om aan te geven dat de parameter vertaald moet
           worden. Bijvoorbeeld: % po4a: command *chapter [_]{_}

           Dit geeft aan dat het commando chapter twee parameters heeft: een facultatief (korte
           titel) en een verplicht, welke beide vertaald moeten worden.  Indien u wilt
           specificeren dat het commando href twee verplichte parameters heeft, dat u de URL niet
           wilt vertalen (eerste parameter), en dat u niet wilt dat dit commando gescheiden wordt
           van zijn paragraaf (hetgeen de vertaler toelaat om de link in de zin te verplaatsen),
           kunt u het volgende commando gebruiken: % po4a: command -href {}{_}

           In dit geval wordt de informatie die aangeeft welke argumenten moeten worden vertaald,
           alleen gebruikt als een alinea alleen bestaat uit dit href-commando.

       % po4a: environment env parameters
           Dit definieert de parameters die door de omgeving env aanvaard worden en specificeert
           degene die vertaald moeten worden..  Deze informatie wordt later gebruikt om het
           aantal argumenten te controleren van het commando \begin.  De syntaxis van het
           argument parameters is dezelfde als die welke voor de andere commando's beschreven
           werd.  De eerste parameter van het commando \begin is de naam van de omgeving
           (environment).  Deze parameter moet niet opgegeven worden in de lijst met parameters.
           Hier volgen enkele voorbeelden: % po4a: environment multicols {}
            % po4a: environment equation

           Zoals dit voor de commando's het geval is , kan env voorafgegaan worden door een
           plusteken (+) om aan te geven dat het \begin-commando met al zijn argumenten vertaald
           moet worden.

       % po4a: separator env "regex"
           Geeft aan dat een omgeving moet worden gesplitst volgens de gegeven reguliere
           expressie.

           De reguliere expressie wordt binnen aanhalingstekens geplaatst. Ze mag geen
           terugverwijzing creëren. U moet (?:) gebruiken als u een groep wilt gebruiken.
           Mogelijk zijn er ook escape-tekens nodig.

           Bijvoorbeeld gebruikt de LaTeX-module de reguliere expressie "(?:&|\\\\)" om elke cel
           van een tabel (regels worden gescheiden door '\\' en cellen door '&') apart te
           vertalen.

           Het begrip omgeving wordt uitgebreid naar het type dat wordt weergegeven in het PO-
           bestand. Dit kan gebruikt worden om te splitsen bij  "\\\\" in het eerste verplichte
           argument van het title-commando. In dit geval is de omgeving title{#1}.

       % po4a: verbatim environment env
           Geeft aan dat env een letterlijke omgeving is. In deze omgeving worden commentaar en
           commando's genegeerd.

           Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als
           een parameterloze omgeving.

AFGELEIDE MODULES SCHRIJVEN

       pre_trans
       post_trans
       add_comment
           Een tekstfragment toevoegen om rond het volgende vertaalde element toe te voegen. Dit
           is voornamelijk nuttig voor de texinfo-module, omdat commentaar in TeX automatisch
           verwerkt wordt.

       translate
           Wikkel rond de translate-functie van Transtractor, met voor- en naverwerkingsfilters.

           Commentaar bij een alinea wordt ingevoegd als PO-commentaar bij het eerste vertaalde
           tekstfragment van deze paragraaf.

       get_leading_command($buffer)
           Deze functie zendt het volgende terug:

           Een commandonaam
               Indien aan het begin van de gegeven buffer geen commando aangetroffen wordt, zal
               dit tekstfragment leeg zijn. Enkel met commando's die afgezonderd kunnen worden,
               wordt rekening gehouden. De hash %separated_command bevat de lijst met deze
               commando's.

           Een variant
               Dit geeft aan of een variant gebruikt wordt. Bijvoorbeeld kan een sterretje (*)
               toegevoegd worden aan het eind van een section-commando om aan te geven dat deze
               secties niet genummerd moeten worden. In dit geval zal dit veld "*" bevatten. Dit
               veld is een lege tekenreeks indien er geen variant is.

           Een reeks tupels (soort argument, argument)
               Het soort argument is ofwel '{' (voor verplichte argumenten) of '[' (voor
               facultatieve argumenten).

           De resterende buffer
               De rest van de buffer, nadat aan het begin ervan dit commando en zijn argumenten
               verwijderd werden. Indien geen commando aangetroffen wordt, blijft de originele
               buffer ongewijzigd en wordt deze teruggegeven in dit veld.

       get_trailing_command($buffer)
           Hetzelfde als get_leading_command, maar voor commando's aan het eind van een buffer.

       translate_buffer
           Een buffer recursief vertalen door de commando's aan het begin en het eind ervan af te
           splitsen (deze welke vertaald moeten worden apart) van de buffer.

           Indien voor de huidige omgeving een functie gedefinieerd is in %translate_buffer_env,
           zal deze functie gebruikt worden om de buffer te vertalen in plaats van
           translate_buffer().

       read
           Overbelast de functie read() van Transtractor.

       read_file
           Een bestand recursief lezen en er de ingevoegde bestanden, welke niet vermeld zijn in
           de matrix @exclude_include, aan toevoegen. Ingevoegde bestanden worden opgezocht met
           het commando kpsewhich uit de Kpathsea-bibliotheek.

           Behalve voor het aspect van het invoegen van bestanden, is het een knippen en plakken
           uit de functie read van Transtractor.

       parse_definition_file
           Een subroutine voor het ontleden van een bestand met po4a-richtlijnen (definities voor
           nieuwe commando's).

       parse_definition_line
           Een definitieregel in de vorm "% po4a: " ontleden.

           Zie het gedeelte INBOUWAANPASSINGEN voor meer details.

       is_closed
       parse
       docheader

INTERNE FUNCTIES welke gebruikt worden voor het schrijven van afgeleide ontleders

       Functies voor commando's en omgevingen nemen de volgende argumenten (naast het object
       $self):

       Een commandonaam
       Een variant
       Een lijst van tupels (type, argument)
       De huidige omgeving

       De eerste 3 argumenten worden geëxtraheerd door get_leading_command of
       get_trailing_command.

       De functies voor commando's en omgevingen geven de vertaling van het commando met zijn
       argumenten terug, evenals de nieuwe omgeving.

       Omgevingsfuncties worden aanroepen wanneer een \begin-commando aangetroffen wordt. Zij
       worden aanroepen met het \begin-commando en zijn argumenten.

       De TeX-module bevat slechts één commandofunctie en één omgevingsfunctie: generic_command
       en generic_environment.

       generic_command gebruikt de informatie gespecificeerd door register_generic_command of
       door een aan het TeX-bestand toegevoegde definitie:
        % po4a: command commando1 parameters

       generic_environment gebruikt de informatie gespecificeerd door
       register_generic_environment of door een aan het TeX-bestand toegevoegde definitie:
        % po4a: environment env parameters

       Beide functies zullen enkel de parameters vertalen welke als vertaalbaar (met een '_')
       opgegeven werden. generic_environment zal de naam van de omgeving toevoegen aan de
       omgevingsstapel en generic_command zal de naam van het commando toevoegen, gevolgd door
       een identificatiesymbool van de parameter (zoals {#7} of [#2]).

STATUS VAN DEZE MODULE

       Deze module moet nog meer getest worden.

       Ze werd getest met een boek en met de Python-documentatie.

TO-DOLIJST

       Automatische detectie van nieuwe commando's
           De TeX-module zou de newcommand-argumenten kunnen ontleden en kunnen proberen te raden
           naar het aantal argumenten, naar het type ervan en of ze al dan niet vertaald moeten
           worden.

       Vertaling van het omgevingsscheidingsteken
           Wanneer \item gebruikt wordt als een scheidingsteken in een omgevings, wordt het
           argument van item toegevoegd aan het volgende tekstfragment.

       Sommige commando's zouden toegevoegd moeten worden aan de omgevingsstapel
           Deze commando's moeten door paren worden gespecificeerd. Dit zou toelaten om
           commando's te specificeren die een verbatimomgeving beginnen of beëindigen.

       Andere
           Verschillende andere punten staan in de broncode gemarkeerd als TODO.

GEKENDE BUGS

       Verschillende punten staan in de broncode gemarkeerd als FIXME.

ZIE OOK

       Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)

AUTEURS

        Nicolas François <nicolas.francois@centraliens.net>

COPYRIGHT EN LICENTIE

       Copyright © 2004, 2005 Nicolas FRANÇOIS <nicolas.francois@centraliens.net>.

       Dit programma is vrije software; u kunt het verder verspreiden en/of aanpassen onder de
       bepalingen van de GPL (zie het bestand COPYING).