C++ 的最新版本添加了一些新关键字,例如 decltype 等。我想在报告中突出显示它们。我看过这篇文章,但它对我不起作用。
所以我添加了以下代码
\usepackage{listings}
\lstset{emph={%
decltype%
},emphstyle={\color{black}}%
}
但后来我收到错误消息:未定义的控制序列 decltype
当以下列方式使用时:
\begin{lstlisting}
auto f(T1 X, T2 Y) ->
decltype(X<Y)
{}
\end{lstlisting}
答案1
扩展 Stephan 的帖子。为了便于添加要强调的关键字,最好定义一个新的环境和一个命令,例如\emphasis
。这是一个 MWE。
![enter image description here][1]
\documentclass{article}
\usepackage{listings,xcolor}
\begin{document}
%% Emphasis
\newcommand\emphasis[2][red]{%
\lstset{emph={#2},
emphstyle={\ttfamily\textcolor{#1}}}}%
\lstnewenvironment{teX}[1][]
{\lstset{language=[LaTeX]TeX}\lstset{%
escapeinside={{(*@}{@*)}},
breaklines=true,
framesep=5pt,
basicstyle=\ttfamily,
showstringspaces=false,
keywordstyle=\ttfamily\textcolor{blue},
stringstyle=\color{orange},
commentstyle=\color{gray!80},
rulecolor=\color{gray!10},
breakatwhitespace=true,
showspaces=false, % shows spacing symbol
xleftmargin=0pt,
xrightmargin=5pt,
aboveskip=0pt, % compact the code looks ugly in type
belowskip=0pt, % user responsible to insert any skips
backgroundcolor=\color{gray!15}, #1
}}
{}
\emphasis{test,aline}
\begin{teX}
% test
\test
\aline
\end{teX}
and another
\emphasis[blue]{new,aline}
\begin{teX}
\new\aline
\end{teX}
\end{document}
答案2
对我有用。我确实得到了未定义的控制序列错误,但是\color
!
使用
\usepackage{color}
使这对我有用。