2011-01-19 10 views
7

Sto modificando molti documenti in lattice che consistono in elenchi di codici e sono attualmente in uscita in pdf.Emettere testo formattato (incluso il codice sorgente) come LaTeX, PDF e HTML

Dato che lavoro in team su questi documenti, ho spesso bisogno di integrare manualmente le modifiche apportate dai membri del gruppo alla fonte latex.

La maggior parte dei membri del gruppo non conosce il lattice, quindi mi piacerebbe avere un mezzo per abilitarli a eseguire la formattazione del documento in uno stile che potrebbe essere simile al markdown.

Dal momento che i documenti in lattice sono costituiti da figure, hanno riferimenti e utilizzare il pacchetto lslisting, mi chiedo se sarebbe stato possibile mappare queste aree specifiche per una semplice sintassi Markdown stile.

Flusso di lavoro Esempio: file di

  • Modifica nella Markdown (o simili)
    • sezioni tag
    • zone di codice tag
    • tag figure
    • marcare i riferimenti
  • convert al lattice
    • convertire automaticamente i tag
  • uscita
    • pdf
    • html

Sarebbe in qualche modo sia possibile raggiungere un tale flusso di lavoro? Forse ci sono già soluzioni per il mio flusso di lavoro specifico?

risposta

1

Si dovrebbe guardare pandoc (almeno se ho capito la tua domanda correttamente). Può convertire tra più formati (tex, pdf, word, reStructuredText) e supporta anche versioni estese della sintassi markdown per gestire problemi più complessi (ad esempio inserendo le informazioni di intestazione in html).

Con esso è possibile mescolare markdown e LaTeX e quindi compilare in html, tex e pdf. Puoi anche includere riferimenti bibtex da un file esterno.

Alcuni esempi (da Markdown a lattice e HTML):

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

per aggiungere il proprio modello LaTex va da mark-down in pdf, e una bibliografia:

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

E 'davvero uno strumento flessibile e fantastico programma, e lo sto usando molto anch'io.

1

Hai guardato a Docutils?

+0

grazie. questo sembra abbastanza interessante. sono un po 'incerto su come iniziare veramente con questo però. hai usato il docbook per un caso simile? puoi consigliare di utilizzare tale approccio? – jottr

+0

@element: non ha nulla a che vedere con DocBook. Docutils utilizza reStructuredText, che è simile a Markdown ma più potente. – Philipp

0

Se sei un utente Emacs, potresti trovare il markup org-mode a tuo piacimento. Ha un ottimo supporto per le tabelle, si coordina bene con altre modalità di Emacs come il foglio di calcolo e ha una buona esportazione di immagini in HTML. Cf. the fine manual's HTML-export section.

org-mode i file sono modificabili al di fuori di Emacs, per i membri del team che non lo usano, sebbene l'anteprima e l'incorporamento di altre modalità di Emacs possono, naturalmente, essere eseguiti solo con Emacs.

2

Ecco un esempio per 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| 
+-----+-----+ 

Salvarlo come example.rst.Poi si può compilare in HTML:

rst2html example.rst example.html 

o per LaTeX:

rst2latex example.rst example.tex 

quindi compilare il documento LaTeX risultante:

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

un quadro più completo per la generazione di documenti provenienti da più fonti è Sphinx, che si basa su Docutils e si concentra sulla documentazione tecnica.

Problemi correlati