-
Notifications
You must be signed in to change notification settings - Fork 0
/
listing_styles.sty
128 lines (120 loc) · 3.82 KB
/
listing_styles.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
\makeatletter
\@ifpackageloaded{listings}{%
% source code formatting (CAUTION: listings != listing package)
% Default fixed font does not support bold face
\DeclareFixedFont{\ttb}{T1}{txtt}{bx}{n}{8} % for bold
\DeclareFixedFont{\ttm}{T1}{txtt}{m}{n}{12} % for normal
% Custom colors
\usepackage{color}
\definecolor{deepblue}{rgb}{0,0,0.5}
\definecolor{deepred}{rgb}{0.6,0,0}
\definecolor{deepgreen}{rgb}{0,0.5,0}
\newfontfamily{\couriernew}{Courier New}
\newcommand\cstyle{\lstset{%
language=C,% choose the language of the code
basicstyle=\footnotesize,% the size of the fonts that are used for the code
numbers=left,% where to put the line-numbers
numberstyle=\footnotesize,% the size of the fonts that are used for the line-numbers
stepnumber=2,% the step between two line-numbers. If it's 1 each line will be numbered
numbersep=5pt,% how far the line-numbers are from the code
backgroundcolor=\color{white},% choose the background color. You must add \usepackage{color}
showspaces=false,% show spaces adding particular underscores
showstringspaces=false,% underline spaces within strings
showtabs=false,% show tabs within strings adding particular underscores
%frame=single,% adds a frame around the code
tabsize=4,% sets default tabsize to 2 spaces
captionpos=b,% sets the caption-position to bottom
breaklines=true,% sets automatic line breaking
breakatwhitespace=false,% sets if automatic breaks should only happen at whitespace
title=\lstname,% show the filename of files included with \lstinputlisting; also try caption instead of title
escapeinside={\%*}{*)},% if you want to add a comment within your code
frame=shadowbox,%
rulesepcolor=\color{blue},%
keywordstyle=\color[rgb]{0,0,1},%
commentstyle=\color[rgb]{0.133,0.545,0.133},%
stringstyle=\color[rgb]{0.627,0.126,0.941}%
}}%
\newcommand\pythonstyle{\lstset{%
language=Python,%
basicstyle=\footnotesize\couriernew,%
numbers=left,%
numberstyle=\footnotesize,%
stepnumber=1,%
numbersep=5pt,%
backgroundcolor=\color{white},%
showspaces=false,%
showstringspaces=false,%
showtabs=false,%
%frame=single,%
otherkeywords={self},%
keywordstyle=\ttb\color{deepblue},%
commentstyle=\color[rgb]{0.133,0.545,0.133},%
stringstyle=\color[rgb]{0.627,0.126,0.941},%
%
emph={MyClass,__init__},%
emphstyle=\ttb\color{deepred},%
stringstyle=\color{deepgreen},%
frame=tb,%
showstringspaces=false%
%
tabsize=4,% sets default tabsize to 2 spaces
captionpos=b,% sets the caption-position to bottom
breaklines=true,% sets automatic line breaking
breakatwhitespace=false,% sets if automatic breaks should only happen at whitespace
%title=\lstname,% show the filename of files included with \lstinputlisting; also try caption instead of title
escapeinside={\%*}{*)},%
frame=shadowbox,%
rulesepcolor=\color{blue},%
}}%
\newcommand\promelastyle{\lstset{%
language=Promela,%
basicstyle=\footnotesize\couriernew,%
numbers=left,%
numberstyle=\footnotesize,%
stepnumber=1,%
numbersep=5pt,%
backgroundcolor=\color{white},%
showspaces=false,%
showstringspaces=false,%
showtabs=false,%
%frame=single,%
otherkeywords={self},%
keywordstyle=\ttb\color{deepblue},%
commentstyle=\color[rgb]{0.133,0.545,0.133},%
stringstyle=\color[rgb]{0.627,0.126,0.941},%
stringstyle=\color{deepgreen},%
frame=tb,%
showstringspaces=false%
%
tabsize=4,%
captionpos=b,%
breaklines=true,%
breakatwhitespace=false,%
%title=\lstname,%
escapeinside={\%*}{*)},%
frame=shadowbox,%
rulesepcolor=\color{blue},%
}}%
\newcommand{\matlabstyle}{
%
}%
% Python for external files
\newcommand\inputcode[2][\undefined]{%
\ifx#1c%
\cstyle%
\fi%
\ifx#1promela%
\promelastyle%
\fi%
\ifx#1python%
\pythonstyle%
\fi%
\ifx#1matlab%
\matlabstyle%
\fi%
\lstinputlisting{#2}%
}%
}{%
%skip
}%
\makeatother