minted
有没有办法强调代码中的一行(或者其中的一部分) ?
该listings
软件包中有用moredelim
于此目的的 -option。
答案1
正如康拉德·鲁道夫 (Konrad Rudolph) 指出的那样,您无法使用该选项扩展 pygmentize \hl_lines
。
Pygmentize 不支持
hl_lines
LaTeX 格式化程序选项,并且 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 任务的代码。