Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Traducción: sierpes
Contenidos
1 Introducción 1
1.1 Qué es ReStructuredText 2
1.2 ¿Para qué sirve ReStructuredText? 2
1.3 Como comenzar a trabajar en ReStructuredText 2
2 Sintaxis 3
2.1 Estructura Básica 3
2.2 Estilos de Texto 4
2.3 Listas 4
2.3.1 Listas númeradas 4
2.3.2 Listas marcadas por puntos 5
2.3.3 Listas de definiciones 5
2.3.4 Listas de campo 6
2.4 Tablas 6
2.5 Preformateo (ejemplos de codigo) 7
2.6 Secciones y títulos 7
2.6.1 Título y subtítulo del documento 8
2.7 Hipervinculos 9
2.7.1 Hipervínculos externos 9
2.7.1.1 Hipervínculos incrustados 9
2.7.2 Hipervínculos Internos 10
2.7.3 Hipervínculos Indirectos 10
2.7.4 Hipervínculos Implícitos 10
2.8 Imagenes 10
2.9 Comentarios 11
3 Bibliografía 11
Informal Heading
1 Introducción
Con este manual se pretende realizar una guía simple para poder iniciarse en el uso de
ReStructuredText, veremos que necesitamos para poder comenzar a generar nuestros documentos en
ReStructuredText, se verá como hacer títulos y subtítulos, y como se deben estructurar, estilos de texto,
listas (numeradas, sin numerar), tablas de varios tipos, imagenes, etc.
Este documento es una traduccion libre de A ReStructuredText Primer con alguna información adicional,
con seguridad la traducción no será correcta o la mas correcta debido a las limitaciones de mi inglés.
En caso de quere ampliar la información que aqui se va a tratar, se puede consultar la información
disponible en la página oficial de reStructuredText donde se podrá encontrar toda la documentación en
detalle (en inglés).
Sierpas.
Con las ventajas ya comentadas de que lo que escribimos es texto plano, nuestros documentos son
livianos y su edición es muy intuitiva. De momento no se puede generar documentación en docBook a
partir de ReStructuredText de forma directa, pero es posible hacelo a través de dn2dbk. Aunque tambien
hay que decir que tiene sus limitaciones y que no siempre realiza la transformacion de forma correcta.
Tambien es conveniente intalarse el paquete rst2pdf, para pasar directamente de ReStructured Text a
pdf:
Pueden resultar útiles para rst2pdf los paquetes python-uniconvertor, python-sphinx, python-mathplotlib y
python-aafigure. Si se instalan tambien se deberán resolver sus dependencias de forma satisfactoria.
Aunque estos paquetes son opcionales y en principo no son necesarios para la instalación de rst2pdf.
Para comenzar a escribir en ReStructuredText solo necesitamos cualquier editor de texto como gedit, por
ejemplo. Como en un principio no vamos a saber como va a quedar nuestro documento cuando lo
pasemos al formato deseado, resulta muy cómodo tener el terminal empotrado en gedit, asi sin salir del
entorno de trabajo podremos ejecutar los comandos correspondientes, para la transformacion al formato
deseado y la comprobación del resultado. Para tener el terminal empotrado en gedit, necesitaremos tener
instalado el paquete gedit-plugins, si no se tiene:
La salida de rst2man nos la devuelve en texto plano, como normalmente los archivos man estan
comprimidos con gzip para ahorrar espacio, lo que hacemos es pasarle la salida a gzip para que nos lo
comprima.
Si la sintaxis de nuestro documento es correcta no nos informará de ningún error y podremos ver el
documento generado a partir de reStructuredText sin ningún problema, en caso de tener errores, es
posible que se genere el nuevo documento pero con informes de errores dentro de él o que no nos lo
genere.
Existe también la herramienta rst2web que permite crear un sitio web, pero esta herramienta no la
trataremos aqui.
2 Sintaxis
2.1 Estructura Básica
El patrón mas básico reconocido es el parrafo, un parrafo consiste en un trozo de texto separado por
lineas en blanco (una es suficiente). Los parrafos deben tener la misma sangría, es decir, deben
alinearse en su margen derecho. Por ejemplo:
2.3 Listas
Existen varias clases de listas veremos:
• Numeradas
• Marcadas por puntos
• De definiciones.
• Listas de campos.
En todos los casos se pueden incluir dentro de ellas tantos parrafos sublistas, etc. como se quiera, hasta
que se llegue al margen derecho de la pagina, o se alinie un parrafo con la primera linea del texto del
miembro de la lista. Es recomendable sangrar todas las lineas en relación al elemento de la lista que
corresponda.
Las listas siempre deben empezar con un nuevo parrafo, es decir, deben comenzar despues de una linea
en blanco.
1) Y otra.
4. Los números deben estar en la correcta
secuencia.
Nota: no todos los navegadores soportan los diferentes estilos de listas numeradas, asi que tal vez no se
vea el efecto deseado:
2.4 Tablas
Hay dos formas de crear tablas en ReStructuredText por un lado estan las tablas de cuadricula (grid
tables), que son nmuy completas pero incomodas y costosas de crear. Por otro lado estan las tablas
simples (simple tables) que son muy rápidas y sencillas de crear pero son limitadas, ya que no permiten
la expansión de filas (row spans).
Nota: Un bloque de este tipo debe terminar con una linea en blanco, y después regresamos a la sangría
correcta para que termine el bloque preformateado, si eliminamos la línea en blanco nos puede dar error.
Si un parrafo consiste solo en "::" este será borrado de la salida:
::
Resultado:
Capítulo 2 Título
=================
<section>
<title>
Chapter 1 Title
</title>
</section>
<section>
<title>
Section 1.1 Title
</title>
</section>
<section>
<title>
Subsection 1.1.1 Title
</title>
</section>
<section>
<title>
Section 1.2 Title
</title>
</section>
<section>
<title>
Chapter 2 Title
</title>
</section>
En este caso no es posible mostrar la salida sin alterar la estructura del presente documento, es por eso
que se presenta el trozo de xml que generaría. Si se desea ver como quedaria no hay mas que copiarlo y
procesarlo con el parser. En XML los títulos y subtítulos se identifican por la sangría, si estan al mismo
nivel de sangrado son títulos del mismo nivel, si un título comienza en un nivel de sangrado mas profundo
entonces es un subtítulo.
Los títulos en ReStructuredText deben estar pegados al margen izquierdo, en caso contrario nos dará
error.
Titulo de sección
=================
...
Los símbolos del "Título del documento" y del "Título de sección" son iguales pero son distintos estilos y
no están relacionados entre si. Que el título del documento esté subrayado y sobrerayado es solo por
motivos esteticos.
2.7 Hipervinculos
Hay distintas clases de hipervinculos:
• Hipervínculos externos.
• Hipervinculos incrustados
• Hipervínculos internos.
• Hipervínculos indirectos.
• Hipervínculos implicitos.
Tambien habra que añadir la siguiente linea en el documento, (para estructurar mejor el documento y que
sea mas fácil la lectura del archivo fuente será preferible escribir los hipervinculos al principio o al final,
aunque esto es solo opcional.)
.. _RESTRUCTUREDTEXT: http://docutils.sourceforge.net/rst.html
En este caso las palabras restructured text serán el enlace a la página oficial de ReStructuredText
2.7.2 Hipervínculos Internos
Los hipervinculos internos nos pueden servir para hacer referencia a tablas o a cualquier parte del
documento, la forma de declararlo es analoga a las anterores, hay que finalizar la palabra que se quiera
que sea el link interno con una barra baja "_":
Ahora añadiriamos arriba de las lineas donde tenemos la bibliografía la siguiente línea:
.. _bibliografía:
.. _Python: http://www.python.org/
__ Python_
`Hipervínculos Indirectos`_
2.8 Imagenes
Para incluir una imagen en un documento se debe usar la directiva image. Por ejemplo:
.. image:: imagenes/biohazard.png
.. image:: imagenes/biohazard.png
:height: 100
:width: 200
:scale: 50
:alt: Una imgen
2.9 Comentarios
Para introducir comentarios es ReStructuredText solo hay que poner al inicio de la linea dos puntos
seguidos y después un espacio. Hay que tener en cuenta que las directivas tambien comienzan por ".. "
asi que es aconsejable que dejar la primera linea en blanco para evitar posibles coincidencias
indeseadas. Por ejemplo:
.. Esto es un comentario.
..
Esto tambien es un comentario
..
image:: incluso esto que es una directiva, al no estar en la linea
de arriba es un comentario.
3 Bibliografía
A ReStructuredText Primer
Quick reStructuredText
reStructuredText Markup Specification
http://blog.osiux.com/2009/restructuredtext/
Java ReStructuredText parser
reStructuredText Directives