summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/pythonhighlight/pythonhighlight.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/pythonhighlight/pythonhighlight.sty')
-rw-r--r--macros/latex/contrib/pythonhighlight/pythonhighlight.sty139
1 files changed, 139 insertions, 0 deletions
diff --git a/macros/latex/contrib/pythonhighlight/pythonhighlight.sty b/macros/latex/contrib/pythonhighlight/pythonhighlight.sty
new file mode 100644
index 0000000000..88561ed326
--- /dev/null
+++ b/macros/latex/contrib/pythonhighlight/pythonhighlight.sty
@@ -0,0 +1,139 @@
+% Copyright 2009--2017 by Olivier Verdier
+% License: see the file LICENSE.rst
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pythonhighlight}[2017/02/09 python code highlighting; provided by Olivier Verdier <olivier.verdier@gmail.com>]
+
+
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+
+\renewcommand*{\lstlistlistingname}{Code Listings}
+\renewcommand*{\lstlistingname}{Code Listing}
+\definecolor{gray}{gray}{0.5}
+\colorlet{commentcolour}{green!50!black}
+
+\colorlet{stringcolour}{red!60!black}
+\colorlet{keywordcolour}{magenta!90!black}
+\colorlet{exceptioncolour}{yellow!50!red}
+\colorlet{commandcolour}{blue!60!black}
+\colorlet{numpycolour}{blue!60!green}
+\colorlet{literatecolour}{magenta!90!black}
+\colorlet{promptcolour}{green!50!black}
+\colorlet{specmethodcolour}{violet}
+
+\newcommand*{\framemargin}{3ex}
+
+\newcommand*{\literatecolour}{\textcolor{literatecolour}}
+
+\newcommand*{\pythonprompt}{\textcolor{promptcolour}{{>}{>}{>}}}
+
+\lstdefinestyle{mypython}{
+%\lstset{
+%keepspaces=true,
+language=python,
+showtabs=true,
+tab=,
+tabsize=2,
+basicstyle=\ttfamily\footnotesize,%\setstretch{.5},
+stringstyle=\color{stringcolour},
+showstringspaces=false,
+alsoletter={1234567890},
+otherkeywords={\%, \}, \{, \&, \|},
+keywordstyle=\color{keywordcolour}\bfseries,
+emph={and,break,class,continue,def,yield,del,elif ,else,%
+except,exec,finally,for,from,global,if,import,in,%
+lambda,not,or,pass,print,raise,return,try,while,assert,with},
+emphstyle=\color{blue}\bfseries,
+emph={[2]True, False, None},
+emphstyle=[2]\color{keywordcolour},
+emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,set,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr},
+emphstyle=[3]\color{commandcolour},
+emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError},
+emphstyle=\color{exceptioncolour}\bfseries,
+%upquote=true,
+morecomment=[s]{"""}{"""},
+commentstyle=\color{commentcolour}\slshape,
+%emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0},
+emph={[4]ode, fsolve, sqrt, exp, sin, cos,arctan, arctan2, arccos, pi, array, norm, solve, dot, arange, isscalar, max, sum, flatten, shape, reshape, find, any, all, abs, plot, linspace, legend, quad, polyval,polyfit, hstack, concatenate,vstack,column_stack,empty,zeros,ones,rand,vander,grid,pcolor,eig,eigs,eigvals,svd,qr,tan,det,logspace,roll,min,mean,cumsum,cumprod,diff,vectorize,lstsq,cla,eye,xlabel,ylabel,squeeze},
+emphstyle=[4]\color{numpycolour},
+emph={[5]__init__,__add__,__mul__,__div__,__sub__,__call__,__getitem__,__setitem__,__eq__,__ne__,__nonzero__,__rmul__,__radd__,__repr__,__str__,__get__,__truediv__,__pow__,__name__,__future__,__all__},
+emphstyle=[5]\color{specmethodcolour},
+emph={[6]assert,yield},
+emphstyle=[6]\color{keywordcolour}\bfseries,
+emph={[7]range},
+emphstyle={[7]\color{keywordcolour}\bfseries},
+% emph={[7]self},
+% emphstyle=[7]\bfseries,
+literate=*%
+{:}{{\literatecolour:}}{1}%
+{=}{{\literatecolour=}}{1}%
+{-}{{\literatecolour-}}{1}%
+{+}{{\literatecolour+}}{1}%
+{*}{{\literatecolour*}}{1}%
+{**}{{\literatecolour{**}}}2%
+{/}{{\literatecolour/}}{1}%
+{//}{{\literatecolour{//}}}2%
+{!}{{\literatecolour!}}{1}%
+%{(}{{\literatecolour(}}{1}%
+%{)}{{\literatecolour)}}{1}%
+{[}{{\literatecolour[}}{1}%
+{]}{{\literatecolour]}}{1}%
+{<}{{\literatecolour<}}{1}%
+{>}{{\literatecolour>}}{1}%
+{>>>}{\pythonprompt}{3}%
+,%
+%aboveskip=.5ex,
+frame=trbl,
+%frameround=tttt,
+%framesep=.3ex,
+rulecolor=\color{black!40},
+%framexleftmargin=\framemargin,
+%framextopmargin=.1ex,
+%framexbottommargin=.1ex,
+%framexrightmargin=\framemargin,
+%framexleftmargin=1mm, framextopmargin=1mm, frame=shadowbox, rulesepcolor=\color{blue},#1
+%frame=tb,
+backgroundcolor=\color{white},
+breakindent=.5\textwidth,frame=single,breaklines=true%
+%}
+}
+
+\newcommand*{\inputpython}[3]{\lstinputlisting[firstline=#2,lastline=#3,firstnumber=#2,frame=single,breakindent=.5\textwidth,frame=single,breaklines=true,style=mypython]{#1}}
+
+\lstnewenvironment{python}[1][]{\lstset{style=mypython}}{}
+
+\lstdefinestyle{mypythoninline}{
+style=mypython,%
+basicstyle=\ttfamily,%
+keywordstyle=\color{keywordcolour},%
+emphstyle={[7]\color{keywordcolour}},%
+emphstyle=\color{exceptioncolour},%
+literate=*%
+{:}{{\literatecolour:}}{2}%
+{=}{{\literatecolour=}}{2}%
+{-}{{\literatecolour-}}{2}%
+{+}{{\literatecolour+}}{2}%
+{*}{{\literatecolour*}}2%
+{**}{{\literatecolour{**}}}3%
+{/}{{\literatecolour/}}{2}%
+{//}{{\literatecolour{//}}}{2}%
+{!}{{\literatecolour!}}{2}%
+%{(}{{\literatecolour(}}{2}%
+%{)}{{\literatecolour)}}{2}%
+{[}{{\literatecolour[}}{2}%
+{]}{{\literatecolour]}}{2}%
+{<}{{\literatecolour<}}{2}%
+{<=}{{\literatecolour{<=}}}3%
+{>}{{\literatecolour>}}{2}%
+{>=}{{\literatecolour{>=}}}3%
+{==}{{\literatecolour{==}}}3%
+{!=}{{\literatecolour{!=}}}3%
+{+=}{{\literatecolour{+=}}}3%
+{-=}{{\literatecolour{-=}}}3%
+{*=}{{\literatecolour{*=}}}3%
+{/=}{{\literatecolour{/=}}}3%
+%% emphstyle=\color{blue},%
+}
+
+\newcommand*{\pyth}{\lstinline[style=mypythoninline]}
+