alterat / pandoc-test

Alcuni casi di conversione non ottimale con pandoc
0 stars 0 forks source link

rientri adeguati nel codice #15

Closed danse closed 6 years ago

danse commented 6 years ago

Una volta stabilito il formato di partenza, come fa pandoc a riprodurre un codice (per esempio, XML) con i rientri adeguati? Al momento, pandoc produce un output del tipo

::

   codice tutto su un'unica riga

In realtà dovrebbe usare la direttiva .. code-block::, ma questo richiede di conoscere il linguaggio in cui è scritto il codice

alterat commented 6 years ago

@danse Esatto! Come fa pandoc a sapere di che codice si tratta?

danse commented 6 years ago

non mi è del tutto chiaro il problema, prova ad aggiungere un documento di test se pensi che possa aiutare.

provando a tradurre questo https://github.com/atorin/pandoc-test/pull/11/commits/fb38e2d7e2509653c7660400a90d8a2e603ac2b1 file in formato RST ottengo:

.. code:: javascript

    code

che mi sembra corretto. provando a tradurre un markdown contenente solo ``` senza specifica di linguaggio ho ottenuto:

::

     code
      next line

che sembra il modo corretto di tradurre testo letterale (literal), e mantiene l'indentazione

alterat commented 6 years ago

Controlla i file longer-code qui: https://github.com/atorin/pandoc-test/tree/master/how-to-format-code-in-a-docx

Sono partito dall'odt in LibreOffice, che ho poi convertito in docx, che infine ho convertito in RST con Pandoc.

L'output RST che ottengo è:

::

    <code>

::

    <some code here>Hey!</some code here>

::

    </code>

Here’s some text

Giustamente, Pandoc non ha modo di sapere in che linguaggio è scritto il codice, a meno che un umano non lo dica esplicitamente.

Nel tuo caso, se non sbaglio, sei partito da un .md con un esplicito riferimento al linguaggio (Javascript), che Pandoc ha convertito correttamente.

danse commented 6 years ago

si ma non mi è ancora chiaro il problema. i rientri in quei files mi sembrano convertiti correttamente, mi sbaglio?

danse commented 6 years ago

il problema qui é che un unico blocco di sorgente viene convertito in blocchi diversi, uno per linea

danse commented 6 years ago

da quel che posso vedere il problema qui è presente nel DOCX stesso, che contiene un paragrafo formattato come codice per ogni riga. passare da ODT complica ulteriormente le cose quindi da ora in poi qui tratterò la traduzione da DOCX a RST.

immagino che il DOCX sia stato prodotto in questa maniera attraverso il tuo convertitore Acrobat, quindi niente su cui io possa intervenire a meno di sviluppare il flusso descritto da #16.

quello che posso fare è scrivere un filtro pandoc che sostituisca paragrafi successivi di codice con un singolo paragrafo contenente le diverse linee, quindi lavorerò su questo