From 1d543d293d1c8d586821f89ad4f9ef0bc5d368d7 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 16 Mar 2015 20:46:53 +0000 Subject: tcolorbox (16mar15) git-svn-id: svn://tug.org/texlive/trunk@36534 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/tcolorbox/tcbbreakable.code.tex | 10 +- .../tex/latex/tcolorbox/tcbdocumentation.code.tex | 42 ++-- .../tex/latex/tcolorbox/tcbexternal.code.tex | 280 +++++++++++++++++++++ .../tex/latex/tcolorbox/tcbfitting.code.tex | 9 +- .../tex/latex/tcolorbox/tcbhooks.code.tex | 4 +- .../tex/latex/tcolorbox/tcblistings.code.tex | 4 +- .../tex/latex/tcolorbox/tcblistingscore.code.tex | 34 ++- .../tex/latex/tcolorbox/tcblistingsutf8.code.tex | 4 +- .../tex/latex/tcolorbox/tcbminted.code.tex | 4 +- .../tex/latex/tcolorbox/tcbraster.code.tex | 4 +- .../tex/latex/tcolorbox/tcbskins.code.tex | 4 +- .../tex/latex/tcolorbox/tcbskinsjigsaw.code.tex | 4 +- .../tex/latex/tcolorbox/tcbtheorems.code.tex | 4 +- .../tex/latex/tcolorbox/tcbxparse.code.tex | 6 +- .../texmf-dist/tex/latex/tcolorbox/tcolorbox.sty | 124 ++++++--- 15 files changed, 457 insertions(+), 80 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex index d57cd4e4f01..f87080b974c 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbbreakable.code.tex: Code for breakable colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \let\tcb@parboxrestore@true=\tcb@parboxrestore \def\tcb@parboxrestore@false{\vskip-\parskip\linewidth\hsize\noindent} @@ -264,7 +264,11 @@ \tcb@handle@nobreak% \fi% \else% - \kvtcb@beforebox% + %\ifnum\lastnodetype=-1\relax% + % \lineskip=0pt% + %\else% + \kvtcb@beforebox% + %\fi% \fi% \def\kvtcb@beforebox{\parskip\z@\nointerlineskip\noindent}% \noindent% applies parskip diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex index 1c6d8136290..15cf264ffc5 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbdocumentation.code.tex: Code for LaTeX documentations %% %% ------------------------------------------------------------------------------------------- @@ -17,9 +17,9 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} -\tcbuselibrary{listings,skins,xparse} +\tcbuselibrary{listings,skins,xparse,external} \RequirePackage{doc}[2010/02/04] \RequirePackage{pifont}[2005/04/12] @@ -108,8 +108,6 @@ color option/.store in=\kvtcb@col@opt, color hyperlink/.store in=\kvtcb@colhyper, color frame/.store in=\kvtcb@colhyper, - before example/.store in=\kvtcb@beforeexample, - after example/.store in=\kvtcb@afterexample, index actual/.store in=\idx@actual, index quote/.store in=\idx@quote, index level/.store in=\idx@level, @@ -137,7 +135,9 @@ % styles \tcbset{ - docexample/.style={colframe=ExampleFrame,colback=ExampleBack,fontlower=\footnotesize}, + docexample/.style={colframe=ExampleFrame,colback=ExampleBack, + before skip=\medskipamount,after skip=\medskipamount, + fontlower=\footnotesize}, documentation minted style=, documentation minted options={tabsize=2,fontsize=\small}, index default settings/.style={index actual={@},index quote={"},index level={!}}, @@ -166,32 +166,32 @@ menucolor=\kvtcb@colhyper }} -\def\dispExample{\tcb@layer@pushup\tcbset{docexample}\tcbwritetemp} +\def\dispExample{\tcb@layer@pushup\tcbset{docexample}\begingroup\tcbwritetemp} \def\enddispExample{% - \endtcbwritetemp% - \kvtcb@beforeexample\begin{tcolorbox}% + \endtcbwritetemp\endgroup% + \begin{tcolorbox}% \tcb@doc@usetemplisting% \tcblower% \tcbusetemp% - \end{tcolorbox}\kvtcb@afterexample% + \end{tcolorbox}% } \newenvironment{dispExample*}[1]{% - \tcb@layer@pushup\tcbset{docexample,#1}\tcbwritetemp% + \tcb@layer@pushup\tcbset{docexample,#1}\begingroup\tcbwritetemp% }{\enddispExample} -\def\dispListing{\tcb@layer@pushup\tcbset{docexample}\tcbwritetemp} +\def\dispListing{\tcb@layer@pushup\tcbset{docexample}\begingroup\tcbwritetemp} \def\enddispListing{% - \endtcbwritetemp% - \kvtcb@beforeexample\begin{tcolorbox}% + \endtcbwritetemp\endgroup% + \begin{tcolorbox}% \tcb@doc@usetemplisting% - \end{tcolorbox}\kvtcb@afterexample% + \end{tcolorbox}% } \newenvironment{dispListing*}[1]{% - \tcb@layer@pushup\tcbset{docexample,#1}\tcbwritetemp% + \tcb@layer@pushup\tcbset{docexample,#1}\begingroup\tcbwritetemp% }{\enddispListing} % index auxiliary macros @@ -445,8 +445,6 @@ color option=Option, color definition=Definition, color hyperlink=Hyperlink, - before example=\par\smallskip, - after example=, doc left=2em, doc right=0pt, doc left indent=-2em, @@ -460,3 +458,11 @@ }, initialize@reset=reset@documentation, } + +% deprecated +\tcbset{ + before example/.store in=\kvtcb@beforeexample, + after example/.store in=\kvtcb@afterexample, + before example=\par\smallskip, + after example=, +} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex new file mode 100644 index 00000000000..c5c38983786 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex @@ -0,0 +1,280 @@ +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) +%% tcbexternal.code.tex: Code for externalization +%% +%% ------------------------------------------------------------------------------------------- +%% Copyright (c) 2006-2015 by Prof. Dr. Dr. Thomas F. Sturm +%% ------------------------------------------------------------------------------------------- +%% +%% 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{3.50} + +{ +\catcode`\"=12 +\xdef\tcbexternal@normal@dq{"} +\catcode`\"=13 +\gdef\tcbexternal@activate@normal@dq{\let"=\tcbexternal@normal@dq} +} + +\long\def\tcbifexternal#1#2{% + \ifdefined\TCBEXTERNALINPUT% + #1% + \else% + #2% + \fi% +} + +\tcbifexternal{% + \def\tcbEXTERNALIZE{% + \RequirePackage{incgraph}% + \TCBEXTERNALPREAMBLE% + \begin{document}% + \begin{inctext}[border=\TCBEXTERNALSAFETY]% + \input{\TCBEXTERNALINPUT}% + \end{inctext}% + \end{document}% + }% +}{% + \def\tcbEXTERNALIZE{% + \tcbset{ + external/.cd, + externalize/.is if=tcb@externalize, + externalize=true, + }% + }% +} + +\@onlypreamble\tcbEXTERNALIZE + +\def\tcbexternal@setbasename#1{% + \gdef\tcbexternal@basename{#1}% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@name{\expandonce{\tcbexternal@prefix}\expandonce{\tcbexternal@basename}}}\x% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@mdfive{\expandonce{\tcbexternal@job@name.md5}}}\x% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@source{\expandonce{\tcbexternal@job@name.tex}}}\x% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@job@pdf{\expandonce{\tcbexternal@job@name.pdf}}}\x% +} + +\def\tcbexternal@corecompile{% + \begingroup% + \ifnum\the\catcode`\"=13 \tcbexternal@activate@normal@dq\fi% + \message{=== Compile external '\tcbexternal@job@name': }% + \immediate\openout\tcb@out="\tcbexternal@run@tex" + \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALINPUT{"\tcbexternal@job@source"}}% + \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALSAFETY{\tcbexternal@safety}}% + \immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALPREAMBLE{\expandonce{\tcbexternal@preamble}}}% + \immediate\write\tcb@out{\string\input{"\jobname.tex"}}% + \immediate\closeout\tcb@out% + \foreach \n in {1,...,\tcbexternal@runs} + {% + \immediate\write18{% + \tcbexternal@compiler\space + -shell-escape + -halt-on-error + -interaction=batchmode + -jobname="\tcbexternal@job@name" + "\tcbexternal@run@tex" + }% + }% + \endgroup% +} + +\def\tcbexternal@inputsource{ + \IfFileExists{\tcbexternal@job@source}% + {\input{\tcbexternal@job@source}}% + {\tcb@error{File '\tcbexternal@job@source' missing.}{}}% +} + +\def\tcbexternal@pdfmissing@warning{% + \tcb@warning{File '\tcbexternal@job@pdf' missing. + Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}% + \message{Load '\tcbexternal@job@source' instead}% + \tcbexternal@inputsource% +} + +\def\tcbexternal@pdfmissing@error{% + \tcb@error{File '\tcbexternal@job@pdf' missing. + Compilation error or shell-escape wasn't enabled or a subdirectory could'nt be generated}{}% +} + +\def\tcbexternal@inputpdf{% + \IfFileExists{\tcbexternal@job@pdf}% + {% + \begingroup\edef\x{\endgroup% + \noexpand\includegraphics[trim=\tcbexternal@safety\space\tcbexternal@safety% + \space\tcbexternal@safety\space\tcbexternal@safety]{\expandonce{\tcbexternal@job@pdf}}}% + \x% + }% + {\tcbexternal@pdfmissing}% +} + +\newif\iftcb@externalize +\tcb@externalizefalse + +\def\tcbexternal@generatemdivesum{% + \iftcb@externalize% + \def\tcbexternallastmdfivesum{}% + \IfFileExists{\tcbexternal@job@mdfive}{\input{\tcbexternal@job@mdfive}}{}% + \edef\tcbexternalmdfivesum{\pdfmdfivesum file {\tcbexternal@job@source}}% + \else% + \def\tcbexternallastmdfivesum{x}% + \edef\tcbexternalmdfivesum{}% + \fi% + \immediate\openout\tcb@out=\tcbexternal@job@mdfive + \immediate\write\tcb@out{\string\def\string\tcbexternallastmdfivesum{\tcbexternalmdfivesum}\@percentchar}% + \immediate\closeout\tcb@out% +} + +\def\tcbexternal@conditionalcompile{% + \IfFileExists{\tcbexternal@job@pdf}{% + \ifdefstrequal{\tcbexternallastmdfivesum}{\tcbexternalmdfivesum}{% + }{% + \tcbexternal@corecompile% + }% + }{% + \tcbexternal@corecompile% + }% +} + +\def\tcb@useexternal{% + \tcbexternal@generatemdivesum% + \iftcb@externalize% + \tcbexternal@compile% + \tcbexternal@inputpdf% + \else% + \tcbexternal@inputsource% + \fi% +} + +\newenvironment{tcbexternal}[2][]{% + \tcbset{external/.cd,#1,name=#2}% + \begingroup% + \let\tcb@verbatim@begin@hook=\tcbexternal@out@begin% + \let\tcb@verbatim@end@hook=\tcbexternal@out@end% + \tcbverbatimwrite{\tcbexternal@job@source}}% +{% + \endtcbverbatimwrite\endgroup% + \tcb@useexternal% +} + +\long\def\new@tcb@externalizeenvironment#1#2#3#4#5{% + \tcb@newenvironment{#1}[2][]{% + #4% + \begingroup% + \tcbexternal[#3,##1,environment=#2]{##2}% + }{% + \endtcbexternal% + \endgroup% + #5% + }% +} + +\def\newtcbexternalizeenvironment{% + \let\tcb@newenvironment\newenvironment% + \new@tcb@externalizeenvironment% +} + +\def\renewtcbexternalizeenvironment{% + \let\tcb@newenvironment\renewenvironment% + \new@tcb@externalizeenvironment% +} + +\long\def\new@tcb@externalizetcolorbox#1#2#3#4{% + \new@tcb@externalizeenvironment{#1}{#2}% + {preamble tcbset={force nobeforeafter},#3}% + {\tcbset{#4}\tcb@set@normal@unbroken@beforeafter\tcb@before@unbroken}% + {\tcb@after@unbroken}% +} + +\def\newtcbexternalizetcolorbox{% + \let\tcb@newenvironment\newenvironment% + \new@tcb@externalizetcolorbox% +} + +\def\renewtcbexternalizetcolorbox{% + \let\tcb@newenvironment\renewenvironment% + \new@tcb@externalizetcolorbox% +} + + +\newtcbexternalizeenvironment{extikzpicture}{tikzpicture}{}{}{} + +\newtcbexternalizetcolorbox{extcolorbox}{tcolorbox}{}{} + + +\tcbset{ + external/.cd, + % + runner/.code={% + \begingroup\edef\x{\endgroup\noexpand\def\noexpand\tcbexternal@run@tex{\expandonce{#1}}}\x% + }, + % + prefix/.store in=\tcbexternal@prefix, + compiler/.store in=\tcbexternal@compiler, + runs/.code={\numdef\tcbexternal@runs{#1}}, + name/.code={\tcbexternal@setbasename{#1}}, + safety/.store in=\tcbexternal@safety, + preamble/.code={\appto\tcbexternal@preamble{#1}}, + preamble tcbset/.code={\appto\tcbexternal@preamble{\tcbset{#1}}}, + clear preamble/.code={\def\tcbexternal@preamble{}}, + externalize/.code={}, + % + force remake/.is choice, + force remake/true/.code={\let\tcbexternal@compile=\tcbexternal@corecompile}, + force remake/false/.code={\let\tcbexternal@compile=\tcbexternal@conditionalcompile}, + force remake/.default=true, + !/.style=force remake, + % + input source on error/.is choice, + input source on error/true/.code={\let\tcbexternal@pdfmissing=\tcbexternal@pdfmissing@warning}, + input source on error/false/.code={\let\tcbexternal@pdfmissing=\tcbexternal@pdfmissing@error}, + input source on error/.default=true, + % + plain/.code={% + \let\tcbexternal@out@begin=\@empty% + \let\tcbexternal@out@end=\@empty% + }, + minipage/.code={% + \appto\tcbexternal@out@begin{\immediate\write\tcb@out{\string\begin{minipage}{\the\dimexpr#1\relax}\string\ignorespaces\@percentchar}}% + \preto\tcbexternal@out@end{\immediate\write\tcb@out{\string\unskip\string\end{minipage}\@percentchar}}% + }, + minipage/.default=\linewidth, + % + environment/.code={% + \appto\tcbexternal@out@begin{\immediate\write\tcb@out{\string\begin{#1}\@percentchar}}% + \preto\tcbexternal@out@end{\immediate\write\tcb@out{\string\end{#1}\@percentchar}}% + },% + runner=\jobname_run.tex, + prefix={external/}, + compiler=pdflatex, + runs=1, + name=unnamed, + safety=2mm, + clear preamble, + force remake=false, + input source on error, + plain +} + +\tcbset{% + externalize example/.style={% + external/name=#1,tempfile=\tcbexternal@job@source, + code={\let\tcbusetemp=\tcb@useexternal}% + }, + externalize example!/.style={externalize example=#1,external/force remake}, + externalize listing/.style={% + external/name=#1,listing file=\tcbexternal@job@source, + code={\let\tcbuselistingtext@input=\tcb@useexternal}% + }, + externalize listing!/.style={externalize listing=#1,external/force remake}, +} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex index 7b4494f51cc..29926d0ccdc 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbfitting.code.tex: Code for fit boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \newdimen\tcbfitdim \newdimen\tcb@lowerfitdim @@ -251,11 +251,14 @@ \tcb@fit@warn@begin% % \def\tcb@fit@@boxsave##1{% + \tcbdimto\tcb@innerwidth{\kvtcb@width-\kvtcb@left@rule-\kvtcb@right@rule}% + \colorlet{tcbcol@origin}{.}% + \tcb@set@color{tcbcol@upper}% \begin{tcb@savebox}{\tcb@upperbox}{##1}% - \color{tcbcol@upper}% \kvtcb@fontupper\fontsize{\tcbfitdim}{\tcb@fit@@line}\selectfont% \kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper% \end{tcb@savebox}% + \tcb@reset@color% \advance\count@ 1\relax% }% % diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex index eaca77d7971..512bf4c75c8 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbhooks.code.tex: Code for adding hooks %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \tcbset{% before upper app/.code={\appto\kvtcb@before@upper{#1}},% diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex index 36027d98a50..6cabae81769 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcblistings.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{listings}[2007/02/22] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex index 675bbae9f42..04d1f07266f 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,11 +18,12 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{pdftexcmds} -\def\tcbuselistingtext{\input{\kvtcb@listingfile}}% +\def\tcbuselistingtext@input{\input{\kvtcb@listingfile}}% +\def\tcbuselistingtext{\tcbuselistingtext@input}% \def\tcbuselistingcomment{\kvtcb@listingcomment}% \def\tcb@listing@listing{\tcbuselistinglisting} @@ -113,16 +114,28 @@ \fi% } +\def\tcb@use@lower@outside@side#1{% + \setbox\z@=\hbox{\begin{tcb@lower@outside}{#1}% + \tcb@use@listing@other@reset% + \end{tcb@lower@outside}}% + \tcb@box@align\z@% + \tcbdimto{\tcb@temp@wd}{\wd\z@}% + \unhbox\z@% +} + \def\tcb@inputlisting@out@listingAndOther{% \tcb@inputlisting@out@prepare% \tcbdimto\tcb@w@outside{\tcb@w@lower}% \tcbdimto\tcb@w@inside{\tcb@width-\tcb@w@lower-\kvtcb@sbs@gap}% \begin{tcb@outside@environment}% - \tcb@minipage{\tcb@w@inside}% + \setbox\z@=\hbox{\tcb@minipage{\tcb@w@inside}% \begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false,savedelimiter=tcolorbox]\tcbuselistinglisting\end{tcolorbox}% - \endminipage\kern\kvtcb@sbs@gap% + \endminipage}% + \tcb@box@align\z@% + \unhbox\z@% + \kern\kvtcb@sbs@gap% \iftcb@lowervisible% - \tcb@use@lower@outside{\tcb@w@outside}% + \tcb@use@lower@outside@side{\tcb@w@outside}% \fi% \end{tcb@outside@environment}% } @@ -133,14 +146,17 @@ \tcbdimto\tcb@w@inside{\tcb@width-\tcb@w@upper-\kvtcb@sbs@gap}% \begin{tcb@outside@environment}% \iftcb@lowervisible% - \tcb@use@lower@outside{\tcb@w@outside}% + \tcb@use@lower@outside@side{\tcb@w@outside}% \tcbdimto{\tcb@temp@wd}{\tcb@w@outside-\tcb@temp@wd+\kvtcb@sbs@gap}% \else% \tcbdimto{\tcb@temp@wd}{\tcb@w@outside+\kvtcb@sbs@gap}% \fi% - \kern\tcb@temp@wd\tcb@minipage{\tcb@w@inside}% + \kern\tcb@temp@wd% + \setbox\z@=\hbox{\tcb@minipage{\tcb@w@inside}% \begin{tcolorbox}[width=\tcb@w@inside,nobeforeafter,nofloat,sidebyside=false,savedelimiter=tcolorbox]\tcbuselistinglisting\end{tcolorbox}% - \endminipage% + \endminipage}% + \tcb@box@align\z@% + \unhbox\z@% \end{tcb@outside@environment}% } diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex index acf5b37acd5..984f34d83d9 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8 %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{listingsutf8}[2011/11/10] \tcbuselibrary{listings} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex index 6cd3b50e566..87dd742387b 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbminted.code.tex: Code for colorboxes with listings %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{minted}[2011/09/17] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex index 0a8ec07071a..18b8b6328ac 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \newcounter{tcbrastercolumn} \newcounter{tcbrasterrow} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex index 839276d50ac..578437722bd 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbskins.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{tikz}[2010/10/13] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex index e9e37a4845c..f1da9d6971b 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins %% %% ------------------------------------------------------------------------------------------- @@ -17,7 +17,7 @@ %% %% This work consists of all files listed in README %% -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \tcbuselibrary{skins} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex index 3e5488bb996..5be3e04e054 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcbtheorems.code.tex: Code for theorems in colorboxes %% %% ------------------------------------------------------------------------------------------- @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{amsmath} diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex index ec3fc14afab..628bce6e0f7 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex @@ -1,5 +1,5 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) -%% tcbhooks.code.tex: Code for adding hooks +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) +%% tcbxparse.code.tex: Code for xparse features %% %% ------------------------------------------------------------------------------------------- %% Copyright (c) 2006-2014 by Prof. Dr. Dr. Thomas F. Sturm @@ -18,7 +18,7 @@ %% This work consists of all files listed in README %% %\makeatletter -\tcb@set@library@version{3.40} +\tcb@set@library@version{3.50} \RequirePackage{xparse}[2013/12/31] diff --git a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty index 13d6b24083c..599509c476d 100644 --- a/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty +++ b/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty @@ -1,4 +1,4 @@ -%% The LaTeX package tcolorbox - version 3.40 (2015/01/14) +%% The LaTeX package tcolorbox - version 3.50 (2015/03/16) %% tcolorbox.sty: Text color boxes %% %% ------------------------------------------------------------------------------------------- @@ -18,8 +18,8 @@ %% This work consists of all files listed in README %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{tcolorbox}[2015/01/14 version 3.40 text color boxes] -\def\tcb@version{3.40} +\ProvidesPackage{tcolorbox}[2015/03/16 version 3.50 text color boxes] +\def\tcb@version{3.50} \RequirePackage{pgf}[2008/01/15] \RequirePackage{verbatim}[2003/08/22] @@ -224,16 +224,21 @@ after/.code={\def\kvtcb@afterbox{#1}\let\tcb@use@autoparskip=\relax}, autoparskip/.code={\let\tcb@use@autoparskip=\tcb@use@auto@parskip}, parskip/.style={before={\par\pagebreak[0]\parindent=0pt},after={\par}}, - noparskip/.style={before={\par\smallskip\pagebreak[0]\parindent=0pt},after={\par\smallskip}}, + noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par\smallskip\pagebreak[0]\fi\parindent=0pt},after={\par\smallskip}}, nobeforeafter/.style={before=,after=}, + force nobeforeafter/.code={\tcbset@late@options{nobeforeafter}}, before skip/.style={before={% - \par\nointerlineskip\lineskip=0pt% - \addvspace{\glueexpr#1-\parskip}% - \noindent% + \ifnum\lastnodetype=-1\relax% + \else% + \par\ifvmode\nointerlineskip% + \addvspace{\glueexpr#1-\parskip}% + \fi% + \fi% + \lineskip=0pt\noindent% }}, after skip/.style={after={% - \par\nointerlineskip% - \addvspace{\glueexpr#1-\parskip}% + \par\ifvmode\nointerlineskip% + \addvspace{\glueexpr#1-\parskip}\fi% }}, beforeafter skip/.style={before skip={#1},after skip={#1}}, before nobreak/.store in=\kvtcb@beforebox@nobreak, @@ -423,7 +428,13 @@ extrude bottom by/.code={\tcbdimto\kvtcb@bottom{\kvtcb@bottom+#1}\tcbdimto\kvtcb@bbbottom@stand{\kvtcb@bbbottom@stand-#1}},% extrude by/.style={extrude left by=#1,extrude right by=#1,extrude top by=#1,extrude bottom by=#1},% sidebyside/.is if=tcb@sidebyside,% - sidebyside align/.store in=\kvtcb@sbs@align,% + sidebyside align/.is choice,% + sidebyside align/top/.code={\def\kvtcb@sbs@align{top}\def\tcb@box@align##1{}},% + sidebyside align/center/.code={\def\kvtcb@sbs@align{center}\def\tcb@box@align##1{}},% + sidebyside align/bottom/.code={\def\kvtcb@sbs@align{bottom}\def\tcb@box@align##1{}},% + sidebyside align/top seam/.code={\def\kvtcb@sbs@align{top}\let\tcb@box@align\tcb@box@align@top},% + sidebyside align/center seam/.code={\def\kvtcb@sbs@align{center}\let\tcb@box@align\tcb@box@align@center},% + sidebyside align/bottom seam/.code={\def\kvtcb@sbs@align{bottom}\let\tcb@box@align\tcb@box@align@bottom},% sidebyside gap/.dimstore in=\kvtcb@sbs@gap,% lefthand width/.code={\def\kvtcb@sbs@ratio{#1}\let\tcb@sbs@quota=\tcb@sbs@quota@leftwidth}, righthand width/.code={\def\kvtcb@sbs@ratio{#1}\let\tcb@sbs@quota=\tcb@sbs@quota@rightwidth}, @@ -626,6 +637,16 @@ \fi% } +\def\tcb@set@color#1{% + \letcs{\current@color}{\string\color@#1}% + \colorlet{.}{#1}% +} + +\def\tcb@reset@color{% + \colorlet{.}{tcbcol@origin}% + \letcs{\current@color}{\string\color@tcbcol@origin}% +} + \def\tcb@set@@upper@and@lower{% \colorlet{tcbcol@origin}{.}% \let\tcb@after@box=\kvtcb@after@upper% @@ -633,7 +654,7 @@ \def\tcblower{% \unskip\tcb@after@box% \end{tcb@savebox}% - \letcs{\current@color}{\string\color@tcbcol@lower}% + \tcb@set@color{tcbcol@lower}% \unless\iftcb@sidebyside% \tcbdimto\tcb@w@lower{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftlower-\kvtcb@rightlower}% \fi% @@ -649,7 +670,7 @@ \tcb@startbox}% % start of upper box \let\endtcolorbox\tcb@endboxanddraw% - \letcs{\current@color}{\string\color@tcbcol@upper}% + \tcb@set@color{tcbcol@upper}% \tcb@saveupperbox% } @@ -702,6 +723,8 @@ \stepcounter{tcblayer}% \ifnum\c@tcblayer>1% \tcbset{breakable@true/.code=}% + \else% + \ifinner\ifhmode\tcbset{breakable@true/.code=}\fi\fi% \fi% \ifnum\c@tcblayer>\tcb@managed@layers@max% \tcbset{every box on higher layers}% @@ -716,6 +739,8 @@ \stepcounter{tcblayer}% \ifnum\c@tcblayer>1% \tcbset{breakable@true/.code=}% + \else% + \ifinner\ifhmode\tcbset{breakable@true/.code=}\fi\fi% \fi% \ifnum\c@tcblayer>\tcb@managed@layers@max% \tcbset{every box on higher layers}% @@ -752,7 +777,7 @@ \def\tcb@endboxanddraw{% \unskip\tcb@after@box% \end{tcb@savebox}% - \letcs{\current@color}{\string\color@tcbcol@origin}% + \tcb@reset@color% \tcb@draw@color@box% \tcb@finalize@environment% } @@ -1118,8 +1143,21 @@ } \let\tcb@tdraw@lower=\tcb@tdraw@lower@core +\def\tcb@box@align@top#1{% + \setbox#1=\hbox{\raise-\ht#1\box#1}% +} + +\def\tcb@box@align@center#1{% + \setbox#1=\hbox{\raise\dimexpr(\dp#1-\ht#1)/2\relax\box#1}% +} + +\def\tcb@box@align@bottom#1{% + \setbox#1=\hbox{\raise\dp#1\box#1}% +} + \def\tcb@sbs@mix{% \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper@real}% + \tcb@box@align{\tcb@upperbox}% \iftcb@uppervisible% \tcbdimto{\tcb@temp@wd}{\tcb@w@upper-\wd\tcb@upperbox+\kvtcb@sbs@gap}% \noindent\unhbox\tcb@upperbox\kern\tcb@temp@wd% @@ -1129,6 +1167,7 @@ \rule[-\dp\tcb@upperbox]{0pt}{\the\dimexpr\ht\tcb@upperbox+\dp\tcb@upperbox\relax}% \fi% \iftcb@hasLower% + \tcb@box@align{\tcb@lowerbox}% \iftcb@lowervisible\color{tcbcol@lower}\unhbox\tcb@lowerbox% \else% \iftcb@lowerignored\else\rule[-\dp\tcb@lowerbox]{0pt}{\the\dimexpr\ht\tcb@lowerbox+\dp\tcb@lowerbox\relax}\fi% @@ -1200,6 +1239,15 @@ \csname tcb@after@\tcb@split@state\endcsname% } +\def\tcb@set@normal@unbroken@beforeafter{% + \let\tcb@before@unbroken=\kvtcb@beforebox% + \if@nobreak% + \iftcb@ignorenobreak\else% + \let\tcb@before@unbroken=\kvtcb@beforebox@nobreak% + \fi% + \fi% + \let\tcb@after@unbroken=\kvtcb@afterbox% +} \def\tcb@drawcolorbox{% \edef\tcb@split@state{unbroken}% @@ -1211,13 +1259,7 @@ \let\tcb@break@bottomsep=\tcb@zpt% % floats \ifx\kvtcb@float\@empty% - \let\tcb@before@unbroken=\kvtcb@beforebox% - \if@nobreak% - \iftcb@ignorenobreak\else% - \let\tcb@before@unbroken=\kvtcb@beforebox@nobreak% - \fi% - \fi% - \let\tcb@after@unbroken=\kvtcb@afterbox% + \tcb@set@normal@unbroken@beforeafter% \else% \edef\tcb@before@unbroken{\noexpand\tcb@float@env@begin{tcbfloat}[\kvtcb@float]\noexpand\kvtcb@everyfloat}% \let\tcb@after@unbroken=\tcb@float@env@end% @@ -1263,7 +1305,10 @@ \long\def\tcbox@inner@hbox#1{% \tcbset{breakable@false,sidebyside=false}% \tcb@set@@phantom% - \sbox\tcb@upperbox{\color{tcbcol@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper}% + \colorlet{tcbcol@origin}{.}% + \tcb@set@color{tcbcol@upper}% + \sbox\tcb@upperbox{\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper}% + \tcb@reset@color% \tcbdimto\tcb@val@raisebase{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}% \tcbdimto\kvtcb@width{\wd\tcb@upperbox+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule}% \tcb@hasLowerfalse% @@ -1278,7 +1323,10 @@ \tcb@set@@phantom% \tcb@set@@title% \tcb@set@@dimensions% - \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcol@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper\end{tcb@savebox}% + \colorlet{tcbcol@origin}{.}% + \tcb@set@color{tcbcol@upper}% + \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\kvtcb@fontupper\kvtcb@before@upper\ignorespaces#1\unskip\kvtcb@after@upper\end{tcb@savebox}% + \tcb@reset@color% \tcb@hasLowerfalse% \tcb@draw@color@box% } @@ -1330,6 +1378,20 @@ \def\tcb@new@label@type{\begingroup\edef\x{\endgroup\noexpand\appto\noexpand\tcb@new@colopt{,label type=\tcb@new@boxname}}\x} +\def\tcb@blend@beforetitle#1{#1:\ } + +\tcbset{% + blend before title code/.code={\def\tcb@blend@beforetitle##1{#1}}, + blend before title/.is choice, + blend before title/colon/.style={blend before title code={##1:\ }}, + blend before title/dash/.style={blend before title code={##1 --\ }}, + blend before title/colon hang/.style={blend before title code={% + \setbox\z@=\hbox{##1:\ }\hangindent\wd\z@\hangafter=1\mbox{\unhbox\z@}}}, + blend before title/dash hang/.style={blend before title code={% + \setbox\z@=\hbox{##1 --\ }\hangindent\wd\z@\hangafter=1\mbox{\unhbox\z@}}}, + blend before title=colon, +} + \tcbset{% new/.cd,% use counter/.code={\edef\kvtcb@new@counter{#1}\let\tcb@proc@counter=\tcb@proc@counter@use}, @@ -1350,9 +1412,9 @@ Crefname/.code 2 args={\begingroup\edef\x{\endgroup\noexpand\Crefname{\tcb@new@boxname}}\x{#1}{#2}\tcb@new@label@type}, % blend into/.is choice,% - blend into/figures/.style={use counter*=figure,list inside=lof,/tcb/code={\appto\tcb@new@colopt{,before title={\fnum@figure:\ }}}},% - blend into/tables/.style={use counter*=table,list inside=lot,/tcb/code={\appto\tcb@new@colopt{,before title={\fnum@table:\ }}}},% - blend into/listings/.style={use counter*=lstlisting,list inside=lol,/tcb/code={\appto\tcb@new@colopt{,before title={\lstlistingname~\thetcbcounter:\ }}}},% + blend into/figures/.style={use counter*=figure,list inside=lof,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\fnum@figure}}}}},% + blend into/tables/.style={use counter*=table,list inside=lot,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\fnum@table}}}}},% + blend into/listings/.style={use counter*=lstlisting,list inside=lol,/tcb/code={\appto\tcb@new@colopt{,before title={\tcb@blend@beforetitle{\lstlistingname~\thetcbcounter}}}}},% % reset@new/.style={no counter,number within=,number format=\arabic,number freestyle=,list inside=,list type=tcolorbox,init@hook@clear}, } @@ -1521,9 +1583,13 @@ \newwrite\tcb@out +\let\tcb@verbatim@begin@hook\@empty +\let\tcb@verbatim@end@hook\@empty + \def\tcbverbatimwrite#1{% \@bsphack - \immediate\openout \tcb@out #1 + \immediate\openout\tcb@out #1 + \tcb@verbatim@begin@hook% \let\do\@makeother\dospecials \catcode`\^^M\active \catcode`\^^I=12 \def\verbatim@processline{% @@ -1533,6 +1599,7 @@ \def\endtcbverbatimwrite{% + \tcb@verbatim@end@hook% \immediate\closeout\tcb@out \@esphack% } @@ -1705,10 +1772,11 @@ \tcb@add@library{hooks}{tcbhooks.code.tex} \tcb@add@library{fitting}{tcbfitting.code.tex} \tcb@add@library{xparse}{tcbxparse.code.tex} +\tcb@add@library{external}{tcbexternal.code.tex} \tcb@add@library@style{many}{raster,skins,breakable,hooks,theorems,fitting,xparse} -\tcb@add@library@style{most}{many,listingsutf8} -\tcb@add@library@style{all}{many,minted,listingsutf8,documentation} +\tcb@add@library@style{most}{many,listingsutf8,external} +\tcb@add@library@style{all}{many,minted,listingsutf8,external,documentation} \ProcessOptions* \edef\tcb@temp{\noexpand\tcbuselibrary{\tcb@optionlist}} -- cgit v1.2.3