From 0496ecca9c71d30e1d60d7e794ebd5630b5d4f65 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Mon, 29 Feb 2016 16:19:02 -0600 Subject: [PATCH] Add missing files for previous release papers. --- 8.2/ansarticle.cls | 147 +++++++ 8.2/anslistings.sty | 442 ++++++++++++++++++++++ 8.3/figures/83_cuthill_mckee_ordering.png | Bin 0 -> 40390 bytes 8.3/figures/83_hierarchical_ordering.png | Bin 0 -> 17759 bytes 4 files changed, 589 insertions(+) create mode 100644 8.2/ansarticle.cls create mode 100644 8.2/anslistings.sty create mode 100644 8.3/figures/83_cuthill_mckee_ordering.png create mode 100644 8.3/figures/83_hierarchical_ordering.png diff --git a/8.2/ansarticle.cls b/8.2/ansarticle.cls new file mode 100644 index 0000000..a8007ff --- /dev/null +++ b/8.2/ansarticle.cls @@ -0,0 +1,147 @@ +% $Id: ansarticle.cls 2730 2011-06-03 09:53:18Z logg $ + +% FIXME: (AL) Need to choose a license for this style, I suggest GFDL + +% Basic setup +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ansarticle} +\LoadClass[twoside,a4paper]{article} + +% Load packages +\RequirePackage{a4wide} +\RequirePackage{anslistings} +\RequirePackage{algorithm,algorithmicx,algpseudocode} +\RequirePackage{amsmath,amssymb} +\RequirePackage[noblocks]{authblk} +\RequirePackage{booktabs} +\RequirePackage{fancyhdr} +\RequirePackage{graphicx} +\RequirePackage[hyperfootnotes=false,colorlinks,linkcolor=blue,urlcolor=blue,citecolor=blue]{hyperref} +\RequirePackage{natbib} + +\RequirePackage{lastpage} +\RequirePackage{listings} +\RequirePackage[colorinlistoftodos,textwidth=4cm,shadow]{todonotes} + + +% Font selection +\RequirePackage[T1]{fontenc} +\RequirePackage{ae,aecompl} +\RequirePackage{pxfonts} % Palatino for running text and math +\renewcommand{\sfdefault}{pag} % Avantgarde for sans serif (section headings) + +% Section headings +\renewcommand{\section}{% + \@startsection{section}{0}{0pt}{2ex}{1ex}{\large\bf\sffamily}} +\renewcommand{\subsection}{% + \@startsection{subsection}{1}{0pt}{\baselineskip}{.5ex}{\bf\sffamily}} +\renewcommand{\subsubsection}{% + \@startsection{subsubsection}{2}{0pt}{\baselineskip}{-1em}{\bf\sffamily}} +\renewcommand{\paragraph}{% + \@startsection{paragraph}{3}{0pt}{0ex}{-0.5em}{\bf\sffamily}} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{4}{0pt}{0ex}{-0.5em}{\bf\sffamily}} +\setcounter{secnumdepth}{10} + +% Paragraphs +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex plus 2ex} + +% Running title and author +\let\@runningtitle\@empty +\let\@runningauthor\@empty +\newcommand{\runningtitle}[1]{\gdef\@runningtitle{#1}} +\newcommand{\runningauthor}[1]{\gdef\@runningauthor{#1}} + +% Formatting volume and article number +\newread\datafile +\openin\datafile=ansinfo +\ifeof\datafile +\message{File datafile.tex with volume, number, and year is missing} +\def\ANSreceived{never} +\def\ANSrevised{never} +\def\ANSaccepted{never} +\def\ANSpublished{never} +\def\ANSvolume{VV} +\def\ANSnumber{NN} +\def\ANSyear{1677} +\else +\closein\datafile +\input{ansinfo} +\fi + +% Page headers and footers +\fancyhead[RO, LE]{\thepage} +\fancyhead[LO]{\@runningtitle} +\fancyhead[RE]{\@runningauthor} +\fancyfoot[RE,LO]{% + \footnotesize \copyright{} by the authors, \ANSyear} +\fancyfoot[RO,LE]{% + \footnotesize Archive of Numerical Software \ANSvolume(\ANSnumber), \ANSyear} +\fancyfoot[C]{} +\renewcommand{\headrulewidth}{0pt} +\pagestyle{fancy} + +% Front matter +\renewcommand*{\title}[2][]{\gdef\s@title{#1}\gdef\@title{#2}} +\renewcommand{\Authfont}{\large\sffamily} +\renewcommand{\Affilfont}{\normalsize\sffamily} +\renewcommand{\maketitle}{ + % Footnote stuff + \let\footnotesize\small + \def\footnoterule{\vspace*{-3pt}\rule{.4\columnwidth}{.4pt}\vspace*{2.6pt}} + \renewcommand\thefootnote{\sffamily\@fnsymbol\c@footnote} + \let\footnote\thanks + % Title + \hfill\fboxrule2pt\fboxsep3mm\fbox{\parbox{5cm}{\centering + Archive of Numerical Software\\ + vol. \ANSvolume, no. \ANSnumber, pages 1--\pageref*{LastPage}\\ + \copyright{} \ANSyear}} + \vskip 60\p@ + \begin{center} + {\LARGE \textsf{\textbf{\@title}} \par} + \vskip 8mm + {\large \lineskip .75em \textsf{\@author} } + \vskip 4mm + \end{center}\par + % Affiliation stuff + \@thanks + % Paper received + \vskip 3mm + \textbf{\sffamily Received: }\ANSreceived; + \textbf{\sffamily final revision:} \ANSrevised; + \textbf{\sffamily published:} \ANSpublished. + % Some more fixes + \vskip 3mm + \setcounter{footnote}{0}% + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\title\relax + \global\let\author\relax + \global\let\date\relax + \global\let\and\relax + % No headers/footers on front page + \thispagestyle{empty} +} + +% Abstract heading +\renewenvironment{abstract}{\textsf{\textbf{Abstract: }}}{} + +% Useful macro +\newcommand{\fixme}[1]{\todo[inline, color=red!40]{#1}} + +% Some useful notation macros +\newcommand{\R}{\mathbb{R}} +\newcommand{\dx}{\,\mathrm{d}x} +\newcommand{\dX}{\,\mathrm{d}X} +\newcommand{\ds}{\,\mathrm{d}s} +\newcommand{\dS}{\,\mathrm{d}S} +\newcommand{\dt}{\,\mathrm{d}t} +\newcommand{\inner}[2]{\langle #1, #2 \rangle} +\newcommand{\nedelec}{N\'ed\'elec} +\newcommand{\babuska}{Babu\v{s}ka} +\newcommand{\emp}[1]{\texttt{#1}} diff --git a/8.2/anslistings.sty b/8.2/anslistings.sty new file mode 100644 index 0000000..030301c --- /dev/null +++ b/8.2/anslistings.sty @@ -0,0 +1,442 @@ +%% Listings environments for Archive of Numerical Software. +%% +%% The following listings environments are provided: +%% +%% c++ for C++ code +%% python for Python code +%% cython for Cython code +%% xml for XML code +%% bash for BASH code +%% swigcode for SWIG code +%% uflcode for UFL code +%% matlab for MATLAB code +%% anycode for generic code +%% progoutput for program output +%% gencode for generated code +%% latexcode for LaTeX code +%% fortran for FORTRAN code +%% +%% This style file is based on original work by Olivier Verdier +%% (pythonhighlight.sty), +%% with contributions from Johan Hake . +%% +%% Modified for ANS by Anders Logg , 2011. +%% +%% Modified by Hans Petter Langtangen , 2011, to +%% have pairs c++ (with C++ title) and c++:nt (no title), +%% python and python:nt, etc. (It is not always desirable to +%% have a title with the language.) Added Cython and Fortran style. +%% +%% First added: 2011-05-16 +%% Last modified: 2011-06-03 + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{anslistings}[2009/03/28 code highlighting; provided by Olivier Verdier ] + +% Load required packages +\RequirePackage{listings} +\RequirePackage{xcolor} + +% Basic setup +\renewcommand{\lstlistlistingname}{Code Listings} +\renewcommand{\lstlistingname}{Code Listing} +\newcommand{\codetitlestyle}[1]{\hspace{9cm}\small\textit{#1}\hspace{0.1cm}} +%\newcommand{\codetitlestyle}[1]{\small\textit{#1}\hspace{0.1cm}} +\newcommand{\belowtitleskip}{2pt} +\newcommand{\captionposition}{t} +\newcommand{\framemargin}{0.5ex} +\newcommand{\literatecolour}{\textcolor{literatecolour}} + +% Colors +\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} +\colorlet{indendifiercolour}{green!70!white} + +% Define the common style to be shared by all languages +\lstdefinestyle{c@mmon}{% +showtabs=true, % show tabs in strings using underscore +tab=, +tabsize=2, % tab means 2 spaces +basicstyle=\ttfamily\footnotesize, % fonts used for the code +breaklines=true, % break lines +breakatwhitespace=true, % let linebreaks happen at whitespace +showspaces=false, % true: show spaces with a particular underscore +aboveskip=1ex, +frame=trbl, % top+right+bottom+left (TB draws double lines at top + bottom) +%framerule=0.4pt % thickness of frame +rulecolor=\color{black}, % frame color +backgroundcolor=\color{yellow!10}, +xleftmargin=5pt, +xrightmargin=5pt, +%numbers=left, % put line numbers on the left +%stepnumber=2, % stepnumber=1 numbers each line, =n every n lines +} +\lstset{style=c@mmon} + +%--- Typesetting LaTeX --- +\lstnewenvironment{latexcode}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{} +\newcommand{\inputlatex}[1]{\lstset{language=[LaTeX]TeX,style=c@mmon}% + \lstinputlisting{#1}} +\lstnewenvironment{latexcode:nt}{\lstset{language=[LaTeX]TeX,style=c@mmon}}{} + +%--- C++ --- + +\lstdefinestyle{cppstyle}{ +language=c++, +style=c@mmon, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +keywordstyle=\color{keywordcolour}\bfseries, +emph={auto,const,struct,% +break,continue,else,for,switch,void,% +case,default,enum,goto,register,sizeof,typedef,% +char,do,extern,if,return,static,union,while,% +asm,dynamic_cast,namespace,reinterpret_cast,try,% +bool,explicit,new,static_cast,typeid,volatile,% +catch,operator,template,typename,% +class,friend,private,this,using,% +const_cast,inline,public,throw,virtual,% +delete,mutable,protected,wchar_t,% +or,and,xor,not,assert}, +emphstyle=\color{blue}\bfseries, +emph={[2]true, false, NULL}, +emphstyle=[2]\color{keywordcolour}, +emph={[3]double,float,int,short,unsigned,long,signed}, +emphstyle=[3]\color{blue}, +emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, +emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,% +exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod}, +emphstyle=[4]\color{numpycolour}, +literate=*% +{:}{{\literatecolour:}}{1}% +{=}{{\literatecolour=}}{1}% +{-}{{\literatecolour-}}{1}% +{+}{{\literatecolour+}}{1}% +{*}{{\literatecolour*}}{1}% +{!}{{\literatecolour!}}{1}% +{[}{{\literatecolour[}}{1}% +{]}{{\literatecolour]}}{1}% +{<}{{\literatecolour<}}{1}% +{>}{{\literatecolour>}}{1}% +{>>>}{{\textcolor{promptcolour}{>>>}}}{1}% +,% +commentstyle=\color{commentcolour}\slshape, +morecomment=[l][commentstyle]{//}, +morecomment=[s][commentstyle]{/*}{*/}, +morestring=[b][stringstyle]", +morestring=[d][stringstyle]' +} + +\newcommand{\inputcpp}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{c++}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{C++ code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{c++:nt}[1][]{\lstset{style=cppstyle}}{} +\newcommand{\cppinline}{\lstinline[style=cppstyle,basicstyle=\ttfamily]} + +%--- Python and Cython --- + + \lstdefinestyle{pythonstyle}{ + language=python, + showtabs=true, + tab=, + tabsize=2, + basicstyle=\ttfamily\footnotesize, + 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}, + emphstyle=\color{blue}\bfseries, + emph={[2]True, False, None}, + emphstyle=[2]\color{keywordcolour}, + emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,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, + commentstyle=\color{commentcolour}\slshape, + emph={[4]ode, fsolve, sqrt, exp, sin, cos, 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,range,yield}, + emphstyle=[6]\color{keywordcolour}\bfseries, + literate=*% + {:}{{\literatecolour:}}{1}% + {=}{{\literatecolour=}}{1}% + {-}{{\literatecolour-}}{1}% + {+}{{\literatecolour+}}{1}% + {*}{{\literatecolour*}}{1}% + {/}{{\literatecolour/}}{1}% + {!}{{\literatecolour!}}{1}% + {[}{{\literatecolour[}}{1}% + {]}{{\literatecolour]}}{1}% + {<}{{\literatecolour<}}{1}% + {>}{{\literatecolour>}}{1}% + {>>>}{{\textcolor{promptcolour}{>>>}}}{1}% + ,% + breaklines=true, + breakatwhitespace= true, + aboveskip=1ex, + frame=trbl, + framesep=.3ex, + rulecolor=\color{black!40}, + backgroundcolor=\color{yellow!10} +} + + + \lstdefinestyle{cythonstyle}{ + language=cython, + showtabs=true, + tab=, + tabsize=2, + basicstyle=\ttfamily\footnotesize, + stringstyle=\color{stringcolour}, + showstringspaces=false, + alsoletter={1234567890}, + otherkeywords={\ , \}, \{, \%, \&, \|}, + keywordstyle=\color{keywordcolour}\bfseries, + emph={and,break,class,continue,def,cdef,cpdef,yield,del,elif ,else,% + except,exec,finally,for,from,global,if,import,in,% + lambda,not,or,pass,print,raise,return,try,while,assert,cdef,cpdef}, + emphstyle=\color{blue}\bfseries, + emph={[2]True, False, None}, + emphstyle=[2]\color{keywordcolour}, + emph={[3]object,type,isinstance,copy,deepcopy,zip,enumerate,reversed,list,len,dict,tuple,xrange,append,execfile,real,imag,reduce,str,repr,float,int,ndarray,complex,double}, + emphstyle=[3]\color{commandcolour}, + emph={Exception,NameError,IndexError,SyntaxError,TypeError,ValueError,OverflowError,ZeroDivisionError}, + emphstyle=\color{exceptioncolour}\bfseries, + commentstyle=\color{commentcolour}\slshape, + emph={[4]ode, fsolve, sqrt, exp, sin, cos, 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,range,yield}, + emphstyle=[6]\color{keywordcolour}\bfseries, + literate=*% + {:}{{\literatecolour:}}{1}% + {=}{{\literatecolour=}}{1}% + {-}{{\literatecolour-}}{1}% + {+}{{\literatecolour+}}{1}% + {*}{{\literatecolour*}}{1}% + {/}{{\literatecolour/}}{1}% + {!}{{\literatecolour!}}{1}% + {[}{{\literatecolour[}}{1}% + {]}{{\literatecolour]}}{1}% + {<}{{\literatecolour<}}{1}% + {>}{{\literatecolour>}}{1}% + {>>>}{{\textcolor{promptcolour}{>>>}}}{1}% + ,% + breaklines=true, + breakatwhitespace= true, + aboveskip=1ex, + frame=trbl, + framesep=.3ex, + rulecolor=\color{black!40}, + backgroundcolor=\color{yellow!10} +} + +\newcommand{\inputpython}[1]{\lstinputlisting[style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{} +%\lstnewenvironment{python}[1][]{\lstset{style=pythonstyle,title={\codetitlestyle{Python code }},belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{python:nt}[1][]{\lstset{style=pythonstyle}}{} +\newcommand{\pythoninline}{\lstinline[style=pythonstyle,basicstyle=\ttfamily]} + + +\newcommand{\inputcython}[1]{\lstinputlisting[style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{cython}[1][]{\lstset{style=cythonstyle,title={\codetitlestyle{Cython code }},belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{cython:nt}[1][]{\lstset{style=cythonstyle}}{} +\newcommand{\cythoninline}{\lstinline[style=cythonstyle,basicstyle=\ttfamily]} + +%--- FORTRAN --- + +% Note: this is basically FORTRAN 77, not 90, 95, 2003/2008. +\lstdefinestyle{fortranstyle}{ +language=fortran, +style=c@mmon, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +keywordstyle=\color{keywordcolour}\bfseries, +emph={auto,do,while,if,else,end,endif,enddo,% +subroutine,function,format,program}, +emphstyle=\color{blue}\bfseries, +emphstyle=[2]\color{keywordcolour}, +emph={[3]double,real,precision,integer,logical}, +emphstyle=[3]\color{blue}, +emph={[4]1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, +emph={[4]cos,sin,tan,acos,asin,atan,atan2,cosh,sinh,tanh,% +exp,frexp,ldexp,log,log10,modf,pow,sqrt,ceil,fabs,floor,fmod}, +emphstyle=[4]\color{numpycolour}, +literate=*% +{:}{{\literatecolour:}}{1}% +{=}{{\literatecolour=}}{1}% +{-}{{\literatecolour-}}{1}% +{+}{{\literatecolour+}}{1}% +{*}{{\literatecolour*}}{1}% +{!}{{\literatecolour!}}{1}% +{[}{{\literatecolour[}}{1}% +{]}{{\literatecolour]}}{1}% +{<}{{\literatecolour<}}{1}% +{>}{{\literatecolour>}}{1}% +,% +commentstyle=\color{commentcolour}\slshape, +morecomment=[l][commentstyle]{C}, % need ! as well for F90 +morestring=[b][stringstyle]", +morestring=[d][stringstyle]' +} + +\newcommand{\inputfortran}[1]{\lstinputlisting[style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{fortran}[1][]{\lstset{style=fortranstyle, title={\codetitlestyle{FORTRAN code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{fortran:nt}[1][]{\lstset{style=fortranstyle}}{} +\newcommand{\fortraninline}{\lstinline[style=fortranstyle,basicstyle=\ttfamily]} + + +%--- XML --- + +\lstdefinestyle{xmlstyle}{ +language=xml, +showtabs=true, +tab=, +tabsize=2, +basicstyle=\ttfamily\footnotesize, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +emphstyle=\color{exceptioncolour}\bfseries, +commentstyle=\color{commentcolour}\slshape, +breaklines=true, +breakatwhitespace= true, +aboveskip=1ex, +frame=trbl, +framesep=.3ex, +rulecolor=\color{black!40}, +backgroundcolor=\color{yellow!10} +} + +\newcommand{\inputxml}[1]{\lstinputlisting[style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{xml}[1][]{\lstset{style=xmlstyle, title={\codetitlestyle{XML code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{xml:nt}[1][]{\lstset{style=xmlstyle}}{} + +%--- Typesetting Bash --- + +\lstdefinestyle{bashstyle}{ +language=bash, +showtabs=true, +tab=, +tabsize=2, +basicstyle=\ttfamily\footnotesize, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +otherkeywords={\ , \}, \{, \%, \&, \|}, +emphstyle=\color{exceptioncolour}\bfseries, +commentstyle=\color{commentcolour}\slshape, +breaklines=true, +breakatwhitespace= true, +aboveskip=1ex, +frame=trbl, +framesep=.3ex, +rulecolor=\color{black!40}, +backgroundcolor=\color{yellow!10} +} + +\newcommand{\inputbash}[1]{\lstinputlisting[style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{bash}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Bash code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{bash:nt}[1][]{\lstset{style=bashstyle}}{} +\lstnewenvironment{csh}[1][]{\lstset{style=bashstyle, title={\codetitlestyle{Csh code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{csh:nt}[1][]{\lstset{style=bashstyle}}{} + +%--- SWIG --- + +\newcommand{\inputswig}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{swigcode}[1][]{\lstset{style=cppstyle, title={\codetitlestyle{SWIG code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{swigcode:nt}[1][]{\lstset{style=cppstyle}}{} + +%--- UFL --- + +\newcommand{\inputufl}[1]{\lstinputlisting[style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{uflcode}[1][]{\lstset{style=pythonstyle, title={\codetitlestyle{UFL code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{uflcode:nt}[1][]{\lstset{style=pythonstyle}}{} + +%--- MATLAB --- + +% Note: problem with too large width of frame +\lstnewenvironment{matlab}[1][]{ +\lstset{ +language=matlab, +basicstyle=\ttfamily\small, +backgroundcolor=\color{yellow!10} +frame=trbl, +rulecolor=\color{black!40}, +emphstyle=\color{blue}, +commentstyle=\color{commentcolour}\slshape, +keywordstyle=\color{keywordcolour}\bfseries, +}}{} + +%--- Other --- + +\lstdefinestyle{anycodestyle}{ +language=bash, +showtabs=true, +tab=, +tabsize=2, +basicstyle=\ttfamily\footnotesize, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +emphstyle=\color{exceptioncolour}\bfseries, +commentstyle=\color{commentcolour}\slshape, +breaklines=true, +breakatwhitespace= true, +aboveskip=1ex, +frame=trbl, +framesep=.3ex, +rulecolor=\color{black!40}, +backgroundcolor=\color{yellow!10} +} + +\newcommand{\inputanycode}[1]{\lstinputlisting[style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{anycode}[1][]{\lstset{style=anycodestyle, title={\codetitlestyle{Code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{anycode:nt}[1][]{\lstset{style=anycodestyle}}{} + +%--- Output from running programs --- + +\lstnewenvironment{progoutput}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Output}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{progoutput:nt}[1][]{\lstset{style=gencodestyle}}{} + +%--- Generated code --- + +\lstdefinestyle{gencodestyle}{ +language=bash, +showtabs=true, +tab=, +tabsize=2, +basicstyle=\ttfamily\footnotesize, +stringstyle=\color{stringcolour}, +showstringspaces=false, +alsoletter={1234567890}, +emphstyle=\color{exceptioncolour}\bfseries, +commentstyle=\color{commentcolour}\slshape, +breaklines=true, +breakatwhitespace= true, +aboveskip=1ex, +frame=trbl, +framesep=.3ex, +rulecolor=\color{black!40}, +backgroundcolor=\color{yellow!10} +} + +\newcommand{\inputgencode}[1]{\lstinputlisting[style=cppstyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip]{#1}} +\lstnewenvironment{gencode}[1][]{\lstset{style=gencodestyle, title={\codetitlestyle{Generated code}}, belowcaptionskip=\belowtitleskip}}{} +\lstnewenvironment{gencode:nt}[1][]{\lstset{style=gencodestyle}}{} diff --git a/8.3/figures/83_cuthill_mckee_ordering.png b/8.3/figures/83_cuthill_mckee_ordering.png new file mode 100644 index 0000000000000000000000000000000000000000..ca043cfc068d36335ae755230f67becc5644f59f GIT binary patch literal 40390 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˥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 Evxx56azChX@ALR>@ScgZHd6YZ-VN2S?PfwP z%StnIZmy5!{@9D2?C><7c)+S~m-UL!?)5vFC6+=t`T|Oh5VyH-vL>-@J;JW;x5FK; z%8{2I6bUWPaex!T#*6%Z^@p4^;@3@5z^i1+#j)02hvccVX!Q-Ly?;tj+!g{|657J5%@-cXIj1S8UFk#um1~A3P^v|2-Ub|?kZ;>@v6w&TSo&$$2e{i8F76Z% zarof!*X#8F2LCXBt2d`XbTCVCYe1A*UE0Z)j7`R@= zyX^>{5NS@;9N#2zBwdd^w@_5C7a_)?Bp=!n; z$Zv&3Lcp4<6RE^nY6$$%n6Si-?l~vs{+N{UHY_F2=QLYKgAgf$oU6vX0<-H`P|J-J zM#hZ%s-Ox_DbNcOM>H3$6}G09G!z-2_w##uxuC|+#*f-S??^6(nH#L#Nls}a!U(mz z8S-PTIFVk)cCO? z+Ax5rh%DrT1}01whiUxCE^C+Ti9`Y#LQIrP!9_f5u*q4W_ZI64*sAnET|Vtfx##_6 zmGuCg?(Q0|VNVY9ssNxHcYo#}6e#I~yyOUid|%rznXKu%t9C%rTCOLoYx7r<>ow#p z1^QUn>}Gy3jYnpZW)#)iv@p59An*Orz)U&~^b&=in|8pyOz=1100;Kn7h4fBKWr}N z2buugHpNW?{8d_IIubYiG5)rZ&4%YuFCH5t)fSJ!k>2{U7JQg`m}SO8(pp@I$(qRC zrji0+{iP*!O_-s!en$xY0*DYKo zyA#F;KY=^^j=AC04oXl+35C|;WDKx%I`-0C0x`fhmYIqNa5Z8RUp*2GA9=1Tm2wEJ zE;57K%xz^14MEwiS3~e(tvtbCBsrcGI_a5fK)%p%j!rOkTTq{Opy@JYN3%Nc3hS{4 zI?J5U%8bwoszZnlY4}*@me=4&DZudymTdL3A{u@z@FqUmheF2y06V&5&M2;8wB|FSLV<)`wr~!*l6{I!`qF@60f=u2&g2A;=M6K0z72ETN;r5 zrW?Ao+V!UlnmD;~cKfM5m-geRLpae?kLe!iX(Qy9cha|VDY zfx*PJfRN)8`>jf#K`v>uAc8q5OToCy9nH=_lv+KzejU3k+OlaZbfzxX%C7``^Rg;H zxuk>2qOcq&W)MJPDYXb7=8;DUPDdfUOy1Wbt7kGhQ`f+b|0Em;GEm^wnH@+yTwn^t z&^5mi7Y2>u36-(3UFcnxI_Qguud&WE@NC{O&;JVq{c{MhxYPC*WQLB6no!voa21m& zb1$u)lkEbk=bb3ihRVK)nhX%QrmiFJ_>3U9dz^crQ&R)20+pRi1Vg9rr>4xqv_Mct zw4FbV7rQ0c=MCAnA!M_qe+T$4YL(>;o+>?$C0tSg(D91| zBESjOy^%kYNVB9(%?KvKoMwLvQ_*xC#bSuqnD$Z4JFZySGrwB*a_j?k~1;j z14=H2WiQ-58gC4(#ol$fQh)}vE*93>QVK*98V3;E`)BC*rC%(u1ha6LVzOvtS31|z?n7j^eft%r*Gn4 zr^W}*#{tcSh1#pSI)v`iza9*B*z|M=gU-=|ZMsTu4+_r8;Nf>~n^_6EuCmVc!?Q#~ zPiKYFr|UW>&KX9jrPPE1C^|bjg4o6QeF8=sz+fm}W@%pH@me>O_NpJerycG$W z6$Btc;ja+UOXGguifKi<=n4b=Gy$A7q{E->;Kfe)`$Th#jJGZ0_pA^iVNzPONOLPu zmB$qc`UIg1c;MbH5}bstAOasprOwpw^uQ@jRpQ z-uxEMK@ZcY`e0Kle|vH$lpwcP!`1-^0-lyuSnvv@n#r_pWKy&+>M`7lcLpw>0LUHn z)nNt%z_teBIO_LsDzD6Otr%hyT7$8$kVE z-Om6f|5GeLi@%