Как правильно отобразить включенный LaTeX в вывод Pando c PDF? - PullRequest
0 голосов
/ 14 июля 2020

Использование следующих двух файлов:

  • tst.md

    ---
    title: Test case for `pandoc-include` LaTeX bug.
    author: David Banas <capn.freako@gmail.com>
    date: July 9, 2020
    ...
    
    $$
    E = m c^2
    $$
    
    ```include
    inc.md
    ```
    
  • inc.md:

    $$
    E = m c^2
    $$
    

В ответ на заданные pandoc команды я получаю следующее:

  • pandoc -f markdown+smart+tex_math_dollars -o tst.pdf -s --mathjax --filter pandoc-include tst.md

    Pandoc PDF Output

  • pandoc -f markdown+smart+tex_math_dollars -o tst.html -s --mathjax --filter pandoc-include tst.md

    Pando c HTML Вывод

И мне интересно: почему включенный LaTeX правильно отображается в версии HTML, но не в версии PDF?

1 Ответ

0 голосов
/ 14 июля 2020

Похоже, что фильтр не знает формат ввода; он всегда предполагает простую уценку только с самыми базовыми расширениями c и без расширения tex_math_dollars.

Чтобы углубиться немного глубже: глядя на код , мы видим, что readMarkdown вызывается с параметрами чтения по умолчанию def

ioReadMarkdown :: String -> IO(Either PandocError Pandoc)
ioReadMarkdown content = return $! readMarkdown def content

, но, вероятно, его следует вызывать с расширениями pando по умолчанию c для Markdown (def { readerExtensions = pandocExtensions }).

@ amon точно описывает причина разницы PDF / HTML в их комментариях:

Pando c просто выводит математику как $ -внутренний латекс и позволяет MathJax визуализировать его, что он делает путем поиска HTML документ для $ латекса в оболочке.

...