我想在我的论文中插入一些 C++ 代码,我尝试了很多选项来使代码在我的编辑器中看起来像这样。以下是我目前所做的:
\usepackage{listings}
\usepackage{color}
\definecolor{mygray}{rgb}{0.4,0.4,0.4}
\definecolor{mygreen}{rgb}{0,0.8,0.6}
\definecolor{myorange}{rgb}{1.0,0.4,0}
\lstset{
basicstyle=\footnotesize\sffamily\color{black},
commentstyle=\color{mygray},
frame=single,
numbers=left,
numbersep=5pt,
numberstyle=\tiny\color{mygray},
keywordstyle=\color{mygreen},
showspaces=false,
showstringspaces=false,
stringstyle=\color{myorange},
tabsize=2
}
以下是一段代码:
\begin{lstlisting}[language=C++]{Name=test2}
/*
* Project: ATFOC -> Autonomous Trainer For Object Classification
* Name: Main.cc
* Autor: Bla Blub
* Date: 03.09.2013
* Description: main class for
* 1) executing a web search for images and store them
* 2) and image comparison to filter good from bad samples
*/
#include "stdafx.h"
#include "WebSearch.h"
#include "ImageComparison.h"
using namespace std;
#define NUMBER_OF_IMAGES 50 // default
#define NUMBER_OF_QUERIES 3 // default
int main(int argc, char** argv)
{
vector<string> input_vector;
string input;
uint i;
\end{lstlisting}
您可以看到它的样子:
好的,现在我的问题是预处理器指令与其他关键字一样有颜色,我的问题是:我该如何改变它?
另一个问题是基本数据类型(int、char...)与标准关键字(for、else、return...)具有相同的颜色,我该如何改变它?
如果有任何解决方案,请提前致谢。
编辑:如果可能的话,我还希望彩色单词带有阴影或以某种方式加边框(我的意思是字母有一个细的黑色边框并填充相应的颜色)以使它们更好地可见。
答案1
对于指令样式,使用directivestyle
。
emph
对于 C++ 类型,您可以通过用强调并使用设置样式来改变颜色emphstyle
。
\begin{lstlisting}[language=C++,
directivestyle={\color{black}}
emph={int,char,double,float,unsigned},
emphstyle={\color{blue}}
]
% ...
\end{lstlisting}