Provided by: po4a_0.66-1_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.

       Het gebruik  van  deze  opties  laat  toe  het  gedrag  aan  te  passen  van  de  commando's  die  in  de
       standaardlijsten gedefinieerd worden.

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  laat  toe om in detail de parameters te beschrijven 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  laat  toe  om
               meer  context  te  behouden  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 laat toe om de parameters  te  definiëren  die  door  de  omgeving  env  aanvaard  worden.   Deze
           informatie  wordt  later gebruikt om het aantal argumenten te controleren van het commando \begin, en
           het  laat  toe  om  te  specificeren  hetwelk  vertaald   moet   worden.    De   syntaxis   van   het
           parameters-argument  is  dezelfde als die welke voor de andere commando's beschreven werd.  De eerste
           parameter van het \begin-commando 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).

Po4a-hulpmiddelen                                  2022-01-02                             Locale::Po4a::TeX(3pm)