强调铸造代码中的行

强调铸造代码中的行

minted有没有办法强调代码中的一行(或者其中的一部分) ?

listings软件包中有用moredelim于此目的的 -option。

答案1

正如康拉德·鲁道夫 (Konrad Rudolph) 指出的那样,您无法使用该选项扩展 pygmentize \hl_lines

Pygmentize 不支持hl_linesLaTeX 格式化程序选项,并且 minted 也不支持,抱歉。

我还有一个建议。你可以使用 tikz 来强调特殊线条。

这里是代码:

\documentclass[letterpaper, 10pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{minted}
\usepackage{tikz}
\usepackage{hyperref}
\def\theFancyVerbLine{%
  \rmfamily\tiny\arabic{FancyVerbLine}%
  {\tikz[remember picture,overlay]\node(minted-\arabic{FancyVerbLine}){};}%
}

\begin{document}

\begin{minted}[linenos]{bash}
#!/bin/bash
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd -P "$( dirname "$SOURCE" )" && pwd )"
java -jar "$DIR/arara.jar" $*
\end{minted}

\tikz[remember picture,overlay]\draw[fill=yellow,opacity=0.2] ([yshift=-0.05cm,xshift=0.3cm]minted-2) rectangle ([yshift=0.35cm,xshift=5.5cm]minted-2);

\end{document}

在此处输入图片描述

答案2

这可以通过正确设置 pygmentize 来实现。minted 软件包不会格式化 pygmentize 任务的代码。

相关内容