【发布时间】:2019-05-21 01:41:27
【问题描述】:
--no-highlight禁用代码块和内联的语法突出显示,即使给出了语言属性。
听起来内联代码应该有语法高亮。但是每当我使用 Markdown 内联代码时,就像
This is `print("Hello world")` inline code.
没有语法高亮显示。
【问题讨论】:
标签: markdown syntax-highlighting pandoc
--no-highlight禁用代码块和内联的语法突出显示,即使给出了语言属性。
听起来内联代码应该有语法高亮。但是每当我使用 Markdown 内联代码时,就像
This is `print("Hello world")` inline code.
没有语法高亮显示。
【问题讨论】:
标签: markdown syntax-highlighting pandoc
好的,应该进一步阅读...找到解决方案。它叫Extension: 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,请使用 pandoc 的 -H 选项:
pandoc --pdf-engine=xelatex -H head.tex test.md -o test.pdf
【讨论】:
\lstinline 命令进行内联代码——至少这是我的经验。
\texttt 仍然用于渲染 Markdown 的内联代码。要进行验证,请创建一个仅包含内联代码的 Markdown。然后使用pandoc -s -t latex test.md -o test.tex 生成中间LaTeX 文件。检查 LaTeX 文件。你在看什么,\lstinline 或 \texttt?