如何使用Pandoc为Markdown内联代码启用语法突出显示?

时间:2018-12-20 14:09:50

标签: markdown syntax-highlighting pandoc

Pandoc manual说:

  

--no-highlight

     

即使给出了语言属性,也禁止对代码块和内联代码使用语法突出显示。

这听起来似乎应该突出显示内联代码的语法。但是每当我使用Markdown内联代码

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

没有语法高亮显示。

2 个答案:

答案 0 :(得分:3)

好的,应该再读一点……找到了解决方案。叫做Extension: inline_code_attributes

  

属性可以附加到逐字记录文本,就像带围栏的代码块一样:

`<$>`{.haskell}

因此上面的示例变为:

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

如果您考虑一下,就可以理解...如果其他人有此问题,我仍然会保留。

答案 1 :(得分:1)

在引擎盖后面,将Markdown转换为PDF时,Pandoc使用\texttt命令获取内联代码。我们可以修改\texttt命令以添加文本的背景色。将以下命令添加到head.tex

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

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

要使用head.tex,请对pandoc使用-H选项:

pandoc --pdf-engine=xelatex -H head.tex test.md -o test.pdf