Latex lstinputlisting 行突出显示

Latex lstinputlisting 行突出显示

我正在使用 lstinputlisting 来引用一段源代码,它有一个标题和标签,如下所示。

\lstinputlisting[caption={Caption}, label={code:arbitrary}]{directory/arbitrary}

我希望突出显示源代码的特定行,我尝试研究这个问题并发现有人遇到类似的问题,建议使用\usepackage{lstlinebgrd}

但是,每当我将此包实现到我的 tex 文件中时,都会出现以下错误,

\documentclass[11pt]{report}

未找到文件“fancyhdr.sty”。

编辑:看来,无论我在哪里,\usepackage{lstlinebgrd}下一行都会引发错误,例如如果我这样做

\usepackage{lstlinebgrd}

\usepackage{apacite}

我得到了错误File 'apacite.sty' not found.

编辑2:根据要求,下面是最低限度的工作示例。

\documentclass[11pt]{report}
\usepackage{lstlinebgrd}
\usepackage{apacite}
\usepackage{listings}

\begin{document}
\lstinputlisting[caption={test}, label={test}]{test}
\end{document}

答案1

这里有一个选项:您可以手动指定您想要着色的线条(以及使用什么<colour>\lstcolourline{<colour>}并使用escapechar=<char>将其插入到代码中的相应行中。

在此处输入图片描述

\documentclass{article}

\usepackage{xcolor}
\usepackage{listings}

\newcommand{\lstcolourline}[1]{\rlap{\color{#1}\rule[-.3\baselineskip]{\linewidth}{\baselineskip}}}

\begin{filecontents*}[overwrite]{test.txt}
first line
second line
@\lstcolourline{green!15}@third line
fourth line
@\lstcolourline{red!15}@fifth line
sixth line
\end{filecontents*}

\begin{document}

\lstinputlisting[caption={test},escapechar=@]{test.txt}

\end{document}

相关内容