Pandoc md para tex: código + enumerar interação

Pandoc md para tex: código + enumerar interação

Como fazer a conversão de pandoc md para xelatex entender que a estrutura do código está dentro de uma lista de enumeração. O código mínimo que tenho em meu arquivo markdown.

* Test your code 
* Don't use structures like this

  ```cpp
  //Bad structure
  //More bad structures
  ```

  As this will cause problems.

Este código é exibido corretamente no github com o código sendo recuado corretamente em relação à lista. Mas usando um método relativamente simples

pandoc --latex-engine=xelatex README.md -o test.pdf

faz uma bagunça com isso. A melhor coisa que consegui foi realmente exibir o código com quebra de enumeração. Minhas outras tentativas normalmente quebrariam a exibição do código.

Responder1

O código a seguir parece bom para mim. Eu usei umbloco de código cercado, mas também deve funcionar com crases.

- Test your code 
- Don't use structures like this

  ~~~ {.cpp}
  // printf("hello world");
  // prints("hello World");
  ~~~

  as this will cause problems.

Eu converti este código com a chamada acima e parece bom para mim.

Responder2

Os backticks triplos são uma extensão da sintaxe de markdown original e o Github e o Pandoc não os implementam de uma forma totalmente compatível. No Pandoc, os crases triplos iniciais e finais precisam começar na margem esquerda. Numa enumeração, a margem esquerda começa com um recuo de 4 espaços. Dentro do bloco de código, entretanto, a margem esquerda começa na posição 0. Então você precisa escrever

* Test your code
* Don't use structures like this

    ```cpp
//Bad structure
//More bad structures
    ```

    As this will cause problems.

Isso não funciona para mim comA ferramenta de marcação do GitHub: não reconhece cppcomo um atributo de linguagem, trata-o como a primeira linha de código. Porém, o recuo faz a diferença: com seus dois espaços o bloco de código encerra a enumeração, enquanto com meus quatro espaços o bloco de código e a linha de texto seguinte permanecem na enumeração. Acho que é um bug na minha versão de uma das dependências da ferramenta, já que a ```languagesintaxe é definitivamente suportada no Github.

informação relacionada