.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . 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 .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "LOCALE::PO4A::TEX.3PM 1" .TH LOCALE::PO4A::TEX.3PM 1 2025-11-22 "perl v5.42.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NOME .IX Header "NOME" Locale::Po4a::TeX \- converte documenti TeX e derivati da/a file PO .SH DESCRIZIONE .IX Header "DESCRIZIONE" L\*(Aqobiettivo del progetto po4a (PO per tutto) è di facilitare le traduzioni (e cosa più interessante, la manutenzione delle traduzioni) usando gli strumenti associati a gettext in aree inaspettate come la documentazione. .PP Locale::Po4a::TeX è un modulo che aiuta la traduzione in altre lingue della documentazione in formato TeX. Può anche essere usato come base per scrivere moduli per documenti basati su TeX. .PP Gli utenti dovrebbero probabilmente usare il modulo LaTeX, che eredita dal modulo TeX e contiene le definizioni di tipici comandi LaTeX. .SH "TRADURRE CON PO4A::TEX" .IX Header "TRADURRE CON PO4A::TEX" Questo modulo può essere usato direttamente per gestire generici documenti TeX. Dividerà il documento in blocchi più piccoli (paragrafi, blocchi verbatim o anche più piccoli come titoli o indici). .PP There are some options (described in the next section) that can customize this behavior. If this doesn\*(Aqt fit to your document format you\*(Aqre encouraged to write your own derivative module from this, to describe your format\*(Aqs details. See the section \fBWRITING DERIVATE MODULES\fR below, for the process description. .PP Questo modulo può essere personalizzato anche da righe che comincino con "% po4a:" nel file TeX. Queste personalizzazioni sono descritte nella sezione \&\fBPERSONALIZZAZIONE INLINE\fR. .SH "OPZIONI ACCETTATE DA QUESTO MODULO" .IX Header "OPZIONI ACCETTATE DA QUESTO MODULO" Queste sono le opzioni speciali per questo modulo: .IP \fBdebug\fR 4 .IX Item "debug" Attiva il debug per alcuni meccanismi interni di questo modulo. Usare i sorgenti per vedere quali parti possono essere controllate. .IP \fBno_wrap\fR 4 .IX Item "no_wrap" Elenco separato da virgole di ambienti che non dovrebbero essere mandati a capo. .Sp Si noti che c\*(Aqè una differenza tra ambienti verbatim e no_wrap. Non c\*(Aqè analisi comandi e commenti nei blocchi verbatim. .Sp Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro. .IP \fBexclude_include\fR 4 .IX Item "exclude_include" Elenco di file separato da simboli di due punti che non dovrebbero essere inclusi da \einput e \einclude. .IP \fBdefinitions\fR 4 .IX Item "definitions" Il nome del file contenente le definizioni per po4a, come definito nella sezione \fBPERSONALIZZAZIONE INLINE\fR. Si può usare questa opzione se non è possibile mettere le definizioni nel documento che si sta traducendo. .IP \fBverbatim\fR 4 .IX Item "verbatim" Elenco separato da virgole di ambienti che devono essere lasciati inalterati. .Sp Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro. .PP L\*(Aquso di queste opzioni permette di scavalcare il comportamento predefinito dei comandi definiti. .SH "PERSONALIZZAZIONE INLINE" .IX Header "PERSONALIZZAZIONE INLINE" Il modulo TeX può essere personalizzato con righe che cominciano con \fB% po4a:\fR. Queste righe vengono interpretate come comandi passati al parser. I comandi seguenti sono riconosciuti: .IP "\fB% po4a: command\fR \fIcomando1\fR \fBalias\fR \fIcomando2\fR" 4 .IX Item "% po4a: command comando1 alias comando2" Indica che gli argomenti del comando \fIcomando1\fR devono essere trattati come argomenti del comando \fIcomando2\fR. .IP "\fB% po4a: command\fR \fIcomando1\fR \fIparametri\fR" 4 .IX Item "% po4a: command comando1 parametri" Questo descrivere in dettaglio i parametri del comando \fIcomando1\fR. Questa informazione verrà usata per controllare il numero di argomenti ed i loro tipi. .Sp Si può precedere il comando \fIcomando1\fR da .RS 4 .IP "un asterisco (\fB*\fR)" 4 .IX Item "un asterisco (*)" po4a estrarrà questo comando dai paragrafi (se è posizionato all\*(Aqinizio o alla fine del paragrafo). I traduttori dovranno allora tradurre i parametri marcati come traducibili. .IP "un segno più (\fB+\fR)" 4 .IX Item "un segno più (+)" Come per un asterisco, il comando verrà estratto se appare ad un\*(Aqestremità di un blocco, ma i parametri non saranno tradotti separatamente. Il traduttore dovrà tradurre il comando concatenato a tutti i suoi parametri. Ciò mantiene più contesto, ed è utile per comandi con piccole parole nei parametri, che possono avere significati (e traduzioni) multipli. .Sp Nota: in questo caso non è necessario specificare quali parametri sono traducibili, ma po4a deve sapere il tipo e numero di parametri. .IP "un segno meno (\fB\-\fR)" 4 .IX Item "un segno meno (-)" In questo caso, il comando non sarà estratto da nessun blocco. Ma se apparirà da solo in un blocco, allora solo i parametri marcati come traducibili saranno presentati al traduttore. Ciò è utile per i comandi sui font. Questi comandi generalmente non dovrebbero essere separati dai loro paragrafi (per mantenere il contesto), ma non c\*(Aqè ragione di infastidire il traduttore con essi se un\*(Aqintera stringa è racchiusa in un tale comando. .RE .RS 4 .Sp The \fIparameters\fR argument is a set of [] (to indicate an optional argument) or {} (to indicate a mandatory argument). You can place an underscore (_) between these brackets to indicate that the parameter must be translated. For example: % po4a: command *chapter [_]{_} .Sp This indicates that the chapter command has two parameters: an optional (short title) and a mandatory one, which must both be translated. If you want to specify that the href command has two mandatory parameters, that you don\*(Aqt want to translate the URL (first parameter), and that you don\*(Aqt want this command to be separated from its paragraph (which allow the translator to move the link in the sentence), you can use: % po4a: command \-href {}{_} .Sp In questo caso, l\*(Aqinformazione indicante quali argomenti devono essere tradotti viene usata solo se un paragrafo è composto solo da questo comando href. .RE .IP "\fB% po4a: environment\fR \fIenv\fR \fIparametri\fR" 4 .IX Item "% po4a: environment env parametri" This defines the parameters accepted by the \fIenv\fR environment and specifies the ones to be translated. This information is later used to check the number of arguments of the \&\ebegin command. The syntax of the \fIparameters\fR argument is the same as described for the others commands. The first parameter of the \ebegin command is the name of the environment. This parameter must not be specified in the list of parameters. Here are some examples: % po4a: environment multicols {} % po4a: environment equation .Sp Come per i comandi, \fIenv\fR può essere preceduto da un più (+) per indicare che il comando \ebegin deve essere tradotto con tutti i suoi argomenti. .IP "\fB% po4a: separator\fR \fIambiente\fR \fB""\fR\fIregex\fR\fB""\fR" 4 .IX Item "% po4a: separator ambiente ""regex""" Indica che un ambiente dovrebbe essere diviso secondo la data espressione regolare. .Sp L\*(Aqespressione regolare è delimitata da virgolette. Non si dovrebbe creare nessun riferimento all\*(Aqindietro. Si dovrebbe usare (?:) se serve un gruppo. Potrebbero servire anche qualche carattere di escape. .Sp Ad esempio, il modulo LaTeX utilizza l\*(Aqespressione regolare "(?:&|\e\e\e\e)" per tradurre separatamente ogni cella di una tabella (le righe sono separate da \&\*(Aq\e\e\*(Aq e le celle da \*(Aq&\*(Aq). .Sp La nozione di ambiente viene estesa al tipo visualizzato nel file PO. Ciò può essere usato per dividere su "\e\e\e\e" nel primo argomento obbligatorio del comando title. In questo caso, l\*(Aqambiente è title{#1}. .IP "\fB% po4a: verbatim environment\fR \fIambiente\fR" 4 .IX Item "% po4a: verbatim environment ambiente" Indica che \fIenv\fR è un ambiente verbatim. Commenti e comandi verranno ignorati in questo ambiente. .Sp Se questo ambiente non fosse già registrato, po4a considererà che questo ambiente non usi nessun parametro. .SH "SCRIVERE MODULI DERIVATI" .IX Header "SCRIVERE MODULI DERIVATI" .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 Aggiunge una stringa come commento da aggiungere accanto al prossimo elemento tradotto. Utile principalmente per il modulo texinfo, visto che in questo modo i commenti possono essere gestiti automaticamente in TeX. .IP \fBtranslate\fR 4 .IX Item "translate" Wrapper attorno alla traduzione del Transtractor, con filtri pre\- e post\-elaborazione. .Sp I commenti di un paragrafo vengono inseriti come commenti PO per la prima stringa tradotta di questo paragrafo. .IP \fBget_leading_command\fR($buffer) 4 .IX Item "get_leading_command($buffer)" Questa funzione restituisce: .RS 4 .IP "Un nome comando" 4 .IX Item "Un nome comando" Se non si trova il comando all\*(Aqinizio del buffer dato, questa stringa sarà vuota. Vengono tenuti in considerazione solo comandi che possono essere separati. L\*(Aqhash \f(CW%separated_command\fR contiene l\*(Aqelenco di questi comandi. .IP "Una variante" 4 .IX Item "Una variante" Indica se viene utilizzata una variante. Ad esempio, è possibile aggiungere un asterisco (*) alla fine del comando delle sezioni per specificare che non devono essere numerate. In questo caso, questo campo conterrà "*". Se non ci sono varianti, il campo è una stringa vuota. .IP "Un\*(Aqarray di tuple (tipo di argomento, argomento)" 4 .IX Item "Un'array di tuple (tipo di argomento, argomento)" Il tipo di argomento può essere \*(Aq{\*(Aq (per argomenti obbligatori) o \*(Aq[\*(Aq (per argomenti facoltativi). .IP "Il buffer rimanente" 4 .IX Item "Il buffer rimanente" Il resto del buffer dopo la rimozione di questo comando principale e dei suoi argomenti. Se non viene trovato alcun comando, il buffer originale non viene toccato e restituito in questo campo. .RE .RS 4 .RE .IP \fBget_trailing_command\fR($buffer) 4 .IX Item "get_trailing_command($buffer)" Come \fBget_leading_command\fR, ma per comandi alla fine di un buffer. .IP \fBtranslate_buffer\fR 4 .IX Item "translate_buffer" Tradurre ricorsivamente un buffer separando i comandi iniziali e finali (quelli che dovrebbero essere tradotti separatamente) dal buffer. .Sp Se viene definita una funzione in \f(CW%translate_buffer_env\fR per l\*(Aqambiente corrente, questa funzione verrà utilizzata per tradurre il buffer invece di \&\fBtranslate_buffer()\fR. .IP \fBread\fR 4 .IX Item "read" Fa l\*(Aqoverload della funzione \fBread()\fR di Transtractor. .IP \fBread_file\fR 4 .IX Item "read_file" Legge ricorsivamente un file, aggiungendo i file inclusi che non siano elencati nell\*(Aqarray \f(CW@exclude_include\fR. I file inclusi vengono cercati usando il comando \fBkpsewhich\fR dalla libreria Kpathsea. .Sp Fatta eccezione per la parte di inclusione del file, è un taglia e incolla della funzione read di Transtractor. .IP \fBparse_definition_file\fR 4 .IX Item "parse_definition_file" Subroutine per l\*(Aqanalisi di un file con direttive po4a (definizioni per nuovi comandi). .IP \fBparse_definition_line\fR 4 .IX Item "parse_definition_line" Elabora una riga di definizione nella forma "% po4a: ". .Sp Consultare la sezione \fBPERSONALIZZAZIONE INLINE\fR per ulteriori dettagli. .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 "FUNZIONI INTERNE usate per scrivere parser derivati" .IX Header "FUNZIONI INTERNE usate per scrivere parser derivati" Comando e funzioni ambiente prendono i seguenti argomenti (oltre all\*(Aqoggetto \&\f(CW$self\fR): .IP "Un nome comando" 4 .IX Item "Un nome comando" .PD 0 .IP "Una variante" 4 .IX Item "Una variante" .IP "Un array di tuple (tipo, argomento)" 4 .IX Item "Un array di tuple (tipo, argomento)" .IP "L\*(Aqambiente corrente" 4 .IX Item "L'ambiente corrente" .PD .PP I primi 3 argomenti vengono estratti da get_leading_command o get_trailing_command. .PP Comando e funzioni ambiente restituiscono la traduzione del comando con i suoi argomenti e un nuovo ambiente. .PP Le funzioni ambiente vengono chiamate quando viene trovato un comando \ebegin \&. Vengono chiamate con il comando \ebegin ed i suoi argomenti. .PP Il modulo TeX propone solo una funzione comando e una funzione ambiente: generic_command e generic_environment. .PP generic_command uses the information specified by register_generic_command or by adding definition to the TeX file: % po4a: command \fIcommand1\fR \fIparameters\fR .PP generic_environment uses the information specified by register_generic_environment or by adding definition to the TeX file: % po4a: environment \fIenv\fR \fIparameters\fR .PP Entrambe le funzioni tradurranno solo i parametri che sono stati specificati come traducibili (con un \*(Aq_\*(Aq). generic_environment aggiungerà il nome dell\*(Aqambiente allo stack dell\*(Aqambiente e generic_command aggiungerà il nome del comando seguito da un identificatore del parametro (come {#7} o [#2]). .SH "STATO DI QUESTO MODULO" .IX Header "STATO DI QUESTO MODULO" Questo modulo necessita di più controlli. .PP È stato testato su un libro e con la documentazione Python. .SH "ELENCO DEI DAFARE" .IX Header "ELENCO DEI DAFARE" .IP "Rilevamento automatico di nuovi comandi" 4 .IX Item "Rilevamento automatico di nuovi comandi" Il modulo TeX potrebbe analizzare gli argomenti del nuovo comando e provare a indovinare il numero di argomenti, il loro tipo e se devono essere tradotti o meno. .IP "Traduzione del separatore d\*(Aqambiente" 4 .IX Item "Traduzione del separatore d'ambiente" Quando \eitem è usato come separatore d\*(Aqambiente, l\*(Aqargomento item è allegato alla stringa seguente. .IP "Alcuni comandi dovrebbero essere aggiunti alla pila dell\*(Aqambiente" 4 .IX Item "Alcuni comandi dovrebbero essere aggiunti alla pila dell'ambiente" Questi comandi dovrebbero essere specificati da coppie. Ciò può essere usato per specificare i comandi che iniziano o terminano un ambiente letterale. .IP Altri 4 .IX Item "Altri" Vari altri punti sono marcato come TODO (DAFARE) nel sorgente. .SH "BUG CONOSCIUTI" .IX Header "BUG CONOSCIUTI" Vari punti sono marcati come FIXME (AGGIUSTAMI) nel sorgente. .SH "VEDERE ANCHE" .IX Header "VEDERE ANCHE" \&\fBLocale::Po4a::LaTeX\fR\|(3pm), \&\fBLocale::Po4a::TransTractor\fR\|(3pm), \&\fBpo4a\fR\|(7) .SH AUTORI .IX Header "AUTORI" .Vb 1 \& Nicolas François .Ve .SH TRADUZIONE .IX Header "TRADUZIONE" .Vb 2 \& Danilo Piazzalunga \& Marco Ciampa .Ve .SH "COPYRIGHT E LICENZA" .IX Header "COPYRIGHT E LICENZA" Copyright © 2004, 2005 Nicolas FRANÇOIS . .PP Questo programma è software libero; è lecito ridistribuirlo o modificarlo secondo i termini della licenza GPL v2.0 o successive (vedere il file COPYING).