.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Locale::Po4a::TeX 3pm" .TH Locale::Po4a::TeX 3pm "2020-08-19" "Po4a-hulpmiddelen" "Po4a-hulpmiddelen" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAAM" .IX Header "NAAM" Locale::Po4a::TeX \- TeX-documenten en afgeleiden van/naar PO-bestanden converteren .SH "BESCHRIJVING" .IX Header "BESCHRIJVING" Het doel van het project po4a (\s-1PO\s0 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. .PP 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. .PP Gebruikers moeten waarschijnlijk eerder de LaTeX-module gebruiken, die voortbouwt op de TeX-module en de definities van veelvoorkomende LaTeX-commando's bevat. .SH "VERTALEN MET PO4A::TEX" .IX Header "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). .PP 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 module te schrijven, met de beschrijving van de details van uw indeling. Raadpleeg het gedeelte \fB\s-1AFGELEIDE MODULES SCHRIJVEN\s0\fR, hieronder, voor de beschrijving van de werkwijze. .PP Deze module kan ook aangepast worden door regels in het TeX-bestand zelf, die beginnen met \*(L"% po4a:\*(R". Deze aanpassingen worden beschreven in het gedeelte \fB\s-1INBOUWAANPASSINGEN\s0\fR. .SH "MOGELIJKE OPTIES BIJ DEZE MODULE" .IX Header "MOGELIJKE OPTIES BIJ DEZE MODULE" De volgende opties zijn specifiek voor deze module: .IP "\fBdebug\fR" 4 .IX Item "debug" Debuggen activeren voor sommige interne mechanismen van deze module. Gebruik de broncode om na te gaan voor welke delen debuggen mogelijk is. .IP "\fBno_wrap\fR" 4 .IX Item "no_wrap" Door komma's gescheiden lijst met omgevingen, waarin de regelafbreking niet veranderd mag worden. .Sp 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. .Sp Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als een parameterloze omgeving. .IP "\fBexclude_include\fR" 4 .IX Item "exclude_include" Door dubbele punten gescheiden lijst van bestanden die niet mogen ingevoegd worden met de commando's \einput en \einclude. .IP "\fBdefinitions\fR" 4 .IX Item "definitions" De naam van een bestand dat definities voor po4a bevat, zoals beschreven wordt in de sectie \fB\s-1INBOUWAANPASSINGEN\s0\fR. U kunt deze optie gebruiken indien het niet mogelijk is om de definities te plaatsen in het document dat vertaald wordt. .IP "\fBverbatim\fR" 4 .IX Item "verbatim" Door komma's gescheiden lijst van omgevingen die als letterlijk (verbatim) moeten worden beschouwd. .Sp Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als een parameterloze omgeving. .PP Het gebruik van deze opties laat toe het gedrag aan te passen van de commando's die in de standaardlijsten gedefinieerd worden. .SH "INBOUWAANPASSINGEN" .IX Header "INBOUWAANPASSINGEN" De TeX-module kan aangepast worden met regels die beginnen met \fB% po4a:\fR. Deze regels worden geïnterpreteerd als commando's voor de ontleder. De volgende commando's worden herkend: .IP "\fB% po4a: command\fR \fIcommando1\fR \fBalias\fR \fIcommando2\fR" 4 .IX Item "% po4a: command commando1 alias commando2" Geeft aan dat de argumenten voor het commando \fIcommando1\fR behandeld moeten worden zoals de argumenten voor het commando \fIcommando2\fR. .IP "\fB% po4a: command\fR \fIcommando1\fR \fIparameters\fR" 4 .IX Item "% po4a: command commando1 parameters" Dit laat toe om in detail de parameters te beschrijven voor het commando \&\fIcommando1\fR. Deze informatie wordt vervolgens gebruikt om het aantal argumenten en hun type te controleren. .Sp U kunt het commando \fIcommando1\fR laten voorafgaan door .RS 4 .IP "een sterretje (\fB*\fR)" 4 .IX Item "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. .IP "een plus (\fB+\fR)" 4 .IX Item "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. .Sp Opmerking: in dit geval moet u niet specificeren welke parameters vertaalbaar zijn, maar po4a moet het type en het aantal parameters kennen. .IP "een minteken (\fB\-\fR)" 4 .IX Item "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. .RE .RS 4 .Sp Het \fIparameters\fR\-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 [_]{_} .Sp 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 \s-1URL\s0 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 {}{_} .Sp In dit geval wordt de informatie die aangeeft welke argumenten moeten worden vertaald, alleen gebruikt als een alinea alleen bestaat uit dit href-commando. .RE .IP "\fB% po4a: environment\fR \fIenv\fR \fIparameters\fR" 4 .IX Item "% po4a: environment env parameters" Dit laat toe om de parameters te definiëren die door de omgeving \fIenv\fR aanvaard worden. Deze informatie wordt later gebruikt om het aantal argumenten te controleren van het commando \ebegin, en het laat toe om te specificeren hetwelk vertaald moet worden. De syntaxis van het \fIparameters\fR\-argument is dezelfde als die welke voor de andere commando's beschreven werd. De eerste parameter van het \ebegin\-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 .Sp Zoals dit voor de commando's het geval is , kan \fIenv\fR voorafgegaan worden door een plusteken (+) om aan te geven dat het \ebegin\-commando met al zijn argumenten vertaald moet worden. .ie n .IP "\fB% po4a: separator\fR \fIenv\fR \fB""\fR\fIregex\fR\fB""\fR" 4 .el .IP "\fB% po4a: separator\fR \fIenv\fR \fB``\fR\fIregex\fR\fB''\fR" 4 .IX Item "% po4a: separator env ""regex""" Geeft aan dat een omgeving moet worden gesplitst volgens de gegeven reguliere expressie. .Sp 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. .Sp Bijvoorbeeld gebruikt de LaTeX-module de reguliere expressie \*(L"(?:&|\e\e\e\e)\*(R" om elke cel van een tabel (regels worden gescheiden door '\e\e' en cellen door \&'&') apart te vertalen. .Sp Het begrip omgeving wordt uitgebreid naar het type dat wordt weergegeven in het PO-bestand. Dit kan gebruikt worden om te splitsen bij \*(L"\e\e\e\e\*(R" in het eerste verplichte argument van het title-commando. In dit geval is de omgeving title{#1}. .IP "\fB% po4a: verbatim environment\fR \fIenv\fR" 4 .IX Item "% po4a: verbatim environment env" Geeft aan dat \fIenv\fR een letterlijke omgeving is. In deze omgeving worden commentaar en commando's genegeerd. .Sp Indien deze omgeving nog niet geregistreerd was, zal po4a deze omgeving beschouwen als een parameterloze omgeving. .SH "AFGELEIDE MODULES SCHRIJVEN" .IX Header "AFGELEIDE MODULES SCHRIJVEN" .IP "\fBpre_trans\fR" 4 .IX Item "pre_trans" .PD 0 .IP "\fBpost_trans\fR" 4 .IX Item "post_trans" .IP "\fBadd_comment\fR" 4 .IX Item "add_comment" .PD 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. .IP "\fBtranslate\fR" 4 .IX Item "translate" Wikkel rond de translate-functie van Transtractor, met voor\- en naverwerkingsfilters. .Sp Commentaar bij een alinea wordt ingevoegd als PO-commentaar bij het eerste vertaalde tekstfragment van deze paragraaf. .IP "\fBget_leading_command\fR($buffer)" 4 .IX Item "get_leading_command($buffer)" Deze functie zendt het volgende terug: .RS 4 .IP "Een commandonaam" 4 .IX Item "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 \f(CW%separated_command\fR bevat de lijst met deze commando's. .IP "Een variant" 4 .IX Item "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 \*(L"*\*(R" bevatten. Indien er geen variant is, is dit veld een lege tekenreeks. .IP "Een reeks tupels (soort argument, argument)" 4 .IX Item "Een reeks tupels (soort argument, argument)" Het soort argument is ofwel '{' (voor verplichte argumenten) of '[' (voor facultatieve argumenten). .IP "De resterende buffer" 4 .IX Item "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, wordt de originele buffer niet gewijzigd en teruggegeven in dit veld. .RE .RS 4 .RE .IP "\fBget_trailing_command\fR($buffer)" 4 .IX Item "get_trailing_command($buffer)" Hetzelfde als \fBget_leading_command\fR, maar voor commando's aan het eind van een buffer. .IP "\fBtranslate_buffer\fR" 4 .IX Item "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. .Sp Indien voor de huidige omgeving een functie gedefinieerd is in \&\f(CW%translate_buffer_env\fR, zal deze functie gebruikt worden om de buffer te vertalen in plaats van \fBtranslate_buffer()\fR. .IP "\fBread\fR" 4 .IX Item "read" Overbelast de functie \fBread()\fR van Transtractor. .IP "\fBread_file\fR" 4 .IX Item "read_file" Een bestand recursief lezen en er de ingevoegde bestanden, welke niet vermeld zijn in de matrix \f(CW@exclude_include\fR, aan toevoegen. Ingevoegde bestanden worden opgezocht met het commando \fBkpsewhich\fR uit de Kpathsea-bibliotheek. .Sp Behalve voor het aspect van het invoegen van bestanden, is het een knippen en plakken uit de functie read van Transtractor. .IP "\fBparse_definition_file\fR" 4 .IX Item "parse_definition_file" Een subroutine voor het ontleden van een bestand met po4a\-richtlijnen (definities voor nieuwe commando's). .IP "\fBparse_definition_line\fR" 4 .IX Item "parse_definition_line" Een definitieregel in de vorm \*(L"% po4a: \*(R" ontleden. .Sp Zie het gedeelte \fB\s-1INBOUWAANPASSINGEN\s0\fR voor meer details. .IP "\fBis_closed\fR" 4 .IX Item "is_closed" .PD 0 .IP "\fBparse\fR" 4 .IX Item "parse" .IP "\fBdocheader\fR" 4 .IX Item "docheader" .PD .SH "INTERNE FUNCTIES, gebruikt voor het schrijven van afgeleide ontleders" .IX Header "INTERNE FUNCTIES, gebruikt voor het schrijven van afgeleide ontleders" Functies voor commando's en omgevingen nemen de volgende argumenten (naast het object \f(CW$self\fR): .IP "Een commandonaam" 4 .IX Item "Een commandonaam" .PD 0 .IP "Een variant" 4 .IX Item "Een variant" .IP "Een lijst van tupels (type, argument)" 4 .IX Item "Een lijst van tupels (type, argument)" .IP "De huidige omgeving" 4 .IX Item "De huidige omgeving" .PD .PP De eerste 3 argumenten worden geëxtraheerd door get_leading_command of get_trailing_command. .PP De functies voor commando's en omgevingen geven de vertaling van het commando met zijn argumenten terug, evenals de nieuwe omgeving. .PP Omgevingsfuncties worden aanroepen wanneer een \ebegin\-commando aangetroffen wordt. Zij worden aanroepen met het \ebegin\-commando en zijn argumenten. .PP De TeX-module bevat slechts één commandofunctie en één omgevingsfunctie: generic_command en generic_environment. .PP generic_command gebruikt de informatie gespecificeerd door register_generic_command of door een aan het TeX-bestand toegevoegde definitie: % po4a: command \fIcommando1\fR \fIparameters\fR .PP generic_environment gebruikt de informatie gespecificeerd door register_generic_environment of door een aan het TeX-bestand toegevoegde definitie: % po4a: environment \fIenv\fR \fIparameters\fR .PP 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]). .SH "STATUS VAN DEZE MODULE" .IX Header "STATUS VAN DEZE MODULE" Deze module moet nog meer getest worden. .PP Ze werd getest met een boek en met de Python-documentatie. .SH "TO-DOLIJST" .IX Header "TO-DOLIJST" .IP "Automatische detectie van nieuwe commando's" 4 .IX Item "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. .IP "Vertaling van het omgevingsscheidingsteken" 4 .IX Item "Vertaling van het omgevingsscheidingsteken" Wanneer \eitem gebruikt wordt als een scheidingsteken in een omgevings, wordt het argument van item toegevoegd aan het volgende tekstfragment. .IP "Sommige commando's zouden toegevoegd moeten worden aan de omgevingsstapel" 4 .IX Item "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. .IP "Andere" 4 .IX Item "Andere" Verschillende andere punten staan in de broncode gemarkeerd als \s-1TODO.\s0 .SH "GEKENDE BUGS" .IX Header "GEKENDE BUGS" Verschillende punten staan in de broncode gemarkeerd als \s-1FIXME.\s0 .SH "ZIE OOK" .IX Header "ZIE OOK" \&\fBLocale::Po4a::LaTeX\fR\|(3pm), \&\fBLocale::Po4a::TransTractor\fR\|(3pm), \&\fBpo4a\fR\|(7) .SH "AUTEURS" .IX Header "AUTEURS" .Vb 1 \& Nicolas François .Ve .SH "COPYRIGHT EN LICENTIE" .IX Header "COPYRIGHT EN LICENTIE" Copyright © 2004, 2005 Nicolas FRANÇOIS . .PP Dit programma is vrije software; u kunt het verder verspreiden en/of aanpassen onder de bepalingen van de \s-1GPL\s0 (zie het bestand \s-1COPYING\s0).