texlive[65781] Master/texmf-dist: tcolorbox (10feb23)
commits+karl at tug.org
commits+karl at tug.org
Fri Feb 10 22:56:36 CET 2023
Revision: 65781
http://tug.org/svn/texlive?view=revision&revision=65781
Author: karl
Date: 2023-02-10 22:56:36 +0100 (Fri, 10 Feb 2023)
Log Message:
-----------
tcolorbox (10feb23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.verbatim.tex
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/CHANGES.md 2023-02-10 21:56:36 UTC (rev 65781)
@@ -22,6 +22,80 @@
+## [6.0.0] - 2023-02-10
+
+### Added
+- Generalized text alignment options (issue #184)
+ - Option `halign code`
+ - Option `halign upper code`
+ - Option `halign lower code`
+ - Option `halign title code`
+- New Options:
+ - Option `before title*` (equals `before title` until 5.1.1)
+ - Option `after title*` (equals `after title` until 5.1.1)
+- New option for verbatim output and listings:
+ - Option `verbatim ignore indention at end`
+- Option `short title` (part of issue #186)
+- Support for zref / zref-titleref / zref-clever (issue #206)
+ - Option `label is label`
+ - Option `label is zlabel`
+- Library `theorems`: New theorem generation macros. Generated theorema
+ support an optional short title now (part of issue #186):
+ - `\NewTcbTheorem`
+ - `\RenewTcbTheorem`
+ - `\ProvideTcbTheorem`
+ - `\DeclareTcbTheorem`
+- Library `skins`: Default values added to the options
+ - `watermark zoom`
+ - `watermark shrink`
+ - `watermark overzoom`
+ - `watermark stretch`
+
+### Changed
+- Possible visible change: previous hacks of current color handling are removed (issue #204)
+ and color is now inserted at begin of all internal `\box`es. This inserts a whatsit and can
+ give additional space at begin of a box which starts with an `itemize` or a similar environment.
+ If necessary, such a space may be removed by a manual `\vspace{-\parsep}`, see issue #123
+ Note: lualatex with package luacolor removes all spacing problems
+- While producing new types of tcolorbox environment by `\newtcolorbox`
+ leading and trailing spaces are now removed from the environment name
+- `before title` appends `\ignorespaces` now
+- `after title` prepends `\unskip` now
+- `tcbverbatimwrite` sets `verbatim ignore indention at end` to remove spaces from
+ indention of the end of environment
+- `nameref` also sets zref-titleref reference
+- `label type` is used for cleveref and zref-clever
+- The 'TikZ Image and Picture Fill Extensions' are extracted from library `skins`
+ into an `tcolorbox` indendent TikZ library `tikzfill.image` and made part
+ of a new package `tikzfill`. Also, the respective documentation is moved into
+ this new package (issue #185)
+- Library `skins`: The implementation of all watermark options is changed and
+ adapted to `tikzfill`. `clip watermark=false` has now some restrictions (see documentation)
+- Library `skins`: `\tcbincludegraphics` implementation changed to LaTeX3 code
+ (should be more robust; inspired by issue #209)
+- Temporary `\tcbcounter` in `\newtcolorbox[auto counter]` undefined/restored after usage (issue #203)
+- Color setting example of subtitle inside `subtitle style` (issue #189)
+- Documentation:
+ - The documentation orders now `\New...`, `\Renew...`, `\Provide...`, `\Declare...`.
+ Previously, `\Declare...` was often used first.
+ - `NewTotalTColorBox` cannot be used with `saveto` or `savelowerto` (issue #205)
+ - Replacing `\tikzname` by TikZ in a comment line (issue #207)
+ - `list entry`, `list text`, `add to list` moved from *Counters, Labels, and References*
+ to *Lists of tcolorboxes* for clarification (issue #194)
+
+### Removed
+- Code `\tcb at undo@before` which tried to undo vertical space for a breakable box
+ which does not fit partially on the current page but needs to go to the following page.
+ This code did not achieve the goal and was error-prone (issue #200, hint inside issue #183)
+
+### Fixed
+- `\Provide...` commands and environments process initialization options (issue #187)
+- Default initialization options were not issued, if `\newtcolorbox` was used without options (issue #194)
+- Typo in `\RenewTCBox` and `\RenewTotalTCBox` caused errors (issue #201)
+- Typo in README.md (issue #196)
+
+
+
## [5.1.1] - 2022-06-24
### Changed
@@ -30,7 +104,7 @@
- Slight implemenation change for `\newtcbtheorem` and `\renewtcbtheorem`
### Fixed
-- Regression bug introduced with v5.0.0 2021-12-16 (issue #182)
+- Regression bug introduced with v5.0.0 2021-12-16 (issue #182)
Instead of `beforeafter skip balanced`, `autoparskip` was set as default, restoring
the situation before v4.40 (with some inconsistencies)
@@ -46,20 +120,20 @@
- Option `IfEmptyTF`
- Option `IfEmptyT`
- Option `IfEmptyF`
-- Options to insert code at begin and end of floats (issue #172)
+- Options to insert code at begin and end of floats (issue #172)
- Option `before float`
- Option `after float`
- Option `before float app`
- Option `before float pre`
- Option `after float app`
- - Option `after float pre`
+ - Option `after float pre`
- Library `skins`: overlap of lower part for `bicolor`, `tile`, and `beamer`
made configurable (issue #166) by
- Option `overlaplower`
- `\tcboverlaplower`
-- Library `documentation`: package warning, if `imakeidx` is loaded after the
+- Library `documentation`: package warning, if `imakeidx` is loaded after the
library is loaded (issue #173)
-- Library `documentation`: gather index LaTeX macros and configure gathering (issue #174)
+- Library `documentation`: gather index LaTeX macros and configure gathering (issue #174)
- Option `doclang/commands`
- Option `index gather colors`
- Option `index gather commands`
@@ -68,9 +142,9 @@
- Option `index gather keys`
- Option `index gather lengths`
- Option `index gather paths`
- - Option `index gather values`
- - Option `index gather all`
- - Option `index gather none`
+ - Option `index gather values`
+ - Option `index gather all`
+ - Option `index gather none`
### Changed
- Required latex2e specified `\NeedsTeXFormat{LaTeX2e}[2020/10/01]` (issue #170)
@@ -81,7 +155,7 @@
to libraries `listings` and `fitting` respectively. `xparse` now only loads
the package `xparse` (issue #180)
- Internal implementation of all `\new*` commands, e.g. `\newtcolorbox` changed.
- Note that a missing backlash for `tcbox`-like commands
+ Note that a missing backlash for `tcbox`-like commands
e.g. `\newtcbox{mybox}` instead of `\newtcbox{\mybox}` is no longer tolerated.
### Fixed
@@ -129,10 +203,10 @@
- From now on version numbers adhere to
[Semantic Versioning](http://semver.org/spec/v2.0.0.html)
- Library `documentation`: warn about not installed `marvosym` and `pifont` (issue #153)
-- Environments wrapped with `\tcolorboxenvironment` are now compatible with
+- Environments wrapped with `\tcolorboxenvironment` are now compatible with
all three capture modes `minipage`, `hbox`, and `fitbox` (issue #154)
- Meaningful error prompts when using unknown capture modes (issue #156)
-- Library `raster`: Inside a raster, `tcbrasternum` can now be
+- Library `raster`: Inside a raster, `tcbrasternum` can now be
referenced using `label={mylabel}`, if the box is not numbered otherwise (issue #81 and #119)
- Library `theorem`: Theorems with empty display name are now possible without glitches
- Library `theorem`: Major code parts rewritten in expl3 code
@@ -180,7 +254,7 @@
- Documentation: Recommend to use initialization options after loading hyperref (issue #135)
- Documentation: Warn user about white title color becoming invisible
for the skin `empty` (issue #118)
-- Documentation: Corrections (issue #127)
+- Documentation: Corrections (issue #127)
- Documentation of library `skins` is split into a general part and the catalog of skins
- Allocate write registers `\tcb at out` and `\tcb at record@out` only when needed (issue #134)
- `\tcblistof` enhanced to take an optional short title and mimic
@@ -196,7 +270,7 @@
## [4.42] - 2020-10-09
### Added
-- Library `breakble`: Option `use color stack`
+- Library `breakable`: Option `use color stack`
### Changed
- Due to several problems with the color algorithm introduced with version 4.32,
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/README.md 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,7 +1,7 @@
-# The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+# The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
-> Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+> Copyright (c) 2006-2023 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
@@ -72,7 +72,7 @@
- `tcolorbox.sty` -> /tex/latex/tcolorbox
- `tcbbreakable.code.tex` -> /tex/latex/tcolorbox
-- `tcbdocumenation.code.tex` -> /tex/latex/tcolorbox
+- `tcbdocumentation.code.tex` -> /tex/latex/tcolorbox
- `tcbexternal.code.tex` -> /tex/latex/tcolorbox
- `tcbfitting.code.tex` -> /tex/latex/tcolorbox
- `tcbhooks.code.tex` -> /tex/latex/tcolorbox
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example-poster.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-example.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox-tutorial-poster.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.bib 2023-02-10 21:56:36 UTC (rev 65781)
@@ -7,7 +7,7 @@
language = {english}
}
- at manual{schoepf:2001a,
+ at manual{schoepf:verbatim,
author = {Rainer Sch{\"o}pf and Bernd Raichle and Chris Rowley},
title = {A New Implementation of {\LaTeX}'s verbatim and verbatim* Environments},
url = {https://mirror.ctan.org/macros/latex/required/tools/verbatim.pdf},
@@ -49,12 +49,12 @@
@book{sturm:latex,
author = {Thomas F. Sturm},
- title = {\LaTeX -- Einf\xFChrung in das Textsatzsystem},
- publisher = {Leibnitz Universit\xE4t Hannover IT Services (LUIS)},
+ title = {\LaTeX -- Einf{\"u}hrung in das Textsatzsystem},
+ publisher = {Leibnitz Universit{\"a}t Hannover IT Services (LUIS)},
address = {Hannover},
edition = 12,
- series = {IT-Handb\"ucher},
- url = {https://www.luis.uni-hannover.de/de/services/schulung-beratung-und-support/handbuecher/it-handbuecher-und-ebooks/details/manuals/latex/},
+ series = {IT-Handb{\"u}cher},
+ url = {https://www.luis.uni-hannover.de/de/services/kurse-beratung-und-support/handbuecher/it-handbuecher-und-ebooks/details/manuals/latex},
date = {2019-07},
language = {german}
}
@@ -63,9 +63,9 @@
@manual{tantau:tikz_and_pgf,
author = {Till Tantau},
title = {The TikZ and PGF Packages},
- subtitle = {Manual for version 3.1.5b},
+ subtitle = {Manual for version 3.1.10},
url = {https://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf},
- date = {2020-01-08},
+ date = {2023-01-15},
}
@@ -72,9 +72,9 @@
@manual{tantau:beamer,
author = {Till Tantau and Joseph Wright and Vedran Mileti\'{c}},
title = {The Beamer Class},
- subtitle = {User Guide for version 3.57},
+ subtitle = {User Guide for version 3.68},
url = {https://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
- date = {2019-09-30},
+ date = {2022-09-17},
}
@@ -106,7 +106,7 @@
author = {Frank Mittelbach},
title = {An environment for multicolumn output},
url = {https://mirror.ctan.org/macros/latex/required/tools/multicol.pdf},
- date = {2020-02-02},
+ date = {2022-10-31},
}
@@ -138,7 +138,7 @@
author = {Philipp Lehman and Joseph Wright},
title = {The etoolbox Package},
url = {https://mirror.ctan.org/macros/latex/contrib/etoolbox/etoolbox.pdf},
- date = {2019-09-21},
+ date = {2020-10-05},
}
@@ -155,13 +155,13 @@
title = {The minted package},
subtitle = {Highlighted source code in \LaTeX},
url = {https://mirror.ctan.org/macros/latex/contrib/minted/minted.pdf},
- date = {2017-07-19},
+ date = {2022-12-12},
}
@online{pygments:web,
title = {Pygments},
subtitle = {Python syntax highlighter},
- date = {2019},
+ date = {2023},
url = {https://pygments.org/},
}
@@ -169,7 +169,7 @@
author = {The \LaTeX3 Project},
title = {The xparse Package},
url = {https://mirror.ctan.org/macros/latex/contrib/l3packages/xparse.pdf},
- date = {2020-03-06},
+ date = {2023-02-02},
}
@@ -184,8 +184,8 @@
@manual{rahtz:hyperref,
author = {Sebastian Rahtz and Heiko Oberdiek},
title = {Hypertext marks in \LaTeX: a manual for hyperref},
- url = {https://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/manual.pdf},
- date = {2020-01},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/hyperref/doc/hyperref-doc.pdf},
+ date = {2023-02-07},
language = {english}
}
@@ -194,6 +194,26 @@
author = {Heiko Oberdiek},
title = {The bookmark package},
url = {https://mirrors.ctan.org/macros/latex/contrib/bookmark/bookmark.pdf},
- date = {2019-12-03},
+ date = {2020-11-06},
language = {english}
}
+
+
+ at manual{oberdiek:zref,
+ author = {Heiko Oberdiek},
+ title = {The zref package},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/zref/zref.pdf},
+ date = {2022-04-07},
+ language = {english}
+}
+
+
+ at manual{barros:zref-clever,
+ author = {Gustavo Barros},
+ title = {The zref-clever package},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/zref-clever/zref-clever.pdf},
+ date = {2023-01-03},
+ language = {english}
+}
+
+
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.breakable.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -335,6 +335,11 @@
\refKey{/tcb/use color stack} is silently ignored.
\clearpage
+The result of the following example depends on the used \LaTeX\ engine and
+loaded packages. The right-hand side is blue, if compiled using
+pdf\TeX, Lua\TeX{} without |luacolor|, and Xe\TeX.
+Lua\TeX{} with |luacolor| gives the next but one result.
+
\begin{dispExample}
% \usepackage{multicol,lipsum}
\begin{multicols}{2}\footnotesize
@@ -342,9 +347,9 @@
\begin{tcolorbox}[enhanced jigsaw,
size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
enforce breakable,% use only breakable in the real world!
- vfill before first, pad at break=1mm, break at=3.3cm ]
- \begin{itemize}\item Some blue text.\end{itemize}
- {\color{red}\itshape\lipsum[2]}\par
+ vfill before first, pad at break=1mm, break at=33mm ]
+ Some blue text.\par\smallskip
+ {\color{red}\itshape\lipsum[2]}\par\smallskip
More blue text.
\end{tcolorbox}
Text after box.
@@ -351,8 +356,9 @@
\end{multicols}
\end{dispExample}
-We do again with \refKey{/tcb/use color stack}. Observe the additional spacing
-at the begin of the box:
+We do again with \refKey{/tcb/use color stack}. Again, the result depends on
+the used \LaTeX\ engine. The right-hand side stays blue for Xe\TeX{} and
+and is red and blue for pdf\TeX{} and Lua\TeX{}.
\begin{dispExample}
% \usepackage{multicol,lipsum}
@@ -361,9 +367,9 @@
\begin{tcolorbox}[enhanced jigsaw, use color stack,
size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
enforce breakable,% use only breakable in the real world!
- vfill before first, pad at break=1mm, break at=3.3cm ]
- \begin{itemize}\item Some blue text.\end{itemize}
- {\color{red}\itshape\lipsum[2]}\par
+ vfill before first, pad at break=1mm, break at=33mm ]
+ Some blue text.\par\smallskip
+ {\color{red}\itshape\lipsum[2]}\par\smallskip
More blue text.
\end{tcolorbox}
Text after box.
@@ -433,7 +439,7 @@
and \refKey{/tcb/pad after break}.
\end{docTcbKey}
-\enlargethispage*{5mm}
+\enlargethispage*{10mm}
\begin{docTcbKey}{pad at break*}{=\meta{length}}{style, no default}
Sets \refKey{/tcb/pad at break} to \meta{length} and
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coremacros.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -141,7 +141,7 @@
% Fitted width box (like hbox or makebox)
\tcbox{Hello\\World!}
-% Fitted width box (using a \tikzname\ node)
+% Fitted width box (using a TikZ node)
\tcbox[tikznode]{Hello\\World!}
\end{dispExample}
@@ -211,21 +211,20 @@
\clearpage
-\begin{docCommand}{DeclareTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcolorbox}.\\
- Basically, |\DeclareTColorBox| operates like |\DeclareDocumentEnvironment|. This means,
+ Basically, \refCom{NewTColorBox} operates like |\NewDocumentEnvironment|. This means,
the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if an environment with \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new environment is always created, irrespective of an already existing
- environment with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
% counter from previous example
-\DeclareTColorBox[use counter from=pabox]{mybox}{ O{red} m d"" !O{} }
+\NewTColorBox[use counter from=pabox]{mybox}{ O{red} m d"" !O{} }
{enhanced,colframe=#1!75!black,colback=#1!5!white,
fonttitle=\bfseries,title={\thetcbcounter~#2},
IfValueT={#3}{watermark text={#3}},#4}
@@ -253,40 +252,42 @@
\end{docCommand}
\clearpage
-\begin{docCommand}{NewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An error is issued if \meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ Operates like \refCom{NewTColorBox}, but based on |\RenewDocumentEnvironment| instead of |\NewDocumentEnvironment|.
An existing environment is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTColorBox}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ Operates like \refCom{NewTColorBox}, but based on |\ProvideDocumentEnvironment| instead of |\NewDocumentEnvironment|.
The environment \meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTColorBox}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{NewTColorBox}, but based on |\DeclareDocumentEnvironment| instead of |\NewDocumentEnvironment|.
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+\end{docCommand}
+
\clearpage
-\begin{docCommand}{DeclareTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+\begin{docCommand}{NewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refEnv{tcolorbox}.
- In contrast to \refCom{DeclareTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
- Basically, |\DeclareTotalTColorBox| operates like |\DeclareDocumentCommand|. This means,
+ In contrast to \refCom{NewTColorBox}, also the \meta{content} of the |tcolorbox| is specified.\\
+ Basically, \refCom{NewTotalTColorBox} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcolorbox} which is filled with
the specified \meta{content}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
- automatically.\\
+ automatically.
+ Also note that \refKey{/tcb/saveto} and \refKey{/tcb/savelowerto}
+ cannot be used with \refCom{NewTotalTColorBox} and friends.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
-\DeclareTotalTColorBox{\diabox}{ O{} v m }
+\NewTotalTColorBox{\diabox}{ O{} v m }
{ bicolor,nobeforeafter,equal height group=diabox,width=5.7cm,
fonttitle=\bfseries\ttfamily,adjusted title={#2},center title,
colframe=blue!20!black,leftupper=0mm,rightupper=0mm,colback=black!75!white,#1}
@@ -295,25 +296,24 @@
\diabox{blueshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
\diabox{goldshade.png}{Created with |GIMP|.\\\url{http://www.gimp.org}}
-
\end{dispExample}
\end{docCommand}
-\begin{docCommand}{NewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTColorBox}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTColorBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTColorBox}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTotalTColorBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{NewTotalTColorBox}, but based on |\DeclareDocumentCommand| instead of |\NewDocumentCommand|.
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
\clearpage
@@ -383,21 +383,20 @@
\end{docCommand}
-\begin{docCommand}{DeclareTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
- Basically, |\DeclareTCBox| operates like |\DeclareDocumentCommand|. This means,
+ Basically, \refCom{NewTCBox} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
% counter from previous example
-\DeclareTCBox[use counter from=pabox]{\mybox}{ s m s }
+\NewTCBox[use counter from=pabox]{\mybox}{ s m s }
{ nobeforeafter,colback=red!5!white,colframe=red!75!black,
title={#2 (Box \thetcbcounter)},fonttitle=\bfseries,
IfBooleanT={#1}{enhanced,drop shadow},
@@ -413,41 +412,41 @@
\end{dispExample}
\end{docCommand}
-\begin{docCommand}{NewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
\begin{docCommand}{RenewTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBox}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBox}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{NewTCBox}, but based on |\DeclareDocumentCommand| instead of |\NewDocumentCommand|.
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
\clearpage
-\begin{docCommand}{DeclareTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+\begin{docCommand}{NewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbox}.
- In contrast to \refCom{DeclareTCBox}, also the \meta{content} of the |tcbox| is specified.\\
- Basically, |\DeclareTotalTCBox| operates like |\DeclareDocumentCommand|. This means,
+ In contrast to \refCom{NewTCBox}, also the \meta{content} of the |tcbox| is specified.\\
+ Basically, \refCom{NewTotalTCBox} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbox} which is filled with
the specified \meta{content}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
-\DeclareTotalTCBox{\myverb}{ O{red} v !O{} }
+\NewTotalTCBox{\myverb}{ O{red} v !O{} }
{ fontupper=\ttfamily,nobeforeafter,tcbox raise base,arc=0pt,outer arc=0pt,
top=0pt,bottom=0pt,left=0mm,right=0mm,
leftrule=0pt,rightrule=0pt,toprule=0.3mm,bottomrule=0.3mm,boxsep=0.5mm,
@@ -466,7 +465,7 @@
\begin{dispExample}
% \usepackage{listings} or \tcbuselibrary{listings}
-\DeclareTotalTCBox{\commandbox}{ s v }
+\NewTotalTCBox{\commandbox}{ s v }
{verbatim,colupper=white,colback=black!75!white,colframe=black}
{\IfBooleanT{#1}{\textcolor{red}{\ttfamily\bfseries > }}%
\lstinline[language=command.com,keywordstyle=\color{blue!35!white}\bfseries]^#2^}
@@ -481,22 +480,24 @@
\end{docCommand}
\clearpage
-\begin{docCommand}{NewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
\begin{docCommand}{RenewTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTCBox}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBox}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTCBox}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTotalTCBox}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{NewTotalTCBox}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
+
\begin{docCommand}{tcboxverb}{\oarg{options}\marg{verbatim box content}}
Creates a colored box based on \refCom{tcbox} which is fitted to the width of the given
\meta{verbatim box content}.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.coreoptions.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -210,7 +210,8 @@
coltitle=red!25!black,
fonttitle=\bfseries,
subtitle style={boxrule=0.4pt,
- colback=yellow!50!red!25!white} ]
+ colback=yellow!50!red!25!white,
+ colupper=red!75!gray} ]
This is a \textbf{tcolorbox}.
\tcbsubtitle{My subtitle}
Further text.
@@ -594,7 +595,20 @@
\clearpage
\subsection{Text Alignment}
-\begin{docTcbKey}[][doc new=2015-05-07]{halign}{=\meta{alignment}}{no default, initially \texttt{justify}}
+\begin{docTcbKeys}[
+ doc parameter = {=\meta{alignment}},
+ doc description = {no default, initially \texttt{justify}},
+ doc new = 2015-05-07,
+ ]
+ {
+ {
+ doc name = halign,
+ },
+ {
+ doc name = halign upper,
+ }
+ }
+%\begin{docTcbKey}[][doc new=2015-05-07]{halign}{=\meta{alignment}}{no default, initially \texttt{justify}}
If there is no lower part, |halign| determines the horizontal \meta{alignment}
of the text content.
Otherwise, |halign| determines the horizontal \meta{alignment}
@@ -614,6 +628,7 @@
detail in the \tikzname\ manual \cite{tantau:tikz_and_pgf}. The short story is that
the non-flush versions will often look more balanced but with more
hyphenations.
+ \refKey{/tcb/halign upper} is an alias for \refKey{/tcb/halign}.
\begin{exdispExample}{halign}
\tcbset{colback=red!5!white,colframe=red!75!black,size=small,
@@ -641,14 +656,30 @@
\end{tcolorbox}
\end{exdispExample}
-\end{docTcbKey}
+\end{docTcbKeys}
+\clearpage
-\begin{docTcbKey}[][doc new=2015-05-07]{halign upper}{=\meta{alignment}}{no default, initially \texttt{justify}}
- Alias for \refKey{/tcb/halign}.
-\end{docTcbKey}
+\begin{docTcbKeys}[
+ doc parameter = {=\marg{code}},
+ doc description = {no default},
+ doc new = 2022-07-07,
+ ]
+ {
+ {
+ doc name = halign code,
+ },
+ {
+ doc name = halign upper code,
+ }
+ }
+ If \refKey{/tcb/halign} resp. \refKey{/tcb/halign upper} is not flexible enough,
+ \refKey{/tcb/halign code} resp. \refKey{/tcb/halign upper code} allows to set
+ arbitrary \meta{code} to configure the horizontal alignment of the text content,
+ e.g. using alignments from specialized packages.
+\end{docTcbKeys}
-\newpage
+
\begin{docTcbKey}[][doc new=2015-05-07]{halign lower}{=\meta{alignment}}{no default, initially \texttt{justify}}
|halign lower| determines the horizontal \meta{alignment} of the lower part of the box.
The feasible values for \meta{alignment} are the same as for \refKey{/tcb/halign}.
@@ -681,6 +712,19 @@
\end{docTcbKey}
+\begin{docTcbKeys}[
+ doc parameter = {=\marg{code}},
+ doc description = {no default},
+ doc new = 2022-07-07,
+ doc name = halign lower code,
+ ]{}
+ If \refKey{/tcb/halign lower} is not flexible enough,
+ \refKey{/tcb/halign lower code} allows to set
+ arbitrary \meta{code} to configure the horizontal alignment of the lower
+ part of the box.
+\end{docTcbKeys}
+
+
\clearpage
\begin{docTcbKey}[][doc new=2015-05-07]{halign title}{=\meta{alignment}}{no default, initially \texttt{justify}}
|halign lower| determines the horizontal \meta{alignment} of the title of the box.
@@ -713,8 +757,21 @@
\end{exdispExample}
\end{docTcbKey}
-\enlargethispage*{1cm}
+\begin{docTcbKeys}[
+ doc parameter = {=\marg{code}},
+ doc description = {no default},
+ doc new = 2022-07-07,
+ doc name = halign title code,
+ ]{}
+ If \refKey{/tcb/halign title} is not flexible enough,
+ \refKey{/tcb/halign title code} allows to set
+ arbitrary \meta{code} to configure the horizontal alignment of the title
+ of the box.
+\end{docTcbKeys}
+
+
+
\begin{docTcbKey}[][doc updated=2015-05-07]{flushleft upper}{}{style, no value}
Shortcut for setting \refKey{/tcb/halign} to \docValue{flush left}.
\end{docTcbKey}
@@ -1825,7 +1882,7 @@
\begin{exdispExample}{inherit_height}
\tcbset{colframe=blue!75!black,colback=white,fonttitle=\bfseries}
-\begin{tcolorbox}[title=Outer box with fixed height 4cm,height=4cm]
+\begin{tcolorbox}[title=Outer box with fixed height 3.5cm,height=3.5cm]
\begin{tcolorbox}[title=Inner box,nobeforeafter,inherit height]
This inner box matches the available space.
\end{tcolorbox}
@@ -2135,9 +2192,10 @@
of a |tcolorbox|. These additions can be given at the beginning or at the ending
of the title, the upper part, or the lower part.
-\begin{docTcbKey}{before title}{=\meta{code}}{no default, initially unset}
+\begin{docTcbKey}[][doc updated=2023-01-27]{before title}{=\meta{code}}{no default, initially unset}
The given \meta{code} is placed \emph{after} the color and font settings
and \emph{before} the content of the title.
+ The \meta{code} is appended by a final |\ignorespaces|.
\begin{exdispExample}{before_title}
\tcbset{before title={\textcolor{yellow}{\large Important:}~},
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
@@ -2149,8 +2207,16 @@
\end{docTcbKey}
-\begin{docTcbKey}{after title}{=\meta{code}}{no default, initially unset}
+\begin{docTcbKey}[][doc new=2023-01-27]{before title*}{=\meta{code}}{no default, initially unset}
+ The given \meta{code} is placed \emph{after} the color and font settings
+ and \emph{before} the content of the title.
+ In contrast to \refKey{/tcb/before title}, no |\ignorespaces| is appended.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc updated=2023-01-27]{after title}{=\meta{code}}{no default, initially unset}
The given \meta{code} is placed \emph{after} the content of the title.
+ The \meta{code} is prepended by a leading |\unskip|.
\begin{exdispExample}{after_title}
\tcbset{after title={\hfill\colorbox{Navy}{approved}},
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries}
@@ -2162,6 +2228,12 @@
\end{docTcbKey}
+\begin{docTcbKey}[][doc new=2023-01-27]{after title*}{=\meta{code}}{no default, initially unset}
+ The given \meta{code} is placed \emph{after} the content of the title.
+ In contrast to \refKey{/tcb/after title}, no |\unskip| is prepended.
+\end{docTcbKey}
+
+
\clearpage
\begin{docTcbKey}{before upper}{=\meta{code}}{no default, initially empty}
The given \meta{code} is placed \emph{after} the color and font settings
@@ -3923,7 +3995,7 @@
a |minipage|. In a |minipage| or |parbox|, paragraphs are formatted slightly different
as the main text. If the key value is set to |false|, the normal main text
behavior is restored. In some situations, this has some unwanted side
- effects. It is recommended that you use this experimental setting only
+ effects. It is recommended that you use this \textbf{experimental setting} only
where you really want to have this feature.
\end{docTcbKey}
@@ -4118,12 +4190,36 @@
Removes the phantom code if set before.
\end{docTcbKey}
-\begin{docTcbKey}{label}{=\meta{marker}}{no default, initially unset}
-The \meta{marker} is set as label text for a reference with the |\ref| macro.
+
+\begin{docTcbKey}[][doc new=2023-02-08]{label is label}{}{no value, initially set}
+Sets |\label| as labelling for |tcolorbox| (global or per box).
+When \refKey{/tcb/label} and friends are used, the underlying labeling macro is |\label|.
+References can be made by |\ref|, |\pageref|, and similar macros. This is the
+default \LaTeX\ behaviour.
+Note that this option is not getting reset by \refKey{/tcb/reset}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc new=2023-02-08]{label is zlabel}{}{no value, initially unset}
+Sets |\zlabel| as labelling for |tcolorbox| (global or per box).
+When \refKey{/tcb/label} and friends are used, the underlying labeling macro is |\zlabel|.
+This needs the |zref| package \cite{oberdiek:zref} or packages building upon |zref| to be loaded.
+References can be made by |\zref|. If the |zref-clever| package \cite{barros:zref-clever} is loaded,
+|\zcref|, |\zcpageref|, and similar macros can be applied.
+Note that this option is not getting reset by \refKey{/tcb/reset}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}[][doc updated=2023-02-08]{label}{=\meta{marker}}{no default, initially unset}
+The \meta{marker} is set as label text with |\label| for a reference with the |\ref| macro,
+if \refKey{/tcb/label is label} is active,
+or as label text with |\zlabel| for a reference with the |\zref| macro and similar,
+if \refKey{/tcb/label is zlabel} is active.
Typically, this option is used for numbered boxes, see Subsection \ref{sec:numberedboxes}
from page \pageref{sec:numberedboxes}, e.\,g.\ \refKey{/tcb/new/auto counter}.
\end{docTcbKey}
+
\begin{docTcbKey}[][doc new=2014-11-28]{phantomlabel}{=\meta{marker}}{no default, initially unset}
Equivalent to \refKey{/tcb/label} for an \emph{unnumbered} box.
A |\phantomsection| from the package |hyperref| \cite{rahtz:hyperref} is used to set a correct
@@ -4130,21 +4226,8 @@
hyperlink target. This is not needed for a numbered box.
\end{docTcbKey}
+\clearpage
-\begin{docTcbKey}{label type}{=\meta{type}}{no default, initially unset}
-This option key can be used only in conjunction with the |cleveref| package
-\cite{cubitt:2018a} which has to be loaded separately.
-\meta{type} has to be a cross-reference type \emph{known} to |cleveref|
-like |theorem|, |algorithm|, |result|, etc. References made with |cleveref|
-will use this type. Note that using |label type| will result in compilation
-errors, if |cleveref| is not loaded.
-For an example, see \Vref{theo:meanvaluetheorem}.
-\end{docTcbKey}
-
-\begin{docTcbKey}{no label type}{}{no value, initially set}
-Removes a \refKey{/tcb/label type}, if set before.
-\end{docTcbKey}
-
\begin{docTcbKey}{step}{=\meta{counter}}{no default, initially unset}
Shortcut for |phantom={\refstepcounter{#1}}|. The given \meta{counter} is
increased and ready for labelling. This option is not needed when
@@ -4160,43 +4243,46 @@
from page \pageref{sec:numberedboxes}.
\end{docTcbKey}
-\clearpage
-\begin{docTcbKey}{list entry}{=\meta{text}}{no default, initially unset}
-If the \flqq list of tcolorbox(es)\frqq\ feature described in Subsection
-\ref{sec:listsof} from page \pageref{sec:listsof} is used, this key
-describes the \meta{text} for an entry into the generated list, e.\,g.
-\begin{dispListing}
-list entry={\protect\numberline{\thetcbcounter}My beautiful Example}
-\end{dispListing}
-See Section \ref{listing:exercises} from page \pageref{listing:exercises}
-for a complete example.
-\end{docTcbKey}
-\begin{docTcbKey}[][doc new=2014-09-19]{list text}{=\meta{text}}{style, no default}
-This is a shortcut for setting \refKey{/tcb/list entry} to\\
-|\protect\numberline{\thetcbcounter}|\meta{text}.
-So, the following settings are identical:
-\begin{dispListing}
-list text={My beautiful Example},
-list entry={\protect\numberline{\thetcbcounter}My beautiful Example}
-\end{dispListing}
-See Section \ref{listing:exercises} from page \pageref{listing:exercises}
-for a complete example.
+\begin{docTcbKey}[][doc updated=2023-02-09]{label type}{=\meta{type}}{no default, initially unset}
+This option has a different meaning based upon the chosen labeling mechanism.
+\begin{itemize}
+\item If \refKey{/tcb/label is label} is active:\par
+ The option key \refKey{/tcb/label type} can be used only in conjunction with the |cleveref| package
+ \cite{cubitt:2018a} which has to be loaded separately.
+ \meta{type} has to be a cross-reference type \emph{known} to |cleveref|
+ like |theorem|, |algorithm|, |result|, etc. References made with |cleveref|
+ will use this type. Note that using |label type| will result in compilation
+ errors, if |cleveref| is not loaded.
+ For an example, see \Vref{theo:meanvaluetheorem}.
+\item If \refKey{/tcb/label is zlabel} is active:\par
+ The option key \refKey{/tcb/label type} can be used only in conjunction with the |zref-clever| package
+ \cite{barros:zref-clever}
+ which has to be loaded separately.
+ \meta{type} has to be a cross-reference type \emph{known} to |zref-clever|.
+ This \meta{type} is bound to an automatic |tcolorbox| counter which has to be set up using
+ \refKey{/tcb/new/auto counter},
+ \refKey{/tcb/new/use counter from},
+ \refKey{/tcb/new/use counter}, or
+ \refKey{/tcb/new/use counter*}.
+ If \refKey{/tcb/label is zlabel} is set, but |zref-clever| is not loaded,
+ using |zref-clever countertype| will be silently ignored.
+\end{itemize}
\end{docTcbKey}
-\begin{docTcbKey}{add to list}{=\marg{list}\marg{type}}{no default, initially unset}
-If the \flqq list of tcolorbox(es)\frqq\ feature described in Subsection
-\ref{sec:listsof} from page \pageref{sec:listsof} is used, list entries are
-generated automatically. With this key, you can enforce an entry to the
-given \meta{list} with the given \meta{type}.
-This issues:\\
-|\addcontentsline|\marg{list}\marg{type}\marg{entry text}
+
+\begin{docTcbKey}[][doc updated=2023-02-09]{no label type}{}{no value, initially set}
+Removes a \refKey{/tcb/label type}, if set before.
\end{docTcbKey}
-\begin{docTcbKey}[][doc new and updated={2016-06-22}{2016-11-18}]{nameref}{=\meta{text}}{no default, initially unset}
+\clearpage
+\begin{docTcbKey}[][doc new and updated={2016-06-22}{2023-02-08}]{nameref}{=\meta{text}}{no default, initially unset}
If the |nameref| package is loaded, the given \meta{text} is used for
-corresponding |\nameref| macros. Typically, the \meta{text} will be chosen
+corresponding |\nameref| macros.
+If the |zref-titleref| package is loaded, the given \meta{text} is used to
+set the reference text for |\ztitleref|.
+Typically, the \meta{text} will be chosen
to be identical or nearly identical to the one for \refKey{/tcb/title}.
\inputpreamblelisting{A}
@@ -4217,6 +4303,14 @@
\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2022-07-18]{short title}{=\meta{text}}{style, no default}
+Sets both \refKey{/tcb/list entry} and \refKey{/tcb/nameref} to \meta{text}.
+The most likely use case is to set a \emph{short title} for the
+\flqq list of tcolorbox(es)\frqq\ and for box referencing.
+\end{docTcbKey}
+
+
\clearpage
\begin{docTcbKey}[][doc new=2017-02-03]{hypertarget}{=\meta{marker}}{no default, initially unset}
A |\hypertarget| from the package |hyperref| \cite{rahtz:hyperref} is used to
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.filling.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,9 +1,9 @@
% !TeX root = tcolorbox.tex
% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
\clearpage
-\section{\tikzname\ Image and Picture Fill Extensions; Auxiliary Macros}\label{sec:tikzimagefilling}%
+\section{\tikzname\ Auxiliary Macros}\label{sec:tikzimagefilling}%
\tcbset{external/prefix=external/filling_}%
-The \mylib{skins} library adds some image and picture fill options to the vast option set of
+The \mylib{skins} library adds some auxiliary options to the vast option set of
\tikzname\ \cite{tantau:tikz_and_pgf}. These options can be used in any |tikzpicture|.
For the following options, the \mylib{skins} library has to be loaded
by a package option or inside the preamble by:
@@ -13,411 +13,13 @@
See \Vref{sec:skins} for the documentation of all other options of the \mylib{skins} library.
-\subsection{Fill Plain}
-\begin{docTikzKey}{fill plain image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is put in the center of the path, but it is not resized to fit into
- the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill plain image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
+\begin{marker}
+Up to version 5.1.1 (2022/06/24) of |tcolorbox|, \tikzname\ image and picture fill extensions
+were documented here. These extensions are now separate \tikzname\ libraries
+and part of the |tikzfill| package where they are documented now.
+\end{marker}
-\begin{docTikzKey}{fill plain image*}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is put in the center of the path, but it is not resized to fit into
- the path area.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,
- fill plain image*={width=2.5cm}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-\enlargethispage*{1cm}
-
-\begin{docTikzKey}{fill plain picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with the given \meta{graphical code}.
- The result is put in the center of the path, but it is not resized to fit into
- the path area. Note that this is almost identical to the standard |path picture| option.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill plain picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Fill Stretch}
-\begin{docTikzKey}{fill stretch image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill stretch image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill stretch image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill stretch image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill stretch picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with the given \meta{graphical code}.
- The result is stretched to fill the path area.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill stretch picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Fill Overzoom}
-\begin{docTikzKey}{fill overzoom image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill overzoom image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill overzoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill overzoom image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill overzoom picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with the given \meta{graphical code}.
- The result is zoomed such that the path area fills the image.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill overzoom picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Fill Zoom}
-\begin{docTikzKey}{fill zoom image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that it fits inside the path area.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill zoom image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill zoom image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that it fits inside the path area.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill zoom image*=
- {angle=90,origin=c}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill zoom picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with the given \meta{graphical code}.
- The result is zoomed such that it fits inside the path area.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill zoom picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Fill Shrink}
-\begin{docTikzKey}{fill shrink image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The image is zoomed such that it fits inside the path area, but it never
- gets enlarged.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill shrink image=goldshade.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill shrink image*}{=\meta{file name}}{no default, initially unset}
- Fills the current path with an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- The image is zoomed such that it fits inside the path area, but it never
- gets enlarged.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,
- fill shrink image*={width=1.5cm}{goldshade.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill shrink picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with the given \meta{graphical code}.
- The result is zoomed such that it fits inside the path area, but it never
- gets enlarged.
- Typically, some parts of the path area will stay unfilled.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill shrink picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Fill Tile}
-\begin{docTikzKey}{fill tile image}{=\meta{file name}}{no default, initially unset}
- Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill tile image=pink_marble.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill tile image*}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
- Fills the current path with a tile pattern using an external image referenced by \meta{file name}.
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill tile image*={width=1cm}{pink_marble.png}]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-\begin{docTikzKey}{fill tile picture}{=\meta{graphical code}}{no default, initially unset}
- Fills the current path with a tile pattern using the given \meta{graphical code}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill tile picture={%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill tile picture*}{=\marg{fraction}\marg{graphical code}}{no default, initially unset}
- Fills the current path with a tile pattern using the given \meta{graphical code}.
- The graphic is resized by \meta{fraction}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[draw,fill tile picture*={0.25}{%
- \draw[red!50!yellow,line width=2mm]
- (0,0) circle (1cm);
- \draw[red,line width=5mm] (-1,-1) -- (1,1);
- \draw[red,line width=5mm] (-1,1) -- (1,-1);
- }]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\clearpage
-\subsection{Filling Options}
-\begin{docTikzKey}{fill image opacity}{=\meta{fraction}}{no default, initially |1.0|}
- Sets the fill opacity for the image or picture fill options to the given \meta{fraction}.
-\begin{dispExample}
-\begin{tikzpicture}
-\path[fill stretch image=goldshade.png] (0,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.75]
- (2,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.5]
- (4,0) circle (1cm);
-\path[fill=red,fill stretch image=goldshade.png,fill image opacity=0.25]
- (6,0) circle (1cm);
-\path[fill=red] (8,0) circle (1cm);
-\end{tikzpicture}
-\end{dispExample}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}{fill image scale}{=\meta{fraction}}{no default, initially |1.0|}
- Stretches, zooms, overzooms or shrinks the image or picture to the given \meta{fraction} of the
- width and height of the current path.
-\begin{dispExample}
-\begin{tikzpicture}
-\path[draw,fill zoom image=goldshade.png]
- (0,0) rectangle +(2,2);
-
-\path[draw,fill zoom image=goldshade.png,fill image scale=0.75]
- (3,0) rectangle +(2,2);
-
-\path[draw,fill zoom image=goldshade.png,fill image scale=1.5]
- (6,0) rectangle +(2,2);
-\end{tikzpicture}
-\end{dispExample}
-\end{docTikzKey}
-
-
-\begin{docTikzKey}[][doc updated=2018-03-18]{fill image options}{=\meta{graphics options}}{no default, initially empty}
- The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command
- for the image fill options. This can be just together with
- \refKey{/tikz/fill stretch image}, \refKey{/tikz/fill overzoom image}, \refKey{/tikz/fill zoom image},
- and \refKey{/tikz/fill tile image}.
-\begin{dispExample*}{sbs,lefthand ratio=0.66,right=2mm,sidebyside gap=5mm,center lower}
-\begin{tikzpicture}
-\path[fill image options={width=1cm},
- fill tile image=pink_marble.png]
- (2.75,-0.75) -- (3,0) -- (2.75,0.75)
- \foreach \w in {45,90,...,315}
- { -- (\w:1.5cm) } -- cycle;
-\end{tikzpicture}
-\end{dispExample*}
-\end{docTikzKey}
-
-
-\begin{dispExample*}{sbs,lefthand ratio=0.6,center lower,fonttitle=\bfseries,
- title=Image blending example}
-\begin{tikzpicture}[every node/.style=
- {circle,minimum width=2cm}]
-\node[fill stretch image=blueshade.png]
- (A) at (120:3cm) {A};
-\node[fill stretch image=goldshade.png]
- (B) at (60:3cm) {B};
-\node[
- preaction={fill stretch image=blueshade.png},
- fill stretch image=goldshade.png,
- fill image opacity=0.5] (C) {C};
-\path (A) -- node{$+$} (B);
-\draw[->,very thick] (A)--(C);
-\draw[->,very thick] (B)--(C);
-\end{tikzpicture}
-\end{dispExample*}
-
-
\subsection{Straightening of the Arcs}
\begin{marker}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.fitting.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -142,22 +142,21 @@
\clearpage
-\begin{docCommand}{DeclareTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
- Basically, |\DeclareTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ Basically, \refCom{NewTCBoxFit} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
% \usepackage{lipsum}
-\DeclareTCBoxFit{\mybox}{ O{} m !o }
+\NewTCBoxFit{\mybox}{ O{} m !o }
{colback=red!5!white,
colframe=red!75!black,
width=#2,height=#2/3*2,
@@ -171,41 +170,41 @@
\end{dispExample*}
\end{docCommand}
-\begin{docCommand}{NewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{NewTCBoxFit}, but based on |\DeclareDocumentCommand| instead of |\NewDocumentCommand|.
+ The new command \texttt{\textbackslash}\meta{name} is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
+
\clearpage
-\begin{docCommand}{DeclareTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+\begin{docCommand}{NewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcboxfit}.
- In contrast to \refCom{DeclareTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
- Basically, |\DeclareTotalTCBoxFit| operates like |\DeclareDocumentCommand|. This means,
+ In contrast to \refCom{NewTCBoxFit}, also the \meta{content} of the |tcboxfit| is specified.\\
+ Basically, \refCom{NewTotalTCBoxFit} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcboxfit} which is filled with
the specified \meta{content}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
% \usepackage{lipsum}
-\DeclareTotalTCBoxFit{\multibox}{ O{} m O{10} m }
+\NewTotalTCBoxFit{\multibox}{ O{} m O{10} m }
{nobeforeafter,colback=red!5!white,colframe=red!75!black,width=#2,height=#2/3*2,
valign=center,#1}
{ \foreach \n in {1,...,#3} { #4} }
@@ -216,22 +215,23 @@
\end{dispExample}
\end{docCommand}
-\begin{docCommand}{NewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTCBoxFit}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
- Operates like \refCom{DeclareTotalTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTotalTCBoxFit}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTotalTCBoxFit}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}\marg{content}}
+ Operates like \refCom{NewTotalTCBoxFit}, but based on |\DeclareDocumentCommand| instead of |\NewDocumentCommand|.
+ The new command \texttt{\textbackslash}\meta{name} is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
+
\clearpage
\subsection{Option Keys of the Library}\label{subsec:fit}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.initoptions.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -376,7 +376,6 @@
for all Students of my Course}
\end{dispListing}
-\medskip
\begin{marker}
The core of the list is generated by |\@starttoc|\marg{name} which
can be wrapped into an own macro.
@@ -383,3 +382,59 @@
\end{marker}
\end{docCommand}
+\clearpage
+
+\begin{marker}
+The following options are not initialization options, but common options,
+which are typically reasonable in connection with lists of |tcolorbox|es.
+\end{marker}
+
+\begin{docTcbKey}{list entry}{=\meta{text}}{no default, initially unset}
+If the \flqq list of tcolorbox(es)\frqq\ feature described in
+%Subsection \ref{sec:listsof} from page \pageref{sec:listsof}
+the current subsection
+is used, this key
+describes the \meta{text} for an entry into the generated list, e.\,g.
+\begin{dispListing}
+list entry={\protect\numberline{\thetcbcounter}My beautiful Example}
+\end{dispListing}
+See Section \ref{listing:exercises} from page \pageref{listing:exercises}
+for a complete example.\par
+If |\thetcbcounter| is omitted, \refKey{/tcb/list entry} could be used for
+unnumbered boxes too.
+\begin{marker}
+This is a customization option. For numbered boxes, \refKey{/tcb/list entry}
+typically has not to be given, because this entry will be generated automatically.
+\end{marker}
+\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2014-09-19]{list text}{=\meta{text}}{style, no default}
+This is a shortcut for setting \refKey{/tcb/list entry} to\\
+|\protect\numberline{\thetcbcounter}|\meta{text}.
+So, the following settings are identical:
+\begin{dispListing}
+list text={My beautiful Example},
+list entry={\protect\numberline{\thetcbcounter}My beautiful Example}
+\end{dispListing}
+See Section \ref{listing:exercises} from page \pageref{listing:exercises}
+for a complete example.
+\end{docTcbKey}
+
+\begin{docTcbKey}{add to list}{=\marg{list}\marg{type}}{no default, initially unset}
+If the \flqq list of tcolorbox(es)\frqq\ feature described in
+%Subsection \ref{sec:listsof} from page \pageref{sec:listsof}
+the current subsection
+is used, list entries are
+generated automatically. With this key, you can enforce an entry to the
+given \meta{list} with the given \meta{type}.
+This issues:\par
+|\addcontentsline|\marg{list}\marg{type}\marg{entry text}\par
+\meta{entry text} may be given by \refKey{/tcb/list entry}.
+\begin{marker}
+This is a customization option. For numbered boxes, this feature is configured
+automatically, where
+\meta{list} is set by \refKey{/tcb/new/list inside} and
+\meta{type} is set by \refKey{/tcb/new/list type}
+\end{marker}
+\end{docTcbKey}
+
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.intro.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -48,7 +48,7 @@
\subsection{Loading the Package}
The base package |tcolorbox| loads the packages
-|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:2001a},
+|pgf| \cite{tantau:tikz_and_pgf}, |verbatim| \cite{schoepf:verbatim},
|etoolbox| \cite{lehmann:etoolbox},
and |environ| \cite{robertson:2014a}.
|tcolorbox| itself is loaded in the usual manner in the preamble:
@@ -151,7 +151,7 @@
\clearpage
\begin{docTcbKey}[library]{xparse}{}{\mylib{xparse}}
- Loads |xparse| and is considered a legacy library kept for compatibility;
+ Loads the package |xparse| and is considered a legacy library kept for compatibility;
see Section~\ref{sec:xparse} from page~\pageref{sec:xparse}.
\end{docTcbKey}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.listings.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -279,20 +279,19 @@
\clearpage
-\begin{docCommand}{DeclareTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
Creates a new environment \meta{name} based on \refEnv{tcblisting}.\\
- Basically, |\DeclareTCBListing| operates like |\DeclareDocumentEnvironment|. This means,
+ Basically, \refCom{NewTCBListing} operates like |\NewDocumentEnvironment|. This means,
the new environment \meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \meta{name} has already been defined.
The \meta{options} are given to the underlying \refEnv{tcblisting}.\\
Note that \refKey{/tcb/savedelimiter} is set to the given \meta{name}
automatically.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new environment is always created, irrespective of an already existing
- environment with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample*}{sbs,lefthand ratio=0.5}
-\DeclareTCBListing{mybox}{ s O{} m }{%
+\NewTCBListing{mybox}{ s O{} m }{%
colback=red!5!white,
colframe=red!75!black,
fonttitle=\bfseries,
@@ -321,21 +320,22 @@
\end{dispExample*}
\end{docCommand}
-\begin{docCommand}{NewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\NewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
- An error is issued if \meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\RenewDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ Operates like \refCom{NewTCBListing}, but based on |\RenewDocumentEnvironment| instead of |\NewDocumentEnvironment|.
An existing environment is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBListing}, but based on |\ProvideDocumentEnvironment| instead of |\DeclareDocumentEnvironment|.
+ Operates like \refCom{NewTCBListing}, but based on |\ProvideDocumentEnvironment| instead of |\NewDocumentEnvironment|.
The environment \meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTCBListing}{\oarg{init options}\marg{name}\marg{specification}\marg{options}}
+ Operates like \refCom{NewTCBListing}, but based on |\DeclareDocumentEnvironment| instead of |\NewDocumentEnvironment|.
+ The new environment is always created, irrespective of an already existing
+ environment with the same name.
+\end{docCommand}
+
\clearpage
\begin{marker}
@@ -426,19 +426,18 @@
\clearpage
-\begin{docCommand}{DeclareTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
Creates a new command \texttt{\textbackslash}\meta{name} based on \refCom{tcbinputlisting}.
- Basically, |\DeclareTCBInputListing| operates like |\DeclareDocumentCommand|. This means,
+ Basically, \refCom{NewTCBInputListing} operates like |\NewDocumentCommand|. This means,
the new command \texttt{\textbackslash}\meta{name} is constructed with the given argument \meta{specification}.
+ An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
The \meta{options} are given to the underlying \refCom{tcbinputlisting}.\\
The \meta{init options} allow setting up automatic numbering,
- see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.\\
- The new command is always created, irrespective of an already existing
- command with the same name.
+ see Section \ref{sec:initkeys} from page \pageref{sec:initkeys}.
\begin{dispExample}
% counter from previous example
-\DeclareTCBInputListing[use counter from=pabox]{\mylisting}{ O{} O{red} m }{%
+\NewTCBInputListing[use counter from=pabox]{\mylisting}{ O{} O{red} m }{%
listing file={#3},title=Listing~\thetcbcounter,
colback=#2!5!white,colframe=#2!50!black,colbacktitle=#2!75!black,
fonttitle=\bfseries,listing only,#1}
@@ -448,23 +447,24 @@
\end{dispExample}
\end{docCommand}
-\begin{docCommand}{NewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\NewDocumentCommand| instead of |\DeclareDocumentCommand|.
- An error is issued if \texttt{\textbackslash}\meta{name} has already been defined.
-\end{docCommand}
-
\begin{docCommand}{RenewTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\RenewDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBInputListing}, but based on |\RenewDocumentCommand| instead of |\NewDocumentCommand|.
An existing command is redefined.
\end{docCommand}
\begin{docCommand}{ProvideTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
- Operates like \refCom{DeclareTCBInputListing}, but based on |\ProvideDocumentCommand| instead of |\DeclareDocumentCommand|.
+ Operates like \refCom{NewTCBInputListing}, but based on |\ProvideDocumentCommand| instead of |\NewDocumentCommand|.
The command \texttt{\textbackslash}\meta{name} is only created if it is not already defined.
\end{docCommand}
+\begin{docCommand}{DeclareTCBInputListing}{\oarg{init options}\brackets{\texttt{\textbackslash}\meta{name}}\marg{specification}\marg{options}}
+ Operates like \refCom{NewTCBInputListing}, but based on |\DeclareDocumentCommand| instead of |\NewDocumentCommand|.
+ The new command is always created, irrespective of an already existing
+ command with the same name.
+\end{docCommand}
+
\clearpage
\subsection{Option Keys of the \mylib{listings} Library}\label{sec:speclistingkeys}
@@ -655,6 +655,8 @@
\refKey{/tcb/minted options} are \emph{not} used. The intended use is
inside the preamble to change the default behavior.
Note that setting \refKey{/tcb/default minted options} also resets \refKey{/tcb/minted options}.
+ Since |minted| \cite{poore:minted} v2.6 set |stripnl=false|, adding
+ |stripnl| could be helpful to remove leading and trailing blank lines.
\begin{dispListing}
% inside the preamble
\tcbset{%
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_main.sty 2023-02-10 21:56:36 UTC (rev 65781)
@@ -8,7 +8,7 @@
\@namedef{opt at hypdoc.sty}{hypdoc}
\RequirePackage[T1]{fontenc}
-\RequirePackage[utf8]{inputenc}
+%\RequirePackage[utf8]{inputenc}
\RequirePackage[english]{babel}
\RequirePackage{lmodern,parskip,array,ifthen,calc}
\RequirePackage{amsmath,amssymb}
@@ -196,6 +196,7 @@
tcbbreak,
% theorems
tcbmaketheorem,tcboxmath,tcbhighmath,thetcbcounter,newtcbtheorem,
+ NewTcbTheorem,RenewTcbTheorem,ProvideTcbTheorem,DeclareTcbTheorem,
% documentation
brackets,
colDef,colOpt,cs,
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.s_snippet.sty 2023-02-10 21:56:36 UTC (rev 65781)
@@ -58,7 +58,7 @@
\begin{tcbverbatimwrite}{\jobname_preamble_F.tex}
-\newtcbtheorem[number within=section]{mytheo}{My Theorem}%
+\NewTcbTheorem[number within=section]{mytheo}{My Theorem}%
{colback=green!5,colframe=green!35!black,fonttitle=\bfseries}{th}
\end{tcbverbatimwrite}
\input{\jobname_preamble_F.tex}
@@ -72,11 +72,11 @@
theostyle/.style={fonttitle=\bfseries\upshape, fontupper=\slshape,
colback=red!10!white,colframe=red!75!black},
}
-\newtcbtheorem[number within=subsection,crefname={definition}{definitions}]%
+\NewTcbTheorem[number within=subsection,crefname={definition}{definitions}]%
{Definition}{Definition}{defstyle}{def}
-\newtcbtheorem[use counter from=Definition,crefname={theorem}{theorems}]%
+\NewTcbTheorem[use counter from=Definition,crefname={theorem}{theorems}]%
{Theorem}{Theorem}{theostyle}{theo}
-\newtcbtheorem[use counter from=Definition,crefname={corollary}{corollaries}]%
+\NewTcbTheorem[use counter from=Definition,crefname={corollary}{corollaries}]%
{Corollary}{Corollary}{theostyle}{cor}
\end{tcbverbatimwrite}
\input{\jobname_preamble_G.tex}
@@ -103,7 +103,7 @@
\begin{tcbverbatimwrite}{\jobname_preamble_J.tex}
-\newtcbtheorem[use counter from=mytheo]{theorem}{Theorem}{%
+\NewTcbTheorem[use counter from=mytheo]{theorem}{Theorem}{%
fonttitle=\bfseries\upshape,fontupper=\itshape,
colframe=green!50!black,colback=green!10!white,
colbacktitle=green!20!white,coltitle=blue!75!black}{theo}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.skins.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -42,8 +42,6 @@
\begin{docTcbKey}{frame style image}{=\meta{file name}}{no default, initially unset}
Fills the frame with an external image referenced by \meta{file name}.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/frame style} together with \refKey{/tikz/fill stretch image}.
\begin{exdispExample*}{frame_style_image}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,fonttitle=\bfseries}
@@ -60,8 +58,6 @@
\begin{docTcbKey}{frame style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the frame with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/frame style} together with \refKey{/tikz/fill tile image}.
\begin{exdispExample*}{frame_style_tile}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,coltitle=red!30!black,
opacityback=0.75,fonttitle=\bfseries}
@@ -119,8 +115,6 @@
\clearpage
\begin{docTcbKey}{interior style image}{=\meta{file name}}{no default, initially unset}
Fills the interior with an external image referenced by \meta{file name}.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/interior style} together with \refKey{/tikz/fill stretch image}.
\begin{exdispExample*}{interior_style_image}{sbs,lefthand ratio=0.66}
\tcbset{colframe=red!75!black,fonttitle=\bfseries}
@@ -137,9 +131,6 @@
\begin{docTcbKey}{interior style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the interior with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/interior style} together with \refKey{/tikz/fill tile image}.
-
\begin{exdispExample*}{interior_style_tile}{sbs,lefthand ratio=0.66}
\tcbset{colframe=red!75!black,fonttitle=\bfseries}
@@ -237,9 +228,6 @@
\clearpage
\begin{docTcbKey}{title style image}{=\meta{file name}}{no default, initially unset}
Fills the title area with an external image referenced by \meta{file name}.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/title style} together with \refKey{/tikz/fill stretch image}.
-
\begin{exdispExample*}{title_style_image}{sbs,lefthand ratio=0.66}
\tcbset{colback=blue!5!white,colframe=blue!75!black,
fonttitle=\bfseries}
@@ -257,9 +245,6 @@
\begin{docTcbKey}{title style tile}{=\marg{graphics options}\marg{file name}}{no default, initially unset}
Fills the title area with a tile pattern based on an external image referenced by \meta{file name}.
The \meta{graphics options} are given to the underlying \docAuxCommand*{includegraphics} command.
- For advanced features like blending of a picture with the background,
- use \refKey{/tcb/title style} together with \refKey{/tikz/fill tile image}.
-
\begin{exdispExample*}{title_style_tile}{sbs,lefthand ratio=0.66}
\tcbset{colback=red!5!white,colframe=red!75!black,
coltitle=blue!50!black,fonttitle=\bfseries}
@@ -1233,7 +1218,7 @@
\enlargethispage*{1cm}
-\begin{docTcbKey}{watermark zoom}{=\meta{fraction}}{no default, initially |0.75|}
+\begin{docTcbKey}[][doc updated=2022-07-21]{watermark zoom}{=\meta{fraction}}{default |1|, initially |0.75|}
Sets the zoom value for a watermark. The zoom respects the aspect ratio.
The value $1.0$ means to fill the whole box until the watermark touches the frame.
\begin{dispExample}
@@ -1251,13 +1236,13 @@
\clearpage
-\begin{docTcbKey}{watermark shrink}{=\meta{fraction}}{no default, initially unset}
+\begin{docTcbKey}[][doc updated=2022-07-21]{watermark shrink}{=\meta{fraction}}{default |1|, initially unset}
Identically to \refKey{/tcb/watermark zoom}, but the watermark
never gets enlarged. Thus, the watermark keeps its original size or is shrunk.
\end{docTcbKey}
-\begin{docTcbKey}{watermark overzoom}{=\meta{fraction}}{no default, initially unset}
+\begin{docTcbKey}[][doc updated=2022-07-21]{watermark overzoom}{=\meta{fraction}}{default |1|, initially unset}
Sets the overzoom value for a watermark. The overzoom respects the aspect ratio.
The value $1.0$ means to fill the whole box until the watermark touches
all four sides of the frame.
@@ -1284,7 +1269,7 @@
\end{marker}
\clearpage
-\begin{docTcbKey}{watermark stretch}{=\meta{fraction}}{no default, initially unset}
+\begin{docTcbKey}[][doc updated=2022-07-21]{watermark stretch}{=\meta{fraction}}{default |1|, initially unset}
Sets the stretch value for a watermark. The stretch value is applied to width
and height in relation to the box dimensions. It does not respect the aspect ratio.
The value $1.0$ means to fill the whole box.
@@ -1333,6 +1318,16 @@
\end{dispExample}
\end{docTcbKey}
+\begin{marker}
+Removing the clipping should be necessary only in very rare situations. Until
+version 5.1.1 (2022/06/24), theoretically, the watermark could be extended
+over the boundaries of the box without limit. Newer versions restrict the
+watermark to a box scaled 4 times the actual |tcolorbox|.
+If you really need to extend further, you are strongly advised to implement
+this by using \refKey{/tcb/overlay} or \refKey{/tcb/underlay} directly
+where no restrictions apply.
+Note that a watermark is just a special \refKey{/tcb/overlay}.
+\end{marker}
\clearpage
@@ -2507,6 +2502,8 @@
\refKey{/tcb/underlay} overwrites this key.
\end{docTcbKey}
+\enlargethispage*{1cm}
+
\begin{docTcbKey}{underlay unbroken}{=\meta{graphical code}}{no default, initially unset}
If the box is set to be \refKey{/tcb/breakable} but \emph{is not} broken actually
or if the box is set to be \refKey{/tcb/unbreakable},
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.technical.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -238,7 +238,7 @@
\begin{tcolorbox}[enhanced,frame code={
\foreach \n in {north east,north west,south east,south west}
- {\path [fill=red!75!black] (interior.\n) circle (3mm); }; }]
+ {\path [fill=red!75!black] (interior.\n) circle (3mm); } }]
This is a \textbf{tcolorbox}.
\tcblower
This is the lower part.
@@ -701,6 +701,7 @@
\end{dispExample}
\end{docCommand}
+\enlargethispage*{1cm}
\begin{docCommand}[doc new=2016-02-16]{tcbtextwidth}{}
This property describes the box content width.
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.theorems.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -9,9 +9,19 @@
\end{dispListing}
This also loads the package |amsmath|.
+Denis Bitouz\'e, Muzimuzhi, and many others provided very valuable input for this library.
+
+
\subsection{Macros of the Library}
-\begin{docCommand}[doc updated=2016-06-22]{newtcbtheorem}{\oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix}}
+\begin{docCommands}[
+ doc parameter = \oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix},
+ doc updated=2022-07-18
+ ]
+ {
+ { doc name = NewTcbTheorem },
+ { doc name = newtcbtheorem }
+ }
Creates new environments \meta{name} and \meta{name}|*| based on |tcolorbox| to frame a
(mathematical) theorem. The \meta{display name} is used in the title line
with a number, e.\,g. \mbox{\flqq Theorem 5.1\frqq}.
@@ -19,19 +29,40 @@
the appearance.
%The \meta{counter} is used for automatic numbering.
The \meta{init options} allow setting up automatic numbering,
- see \Vref{sec:initkeys}.\par
- The new environment \meta{name} takes one optional and two mandatory
- parameters. The optional parameter supplements the options and should be
- used only in rare cases.
- The first mandatory parameter is the title text for the theorem and
- is also set as \refKey{/tcb/nameref} identifier.
- The second mandatory parameter is a \meta{marker}. The theorem is
- automatically labeled with \meta{prefix}\meta{separator}\meta{marker}
- where \meta{separator} is predefined as \enquote{|:|}, see \refKey{/tcb/label separator}.\par
- The new environment \meta{name}|*| takes one optional and one mandatory
- parameter and represents an unnumbered variant of the environment \meta{name}.
- This variant is not labeled and not listed in lists of theorems.
-\enlargethispage*{20mm}
+ see \Vref{sec:initkeys}.\par\medskip
+
+ If \meta{name} is chosen as |footheorem|, the new environments are described by
+ \begin{docEnvironments}[
+ doc no index,
+ doc name = footheorem,
+ doc parameter = \oarg{keys}\oarg{short}\marg{title}\marg{marker}
+ ]{}
+ Here, \meta{title} is the title text for the theorem and
+ is also set as \refKey{/tcb/nameref} identifier.
+ Optionally, the \meta{short} title used instead as \refKey{/tcb/nameref} identifier
+ and in lists of theorems.
+ \meta{keys} supplement the \meta{options} and may be
+ used only in rare cases. The theorem is
+ automatically labeled with \meta{prefix}\meta{separator}\meta{marker}
+ where \meta{separator} is predefined as \enquote{|:|}, see \refKey{/tcb/label separator}.
+ \end{docEnvironments}
+ \begin{docEnvironments}[
+ doc no index,
+ doc name = footheorem*,
+ doc parameter = \oarg{keys}\marg{title}
+ ]{}
+ This represents an unnumbered variant. Again, \meta{title} is the title text for the theorem
+ and \meta{keys} supplement the \meta{options}.
+ This variant is not labeled and not listed in lists of theorems.
+ \end{docEnvironments}
+
+ \begin{marker}
+ \refCom{NewTcbTheorem} and \refCom{newtcbtheorem} are identical and both
+ rely on \refCom{NewTColorBox} based on |\NewDocumentCommand|.
+ \end{marker}
+\clearpage
+
+
\inputpreamblelisting{F}
\begin{dispExample}
% usage of `\nameref' needs `nameref' or `hyperref' to be loaded
@@ -43,7 +74,18 @@
\end{mytheo}
\end{dispExample}
+
\begin{dispExample}
+% usage of `\nameref' needs `nameref' or `hyperref' to be loaded
+\begin{mytheo}[][Concise title]{This my very long theorem title with
+ too much words}{theoexample2}
+ Here we have a long and a short title. This theorem is numbered with
+ \ref{th:theoexample2}, it is given on page~\pageref{th:theoexample2},
+ and it is titled \flqq\nameref{th:theoexample2}\frqq.
+\end{mytheo}
+\end{dispExample}
+
+\begin{dispExample}
\begin{mytheo}[label=myownlabel]{This is my title}{}
The label parameter can be left empty without \LaTeX\ error.
Or you may use an own label to reference Theorem \ref{myownlabel}.
@@ -74,15 +116,43 @@
\mbox{\texttt{nameref/.style=\{\}}} inside the \meta{options} list.
\end{marker}
-\end{docCommand}
+\end{docCommands}
+\medskip
-\begin{docCommand}{renewtcbtheorem}{\oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix}}
- Operates like \refCom{newtcbtheorem}, but based on |\renewenvironment| instead of |\newenvironment|.
- An existing environment is redefined.
-\end{docCommand}
+\begin{docCommands}[
+ doc parameter = \oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix},
+ doc updated=2022-07-18
+ ]
+ {
+ { doc name = RenewTcbTheorem },
+ { doc name = renewtcbtheorem }
+ }
+ Operates like \refCom{NewTcbTheorem}, but based on |\RenewDocumentEnvironment| instead of |\NewDocumentEnvironment|.
+ Existing environments are redefined.
+\end{docCommands}
+\begin{docCommands}[
+ doc parameter = \oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix},
+ doc new = 2022-07-18,
+ doc name = ProvideTcbTheorem,
+ ]{}
+ Operates like \refCom{NewTcbTheorem}, but based on |\ProvideDocumentEnvironment| instead of |\NewDocumentEnvironment|.
+ New environments are is only created if they are not already defined.
+\end{docCommands}
+
+
+\begin{docCommands}[
+ doc parameter = \oarg{init options}\marg{name}\marg{display name}\marg{options}\marg{prefix},
+ doc new = 2022-07-18,
+ doc name = DeclareTcbTheorem,
+ ]{}
+ Operates like \refCom{NewTcbTheorem}, but based on |\DeclareDocumentEnvironment| instead of |\NewDocumentEnvironment|.
+ New environments are always created and possibly redefine existing ones.
+\end{docCommands}
+
+
\clearpage
\begin{docCommand}{tcboxmath}{\oarg{options}\marg{mathematical box content}}
Creates a \refEnv{tcolorbox} which is fitted to the width of the given
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.verbatim.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.verbatim.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.doc.verbatim.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -115,3 +115,42 @@
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKey}[][doc new=2023-02-10]{verbatim ignore indention at end}{\colOpt{=true\textbar false}}{default |true|, initially |true|}
+ If this option is set to be |true|, spaces and tabs before |\end{tcbverbatimwrite}|
+ on the same line are ignored. The same is true for all environments based
+ on \refEnv{tcbverbatimwrite}. If anything else precedes |\end{tcbverbatimwrite}|
+ on the same line, the complete content is written.\par
+ If this option is set to be |false|, everything preceding |\end{tcbverbatimwrite}|
+ is written. This was the default behavior before version 6.0.0.\par
+ The idea of \refKey{/tcb/verbatim ignore indention at end} is that the
+ environment can be indented. The creation of this option was inspired by Yukai Chou.
+
+\begin{dispExample}
+% \tcbuselibrary{minted}
+\texttt{verbatim ignore indention at end=false}
+
+ \begin{tcblisting}{listing engine=minted, listing only,
+ verbatim ignore indention at end=false}
+ int a;
+ \end{tcblisting}
+
+ \begin{tcblisting}{listing engine=minted, listing only,
+ verbatim ignore indention at end=false}
+ int a;
+ int b; \end{tcblisting}
+
+\texttt{verbatim ignore indention at end=true}
+
+ \begin{tcblisting}{listing engine=minted, listing only,
+ verbatim ignore indention at end}
+ int a;
+ \end{tcblisting}
+
+ \begin{tcblisting}{listing engine=minted, listing only,
+ verbatim ignore indention at end}
+ int a;
+ int b; \end{tcblisting}
+\end{dispExample}
+\end{docTcbKey}
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/doc/latex/tcolorbox/tcolorbox.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -29,6 +29,12 @@
\documentclass[a4paper,11pt]{ltxdoc}
+\RequirePackage{l3benchmark}
+\ExplSyntaxOn
+\AtEndDocument { \benchmark_toc: }
+\benchmark_tic:
+\ExplSyntaxOff
+
\usepackage{tcolorbox.doc.s_main}
\tcbEXTERNALIZE
\usepackage{tcolorbox.doc.s_snippet}
@@ -36,7 +42,7 @@
\tcbAUXmkdir{external}
\tcbAUXmkdir{solutions}
-%\usepackage{csquotes}
+\usepackage{csquotes}
\usepackage[style=numeric-comp,sorting=nyt,
maxnames=8,minnames=8,abbreviate=false,backend=biber,
bibencoding=latin1,texencoding=ascii]{biblatex}
@@ -45,8 +51,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{5.1.1}%
-\def\datum{2022/06/24}%
+\def\version{6.0.0}%
+\def\datum{2023/02/10}%
\makeindex
\hypersetup{
@@ -64,8 +70,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.theorems}
-
+%\includeonly{tcolorbox.doc.breakable}
%\hypersetup{colorlinks=false}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbbreakable.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb at breakable}
@@ -69,7 +69,10 @@
\def\tcb@@break{\par\xleaders\vbox{\rule{0pt}{2\textheight}}\vskip 2\textheight\par}
-\def\tcb at vbox#1#2{%
+% #1 box
+% #2 width
+% #3 color (for color stack)
+\def\tcb at vbox#1#2#3{%
\edef\reserved at a{%
\endgroup%
\setbox#1\vbox{\hsize=#2%
@@ -81,7 +84,6 @@
\let\tcbbreak\tcb@@break%
\iftcb at usecolorstack%
\pdfcolSwitchStack{tcb at breakable}%
- \pdfcolSetCurrentColor%
\fi%
\color at begingroup%
\textwidth\hsize%
@@ -92,7 +94,9 @@
\c at mpfootnote\z@%
\let\@footnotetext\@mpfootnotetext%
\let\@listdepth\@mplistdepth \@mplistdepth\z@%
- \@setminipage\tcb at hyph@fix%
+ \@setminipage%
+ \color{#3}%
+ \tcb at hyph@fix%
\let\tcb at drawcolorbox\tcb at drawcolorbox@standalone%
\let\FN at pp@footnote\@empty% disable perpage mode of 'footmisc' package
}
@@ -178,7 +182,7 @@
\else%
\tcb at hasTitletrue%
\tcbdimto\tcb at w@title{\tcb at innerwidth-\kvtcb at boxsep*2-\kvtcb at lefttitle-\kvtcb at righttitle}%
- \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}\tcb at extras@followingtitle\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at followingtitle\end{tcb at savebox}%
+ \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}{tcbcoltitle}\tcb at extras@followingtitle\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at followingtitle\end{tcb at savebox}%
\tcbdimto\tcb at h@title{\ht\tcb at titlebox+\dp\tcb at titlebox}%
\tcbdimto\tcb at h@padtitle{\kvtcb at title@rule+\kvtcb at boxsep*2+\kvtcb at toptitle+\kvtcb at bottomtitle+\tcb at h@title}%
\fi%
@@ -328,7 +332,6 @@
\tcb at parfillskip@check%
\tcb at split@start%
\endgroup%
- \color{.}% hack for some special cases
\ifx\kvtcb at float\@empty\relax%
\aftergroup\tcb at use@after at lastbox%
\fi%
@@ -335,7 +338,6 @@
}
\def\tcb at split@pagebreak{%
- \tcb at undo@before%
\iftcb at multicol\columnbreak\else\pagebreak\fi%
\tcb at nobreak@warning%
\tcb at enlbreak@init\tcb at break@allowedfalse%
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbdocumentation.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{listings,skins,xparse,external,raster}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbexternal.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{pro at cessing}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbfitting.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\newdimen\tcbfitdim
\newdimen\tcb at lowerfitdim
@@ -240,7 +240,7 @@
\def\tcb at fit@@box{%
\iftcb at hasTitle%
\tcbdimto\tcb at w@title{\kvtcb at width-(\kvtcb at left@rule)-(\kvtcb at right@rule)-(\kvtcb at boxsep)*2-(\kvtcb at lefttitle)-(\kvtcb at righttitle)}%
- \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at before@title\kvtcb at title\kvtcb at after@title\end{tcb at savebox}%
+ \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\tcb at insert@before at title\kvtcb at title\tcb at insert@after at title\end{tcb at savebox}%
\tcbdimto\tcb at h@titletotal{\ht\tcb at titlebox+\dp\tcb at titlebox+\kvtcb at title@rule+(\kvtcb at boxsep)*2+\kvtcb at toptitle+\kvtcb at bottomtitle}%
\else%
\let\tcb at h@titletotal=\tcb at zpt%
@@ -266,8 +266,8 @@
%
\def\tcb at fit@@boxsave##1{%
\tcbdimto\tcb at innerwidth{\kvtcb at width-\kvtcb at left@rule-\kvtcb at right@rule}%
- \begin{tcb at savebox}{\tcb at upperbox}{##1}%
- \color{tcbcolupper}\kvtcb at fontupper\fontsize{\tcbfitdim}{\tcb at fit@@line}\selectfont%
+ \begin{tcb at savebox}{\tcb at upperbox}{##1}{tcbcolupper}%
+ \kvtcb at fontupper\fontsize{\tcbfitdim}{\tcb at fit@@line}\selectfont%
\kvtcb at halignupper\tcb at insert@before at upper#1\tcb at insert@after at upper%
\end{tcb at savebox}%
\advance\count@ 1\relax%
@@ -392,7 +392,7 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcboxfit_i:w { m +o m }
+\NewDocumentCommand \__tcobox_new_tcboxfit_i:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_tcboxfit_ii:w #1 {#2} \l_tmpa_tl
@@ -399,10 +399,12 @@
}
\NewDocumentCommand \newtcboxfit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcboxfit_i:w \newcommand
}
\NewDocumentCommand \renewtcboxfit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcboxfit_i:w \renewcommand
}
@@ -412,7 +414,7 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options at for=#3] }
}
-\NewDocumentCommand \__tcobox_new_TCBoxFit:w { m +o m }
+\NewDocumentCommand \__tcobox_new_TCBoxFit:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_TCBoxFit:Nnnnn #1 {#2} \l_tmpa_tl
@@ -419,18 +421,22 @@
}
\NewDocumentCommand \DeclareTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBoxFit:w \ProvideDocumentCommand
}
@@ -440,7 +446,7 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcboxfit[#5,options at for=#3]{#6} }
}
-\NewDocumentCommand \__tcobox_new_TotalTCBoxFit:w { m +o m }
+\NewDocumentCommand \__tcobox_new_TotalTCBoxFit:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_TotalTCBoxFit:Nnnnnn #1 {#2} \l_tmpa_tl
@@ -447,18 +453,22 @@
}
\NewDocumentCommand \DeclareTotalTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTCBoxFit { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTCBoxFit { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBoxFit:w \ProvideDocumentCommand
}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbhooks.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbset{%
before upper app/.code={\appto\kvtcb at before@upper{#1}},%
@@ -112,19 +112,24 @@
finish middle and last pre/.style={finish middle pre={#1},finish last pre={#1}},%
finish first and middle pre/.style={finish first pre={#1},finish middle pre={#1}},%
%
- watermark tikz app/.style={overlay app={\tcb at drawspec@watermark at tikz{#1}}},
- watermark tikz pre/.style={overlay pre={\tcb at drawspec@watermark at tikz{#1}}},
- watermark tikz app on/.style args={#1 is #2}{overlay #1 app={\tcb at drawspec@watermark at tikz{#2}}},%
- watermark tikz pre on/.style args={#1 is #2}{overlay #1 pre={\tcb at drawspec@watermark at tikz{#2}}},%
- watermark graphics app/.style={overlay app={\tcb at drawspec@watermark at graphics{#1}}},
- watermark graphics pre/.style={overlay pre={\tcb at drawspec@watermark at graphics{#1}}},
- watermark graphics app on/.style args={#1 is #2}{overlay #1 app={\tcb at drawspec@watermark at graphics{#2}}},
- watermark graphics pre on/.style args={#1 is #2}{overlay #1 pre={\tcb at drawspec@watermark at graphics{#2}}},
- watermark text app/.style={overlay app={\tcb at drawspec@watermark at text{#1}}},
- watermark text pre/.style={overlay pre={\tcb at drawspec@watermark at text{#1}}},
- watermark text app on/.style args={#1 is #2}{overlay #1 app={\tcb at drawspec@watermark at text{#2}}},
- watermark text pre on/.style args={#1 is #2}{overlay #1 pre={\tcb at drawspec@watermark at text{#2}}},
+ watermark at overlay app/.style={overlay app={\tcb at drawspec@watermark{#1}}},
+ watermark at overlay pre/.style={overlay pre={\tcb at drawspec@watermark{#1}}},
+ watermark at overlay@on app/.style n args={2}{overlay #1 app={\tcb at drawspec@watermark{#2}}},
+ watermark at overlay@on pre/.style n args={2}{overlay #1 pred={\tcb at drawspec@watermark{#2}}},
%
+ watermark tikz app/.style={watermark at overlay app={fill at picture={#1}}},
+ watermark tikz pre/.style={watermark at overlay pre={fill at picture={#1}}},
+ watermark tikz app on/.style args={#1 is #2}{watermark at overlay@on app={#1}{fill at picture={#2}}},
+ watermark tikz pre on/.style args={#1 is #2}{watermark at overlay@on pre={#1}{fill at picture={#2}}},
+ watermark graphics app/.style={watermark at overlay app={fill at image={#1}}},
+ watermark graphics pre/.style={watermark at overlay pre={fill at image={#1}}},
+ watermark graphics app on/.style args={#1 is #2}{watermark at overlay@on app={#1}{fill at image={#2}}},
+ watermark graphics pre on/.style args={#1 is #2}{watermark at overlay@on pre={#1}{fill at image={#2}}},
+ watermark text app/.style={watermark at overlay app={fill at picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text pre/.style={watermark at overlay pre={fill at picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text app on/.style args={#1 is #2}{watermark at overlay@on app={#1}{fill at picture={\node[inner sep=0pt,align=flush center]{#2};}}},
+ watermark text pre on/.style args={#1 is #2}{watermark at overlay@on pre={#1}{fill at picture={\node[inner sep=0pt,align=flush center]{#2};}}},
+ %
minted options app/.code={\appto\kvtcb at minted@options{,#1}},
minted options pre/.code={\preto\kvtcb at minted@options{#1,}},
listing options app/.code={\appto\kvtcb at listingoptions{,#1}},
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistings.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{listings}[2007/02/22]
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingscore.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{pro at cessing}
@@ -280,7 +280,7 @@
\ExplSyntaxOn
-\NewDocumentCommand \__tcobox_new_tcblisting:w { m +o m o +o +m }
+\NewDocumentCommand \__tcobox_new_tcblisting:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\tl_if_novalue:nTF { #4 }
@@ -299,15 +299,17 @@
}
\NewDocumentCommand \newtcblisting { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcblisting:w \newenvironment
}
\NewDocumentCommand \renewtcblisting { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcblisting:w \renewenvironment
}
-\NewDocumentCommand \__tcobox_new_TCBListing:w { m +o m +m +m }
+\NewDocumentCommand \__tcobox_new_TCBListing:w { m +O{} >{\TrimSpaces} m +m +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
#1 { #3 }{ #4 }{ \tcblisting{#5,options at for=#3} }{ \endtcblisting }
@@ -314,18 +316,22 @@
}
\NewDocumentCommand \DeclareTCBListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \DeclareDocumentEnvironment
}
\NewDocumentCommand \NewTCBListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \NewDocumentEnvironment
}
\NewDocumentCommand \RenewTCBListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \RenewDocumentEnvironment
}
\NewDocumentCommand \ProvideTCBListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBListing:w \ProvideDocumentEnvironment
}
@@ -347,7 +353,7 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcbinputlisting_i:w { m +o m }
+\NewDocumentCommand \__tcobox_new_tcbinputlisting_i:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_tcbinputlisting_ii:w #1 {#2} \l_tmpa_tl
@@ -354,10 +360,12 @@
}
\NewDocumentCommand \newtcbinputlisting { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbinputlisting_i:w \newcommand
}
\NewDocumentCommand \renewtcbinputlisting { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbinputlisting_i:w \renewcommand
}
@@ -374,18 +382,22 @@
}
\NewDocumentCommand \DeclareTCBInputListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBInputListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBInputListing { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \RewewDocumentCommand
}
\NewDocumentCommand \ProvideTCBInputListing { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBInputListing:w \ProvideDocumentCommand
}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcblistingsutf8.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{listings}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbmagazine.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{breakable}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbminted.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{minted}[2021/12/24]
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbposter.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{breakable,magazine,skins,fitting}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbprocessing.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{pdftexcmds}
\RequirePackage{shellesc}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbraster.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskins.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,9 +17,10 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{tikz}[2010/10/13]
+\RequirePackage{tikzfill.image}
\newenvironment{tikzpicture at tcb@hooked}{%
\edef\tcb at tikzpicture@begin{\noexpand\tikzpicture[\expandonce\tcb at tikz@option at hook]}%
@@ -1134,7 +1135,7 @@
\colorlet{tcbtranscol at back}{tcbcolbacktitle}%
\let\tcb at trans@skin at current\kvtcb at skin@current%
\let\tcb at trans@boxedstyle\kvtcb at style@boxedtitle%
- \setbox\tcb at titlebox\color at hbox\bgroup\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at before@boxedtitle\kvtcb at haligntitle\kvtcb at before@title\tcbtitletext\kvtcb at after@title\kvtcb at after@boxedtitle\egroup\color at endbox%
+ \setbox\tcb at titlebox\color at hbox\bgroup\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at before@boxedtitle\kvtcb at haligntitle\tcb at insert@before at title\tcbtitletext\tcb at insert@after at title\kvtcb at after@boxedtitle\egroup\color at endbox%
\setbox\tcb at titlebox\color at hbox\tcbox[skin=\tcb at trans@skin at current,colframe=tcbtranscol at frame,colback=tcbtranscol at back,%
code={\pgfkeysalsofrom\tcb at trans@boxedsize\pgfkeysalsofrom\tcb at trans@boxedstyle%
\ifcase#6
@@ -1210,77 +1211,55 @@
}
-\newbox\tcb at waterbox
-
-\def\tcb at setratio#1#2#3{\edef#1{\strip at pt\dimexpr\number\numexpr\number\dimexpr#2\relax*65536/\number\dimexpr#3\relax\relax sp\relax}}
-
-\def\tcb at setratiorobust#1#2#3{\ifdim\dimexpr#3<1pt\relax\tcb at setratio#1{#2}{1pt}\else\tcb at setratio#1{#2}{#3}\fi}
-
-\def\tcb at comp@waterbox at stretch#1#2#3{%
- \tcb at setratiorobust\tcb at scale@x{#1\dimexpr#2}{\wd\tcb at waterbox}%
- \tcb at setratiorobust\tcb at scale@y{#1\dimexpr#3}{\ht\tcb at waterbox+\dp\tcb at waterbox}%
-}
-
-\def\tcb at comp@waterbox at zoom#1#2#3{%
- \tcb at comp@waterbox at stretch{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb at scale@x pt\relax<\dimexpr\tcb at scale@y pt\relax\let\tcb at scale@y=\tcb at scale@x\else\let\tcb at scale@x=\tcb at scale@y\fi%
-}
-
-\def\tcb at comp@waterbox at overzoom#1#2#3{%
- \tcb at comp@waterbox at stretch{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb at scale@x pt\relax>\dimexpr\tcb at scale@y pt\relax\let\tcb at scale@y=\tcb at scale@x\else\let\tcb at scale@x=\tcb at scale@y\fi%
-}
-
-\def\tcb at comp@waterbox at shrink#1#2#3{%
- \tcb at comp@waterbox at zoom{#1}{#2}{#3}%
- \ifdim\dimexpr\tcb at scale@x pt\relax>1pt\relax%
- \edef\tcb at scale@x{1}\edef\tcb at scale@y{1}%
- \fi%
-}
-
-\def\tcb at box@scaled at waterbox{\scalebox{\tcb at scale@x}[\tcb at scale@y]{\box\tcb at waterbox}}
-
-\def\tcb at drawspec@watermark@@noclip{%
- \tcb at comp@wm%
- \node[opacity=\kvtcb at watermark@opacity,anchor=center] at (interior) {\tcb at box@scaled at waterbox};%
-}
-
-\def\tcb at drawspec@watermark@@clip{%
+\def\tcb at drawspec@watermark@@clip#1{%
\begin{tcbclipinterior}%
- \tcb at drawspec@watermark@@noclip%
+ \color{\kvtcb at watermark@color}%
+ \path[%
+ fill image opacity=\kvtcb at watermark@opacity,
+ fill image scale=\kvtcb at watermark@scale,
+ #1,
+ ]
+ (interior.south west) rectangle (interior.north east);
\end{tcbclipinterior}%
}
-\def\tcb at drawspec@watermark at tikz#1{%
- \setbox\tcb at waterbox=\color at hbox\pgfinterruptpicture{\pgfsetbaseline{0pt}\begin{tikzpicture}[color=\kvtcb at watermark@color]#1\end{tikzpicture}}\endpgfinterruptpicture\color at endbox%
- \tcb at drawspec@watermark%
+\def\tcb at drawspec@watermark@@noclip#1{%
+ \color{\kvtcb at watermark@color}%
+ \path[%
+ fill image opacity=\kvtcb at watermark@opacity,
+ fill image scale=(\kvtcb at watermark@scale)/4,
+ #1,
+ ]
+ ([xshift=-\tcb at innerwidth*2,yshift=-\tcb at innerheight*2]interior.center)
+ rectangle +(\tcb at innerwidth*4,\tcb at innerheight*4);
}
-\def\tcb at drawspec@watermark at graphics#1{%
- \setbox\tcb at waterbox=\color at hbox\pgfinterruptpicture{\includegraphics{#1}}\endpgfinterruptpicture\color at endbox%
- \tcb at drawspec@watermark%
-}
-
-\def\tcb at drawspec@watermark at text#1{%
- \tcb at drawspec@watermark at tikz{\node[inner sep=0pt,align=flush center]{#1};}%
-}
-
-
\tcbset{%
watermark opacity/.store in=\kvtcb at watermark@opacity,%
watermark color/.store in=\kvtcb at watermark@color,%
%
- watermark stretch/.code={\def\tcb at comp@wm{\tcb at comp@waterbox at stretch{#1}{\tcb at innerwidth}{\tcb at innerheight}}},%
- watermark zoom/.code={\def\tcb at comp@wm{\tcb at comp@waterbox at zoom{#1}{\tcb at innerwidth}{\tcb at innerheight}}},%
- watermark overzoom/.code={\def\tcb at comp@wm{\tcb at comp@waterbox at overzoom{#1}{\tcb at innerwidth}{\tcb at innerheight}}},%
- watermark shrink/.code={\def\tcb at comp@wm{\tcb at comp@waterbox at shrink{#1}{\tcb at innerwidth}{\tcb at innerheight}}},%
+ watermark stretch/.code={\def\kvtcb at watermark@scale{#1}%
+ \tikzset{fill at image/.style={fill stretch image={##1}},fill at picture/.style={fill stretch picture={##1}}}},%
+ watermark stretch/.default=1,
+ watermark zoom/.code={\def\kvtcb at watermark@scale{#1}%
+ \tikzset{fill at image/.style={fill zoom image={##1}},fill at picture/.style={fill zoom picture={##1}}}},%
+ watermark zoom/.default=1,
+ watermark overzoom/.code={\def\kvtcb at watermark@scale{#1}%
+ \tikzset{fill at image/.style={fill overzoom image={##1}},fill at picture/.style={fill overzoom picture={##1}}}},%
+ watermark overzoom/.default=1,
+ watermark shrink/.code={\def\kvtcb at watermark@scale{#1}%
+ \tikzset{fill at image/.style={fill shrink image={##1}},fill at picture/.style={fill shrink picture={##1}}}},%
+ watermark shrink/.default=1,
%
- watermark tikz/.style={overlay={\tcb at drawspec@watermark at tikz{#1}}},
- watermark tikz on/.style args={#1 is #2}{overlay #1={\tcb at drawspec@watermark at tikz{#2}}},%
- watermark graphics/.style={overlay={\tcb at drawspec@watermark at graphics{#1}}},
- watermark graphics on/.style args={#1 is #2}{overlay #1={\tcb at drawspec@watermark at graphics{#2}}},
- watermark text/.style={overlay={\tcb at drawspec@watermark at text{#1}}},
- watermark text on/.style args={#1 is #2}{overlay #1={\tcb at drawspec@watermark at text{#2}}},
+ watermark at overlay/.style={overlay={\tcb at drawspec@watermark{#1}}},
+ watermark at overlay@on/.style n args={2}{overlay #1={\tcb at drawspec@watermark{#2}}},
+%
+ watermark tikz/.style={watermark at overlay={fill at picture={#1}}},
+ watermark tikz on/.style args={#1 is #2}{watermark at overlay@on={#1}{fill at picture={#2}}},
+ watermark graphics/.style={watermark at overlay={fill at image={#1}}},
+ watermark graphics on/.style args={#1 is #2}{watermark at overlay@on={#1}{fill at image={#2}}},
+ watermark text/.style={watermark at overlay={fill at picture={\node[inner sep=0pt,align=flush center]{#1};}}},
+ watermark text on/.style args={#1 is #2}{watermark at overlay@on={#1}{fill at picture={\node[inner sep=0pt,align=flush center]{#2};}}},
no watermark/.style={no overlay},
clip watermark/.is choice,
clip watermark/true/.code={\let\tcb at drawspec@watermark=\tcb at drawspec@watermark@@clip},
@@ -1311,115 +1290,6 @@
}
-\def\tcb at process@ppbb{%
- \pgf at process{\pgfpointanchor{path picture bounding box}{south west}}%
- \pgf at xa\pgf at x\pgf at ya\pgf at y%
- \pgf at process{\pgfpointanchor{path picture bounding box}{north east}}%
- \pgf at xb\pgf at x\pgf at yb\pgf at y%
- \pgfsetfillopacity{\tcb at tikz@fill at graphics@opacity}%
- \pgfsetstrokeopacity{\tcb at tikz@fill at graphics@opacity}%
-}
-
-\def\tcb at process@ppbb at wh{%
- \tcb at process@ppbb%
- \tcbdimto\tcb at ppbb@width{\pgf at xb-\pgf at xa}%
- \tcbdimto\tcb at ppbb@height{\pgf at yb-\pgf at ya}%
-}
-
-\def\tcb at ppbb@textbox#1{\pgftext[x=\the\dimexpr\pgf at xa+\tcb at ppbb@width/2\relax,y=\pgf at ya+\tcb at ppbb@height/2]{#1}}
-
-\def\tcb at set@waterbox at to@graphics#1{%
- \setbox\tcb at waterbox=\color at hbox\pgfinterruptpicture%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at tikz@fill at graphics@options]}\x{#1}%
- \endpgfinterruptpicture\color at endbox%
-}
-
-\def\tcb at set@waterbox at to@picture#1{%
- \setbox\tcb at waterbox=\color at hbox\pgfinterruptpicture{\pgfsetbaseline{0pt}\begin{tikzpicture}#1\end{tikzpicture}}\endpgfinterruptpicture\color at endbox%
-}
-
-\tikzset{%
- fill image opacity/.store in=\tcb at tikz@fill at graphics@opacity,%
- fill image opacity=1,%
- fill image scale/.store in=\tcb at tikz@fill at graphics@scale,%
- fill image scale=1,%
- fill image options/.store in=\tcb at tikz@fill at graphics@options,%
- fill image options=,%
- fill plain image/.style={path picture={%
- \tcb at process@ppbb at wh%
- \tcb at ppbb@textbox{\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at tikz@fill at graphics@options]}\x{#1}}%
- }},
- fill plain picture/.style={path picture={%
- \tcb at process@ppbb at wh%
- \tcb at set@waterbox at to@picture{#1}%
- \tcb at ppbb@textbox{\box\tcb at waterbox}%
- }},
- fill stretch image/.style={path picture={%
- \tcb at process@ppbb at wh%
- \tcb at ppbb@textbox{\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at tikz@fill at graphics@options,%
- width=\the\dimexpr\tcb at tikz@fill at graphics@scale\dimexpr\tcb at ppbb@width\relax,%
- height=\the\dimexpr\tcb at tikz@fill at graphics@scale\dimexpr\tcb at ppbb@height\relax]}\x{#1}}%
- }},
- fill stretch picture/.style={path picture={%
- \tcb at process@ppbb at wh%
- \tcb at set@waterbox at to@picture{#1}%
- \tcb at comp@waterbox at stretch{\tcb at tikz@fill at graphics@scale}{\tcb at ppbb@width}{\tcb at ppbb@height}%
- \tcb at ppbb@textbox{\tcb at box@scaled at waterbox}%
- }},
- fill at overzoom/.style={path picture={%
- \tcb at process@ppbb at wh%
- #1%
- \tcb at comp@waterbox at overzoom{\tcb at tikz@fill at graphics@scale}{\tcb at ppbb@width}{\tcb at ppbb@height}%
- \tcb at ppbb@textbox{\tcb at box@scaled at waterbox}%
- }},
- fill overzoom image/.style={fill at overzoom={\tcb at set@waterbox at to@graphics{#1}}},%
- fill overzoom picture/.style={fill at overzoom={\tcb at set@waterbox at to@picture{#1}}},%
- fill at zoom/.style={path picture={%
- \tcb at process@ppbb at wh%
- #1%
- \tcb at comp@waterbox at zoom{\tcb at tikz@fill at graphics@scale}{\tcb at ppbb@width}{\tcb at ppbb@height}%
- \tcb at ppbb@textbox{\tcb at box@scaled at waterbox}%
- }},
- fill zoom image/.style={fill at zoom={\tcb at set@waterbox at to@graphics{#1}}},%
- fill zoom picture/.style={fill at zoom={\tcb at set@waterbox at to@picture{#1}}},%
- fill at shrink/.style={path picture={%
- \tcb at process@ppbb at wh%
- #1%
- \tcb at comp@waterbox at shrink{\tcb at tikz@fill at graphics@scale}{\tcb at ppbb@width}{\tcb at ppbb@height}%
- \tcb at ppbb@textbox{\tcb at box@scaled at waterbox}%
- }},
- fill shrink image/.style={fill at shrink={\tcb at set@waterbox at to@graphics{#1}}},%
- fill shrink picture/.style={fill at shrink={\tcb at set@waterbox at to@picture{#1}}},%
- fill at tile/.style={path picture={%
- \tcb at process@ppbb%
- #1%
- \tcbdimto\tcb at ppbb@tilew{\wd\tcb at waterbox}%
- \tcbdimto\tcb at ppbb@tileh{\ht\tcb at waterbox+\dp\tcb at waterbox}%
- \pgf at xc\pgf at xa\pgf at yc\pgf at yb%
- \pgfutil at loop%
- \pgfutil at loop%
- \pgftext[x=\pgf at xc,y=\pgf at yc,left,top]{\copy\tcb at waterbox}%
- \ifdim\pgf at xc<\pgf at xb\relax%
- \advance\pgf at xc\tcb at ppbb@tilew%
- \pgfutil at repeat%
- \ifdim\pgf at yc>\pgf at ya\relax%
- \advance\pgf at yc-\tcb at ppbb@tileh%
- \pgf at xc\pgf at xa%
- \pgfutil at repeat%
- }},%
- fill tile image/.style={fill at tile={\tcb at set@waterbox at to@graphics{#1}}},%
- fill tile picture/.style={fill at tile={\tcb at set@waterbox at to@picture{#1}}},%
- fill tile picture*/.style 2 args={fill at tile={\tcb at set@waterbox at to@picture{#2}%
- \setbox\tcb at waterbox=\color at hbox\scalebox{#1}{\box\tcb at waterbox}\color at endbox}},%
- %
- fill plain image*/.style 2 args={fill image options={#1},fill plain image={#2}},%
- fill stretch image*/.style 2 args={fill image options={#1},fill stretch image={#2}},%
- fill overzoom image*/.style 2 args={fill image options={#1},fill overzoom image={#2}},%
- fill zoom image*/.style 2 args={fill image options={#1},fill zoom image={#2}},%
- fill shrink image*/.style 2 args={fill image options={#1},fill shrink image={#2}},%
- fill tile image*/.style 2 args={fill image options={#1},fill tile image={#2}},%
-}
-
\tcbset{%
frame style image/.style={frame style={fill=none,fill stretch image={#1}}},
frame style tile/.style 2 args={frame style={fill=none,fill tile image*={#1}{#2}}},
@@ -1815,105 +1685,7 @@
}
-\def\tcb at include@graphics{%
- \let\tcb at graphics@options\kvtcb at graphics@options%
- \ifnum\kvtcb at graphics@orientation>-1\relax%
- \setbox\tcb at waterbox=\color at hbox\begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at graphics@options]}\x{\imagepath}\color at endbox%
- \ifcase\kvtcb at graphics@orientation\relax%
- \ifdim\wd\tcb at waterbox<\dimexpr\ht\tcb at waterbox+\dp\tcb at waterbox\relax%
- \appto\tcb at graphics@options{,angle=90}%
- \fi%
- \or%
- \ifdim\wd\tcb at waterbox<\dimexpr\ht\tcb at waterbox+\dp\tcb at waterbox\relax%
- \appto\tcb at graphics@options{,angle=-90}%
- \fi%
- \or%
- \ifdim\wd\tcb at waterbox>\dimexpr\ht\tcb at waterbox+\dp\tcb at waterbox\relax%
- \appto\tcb at graphics@options{,angle=90}%
- \fi%
- \or%
- \ifdim\wd\tcb at waterbox>\dimexpr\ht\tcb at waterbox+\dp\tcb at waterbox\relax%
- \appto\tcb at graphics@options{,angle=-90}%
- \fi%
- \fi%
- \fi%
- \ifdefstring{\kvtcb at capture}{hbox}{%
- \tcbox{%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at graphics@options]}%
- \x{\imagepath}%
- }%
- }{%
- \iftcb at fixedheight%
- \begin{tcolorbox}%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at graphics@options,width=\linewidth,height=\tcbtextheight,keepaspectratio]}%
- \x{\imagepath}%
- \end{tcolorbox}%
- \else%
- \ifdefempty\tcb at height@adjust{%
- \begin{tcolorbox}%
- \begingroup\edef\x{\endgroup\noexpand\includegraphics[\tcb at graphics@options,width=\linewidth]}%
- \x{\imagepath}%
- \end{tcolorbox}%
- }{% height fill
- \begin{tcolorbox}[underlay={%
- \begin{tcbclipinterior}%
- \path[fill zoom image*={\tcb at graphics@options}{\imagepath}]
- ([xshift=\kvtcb at boxsep+\kvtcb at leftupper,yshift=\kvtcb at boxsep+\kvtcb at bottom]interior.south west) rectangle
- ([xshift=-\kvtcb at boxsep-\kvtcb at rightupper,yshift=-\kvtcb at boxsep-\kvtcb at top]interior.north east);
- \end{tcbclipinterior}%
- }]%
- \end{tcolorbox}%
- }%
- \fi%
- }%
-}
-\def\tcb at scanfilename#1#2{%
- \begingroup%
- \everyeof{\noexpand}%
- \endlinechar -1%
- \catcode`\_=11%
- \catcode`\~=11%
- \edef\x{\scantokens\expandafter{#2}}%
- \expandafter\endgroup%
- \expandafter\def\expandafter #1\expandafter{\x}%
-}%
-
-
-\def\tcb at include@graphics at preparefile#1{%
- \tcb at scanfilename\tcb at temp{#1}%
- \filename at parse{\tcb at temp}%
- \ifx\filename at ext\relax%
- \let\imagename\filename at base%
- \else%
- \def\imagename{\filename at base\Gin at sepdefault\filename at ext}%
- \fi%
- \ifdefined\grffile at Ginclude@graphics%
- % grffile package loaded
- \ifx\kvtcb at graphics@directory\@empty%
- \def\imagepath{#1}%
- \else%
- \def\imagepath{\kvtcb at graphics@directory/#1}%
- \fi%
- \else%
- \ifx\kvtcb at graphics@directory\@empty%
- \edef\imagepath{#1}%
- \else%
- \edef\imagepath{\kvtcb at graphics@directory/#1}%
- \fi%
- \fi%
-}
-
-\newcommand{\tcbincludegraphics}[2][]{%
- \begingroup%
- \tcb at layer@pushup%
- \tcb at apply@box at options{enhanced,clip upper=true,valign=center,center upper,#1}%
- \tcb at include@graphics at preparefile{#2}%
- \edef\imagepage{1}%
- \tcb at include@graphics%
- \endgroup%
-}
-
\def\tcb at set@pdfpages#1#2{%
\IfFileExists{#2}{%
\ifdef{\pdfximage}{%
@@ -1940,20 +1712,158 @@
\relax%
}
-\newcommand{\tcbincludepdf}[2][]{%
- \tcb at include@graphics at preparefile{#2}%
- \tcb at set@pdfpages\pdfpages{\imagepath}%
- \foreach \imagepage in \kvtcb at graphics@pages%
- {%
- \begingroup%
- \tcb at layer@pushup%
- \tcb at apply@box at options{enhanced,clip upper=true,valign=center,center upper,#1}%
- \appto\kvtcb at graphics@options{,page=\imagepage}%
- \tcb at include@graphics%
- \endgroup%
- }%
+
+\ExplSyntaxOn
+
+\tl_new:N \l__tcobox_graphics_options_tl
+
+
+\cs_new:Npn \__tcobox_include_graphics:nn #1#2
+ {
+ \tl_set:Nn \l_tmpa_tl { \includegraphics }
+ \tl_put_right:Nx \l_tmpa_tl { [#1] }
+ \l_tmpa_tl {#2}
+ }
+
+
+\cs_new:Npn \__tcobox_include_graphics:
+ {
+ \tl_set_eq:NN \l__tcobox_graphics_options_tl \kvtcb at graphics@options
+
+ \int_compare:nNnT \kvtcb at graphics@orientation > {-1}
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl }{ \imagepath }
+ }
+ \if_case:w \kvtcb at graphics@orientation
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} < {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=90}
+ }
+ \or:
+ \dim_compare:nNnT {\box_wd:N\l_tmpa_box} > {\box_ht_plus_dp:N \l_tmpa_box}
+ {
+ \tl_put_right:Nn \l__tcobox_graphics_options_tl {,angle=-90}
+ }
+ \fi:
+ }
+
+ \tl_if_eq:NnTF \kvtcb at capture {hbox}
+ {
+ \tcbox
+ {
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl }{ \imagepath }
+ }
+ }
+ {
+ \legacy_if:nTF {tcb at fixedheight}
+ {
+ \begin{tcolorbox}
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl,width=\linewidth,height=\tcbtextheight,keepaspectratio }{ \imagepath }
+ \end{tcolorbox}
+ }
+ {
+ \tl_if_empty:NTF \tcb at height@adjust
+ {
+ \begin{tcolorbox}
+ \__tcobox_include_graphics:nn { \l__tcobox_graphics_options_tl,width=\linewidth }{ \imagepath }
+ \end{tcolorbox}%
+ }{% height fill
+ \begin{tcolorbox}[
+ underlay=
+ {
+ \begin{tcbclipinterior}
+ \path[fill~zoom~image*={\l__tcobox_graphics_options_tl}{\imagepath}]
+ ([xshift=\kvtcb at boxsep+\kvtcb at leftupper,yshift=\kvtcb at boxsep+\kvtcb at bottom]interior.south~west)~rectangle~
+ ([xshift=-\kvtcb at boxsep-\kvtcb at rightupper,yshift=-\kvtcb at boxsep-\kvtcb at top]interior.north~east);
+ \end{tcbclipinterior}
+ }]
+ \end{tcolorbox}
+ }
+ }
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_include_graphics_preparefile:n #1
+ {
+ \file_parse_full_name:nNNN {#1} \l_tmpa_tl \imagename \l_tmpb_tl
+ \tl_put_right:NV \imagename \l_tmpb_tl
+ \tl_set_eq:NN \imagepath \imagename
+ \tl_if_empty:NF \l_tmpa_tl
+ {
+ \tl_put_left:Nn \imagepath {/}
+ \tl_if_eq:NnF \l_tmpa_tl {/}
+ {
+ \tl_put_left:NV \imagepath \l_tmpa_tl
+ }
+ }
+ \tl_if_empty:NF \kvtcb at graphics@directory
+ {
+ \tl_put_left:Nn \imagepath {/}
+ \tl_if_eq:NnF \kvtcb at graphics@directory {/}
+ {
+ \tl_put_left:NV \imagepath \kvtcb at graphics@directory
+ }
+ }
+ \tl_set_rescan:Nno \imagename
+ {
+ \char_set_catcode_letter:N \_
+ \char_set_catcode_letter:N \~
+ \char_set_catcode_letter:N \{
+ \char_set_catcode_letter:N \}
+ \char_set_catcode_letter:N \$
+ \char_set_catcode_letter:N \^
+ \char_set_catcode_letter:N \#
+ \char_set_catcode_letter:N \%
+ }
+ {
+ \imagename
+ }
+ }
+
+
+\NewDocumentCommand \tcbincludegraphics { +O{} m }
+ {
+ \group_begin:
+ \tcb at layer@pushup
+ \tcb at apply@box at options{enhanced,clip~upper=true,valign=center,center~upper,#1}
+ \__tcobox_include_graphics_preparefile:n {#2}
+ \cs_set:Npn \imagepage {1}
+ \__tcobox_include_graphics:
+ \group_end:
+ }
+
+
+\NewDocumentCommand \tcbincludepdf { +O{} m }
+ {
+ \__tcobox_include_graphics_preparefile:n {#2}
+ \tcb at set@pdfpages\pdfpages{\imagepath}
+ \foreach~\imagepage~in~\kvtcb at graphics@pages
+ {
+ \group_begin:
+ \tcb at layer@pushup
+ \tcb at apply@box at options{enhanced,clip~upper=true,valign=center,center~upper,#1}
+ \tl_put_right:Nn \kvtcb at graphics@options {,page=\imagepage}
+ \__tcobox_include_graphics:
+ \group_end:
+ }
}
+\ExplSyntaxOff
+
+
\tcbset{%
graphics options/.store in=\kvtcb at graphics@options,
graphics pages/.store in=\kvtcb at graphics@pages,
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbskinsjigsaw.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{skins}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbtheorems.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{amsmath}
@@ -147,18 +147,25 @@
}
-\NewDocumentCommand \__tcobox_new_tcbtheorem:w { m O{} m m +m m }
+\NewDocumentCommand \__tcobox_new_tcbtheorem_x:w { m O{} m m +m m }
{
- #1 [auto~counter,#2]{#3}[3][]
+ #1 [auto~counter,#2] {#3} { +O{} +o +m m }
{
#5,
- title = {\__tcobox_theo_title:nnn{#4}{\thetcbcounter}{##2}},
- list~entry = {\protect\numberline{\thetcbcounter}##2},
- nameref = {##2},
- theo at label = {#6}{##3},
+ title = {\__tcobox_theo_title:nnn{#4}{\thetcbcounter}{##3}},
+ IfValueTF = {##2}
+ {
+ list~entry = {\protect\numberline{\thetcbcounter}##2},
+ nameref = {##2},
+ }
+ {
+ list~entry = {\protect\numberline{\thetcbcounter}##3},
+ nameref = {##3},
+ },
+ theo at label = {#6}{##4},
##1
}
- #1 [#2,no~counter,list~inside=]{#3*}[2][]
+ #1 [#2,no~counter,list~inside=] {#3*} { +O{} +m }
{
#5,
title = {\__tcobox_theo_title:nnn{#4}{}{##2}},
@@ -167,18 +174,32 @@
}
-\NewDocumentCommand \newtcbtheorem {}
+\NewDocumentCommand \NewTcbTheorem {}
{
- \__tcobox_new_tcbtheorem:w \newtcolorbox
+ \__tcobox_new_tcbtheorem_x:w \NewTColorBox
}
+\NewCommandCopy\newtcbtheorem\NewTcbTheorem
-\NewDocumentCommand \renewtcbtheorem {}
+\NewDocumentCommand \RenewTcbTheorem {}
{
- \__tcobox_new_tcbtheorem:w \renewtcolorbox
+ \__tcobox_new_tcbtheorem_x:w \RenewTColorBox
}
+\NewCommandCopy\renewtcbtheorem\RenewTcbTheorem
+\NewDocumentCommand \DeclareTcbTheorem {}
+ {
+ \__tcobox_new_tcbtheorem_x:w \DeclareTColorBox
+ }
+
+
+\NewDocumentCommand \ProvideTcbTheorem {}
+ {
+ \__tcobox_new_tcbtheorem_x:w \ProvideTColorBox
+ }
+
+
\tcbset
{
theo at label/.code~n~args = {2}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbvignette.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\tcbuselibrary{skins}
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcbxparse.code.tex 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,6 +18,6 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb at set@library at version{5.1.1}
+\tcb at set@library at version{6.0.0}
\RequirePackage{xparse}[2013/12/31]
Modified: trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty 2023-02-10 21:55:46 UTC (rev 65780)
+++ trunk/Master/texmf-dist/tex/latex/tcolorbox/tcolorbox.sty 2023-02-10 21:56:36 UTC (rev 65781)
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 5.1.1 (2022/06/24)
+%% The LaTeX package tcolorbox - version 6.0.0 (2023/02/10)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2022 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2023 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesPackage{tcolorbox}[2022/06/24 version 5.1.1 text color boxes]
-\def\tcb at version{5.1.1}
+\ProvidesPackage{tcolorbox}[2023/02/10 version 6.0.0 text color boxes]
+\def\tcb at version{6.0.0}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -142,7 +142,7 @@
\newcommand\tcbtitle{\ifx\tcbtitletext\@empty\else%
- \leavevmode{\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at before@title\tcbtitletext\kvtcb at after@title}\fi}
+ \leavevmode{\color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\tcb at insert@before at title\tcbtitletext\tcb at insert@after at title}\fi}
\def\tcb at detach@title at code@{%
\let\tcbtitletext\kvtcb at title%
@@ -181,11 +181,17 @@
\def\tcb at insert@before at upper@noignore{\kvtcb at before@upper}
\def\tcb at insert@before at lower@ignore{\kvtcb at before@lower\ignorespaces}
\def\tcb at insert@before at lower@noignore{\kvtcb at before@lower}
+\def\tcb at insert@before at title@ignore{\kvtcb at before@title\ignorespaces}
+\def\tcb at insert@before at title@noignore{\kvtcb at before@title}
+
\def\tcb at insert@after at upper@unskip{\ifvmode\else\unskip\fi\kvtcb at after@upper}
\def\tcb at insert@after at upper@nounskip{\kvtcb at after@upper}
\def\tcb at insert@after at lower@unskip{\ifvmode\else\unskip\fi\kvtcb at after@lower}
\def\tcb at insert@after at lower@nounskip{\kvtcb at after@lower}
+\def\tcb at insert@after at title@unskip{\ifvmode\else\unskip\fi\kvtcb at after@title}
+\def\tcb at insert@after at title@nounskip{\kvtcb at after@title}
+
\tcbset{%
title/.store in=\kvtcb at title,
notitle/.style={title=},
@@ -293,7 +299,7 @@
parfillskip restore/.default=true,%
parfillskip restore/true/.code={\let\tcb at parfillskip@check=\tcb at parfillskip@restore},%
parfillskip restore/false/.code={\let\tcb at parfillskip@check=\@empty},%
- before/.code={\def\kvtcb at beforebox{#1}\let\tcb at undo@before=\@empty\let\tcb at use@autoparskip=\relax},
+ before/.code={\def\kvtcb at beforebox{#1}\let\tcb at use@autoparskip=\relax},
after/.code={\def\kvtcb at afterbox{#1}\let\tcb at use@autoparskip=\relax},
before skip balanced/.style={before={%
\ifnum\lastnodetype=-1\relax%
@@ -306,18 +312,13 @@
\fi%
\else%
\ifdim\prevdepth<\z@\relax%
- \tcbdimto\tcb at prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
- \def\tcb at undo@before{\addvspace{-\glueexpr#1+\tcb at prevdepth}}%
\else%
\ifdim\prevdepth>.3\baselineskip\relax%
- \tcbdimto\tcb at prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
\else%
- \tcbdimto\tcb at prevdepth{.3\baselineskip}%
\addvspace{\glueexpr#1+.3\baselineskip-\prevdepth-\parskip}%
\fi%
- \def\tcb at undo@before{\addvspace{-\glueexpr#1+\tcb at prevdepth}}%
\fi%
\fi%
\nointerlineskip%
@@ -336,15 +337,13 @@
}},
beforeafter skip balanced/.style={before skip balanced={#1},after skip balanced={#1}},
autoparskip/.code={\let\tcb at use@autoparskip=\tcb at use@auto at parskip},
- parskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
- \ifvmode\edef\tcb at prevdepth{\the\glueexpr\prevdepth+\lineskip+\parskip}%
- \def\tcb at undo@before{\addvspace{-\glueexpr\tcb at prevdepth}}%
- \pagebreak[0]\fi\fi\noindent},
+ parskip/.style={%
+ before={\ifnum\lastnodetype=-1\relax\else\par%
+ \ifvmode\pagebreak[0]\fi\fi\noindent},
after={\tcb at parfillskip@check\par}},
- noparskip/.style={before={\ifnum\lastnodetype=-1\relax\else\par%
- \ifvmode\edef\tcb at prevdepth{\the\glueexpr\prevdepth+\lineskip}%
- \def\tcb at undo@before{\addvspace{-\glueexpr\smallskipamount+\tcb at prevdepth}}%
- \pagebreak[0]\smallskip\fi\fi\noindent},
+ noparskip/.style={%
+ before={\ifnum\lastnodetype=-1\relax\else\par%
+ \ifvmode\pagebreak[0]\smallskip\fi\fi\noindent},
after={\tcb at parfillskip@check\par\smallskip}},
nobeforeafter/.style={before=,after=},
force nobeforeafter/.code={\tcbset at late@options{nobeforeafter}},
@@ -358,9 +357,7 @@
\addvspace{-\parskip}%
\fi%
\else%
- \tcbdimto\tcb at prevdepth{\prevdepth}%
\addvspace{\glueexpr#1-\parskip}%
- \def\tcb at undo@before{\addvspace{-\glueexpr#1+\tcb at prevdepth}}%
\fi%
\nointerlineskip%
\fi%
@@ -445,6 +442,8 @@
halign/center/.code={\let\kvtcb at halignupper=\tcb at raggedcenter@plain},
halign/justify/.code={\let\kvtcb at halignupper=\@empty},
halign upper/.style={halign=#1},
+ halign upper code/.store in=\kvtcb at halignupper,
+ halign code/.store in=\kvtcb at halignupper,
%
halign lower/.is choice,
halign lower/flush left/.code={\let\kvtcb at halignlower=\raggedright},
@@ -454,6 +453,7 @@
halign lower/right/.code={\let\kvtcb at halignlower=\tcb at raggedleft@plain},
halign lower/center/.code={\let\kvtcb at halignlower=\tcb at raggedcenter@plain},
halign lower/justify/.code={\let\kvtcb at halignlower=\@empty},
+ halign lower code/.store in=\kvtcb at halignlower,
%
halign title/.is choice,
halign title/flush left/.code={\let\kvtcb at haligntitle=\raggedright},
@@ -463,6 +463,7 @@
halign title/right/.code={\let\kvtcb at haligntitle=\tcb at raggedleft@plain},
halign title/center/.code={\let\kvtcb at haligntitle=\tcb at raggedcenter@plain},
halign title/justify/.code={\let\kvtcb at haligntitle=\@empty},
+ halign title code/.store in=\kvtcb at haligntitle,
%
valign scale limit/.store in=\kvtcb at valignscalelimit,
valign scale limit=1.1,
@@ -634,8 +635,6 @@
no overlay/.style={overlay=},%
standard/.style={skin=standard},%
standard jigsaw/.style={skin=standard jigsaw},%
- before title/.store in=\kvtcb at before@title,%
- after title/.store in=\kvtcb at after@title,%
before upper/.code={\def\kvtcb at before@upper{#1}\let\tcb at insert@before at upper\tcb at insert@before at upper@ignore},%
before upper*/.code={\def\kvtcb at before@upper{#1}\let\tcb at insert@before at upper\tcb at insert@before at upper@noignore},%
after upper/.code={\def\kvtcb at after@upper{#1}\let\tcb at insert@after at upper\tcb at insert@after at upper@unskip},%
@@ -644,6 +643,10 @@
before lower*/.code={\def\kvtcb at before@lower{#1}\let\tcb at insert@before at lower\tcb at insert@before at lower@noignore},%
after lower/.code={\def\kvtcb at after@lower{#1}\let\tcb at insert@after at lower\tcb at insert@after at lower@unskip},%
after lower*/.code={\def\kvtcb at after@lower{#1}\let\tcb at insert@after at lower\tcb at insert@after at lower@nounskip},%
+ before title/.code={\def\kvtcb at before@title{#1}\let\tcb at insert@before at title\tcb at insert@before at title@ignore},%
+ before title*/.code={\def\kvtcb at before@title{#1}\let\tcb at insert@before at title\tcb at insert@before at title@noignore},%
+ after title/.code={\def\kvtcb at after@title{#1}\let\tcb at insert@after at title\tcb at insert@after at title@unskip},%
+ after title*/.code={\def\kvtcb at after@title{#1}\let\tcb at insert@after at title\tcb at insert@after at title@nounskip},%
center title/.style={halign title=flush center},%
center upper/.style={halign upper=flush center},%
center lower/.style={halign lower=flush center},%
@@ -791,10 +794,7 @@
\tcbifoddpageoroneside{\tcbset{#1}}{\tcbset{#2}}%
},
phantom/.code={\appto\kvtcb at phantom{#1}},
- step and label/.style 2 args={phantom={\refstepcounter{#1}\tcb at set@label{#2}}},%
step/.style={phantom={\refstepcounter{#1}}},%
- label/.style={phantom={\tcb at set@label{#1}}},%
- phantomlabel/.style={phantom={\ifdefined\phantomsection\phantomsection\fi\tcb at set@label{#1}}},%
hypertarget/.style={phantom={\ifdefined\hypertarget\Hy at raisedlink{\hypertarget{#1}{}}\fi}},
bookmark*/.style 2 args={phantom={\ifdefined\bookmark%
\Hy at raisedlink{\hypertarget{tcb@\thetcolorboxnumber}{}}%
@@ -803,9 +803,6 @@
bookmark/.style={bookmark*={}{#1}},
index/.style={phantom={\index{#1}}},%
index*/.style 2 args={phantom={\index[#1]{#2}}},%
- nameref/.code={\tcb at gettitle{#1}},%
- label type/.store in=\kvtcb at label@type,%
- no label type/.style={label type=},%
add to list/.style 2 args={phantom={\tcb at addcontentsline{#1}{#2}}},
nophantom/.code={\def\kvtcb at phantom{}},%
shield externalize/.is choice,
@@ -819,6 +816,7 @@
options at for/.code={\letcs\tcb at new@colop{tcb at opt@#1}\pgfkeysalsofrom\tcb at new@colop},
list entry/.store in=\kvtcb at listentry,
list text/.style={list entry={\protect\numberline{\thetcbcounter}{\ignorespaces #1}}},
+ short title/.style={list text={#1},nameref={#1}},
title filled/.is if=tcb at titlefilled,%
@colbacktitle/.colorlet=tcbcolbacktitle,
colbacktitle/.style={title filled, at colbacktitle={#1}},
@@ -873,8 +871,67 @@
}
\ExplSyntaxOn
+
+\tl_new:N \l__tcobox_kv_labeltype_tl
+
+
+\cs_new:Npn \__tcobox_label_label:n #1
+ {
+ \quark_if_nil:NTF \l__tcobox_kv_labeltype_tl
+ {
+ \label{#1}
+ }
+ {
+ \exp_last_unbraced:NNV \label[\l__tcobox_kv_labeltype_tl]{#1}
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_zcsetup_countertype:nn #1#2
+ {
+ \cs_if_exist:NT \zcsetup
+ {
+ \zcsetup { countertype={#1={#2}} }
+ }
+ }
+
+
+\cs_new:Npn \__tcobox_label_zlabel:n #1
+ {
+ \quark_if_nil:NF \l__tcobox_kv_labeltype_tl
+ {
+ \cs_if_exist:NT \tcbcounter
+ {
+ \exp_args:NVV \__tcobox_zcsetup_countertype:nn \tcbcounter \l__tcobox_kv_labeltype_tl
+ }
+ }
+ \cs_if_exist:NT \zlabel
+ {
+ \zlabel { #1 }
+ }
+ }
+
+
\tcbset
{
+ label /.style = { phantom={\__tcobox_label:n{#1}} },
+ phantomlabel /.style = { phantom={\cs_if_exist_use:N\phantomsection\__tcobox_label:n{#1}} },
+ step~and~label /.style~n~args = { 2 }{ phantom={\refstepcounter{#1}\__tcobox_label:n{#2}} },
+ nameref /.code =
+ {
+ \tcb at gettitle{#1}
+ \cs_if_exist:NT \zref at titleref@setcurrent { \zref at titleref@setcurrent{#1} }
+ },
+ label~type / .store~in = \l__tcobox_kv_labeltype_tl,
+ no~label~type / .style = { label~type=\q_nil },
+ label~is~label/.code=
+ {
+ \cs_set_eq:NN \__tcobox_label:n \__tcobox_label_label:n
+ },
+ label~is~zlabel/.code=
+ {
+ \cs_set_eq:NN \__tcobox_label:n \__tcobox_label_zlabel:n
+ },
IfBlankTF/.code~n~args={3}{\tl_if_blank:nTF{#1}{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},
IfBlankT/.code~n~args={2}{\tl_if_blank:nT{#1}{\pgfkeysalso{#2}}},
IfBlankF/.code~n~args={2}{\tl_if_blank:nF{#1}{\pgfkeysalso{#2}}},
@@ -896,19 +953,11 @@
\def\kvtcb at beforebox{}
\def\kvtcb at afterbox{}
-\def\tcb at set@label#1{%
- \ifx\kvtcb at label@type\@empty%
- \label{#1}%
- \else%
- \label[\kvtcb at label@type]{#1}%
- \fi%
-}
-
\def\tcb at parbox@true at indent{}%
\def\tcb at parbox@false at indent{%
- \preto\kvtcb at before@title{\noindent}%
- \preto\kvtcb at before@upper{\noindent}%
- \preto\kvtcb at before@lower{\noindent}%
+ \preto\kvtcb at before@title{\vspace{-\parskip}\noindent}%
+ \preto\kvtcb at before@upper{\vspace{-\parskip}\noindent}%
+ \preto\kvtcb at before@lower{\vspace{-\parskip}\noindent}%
}%
\let\tcb at parboxrestore=\@parboxrestore
@@ -937,7 +986,10 @@
\let\tcb at minipage=\tcb at minipage@bottom
% lrbox with integrated minipage
-\def\tcb at lrbox#1#2{%
+% #1 box
+% #2 width
+% #3 color (for color stack)
+\def\tcb at lrbox#1#2#3{%
\edef\reserved at a{%
\endgroup
\setbox#1\hbox{%
@@ -945,10 +997,12 @@
\def\noexpand\@currenvir{\@currenvir}%
\def\noexpand\@currenvline{\on at line}}%
\reserved at a
- \@endpefalse
+ \@endpefalse%
\let\tcbbreak\par%
\csname tcb at parbox@use@\kvtcb at parbox\endcsname%
- \tcb at minipage#2\tcb at hyph@fix\ignorespaces}
+ \tcb at minipage{#2}%
+ \color{#3}%
+ \tcb at hyph@fix\ignorespaces}
\let\endtcb at lrbox=\endminipage
\let\tcb at savebox=\tcb at lrbox
@@ -955,10 +1009,10 @@
\let\endtcb at savebox=\endtcb at lrbox
\def\tcb at saveupperbox{%
-\begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper}\tcb at lua@color{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper}
+\begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper}{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper}
\def\tcb at savelowerbox{%
-\begin{tcb at savebox}{\tcb at lowerbox}{\tcb at w@lower}\tcb at lua@color{tcbcollower}\kvtcb at fontlower\kvtcb at halignlower\tcb at insert@before at lower}
+\begin{tcb at savebox}{\tcb at lowerbox}{\tcb at w@lower}{tcbcollower}\kvtcb at fontlower\kvtcb at halignlower\tcb at insert@before at lower}
% counter for float
@@ -974,11 +1028,11 @@
\tcbset{autoparskip/.style=noparskip}%
\fi%
\tcb at use@autoparskip%
-\ifx\luacolorProcessBox\@undefined%
- \def\tcb at lua@color#1{}%
-\else%
- \def\tcb at lua@color#1{\color{#1}}%
-\fi%
+%\ifx\luacolorProcessBox\@undefined%
+% \def\tcb at lua@color#1{}%
+%\else%
+% \def\tcb at lua@color#1{\color{#1}}%
+%\fi%
}
\long\def\tcb at colorbox{%
@@ -998,7 +1052,7 @@
\ifx\kvtcb at title\@empty\tcb at hasTitlefalse\tcb at specialtitle@hook\else%
\tcb at hasTitletrue%
\tcbdimto\tcb at w@title{\kvtcb at width-(\kvtcb at left@rule+\kvtcb at right@rule+(\kvtcb at boxsep)*2+\kvtcb at lefttitle+\kvtcb at righttitle)}%
- \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}\tcb at lua@color{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\kvtcb at before@title\kvtcb at title\kvtcb at after@title\end{tcb at savebox}%
+ \begin{tcb at savebox}{\tcb at titlebox}{\tcb at w@title}{tcbcoltitle}\kvtcb at fonttitle\kvtcb at haligntitle\tcb at insert@before at title\kvtcb at title\tcb at insert@after at title\end{tcb at savebox}%
\fi%
}
@@ -1067,24 +1121,12 @@
\sbox{\tcb at lowerbox}{\color{tcbcollower}\kvtcb at fontlower\kvtcb at halignlower\tcb at insert@before at lower\tcb at sbs@text at right\tcb at insert@after at lower}%
}
-\def\tcb at set@color#1{%
- \edef\current at color{\@nameuse{\string\color@#1}}%
- \colorlet{.}{#1}%
-}
-
-\def\tcb at reset@color{%
- \colorlet{.}{tcbcol at origin}%
- \edef\current at color{\@nameuse{\string\color at tcbcol@origin}}%
-}
-
\def\tcb at set@@upper at and@lower{%
- \colorlet{tcbcol at origin}{.}%
\let\tcb at insert@after at part=\tcb at insert@after at upper%
% switch for lower box
\def\tcblower{%
\tcb at insert@after at part%
\end{tcb at savebox}%
- \tcb at set@color{tcbcollower}%
\unless\iftcb at sidebyside%
\tcbdimto\tcb at w@lower{\tcb at innerwidth-\kvtcb at boxsep*2-\kvtcb at leftlower-\kvtcb at rightlower}%
\fi%
@@ -1099,7 +1141,6 @@
\fi%
\tcb at startbox}%
% start of upper box
- \tcb at set@color{tcbcolupper}%
\ifx\kvtcb at saveupperto\@empty%
\let\tcb at startbox\tcb at saveupperbox%
\let\endtcolorbox\tcb at endboxanddraw%
@@ -1321,7 +1362,6 @@
\def\tcb at endboxanddraw{%
\tcb at insert@after at part%
\end{tcb at savebox}%
- \tcb at reset@color%
\tcb at draw@color at box%
\tcb at finalize@environment%
}
@@ -1804,7 +1844,7 @@
}
\def\tcb at sbs@mix{%
- \begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper at real}%
+ \begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper at real}{tcbcolupper}%
\tcb at box@align{\tcb at upperbox}%
\iftcb at uppervisible%
\tcbdimto{\tcb at temp@wd}{\tcb at w@upper-\wd\tcb at upperbox+\kvtcb at sbs@gap}%
@@ -1957,13 +1997,11 @@
\long\def\tcbox at inner@hbox#1{%
\tcb at set@@phantom%
- \colorlet{tcbcol at origin}{.}%
- \tcb at set@color{tcbcolupper}%
\sbox\tcb at upperbox{\tcb at embed@tcbox{%
\csname tcb at parbox@use@\kvtcb at parbox\endcsname%
\@parboxrestore%
- \tcb at lua@color{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper#1\tcb at insert@after at upper}}%
- \tcb at reset@color%
+ \color{tcbcolupper}%
+ \kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper#1\tcb at insert@after at upper}}%
\tcbdimto\tcb at val@raisebase{\the\dimexpr\dp\tcb at upperbox+\kvtcb at bottom+\kvtcb at boxsep+\kvtcb at bottom@rule at stand+\kvtcb at bbbottom@stand\relax}%
\tcbdimto\kvtcb at width{\wd\tcb at upperbox+\kvtcb at left@rule+\kvtcb at leftupper+\kvtcb at boxsep*2+\kvtcb at rightupper+\kvtcb at right@rule}%
\tcb at hasLowerfalse%
@@ -1977,10 +2015,7 @@
\tcb at set@@phantom%
\tcb at set@@title%
\tcb at set@@dimensions%
- \colorlet{tcbcol at origin}{.}%
- \tcb at set@color{tcbcolupper}%
- \begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper}\tcb at lua@color{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper#1\tcb at insert@after at upper\end{tcb at savebox}%
- \tcb at reset@color%
+ \begin{tcb at savebox}{\tcb at upperbox}{\tcb at w@upper}{tcbcolupper}\kvtcb at fontupper\kvtcb at halignupper\tcb at insert@before at upper#1\tcb at insert@after at upper\end{tcb at savebox}%
\tcb at hasLowerfalse%
\tcb at draw@color at box%
}
@@ -2077,6 +2112,7 @@
}
\def\tcb at proc@counter at autoanduse#1{%
+ \let\tcb at tcbcounter@savetemp=\tcbcounter%
\letcs\tcbcounter{tcb at cnt@#1}%
\ifx\kvtcb at new@numberwithin\@empty%
\csxdef{the\tcbcounter}{\expandafter\noexpand\kvtcb at new@format{\tcbcounter}}%
@@ -2090,6 +2126,7 @@
\fi%
\global\csletcs{thetcb at cnt@#1}{the\tcbcounter}%
\appto\tcb at new@colopt{,code={\letcs\tcbcounter{tcb at cnt@#1}\letcs\thetcbcounter{thetcb at cnt@#1}\stepcounter{\tcbcounter}\preto\kvtcb at phantom{\addtocounter{\tcbcounter}{-1}\refstepcounter{\tcbcounter}}}}%
+ \let\tcbcounter=\tcb at tcbcounter@savetemp%
}
\def\tcb at proc@counter at auto#1{%
@@ -2135,16 +2172,20 @@
\ExplSyntaxOn
+\bool_new:N \l__tcobox_prevent_init_overwrite_bool
+
\cs_new:Npn \__tcobox_process_newtcolorbox:nn #1#2
{
- \edef\tcb at new@boxname{#2}
- \def\tcb at new@colopt{}
- \tl_if_novalue:nF { #1 }
+ \bool_lazy_and:nnF
+ { \l__tcobox_prevent_init_overwrite_bool }
+ { \cs_if_exist_p:c { tcb at opt@#2 } }
{
+ \edef\tcb at new@boxname{#2}
+ \def\tcb at new@colopt{}
\tcb at proc@options at init{#1}{#2}
+ \preto\tcb at new@colopt{savedelimiter=#2}
+ \exp_args:Nc \cs_set_eq:NN { tcb at opt@#2 } \tcb at new@colopt
}
- \preto\tcb at new@colopt{savedelimiter=#2}
- \exp_args:Nc \cs_set_eq:NN { tcb at opt@#2 } \tcb at new@colopt
}
@@ -2156,7 +2197,7 @@
}
-\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +o m o +o +m }
+\NewDocumentCommand \__tcobox_new_tcolorbox:w { m +O{} >{\TrimSpaces} m o +o +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\tl_if_novalue:nTF { #4 }
@@ -2175,15 +2216,17 @@
}
\NewDocumentCommand \newtcolorbox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcolorbox:w \newenvironment
}
\NewDocumentCommand \renewtcolorbox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcolorbox:w \renewenvironment
}
-\NewDocumentCommand \__tcobox_new_TColorBox:w { m +o m +m +m }
+\NewDocumentCommand \__tcobox_new_TColorBox:w { m +O{} >{\TrimSpaces} m +m +m }
{
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
#1 { #3 }{ #4 }{ \tcolorbox[#5,options at for=#3] }{ \endtcolorbox }
@@ -2190,18 +2233,22 @@
}
\NewDocumentCommand \DeclareTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \DeclareDocumentEnvironment
}
\NewDocumentCommand \NewTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \NewDocumentEnvironment
}
\NewDocumentCommand \RenewTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \RenewDocumentEnvironment
}
\NewDocumentCommand \ProvideTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TColorBox:w \ProvideDocumentEnvironment
}
@@ -2211,7 +2258,7 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \begin{tcolorbox}[#5,options at for=#3]#6\end{tcolorbox} }
}
-\NewDocumentCommand \__tcobox_new_TotalTColorBox:w { m +o m }
+\NewDocumentCommand \__tcobox_new_TotalTColorBox:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_TotalTColorBox:Nnnnnn #1 {#2} \l_tmpa_tl
@@ -2218,18 +2265,22 @@
}
\NewDocumentCommand \DeclareTotalTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTColorBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTColorBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTColorBox:w \ProvideDocumentCommand
}
@@ -2251,7 +2302,7 @@
}
}
}
-\NewDocumentCommand \__tcobox_new_tcbox_i:w { m +o m }
+\NewDocumentCommand \__tcobox_new_tcbox_i:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_tcbox_ii:w #1 {#2} \l_tmpa_tl
@@ -2258,10 +2309,12 @@
}
\NewDocumentCommand \newtcbox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbox_i:w \newcommand
}
\NewDocumentCommand \renewtcbox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_tcbox_i:w \renewcommand
}
@@ -2271,7 +2324,7 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options at for=#3] }
}
-\NewDocumentCommand \__tcobox_new_TCBox:w { m +o m }
+\NewDocumentCommand \__tcobox_new_TCBox:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_TCBox:Nnnnn #1 {#2} \l_tmpa_tl
@@ -2278,18 +2331,22 @@
}
\NewDocumentCommand \DeclareTCBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTCBox { }
{
- \__tcobox_new_TCBox:w \RewewDocumentCommand
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
+ \__tcobox_new_TCBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TCBox:w \ProvideDocumentCommand
}
@@ -2299,7 +2356,7 @@
\__tcobox_process_newtcolorbox:nn { #2 }{ #3 }
\exp_args:Nc #1 { #3 }{ #4 }{ \tcbox[#5,options at for=#3]{#6} }
}
-\NewDocumentCommand \__tcobox_new_TotalTCBox:w { m +o m }
+\NewDocumentCommand \__tcobox_new_TotalTCBox:w { m +O{} m }
{
\__tcobox_set_backslash_removed:Nn \l_tmpa_tl { #3 }
\exp_args:NNnV \__tcobox_new_TotalTCBox:Nnnnnn #1 {#2} \l_tmpa_tl
@@ -2306,18 +2363,22 @@
}
\NewDocumentCommand \DeclareTotalTCBox { }
{
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \DeclareDocumentCommand
}
\NewDocumentCommand \NewTotalTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \NewDocumentCommand
}
\NewDocumentCommand \RenewTotalTCBox { }
{
- \__tcobox_new_TotalTCBox:w \RewewDocumentCommand
+ \bool_set_false:N \l__tcobox_prevent_init_overwrite_bool
+ \__tcobox_new_TotalTCBox:w \RenewDocumentCommand
}
\NewDocumentCommand \ProvideTotalTCBox { }
{
+ \bool_set_true:N \l__tcobox_prevent_init_overwrite_bool
\__tcobox_new_TotalTCBox:w \ProvideDocumentCommand
}
@@ -2418,9 +2479,11 @@
\let\tcb at verbatim@begin at hook\@empty
\let\tcb at verbatim@end at hook\@empty
\let\tcb at verbatim@change at percent\@empty
+\let\tcb at set@verbatim at finish\@empty
\def\tcbverbatimwrite#1{%
\@bsphack
+ \tcb at set@verbatim at finish%
\tcb at allocate@tcb at out%
\immediate\openout\tcb at out #1
\tcb at verbatim@begin at hook%
@@ -2439,6 +2502,41 @@
}
+\ExplSyntaxOn
+
+\cs_new_nopar:Npn \__tcobox_verbatim_finish:
+ {
+ \tl_set_rescan:Nnx \l_tmpa_tl
+ {
+ \char_set_catcode_space:n { 9 }
+ \char_set_catcode_space:n { 32 }
+ } { \the\verbatim at line }
+ \tl_if_blank:VF \l_tmpa_tl
+ {
+ \verbatim at processline
+ }
+ }
+
+\tcbset{%
+ verbatim~ignore~indention~at~end/.is~choice,
+ verbatim~ignore~indention~at~end/true/.code=
+ {
+ \cs_set:Npn \tcb at set@verbatim at finish
+ {
+ \cs_set_eq:NN \verbatim at finish \__tcobox_verbatim_finish:
+ }
+ },
+ verbatim~ignore~indention~at~end/false/.code=
+ {
+ \cs_set_eq:NN \tcb at set@verbatim at finish \prg_do_nothing:
+ },
+ verbatim~ignore~indention~at~end/.default=true,
+ verbatim~ignore~indention~at~end
+}
+
+\ExplSyntaxOff
+
+
% saving of the lower box
\def\tcb at lowerverbatim{%
@@ -2568,6 +2666,7 @@
\tcbset{%
minipage,savedelimiter=tcolorbox,%
set at extensions@preframe=,set at extensions@postframe=,set at extensions@final=,%
+ label is label,
}%
\def\tcbsetforeverylayer#1{\tcbset{initialize at reset={#1}}}
More information about the tex-live-commits
mailing list.