.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" 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 "2023-01-03" "Herramientas de po4a" "Herramientas de po4a" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOMBRE" .IX Header "NOMBRE" Locale::Po4a::TeX \- convert TeX documents and derivatives from/to \s-1PO\s0 files .SH "DESCRIPCIÓN" .IX Header "DESCRIPCIÓN" El objetivo del proyecto po4a («PO for anything», \s-1PO\s0 para todo) es facilitar la traducción (y más interesante, el mantenimiento de las traducciones) usando las herramientas de gettext en ámbitos dónde no previstos, como la documentación. .PP Locale::Po4a::TeX es un módulo que asiste en la traducción de documentos TeX a otros lenguajes (humanos). También se puede usar como base para construir módulos para documentos basados en TeX. .PP Probablemente, los usuarios deberían usar el módulo LaTeX, que hereda del módulo TeX y contiene las definiciones de las órdenes más comunes de LaTeX. .SH "TRADUCIR CON PO4A::TEX" .IX Header "TRADUCIR CON PO4A::TEX" Este módulo se puede usar directamente para tratar documentos TeX genéricos. Esto dividirá el documento en bloques más pequeños (párrafos, bloques literales, o incluso más pequeños, como títulos o índices). .PP There are some options (described in the next section) that can customize this behavior. If this doesn't fit to your document format you're encouraged to write your own derivative module from this, to describe your format's details. See the section \fB\s-1WRITING DERIVATIVE MODULES\s0\fR below, for the process description. .PP This module can also be customized by lines starting with \*(L"% po4a:\*(R" in the TeX file. This process is described in the \fB\s-1INLINE CUSTOMIZATION\s0\fR section. .SH "OPCIONES ACEPTADAS POR ESTE MODULO" .IX Header "OPCIONES ACEPTADAS POR ESTE MODULO" Estas son las opciones particulares de este módulo: .IP "\fBdebug\fR" 4 .IX Item "debug" Activa la depuración de fallos para algunos mecanismos internos del módulo. Use el código fuente para ver qué partes se pueden depurar. .IP "\fBno_wrap\fR" 4 .IX Item "no_wrap" Lista separada por comas de los entornos que no se deben justificar. .Sp Tenga en cuenta que los entornos literales (verbatim) y no_wrap son diferentes. En los bloques literales no se analizan las órdenes ni los comentarios. .Sp Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento. .IP "\fBexclude_include\fR" 4 .IX Item "exclude_include" Lista separada por dos puntos de los ficheros que no se deben incluir mediante «\einput» e «\einclude». .IP "\fBdefinitions\fR" 4 .IX Item "definitions" El nombre de un fichero que contiene definiciones para po4a, tal y como se define en la sección \fBPERSONALIZACIÓN \s-1DE OBJETOS EN\s0 LÍNEA\fR. Puede usar esta opción si no es posible introducir definiciones en el documento que está traduciendo. .IP "\fBverbatim\fR" 4 .IX Item "verbatim" Lista separada por comas de los entornos que no se deben justificar. .Sp Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento. .PP Use these options to override the default behavior of the defined commands. .SH "PERSONALIZACIÓN DE OBJETOS EN LÍNEA" .IX Header "PERSONALIZACIÓN DE OBJETOS EN LÍNEA" El módulo TeX se puede personalizar mediante lineas que empiecen con \fB% po4a:\fR. Estas lineas se interpretan como órdenes para el analizador. Se reconocen las siguientes órdenes: .IP "\fB% po4a: command\fR \fIorden1\fR \fBalias\fR \fIorden2\fR" 4 .IX Item "% po4a: command orden1 alias orden2" Indica que los argumentos de la orden \fIorden1\fR se deben tratar como los argumentos de la orden \fIorden2\fR. .IP "\fB% po4a: command\fR \fIorden1\fR \fIparámetros\fR" 4 .IX Item "% po4a: command orden1 parámetros" This describes in detail the parameters of the \fIcommand1\fR command. This information will be used to check the number of arguments and their types. .Sp Puede preceder la orden \fIorden1\fR con .RS 4 .IP "un asterisco (\fB*\fR)" 4 .IX Item "un asterisco (*)" po4a extraerá esta orden de los párrafos (si está ubicada al principio o final de un párrafo). Los traductores tendrán que traducir los argumentos marcados como traducibles. .IP "un signo de suma (\fB+\fR)" 4 .IX Item "un signo de suma (+)" As for an asterisk, the command will be extracted if it appear at an extremity of a block, but the parameters won't be translated separately. The translator will have to translate the command concatenated to all its parameters. This keeps more context, and is useful for commands with small words in parameter, which can have multiple meanings (and translations). .Sp Nota: En este caso, no necesita especificar qué argumentos son traducibles, pero po4a debe conocer el tipo y número de argumentos. .IP "un signo de resta (\fB\-\fR)" 4 .IX Item "un signo de resta (-)" En este caso, no se extraerá la orden de ningún bloque. Pero si aparece solo en un bloque, sólo los argumentos marcados como traducibles se entregarán al traductor. Esto es de utilidad para las órdenes de tipo de letra. Por lo general, estas órdenes no se deberían separar de su párrafo, (para mantener el contexto), pero no hay ninguna razón para molestar al traductor con ellas de aparecer una cadena completa dentro de una orden dada. .RE .RS 4 .Sp El argumento \fIparámetros\fR es un conjunto de [] (para indicar un argumento opcional) o {} (para indicar un argumento obligatorio). Puede colocar un subrayado (_) entre estos corchetes para indicar que el parámetro se debe traducir. Por ejemplo: % po4a: orden *chapter [_] {_} .Sp Esto indica que la orden «chapter» tiene dos parámetros: uno opcional (título corto) y uno obligatorio, los cuales se deben traducir. Si desea especificar que la orden «href» tiene dos parámetros obligatorios, que no quiere traducir la dirección \s-1URL\s0 (primer parámetro), y que no quiere que se separe esta orden de su párrafo (lo cual permite al traductor desplazar el enlace en la oración), puede usar: % po4a: command \-href {}{_} .Sp En este caso, la información que indica qué argumentos se deben traducir sólo se emplea si un párrafo está enteramente compuesto de la orden «href». .RE .IP "\fB% po4a: environment\fR \fIentorno\fR \fIparámetros\fR" 4 .IX Item "% po4a: environment entorno parámetros" 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 La igual que con las órdenes, puede preceder \fIentorno\fR de un signo de suma (+) para indicar que la orden «\ebegin» se debe traducir con todos sus argumentos. .ie n .IP "\fB% po4a: separator\fR \fIentorno\fR \fB""\fR\fIexpresión_regular\fR\fB""\fR" 4 .el .IP "\fB% po4a: separator\fR \fIentorno\fR \fB``\fR\fIexpresión_regular\fR\fB''\fR" 4 .IX Item "% po4a: separator entorno ""expresión_regular""" Indica que un entorno se debería dividir de acuerdo a la expresión regular dada. .Sp The regular expression is delimited by quotes. It should not create any back-reference. You should use (?:) if you need a group. It may also need some escapes. .Sp Por ejemplo, el módulo LaTeX usa la expresión regular \*(L"(?:&|\e\e\e\e)\*(R" para traducir cada célula de la tabla por separado (las líneas separan con '\e\e' y las células con '&'). .Sp The notion of environment is expanded to the type displayed in the \s-1PO\s0 file. This can be used to split on \*(L"\e\e\e\e\*(R" in the first mandatory argument of the title command. In this case, the environment is title{#1}. .IP "\fB% po4a: verbatim environment\fR \fIentorno\fR" 4 .IX Item "% po4a: verbatim environment entorno" Indica que \fIentorno\fR es un entorno literal. Los comentarios y órdenes se ignorarán en este entorno. .Sp Si este entorno no se registró ya, po4a considerará que este entorno no acepta ningún argumento. .SH "ESCRIBIR MÓDULOS DERIVADOS" .IX Header "ESCRIBIR MÓDULOS DERIVADOS" .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 Agrega una cadena como un comentario para ser agregado alrededor del siguiente elemento traducido. Esto es mayormente para el módulo texinfo, como comentarios son manipulados automáticamente en TeX. .IP "\fBtranslate\fR" 4 .IX Item "translate" Un «wrapper» (envoltorio) al translate del Transtractor, con filtros de pre\- y post-procesado. .Sp Los comentarios de un párrafo se insertan como comentarios del \s-1PO\s0 en la primera cadena traducida del párrafo. .IP "\fBget_leading_command\fR($buffer)" 4 .IX Item "get_leading_command($buffer)" Esta función devuelve: .RS 4 .IP "El nombre de la orden" 4 .IX Item "El nombre de la orden" Si no se encuentra ninguna orden al principio del búfer dado, esta cadena estará vacía. Sólo se consideran las órdenes que se pueden separar. La serie asociativa (hash) «$separated_commands» contiene la lista separada por espacios de estas órdenes. .IP "Una variante" 4 .IX Item "Una variante" Indica si se utiliza una variante. Por ejemplo, se puede añadir un asterisco (*) al final de la orden de secciones para especificar que no se deben enumerar. En ese caso, este campo contendría \*(L"*\*(R". Si no hay ninguna variante, el campo contiene una cadena vacía. .IP "Una arreglo de tuplas (tipo de argumento, argumento)" 4 .IX Item "Una arreglo de tuplas (tipo de argumento, argumento)" El tipo de argumento puede ser «{» (para argumentos obligatorios) o «[» (para argumentos opcionales). .IP "El resto del búfer" 4 .IX Item "El resto del búfer" El resto del búfer después de la eliminación de la orden inicial y sus parámetros. Si no se encuentra ninguna orden, se devuelve a este campo el búfer original intacto. .RE .RS 4 .RE .IP "\fBget_trailing_command\fR($buffer)" 4 .IX Item "get_trailing_command($buffer)" Lo mismo que \fBget_leading_command\fR, pero para las órdenes al final de la memoria intermedia. .IP "\fBtranslate_buffer\fR" 4 .IX Item "translate_buffer" Traduce recursivamente una memoria intermedia separando de la misma la orden inicial y la final (los que se deben traducir por separado). .Sp Si una función se define en «%translate_buffer_env» para el entorno actual, esta función se usará para traducir el búfer en lugar de «\fBtranslate_buffer()\fR». .IP "\fBread\fR" 4 .IX Item "read" Sobrecarga \fBread()\fR de Transtractor. .IP "\fBread_file\fR" 4 .IX Item "read_file" Lee un fichero recursivamente, añadiendo los ficheros incluidos que no están listados en la lista «@exclude_include». Los ficheros incluidos se buscan con la orden \fBkpsewhich\fR de la biblioteca Kpathsea. .Sp Exceptuando la parte de inclusión de ficheros, es una copia del «read» de Transtractor. .IP "\fBparse_definition_file\fR" 4 .IX Item "parse_definition_file" Subrutina para analizar un fichero con directivas po4a (definiciones de órdenes nuevas). .IP "\fBparse_definition_line\fR" 4 .IX Item "parse_definition_line" Analiza una linea de definición con la forma «% po4a: ». .Sp Consulte la sección \fBPERSONALIZACIÓN \s-1DE OBJETOS EN\s0 LÍNEA\fR para más detalles. .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 "FUNCIONES INTERNAS utilizadas para escribir analizadores derivados" .IX Header "FUNCIONES INTERNAS utilizadas para escribir analizadores derivados" Las funciones de orden y entorno toman los siguientes argumentos (además del objeto «$self»): .IP "El nombre de la orden" 4 .IX Item "El nombre de la orden" .PD 0 .IP "Una variante" 4 .IX Item "Una variante" .IP "Una serie de tuplas (tipo, argumento)" 4 .IX Item "Una serie de tuplas (tipo, argumento)" .IP "El entorno actual" 4 .IX Item "El entorno actual" .PD .PP Los primeros 3 parámetros se extraen con «get_leading_command» o «get_trailing_command». .PP Las funciones de orden y de entorno devuelven la traducción de la orden con sus argumentos y un nuevo entorno. .PP Las funciones de entorno se invocan cuando se encuentra una orden «\ebegin». Se invocan con la orden «\ebegin» y sus argumentos. .PP El módulo TeX sólo propone una orden de función y una orden de entorno: «generic_command» y «generic_environment». .PP «generic_command» usa la información especificada por «register_generic_command», o añadiendo una definición para el fichero TeX: % po4a: command \fIorden1\fR \fIparámetros\fR «generic_environment» usa la información especificada por «register_generic_environment» o añadiendo al archivo TeX: % po4a: environment \fIentorno\fR \fIparámetros\fR .PP Ambas funciones sólo traducen los parámetros especificados como traducibles (con una '_'). «generic_environment» afijará el nombre del entorno a la pila del entorno, y «generic_command» afijará el nombre de la orden seguida por un identificador del parámetro (como {#7} o [#2]). .SH "ESTADO DE ESTE MODULO" .IX Header "ESTADO DE ESTE MODULO" Este módulo necesita más pruebas. .PP Se ha probado con un libro y con la documentación de Python. .SH "LISTA DE TAREAS PENDIENTES" .IX Header "LISTA DE TAREAS PENDIENTES" .IP "Detección automática de órdenes nuevas" 4 .IX Item "Detección automática de órdenes nuevas" El módulo TeX podría analizar los argumentos de la orden nueva e intentar determinar el número de argumentos, su tipo y si se deberían traducir. .IP "Traducción del separador de entorno" 4 .IX Item "Traducción del separador de entorno" Cuando usa «\eitem» como un separador de entorno, el elemento argumento se añade a la siguiente cadena. .IP "Algunas órdenes se deberían añadir a la pila («stack») del entorno" 4 .IX Item "Algunas órdenes se deberían añadir a la pila («stack») del entorno" These commands should be specified by couples. This can be used to specify commands beginning or ending a verbatim environment. .IP "Otros" 4 .IX Item "Otros" Hay varios puntos etiquetados con \s-1TODO\s0 en el código. .SH "FALLOS CONOCIDOS" .IX Header "FALLOS CONOCIDOS" Hay varios puntos etiquetados con \s-1FIXME\s0 en el código. .SH "VÉASE TAMBIÉN" .IX Header "VÉASE TAMBIÉN" \&\fBLocale::Po4a::LaTeX\fR\|(3pm), \fBLocale::Po4a::TransTractor\fR\|(3pm), \fBpo4a\fR\|(7) .SH "AUTORES" .IX Header "AUTORES" .Vb 1 \& Nicolas François .Ve .SH "TRADUCCION" .IX Header "TRADUCCION" .Vb 2 \& Jordi Vilalta \& Omar Campagne .Ve .SH "DERECHO DE COPIA Y LICENCIA" .IX Header "DERECHO DE COPIA Y LICENCIA" Copyright © 2004, 2005 Nicolas FRANÇOIS . .PP Esto es software libre; puede redistribuirlo y/o modificarlo bajo las condiciones de la licencia \s-1GPL\s0 (consulte el fichero \s-1COPYING\s0).