我正在写一本包含教程的书,我需要展示代码:
Write this:
\begin{verbatim}
function doit() {
console.log("Hello");
}
\end{verbatim}
And then add these lines:
\begin{verbatim}
function doit() {
var s = "Hello";
console.log(s);
}
\end{verbatim}
我想突出显示var s = "Hello";
,以便清楚地看到这是新添加的代码。我想为这段文本设置不同的颜色,以便新行显示为黑色,其余显示为灰色。
我如何实现这个目标?
这是一个非常标准的 LaTeX 文档,所以我没有包含整个文件。fg
答案1
这是一个选项fancyvrb
您可以在其中更改特定行的格式;代码应该是不言自明的:
\documentclass{article}
\usepackage{fancyvrb,xcolor}
\begin{document}
Write this:
\begin{Verbatim}
function doit() {
console.log("Hello");
}
\end{Verbatim}
And then add these lines:
\renewcommand{\FancyVerbFormatLine}[1]{%
\ifnum\value{FancyVerbLine}=2
\textcolor{red}{#1}% Format specific line
\else
#1% Else, do nothing different
\fi
}
\begin{Verbatim}
function doit() {
var s = "Hello";
console.log(s);
}
\end{Verbatim}
\renewcommand{\FancyVerbFormatLine}{}% Clear how lines are formatted differently
\begin{Verbatim}
function doit() {
var s = "Hello";
console.log(s);
}
\end{Verbatim}
\end{document}
它应该适用于基本设置和小代码格式。
答案2
拍摄于: 我如何突出显示源代码中的某些行?
做这个:
\documentclass{article}
\usepackage{soul,listings,xcolor}
\lstnewenvironment{teX}[1][]
{\lstset{language=[LaTeX]TeX}\lstset{escapeinside={(*@}{@*)},
numbers=left,numberstyle=\normalsize,stepnumber=1,numbersep=5pt,
breaklines=true,
%firstnumber=last,
%frame=tblr,
framesep=5pt,
basicstyle=\normalsize\ttfamily,
showstringspaces=false,
keywordstyle=\itshape\color{blue},
%identifierstyle=\ttfamily,
stringstyle=\color{maroon},
commentstyle=\color{black},
rulecolor=\color{black},
xleftmargin=0pt,
xrightmargin=0pt,
aboveskip=\medskipamount,
belowskip=\medskipamount,
backgroundcolor=\color{white}, #1
}}
{}
\begin{document}
Write this:
\begin{teX}
function doit() {
console.log("Hello");
}
\end{teX}
And then add these lines:
\begin{teX}
function doit() {
(*@ \hl{var s = "Hello";} @*)
console.log(s);
}
\end{teX}
\end{document}
收到: