diff options
author | Karl Berry <karl@freefriends.org> | 2017-02-10 23:32:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-02-10 23:32:50 +0000 |
commit | 28bfe10fd5a87666dd91f3d56e9015bc8b3ed40e (patch) | |
tree | 48ceeb9026d34e321d78f899d61fbf3ff68a5409 /Master/texmf-dist/tex | |
parent | 03118b4bd76474b4eafb94be4bf22f06d6f7b58e (diff) |
pythonhighlight (9feb17)
git-svn-id: svn://tug.org/texlive/trunk@43191 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/pythonhighlight/pythonhighlight.sty | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/pythonhighlight/pythonhighlight.sty b/Master/texmf-dist/tex/latex/pythonhighlight/pythonhighlight.sty new file mode 100644 index 00000000000..88561ed326f --- /dev/null +++ b/Master/texmf-dist/tex/latex/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]} + |