|
@@ -1,711 +0,0 @@
|
|
|
-%%
|
|
|
-%% This is file `minted.sty',
|
|
|
-%% generated with the docstrip utility.
|
|
|
-%%
|
|
|
-%% The original source files were:
|
|
|
-%%
|
|
|
-%% minted.dtx (with options: `package')
|
|
|
-%% 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 Konrad Rudolph.
|
|
|
-%%
|
|
|
-%% This work consists of the files minted.dtx and minted.ins
|
|
|
-%% and the derived file minted.sty.
|
|
|
-\NeedsTeXFormat{LaTeX2e}
|
|
|
-\ProvidesPackage{minted}[2013/12/21 v2.0-alpha3 ]
|
|
|
-\RequirePackage{keyval}
|
|
|
-\RequirePackage{kvoptions}
|
|
|
-\RequirePackage{fancyvrb}
|
|
|
-\RequirePackage{float}
|
|
|
-\RequirePackage{ifthen}
|
|
|
-\RequirePackage{calc}
|
|
|
-\RequirePackage{ifplatform}
|
|
|
-\RequirePackage{pdftexcmds}
|
|
|
-\RequirePackage{etoolbox}
|
|
|
-\RequirePackage{xstring}
|
|
|
-\AtBeginDocument{\@ifpackageloaded{color}{}{\RequirePackage{xcolor}}}
|
|
|
-\DeclareVoidOption{chapter}{\def\minted@float@within{chapter}}
|
|
|
-\DeclareVoidOption{section}{\def\minted@float@within{section}}
|
|
|
-\newboolean{minted@cache}
|
|
|
-\DeclareVoidOption{cache}{%
|
|
|
- \minted@cachetrue
|
|
|
- \AtEndOfPackage{\ProvideDirectory{\minted@outputdir\minted@cachedir}}%
|
|
|
-}
|
|
|
-\StrSubstitute{\jobname}{ }{_}[\minted@jobname]
|
|
|
-\StrSubstitute{\minted@jobname}{"}{}[\minted@jobname]
|
|
|
-\StrSubstitute{\minted@jobname}{*}{-}[\minted@jobname]
|
|
|
-\newcommand{\minted@cachedir}{.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]}
|
|
|
-\newboolean{minted@langlinenos}
|
|
|
-\DeclareVoidOption{langlinenos}{\minted@langlinenostrue}
|
|
|
-\ProcessKeyvalOptions*
|
|
|
-\newcommand{\minted@infile}{\jobname.out.pyg}
|
|
|
-\newcommand{\minted@cachefiles}{}
|
|
|
-\newcommand{\minted@addcachefile}[1]{%
|
|
|
- \expandafter\gdef\expandafter\minted@cachefiles\expandafter{%
|
|
|
- \minted@cachefiles,#1}%
|
|
|
- \expandafter\gdef\csname minted@current@#1\endcsname{}%
|
|
|
-}
|
|
|
-\newcommand{\minted@savecachefiles}{%
|
|
|
- \immediate\write\@mainaux{%
|
|
|
- \string\gdef\string\minted@oldcachefiles\string{%
|
|
|
- \minted@cachefiles\string}}%
|
|
|
-}
|
|
|
-\newcommand{\minted@cleancache}{%
|
|
|
- \ifthenelse{\boolean{minted@cache}}{%
|
|
|
- \ifcsname minted@oldcachefiles\endcsname
|
|
|
- \renewcommand{\do}[1]{%
|
|
|
- \ifthenelse{\equal{##1}{}}{}{%
|
|
|
- \ifcsname minted@current@##1\endcsname\else
|
|
|
- \DeleteFile[\minted@outputdir\minted@cachedir]{##1.pygtex}%
|
|
|
- \fi
|
|
|
- }%
|
|
|
- }%
|
|
|
- \expandafter\docsvlist\expandafter{\minted@oldcachefiles}%
|
|
|
- \else
|
|
|
- \fi
|
|
|
- }{}%
|
|
|
-}
|
|
|
-\ifthenelse{\boolean{minted@cache}}%
|
|
|
- {\AtEndDocument{%
|
|
|
- \minted@savecachefiles
|
|
|
- \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
|
|
|
- \newcommand{\ProvideDirectory}[1]{%
|
|
|
- \StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir]
|
|
|
- \immediate\write18{if not exist "\minted@windir" mkdir "\minted@windir"}}
|
|
|
-\else
|
|
|
- \newcommand{\ProvideDirectory}[1]{%
|
|
|
- \immediate\write18{mkdir -p "#1"}}
|
|
|
-\fi
|
|
|
-\newboolean{AppExists}
|
|
|
-\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}
|
|
|
- %$ <- balance syntax highlighting
|
|
|
- \immediate\openin\minted@appexistsfile\jobname.aex
|
|
|
- \expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar}
|
|
|
- \endlinechar=-1\relax
|
|
|
- \readline\minted@appexistsfile to \minted@apppathifexists
|
|
|
- \endlinechar=\@tmp@cr
|
|
|
- \ifthenelse{\equal{\minted@apppathifexists}{}}
|
|
|
- {\AppExistsfalse}
|
|
|
- {\AppExiststrue}
|
|
|
- \immediate\closein\minted@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@optg}{}
|
|
|
-\let\minted@lang\@empty
|
|
|
-\newcommand{\minted@optlang}{}
|
|
|
-\newcommand{\minted@optcmd}{}
|
|
|
-\newcommand{\minted@checklang}{%
|
|
|
- \ifcsname minted@optlang\minted@lang\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang\endcsname{}%
|
|
|
- \fi
|
|
|
- \ifcsname minted@optlang\minted@lang @extra\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newcommand{\minted@resetoptcmd}{%
|
|
|
- \@namedef{minted@optcmd@extra}{}%
|
|
|
- \let\minted@optcmd@autogobble\relax}
|
|
|
-\newcommand{\minted@getoptg}[1]{%
|
|
|
- \expandafter\detokenize%
|
|
|
- \expandafter\expandafter\expandafter{\csname minted@optg@#1\endcsname}}
|
|
|
-\newcommand{\minted@getoptlang}[1]{%
|
|
|
- \expandafter\detokenize\expandafter\expandafter\expandafter{%
|
|
|
- \csname minted@optlang\minted@lang @#1\endcsname}}
|
|
|
-\newcommand{\minted@getoptcmd}[1]{%
|
|
|
- \expandafter\detokenize%
|
|
|
- \expandafter\expandafter\expandafter{\csname minted@optcmd@#1\endcsname}}
|
|
|
-\newcommand{\minted@regoptg}[1]{%
|
|
|
- \ifcsname minted@optg@#1@reg\endcsname\else
|
|
|
- \expandafter\let\csname minted@optg@#1@reg\endcsname\@empty
|
|
|
- \expandafter\def\expandafter\minted@optg\expandafter{%
|
|
|
- \minted@optg\space\minted@getoptg{#1}}%
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newcommand{\minted@regoptlang}[1]{%
|
|
|
- \ifcsname minted@optlang\minted@lang @#1@reg\endcsname\else
|
|
|
- \ifcsname minted@optlang\minted@lang\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang\endcsname{}%
|
|
|
- \fi
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang @#1@reg\endcsname\@empty
|
|
|
- \expandafter\let\expandafter\minted@optlang%
|
|
|
- \csname minted@optlang\minted@lang\endcsname
|
|
|
- \expandafter\def\expandafter\minted@optlang\expandafter{%
|
|
|
- \minted@optlang\space\minted@getoptlang{#1}}%
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang\endcsname\minted@optlang
|
|
|
- \let\minted@optlang\@empty
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newcommand{\minted@regoptcmd}[1]{%
|
|
|
- \ifcsname minted@optcmd@#1@reg\endcsname\else
|
|
|
- \expandafter\let\csname minted@optcmd@#1@reg\endcsname\@empty
|
|
|
- \expandafter\def\expandafter\minted@optcmd\expandafter{%
|
|
|
- \minted@optcmd\space\minted@getoptcmd{#1}}%
|
|
|
- \expandafter\def\expandafter\minted@resetoptcmd\expandafter{%
|
|
|
- \minted@resetoptcmd
|
|
|
- \@namedef{minted@optcmd@#1}{}}
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newcommand{\minted@define@opt}[4][]{%
|
|
|
- \ifthenelse{\equal{#1}{}}%
|
|
|
- {\define@key{minted@optg}{#2}{\@namedef{minted@optg@#2}{#3=#4}%
|
|
|
- \@namedef{minted@optg@#2@val}{#4}%
|
|
|
- \minted@regoptg{#2}}%
|
|
|
- \define@key{minted@optlang}{#2}{%
|
|
|
- \@namedef{minted@optlang\minted@lang @#2}{#3=#4}%
|
|
|
- \@namedef{minted@optlang\minted@lang @#2@val}{#4}%
|
|
|
- \minted@regoptlang{#2}}%
|
|
|
- \define@key{minted@optcmd}{#2}{\@namedef{minted@optcmd@#2}{#3=#4}%
|
|
|
- \@namedef{minted@optcmd@#2@val}{#4}%
|
|
|
- \minted@regoptcmd{#2}}}%
|
|
|
- {\define@key{minted@optg}{#2}[#1]{\@namedef{minted@optg@#2}{#3=#4}%
|
|
|
- \@namedef{minted@optg@#2@val}{#4}%
|
|
|
- \minted@regoptg{#2}}%
|
|
|
- \define@key{minted@optlang}{#2}[#1]{%
|
|
|
- \@namedef{minted@optlang\minted@lang @#2}{#3=#4}%
|
|
|
- \@namedef{minted@optlang\minted@lang @#2@val}{#4}%
|
|
|
- \minted@regoptlang{#2}}%
|
|
|
- \define@key{minted@optcmd}{#2}[#1]{\@namedef{minted@optcmd@#2}{#3=#4}%
|
|
|
- \@namedef{minted@optcmd@#2@val}{#4}%
|
|
|
- \minted@regoptcmd{#2}}}%
|
|
|
-}
|
|
|
-\newcommand{\minted@define@optstyle}{%
|
|
|
- \define@key{minted@optg}{style}{%
|
|
|
- \@namedef{minted@optg@style}{-P style=##1 -P commandprefix=PYG##1}%
|
|
|
- \minted@regoptg{style}\minted@regstyle{##1}}%
|
|
|
- \define@key{minted@optlang}{style}{%
|
|
|
- \@namedef{minted@optlang\minted@lang @style}%
|
|
|
- {-P style=##1 -P commandprefix=PYG##1}%
|
|
|
- \minted@regoptlang{style}\minted@regstyle{##1}}%
|
|
|
- \define@key{minted@optcmd}{style}{%
|
|
|
- \@namedef{minted@optcmd@style}{-P style=##1 -P commandprefix=PYG##1}%
|
|
|
- \minted@regoptcmd{style}\minted@regstyle{##1}}%
|
|
|
-}
|
|
|
-\newcommand{\minted@regstyle}[1]{%
|
|
|
- \ifcsname minted@stylereg@#1\endcsname\else
|
|
|
- \expandafter\global\expandafter%
|
|
|
- \let\csname minted@stylereg@#1\endcsname\@empty
|
|
|
- \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
|
|
|
- \input{\minted@outputdir\minted@cachedir/#1.pygstyle}%
|
|
|
- \endgroup}%
|
|
|
- {\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
|
|
|
- \input{\minted@outputdir\jobname.out.pyg}%
|
|
|
- \endgroup}%
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newcommand{\minted@define@switch}[3][]{
|
|
|
- \define@booleankey{minted@optg}{#2}
|
|
|
- {\@namedef{minted@optg@#2}{#3}\minted@regoptg{#2}}
|
|
|
- {\@namedef{minted@optg@#2}{#1}\minted@regoptg{#2}}
|
|
|
- \define@booleankey{minted@optlang}{#2}
|
|
|
- {\@namedef{minted@optlang\minted@lang @#2}{#3}\minted@regoptlang{#2}}
|
|
|
- {\@namedef{minted@optlang\minted@lang @#2}{#1}\minted@regoptlang{#2}}
|
|
|
- \define@booleankey{minted@optcmd}{#2}
|
|
|
- {\@namedef{minted@optcmd@#2}{#3}\minted@regoptcmd{#2}}
|
|
|
- {\@namedef{minted@optcmd@#2}{#1}\minted@regoptcmd{#2}}
|
|
|
-}
|
|
|
-\newcommand{\minted@define@extra}[1]{
|
|
|
- \define@key{minted@optg}{#1}{%
|
|
|
- \expandafter\def\expandafter\minted@optg@extra\expandafter{%
|
|
|
- \minted@optg@extra,#1=##1}}
|
|
|
- \@namedef{minted@optg@extra}{}
|
|
|
- \define@key{minted@optlang}{#1}{%
|
|
|
- \ifcsname minted@optlang\minted@lang @extra\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
|
|
|
- \fi
|
|
|
- \expandafter\let\expandafter\minted@optlang@extra%
|
|
|
- \csname minted@optlang\minted@lang @extra \endcsname
|
|
|
- \expandafter\def\expandafter\minted@optlang@extra\expandafter{%
|
|
|
- \minted@optlang@extra,#1=##1}%
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
|
|
|
- \minted@optlang@extra
|
|
|
- \let\minted@optlang@extra\@empty}%
|
|
|
- \@namedef{minted@optlang@extra}{}
|
|
|
- \define@key{minted@optcmd}{#1}{%
|
|
|
- \expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
|
|
|
- \minted@optcmd@extra,#1=##1}}
|
|
|
- \@namedef{minted@optcmd@extra}{}
|
|
|
-}
|
|
|
-\newcommand{\minted@define@extra@switch}[1]{
|
|
|
- \define@booleankey{minted@optg}{#1}
|
|
|
- {\expandafter\def\expandafter\minted@optg@extra\expandafter{%
|
|
|
- \minted@optg@extra,#1}}
|
|
|
- {\expandafter\def\expandafter\minted@optg@extra\expandafter{%
|
|
|
- \minted@optg@extra,#1=false}}
|
|
|
- \define@booleankey{minted@optlang}{#1}
|
|
|
- {%
|
|
|
- \ifcsname minted@optlang\minted@lang @extra\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
|
|
|
- \fi
|
|
|
- \expandafter\let\expandafter\minted@optlang@extra%
|
|
|
- \csname minted@optlang\minted@lang @extra\endcsname
|
|
|
- \expandafter\def\expandafter\minted@optlang@extra\expandafter{%
|
|
|
- \minted@optlang@extra,#1}%
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
|
|
|
- \minted@optlang@extra
|
|
|
- \let\minted@optlang@extra\@empty}
|
|
|
- {%
|
|
|
- \ifcsname minted@optlang\minted@lang @extra\endcsname\else
|
|
|
- \expandafter\def\csname minted@optlang\minted@lang @extra\endcsname{}%
|
|
|
- \fi
|
|
|
- \expandafter\let\expandafter\minted@optlang@extra%
|
|
|
- \csname minted@optlang\minted@lang @extra\endcsname
|
|
|
- \expandafter\def\expandafter\minted@optlang@extra\expandafter{%
|
|
|
- \minted@optlang@extra,#1=false}%
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang @extra\endcsname%
|
|
|
- \minted@optlang@extra
|
|
|
- \let\minted@optlang@extra\@empty}
|
|
|
- \define@booleankey{minted@optcmd}{#1}
|
|
|
- {\expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
|
|
|
- \minted@optcmd@extra,#1}}
|
|
|
- {\expandafter\def\expandafter\minted@optcmd@extra\expandafter{%
|
|
|
- \minted@optcmd@extra,#1=false}}
|
|
|
-}
|
|
|
-\minted@define@opt{encoding}{-P encoding}{#1}
|
|
|
-\minted@define@opt{outencoding}{-P outencoding}{#1}
|
|
|
-\minted@define@opt{stripnl}{-P stripnl}{#1}
|
|
|
-\minted@define@switch{python3}{-P python3=True}
|
|
|
-\minted@define@switch[-P funcnamehighlighting=False]%
|
|
|
- {funcnamehighlighting}{-P funcnamehighlighting}
|
|
|
-\minted@define@switch{startinline}{-P startinline}
|
|
|
-\minted@define@opt{gobble}{-F gobble:n}{#1}
|
|
|
-\minted@define@opt{codetagify}{-F codetagify:codetags}{#1}
|
|
|
-\minted@define@opt{keywordcase}{-F keywordcase:case}{#1}
|
|
|
-\minted@define@switch{texcl}{-P texcomments}
|
|
|
-\minted@define@switch{texcomments}{-P texcomments}
|
|
|
-\minted@define@switch{mathescape}{-P mathescape}
|
|
|
-\minted@define@switch{linenos}{-P linenos}
|
|
|
-\minted@define@optstyle
|
|
|
-\minted@define@extra{frame}
|
|
|
-\minted@define@extra{framesep}
|
|
|
-\minted@define@extra{framerule}
|
|
|
-\minted@define@extra{rulecolor}
|
|
|
-\minted@define@extra{numbersep}
|
|
|
-\minted@define@extra{numbers}
|
|
|
-\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}
|
|
|
-\let\minted@optcmd@bgcolor\@empty
|
|
|
-\define@key{minted@optcmd}{bgcolor}{\@namedef{minted@optcmd@bgcolor}{#1}}
|
|
|
-\newcommand{\minted@encoding}{%
|
|
|
- \ifcsname minted@optcmd@encoding@val\endcsname
|
|
|
- \csname minted@optcmd@encoding@val\endcsname
|
|
|
- \else
|
|
|
- \ifcsname minted@optlang\minted@lang @encoding@val\endcsname
|
|
|
- \csname minted@optlang\minted@lang @encoding@val\endcsname
|
|
|
- \else
|
|
|
- \ifcsname minted@optg@encoding@val\endcsname
|
|
|
- \csname minted@optg@encoding@val\endcsname
|
|
|
- \else
|
|
|
- UTF8%
|
|
|
- \fi
|
|
|
- \fi
|
|
|
- \fi
|
|
|
-}
|
|
|
-\define@booleankey{minted@optg}{autogobble}
|
|
|
- {\expandafter\let\csname minted@optg@autogobble\endcsname\@empty}
|
|
|
- {\expandafter\let\csname minted@optg@autogobble\endcsname\relax}
|
|
|
-\define@booleankey{minted@optlang}{autogobble}
|
|
|
- {\expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\@empty}
|
|
|
- {\expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\relax}
|
|
|
-\define@booleankey{minted@optcmd}{autogobble}
|
|
|
- {\expandafter\let\csname minted@optcmd@autogobble\endcsname\@empty}
|
|
|
- {\expandafter\let\csname minted@optcmd@autogobble\endcsname\relax}
|
|
|
-\newboolean{minted@autogobble}
|
|
|
-\newcommand{\minted@set@autogobble}{%
|
|
|
- \ifcsname minted@optg@autogobble\endcsname\else
|
|
|
- \expandafter\let\csname minted@optg@autogobble\endcsname\relax
|
|
|
- \fi
|
|
|
- \ifcsname minted@optlang\minted@lang @autogobble\endcsname\else
|
|
|
- \expandafter\let\csname minted@optlang\minted@lang @autogobble\endcsname\relax
|
|
|
- \fi
|
|
|
- \ifcsname minted@optcmd@autogobble\endcsname\else
|
|
|
- \expandafter\let\csname minted@optcmd@autogobble\endcsname\relax
|
|
|
- \fi
|
|
|
- \expandafter\ifx\csname minted@optcmd@autogobble\endcsname\@empty
|
|
|
- \setboolean{minted@autogobble}{true}%
|
|
|
- \else
|
|
|
- \expandafter\ifx\csname minted@optlang\minted@lang @autogobble\endcsname\@empty
|
|
|
- \setboolean{minted@autogobble}{true}%
|
|
|
- \else
|
|
|
- \expandafter\ifx\csname minted@optg@autogobble\endcsname\@empty
|
|
|
- \setboolean{minted@autogobble}{true}%
|
|
|
- \else
|
|
|
- \setboolean{minted@autogobble}{false}%
|
|
|
- \fi
|
|
|
- \fi
|
|
|
- \fi
|
|
|
-}
|
|
|
-\newsavebox{\minted@bgbox}
|
|
|
-\newenvironment{minted@colorbg}[1]{
|
|
|
- %\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}}}
|
|
|
-\newwrite\minted@code
|
|
|
-\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@write@detok}[1]{%
|
|
|
- \immediate\write\FV@OutFile{\detokenize{#1}}}
|
|
|
-\newcommand{\minted@FVB@VerbatimOut}[1]{%
|
|
|
- \@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{\MintedPygmentize}{pygmentize}
|
|
|
-\newcommand{\minted@pygmentize}[2][\jobname.pyg]{%
|
|
|
- \minted@checklang
|
|
|
- \minted@set@autogobble
|
|
|
- \ifthenelse{\boolean{minted@autogobble}}%
|
|
|
- {\def\minted@codefile{\jobname.pyg}}%
|
|
|
- {\def\minted@codefile{#1}}%
|
|
|
- \def\minted@cmd{\MintedPygmentize\space -l #2
|
|
|
- -f latex -F tokenmerge
|
|
|
- \minted@optg \space \csname minted@optlang\minted@lang\endcsname
|
|
|
- \space \minted@optcmd \space -P "verboptions=\minted@getoptg{extra}%
|
|
|
- \minted@getoptlang{extra}\minted@getoptcmd{extra}"
|
|
|
- -o "\minted@outputdir\minted@infile" \space
|
|
|
- "\minted@outputdir\minted@codefile"}%
|
|
|
- % For debugging, uncomment:
|
|
|
- % \immediate\typeout{\minted@cmd}%
|
|
|
- \ifthenelse{\boolean{minted@cache}}%
|
|
|
- {%
|
|
|
- \expandafter\ifx\csname XeTeXinterchartoks\endcsname\relax
|
|
|
- \ifthenelse{\boolean{minted@autogobble}}%
|
|
|
- {\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{\boolean{minted@autogobble}}%
|
|
|
- {\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(\'}\minted@outputdir#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\n\');
|
|
|
- f.close();"}}%
|
|
|
- \immediate\write18{\minted@hashcmd}
|
|
|
- \input{\minted@outputdir\jobname.mintedmd5}%
|
|
|
- \fi
|
|
|
- \ifwindows
|
|
|
- \edef\minted@infile{%
|
|
|
- \minted@cachedir@windows\@backslashchar\minted@hash.pygtex}%
|
|
|
- \else
|
|
|
- \edef\minted@infile{%
|
|
|
- \minted@cachedir/\minted@hash.pygtex}%
|
|
|
- \fi
|
|
|
- \IfFileExists{\minted@cachedir/\minted@hash.pygtex}{}{%
|
|
|
- \ifthenelse{\boolean{minted@autogobble}}{%
|
|
|
- %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(\'}\minted@outputdir#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}%
|
|
|
- \minted@inputpyg}%
|
|
|
- {%
|
|
|
- \ifthenelse{\boolean{minted@autogobble}}{%
|
|
|
- %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(\'}\minted@outputdir#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}%
|
|
|
-}
|
|
|
-\newcommand{\minted@inputpyg}{%
|
|
|
- \ifthenelse{\equal{\minted@optcmd@bgcolor}{}}%
|
|
|
- {}%
|
|
|
- {\begin{minted@colorbg}{\minted@optcmd@bgcolor}}%
|
|
|
- \input{\minted@outputdir\minted@infile}%
|
|
|
- \ifthenelse{\equal{\minted@optcmd@bgcolor}{}}%
|
|
|
- {}%
|
|
|
- {\end{minted@colorbg}}%
|
|
|
-}
|
|
|
-\newcounter{minted@FancyVerbLineTemp}
|
|
|
-\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@optg}{#2}}%
|
|
|
- {\def\minted@lang{#1}\setkeys{minted@optlang}{#2}}%
|
|
|
-}
|
|
|
-\newcommand{\usemintedstyle}[2][]{\setminted[#1]{style=#2}}
|
|
|
-\newcommand{\mintinline}[2][]{%
|
|
|
- \minted@resetoptcmd
|
|
|
- \setkeys{minted@optcmd}{#1}%
|
|
|
- \def\minted@lang{#2}%
|
|
|
- \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
|
|
|
- \minted@inline@ii}
|
|
|
-\newcommand{\minted@inline@iii}[1]{%
|
|
|
- \endgroup
|
|
|
- \immediate\openout\minted@code\jobname.pyg\relax
|
|
|
- \immediate\write\minted@code{\detokenize{#1}}%
|
|
|
- \immediate\closeout\minted@code
|
|
|
- \begingroup
|
|
|
- \RecustomVerbatimEnvironment{Verbatim}{BVerbatim}{}%
|
|
|
- \minted@pygmentize{\minted@lang}%
|
|
|
- \endgroup}
|
|
|
-\newcommand{\mint}[3][]{%
|
|
|
- \def\minted@lang{#2}%
|
|
|
- \DefineShortVerb{#3}%
|
|
|
- \minted@resetoptcmd
|
|
|
- \setkeys{minted@optcmd}{#1}%
|
|
|
- \SaveVerb[aftersave={%
|
|
|
- \UndefineShortVerb{#3}%
|
|
|
- \minted@savecode{\FV@SV@minted@verb}%
|
|
|
- \minted@langlinenoson
|
|
|
- \minted@pygmentize{#2}
|
|
|
- \minted@langlinenosoff}]{minted@verb}#3}
|
|
|
-\newenvironment{minted}[2][]
|
|
|
- {\VerbatimEnvironment
|
|
|
- \let\FVB@VerbatimOut\minted@FVB@VerbatimOut
|
|
|
- \def\minted@lang{#2}%
|
|
|
- \minted@resetoptcmd
|
|
|
- \setkeys{minted@optcmd}{#1}%
|
|
|
- \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
|
|
|
- {\end{VerbatimOut}%
|
|
|
- \minted@langlinenoson
|
|
|
- \minted@pygmentize{\minted@lang}%
|
|
|
- \minted@langlinenosoff}
|
|
|
-\newcommand{\inputminted}[3][]{%
|
|
|
- \def\minted@lang{#2}%
|
|
|
- \minted@resetoptcmd
|
|
|
- \setkeys{minted@optcmd}{#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}}}
|
|
|
-\newcommand{\newmintinline}[3][]{%
|
|
|
- \ifthenelse{\equal{#1}{}}%
|
|
|
- {\def\minted@shortname{#2inline}}%
|
|
|
- {\def\minted@shortname{#1}}%
|
|
|
- \expandafter\newcommand\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}}%
|
|
|
-}
|
|
|
-\@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}}
|
|
|
-\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
|
|
|
- \setminted{style=default}%
|
|
|
-}
|
|
|
-\AtEndDocument{
|
|
|
- \expandafter\ifx\csname XeTeXinterchartoks\endcsname\relax
|
|
|
- \else
|
|
|
- \DeleteFile[\minted@outputdir]{\jobname.mintedcmd}%
|
|
|
- \DeleteFile[\minted@outputdir]{\jobname.mintedmd5}%
|
|
|
- \fi
|
|
|
- \DeleteFile[\minted@outputdir]{\jobname.pyg}%
|
|
|
- \DeleteFile[\minted@outputdir]{\jobname.out.pyg}%
|
|
|
-}
|
|
|
-%% \Finale
|
|
|
-\endinput
|
|
|
-%%
|
|
|
-%% End of file `minted.sty'.
|