我有这个代码(来自的 javascript)列表中支持的语言选项)
\lstset{language=javascript}
\begin{lstlisting}
$('#term').terminal(function(command, terminal) {
var cmd = $.terminal.parseCommand(command);
if (cmd.name == 'echo') {
terminal.echo(cmd.rest);
} else {
terminal.error('Invalid Command');
}
});
\end{lstlisting}
结果如下(使用 pdflatex):
$ ( ’#term’ ) . terminal ( function ( command , terminal ) {
var cmd = $ . terminal . parseCommand ( command ) ;
if ( cmd . name == ’echo’ ) {
terminal . echo ( cmd . rest ) ;
} else {
terminal . error ( ’Invalid Command’ ) ;
}
});
我的配置:
\lstset{
language=JavaScript,
showspaces=false,
extendedchars=false,
showstringspaces=false,
showtabs=false,
keepspaces=false,
}
我怎样才能让它完全像 tex 文件中那样显示?没有空格(如果可能的话也可以'
代替’
)
答案1
这对我有用:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\begin{document}
\lstdefinelanguage{JavaScript}{
keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
keywordstyle=\color{blue}\bfseries,
ndkeywords={class, export, boolean, throw, implements, import, this},
ndkeywordstyle=\color{darkgray}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
morecomment=[s]{/*}{*/},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
morestring=[b]',
morestring=[b]"
}
\lstset{
language=JavaScript,
backgroundcolor=\color{lightgray},
extendedchars=true,
basicstyle=\footnotesize\ttfamily,
showstringspaces=false,
showspaces=false,
numbers=left,
numberstyle=\footnotesize,
numbersep=9pt,
tabsize=2,
breaklines=true,
showtabs=false,
captionpos=b
}
\begin{lstlisting}
$('#term').terminal(function(command, terminal) {
var cmd = $.terminal.parseCommand(command);
if (cmd.name == 'echo') {
terminal.echo(cmd.rest);
} else {
terminal.error('Invalid Command');
}
});
\end{lstlisting}
\end{document}
如果您想更改它,我会一次删除一个部分,或者只是使用环境verbatim
(没有颜色,与文件中的打字机字体完全一样)。