Как включить подсветку синтаксиса для встроенного кода Markdown с помощью Pandoc? - PullRequest
0 голосов
/ 20 декабря 2018

В руководстве Pandoc написано:

--no-highlight

Отключает подсветку синтаксиса для блоков кода и строк, даже если задан атрибут языка.

Похоже, что для встроенного кода должна быть подсветка синтаксиса.Но всякий раз, когда я использую встроенный код Markdown, такой как

This is `print("Hello world")` inline code.

, подсветка синтаксиса отсутствует.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

При конвертации Markdown в PDF Pandoc скрытно использует команду \texttt для встроенного кода.Мы можем взломать команду \texttt, чтобы добавить цвет фона для текста.Добавьте следующую команду в head.tex:

\definecolor{bgcolor}{HTML}{E0E0E0}
\let\oldtexttt\texttt

\renewcommand{\texttt}[1]{
  \colorbox{bgcolor}{\oldtexttt{#1}}
}

Чтобы использовать head.tex, используйте параметр -H для pandoc:

pandoc --pdf-engine=xelatex -H head.tex test.md -o test.pdf
0 голосов
/ 20 декабря 2018

Хорошо, следовало бы прочитать немного дальше ... нашел решение.Он называется Расширение: inline_code_attributes:

Атрибуты могут быть прикреплены к дословному тексту, так же, как с изолированными блоками кода:

`<$>`{.haskell}

Таким образом, приведенный выше пример выглядит так:

This is `print("Hello world")`{.python} inline code.

Имеет смысл, если вы подумаете об этом ... Я все равно оставлю это на всякий случай, если у кого-то еще возникнет эта проблема.

...