Как включить подсветку синтаксиса для встроенного кода Markdown с помощью Pandoc?
Руководство Pandoc гласит:
--no-highlight
Отключает подсветку синтаксиса для блоков кода и строк, даже если задан атрибут языка.
Похоже, что для встроенного кода должна быть подсветка синтаксиса. Но всякий раз, когда я использую встроенный код Markdown, как
This is `print("Hello world")` inline code.
нет подсветки синтаксиса.
2 ответа
Ладно, надо было читать чуть дальше... нашел решение. Это называется расширением:inline_code_attributes
:
Атрибуты могут быть прикреплены к дословному тексту, так же как и с изолированными блоками кода:
`<$>`{.haskell}
Таким образом, приведенный выше пример становится:
This is `print("Hello world")`{.python} inline code.
Имеет смысл, если вы подумаете об этом... Я все равно оставлю это на тот случай, если у кого-то еще возникнет эта проблема.
За кулисами, при конвертации 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 --pdf-engine=xelatex -H head.tex test.md -o test.pdf