summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tcolorbox/tcbxparse.code.tex')
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex288
1 files changed, 288 insertions, 0 deletions
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
new file mode 100644
index 0000000000..be04cd8028
--- /dev/null
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -0,0 +1,288 @@
+%% The LaTeX package tcolorbox - version 4.20 (2019/03/02)
+%% tcbxparse.code.tex: Code for xparse features
+%%
+%% -------------------------------------------------------------------------------------------
+%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% -------------------------------------------------------------------------------------------
+%%
+%% 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.
+%%
+%% This work has the LPPL maintenance status `author-maintained'.
+%%
+%% This work consists of all files listed in README
+%%
+%\makeatletter
+\tcb@set@library@version{4.20}
+
+\RequirePackage{xparse}[2013/12/31]
+
+\tcbset{%
+ IfNoValueTF/.code args={#1#2#3}{\IfNoValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfValueTF/.code args={#1#2#3}{\IfValueTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ IfBooleanTF/.code args={#1#2#3}{\IfBooleanTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
+ verbatim/.style={fontupper=\ttfamily,nobeforeafter,tcbox raise base,top=0pt,bottom=0pt,left=1mm,right=1mm,boxrule=0.3mm}
+}
+
+%-- tcolorbox --
+\long\def\tcb@New@TColorBox#1#2#3{%
+ \tcb@newenvironment{#1}{#2}{\tcolorbox[#3,options@for=#1]}{\endtcolorbox}}
+
+\def\DeclareTColorBox{%
+ \let\tcb@newenvironment\DeclareDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\NewTColorBox{%
+ \let\tcb@newenvironment\NewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\RenewTColorBox{%
+ \let\tcb@newenvironment\RenewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+\def\ProvideTColorBox{%
+ \let\tcb@newenvironment\ProvideDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TColorBox%
+ \tcb@process@newenvironment}
+
+%-- tcolorbox (total) --
+\long\def\tcb@New@TotalTColorBox#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\begin{tcolorbox}[#3,options@for=#1]#4\end{tcolorbox}}}
+
+\def\DeclareTotalTColorBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\NewTotalTColorBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTColorBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTColorBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTColorBox%
+ \tcb@process@newcommand}
+
+%-- tcbox --
+\long\def\tcb@New@TCBox#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbox[#3,options@for=#1]}}
+
+\def\DeclareTCBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\NewTCBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\RenewTCBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBox%
+ \tcb@process@newcommand}
+
+%-- tcbox (total) --
+\long\def\tcb@New@TotalTCBox#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbox[#3,options@for=#1]{#4}}}
+
+\def\DeclareTotalTCBox{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\NewTotalTCBox{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTCBox{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTCBox{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBox%
+ \tcb@process@newcommand}
+
+\DeclareTotalTCBox{\tcboxverb}{ O{} v }{verbatim,#1}{#2}
+
+%-- tcboxfit --
+\long\def\tcb@New@TCBoxFit#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options@for=#1]}}
+
+\def\DeclareTCBoxFit{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\NewTCBoxFit{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\RenewTCBoxFit{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBoxFit{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBoxFit%
+ \tcb@process@newcommand}
+
+\long\def\tcb@New@TotalTCBoxFit#1#2#3#4{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcboxfit[#3,options@for=#1]{#4}}}
+
+\def\DeclareTotalTCBoxFit{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\NewTotalTCBoxFit{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\RenewTotalTCBoxFit{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+\def\ProvideTotalTCBoxFit{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TotalTCBoxFit%
+ \tcb@process@newcommand}
+
+
+%-- tcblisting --
+\long\def\tcb@New@TCBListing#1#2#3{%
+ \tcb@newenvironment{#1}{#2}{\tcblisting{#3,options@for=#1}}{\endtcblisting}}
+
+\def\DeclareTCBListing{%
+ \let\tcb@newenvironment\DeclareDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\NewTCBListing{%
+ \let\tcb@newenvironment\NewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\RenewTCBListing{%
+ \let\tcb@newenvironment\RenewDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+\def\ProvideTCBListing{%
+ \let\tcb@newenvironment\ProvideDocumentEnvironment%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBListing%
+ \tcb@process@newenvironment}
+
+%-- tcbinputlisting --
+\long\def\tcb@New@TCBInputListing#1#2#3{%
+ \expandafter\tcb@newcommand\csname#1\endcsname{#2}{\tcbinputlisting{#3,options@for=#1}}%
+}
+
+\def\DeclareTCBInputListing{%
+ \let\tcb@newcommand\DeclareDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\NewTCBInputListing{%
+ \let\tcb@newcommand\NewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\RenewTCBInputListing{%
+ \let\tcb@newcommand\RenewDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+\def\ProvideTCBInputListing{%
+ \let\tcb@newcommand\ProvideDocumentCommand%
+ \let\tcb@process@newtcolorbox@continue\tcb@New@TCBInputListing%
+ \tcb@process@newcommand}
+
+
+%-- sidebyside --
+
+\def\tcb@sbs@content@none{\tcb@sbs@text@left\tcblower\tcb@sbs@text@right}
+\def\tcb@sbs@content@left{\box\tcb@upperbox\tcblower\tcb@sbs@text@right}
+\def\tcb@sbs@content@right{\tcb@sbs@text@left\tcblower\box\tcb@lowerbox}
+\def\tcb@sbs@content@both{\box\tcb@upperbox\tcblower\box\tcb@lowerbox}
+
+\tcbset{%
+ sidebyside adapt/.is choice,
+ sidebyside adapt/none/.style={%
+ sidebyside@adapt@process/.style={%
+ code={\let\tcb@sbs@content\tcb@sbs@content@none},
+ }%
+ },
+ sidebyside adapt/left/.style={%
+ sidebyside@adapt@process/.style={%
+ code={\sbox{\tcb@upperbox}{\tcb@sbs@text@left}\let\tcb@sbs@content\tcb@sbs@content@left},
+ lefthand width=\wd\tcb@upperbox,
+ }%
+ },
+ sidebyside adapt/right/.style={%
+ sidebyside@adapt@process/.style={%
+ code={\sbox{\tcb@lowerbox}{\tcb@sbs@text@right}\let\tcb@sbs@content\tcb@sbs@content@right},
+ righthand width=\wd\tcb@lowerbox,
+ }%
+ },
+ sidebyside adapt/both/.style={%
+ sidebyside@adapt@process/.style={%
+ code={\sbox{\tcb@upperbox}{\tcb@sbs@text@left}\sbox{\tcb@lowerbox}{\tcb@sbs@text@right}\let\tcb@sbs@content\tcb@sbs@content@both},
+ text width=\wd\tcb@upperbox+\kvtcb@sbs@gap+\wd\tcb@lowerbox,
+ lefthand width=\wd\tcb@upperbox,
+ }%
+ },
+ %
+ sidebyside switch/.is choice,
+ sidebyside switch/true/.style={%
+ sidebyside@switch/.code={%
+ \tcb@swap{\tcb@sbs@text@left}{\tcb@sbs@text@right}
+ }%
+ },
+ sidebyside switch/false/.style={%
+ sidebyside@switch/.style=%
+ },
+ sidebyside switch/.default=true
+}
+
+
+\DeclareTotalTColorBox{\tcbsidebyside}{ +O{} +m +m }{%
+ code={\long\def\tcb@sbs@text@left{#2}\long\def\tcb@sbs@text@right{#3}},%
+ #1,%
+ sidebyside,%
+ sidebyside@switch,sidebyside@adapt@process%
+}{\tcb@sbs@content}
+
+
+\tcbset{%
+ reset@xparse/.style={%
+ sidebyside adapt=none,sidebyside switch=false,%
+ },
+ initialize@reset=reset@xparse,
+}