我正在使用 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}