summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/minted
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-02-02 23:29:53 +0000
committerKarl Berry <karl@freefriends.org>2015-02-02 23:29:53 +0000
commit1d053b95dc2f57b9d974520d41f07d72b9a332e5 (patch)
tree4074a5090b71f339b0d9da8fe106978800587890 /Master/texmf-dist/tex/latex/minted
parent8a1312018c13f3d29de8d1e5899410f8d0099043 (diff)
minted (2feb15)
git-svn-id: svn://tug.org/texlive/trunk@36197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/minted')
-rw-r--r--Master/texmf-dist/tex/latex/minted/minted.sty1330
-rw-r--r--Master/texmf-dist/tex/latex/minted/minted1.sty261
2 files changed, 1417 insertions, 174 deletions
diff --git a/Master/texmf-dist/tex/latex/minted/minted.sty b/Master/texmf-dist/tex/latex/minted/minted.sty
index 0e0585cfdd2..7fef35aade6 100644
--- a/Master/texmf-dist/tex/latex/minted/minted.sty
+++ b/Master/texmf-dist/tex/latex/minted/minted.sty
@@ -5,6 +5,7 @@
%% The original source files were:
%%
%% minted.dtx (with options: `package')
+%% Copyright 2013--2015 Geoffrey M. Poore
%% Copyright 2010--2011 Konrad Rudolph
%%
%% This work may be distributed and/or modified under the
@@ -20,220 +21,1201 @@
%%
%% This work has the LPPL maintenance status `maintained'.
%%
-%% The Current Maintainer of this work is Konrad Rudolph.
+%% The Current Maintainer of this work is Geoffrey Poore.
%%
%% This work consists of the files minted.dtx and minted.ins
%% and the derived file minted.sty.
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{minted}[2011/09/17 v1.7 Yet another Pygments shim for LaTeX]
+\ProvidesPackage{minted}
+ [2015/01/31 v2.0 Yet another Pygments shim for LaTeX]
\RequirePackage{keyval}
+\RequirePackage{kvoptions}
\RequirePackage{fancyvrb}
-\RequirePackage{xcolor}
\RequirePackage{float}
\RequirePackage{ifthen}
\RequirePackage{calc}
\RequirePackage{ifplatform}
-\DeclareOption{chapter}{\def\minted@float@within{chapter}}
-\DeclareOption{section}{\def\minted@float@within{section}}
-\ProcessOptions\relax
+\RequirePackage{pdftexcmds}
+\RequirePackage{etoolbox}
+\RequirePackage{xstring}
+\RequirePackage{lineno}
+\AtBeginDocument{%
+ \@ifpackageloaded{color}{}{%
+ \@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}}%
+}
+\DeclareVoidOption{chapter}{\def\minted@float@within{chapter}}
+\DeclareVoidOption{section}{\def\minted@float@within{section}}
+\DeclareBoolOption{newfloat}
+\DeclareBoolOption[true]{cache}
+\StrSubstitute{\jobname}{ }{_}[\minted@jobname]
+\StrSubstitute{\minted@jobname}{"}{}[\minted@jobname]
+\StrSubstitute{\minted@jobname}{*}{-}[\minted@jobname]
+\newcommand{\minted@cachedir}{\detokenize{_}minted-\minted@jobname}
+\let\minted@cachedir@windows\minted@cachedir
+\define@key{minted}{cachedir}{%
+ \@namedef{minted@cachedir}{#1}%
+ \StrSubstitute{\minted@cachedir}{/}{\@backslashchar}[\minted@cachedir@windows]}
+\let\minted@outputdir\@empty
+\let\minted@outputdir@windows\@empty
+\define@key{minted}{outputdir}{%
+ \@namedef{minted@outputdir}{#1/}%
+ \StrSubstitute{\minted@outputdir}{/}%
+ {\@backslashchar}[\minted@outputdir@windows]}
+\DeclareBoolOption{kpsewhich}
+\DeclareBoolOption{langlinenos}
+\DeclareBoolOption{draft}
+\DeclareComplementaryOption{final}{draft}
+\ProcessKeyvalOptions*
+\ifthenelse{\boolean{minted@newfloat}}{\RequirePackage{newfloat}}{}
+\ifthenelse{\boolean{minted@cache}}{%
+ \AtEndOfPackage{\ProvideDirectory{\minted@outputdir\minted@cachedir}}}{}
+\newcommand{\minted@input}[1]{%
+ \IfFileExists{#1}%
+ {\input{#1}}%
+ {\PackageError{minted}{Missing Pygments output; \string\inputminted\space
+ was^^Jprobably given a file that does not exist--otherwise, you may need
+ ^^Jthe outputdir package option, or may be using an incompatible build
+ tool\ifwindows,^^Jor may be using the kpsewhich option without having
+ PowerShell installed\fi}%
+ {This could be caused by using -output-directory or -aux-directory
+ ^^Jwithout setting minted's outputdir, or by using a build tool that
+ ^^Jchanges paths in ways minted cannot detect\ifwindows, or by using the
+ ^^Jkpsewhich option without PowerShell\fi.}}%
+}
+\newcommand{\minted@infile}{\jobname.out.pyg}
+\newcommand{\minted@cachelist}{}
+\newcommand{\minted@addcachefile}[1]{%
+ \expandafter\long\expandafter\gdef\expandafter\minted@cachelist\expandafter{%
+ \minted@cachelist,^^J%
+ \space\space#1}%
+ \expandafter\gdef\csname minted@cached@#1\endcsname{}%
+}
+\newcommand{\minted@savecachelist}{%
+ \ifdefempty{\minted@cachelist}{}{%
+ \immediate\write\@mainaux{%
+ \string\gdef\string\minted@oldcachelist\string{%
+ \minted@cachelist\string}}%
+ }%
+}
+\newcommand{\minted@cleancache}{%
+ \ifcsname minted@oldcachelist\endcsname
+ \def\do##1{%
+ \ifthenelse{\equal{##1}{}}{}{%
+ \ifcsname minted@cached@##1\endcsname\else
+ \DeleteFile[\minted@outputdir\minted@cachedir]{##1}%
+ \fi
+ }%
+ }%
+ \expandafter\docsvlist\expandafter{\minted@oldcachelist}%
+ \else
+ \fi
+}
+\ifthenelse{\boolean{minted@draft}}%
+ {\AtEndDocument{%
+ \ifcsname minted@oldcachelist\endcsname
+ \let\minted@cachelist\minted@oldcachelist
+ \minted@savecachelist
+ \fi}}%
+ {\AtEndDocument{%
+ \minted@savecachelist
+ \minted@cleancache}}%
+\ifwindows
+ \providecommand{\DeleteFile}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\IfFileExists{#2}{\immediate\write18{del "#2"}}{}}%
+ {\IfFileExists{#1/#2}{%
+ \StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir]
+ \immediate\write18{del "\minted@windir\@backslashchar #2"}}{}}}
+\else
+ \providecommand{\DeleteFile}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\IfFileExists{#2}{\immediate\write18{rm "#2"}}{}}%
+ {\IfFileExists{#1/#2}{\immediate\write18{rm "#1/#2"}}{}}}
+\fi
\ifwindows
- \providecommand\DeleteFile[1]{\immediate\write18{del #1}}
+ \newcommand{\ProvideDirectory}[1]{%
+ \StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir]
+ \immediate\write18{if not exist "\minted@windir" mkdir "\minted@windir"}}
\else
- \providecommand\DeleteFile[1]{\immediate\write18{rm #1}}
+ \newcommand{\ProvideDirectory}[1]{%
+ \immediate\write18{mkdir -p "#1"}}
\fi
\newboolean{AppExists}
-\newcommand\TestAppExists[1]{
+\newread\minted@appexistsfile
+\newcommand{\TestAppExists}[1]{
\ifwindows
\DeleteFile{\jobname.aex}
\immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd)
- do set >\jobname.aex <nul: /p x=\string^\@percentchar \string~$PATH:i>>\jobname.aex} %$
- \newread\@appexistsfile
- \immediate\openin\@appexistsfile\jobname.aex
+ do set >"\jobname.aex" <nul: /p
+ x=\string^\@percentchar \string~$PATH:i>>"\jobname.aex"}
+ %$ <- balance syntax highlighting
+ \immediate\openin\minted@appexistsfile\jobname.aex
\expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar}
\endlinechar=-1\relax
- \readline\@appexistsfile to \@apppathifexists
+ \readline\minted@appexistsfile to \minted@apppathifexists
\endlinechar=\@tmp@cr
- \ifthenelse{\equal{\@apppathifexists}{}}
+ \ifthenelse{\equal{\minted@apppathifexists}{}}
{\AppExistsfalse}
{\AppExiststrue}
- \immediate\closein\@appexistsfile
+ \immediate\closein\minted@appexistsfile
\DeleteFile{\jobname.aex}
-\immediate\typeout{file deleted}
\else
- \immediate\write18{which #1 && touch \jobname.aex}
+ \immediate\write18{which "#1" && touch "\jobname.aex"}
\IfFileExists{\jobname.aex}
- {\AppExiststrue
- \DeleteFile{\jobname.aex}}
- {\AppExistsfalse}
- \fi}
-\newcommand\minted@resetoptions{}
-\newcommand\minted@defopt[1]{
- \expandafter\def\expandafter\minted@resetoptions\expandafter{%
- \minted@resetoptions
- \@namedef{minted@opt@#1}{}}}
-\newcommand\minted@opt[1]{
- \expandafter\detokenize%
- \expandafter\expandafter\expandafter{\csname minted@opt@#1\endcsname}}
-\newcommand\minted@define@opt[3][]{
- \minted@defopt{#2}
- \ifthenelse{\equal{#1}{}}{
- \define@key{minted@opt}{#2}{\@namedef{minted@opt@#2}{#3}}}
- {\define@key{minted@opt}{#2}[#1]{\@namedef{minted@opt@#2}{#3}}}}
-\newcommand\minted@define@switch[3][]{
- \minted@defopt{#2}
- \define@booleankey{minted@opt}{#2}
- {\@namedef{minted@opt@#2}{#3}}
- {\@namedef{minted@opt@#2}{#1}}}
-\minted@defopt{extra}
-\newcommand\minted@define@extra[1]{
- \define@key{minted@opt}{#1}{
- \expandafter\def\expandafter\minted@opt@extra\expandafter{%
- \minted@opt@extra,#1=##1}}}
-\newcommand\minted@define@extra@switch[1]{
- \define@booleankey{minted@opt}{#1}
- {\expandafter\def\expandafter\minted@opt@extra\expandafter{%
- \minted@opt@extra,#1}}
- {\expandafter\def\expandafter\minted@opt@extra\expandafter{%
- \minted@opt@extra,#1=false}}}
-\minted@define@switch{texcl}{-P texcomments}
-\minted@define@switch{mathescape}{-P mathescape}
-\minted@define@switch{linenos}{-P linenos}
-\minted@define@switch{startinline}{-P startinline}
-\minted@define@switch[-P funcnamehighlighting=False]%
- {funcnamehighlighting}{-P funcnamehighlighting}
-\minted@define@opt{gobble}{-F gobble:n=#1}
-\minted@define@opt{bgcolor}{#1}
-\minted@define@extra{frame}
-\minted@define@extra{framesep}
-\minted@define@extra{framerule}
-\minted@define@extra{rulecolor}
-\minted@define@extra{numbersep}
-\minted@define@extra{firstnumber}
-\minted@define@extra{stepnumber}
-\minted@define@extra{firstline}
-\minted@define@extra{lastline}
-\minted@define@extra{baselinestretch}
-\minted@define@extra{xleftmargin}
-\minted@define@extra{xrightmargin}
-\minted@define@extra{fillcolor}
-\minted@define@extra{tabsize}
-\minted@define@extra{fontfamily}
-\minted@define@extra{fontsize}
-\minted@define@extra{fontshape}
-\minted@define@extra{fontseries}
-\minted@define@extra{formatcom}
-\minted@define@extra{label}
-\minted@define@extra@switch{numberblanklines}
-\minted@define@extra@switch{showspaces}
-\minted@define@extra@switch{resetmargins}
-\minted@define@extra@switch{samepage}
-\minted@define@extra@switch{showtabs}
-\minted@define@extra@switch{obeytabs}
+ {\AppExiststrue
+ \DeleteFile{\jobname.aex}}
+ {\AppExistsfalse}
+ \fi
+}
+\newcommand{\minted@optlistcl@g}{}
+\newcommand{\minted@optlistcl@g@i}{}
+\let\minted@lang\@empty
+\newcommand{\minted@optlistcl@lang}{}
+\newcommand{\minted@optlistcl@lang@i}{}
+\newcommand{\minted@optlistcl@cmd}{}
+\newcommand{\minted@optlistfv@g}{}
+\newcommand{\minted@optlistfv@g@i}{}
+\newcommand{\minted@optlistfv@lang}{}
+\newcommand{\minted@optlistfv@lang@i}{}
+\newcommand{\minted@optlistfv@cmd}{}
+\newcommand{\minted@configlang}[1]{%
+ \def\minted@lang{#1}%
+ \ifcsname minted@optlistcl@lang\minted@lang\endcsname\else
+ \expandafter\gdef\csname minted@optlistcl@lang\minted@lang\endcsname{}%
+ \fi
+ \ifcsname minted@optlistcl@lang\minted@lang @i\endcsname\else
+ \expandafter\gdef\csname minted@optlistcl@lang\minted@lang @i\endcsname{}%
+ \fi
+ \ifcsname minted@optlistfv@lang\minted@lang\endcsname\else
+ \expandafter\gdef\csname minted@optlistfv@lang\minted@lang\endcsname{}%
+ \fi
+ \ifcsname minted@optlistfv@lang\minted@lang @i\endcsname\else
+ \expandafter\gdef\csname minted@optlistfv@lang\minted@lang @i\endcsname{}%
+ \fi
+}
+\newcommand{\minted@addto@optlistcl}[2]{%
+ \expandafter\def\expandafter#1\expandafter{#1%
+ \detokenize{#2}\space}}
+\newcommand{\minted@addto@optlistcl@lang}[2]{%
+ \expandafter\let\expandafter\minted@tmp\csname #1\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{\minted@tmp%
+ \detokenize{#2}\space}%
+ \expandafter\let\csname #1\endcsname\minted@tmp}
+\newcommand{\minted@def@optcl}[4][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\define@key{minted@opt@g}{#2}{%
+ \minted@addto@optlistcl{\minted@optlistcl@g}{#3=#4}%
+ \@namedef{minted@opt@g:#2}{#4}}%
+ \define@key{minted@opt@g@i}{#2}{%
+ \minted@addto@optlistcl{\minted@optlistcl@g@i}{#3=#4}%
+ \@namedef{minted@opt@g@i:#2}{#4}}%
+ \define@key{minted@opt@lang}{#2}{%
+ \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang:#2}{#4}}%
+ \define@key{minted@opt@lang@i}{#2}{%
+ \minted@addto@optlistcl@lang{%
+ minted@optlistcl@lang\minted@lang @i}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}%
+ \define@key{minted@opt@cmd}{#2}{%
+ \minted@addto@optlistcl{\minted@optlistcl@cmd}{#3=#4}%
+ \@namedef{minted@opt@cmd:#2}{#4}}}%
+ {\define@key{minted@opt@g}{#2}[#1]{%
+ \minted@addto@optlistcl{\minted@optlistcl@g}{#3=#4}%
+ \@namedef{minted@opt@g:#2}{#4}}%
+ \define@key{minted@opt@g@i}{#2}[#1]{%
+ \minted@addto@optlistcl{\minted@optlistcl@g@i}{#3=#4}%
+ \@namedef{minted@opt@g@i:#2}{#4}}%
+ \define@key{minted@opt@lang}{#2}[#1]{%
+ \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang:#2}{#4}}%
+ \define@key{minted@opt@lang@i}{#2}[#1]{%
+ \minted@addto@optlistcl@lang{%
+ minted@optlistcl@lang\minted@lang @i}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}%
+ \define@key{minted@opt@cmd}{#2}[#1]{%
+ \minted@addto@optlistcl{\minted@optlistcl@cmd}{#3=#4}%
+ \@namedef{minted@opt@cmd:#2}{#4}}}%
+}
+\edef\minted@hashchar{\string#}
+\edef\minted@dollarchar{\string$}
+\edef\minted@ampchar{\string&}
+\edef\minted@underscorechar{\string_}
+\edef\minted@tildechar{\string~}
+\newcommand{\minted@escchars}{%
+ \let\#\minted@hashchar
+ \let\%\@percentchar
+ \let\{\@charlb
+ \let\}\@charrb
+ \let\$\minted@dollarchar
+ \let\&\minted@ampchar
+ \let\_\minted@underscorechar
+ \let\\\@backslashchar
+ \let~\minted@tildechar
+ \let\~\minted@tildechar
+} %$ <- highlighting
+\newcommand{\minted@addto@optlistcl@e}[2]{%
+ \begingroup
+ \minted@escchars
+ \xdef\minted@xtmp{#2}%
+ \endgroup
+ \expandafter\minted@addto@optlistcl@e@i\expandafter{\minted@xtmp}{#1}}
+\def\minted@addto@optlistcl@e@i#1#2{%
+ \expandafter\def\expandafter#2\expandafter{#2#1\space}}
+\newcommand{\minted@addto@optlistcl@lang@e}[2]{%
+ \begingroup
+ \minted@escchars
+ \xdef\minted@xtmp{#2}%
+ \endgroup
+ \expandafter\minted@addto@optlistcl@lang@e@i\expandafter{\minted@xtmp}{#1}}
+\def\minted@addto@optlistcl@lang@e@i#1#2{%
+ \expandafter\let\expandafter\minted@tmp\csname #2\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{\minted@tmp#1\space}%
+ \expandafter\let\csname #2\endcsname\minted@tmp}
+\newcommand{\minted@def@optcl@e}[4][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\define@key{minted@opt@g}{#2}{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@g}{#3=#4}%
+ \@namedef{minted@opt@g:#2}{#4}}%
+ \define@key{minted@opt@g@i}{#2}{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@g@i}{#3=#4}%
+ \@namedef{minted@opt@g@i:#2}{#4}}%
+ \define@key{minted@opt@lang}{#2}{%
+ \minted@addto@optlistcl@lang@e{minted@optlistcl@lang\minted@lang}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang:#2}{#4}}%
+ \define@key{minted@opt@lang@i}{#2}{%
+ \minted@addto@optlistcl@lang@e{%
+ minted@optlistcl@lang\minted@lang @i}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}%
+ \define@key{minted@opt@cmd}{#2}{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@cmd}{#3=#4}%
+ \@namedef{minted@opt@cmd:#2}{#4}}}%
+ {\define@key{minted@opt@g}{#2}[#1]{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@g}{#3=#4}%
+ \@namedef{minted@opt@g:#2}{#4}}%
+ \define@key{minted@opt@g@i}{#2}[#1]{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@g@i}{#3=#4}%
+ \@namedef{minted@opt@g@i:#2}{#4}}%
+ \define@key{minted@opt@lang}{#2}[#1]{%
+ \minted@addto@optlistcl@lang@e{minted@optlistcl@lang\minted@lang}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang:#2}{#4}}%
+ \define@key{minted@opt@lang@i}{#2}[#1]{%
+ \minted@addto@optlistcl@lang@e{%
+ minted@optlistcl@lang\minted@lang @i}{#3=#4}%
+ \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}%
+ \define@key{minted@opt@cmd}{#2}[#1]{%
+ \minted@addto@optlistcl@e{\minted@optlistcl@cmd}{#3=#4}%
+ \@namedef{minted@opt@cmd:#2}{#4}}}%
+}
+\newcommand{\minted@def@optcl@style}{%
+ \define@key{minted@opt@g}{style}{%
+ \minted@addto@optlistcl{\minted@optlistcl@g}%
+ {-P style=##1 -P commandprefix=PYG##1}%
+ \minted@checkstyle{##1}%
+ \@namedef{minted@opt@g:style}{##1}}%
+ \define@key{minted@opt@g@i}{style}{%
+ \minted@addto@optlistcl{\minted@optlistcl@g@i}%
+ {-P style=##1 -P commandprefix=PYG##1}%
+ \minted@checkstyle{##1}%
+ \@namedef{minted@opt@g@i:style}{##1}}%
+ \define@key{minted@opt@lang}{style}{%
+ \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}%
+ {-P style=##1 -P commandprefix=PYG##1}%
+ \minted@checkstyle{##1}%
+ \@namedef{minted@opt@lang\minted@lang:style}{##1}}%
+ \define@key{minted@opt@lang@i}{style}{%
+ \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}%
+ {-P style=##1 -P commandprefix=PYG##1}%
+ \minted@checkstyle{##1}%
+ \@namedef{minted@opt@lang\minted@lang @i:style}{##1}}%
+ \define@key{minted@opt@cmd}{style}{%
+ \minted@addto@optlistcl{\minted@optlistcl@cmd}%
+ {-P style=##1 -P commandprefix=PYG##1}%
+ \minted@checkstyle{##1}%
+ \@namedef{minted@opt@cmd:style}{##1}}%
+}
+\newcommand{\minted@patch@Zsq}[1]{%
+ \ifx\upquote@cmtt\minted@undefined\else
+ \ifx\encodingdefault\upquote@OTone
+ \ifx\ttdefault\upquote@cmtt
+ \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
+ {\expandafter\gdef\csname PYG#1Zsq\endcsname{\char13 }}{}%
+ \else
+ \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
+ {\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}%
+ \fi
+ \else
+ \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}%
+ {\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}%
+ \fi
+ \fi
+}
+\newcommand{\minted@checkstyle}[1]{%
+ \ifcsname minted@styleloaded@#1\endcsname\else
+ \expandafter\gdef\csname minted@styleloaded@#1\endcsname{}%
+ \ifthenelse{\boolean{minted@cache}}%
+ {\IfFileExists{\minted@outputdir\minted@cachedir/#1.pygstyle}{}{%
+ \ifwindows
+ \immediate\write18{\MintedPygmentize\space -S #1 -f latex
+ -P commandprefix=PYG#1
+ > "\minted@outputdir@windows\minted@cachedir@windows\@backslashchar#1.pygstyle"}%
+ \else
+ \immediate\write18{\MintedPygmentize\space -S #1 -f latex
+ -P commandprefix=PYG#1
+ > "\minted@outputdir\minted@cachedir/#1.pygstyle"}%
+ \fi
+ }%
+ \begingroup
+ \let\def\gdef
+ \endlinechar=-1\relax
+ \minted@input{\minted@outputdir\minted@cachedir/#1.pygstyle}%
+ \endgroup
+ \minted@addcachefile{#1.pygstyle}}%
+ {\ifwindows
+ \immediate\write18{\MintedPygmentize\space -S #1 -f latex
+ -P commandprefix=PYG#1 > "\minted@outputdir@windows\jobname.out.pyg"}%
+ \else
+ \immediate\write18{\MintedPygmentize\space -S #1 -f latex
+ -P commandprefix=PYG#1 > "\minted@outputdir\jobname.out.pyg"}%
+ \fi
+ \begingroup
+ \let\def\gdef
+ \endlinechar=-1\relax
+ \minted@input{\minted@outputdir\jobname.out.pyg}%
+ \endgroup}%
+ \ifx\@onlypreamble\@notprerr
+ \minted@patch@Zsq{#1}%
+ \else
+ \minted@patch@Zsq{#1}%
+ \AtBeginDocument{\minted@patch@Zsq{#1}}%
+ \fi
+ \fi
+}
+\ifthenelse{\boolean{minted@draft}}{\renewcommand{\minted@checkstyle}[1]{}}{}
+\newcommand{\minted@def@optcl@switch}[2]{%
+ \define@booleankey{minted@opt@g}{#1}%
+ {\minted@addto@optlistcl{\minted@optlistcl@g}{#2=True}%
+ \@namedef{minted@opt@g:#1}{true}}
+ {\minted@addto@optlistcl{\minted@optlistcl@g}{#2=False}%
+ \@namedef{minted@opt@g:#1}{false}}
+ \define@booleankey{minted@opt@g@i}{#1}%
+ {\minted@addto@optlistcl{\minted@optlistcl@g@i}{#2=True}%
+ \@namedef{minted@opt@g@i:#1}{true}}
+ {\minted@addto@optlistcl{\minted@optlistcl@g@i}{#2=False}%
+ \@namedef{minted@opt@g@i:#1}{false}}
+ \define@booleankey{minted@opt@lang}{#1}%
+ {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#2=True}%
+ \@namedef{minted@opt@lang\minted@lang:#1}{true}}
+ {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#2=False}%
+ \@namedef{minted@opt@lang\minted@lang:#1}{false}}
+ \define@booleankey{minted@opt@lang@i}{#1}%
+ {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}{#2=True}%
+ \@namedef{minted@opt@lang\minted@lang @i:#1}{true}}
+ {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}{#2=False}%
+ \@namedef{minted@opt@lang\minted@lang @i:#1}{false}}
+ \define@booleankey{minted@opt@cmd}{#1}%
+ {\minted@addto@optlistcl{\minted@optlistcl@cmd}{#2=True}%
+ \@namedef{minted@opt@cmd:#1}{true}}
+ {\minted@addto@optlistcl{\minted@optlistcl@cmd}{#2=False}%
+ \@namedef{minted@opt@cmd:#1}{false}}
+}
+\newcommand{\minted@def@optfv}[1]{%
+ \define@key{minted@opt@g}{#1}{%
+ \expandafter\def\expandafter\minted@optlistfv@g\expandafter{%
+ \minted@optlistfv@g#1=##1,}%
+ \@namedef{minted@opt@g:#1}{##1}}
+ \define@key{minted@opt@g@i}{#1}{%
+ \expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{%
+ \minted@optlistfv@g@i#1=##1,}%
+ \@namedef{minted@opt@g@i:#1}{##1}}
+ \define@key{minted@opt@lang}{#1}{%
+ \expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=##1,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang:#1}{##1}}
+ \define@key{minted@opt@lang@i}{#1}{%
+ \expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang @i\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=##1,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang @i:#1}{##1}}
+ \define@key{minted@opt@cmd}{#1}{%
+ \expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{%
+ \minted@optlistfv@cmd#1=##1,}%
+ \@namedef{minted@opt@cmd:#1}{##1}}
+}
+\newcommand{\minted@def@optfv@switch}[1]{%
+ \define@booleankey{minted@opt@g}{#1}%
+ {\expandafter\def\expandafter\minted@optlistfv@g\expandafter{%
+ \minted@optlistfv@g#1=true,}%
+ \@namedef{minted@opt@g:#1}{true}}%
+ {\expandafter\def\expandafter\minted@optlistfv@g\expandafter{%
+ \minted@optlistfv@g#1=false,}%
+ \@namedef{minted@opt@g:#1}{false}}%
+ \define@booleankey{minted@opt@g@i}{#1}%
+ {\expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{%
+ \minted@optlistfv@g@i#1=true,}%
+ \@namedef{minted@opt@g@i:#1}{true}}%
+ {\expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{%
+ \minted@optlistfv@g@i#1=false,}%
+ \@namedef{minted@opt@g@i:#1}{false}}%
+ \define@booleankey{minted@opt@lang}{#1}%
+ {\expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=true,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang:#1}{true}}%
+ {\expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=false,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang:#1}{false}}%
+ \define@booleankey{minted@opt@lang@i}{#1}%
+ {\expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang @i\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=true,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang @i:#1}{true}}%
+ {\expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang @i\endcsname
+ \expandafter\def\expandafter\minted@tmp\expandafter{%
+ \minted@tmp#1=false,}%
+ \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname%
+ \minted@tmp
+ \@namedef{minted@opt@lang\minted@lang @i:#1}{false}}%
+ \define@booleankey{minted@opt@cmd}{#1}%
+ {\expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{%
+ \minted@optlistfv@cmd#1=true,}%
+ \@namedef{minted@opt@cmd:#1}{true}}%
+ {\expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{%
+ \minted@optlistfv@cmd#1=false,}%
+ \@namedef{minted@opt@cmd:#1}{false}}%
+}
+\newboolean{minted@isinline}
+\newcommand{\minted@fvset}{%
+ \expandafter\fvset\expandafter{\minted@optlistfv@g}%
+ \expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang\endcsname
+ \expandafter\fvset\expandafter{\minted@tmp}%
+ \ifthenelse{\boolean{minted@isinline}}%
+ {\expandafter\fvset\expandafter{\minted@optlistfv@g@i}%
+ \expandafter\let\expandafter\minted@tmp%
+ \csname minted@optlistfv@lang\minted@lang @i\endcsname
+ \expandafter\fvset\expandafter{\minted@tmp}}%
+ {}%
+ \expandafter\fvset\expandafter{\minted@optlistfv@cmd}%
+}
+\def\minted@get@opt#1#2{%
+ \ifcsname minted@opt@cmd:#1\endcsname
+ \csname minted@opt@cmd:#1\endcsname
+ \else
+ \ifminted@isinline
+ \ifcsname minted@opt@lang\minted@lang @i:#1\endcsname
+ \csname minted@opt@lang\minted@lang @i:#1\endcsname
+ \else
+ \ifcsname minted@opt@g@i:#1\endcsname
+ \csname minted@opt@g@i:#1\endcsname
+ \else
+ \ifcsname minted@opt@lang\minted@lang:#1\endcsname
+ \csname minted@opt@lang\minted@lang:#1\endcsname
+ \else
+ \ifcsname minted@opt@g:#1\endcsname
+ \csname minted@opt@g:#1\endcsname
+ \else
+ #2%
+ \fi
+ \fi
+ \fi
+ \fi
+ \else
+ \ifcsname minted@opt@lang\minted@lang:#1\endcsname
+ \csname minted@opt@lang\minted@lang:#1\endcsname
+ \else
+ \ifcsname minted@opt@g:#1\endcsname
+ \csname minted@opt@g:#1\endcsname
+ \else
+ #2%
+ \fi
+ \fi
+ \fi
+ \fi
+}%
+\newcommand{\minted@def@opt}[2][]{%
+ \define@key{minted@opt@g}{#2}{%
+ \@namedef{minted@opt@g:#2}{##1}}
+ \define@key{minted@opt@g@i}{#2}{%
+ \@namedef{minted@opt@g@i:#2}{##1}}
+ \define@key{minted@opt@lang}{#2}{%
+ \@namedef{minted@opt@lang\minted@lang:#2}{##1}}
+ \define@key{minted@opt@lang@i}{#2}{%
+ \@namedef{minted@opt@lang\minted@lang @i:#2}{##1}}
+ \define@key{minted@opt@cmd}{#2}{%
+ \@namedef{minted@opt@cmd:#2}{##1}}
+}
+\newcommand{\minted@def@opt@switch}[2][false]{%
+ \define@booleankey{minted@opt@g}{#2}%
+ {\@namedef{minted@opt@g:#2}{true}}%
+ {\@namedef{minted@opt@g:#2}{false}}
+ \define@booleankey{minted@opt@g@i}{#2}%
+ {\@namedef{minted@opt@g@i:#2}{true}}%
+ {\@namedef{minted@opt@g@i:#2}{false}}
+ \define@booleankey{minted@opt@lang}{#2}%
+ {\@namedef{minted@opt@lang\minted@lang:#2}{true}}%
+ {\@namedef{minted@opt@lang\minted@lang:#2}{false}}
+ \define@booleankey{minted@opt@lang@i}{#2}%
+ {\@namedef{minted@opt@lang\minted@lang @i:#2}{true}}%
+ {\@namedef{minted@opt@lang\minted@lang @i:#2}{false}}
+ \define@booleankey{minted@opt@cmd}{#2}%
+ {\@namedef{minted@opt@cmd:#2}{true}}%
+ {\@namedef{minted@opt@cmd:#2}{false}}%
+ \@namedef{minted@opt@g:#2}{#1}%
+}
+
+\minted@def@optcl{encoding}{-P encoding}{#1}
+\minted@def@optcl{outencoding}{-P outencoding}{#1}
+\minted@def@optcl@e{escapeinside}{-P "escapeinside}{#1"}
+\minted@def@optcl@switch{stripnl}{-P stripnl}
+\minted@def@optcl@switch{stripall}{-P stripall}
+\minted@def@optcl@switch{python3}{-P python3}
+\minted@def@optcl@switch{funcnamehighlighting}{-P funcnamehighlighting}
+\minted@def@optcl@switch{startinline}{-P startinline}
+\ifthenelse{\boolean{minted@draft}}%
+ {\minted@def@optfv{gobble}}%
+ {\minted@def@optcl{gobble}{-F gobble:n}{#1}}
+\minted@def@optcl{codetagify}{-F codetagify:codetags}{#1}
+\minted@def@optcl{keywordcase}{-F keywordcase:case}{#1}
+\minted@def@optcl@switch{texcl}{-P texcomments}
+\minted@def@optcl@switch{texcomments}{-P texcomments}
+\minted@def@optcl@switch{mathescape}{-P mathescape}
+\ifcsname KV@FV@linenos\endcsname\else
+\define@booleankey{FV}{linenos}%
+ {\@nameuse{FV@Numbers@left}}{\@nameuse{FV@Numbers@none}}
+\fi
+\minted@def@optfv@switch{linenos}
+\minted@def@optcl@style
+\minted@def@optfv{frame}
+\minted@def@optfv{framesep}
+\minted@def@optfv{framerule}
+\minted@def@optfv{rulecolor}
+\minted@def@optfv{numbersep}
+\minted@def@optfv{numbers}
+\minted@def@optfv{firstnumber}
+\minted@def@optfv{stepnumber}
+\minted@def@optfv{firstline}
+\minted@def@optfv{lastline}
+\minted@def@optfv{baselinestretch}
+\minted@def@optfv{xleftmargin}
+\minted@def@optfv{xrightmargin}
+\minted@def@optfv{fillcolor}
+\minted@def@optfv{tabsize}
+\minted@def@optfv{fontfamily}
+\minted@def@optfv{fontsize}
+\minted@def@optfv{fontshape}
+\minted@def@optfv{fontseries}
+\minted@def@optfv{formatcom}
+\minted@def@optfv{label}
+\minted@def@optfv@switch{numberblanklines}
+\minted@def@optfv@switch{showspaces}
+\minted@def@optfv@switch{resetmargins}
+\minted@def@optfv@switch{samepage}
+\minted@def@optfv@switch{showtabs}
+\minted@def@optfv@switch{obeytabs}
+\minted@def@optfv@switch{breaklines}
+\minted@def@optfv{breakindent}
+\minted@def@optfv@switch{breakautoindent}
+\minted@def@optfv{breaksymbol}
+\minted@def@optfv{breaksymbolsep}
+\minted@def@optfv{breaksymbolindent}
+\minted@def@optfv{breaksymbolleft}
+\minted@def@optfv{breaksymbolsepleft}
+\minted@def@optfv{breaksymbolindentleft}
+\minted@def@optfv{breaksymbolright}
+\minted@def@optfv{breaksymbolsepright}
+\minted@def@optfv{breaksymbolindentright}
+\minted@def@opt@switch{breakbytoken}
+\minted@def@opt{bgcolor}
+\minted@def@opt@switch{autogobble}
+\newcommand{\minted@encoding}{\minted@get@opt{encoding}{UTF8}}
+\ifcsname KV@FV@breaklines\endcsname\else
+\newboolean{FV@BreakLines}
+\let\FV@ListProcessLine@Orig\FV@ListProcessLine
+\define@booleankey{FV}{breaklines}%
+ {\FV@BreakLinestrue
+ \let\FV@ListProcessLine\FV@ListProcessLine@Break}%
+ {\FV@BreakLinesfalse
+ \let\FV@ListProcessLine\FV@ListProcessLine@Orig}
+\newdimen\FV@BreakIndent
+\define@key{FV}{breakindent}{\FV@BreakIndent=#1}
+\fvset{breakindent=0pt}
+\newboolean{FV@BreakAutoIndent}
+\define@booleankey{FV}{breakautoindent}%
+ {\FV@BreakAutoIndenttrue}{\FV@BreakAutoIndentfalse}
+\fvset{breakautoindent=true}
+\define@key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{#1}}
+\define@key{FV}{breaksymbol}{\fvset{breaksymbolleft=#1}}
+\fvset{breaksymbolleft=\tiny\ensuremath{\hookrightarrow}}
+\define@key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{#1}}
+\fvset{breaksymbolright={}}
+\newdimen\FV@BreakSymbolSepLeft
+\define@key{FV}{breaksymbolsepleft}{\FV@BreakSymbolSepLeft=#1}
+\define@key{FV}{breaksymbolsep}{\fvset{breaksymbolsepleft=#1}}
+\fvset{breaksymbolsepleft=1em}
+\newdimen\FV@BreakSymbolSepRight
+\define@key{FV}{breaksymbolsepright}{\FV@BreakSymbolSepRight=#1}
+\fvset{breaksymbolsepright=1em}
+\newdimen\FV@BreakSymbolIndentLeft
+\settowidth{\FV@BreakSymbolIndentLeft}{\ttfamily xxxx}
+\define@key{FV}{breaksymbolindentleft}{\FV@BreakSymbolIndentLeft=#1}
+\define@key{FV}{breaksymbolindent}{\fvset{breaksymbolindentleft=#1}}
+\newdimen\FV@BreakSymbolIndentRight
+\settowidth{\FV@BreakSymbolIndentRight}{\ttfamily xxxx}
+\define@key{FV}{breaksymbolindentright}{\FV@BreakSymbolIndentRight=#1}
+\newcommand{\FancyVerbFormatBreakSymbolLeft}[1]{%
+ \ifnum\value{linenumber}=1\relax\else{#1}\fi}
+\newcounter{FancyVerbLineBreakLast}
+\newcommand{\FV@SetLineBreakLast}{%
+ \setcounter{FancyVerbLineBreakLast}{\value{linenumber}}}
+\newcommand{\FancyVerbFormatBreakSymbolRight}[1]{%
+ \ifnum\value{linenumber}=\value{FancyVerbLineBreakLast}\relax\else{#1}\fi}
+\newsavebox{\FV@LineBox}
+\newsavebox{\FV@LineIndentBox}
+\let\FV@LineIndentChars\@empty
+\def\FV@GetNextChar{\let\FV@NextChar=}
+\def\FV@CleanRemainingChars#1\FV@Undefined{}
+\def\FV@GetLineIndent{\afterassignment\FV@CheckIndentChar\FV@GetNextChar}
+\def\FV@CheckIndentChar{%
+ \ifx\FV@NextChar\FV@Undefined
+ \let\FV@Next=\relax
+ \else
+ \expandafter\ifx\FV@NextChar\FV@Space
+ \g@addto@macro{\FV@LineIndentChars}{\FV@Space}%
+ \let\FV@Next=\FV@GetLineIndent
+ \else
+ \expandafter\ifx\FV@NextChar\FV@Tab
+ \g@addto@macro{\FV@LineIndentChars}{\FV@Tab}%
+ \let\FV@Next=\FV@GetLineIndent
+ \else
+ \let\FV@Next=\FV@CleanRemainingChars
+ \fi
+ \fi
+ \fi
+ \FV@Next
+}
+\def\FV@makeLineNumber{%
+ \hss
+ \FancyVerbFormatBreakSymbolLeft{\FancyVerbBreakSymbolLeft}%
+ \hbox to \FV@BreakSymbolSepLeft{\hfill}%
+ \rlap{\hskip\linewidth
+ \hbox to \FV@BreakSymbolSepRight{\hfill}%
+ \FancyVerbFormatBreakSymbolRight{\FancyVerbBreakSymbolRight}%
+ \FV@SetLineBreakLast
+ }%
+}
+\def\FV@SaveLineBox#1{%
+ \savebox{\FV@LineBox}{%
+ \advance\linewidth by -\FV@BreakIndent
+ \hbox to \FV@BreakIndent{\hfill}%
+ \ifthenelse{\boolean{FV@BreakAutoIndent}}%
+ {\let\FV@LineIndentChars\@empty
+ \FV@GetLineIndent#1\FV@Undefined
+ \savebox{\FV@LineIndentBox}{\FV@LineIndentChars}%
+ \hbox to \wd\FV@LineIndentBox{\hfill}%
+ \advance\linewidth by -\wd\FV@LineIndentBox}%
+ {}%
+ \ifdefempty{\FancyVerbBreakSymbolLeft}{}%
+ {\hbox to \FV@BreakSymbolIndentLeft{\hfill}%
+ \advance\linewidth by -\FV@BreakSymbolIndentLeft}%
+ \ifdefempty{\FancyVerbBreakSymbolRight}{}%
+ {\advance\linewidth by -\FV@BreakSymbolIndentRight}%
+ \parbox[t]{\linewidth}{%
+ \raggedright
+ \leftlinenumbers*
+ \begin{internallinenumbers*}%
+ \let\makeLineNumber\FV@makeLineNumber
+ \noindent\hspace*{-\FV@BreakIndent}%
+ \ifdefempty{\FancyVerbBreakSymbolLeft}{}{%
+ \hspace*{-\FV@BreakSymbolIndentLeft}}%
+ \ifthenelse{\boolean{FV@BreakAutoIndent}}%
+ {\hspace*{-\wd\FV@LineIndentBox}}%
+ {}%
+ \strut#1\strut
+ \end{internallinenumbers*}
+ }%
+ \ifdefempty{\FancyVerbBreakSymbolRight}{}%
+ {\hbox to \FV@BreakSymbolIndentRight{\hfill}}%
+ }%
+}
+\def\FV@ListProcessLine@Break#1{%
+ \hbox to \hsize{%
+ \kern\leftmargin
+ \hbox to \linewidth{%
+ \ifx\FV@RightListFrame\relax\else
+ \advance\linewidth by -\FV@FrameSep
+ \advance\linewidth by -\FV@FrameRule
+ \fi
+ \ifx\FV@LeftListFrame\relax\else
+ \advance\linewidth by -\FV@FrameSep
+ \advance\linewidth by -\FV@FrameRule
+ \fi
+ \sbox{\FV@LineBox}{\FancyVerbFormatLine{#1}}%
+ \ifdim\wd\FV@LineBox>\linewidth
+ \setcounter{FancyVerbLineBreakLast}{0}%
+ \FV@SaveLineBox{#1}%
+ \ifdefempty{\FancyVerbBreakSymbolRight}{}{%
+ \let\FV@SetLineBreakLast\relax
+ \FV@SaveLineBox{#1}}%
+ \FV@LeftListNumber
+ \FV@LeftListFrame
+ \FancyVerbFormatLine{\usebox{\FV@LineBox}}%
+ \FV@RightListFrame
+ \FV@RightListNumber
+ \else
+ \FV@LeftListNumber
+ \FV@LeftListFrame
+ \FancyVerbFormatLine{%
+ \parbox[t]{\linewidth}{\noindent\strut#1\strut}}%
+ \FV@RightListFrame
+ \FV@RightListNumber
+ \fi}%
+ \hss}\baselineskip\z@\lineskip\z@}
+\fi
\newsavebox{\minted@bgbox}
\newenvironment{minted@colorbg}[1]{
- \def\minted@bgcol{#1}
- \noindent
- \begin{lrbox}{\minted@bgbox}
- \begin{minipage}{\linewidth-2\fboxsep}}
+ %\setlength{\fboxsep}{-\fboxrule}
+ \def\minted@bgcol{#1}
+ \noindent
+ \begin{lrbox}{\minted@bgbox}
+ \begin{minipage}{\linewidth-2\fboxsep}}
{\end{minipage}
- \end{lrbox}%
- \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
+ \end{lrbox}%
+ \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\newwrite\minted@code
-\newcommand\minted@savecode[1]{
- \immediate\openout\minted@code\jobname.pyg
- \immediate\write\minted@code{#1}
+\newcommand{\minted@savecode}[1]{
+ \immediate\openout\minted@code\jobname.pyg\relax
+ \immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}%
\immediate\closeout\minted@code}
-\newcommand\minted@pygmentize[2][\jobname.pyg]{
- \def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
- \minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
- \minted@opt{startinline} \minted@opt{funcnamehighlighting}
- \minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
- -o \jobname.out.pyg #1}
- \immediate\write18{\minted@cmd}
- % For debugging, uncomment:
- %\immediate\typeout{\minted@cmd}
- \ifthenelse{\equal{\minted@opt@bgcolor}{}}
- {}
- {\begin{minted@colorbg}{\minted@opt@bgcolor}}
- \input{\jobname.out.pyg}
- \ifthenelse{\equal{\minted@opt@bgcolor}{}}
- {}
- {\end{minted@colorbg}}
- \DeleteFile{\jobname.out.pyg}}
-\newcommand\minted@usedefaultstyle{\usemintedstyle{default}}
-\newcommand\usemintedstyle[1]{
- \renewcommand\minted@usedefaultstyle{}
- \immediate\write18{pygmentize -S #1 -f latex > \jobname.pyg}
- \input{\jobname.pyg}}
-\newcommand\mint[3][]{
- \DefineShortVerb{#3}
- \minted@resetoptions
- \setkeys{minted@opt}{#1}
- \SaveVerb[aftersave={
- \UndefineShortVerb{#3}
- \minted@savecode{\FV@SV@minted@verb}
- \minted@pygmentize{#2}
- \DeleteFile{\jobname.pyg}}]{minted@verb}#3}
-\newcommand\minted@proglang[1]{}
-\newenvironment{minted}[2][]
- {\VerbatimEnvironment
- \renewcommand{\minted@proglang}[1]{#2}
- \minted@resetoptions
- \setkeys{minted@opt}{#1}
- \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
- {\end{VerbatimOut}
- \minted@pygmentize{\minted@proglang{}}
- \DeleteFile{\jobname.pyg}}
-\newcommand\inputminted[3][]{
- \minted@resetoptions
- \setkeys{minted@opt}{#1}
- \minted@pygmentize[#3]{#2}}
-\newcommand\newminted[3][]{
+\newcounter{minted@FancyVerbLineTemp}
+\newcommand{\minted@write@detok}[1]{%
+ \immediate\write\FV@OutFile{\detokenize{#1}}}
+\newcommand{\minted@FVB@VerbatimOut}[1]{%
+ \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}%
+ \@bsphack
+ \begingroup
+ \FV@UseKeyValues
+ \FV@DefineWhiteSpace
+ \def\FV@Space{\space}%
+ \FV@DefineTabOut
+ \let\FV@ProcessLine\minted@write@detok
+ \immediate\openout\FV@OutFile #1\relax
+ \let\FV@FontScanPrep\relax
+ \let\@noligs\relax
+ \FV@Scan}
+\newcommand{\minted@FVE@VerbatimOut}{%
+ \immediate\closeout\FV@OutFile\endgroup\@esphack
+ \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}}%
+\newcommand{\MintedPygmentize}{pygmentize}
+\newcommand{\minted@pygmentize}[2][\minted@outputdir\jobname.pyg]{%
+ \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
+ {\def\minted@codefile{\minted@outputdir\jobname.pyg}}%
+ {\def\minted@codefile{#1}}%
+ \ifthenelse{\boolean{minted@isinline}}%
+ {\def\minted@optlistcl@inlines{%
+ \minted@optlistcl@g@i
+ \csname minted@optlistcl@lang\minted@lang @i\endcsname}}%
+ {\let\minted@optlistcl@inlines\@empty}%
+ \def\minted@cmd{%
+ \ifminted@kpsewhich\ifwindows powershell\space\fi\fi
+ \MintedPygmentize\space -l #2
+ -f latex -F tokenmerge
+ \minted@optlistcl@g \csname minted@optlistcl@lang\minted@lang\endcsname
+ \minted@optlistcl@inlines
+ \minted@optlistcl@cmd -o "\minted@outputdir\minted@infile"
+ \ifminted@kpsewhich
+ \ifwindows
+ \detokenize{$}(kpsewhich "\minted@codefile")%
+ \else
+ \detokenize{`}kpsewhich "\minted@codefile"
+ \detokenize{||} "\minted@codefile"\detokenize{`}%
+ \fi
+ \else
+ "\minted@codefile"
+ \fi}%
+ % For debugging, uncomment: %%%%
+ % \immediate\typeout{\minted@cmd}%
+ % %%%%
+ \ifthenelse{\boolean{minted@cache}}%
+ {%
+ \ifx\XeTeXinterchartoks\minted@undefined
+ \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
+ {\edef\minted@hash{\pdf@filemdfivesum{#1}%
+ \pdf@mdfivesum{\minted@cmd autogobble}}}%
+ {\edef\minted@hash{\pdf@filemdfivesum{#1}%
+ \pdf@mdfivesum{\minted@cmd}}}%
+ \else
+ \immediate\openout\minted@code\jobname.mintedcmd\relax
+ \immediate\write\minted@code{\minted@cmd}%
+ \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}%
+ {\immediate\write\minted@code{autogobble}}{}%
+ \immediate\closeout\minted@code
+ %Cheating a little here by using ASCII codes to write `{` and `}`
+ %in the Python code
+ \def\minted@hashcmd{%
+ \detokenize{python -c "import hashlib;
+ hasher = hashlib.sha1();
+ f = open(\"}\minted@outputdir\jobname.mintedcmd\detokenize{\", \"rb\");
+ hasher.update(f.read());
+ f.close();
+ f = open(\"}#1\detokenize{\", \"rb\");
+ hasher.update(f.read());
+ f.close();
+ f = open(\"}\minted@outputdir\jobname.mintedmd5\detokenize{\", \"w\");
+ macro = \"\\edef\\minted@hash\" + chr(123) + hasher.hexdigest() + chr(125) + \"\";
+ f.write(\"\\makeatletter\" + macro + \"\\makeatother\\endinput\n\");
+ f.close();"}}%
+ \immediate\write18{\minted@hashcmd}%
+ \minted@input{\minted@outputdir\jobname.mintedmd5}%
+ \fi
+ \edef\minted@infile{\minted@cachedir/\minted@hash.pygtex}%
+ \IfFileExists{\minted@infile}{}{%
+ \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}{%
+ %Need a version of open() that supports encoding under Python 2
+ \edef\minted@autogobblecmd{%
+ \detokenize{python -c "import sys;
+ import textwrap;
+ from io import open;
+ f = open(\"}#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\");
+ t = f.read();
+ f.close();
+ f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\");
+ f.write(textwrap.dedent(t));
+ f.close();"}%
+ }%
+ \immediate\write18{\minted@autogobblecmd}}{}%
+ \immediate\write18{\minted@cmd}}%
+ \expandafter\minted@addcachefile\expandafter{\minted@hash.pygtex}%
+ \minted@inputpyg}%
+ {%
+ \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}{%
+ %Need a version of open() that supports encoding under Python 2
+ \edef\minted@autogobblecmd{%
+ \detokenize{python -c "import sys;
+ import textwrap;
+ from io import open;
+ f = open(\"}#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\");
+ t = f.read();
+ f.close();
+ f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\");
+ f.write(textwrap.dedent(t));
+ f.close();"}%
+ }%
+ \immediate\write18{\minted@autogobblecmd}}{}%
+ \immediate\write18{\minted@cmd}%
+ \minted@inputpyg}%
+}
+\def\FV@SpaceMMode{ }
+\newcommand{\minted@inputpyg}{%
+ \everymath\expandafter{\the\everymath\let\FV@Space\FV@SpaceMMode}%
+ \ifthenelse{\boolean{minted@isinline}}%
+ {\ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}%
+ {\let\FV@BeginVBox\relax
+ \let\FV@EndVBox\relax
+ \def\FV@BProcessLine##1{\FancyVerbFormatLine{##1}}%
+ \ifthenelse{\equal{\minted@get@opt{breakbytoken}{false}}{true}}%
+ {\expandafter\let\expandafter\minted@orig@PYG%
+ \csname PYG\minted@get@opt{style}{default}\endcsname
+ \expandafter\def\csname PYG\minted@get@opt{style}{default}\endcsname##1##2{%
+ \allowbreak{}\hbox{\minted@orig@PYG{##1}{##2}}}%
+ \minted@inputpyg@inline}%
+ {\minted@inputpyg@inline}}%
+ {\minted@inputpyg@inline}}%
+ {\ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}%
+ {\ifthenelse{\equal{\minted@get@opt{breakbytoken}{false}}{true}}%
+ {\expandafter\let\expandafter\minted@orig@PYG%
+ \csname PYG\minted@get@opt{style}{default}\endcsname
+ \expandafter\def\csname PYG\minted@get@opt{style}{default}\endcsname##1##2{%
+ \allowbreak{}\hbox{\minted@orig@PYG{##1}{##2}}}%
+ \minted@inputpyg@block}%
+ {\minted@inputpyg@block}}%
+ {\minted@inputpyg@block}}%
+}
+\def\minted@inputpyg@inline{%
+ \ifthenelse{\equal{\minted@get@opt{bgcolor}{}}{}}%
+ {\minted@input{\minted@outputdir\minted@infile}}%
+ {\colorbox{\minted@get@opt{bgcolor}{}}{\minted@input{\minted@outputdir\minted@infile}}}%
+}
+\def\minted@inputpyg@block{%
+ \ifthenelse{\equal{\minted@get@opt{bgcolor}{}}{}}%
+ {\minted@input{\minted@outputdir\minted@infile}}%
+ {\begin{minted@colorbg}{\minted@get@opt{bgcolor}{}}%
+ \minted@input{\minted@outputdir\minted@infile}%
+ \end{minted@colorbg}}}
+\newcommand{\minted@langlinenoson}{%
+ \ifcsname c@minted@lang\minted@lang\endcsname\else
+ \newcounter{minted@lang\minted@lang}%
+ \fi
+ \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}%
+ \setcounter{FancyVerbLine}{\value{minted@lang\minted@lang}}%
+}
+\newcommand{\minted@langlinenosoff}{%
+ \setcounter{minted@lang\minted@lang}{\value{FancyVerbLine}}%
+ \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}%
+}
+\ifthenelse{\boolean{minted@langlinenos}}{}{%
+ \let\minted@langlinenoson\relax
+ \let\minted@langlinenosoff\relax
+}
+\newcommand{\setminted}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\setkeys{minted@opt@g}{#2}}%
+ {\minted@configlang{#1}%
+ \setkeys{minted@opt@lang}{#2}}}
+\newcommand{\setmintedinline}[2][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\setkeys{minted@opt@g@i}{#2}}%
+ {\minted@configlang{#1}%
+ \setkeys{minted@opt@lang@i}{#2}}}
+\setmintedinline[php]{startinline=true}
+\newcommand{\usemintedstyle}[2][]{\setminted[#1]{style=#2}}
+\begingroup
+\catcode`\ =\active
+\catcode`\^^I=\active
+\gdef\minted@defwhitespace@retok{\def {\noexpand\FV@Space}\def^^I{\noexpand\FV@Tab}}%
+\endgroup
+\newcommand{\minted@writecmdcode}[1]{%
+ \immediate\openout\minted@code\jobname.pyg\relax
+ \immediate\write\minted@code{\detokenize{#1}}%
+ \immediate\closeout\minted@code}
+\newrobustcmd{\mintinline}[2][]{%
+ \begingroup
+ \setboolean{minted@isinline}{true}%
+ \minted@configlang{#2}%
+ \setkeys{minted@opt@cmd}{#1}%
+ \minted@fvset
+ \begingroup
+ \let\do\@makeother\dospecials
+ \catcode`\{=1
+ \catcode`\}=2
+ \catcode`\^^I=\active
+ \@ifnextchar\bgroup
+ {\minted@inline@iii}%
+ {\catcode`\{=12\catcode`\}=12
+ \minted@inline@i}}
+\def\minted@inline@i#1{%
+ \endgroup
+ \def\minted@inline@ii##1#1{%
+ \minted@inline@iii{##1}}%
+ \begingroup
+ \let\do\@makeother\dospecials
+ \catcode`\^^I=\active
+ \minted@inline@ii}
+\ifthenelse{\boolean{minted@draft}}%
+ {\newcommand{\minted@inline@iii}[1]{%
+ \endgroup
+ \begingroup
+ \minted@defwhitespace@retok
+ \everyeof{\noexpand}%
+ \endlinechar-1\relax
+ \let\do\@makeother\dospecials
+ \catcode`\ =\active
+ \catcode`\^^I=\active
+ \xdef\minted@tmp{\scantokens{#1}}%
+ \endgroup
+ \let\FV@Line\minted@tmp
+ \def\FV@SV@minted@tmp{%
+ \FV@Gobble
+ \expandafter\FV@ProcessLine\expandafter{\FV@Line}}%
+ \ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}%
+ {\let\FV@BeginVBox\relax
+ \let\FV@EndVBox\relax
+ \def\FV@BProcessLine##1{\FancyVerbFormatLine{##1}}%
+ \BUseVerbatim{minted@tmp}}%
+ {\BUseVerbatim{minted@tmp}}%
+ \endgroup}}%
+ {\newcommand{\minted@inline@iii}[1]{%
+ \endgroup
+ \minted@writecmdcode{#1}%
+ \RecustomVerbatimEnvironment{Verbatim}{BVerbatim}{}%
+ \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}%
+ \minted@pygmentize{\minted@lang}%
+ \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}%
+ \endgroup}}
+\newrobustcmd{\mint}[2][]{%
+ \begingroup
+ \minted@configlang{#2}%
+ \setkeys{minted@opt@cmd}{#1}%
+ \minted@fvset
+ \begingroup
+ \let\do\@makeother\dospecials
+ \catcode`\{=1
+ \catcode`\}=2
+ \catcode`\^^I=\active
+ \@ifnextchar\bgroup
+ {\mint@iii}%
+ {\catcode`\{=12\catcode`\}=12
+ \mint@i}}
+\def\mint@i#1{%
+ \endgroup
+ \def\mint@ii##1#1{%
+ \mint@iii{##1}}%
+ \begingroup
+ \let\do\@makeother\dospecials
+ \catcode`\^^I=\active
+ \mint@ii}
+\ifthenelse{\boolean{minted@draft}}%
+ {\newcommand{\mint@iii}[1]{%
+ \endgroup
+ \begingroup
+ \minted@defwhitespace@retok
+ \everyeof{\noexpand}%
+ \endlinechar-1\relax
+ \let\do\@makeother\dospecials
+ \catcode`\ =\active
+ \catcode`\^^I=\active
+ \xdef\minted@tmp{\scantokens{#1}}%
+ \endgroup
+ \let\FV@Line\minted@tmp
+ \def\FV@SV@minted@tmp{%
+ \FV@CodeLineNo=1\FV@StepLineNo
+ \FV@Gobble
+ \expandafter\FV@ProcessLine\expandafter{\FV@Line}}%
+ \minted@langlinenoson
+ \UseVerbatim{minted@tmp}%
+ \minted@langlinenosoff
+ \endgroup}}%
+ {\newcommand{\mint@iii}[1]{%
+ \endgroup
+ \minted@writecmdcode{#1}%
+ \minted@langlinenoson
+ \minted@pygmentize{\minted@lang}%
+ \minted@langlinenosoff
+ \endgroup}}
+\ifthenelse{\boolean{minted@draft}}%
+ {\newenvironment{minted}[2][]
+ {\VerbatimEnvironment
+ \minted@configlang{#2}%
+ \setkeys{minted@opt@cmd}{#1}%
+ \minted@fvset
+ \minted@langlinenoson
+ \begin{Verbatim}}%
+ {\end{Verbatim}%
+ \minted@langlinenosoff}}%
+ {\newenvironment{minted}[2][]
+ {\VerbatimEnvironment
+ \let\FVB@VerbatimOut\minted@FVB@VerbatimOut
+ \let\FVE@VerbatimOut\minted@FVE@VerbatimOut
+ \minted@configlang{#2}%
+ \setkeys{minted@opt@cmd}{#1}%
+ \minted@fvset
+ \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
+ {\end{VerbatimOut}%
+ \minted@langlinenoson
+ \minted@pygmentize{\minted@lang}%
+ \minted@langlinenosoff}}
+\ifthenelse{\boolean{minted@draft}}%
+ {\newcommand{\inputminted}[3][]{%
+ \begingroup
+ \minted@configlang{#2}%
+ \setkeys{minted@optcmd}{#1}%
+ \minted@fvset
+ \VerbatimInput{#3}%
+ \endgroup}}%
+ {\newcommand{\inputminted}[3][]{%
+ \begingroup
+ \minted@configlang{#2}%
+ \setkeys{minted@opt@cmd}{#1}%
+ \minted@fvset
+ \minted@pygmentize[#3]{#2}%
+ \endgroup}}
+\newcommand{\newminted}[3][]{
\ifthenelse{\equal{#1}{}}
- {\def\minted@envname{#2code}}
- {\def\minted@envname{#1}}
+ {\def\minted@envname{#2code}}
+ {\def\minted@envname{#1}}
\newenvironment{\minted@envname}
- {\VerbatimEnvironment\begin{minted}[#3]{#2}}
- {\end{minted}}
+ {\VerbatimEnvironment
+ \begin{minted}[#3]{#2}}
+ {\end{minted}}
\newenvironment{\minted@envname *}[1]
- {\VerbatimEnvironment\begin{minted}[#3,##1]{#2}}
- {\end{minted}}}
-\newcommand\newmint[3][]{
+ {\VerbatimEnvironment\begin{minted}[#3,##1]{#2}}
+ {\end{minted}}}
+\newcommand{\newmint}[3][]{
\ifthenelse{\equal{#1}{}}
- {\def\minted@shortname{#2}}
- {\def\minted@shortname{#1}}
+ {\def\minted@shortname{#2}}
+ {\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\mint[#3,##1]{#2}##2}}
-\newcommand\newmintedfile[3][]{
+\newcommand{\newmintedfile}[3][]{
\ifthenelse{\equal{#1}{}}
- {\def\minted@shortname{#2file}}
- {\def\minted@shortname{#1}}
+ {\def\minted@shortname{#2file}}
+ {\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\inputminted[#3,##1]{#2}{##2}}}
-\@ifundefined{minted@float@within}
- {\newfloat{listing}{h}{lol}}
- {\newfloat{listing}{h}{lol}[\minted@float@within]}
-\newcommand\listingscaption{Listing}
+\newcommand{\newmintinline}[3][]{%
+ \ifthenelse{\equal{#1}{}}%
+ {\def\minted@shortname{#2inline}}%
+ {\def\minted@shortname{#1}}%
+ \expandafter\newrobustcmd\csname\minted@shortname\endcsname{%
+ \begingroup
+ \let\do\@makeother\dospecials
+ \catcode`\{=1
+ \catcode`\}=2
+ \@ifnextchar[{\endgroup\minted@inliner[#3][#2]}%
+ {\endgroup\minted@inliner[#3][#2][]}}%
+ \def\minted@inliner[##1][##2][##3]{\mintinline[##1,##3]{##2}}%
+}
+\ifthenelse{\boolean{minted@newfloat}}%
+ {\@ifundefined{minted@float@within}%
+ {\DeclareFloatingEnvironment[fileext=lol,placement=h]{listing}}%
+ {\def\minted@tmp#1{%
+ \DeclareFloatingEnvironment[fileext=lol,placement=h, within=#1]{listing}}%
+ \expandafter\minted@tmp\expandafter{\minted@float@within}}}%
+ {\@ifundefined{minted@float@within}%
+ {\newfloat{listing}{h}{lol}}%
+ {\newfloat{listing}{h}{lol}[\minted@float@within]}}
+\ifminted@newfloat\else
+\newcommand{\listingscaption}{Listing}
\floatname{listing}{\listingscaption}
-\newcommand\listoflistingscaption{List of listings}
-\providecommand\listoflistings{\listof{listing}{\listoflistingscaption}}
-\AtBeginDocument{
- \minted@usedefaultstyle}
-\AtEndOfPackage{
- \ifnum\pdf@shellescape=1\relax\else
- \PackageError{minted}
- {You must invoke LaTeX with the
- -shell-escape flag}
- {Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
- documentation for more information.}\fi
- \TestAppExists{pygmentize}
- \ifAppExists\else
- \PackageError{minted}
- {You must have `pygmentize' installed
- to use this package}
- {Refer to the installation instructions in the minted
- documentation for more information.}
- \fi}
+\newcommand{\listoflistingscaption}{List of Listings}
+\providecommand{\listoflistings}{\listof{listing}{\listoflistingscaption}}
+\fi
+\AtEndOfPackage{%
+ \ifthenelse{\boolean{minted@draft}}{}{%
+ \ifnum\pdf@shellescape=1\relax\else
+ \PackageError{minted}%
+ {You must invoke LaTeX with the
+ -shell-escape flag}%
+ {Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
+ documentation for more information.}%
+ \fi
+ \TestAppExists{pygmentize}
+ \ifAppExists\else
+ \PackageError{minted}%
+ {You must have `pygmentize' installed
+ to use this package}%
+ {Refer to the installation instructions in the minted
+ documentation for more information.}%
+ \fi
+ \setminted{style=default}%
+ }%
+}
+\AtEndDocument{
+ \ifx\XeTeXinterchartoks\minted@undefined
+ \else
+ \DeleteFile[\minted@outputdir]{\jobname.mintedcmd}%
+ \DeleteFile[\minted@outputdir]{\jobname.mintedmd5}%
+ \fi
+ \DeleteFile[\minted@outputdir]{\jobname.pyg}%
+ \DeleteFile[\minted@outputdir]{\jobname.out.pyg}%
+}
\endinput
%%
%% End of file `minted.sty'.
diff --git a/Master/texmf-dist/tex/latex/minted/minted1.sty b/Master/texmf-dist/tex/latex/minted/minted1.sty
new file mode 100644
index 00000000000..a8aaf50ad98
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/minted/minted1.sty
@@ -0,0 +1,261 @@
+%%
+%% This is file `minted1.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% minted.dtx (with options: `packageone')
+%% Copyright 2013--2015 Geoffrey M. Poore
+%% Copyright 2010--2011 Konrad Rudolph
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% Additionally, the project may be distributed under the terms of the new BSD
+%% license.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Geoffrey Poore.
+%%
+%% This work consists of the files minted.dtx and minted.ins
+%% and the derived file minted.sty.
+\NeedsTeXFormat{LaTeX2e}
+%%%% Begin minted1 modification
+%%\ProvidesPackage{minted}[2011/09/17 v1.7 Yet another Pygments shim for LaTeX]
+\ProvidesPackage{minted1}[2015/01/31 v1.0 minted 1.7 compatibility package]
+%%%% End minted1 modification
+\RequirePackage{keyval}
+\RequirePackage{fancyvrb}
+\RequirePackage{xcolor}
+\RequirePackage{float}
+\RequirePackage{ifthen}
+%%%% Begin minted1 modification
+\newboolean{mintedone@mintedloaded}
+\@ifpackageloaded{minted}%
+ {\setboolean{mintedone@mintedloaded}{true}%
+ \PackageError{minted1}{The package "minted1" may not be loaded after
+ ^^J"minted" has already been loaded--load "minted1" only for "minted"
+ ^^Jversion 1.7 compatibility}%
+ {Load "minted1" only when "minted" version 1.7 compatibility is required}}%
+ {}
+\ifmintedone@mintedloaded\else
+\@namedef{ver@minted.sty}{2011/09/17 v1.7 Yet another Pygments shim for LaTeX}
+\expandafter\let\expandafter\minted@tmp\csname opt@minted1.sty\endcsname
+\expandafter\let\csname opt@minted.sty\endcsname\minted@tmp
+\let\minted@tmp\relax
+%%%% End minted1 modification
+\RequirePackage{calc}
+\RequirePackage{ifplatform}
+\DeclareOption{chapter}{\def\minted@float@within{chapter}}
+\DeclareOption{section}{\def\minted@float@within{section}}
+\ProcessOptions\relax
+\ifwindows
+ \providecommand\DeleteFile[1]{\immediate\write18{del #1}}
+\else
+ \providecommand\DeleteFile[1]{\immediate\write18{rm #1}}
+\fi
+\newboolean{AppExists}
+\newcommand\TestAppExists[1]{
+ \ifwindows
+ \DeleteFile{\jobname.aex}
+ \immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd)
+ do set >\jobname.aex <nul: /p x=\string^\@percentchar \string~$PATH:i>>\jobname.aex} %$
+ \newread\@appexistsfile
+ \immediate\openin\@appexistsfile\jobname.aex
+ \expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar}
+ \endlinechar=-1\relax
+ \readline\@appexistsfile to \@apppathifexists
+ \endlinechar=\@tmp@cr
+ \ifthenelse{\equal{\@apppathifexists}{}}
+ {\AppExistsfalse}
+ {\AppExiststrue}
+ \immediate\closein\@appexistsfile
+ \DeleteFile{\jobname.aex}
+\immediate\typeout{file deleted}
+ \else
+ \immediate\write18{which #1 && touch \jobname.aex}
+ \IfFileExists{\jobname.aex}
+ {\AppExiststrue
+ \DeleteFile{\jobname.aex}}
+ {\AppExistsfalse}
+ \fi}
+\newcommand\minted@resetoptions{}
+\newcommand\minted@defopt[1]{
+ \expandafter\def\expandafter\minted@resetoptions\expandafter{%
+ \minted@resetoptions
+ \@namedef{minted@opt@#1}{}}}
+\newcommand\minted@opt[1]{
+ \expandafter\detokenize%
+ \expandafter\expandafter\expandafter{\csname minted@opt@#1\endcsname}}
+\newcommand\minted@define@opt[3][]{
+ \minted@defopt{#2}
+ \ifthenelse{\equal{#1}{}}{
+ \define@key{minted@opt}{#2}{\@namedef{minted@opt@#2}{#3}}}
+ {\define@key{minted@opt}{#2}[#1]{\@namedef{minted@opt@#2}{#3}}}}
+\newcommand\minted@define@switch[3][]{
+ \minted@defopt{#2}
+ \define@booleankey{minted@opt}{#2}
+ {\@namedef{minted@opt@#2}{#3}}
+ {\@namedef{minted@opt@#2}{#1}}}
+\minted@defopt{extra}
+\newcommand\minted@define@extra[1]{
+ \define@key{minted@opt}{#1}{
+ \expandafter\def\expandafter\minted@opt@extra\expandafter{%
+ \minted@opt@extra,#1=##1}}}
+\newcommand\minted@define@extra@switch[1]{
+ \define@booleankey{minted@opt}{#1}
+ {\expandafter\def\expandafter\minted@opt@extra\expandafter{%
+ \minted@opt@extra,#1}}
+ {\expandafter\def\expandafter\minted@opt@extra\expandafter{%
+ \minted@opt@extra,#1=false}}}
+\minted@define@switch{texcl}{-P texcomments}
+\minted@define@switch{mathescape}{-P mathescape}
+\minted@define@switch{linenos}{-P linenos}
+\minted@define@switch{startinline}{-P startinline}
+\minted@define@switch[-P funcnamehighlighting=False]%
+ {funcnamehighlighting}{-P funcnamehighlighting}
+\minted@define@opt{gobble}{-F gobble:n=#1}
+\minted@define@opt{bgcolor}{#1}
+\minted@define@extra{frame}
+\minted@define@extra{framesep}
+\minted@define@extra{framerule}
+\minted@define@extra{rulecolor}
+\minted@define@extra{numbersep}
+\minted@define@extra{firstnumber}
+\minted@define@extra{stepnumber}
+\minted@define@extra{firstline}
+\minted@define@extra{lastline}
+\minted@define@extra{baselinestretch}
+\minted@define@extra{xleftmargin}
+\minted@define@extra{xrightmargin}
+\minted@define@extra{fillcolor}
+\minted@define@extra{tabsize}
+\minted@define@extra{fontfamily}
+\minted@define@extra{fontsize}
+\minted@define@extra{fontshape}
+\minted@define@extra{fontseries}
+\minted@define@extra{formatcom}
+\minted@define@extra{label}
+\minted@define@extra@switch{numberblanklines}
+\minted@define@extra@switch{showspaces}
+\minted@define@extra@switch{resetmargins}
+\minted@define@extra@switch{samepage}
+\minted@define@extra@switch{showtabs}
+\minted@define@extra@switch{obeytabs}
+\newsavebox{\minted@bgbox}
+\newenvironment{minted@colorbg}[1]{
+ \def\minted@bgcol{#1}
+ \noindent
+ \begin{lrbox}{\minted@bgbox}
+ \begin{minipage}{\linewidth-2\fboxsep}}
+ {\end{minipage}
+ \end{lrbox}%
+ \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
+\newwrite\minted@code
+\newcommand\minted@savecode[1]{
+ \immediate\openout\minted@code\jobname.pyg
+ \immediate\write\minted@code{#1}
+ \immediate\closeout\minted@code}
+\newcommand\minted@pygmentize[2][\jobname.pyg]{
+ \def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
+ \minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
+ \minted@opt{startinline} \minted@opt{funcnamehighlighting}
+ \minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
+ -o \jobname.out.pyg #1}
+ \immediate\write18{\minted@cmd}
+ % For debugging, uncomment:
+ %\immediate\typeout{\minted@cmd}
+ \ifthenelse{\equal{\minted@opt@bgcolor}{}}
+ {}
+ {\begin{minted@colorbg}{\minted@opt@bgcolor}}
+ \input{\jobname.out.pyg}
+ \ifthenelse{\equal{\minted@opt@bgcolor}{}}
+ {}
+ {\end{minted@colorbg}}
+ \DeleteFile{\jobname.out.pyg}}
+\newcommand\minted@usedefaultstyle{\usemintedstyle{default}}
+\newcommand\usemintedstyle[1]{
+ \renewcommand\minted@usedefaultstyle{}
+ \immediate\write18{pygmentize -S #1 -f latex > \jobname.pyg}
+ \input{\jobname.pyg}}
+\newcommand\mint[3][]{
+ \DefineShortVerb{#3}
+ \minted@resetoptions
+ \setkeys{minted@opt}{#1}
+ \SaveVerb[aftersave={
+ \UndefineShortVerb{#3}
+ \minted@savecode{\FV@SV@minted@verb}
+ \minted@pygmentize{#2}
+ \DeleteFile{\jobname.pyg}}]{minted@verb}#3}
+\newcommand\minted@proglang[1]{}
+\newenvironment{minted}[2][]
+ {\VerbatimEnvironment
+ \renewcommand{\minted@proglang}[1]{#2}
+ \minted@resetoptions
+ \setkeys{minted@opt}{#1}
+ \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
+ {\end{VerbatimOut}
+ \minted@pygmentize{\minted@proglang{}}
+ \DeleteFile{\jobname.pyg}}
+\newcommand\inputminted[3][]{
+ \minted@resetoptions
+ \setkeys{minted@opt}{#1}
+ \minted@pygmentize[#3]{#2}}
+\newcommand\newminted[3][]{
+ \ifthenelse{\equal{#1}{}}
+ {\def\minted@envname{#2code}}
+ {\def\minted@envname{#1}}
+ \newenvironment{\minted@envname}
+ {\VerbatimEnvironment\begin{minted}[#3]{#2}}
+ {\end{minted}}
+ \newenvironment{\minted@envname *}[1]
+ {\VerbatimEnvironment\begin{minted}[#3,##1]{#2}}
+ {\end{minted}}}
+\newcommand\newmint[3][]{
+ \ifthenelse{\equal{#1}{}}
+ {\def\minted@shortname{#2}}
+ {\def\minted@shortname{#1}}
+ \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
+ \mint[#3,##1]{#2}##2}}
+\newcommand\newmintedfile[3][]{
+ \ifthenelse{\equal{#1}{}}
+ {\def\minted@shortname{#2file}}
+ {\def\minted@shortname{#1}}
+ \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
+ \inputminted[#3,##1]{#2}{##2}}}
+\@ifundefined{minted@float@within}
+ {\newfloat{listing}{h}{lol}}
+ {\newfloat{listing}{h}{lol}[\minted@float@within]}
+\newcommand\listingscaption{Listing}
+\floatname{listing}{\listingscaption}
+\newcommand\listoflistingscaption{List of listings}
+\providecommand\listoflistings{\listof{listing}{\listoflistingscaption}}
+\AtBeginDocument{
+ \minted@usedefaultstyle}
+\AtEndOfPackage{
+ \ifnum\pdf@shellescape=1\relax\else
+ \PackageError{minted}
+ {You must invoke LaTeX with the
+ -shell-escape flag}
+ {Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
+ documentation for more information.}\fi
+ \TestAppExists{pygmentize}
+ \ifAppExists\else
+ \PackageError{minted}
+ {You must have `pygmentize' installed
+ to use this package}
+ {Refer to the installation instructions in the minted
+ documentation for more information.}
+ \fi}
+%%%% Begin minted1 modification
+\fi
+%%%% End minted1 modification
+\endinput
+%%
+%% End of file `minted1.sty'.