
Wie kann man bei der Konvertierung von Pandoc MD in Xelatex verstehen, dass die Codestruktur innerhalb einer Aufzählungsliste liegt? Der minimale Code, den ich in meiner Markdown-Datei habe.
* Test your code
* Don't use structures like this
```cpp
//Bad structure
//More bad structures
```
As this will cause problems.
Dieser Code wird auf GitHub korrekt angezeigt, wobei der Code in Bezug auf die Liste richtig eingerückt ist. Aber mit einem relativ einfachen
pandoc --latex-engine=xelatex README.md -o test.pdf
macht ein Chaos daraus. Das Beste, was ich erreicht habe, ist, den Code tatsächlich anzuzeigen, ohne die Aufzählung zu unterbrechen. Bei meinen anderen Versuchen wurde die Codeanzeige normalerweise unterbrochen.
Antwort1
Der folgende Code sieht für mich OK aus. Ich habe eineneingezäunter Codeblock, aber es sollte auch mit Backticks funktionieren.
- Test your code
- Don't use structures like this
~~~ {.cpp}
// printf("hello world");
// prints("hello World");
~~~
as this will cause problems.
Ich habe diesen Code mit dem obigen Aufruf konvertiert und er sieht für mich in Ordnung aus.
Antwort2
Dreifache Backticks sind eine Erweiterung der ursprünglichen Markdown-Syntax und werden von Github und Pandoc nicht vollständig kompatibel implementiert. In Pandoc müssen sowohl die Start- als auch die End-Dreifach-Backticks am linken Rand beginnen. In einer Aufzählung beginnt der linke Rand mit einer Einrückung von 4 Leerzeichen. Innerhalb des Codeblocks beginnt der linke Rand jedoch an Position 0. Sie müssen also schreiben:
* Test your code
* Don't use structures like this
```cpp
//Bad structure
//More bad structures
```
As this will cause problems.
Das funktioniert bei mir nicht mitDas Markup-Tool von GitHub: es erkennt es nicht cpp
als Sprachattribut, sondern behandelt es als erste Codezeile. Die Einrückung macht jedoch einen Unterschied: Mit Ihren zwei Leerzeichen beendet der Codeblock die Aufzählung, während mit meinen vier Leerzeichen der Codeblock und die folgende Textzeile in der Aufzählung verbleiben. Ich denke jedoch, dass dies ein Fehler in meiner Version einer der Abhängigkeiten des Tools ist, da die ```language
Syntax auf Github definitiv unterstützt wird.