2011-01-19 11 views
7

Estoy editando una gran cantidad de documentos en látex que consisten en listas de códigos y actualmente se publican en pdf.Texto formateado de salida (incluido el código fuente) como LaTeX, PDF y HTML

Como trabajo en equipos con esos documentos, a menudo necesito integrar manualmente los cambios realizados por los miembros del grupo en la fuente de látex.

La mayoría de los miembros del grupo no conocen el látex, por lo que me gustaría tener un medio que les permita hacer el formato del documento en un estilo tal vez similar al de reducción.

Dado que los documentos de látex consisten en cifras, tienen referencias y usan el paquete lslisting, me pregunto si sería posible asignar estas áreas específicas a una sintaxis de estilo de reducción simple.

Workflow Ejemplo: archivo

  • Editar en Markdown (o similar)
    • secciones de etiqueta
    • áreas de código tag
    • etiqueta figuras
    • etiqueta hace referencia a
  • convert al látex
    • convertir automáticamente las etiquetas
  • salida
    • pdf
    • html

¿Sería algún modo será posible lograr un flujo de trabajo así? Tal vez ya hay soluciones para mi flujo de trabajo específico?

Respuesta

1

Debería mirar pandoc (al menos si entiendo su pregunta correctamente). Puede convertir entre múltiples formatos (tex, pdf, word, reStructuredText) y también admite versiones extendidas de la sintaxis de rebajas para manejar problemas más complejos (por ejemplo, insertar información de encabezado en html).

Con él puede mezclar rebajas y LaTeX, y luego compilar en html, tex y pdf. También puede incluir referencias bibtex desde un archivo externo.

Algunos ejemplos (de reducción del precio al látex y HTML):

pandoc -f markdown -t latex infile.txt -o outfile.tex 
pandoc -f markdown -t html infile.txt -o outfile.html 

Para añadir su propia plantilla LaTeX que va de rebajas a PDF, y una bibliografía:

pandoc input.text --template=FILE --bibliography refs.bib -o outfile.pdf 

Realmente es una solución flexible y un programa increíble, y yo mismo lo estoy usando.

1

¿Has mirado Docutils?

+0

gracias. esto se ve bastante interesante. Sin embargo, estoy un poco inseguro de cómo empezar realmente con esto. has utilizado docbook para un caso similar? ¿Puedes recomendar usar ese enfoque? – jottr

+0

@element: no tiene nada que ver con DocBook. Docutils usa reStructuredText, que es similar a Markdown pero más poderoso. – Philipp

0

Si usted es un usuario de Emacs, puede encontrar el marcado org-mode a su gusto. Tiene un soporte muy bueno para tablas, se coordina bien con otros modos de Emacs como la hoja de cálculo, y tiene una buena exportación de imágenes a HTML. Cf. the fine manual's HTML-export section.

org-mode Los archivos se pueden editar fuera de Emacs, para los miembros del equipo que no lo usan, aunque la vista previa e incrustación de otros modos de Emacs, naturalmente, solo se puede hacer con Emacs.

2

Aquí hay un ejemplo para Docutils.

Title 
===== 

Section 
------- 

.. _code: 

Code area:: 

    #include <iostream> 
    int main() { 
    std::cout << "Hello World!" << std::endl; 
    } 

.. figure:: image.png 

    Caption for figure 

A reference to the code_ 


Another section 
--------------- 

- Itemize 
- lists 

#. Enumerated 
#. lists 

+-----+-----+ 
|Table|Table| 
+-----+-----+ 
|Table|Table| 
+-----+-----+ 

Guarda eso como example.rst.A continuación, puede compilar a HTML:

rst2html example.rst example.html 

al látex:

rst2latex example.rst example.tex 

a continuación, compilar el documento látex resultante:

pdflatex example.tex 
pdflatex example.tex # twice to get the reference right 

un marco más amplio para la generación de documentos de múltiples fuentes es Sphinx, que se basa en Docutils y se centra en la documentación técnica.

Cuestiones relacionadas