Locale::Po4a::TeX(3pm) | Po4a-hulpmiddelen | Locale::Po4a::TeX(3pm) |
Locale::Po4a::TeX - TeX-documenten en afgeleiden van/naar PO-bestanden converteren
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.
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.
De volgende opties zijn specifiek voor deze module:
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.
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.
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:
U kunt het commando commando1 laten voorafgaan door
Opmerking: in dit geval moet u niet specificeren welke parameters vertaalbaar zijn, maar po4a moet het type en het aantal parameters kennen.
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.
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.
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}.
Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als een parameterloze omgeving.
Commentaar bij een alinea wordt ingevoegd als PO-commentaar bij het eerste vertaalde tekstfragment van deze paragraaf.
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().
Behalve voor het aspect van het invoegen van bestanden, is het een knippen en plakken uit de functie read van Transtractor.
Zie het gedeelte INBOUWAANPASSINGEN voor meer details.
Functies voor commando's en omgevingen nemen de volgende argumenten (naast het object $self):
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]).
Deze module moet nog meer getest worden.
Ze werd getest met een boek en met de Python-documentatie.
Verschillende punten staan in de broncode gemarkeerd als FIXME.
Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7)
Nicolas François <nicolas.francois@centraliens.net>
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).
2023-01-03 | Po4a-hulpmiddelen |