使用 pandoc 将 Markdown 转换为 pdf:如何获取由单个反勾号框起的代码的颜色

使用 pandoc 将 Markdown 转换为 pdf:如何获取由单个反勾号框起的代码的颜色

.md为了打印.pdf,我使用 pandoc。(这要归功于这个论坛的许多贡献者。感谢他们)
问题= 我希望(在 pdf 中)代码具有相同的背景颜色,无论我使用三重反引号还是简单反引号,
例如:
`代码被一个反引号包围 = 没有背景颜色`

``` code with tree backticks = background color OK ```

我是 Latex 的新手,如果我可以得到一些帮助......

我的设置

  • 我的命令:
#!/bin/bash

pandoc "$1" \
    --include-in-header inline_code.tex \
    --include-in-header listings-setup.tex \
    -V linkcolor:blue \
    -V geometry:a4paper \
    -V geometry:margin=2cm \
    -V mainfont="DejaVu Serif" \
    -V monofont="Space Mono" \
    --listings \
    --pdf-engine=xelatex \
    -o "$2"
  • listings-setup.tex使用的文件--listings
\usepackage{xcolor}

\lstset{
    basicstyle=\ttfamily,
    extendedchars=true
    numbers=left,
    numberstyle=\tiny\ttfamily,
    backgroundcolor=\color[RGB]{248,197,196},
    showstringspaces=false,
    tabsize=2,
    columns=fixed,
    frame=trbl,
    frameround=tttt,
    framesep=7pt,
    breaklines=true,
    postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}},

  • 文件inline_code.tex
\definecolor{Light}{HTML}{F4F4F4}

\let\oldtexttt\texttt
\renewcommand{\texttt}[1]{
  \colorbox{Light}{\oldtexttt{#1}}
}

通过一张图片更容易理解我的蹩脚英语: 在此处输入图片描述

答案1

--listings由于pandoc选项\lstinline用于内联代码(不是\texttt),所以你必须修补\lstlinsting。你可以用 egreg 的代码来做到这一点这里.下面的代码取代您中的代码listings-setup.tex(您不再需要inline_code.tex,因为它已全部通过列表完成):

\usepackage{xpatch,realboxes}
\usepackage{xcolor}
\definecolor{Light}{HTML}{F4F4F4}

\lstset{
    basicstyle=\ttfamily,
    extendedchars=true
    numbers=left,
    numberstyle=\tiny\ttfamily,
    backgroundcolor=\color[RGB]{248,197,196},
    showstringspaces=false,
    tabsize=2,
    columns=fixed,
    frame=trbl,
    frameround=tttt,
    framesep=7pt,
    breaklines=true, postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}}
}


\makeatletter
\xpretocmd\lstinline{\Colorbox{Light}\bgroup\appto\lst@DeInit{\egroup}}{}{}
\makeatother

立即致电

pandoc infile.md \
    --include-in-header listings-setup.tex \
    -V linkcolor:blue \
    -V geometry:a4paper \
    -V geometry:margin=2cm \
    -V mainfont="DejaVu Serif" \
    -V monofont="Space Mono" \
    --listings \
    --pdf-engine=xelatex \
    -o outfile.pdf

结果如下:

在此处输入图片描述

相关内容