LOCALE::PO4A::TEX.3PM(1) User Contributed Perl Documentation NOMBRE Locale::Po4a::TeX - Convierte documentos TeX y derivados desde/a ficheros PO DESCRIPCION El objetivo del proyecto po4a (<>, PO para todo) es facilitar la traduccion (y mas interesante, el mantenimiento de las traducciones) usando las herramientas de gettext en ambitos donde no previstos, como la documentacion. Locale::Po4a::TeX es un modulo que asiste en la traduccion de documentos TeX a otros lenguajes (humanos). Tambien se puede usar como base para construir modulos para documentos basados en TeX. Probablemente, los usuarios deberian usar el modulo LaTeX, que hereda del modulo TeX y contiene las definiciones de las ordenes mas comunes de LaTeX. TRADUCIR CON PO4A::TEX Este modulo se puede usar directamente para tratar documentos TeX genericos. Esto dividira el documento en bloques mas pequenos (parrafos, bloques literales, o incluso mas pequenos, como titulos o indices). Hay algunas opciones (descritas en la siguiente seccion) que pueden personalizar este comportamiento. Si esto no se adecua al formato de su documento, le animo a que escriba su propio modulo derivado de este para describir los detalles de su formato. Consulte la seccion Escribir modulos derivados que encontrara mas abajo para una descripcion del proceso. Este modulo se puede personalizar con lineas que empiecen con <<% po4a:>> en el fichero TeX. Este proceso se describe en la seccion PERSONALIZACION DE OBJETOS EN LINEA. OPCIONES ACEPTADAS POR ESTE MODULO Estas son las opciones particulares de este modulo: debug Activa la depuracion de fallos para algunos mecanismos internos del modulo. Use el codigo fuente para ver que partes se pueden depurar. no_wrap Lista separada por comas de los entornos que no se deben reajustar. Tenga en cuenta que los entornos literales (verbatim) y no_wrap son diferentes. En los bloques literales no se analizan las ordenes ni los comentarios. Si este entorno no se registro ya, po4a considerara que este entorno no acepta ningun argumento. exclude_include Lista separada por dos puntos de los ficheros que no se deben incluir mediante <<\input>> e <<\include>>. definitions El nombre de un fichero que contiene definiciones para po4a, tal y como se define en la seccion PERSONALIZACION DE OBJETOS EN LINEA. Puede usar esta opcion si no es posible introducir definiciones en el documento que esta traduciendo. verbatim Lista separada por comas de los entornos que se deben interpretar literalmente. Si este entorno no se registro ya, po4a considerara que este entorno no acepta ningun argumento. Utilice estas opciones para modificar el comportamiento predeterminado de las ordenes definidas. PERSONALIZACION DE OBJETOS EN LINEA El modulo TeX se puede personalizar mediante lineas que empiecen con % po4a:. Estas lineas se interpretan como ordenes para el analizador. Se reconocen las siguientes ordenes: % po4a: command orden1 alias orden2 Indica que los argumentos de la orden orden1 se deben tratar como los argumentos de la orden orden2. % po4a: command orden1 parametros Esto describe en detalle los parametros de la orden orden1. Esta informacion se usara para revisar el numero de argumentos y su tipo. Puede preceder la orden orden1 con un asterisco (*) po4a extraera esta orden de los parrafos (si esta ubicada al principio o final de un parrafo). Los traductores tendran que traducir los argumentos marcados como traducibles. un signo de suma (+) En cuanto al asterisco, la orden se extraera en caso de aparecer en el extremo de un bloque, pero los argumentos no se traduciran separadamente. El traductor tendra que traducir la orden unida a todos sus argumentos. Esto mantiene un contexto mas completo, y es util para aquellas ordenes con palabras cortas en sus parametros, los cuales pueden tener varios significados (y traducciones). Nota: En este caso, no necesita especificar que argumentos son traducibles, pero po4a debe conocer el tipo y numero de argumentos. un signo de resta (-) En este caso, no se extraera la orden de ningun bloque. Pero si aparece solo en un bloque, solo los argumentos marcados como traducibles se entregaran al traductor. Esto es de utilidad para las ordenes de tipo de letra. Por lo general, estas ordenes no se deberian separar de su parrafo, (para mantener el contexto), pero no hay ninguna razon para molestar al traductor con ellas de aparecer una cadena completa dentro de una orden dada. El argumento parametros 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 parametro se debe traducir. Por ejemplo: % po4a: orden *chapter [_] {_} Esto indica que la orden <> tiene dos parametros: uno opcional (titulo corto) y uno obligatorio, los cuales se deben traducir. Si desea especificar que la orden <> tiene dos parametros obligatorios, que no quiere traducir la direccion URL (primer parametro), y que no quiere que se separe esta orden de su parrafo (lo cual permite al traductor desplazar el enlace en la oracion), puede usar: % po4a: command -href {}{_} En este caso, la informacion que indica que argumentos se deben traducir solo se emplea si un parrafo esta enteramente compuesto de la orden <>. % po4a: environment entorno parametros Esto define los parametros aceptados por el entorno env y especifica los que se deben traducir. Esta informacion se emplea mas adelante para revisar el numero de argumentos de la orden <<\begin>>. La sintaxis del argumento parametros es la misma descrita para las otras ordenes. El primer parametro de la orden <<\begin>> es el nombre del entorno. No debe especificar este parametro en la lista de parametros. A continuacion tiene unos ejemplos: % po4a: environment multicols {} % po4a: environment equation La igual que con las ordenes, puede preceder entorno de un signo de suma (+) para indicar que la orden <<\begin>> se debe traducir con todos sus argumentos. % po4a: separator entorno "expresion_regular" Indica que un entorno se deberia dividir de acuerdo a la expresion regular dada. La expresion regular esta delimitada por comillas. No deberia crear ninguna referencia de apoyo. Deberia usar (?:) si necesita un grupo. Puede precisar tambien algunos escapes. Por ejemplo, el modulo LaTeX usa la expresion regular "(?:&|\\\\)" para traducir cada celula de la tabla por separado (las lineas separan con '\\' y las celulas con '&'). La nocion de entorno depende del tipo mostrado en el fichero PO. Puede usar esto para dividirse con "\\\\" en el primer argumento obligatorio del nombre de la orden. En este caso, el entorno es <>. % po4a: verbatim environment entorno Indica que entorno es un entorno literal. Los comentarios y ordenes se ignoraran en este entorno. Si este entorno no se registro ya, po4a considerara que este entorno no acepta ningun argumento. ESCRIBIR MODULOS DERIVADOS pre_trans post_trans add_comment Agrega una cadena como un comentario para ser agregado alrededor del siguiente elemento traducido. Esto es mayormente para el modulo texinfo, como comentarios son manipulados automaticamente en TeX. translate Un <> (envoltorio) al translate del Transtractor, con filtros de pre- y post-procesado. Los comentarios de un parrafo se insertan como comentarios del PO en la primera cadena traducida del parrafo. get_leading_command($buffer) Esta funcion devuelve: El nombre de la orden Si no se encuentra ninguna orden al principio del bufer dado, esta cadena estara vacia. Solo se consideran las ordenes que se pueden separar. La serie asociativa (hash) <<$separated_commands>> contiene la lista separada por espacios de estas ordenes. Una variante Indica si se utiliza una variante. Por ejemplo, se puede anadir un asterisco (*) al final de la orden de secciones para especificar que no se deben enumerar. En ese caso, este campo contendria "*". Si no hay ninguna variante, el campo contiene una cadena vacia. Una arreglo de tuplas (tipo de argumento, argumento) El tipo de argumento puede ser <<{>> (para argumentos obligatorios) o <<[>> (para argumentos opcionales). El resto del bufer El resto del bufer despues de la eliminacion de la orden inicial y sus parametros. Si no se encuentra ninguna orden, se devuelve a este campo el bufer original intacto. get_trailing_command($buffer) Lo mismo que get_leading_command, pero para las ordenes al final de la memoria intermedia. translate_buffer Traduce recursivamente una memoria intermedia separando de la misma la orden inicial y la final (los que se deben traducir por separado). Si una funcion se define en <<%translate_buffer_env>> para el entorno actual, esta funcion se usara para traducir el bufer en lugar de <>. read Sobrecarga read() de Transtractor. read_file Lee un fichero recursivamente, anadiendo los ficheros incluidos que no estan listados en la lista <<@exclude_include>>. Los ficheros incluidos se buscan con la orden kpsewhich de la biblioteca Kpathsea. Exceptuando la parte de inclusion de ficheros, es una copia del <> de Transtractor. parse_definition_file Subrutina para analizar un fichero con directivas po4a (definiciones de ordenes nuevas). parse_definition_line Analiza una linea de definicion con la forma <<% po4a: >>. Consulte la seccion PERSONALIZACION DE OBJETOS EN LINEA para mas detalles. is_closed parse docheader FUNCIONES INTERNAS utilizadas para escribir analizadores derivados Las funciones de orden y entorno toman los siguientes argumentos (ademas del objeto <<$self>>): El nombre de la orden Una variante Una serie de tuplas (tipo, argumento) El entorno actual Los primeros 3 parametros se extraen con <> o <>. Las funciones de orden y de entorno devuelven la traduccion de la orden con sus argumentos y un nuevo entorno. Las funciones de entorno se invocan cuando se encuentra una orden <<\begin>>. Se invocan con la orden <<\begin>> y sus argumentos. El modulo TeX solo propone una orden de funcion y una orden de entorno: <> y <>. <> usa la informacion especificada por <>, o anadiendo una definicion para el fichero TeX: % po4a: command orden1 parametros <> usa la informacion especificada por <> o anadiendo al archivo TeX: % po4a: environment entorno parametros Ambas funciones solo traducen los parametros especificados como traducibles (con una '_'). <> afijara el nombre del entorno a la pila del entorno, y <> afijara el nombre de la orden seguida por un identificador del parametro (como {#7} o [#2]). ESTADO DE ESTE MODULO Este modulo necesita mas pruebas. Se ha probado con un libro y con la documentacion de Python. LISTA DE TAREAS PENDIENTES Deteccion automatica de ordenes nuevas El modulo TeX podria analizar los argumentos de la orden nueva e intentar determinar el numero de argumentos, su tipo y si se deberian traducir. Traduccion del separador de entorno Cuando usa <<\item>> como un separador de entorno, el elemento argumento se anade a la siguiente cadena. Algunas ordenes se deberian anadir a la pila (<>) del entorno Estas ordenes se deben especificar por parejas. Esto se puede usar para especificar ordenes que inician o finalizan un entorno literal. Otros Hay varios puntos etiquetados con TODO en el codigo. FALLOS CONOCIDOS Hay varios puntos etiquetados con FIXME en el codigo. VEASE TAMBIEN Locale::Po4a::LaTeX(3pm), Locale::Po4a::TransTractor(3pm), po4a(7) AUTORES Nicolas Francois TRADUCCION Jordi Vilalta Omar Campagne DERECHO DE COPIA Y LICENCIA Copyright (C) 2004, 2005 Nicolas FRANCOIS . Este programa es software libre; puede redistribuirlo y/o modificarlo bajo los terminos de la GPL v2.0 o posterior (consulte el archivo COPYING). perl v5.38.2 2024-06-26 LOCALE::PO4A::TEX.3PM(1)