summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-05-24 03:01:24 +0000
committerNorbert Preining <norbert@preining.info>2021-05-24 03:01:24 +0000
commit5f0d648973cab5784f4bdb361bbe261b60493432 (patch)
tree8d52d91ad042d654b138e7ce1b7b87b85b837b11 /macros/latex
parentf1261b349e875b842745b63258c3e338cb1fe3bf (diff)
CTAN sync 202105240301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/colorist/README.md23
-rw-r--r--macros/latex/contrib/colorist/colorart.cls83
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls83
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin45924 -> 81144 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex453
-rw-r--r--macros/latex/contrib/colorist/colorist.sty909
-rw-r--r--macros/latex/contrib/minimalist/README.md25
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin45936 -> 79955 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex434
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty490
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls89
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls89
-rw-r--r--macros/latex/contrib/ot-tableau/README11
-rw-r--r--macros/latex/contrib/ot-tableau/ot-tableau.pdfbin84456 -> 65650 bytes
-rw-r--r--macros/latex/contrib/ot-tableau/ot-tableau.sty61
-rw-r--r--macros/latex/contrib/ot-tableau/ot-tableau.tex13
-rw-r--r--macros/latex/contrib/tcolorbox/CHANGES31
-rw-r--r--macros/latex/contrib/tcolorbox/README4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbbreakable.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbexternal.code.tex7
-rw-r--r--macros/latex/contrib/tcolorbox/tcbfitting.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbhooks.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistings.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingscore.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbmagazine.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbminted.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbposter.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbprocessing.code.tex7
-rw-r--r--macros/latex/contrib/tcolorbox/tcbraster.code.tex22
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskins.code.tex222
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex27
-rw-r--r--macros/latex/contrib/tcolorbox/tcbtheorems.code.tex29
-rw-r--r--macros/latex/contrib/tcolorbox/tcbvignette.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex6
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdfbin273812 -> 273829 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.pdfbin457359 -> 457403 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdfbin442139 -> 442133 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex5
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex8
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex10
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex36
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex5
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex1636
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex1985
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex37
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex35
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.pdfbin7174046 -> 7209084 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.sty72
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.tex11
59 files changed, 4071 insertions, 2981 deletions
diff --git a/macros/latex/contrib/colorist/README.md b/macros/latex/contrib/colorist/README.md
index 48f9a8e82f..28ca41cf52 100644
--- a/macros/latex/contrib/colorist/README.md
+++ b/macros/latex/contrib/colorist/README.md
@@ -2,27 +2,28 @@
# `colorist` bundle: write you documents in a colorful way
-This is collection of styles and classes for typesetting articles and books in a
-colorful design. It mainly consists of two parts.
+A collection of styles and classes that helps you typesetting articles and books
+with a colorful design. It mainly consists of two parts.
- Main part:
- - colorist.sty : the main style
- - colorart.cls : class for typesetting articles
- - colorbook.cls : class for typesetting books
+ - `colorist.sty` : the main style
+ - `colorart.cls` : class for typesetting articles
+ - `colorbook.cls` : class for typesetting books
They can be used with any major TeX engine. Currently they have native
- support to English and French typesetting. (I have planed to add more
- language support)
+ support to English, French and German typesetting (more language to be
+ added).
- Derivative part (they have separate pages on CTAN):
- - lebhart.cls : more advanced class for typesetting articles
- - beaulivre.cls : more advanced class for typesetting books
+ - `lebhart.cls` : enhanced version of `colorart`
+ - `beaulivre.cls` : enhanced version of `colorbook`
They are similar to the main classes, but have unicode support, thus can
only be used with either XeLaTeX or LuaLaTeX. Currently they have native
- support to English, French and Chinese typesetting, and also use more
- beautiful fonts. (I have planed to add more language support)
+ support to Chinese (both simplified and traditional), English, French,
+ German, Japanese and Russian typesetting (more language to be added), and
+ also use more beautiful fonts.
# License
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index c40e2c682b..304a002614 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{colorart}
- [2021/03/15 A colorful article style]
+ [2021/05/24 A colorful article style]
\def\colorclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,12 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+
+\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
+\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse
+\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue}
+
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}}
\ProcessKeyvalOptions*\relax
\LoadClass{\colorclass@baseclass}
@@ -37,20 +43,41 @@
%%================================
%% Page layout
%%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
\RequirePackage[heightrounded]{geometry}
\geometry{
- % papersize={8in,11in},
+ papersize={8.5in,11in},
+ total={47em,66em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\if@colorclass@bfivepaper
+\geometry{
+ b5paper,
+ total={40em,59em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if@colorclass@afourpaper
+\geometry{
a4paper,
total={47em,70em},
hmarginratio=1:1,
vmarginratio=1:1,
footnotesep=2em plus 2pt minus 2pt,
}
+\fi
\RequirePackage{indentfirst}
\if@colorclass@fast
\PassOptionsToPackage{fast}{colorist}
+ \RequirePackage{draftwatermark}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
\fi
\RequirePackage{colorist}
@@ -64,6 +91,9 @@
\fi
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\RequirePackage{amssymb}
+
+\def\PJL@font@alreadyset{}
\RequirePackage[verbose=silent]{microtype}
@@ -73,60 +103,15 @@
\RequirePackage{graphicx}
\graphicspath{{images/}}
\RequirePackage{wrapfig}
+\RequirePackage{float}
\RequirePackage{caption}
+\captionsetup{font=small}
%%================================
%% Index
%%================================
\RequirePackage{imakeidx}
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if@colorclass@fast
- \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-\else
- \PassOptionsToPackage{many}{tcolorbox}
- \RequirePackage{tcolorbox}
- \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
- }
-\fi
-
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\bfseries\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
- \par%
- \centerline{\plainBox[needgraphColor]%
- {\normalfont\needgraphFont\bfseries\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}}%
- \par%
-}
-
\endinput
%%
%% End of file `colorist/colorart.cls'.
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index e620546e5a..da8b6e75b8 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{colorbook}
- [2021/03/15 A colorful book style]
+ [2021/05/24 A colorful book style]
\def\colorclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,12 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+
+\newif\if@colorclass@bfivepaper\@colorclass@bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@colorclass@bfivepapertrue}
+\newif\if@colorclass@afourpaper\@colorclass@afourpaperfalse
+\DeclareVoidOption{a4paper}{\@colorclass@afourpapertrue}
+
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\colorclass@baseclass}}
\ProcessKeyvalOptions*\relax
\LoadClass{\colorclass@baseclass}
@@ -37,20 +43,41 @@
%%================================
%% Page layout
%%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
\RequirePackage[heightrounded]{geometry}
\geometry{
- % papersize={8in,11in},
+ papersize={8.5in,11in},
+ total={47em,66em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\if@colorclass@bfivepaper
+\geometry{
+ b5paper,
+ total={40em,59em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if@colorclass@afourpaper
+\geometry{
a4paper,
total={47em,70em},
hmarginratio=1:1,
vmarginratio=1:1,
footnotesep=2em plus 2pt minus 2pt,
}
+\fi
\RequirePackage{indentfirst}
\if@colorclass@fast
\PassOptionsToPackage{fast}{colorist}
+ \RequirePackage{draftwatermark}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
\fi
\RequirePackage{colorist}
@@ -64,6 +91,9 @@
\fi
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\RequirePackage{amssymb}
+
+\def\PJL@font@alreadyset{}
\RequirePackage[verbose=silent]{microtype}
@@ -73,60 +103,15 @@
\RequirePackage{graphicx}
\graphicspath{{images/}}
\RequirePackage{wrapfig}
+\RequirePackage{float}
\RequirePackage{caption}
+\captionsetup{font=small}
%%================================
%% Index
%%================================
\RequirePackage{imakeidx}
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if@colorclass@fast
- \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-\else
- \PassOptionsToPackage{many}{tcolorbox}
- \RequirePackage{tcolorbox}
- \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
- }
-\fi
-
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\bfseries\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
- \par%
- \centerline{\plainBox[needgraphColor]%
- {\normalfont\needgraphFont\bfseries\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}}%
- \par%
-}
-
\endinput
%%
%% End of file `colorist/colorbook.cls'.
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index 27c3d1b58c..faacf8b77a 100644
--- a/macros/latex/contrib/colorist/colorist-doc.pdf
+++ b/macros/latex/contrib/colorist/colorist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index f61a2f99b5..14dc39da0d 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -1,22 +1,24 @@
%! TEX program = xelatex
-\PassOptionsToPackage{dvipsnames}{xcolor}
-\documentclass{colorart}
+\documentclass[allowbf]{colorart}
%%================================
-%% TeX logo and URL
+%% Import toolkit
%%================================
-\usepackage{hologo}
-\usepackage{url}
+\usepackage{PJLtoolkit}
+\usepackage{longtable} % breakable tables
+\usepackage{hologo} % more TeX logo
%%================================
%% For typestting code
%%================================
\usepackage{listings}
+\definecolor{maintheme}{RGB}{70,130,180}
+\definecolor{forestgreen}{RGB}{21,122,81}
\definecolor{lightergray}{gray}{0.99}
\lstset{language=[LaTeX]TeX,
- keywordstyle=\color{RoyalBlue},
+ keywordstyle=\color{maintheme},
basicstyle=\ttfamily,
- commentstyle=\color{ForestGreen}\ttfamily,
+ commentstyle=\color{forestgreen}\ttfamily,
stringstyle=\rmfamily,
showstringspaces=false,
breaklines=true,
@@ -29,92 +31,203 @@
firstnumber=last,
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{morekeywords=%
- {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,
- linenumbers,nolinenumbers,subsection,maketitle
+\lstset{moretexcs=%
+ {linenumbers,nolinenumbers,subsection,
+ color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
{\setkeys{lst}{columns=fullflexible,keepspaces=true}}{}
-\providecommand{\colorist}{\textsf{colorist}}
-\providecommand{\colorart}{\textsf{colorart}}
-\providecommand{\colorbook}{\textsf{colorbook}}
-\providecommand{\lebhart}{\textsf{lebhart}}
-\providecommand{\beaulivre}{\textsf{beaulivre}}
+%%================================
+%% remind
+%%================================
+\usepackage[many]{tcolorbox}
+\newenvironment{remind}[1][Remind]{%
+ \begin{tcolorbox}[breakable,
+ enhanced,
+ width = \textwidth,
+ colback = white, colbacktitle = paper,
+ colframe = gray!50, boxrule=0.2mm,
+ coltitle = black,
+ fonttitle = \sffamily,
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ boxed title style = {boxrule=0pt, colframe=paper},
+ before skip = 0.3cm,
+ after skip = 0.3cm,
+ top = 3mm,
+ bottom = 3mm,
+ title={\sffamily #1}]%
+}{\end{tcolorbox}}
+
+%%================================
+%% Names
+%%================================
+\providecommand{\colorist}{{\normalfont\textsf{colorist}}}
+\providecommand{\colorart}{{\normalfont\textsf{colorart}}}
+\providecommand{\colorbook}{{\normalfont\textsf{colorbook}}}
+\providecommand{\lebhart}{{\normalfont\textsf{lebhart}}}
+\providecommand{\beaulivre}{{\normalfont\textsf{beaulivre}}}
+
%%================================
%% Main text
%%================================
\begin{document}
-\title{\colorist{}, write your articles or books in a colorful way\thanks{Corresponding to: \texttt{\colorist{} 2021/03/15}}}
-\author{Jinwen}
-\date{March 2021, Beijing}
+\title{{\normalfont\textbf{\textsf{colorist}}}, write your articles or books in a colorful way}
+\author{Jinwen XU}
+\thanks{Corresponding to: \texttt{\colorist{} 2021/05/24}}
+\date{May 2021, Beijing}
\maketitle
\begin{abstract}
- The \colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
+ \colorist{} is a series of styles and classes for you to typeset your articles or books in a colorful manner. My original intention in designing this series is to write drafts and notes that look colorful yet not dazzling.
- The entire collection includes \verb|colorist.sty|, which is the main style shared by all the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English and French typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+ The entire collection includes \verb|colorist.sty|, which is the main style shared by all of the following classes; \verb|colorart.cls| for typesetting articles and \verb|colorbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
- You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
+ You can also found \lebhart{} and \beaulivre{} on CTAN. They are the enhanced version of \colorart{} and \colorbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
- This documentation is typeset using \colorart{}. You can think of it as a short introduction and demonstration.
+ This documentation is typeset using \colorart{} (with the option \texttt{allowbf}). You can think of it as a short introduction and demonstration.
\end{abstract}
-\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,boxrule=0pt,frame hidden]
- Since the main body of \colorist{} is modified from the \textsf{minimalist} series, some elements have not been completely redesigned yet, especially the TOC, part and chapter style. These will be added gradually in the future versions.
-\end{tcolorbox}
-
\tableofcontents
-\section{How to load it}
+\bigskip\bigskip
+\begin{remind}
+ Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
+\end{remind}
+
+\clearpage
+\section{Initialization}
+
+\subsection{How to load it}
You can directly use \colorart{} or \colorbook{} as your document class. In this way, you can directly begin writing your document, without having to worry about the configurations.
\begin{code}
\documentclass{colorart} (*{\normalfont or}*) \documentclass{colorbook}
\end{code}
-And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \colorist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article (except for draft marks) are provided.
+And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \colorist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided.
\begin{code}
\usepackage{colorist}
\end{code}
-\subsection{A useful switch: the option \textsf{fast} or \textsf{draft}}
-You can use the option \verb|fast| or \verb|draft| to typeset in a fast but slightly rough manner. The main differences are:
+\subsection{Options}
+
+\colorist{} offers the following options:
+
\begin{itemize}
- \item Do not use hyperref;
- \item Use draft mode for all tcolorboxes.
+ \item \texttt{draft} or \texttt{fast}
+ \begin{itemize}
+ \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
+ \begin{itemize}
+ \item Use simpler math font configuration;
+ \item Do not use hyperref;
+ \item Enable the fast mode of \ProjLib{} toolkit.
+ \end{itemize}
+ \end{itemize}
+ \item \texttt{allowbf}
+ \begin{itemize}
+ \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
+ \end{itemize}
+\end{itemize}
+
+\begin{remind}
+ \begin{itemize}
+ \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+ \end{itemize}
+\end{remind}
+
+\bigskip
+Additionally, \colorart{} and \colorbook{} offers the following options:
+\begin{itemize}
+ \item \texttt{a4paper} or \texttt{b5paper}
+ \begin{itemize}
+ \item Optional paper size. The default paper size is 8.5in $\times$ 11in.
+ \end{itemize}
\end{itemize}
-During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
\section{Some instructions}
+Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
+
+\subsection{Language configuration}
+
+\colorist{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+
+\begin{itemize}
+ \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+ \item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
+\end{itemize}
+
+\clearpage
+\meta{language name} can be:
+\begin{itemize}
+ \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
+ \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
+ \item English: \texttt{English} or \texttt{english}
+ \item French: \texttt{French} or \texttt{french}
+ \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
+ \item Japanese: \texttt{Japanese} or \texttt{japanese}
+ \item Russian: \texttt{Russian} or \texttt{russian}
+\end{itemize}
+
+\medskip
+In addition, you can also add new settings to selected language:
+\begin{itemize}
+ \item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
+ \begin{itemize}
+ \item Add \meta{settings} to all supported languages.
+ \end{itemize}
+ \item \lstinline|\AddLanguageSetting(|\meta{language name}\lstinline|){|\meta{settings}\lstinline|}|
+ \begin{itemize}
+ \item Add \meta{settings} to the selected language \meta{language name}.
+ \end{itemize}
+\end{itemize}
+For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
+
+
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly, for example:
+Environments such as definitions and theorems have been pre-defined and can be used directly.
+
+More specifically, preset environments include:
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+
+\medskip
+When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+
+\begin{remind}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
+
will produce
\begin{definition}[Strange things]\label{def: strange}
This is the definition of some strange objects.
\end{definition}
-\begin{definition}[Another definition]
- Different definitions are automatically glued together, and there will be no gaps in between.
-\end{definition}
+\lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
-When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
+\medskip
+After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
+
+\UseLanguage{French}
+\begin{theorem}[Inutile]\label{thm}
+ Un théorème en français.
+\end{theorem}
+
+By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
+\end{remind}
-\bigskip
-The following are several other styles of theorem-like environments:
+\clearpage %\bigskip
+The following are the main styles of theorem-like environments:
\begin{theorem}
- Theorem style: theorem, proposition, lemma, corollary
+ Theorem style: theorem, proposition, lemma, corollary, ...
\end{theorem}
\begin{proof}
@@ -130,93 +243,273 @@ The following are several other styles of theorem-like environments:
\end{conjecture}
\begin{example*}
- Example style: example, fact
+ Example style: example, fact, ...
\end{example*}
\begin{problem}
- Problem style
+ Problem style: problem, question, ...
\end{problem}
+\medskip
+For aesthetics, adjacent definitions will be connected together automatically:
+\begin{definition}
+ First definition.
+\end{definition}
+
+\begin{definition}
+ Second definition.
+\end{definition}
+
+\UseLanguage{English}
+
+% \clearpage
\subsection{Define a new theorem-like environment}
-First define the name of this environment in the language used: \lstinline|\(name of environment)(language name)|. Where \lstinline|(language name)| can be \lstinline|EN|, \lstinline|FR|, \lstinline|CN|, etc., and then define this environment in one of the following four ways:
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
+% \vspace{-.5\baselineskip}
+\begin{longtable}{ll|ll}
+ \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
+ \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
+ \texttt{EN} & English & \texttt{RU} & Russian\\
+ \texttt{FR} & French & &\\
+\end{longtable}
+
+\vspace{-.5\baselineskip}
+\begin{remind}
+ If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
+\end{remind}
+
+And then define this environment in one of following five ways:
\begin{itemize}
- \item \lstinline|\CreateTheorem*{(name of environment)}|
- \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]|
- \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>|
- \item \lstinline|\CreateTheorem{(name of environment)}|
+ \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
+ \begin{itemize}
+ \item Define an unnumbered environment \meta{name of environment}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, numbered in order 1,2,3,\dots
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
+ \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
+ \begin{itemize}
+ \item Identify \meta{name of environment} with \meta{existed environment} or \meta{existed environment}\lstinline|*|.
+ \item This method is usually useful in the following two situations:
+ \begin{enumerate}
+ \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}|\\\lstinline|(theorem)|, one can then use the name \texttt{thm} to write theorem.
+ \item To remove the numbering. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|.
+ \end{enumerate}
+ \end{itemize}
\end{itemize}
+\medskip
+\begin{remind}
+ It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{remind}
+
\def\proofideanameEN{Idea}
-\CreateTheorem*{proofidea}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>
-For example,
+\bigskip
+Here is an example. The following code:
\begin{code}
\def\proofideanameEN{Idea}
- \CreateTheorem*{proofidea}
+ \CreateTheorem*{proofidea*}
+ \CreateTheorem{proofidea}<subsection>
\end{code}
-defines an unnumbered environment \lstinline|proofidea|, which supports using in the English context, and the effect is as follows:
+defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows:
+
+\begin{proofidea*}
+ The \lstinline|proofidea*| environment.
+\end{proofidea*}
\begin{proofidea}
- ...
+ The \lstinline|proofidea| environment.
\end{proofidea}
+\bigskip
\subsection{Draft mark}
You can use \lstinline|\dnf| to mark the unfinished part. For example:
\begin{itemize}
- \item \lstinline|\dnf|: \quad \dnf
- \item \lstinline|\dnf<Still need ...>|: \quad \dnf<Still need ...>
+ \item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode.
\end{itemize}
-Similarly, there is \lstinline|\needgraph| :
+Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
- \item \lstinline|\needgraph|: \needgraph
- \item \lstinline|\needgraph<About ...>|: \needgraph<About ...>
+ \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-\subsection{Language configuration}
-You can use \lstinline|\UseLanguage{(name of language))}| at any time to change the language, Language names include Chinese, English, French (the case of the first letter is arbitrary, for example, ``chinese'' is also acceptable). With this, the effects of various commands and environments will also change accordingly.
+\clearpage
+\subsection{On the title, abstract and keywords}
-For example, after using \lstinline|\UseLanguage{French}|, the theorem and the draft mark will be displayed as:
+\colorart{} has both the features of standard classes and that of the \AmS{} classes.
-\UseLanguage{French}
-\begin{theorem}[Inutile]\label{thm}
- Un théorème en français. \dnf
+Therefore, the title part can either be written in the usual way, in accordance with the standard class \textsf{article}:
+
+\begin{code}
+ \title{(*\meta{title}*)}
+ \author{(*\meta{author}*)}
+ \date{(*\meta{date}*)}
+ \maketitle
+ \begin{abstract}
+ (*\meta{abstract}*)
+ \end{abstract}
+ \begin{keyword}
+ (*\meta{keywords}*)
+ \end{keyword}
+\end{code}
+
+or written in the way of \AmS{} classes:
+
+\begin{code}
+ \title{(*\meta{title}*)}
+ \author{(*\meta{author}*)}
+ \address{(*\meta{address}*)}
+ \email{(*\meta{email}*)}
+ \date{(*\meta{date}*)}
+ \keywords{(*\meta{keywords}*)}
+ \subjclass{(*\meta{subjclass}*)}
+ \begin{abstract}
+ (*\meta{abstract}*)
+ \end{abstract}
+ \maketitle
+\end{code}
+
+\medskip
+The author information can contain multiple groups, written as:
+
+\begin{code}
+ \author{(*\meta{author 1}*)}
+ \address{(*\meta{address 1}*)}
+ \email{(*\meta{email 1}*)}
+ \author{(*\meta{author 2}*)}
+ \address{(*\meta{address 2}*)}
+ \email{(*\meta{email 2}*)}
+ ...
+\end{code}
+
+Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
+
+
+\section{Known issues}
+
+\begin{itemize}[itemsep=.6em]
+ \item The font settings are still not perfect.
+ \item Since many features are based on the \ProjLib{} toolkit, \colorist{} inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+ \item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
+ \item There are still many things that can be optimized in the code.
+\end{itemize}
+
+\clearpage
+\section{Document templates}
+
+\subsection{The standard way}
+
+If you want to write in the standard way, you can refer to the following example:
+
+\begin{code}
+\documentclass{colorart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
+
+\UseLanguage{French} % Use French from here
+
+\begin{document}
+
+\title{Le Titre}
+\author{Auteur}
+\date{\PJLdate{2022-04-01}}
+
+\maketitle
+
+\begin{abstract}
+ Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+\begin{keyword}
+ AAA, BBB, CCC, DDD, EEE
+\end{keyword}
+
+\section{Un théorème}
+
+%% Theorem-like environments can be used directly
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
\end{theorem}
-When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}。
+Référence du théorème: \cref{thm:abc}
+ % It is recommended to use clever reference
+
+\end{document}
+\end{code}
+
+If you wish to switch to the standard class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{article}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
-\UseLanguage{English}
\clearpage
+\subsection{The \texorpdfstring{\AmS{}}{AMS} way}
-\section{Document templates}
+If you intend to switch to the journal template in the future and thus want to use the writing style as in the \AmS{} classes, you can refer to the following example:
-\begin{center}
-\begin{minipage}{0.4\textwidth}
\begin{code}
-%! TEX program = xelatex
-\documentclass{lebhartfast}
+\documentclass{colorart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
-\UseLanguage{French}
+\UseLanguage{French} % Use French from here
\begin{document}
-\title{Titre}
-\author{Nom}
-\date{03 / 2021, Lieu}
+\title{Le Titre}
+\author{Auteur 1}
+\address{Adresse 1}
+\email{\href{Courriel 1}{Courriel 1}}
+\author{Auteur 1}
+\address{Adresse 1}
+\email{\href{Courriel 2}{Courriel 2}}
+\date{\PJLdate{2022-04-01}}
+\subjclass{*****}
+\keywords{...}
+
+\begin{abstract}
+ Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
\maketitle
-%% Texte ici
+\section{Première section}
+
+%% Theorem-like environments can be used directly
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
+\end{theorem}
+
+Référence du théorème: \cref{thm:abc}
+ % It is recommended to use clever reference
\end{document}
\end{code}
-\end{minipage}
-\end{center}
-\bigskip
-(\lstinline|\UseLanguage| can be placed either in the preamble or in the body part, and can be used repeatedly as needed)
+In this way, if you wish to switch to \AmS{} class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{amsart}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
\end{document}
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 0aebdb922f..aaf8a32829 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -17,22 +17,28 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesPackage{colorist}
- [2021/03/15 A colorful style for articles and books]
-\RequirePackage{etoolbox}
+ [2021/05/24 A colorful style for articles and books]
\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
family = @colorist,
prefix = @colorist@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
-\DeclareBoolOption[false]{polyglossia}
+\DeclareBoolOption[false]{allowbf}
\ProcessKeyvalOptions*\relax
\if@colorist@draft
\@colorist@fasttrue
\fi
+\if@colorist@allowbf
+ \newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!90!paper}}
+\else
+ \newcommand{\conditionalbfseries}{}
+\fi
+
\newif\ifIsBook
\ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi
@@ -40,22 +46,23 @@
%% Title fonts
%%================================
\RequirePackage{anyfontsize}
-\newcommand{\partfont}{\sffamily}
-\newcommand{\chapfont}{\sffamily}
-\newcommand{\secfont}{\sffamily}
-\newcommand{\subsecfont}{}
-\newcommand{\subsubsecfont}{}
+\newcommand{\partfont}{\conditionalbfseries\sffamily}
+\newcommand{\chapfont}{\conditionalbfseries\sffamily}
+\newcommand{\secfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsecfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsubsecfont}{\conditionalbfseries\sffamily}
+
+%%================================
+%% Paper configuration
+%%================================
+\RequirePackage{PJLpaper}
%%================================
%% Color
%%================================
-\RequirePackage{xcolor}
-\definecolor{paper}{RGB}{255,255,255}
-\definecolor{skyblue}{RGB}{60,120,234}
-\definecolor{steelblue}{RGB}{70,130,180}
+\definecolor{maintheme}{RGB}{70,130,180}
\definecolor{forestgreen}{RGB}{21,122,81}
\definecolor{lightorange}{RGB}{255,185,88}
-\definecolor{lightskyblue}{RGB}{35,198,255}
%%================================
%% Footer
@@ -63,6 +70,7 @@
\RequirePackage{geometry}
\RequirePackage{fancyhdr}
\RequirePackage{extramarks}
+\AtEndPreamble{\fancyhfoffset{0pt}}
\fancypagestyle{fancy}{
\fancyhf{}
\if@twoside
@@ -109,8 +117,9 @@
%%================================
%% Line spacing
%%================================
-\RequirePackage{setspace}
-\setstretch{1.07}
+\RequirePackage{PJLlang}
+\PJLsetlinespacing{\setstretch{1.07}}
+\PJLsetCJKlinespacing{\onehalfspacing}
\raggedbottom
%%================================
@@ -120,12 +129,26 @@
\PassOptionsToPackage{normalem}{ulem}
\RequirePackage{ulem}
+\newcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}
+\gappto{\PJLlang@langconfig@common}{%
+\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
+}
+\gappto{\PJLlang@langconfig@chinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@tchinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@japanese}{%
+\renewcommand{\partstring}{第~\thepart~部}%
+}
+
\ifbool{IsBook}{
%% Part
\titleclass{\part}{top} % make part like a chapter
\titleformat{\part}[display]
{\partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
+ {\partstring}
{1em}
{\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
\titleformat{name=\part,numberless}[display]
@@ -148,28 +171,78 @@
}
%% Chapter
- \titleformat{\chapter}
- {\thispagestyle{fancy}%
- \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
- \fontsize{80}{0}\selectfont\raisebox{-7pt}{\thechapter}}}#1}
- \titleformat{name=\chapter,numberless}
- {\thispagestyle{fancy}% \phantomsection\addcontentsline{toc}{chapter}{#1}%
- \color{black!80!paper}\chapfont\fontsize{16}{0}\selectfont}{}{0em}
- {\rlap{\hspace*{-.5em}{\color{gray!25!paper}%
- \fontsize{80}{0}\selectfont\normalfont\raisebox{-7pt}{*}}}#1}
+ \newlength{\colorist@chapboxwidth}
+
+ \newcommand{\MakeChapBox}[2]{%
+ \settowidth{\colorist@chapboxwidth}{#1}
+ \begin{tcolorbox}[
+ enhanced,
+ skin = bicolor,
+ frame engine = path,
+ sharp corners = all,
+ width = 0.9\textwidth,
+ top = 4mm, bottom = 4mm,
+ sidebyside,
+ frame hidden,
+ boxrule = 0mm,
+ lefthand width = 1.5\colorist@chapboxwidth,
+ colupper = white,
+ colback = maintheme!80!paper,
+ colbacklower = maintheme!20!paper,
+ sidebyside align=center,
+ halign=center]
+ \Huge #1%
+ \tcblower%
+ #2%
+ \end{tcolorbox}%
+ }
+
+ \newcommand{\MakeChapBoxSingle}[1]{%
+ \begin{tcolorbox}[
+ enhanced,
+ width = 0.7\textwidth,
+ sharp corners = all,
+ top = 4mm, bottom = 4mm,
+ frame hidden,
+ boxrule = 0mm,
+ colback = maintheme!20!paper,
+ halign=center]
+ #1
+ \end{tcolorbox}
+ }
+
+ \titleformat{name=\chapter}
+ {\filright\chapfont\huge} % Format
+ {} % Label
+ {0mm} % Sep
+ {\MakeChapBox{\thechapter}{#1}} % Before-code
+ \titlespacing*{name=\chapter}
+ {0em}{*2}{0em} % {left}{before-sep}{after-sep}
+
+ \titleformat{name=\chapter, numberless}
+ {\filcenter\chapfont\huge} % Format
+ {} % Label
+ {0mm} % Sep
+ {\MakeChapBoxSingle{#1}} % Before-code
+ \titlespacing*{name=\chapter, numberless}
+ {0em}{*2}{0em} % {left}{before-sep}{after-sep}
%% Section
\titleformat{\section}
- {\secfont\large\color{steelblue}}
+ {\color{maintheme}\secfont\large}
{\thesection}{.75em}{#1}
- [{\titlerule[.75pt]}]
+ % [{\titlerule[.75pt]}]
+
+ %% Subsection
+ \titleformat{\subsection}
+ {\subsecfont}{\thesubsection}{.75em}
+ {#1}
}{
%% Part
\titleformat{\part}[display]
{%
\partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
+ {\partstring}
{.3em}
{\fontsize{16}{0}\selectfont\MakeUppercase{#1}}
\titleformat{name=\part,numberless}[display]
@@ -189,24 +262,24 @@
%% Section
\titleformat{\section}
- {\secfont\large\color{steelblue}}
+ {\color{maintheme}\secfont\large}
{\thesection}{.75em}{\scshape #1}
- [{\titlerule[.75pt]}]
-}
+ % [{\titlerule[.75pt]}]
-%% Subsection
-\titleformat{\subsection}
- {\subsecfont}{}{0em}
- {\textsf{\thesubsection}~~\textcolor{gray!55!paper}{$|$}~~#1}
-\titleformat{name=\subsection,numberless}
- {\subsecfont}{}{0em}
- {#1}
+ %% Subsection
+ \titleformat{\subsection}
+ {\subsecfont}{\thesubsection}{.75em}
+ {\scshape #1}
+}
%% Subsubsection
\titleformat{\subsubsection}
- {\subsubsecfont}{\sffamily\thesubsubsection}{.5em}
+ {\color{paper!30!-paper}\subsubsecfont}{\thesubsubsection}{.5em}
{#1}
-\titlespacing{\subsubsection}{0pt}{.8\baselineskip}{.5\baselineskip}
+
+\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
+\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.2\baselineskip}
%%================================
%% TOC format
@@ -214,7 +287,7 @@
\RequirePackage{titletoc}
\titlecontents{part}
[0em]
- {\addvspace{1.5pc}\filcenter\partfont}
+ {\addvspace{1.5pc}\filcenter\sffamily}
{\thecontentslabel\\\uppercase}
{}
{} % without page number
@@ -222,35 +295,35 @@
\ifbool{IsBook}{
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{.5pc}\chapfont}
+ {\addvspace{1pc}\normalfont\color{maintheme}\sffamily\conditionalbfseries}
{\contentslabel{2em}}
{\hspace*{-2em}}
- {\normalfont\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{section}
[4em] % i.e., 2em (chapter) + 2em
- {\secfont}
+ {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{subsection}
[7em] % i.e., 4em (section) + 3em
- {\subsecfont}
+ {\addvspace{.15pc}\normalfont\sffamily}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
}{
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
- {\secfont}
+ {\addvspace{.3pc}\normalfont\color{maintheme}\sffamily}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{maintheme}\contentspage}
\titlecontents{subsection}
[5em] % i.e., 2em (section) + 3em
- {\subsecfont}
+ {\addvspace{.15pc}\normalfont\sffamily}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
- {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\color{paper!55!-paper}\contentspage}
}
%%================================
@@ -259,6 +332,8 @@
\RequirePackage{enumitem}
\setlist{noitemsep,leftmargin=2em}
\renewcommand\labelitemi{\color{gray!50}$\bullet$}
+\renewcommand\labelitemii{\color{gray!55}--}
+\renewcommand\labelitemiii{\color{gray!55}\texttt{*}}
%%================================
%% Blank page
@@ -275,6 +350,11 @@
\null\newpage\fi\fi}
%%================================
+%% Draft mark
+%%================================
+\RequirePackage{PJLdraft}
+
+%%================================
%% Icons
%%================================
\RequirePackage{tikz}
@@ -317,7 +397,7 @@
{\normalfont}{}%
{\normalfont}{}%
{0pt}%
- {\thmname{\textsc{#1}}\thmnumber{ #2}\hspace{.4em}%
+ {\conditionalbfseries\thmname{#1}\thmnumber{ #2}\hspace{.4em}%
\textcolor{gray!55!paper}{$|$}\hspace{.4em}%
\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
\def\@endtheorem{\popQED\endtrivlist\@endpefalse }
@@ -328,127 +408,177 @@
\newtheoremstyle{basic}
{0pt}{0pt}{\normalfont}{0pt}
{}{\;}{0.25em}
- {\thmname{#1}~\thmnumber{\textup{#2}}
+ {{\thmname{#1}~\thmnumber{\textup{#2}}}
\thmnote{\normalfont\sffamily\color{black}~(#3)}}
\newtheoremstyle{emphasis}
{0pt}{0pt}{\itshape}{0pt}{}{}{0pt}
- {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.25em}}}
+ {\thmnote{\normalfont\sffamily\color{black}#3\hspace*{0.5em}}}
-\if@colorist@fast\else
+\if@colorist@fast
+ \providecommand{\phantomsection}{}
+ \RequirePackage{url}
+ \newcommand{\href}[2]{#2}
+\else
\PassOptionsToPackage{hidelinks,linktoc=all}{hyperref}
\RequirePackage{bookmark}
\RequirePackage{hyperref}
\fi
-\RequirePackage{aliascnt}
-\PassOptionsToPackage{nameinlink}{cleveref}
-\RequirePackage{cleveref}
-
-\newcommand\englishABBR{EN}
-\newcommand\frenchABBR{FR}
-\newcommand\chineseABBR{CN}
-
-\RequirePackage{xstring}
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
- \begingroup
- \protected@edef\temp{#2}%
- \expandafter\IfEndWith\expandafter{\temp}{*}{%
- \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]%
- \PassFirstToSecond{*}%
- }{%
- \PassFirstToSecond{}%
- }%
- {\expandafter\PassFirstToSecond%
- \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}%
-}%
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>}{%
- \IfBooleanTF{#1}{%
- \IfValueTF{#4}
- {\@firstoftwo}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
- }{%
- \IfValueTF{#4}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
- \@secondoftwo}
- }%
- {%
- \GenericError{}%
- {\string\CreateTheorem\space syntax error\on@line}{%
- You cannot call the starred variant with optional argument,\MessageBreak
- nor call the unstarred variant with several optional arguments.}%
- {}%
- }{%
- \IfBooleanTF{#1}{%
- \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}
- \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}
- \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}
- }{%
- \IfValueTF{#5}{%
- \newcounter{#2#3}[{#5}]%
- \expandafter\renewcommand\expandafter*%
- \csname the#2#3\expandafter\endcsname%
- \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
- }{%
- \IfValueTF{#4}
- {\newaliascnt{#2#3}{#4}}
- {\newcounter{#2#3}}%
- }%
- %-------------------------------------------------------------------
- \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}%
- %-------------------------------------------------------------------
- }%
- \NewDocumentEnvironment{#2#3}{}
- {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
- {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
- }%
-}%
-\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
- \newaliascnt{#1#2#3}{#1#3}%
- \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
- \aliascntresetthe{#1#2#3}%
- \crefname{#1#2#3}%
- {\csname#1name#2\endcsname}%
- {\csname#1name#2\endcsname}%
-}%
-
-%% English theorems names
-\def\theoremnameEN{\sffamily\color{orange}\textsc{Theorem}}
-\def\lemmanameEN{\sffamily\color{orange}\textsc{Lemma}}
-\def\propositionnameEN{\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameEN{\sffamily\color{orange}\textsc{Corollary}}
-\def\factnameEN{\sffamily\color{black}\textsc{Fact}}
-\def\conjecturenameEN{\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameEN{\sffamily\color{forestgreen}\textsc{Definition}}
-\def\examplenameEN{\sffamily\color{black}\textsc{Example}}
-\def\problemnameEN{\sffamily\color{black}\textsc{Problem}}
-\def\remarknameEN{\sffamily\color{black}\textsc{Remark}}
-
-%% French theorems names
-\def\theoremnameFR{\sffamily\color{orange}\textsc{Théorème}}
-\def\lemmanameFR{\sffamily\color{orange}\textsc{Lemme}}
-\def\propositionnameFR{\sffamily\color{orange}\textsc{Proposition}}
-\def\corollarynameFR{\sffamily\color{orange}\textsc{Corollaire}}
-\def\factnameFR{\sffamily\color{black}\textsc{Fait}}
-\def\conjecturenameFR{\sffamily\color{purple}\textsc{Conjecture}}
-\def\definitionnameFR{\sffamily\color{forestgreen}\textsc{Définition}}
-\def\examplenameFR{\sffamily\color{black}\textsc{Exemple}}
-\def\problemnameFR{\sffamily\color{black}\textsc{Problème}}
-\def\remarknameFR{\sffamily\color{black}\textsc{Remarque}}
-
-%% Chinese theorems names
-\def\theoremnameCN{\sffamily\color{orange}定理}
-\def\lemmanameCN{\sffamily\color{orange}引理}
-\def\propositionnameCN{\sffamily\color{orange}命题}
-\def\corollarynameCN{\sffamily\color{orange}推论}
-\def\factnameCN{\sffamily\color{black}事实}
-\def\conjecturenameCN{\sffamily\color{purple}猜想}
-\def\definitionnameCN{\sffamily\color{forestgreen}定义}
-\def\examplenameCN{\sffamily\color{black}例}
-\def\problemnameCN{\sffamily\color{black}问题}
-\def\remarknameCN{\sffamily\color{black}备注}
+
+\RequirePackage[nothms]{PJLthm}
+
+%% Redefine English theorems names
+\def\theoremnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Theorem}}
+\def\lemmanameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
+\def\propositionnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollary}}
+\def\propertynameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Property}}
+\def\factnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fact}}
+\def\conjecturenameEN{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
+\def\definitionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
+\def\axiomnameEN{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
+\def\assumptionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Assumption}}
+\def\conventionnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
+\def\hypothesisnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothesis}}
+\def\notationnameEN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Example}}
+\def\problemnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
+\def\questionnameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
+\def\exercisenameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercise}}
+\def\remarknameEN{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remark}}
+\expandafter\def\csname definition-propositionnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameEN}
+\expandafter\def\csname definition-theoremnameEN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameEN}
+
+%% Redefine French theorems names
+\def\theoremnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Théorème}}
+\def\lemmanameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemme}}
+\def\propositionnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Corollaire}}
+\def\propertynameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Propriété}}
+\def\factnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fait}}
+\def\conjecturenameFR{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Conjecture}}
+\def\definitionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Définition}}
+\def\axiomnameFR{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiome}}
+\def\assumptionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Supposition}}
+\def\conventionnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Convention}}
+\def\hypothesisnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothèse}}
+\def\notationnameFR{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exemple}}
+\def\problemnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problème}}
+\def\questionnameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Question}}
+\def\exercisenameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Exercice}}
+\def\remarknameFR{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Remarque}}
+\expandafter\def\csname definition-propositionnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\propositionnameFR}
+\expandafter\def\csname definition-theoremnameFR\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Définition}-\theoremnameFR}
+
+%% Redefine German theorems names
+\def\theoremnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Satz}}
+\def\lemmanameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Lemma}}
+\def\propositionnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Proposition}}
+\def\corollarynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Korollar}}
+\def\propertynameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Eigenschaft}}
+\def\factnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Fakt}}
+\def\conjecturenameDE{\normalfont\sffamily\color{purple}\conditionalbfseries\textsc{Vermutung}}
+\def\definitionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Definition}}
+\def\axiomnameDE{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Axiom}}
+\def\assumptionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Annahme}}
+\def\conventionnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Konvention}}
+\def\hypothesisnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Hypothese}}
+\def\notationnameDE{\normalfont\sffamily\color{forestgreen}\conditionalbfseries\textsc{Notation}}
+\def\examplenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Beispiel}}
+\def\problemnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Problem}}
+\def\questionnameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Frage}}
+\def\exercisenameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Übung}}
+\def\remarknameDE{\normalfont\sffamily\color{black}\conditionalbfseries\textsc{Bemerkung}}
+\expandafter\def\csname definition-propositionnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\propositionnameDE}
+\expandafter\def\csname definition-theoremnameDE\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries\textsc{Definition}-\theoremnameDE}
+
+%% Redefine Chinese theorems names
+\def\theoremnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
+\def\propositionnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 命题}
+\def\corollarynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 推论}
+\def\propertynameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 性质}
+\def\factnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 事实}
+\def\conjecturenameCN{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
+\def\definitionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定义}
+\def\axiomnameCN{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
+\def\conventionnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 约定}
+\def\hypothesisnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假设}
+\def\notationnameCN{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 记号}
+\def\examplenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
+\def\questionnameCN{\normalfont\sffamily\color{black}\conditionalbfseries 问题}
+\def\exercisenameCN{\normalfont\sffamily\color{black}\conditionalbfseries 练习}
+\def\remarknameCN{\normalfont\sffamily\color{black}\conditionalbfseries 备注}
+\expandafter\def\csname definition-propositionnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\propositionnameCN}
+\expandafter\def\csname definition-theoremnameCN\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定义-\theoremnameCN}
+
+\def\theoremnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 引理}
+\def\propositionnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
+\def\corollarynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 推論}
+\def\propertynameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
+\def\factnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 事實}
+\def\conjecturenameTC{\normalfont\sffamily\color{purple}\conditionalbfseries 猜想}
+\def\definitionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
+\def\axiomnameTC{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
+\def\conventionnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 約定}
+\def\hypothesisnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 假設}
+\def\notationnameTC{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記號}
+\def\examplenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\questionnameTC{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\exercisenameTC{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
+\def\remarknameTC{\normalfont\sffamily\color{black}\conditionalbfseries 備註}
+\expandafter\def\csname definition-propositionnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameTC}
+\expandafter\def\csname definition-theoremnameTC\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameTC}
+
+%% Redefine Japanese theorems names
+\def\theoremnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 定理}
+\def\lemmanameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 補題}
+\def\propositionnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 命題}
+\def\corollarynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 系}
+\def\propertynameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 性質}
+\def\factnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 事実}
+\def\conjecturenameJP{\normalfont\sffamily\color{purple}\conditionalbfseries 予想}
+\def\definitionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 定義}
+\def\axiomnameJP{\normalfont\sffamily\color{orange}\conditionalbfseries 公理}
+\def\assumptionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮定}
+\def\conventionnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 慣例}
+\def\hypothesisnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 仮設}
+\def\notationnameJP{\normalfont\sffamily\color{forestgreen}\conditionalbfseries 記法}
+\def\examplenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 例}
+\def\problemnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\questionnameJP{\normalfont\sffamily\color{black}\conditionalbfseries 問題}
+\def\exercisenameJP{\normalfont\sffamily\color{black}\conditionalbfseries 練習}
+\def\remarknameJP{\normalfont\sffamily\color{black}\conditionalbfseries 注釈}
+\expandafter\def\csname definition-propositionnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\propositionnameJP}
+\expandafter\def\csname definition-theoremnameJP\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries 定義-\theoremnameJP}
+
+%% Redefine Russian theorems names
+\def\theoremnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Теорема}
+\def\lemmanameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Лемма}
+\def\propositionnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Предложение}
+\def\corollarynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Следствие}
+\def\propertynameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Имущество}
+\def\factnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Факт}
+\def\conjecturenameRU{\normalfont\sffamily\color{purple}\conditionalbfseries Гипотеза}
+\def\definitionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Определение}
+\def\axiomnameRU{\normalfont\sffamily\color{orange}\conditionalbfseries Аксиома}
+\def\assumptionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Предположение}
+\def\conventionnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Конвенция}
+\def\hypothesisnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Гипотеза}
+\def\notationnameRU{\normalfont\sffamily\color{forestgreen}\conditionalbfseries Нотация}
+\def\examplenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Пример}
+\def\problemnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Проблема}
+\def\questionnameRU{\normalfont\sffamily\color{black}\conditionalbfseries Вопрос}
+\def\exercisenameRU{\normalfont\sffamily\color{black}\conditionalbfseries Упражнение}
+\def\remarknameRU{\normalfont\sffamily\color{black}\conditionalbfseries Замечание}
+\expandafter\def\csname definition-propositionnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\propositionnameRU}
+\expandafter\def\csname definition-theoremnameRU\endcsname{\normalfont\sffamily\color{orange}\conditionalbfseries Определение-\theoremnameRU}
%% Theorem environments
\theoremstyle{basic}
@@ -461,29 +591,222 @@
\CreateTheorem{lemma}[theorem]
\CreateTheorem{proposition}[theorem]
\CreateTheorem{corollary}[theorem]
+\CreateTheorem{definition-proposition}[theorem]
+\CreateTheorem{definition-theorem}[theorem]
+\CreateTheorem{property}[theorem]
\CreateTheorem{fact}[theorem]
-\CreateTheorem{conjecture}<highest>
+\CreateTheorem{conjecture}[theorem]
\CreateTheorem*{theorem*}
\CreateTheorem*{lemma*}
\CreateTheorem*{proposition*}
\CreateTheorem*{corollary*}
+\CreateTheorem*{definition-proposition*}
+\CreateTheorem*{definition-theorem*}
+\CreateTheorem*{property*}
\CreateTheorem*{fact*}
\CreateTheorem*{conjecture*}
\CreateTheorem{definition}[theorem]
-\CreateTheorem{example}<highest>
-\CreateTheorem{problem}<highest>
+\CreateTheorem{axiom}[theorem]
+\CreateTheorem{assumption}[theorem]
+\CreateTheorem{convention}[theorem]
+\CreateTheorem{hypothesis}[theorem]
+\CreateTheorem{notation}[theorem]
+\CreateTheorem{example}[theorem]
+\CreateTheorem{problem}[theorem]
+\CreateTheorem{question}[theorem]
+\CreateTheorem{exercise}[theorem]
\CreateTheorem*{definition*}
+\CreateTheorem*{axiom*}
+\CreateTheorem*{assumption*}
+\CreateTheorem*{convention*}
+\CreateTheorem*{hypothesis*}
+\CreateTheorem*{notation*}
\CreateTheorem*{example*}
\CreateTheorem*{problem*}
+\CreateTheorem*{question*}
+\CreateTheorem*{exercise*}
\theoremstyle{emphasis}
\CreateTheorem{remark}<highest>
\CreateTheorem*{remark*}
+\numberwithin{equation}{highest}
+
+%% Cref label format
+\creflabelformat{theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureEN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationEN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseEN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionEN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureFR}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationFR}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseFR}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionFR}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureDE}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationDE}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseDE}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionDE}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureCN}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationCN}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseCN}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionCN}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureTC}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationTC}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseTC}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionTC}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureJP}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationJP}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseJP}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionJP}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+\creflabelformat{theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{lemmaRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{corollaryRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{propertyRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{factRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{conjectureRU}{#2{\normalfont\sffamily\color{purple}\conditionalbfseries#1}#3}
+\creflabelformat{definitionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{axiomRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{assumptionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{conventionRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{hypothesisRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{notationRU}{#2{\normalfont\sffamily\color{forestgreen}\conditionalbfseries#1}#3}
+\creflabelformat{exampleRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{problemRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{questionRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{exerciseRU}{#2{\normalfont\sffamily\color{black}\conditionalbfseries#1}#3}
+\creflabelformat{definition-theoremRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+\creflabelformat{definition-propositionRU}{#2{\normalfont\sffamily\color{orange}\conditionalbfseries#1}#3}
+
+%% Icons on the margin
\RequirePackage{marginnote}
+\RequirePackage{ifoddpage}
\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}}
-\apptocmd{\remark}{\reversemarginpar\mparadjust{-.25em}\marginnote{\ideabulb[0.3]{orange}\hspace*{-.5em}}\normalmarginpar}{}{\FAIL}
-\apptocmd{\conjecture}{\reversemarginpar\mparadjust{-.25em}\marginnote{\questionmark[0.3]{purple}\hspace*{-.5em}}\normalmarginpar}{}{\FAIL}
+\pretocmd{\remark}{%
+ \if@twoside\checkoddpage%
+ \ifoddpage\reversemarginpar\fi%
+ \else%
+ \reversemarginpar%
+ \fi%
+ \mparadjust{-.25em}%
+ \marginnote{\ideabulb[0.3]{orange}%
+ \ifIsBook%
+ \hspace*{-.2em}%
+ \else%
+ \hspace*{-.5em}%
+ \fi%
+ }\normalmarginpar%
+}{}{\FAIL}
+\pretocmd{\conjecture}{%
+ \if@twoside\checkoddpage%
+ \ifoddpage\reversemarginpar\fi%
+ \else%
+ \reversemarginpar%
+ \fi%
+ \mparadjust{-.25em}%
+ \marginnote{\questionmark[0.3]{purple}%
+ \ifIsBook%
+ \hspace*{-.2em}%
+ \else%
+ \hspace*{-.5em}%
+ \fi%
+ }\normalmarginpar%
+}{}{\FAIL}
\RequirePackage{iftex}
\ifXeTeX
@@ -519,15 +842,20 @@
\theoremstyle{simple}% as the default style for user-defined environments
-\let\proof\relax
-\let\endproof\relax
-\def\proofnameCN{\proofname}
-\def\proofnameEN{\proofname}
-\def\proofnameFR{\proofname}
-\CreateTheorem*{proof}
+\renewenvironment{proof}[1][\proofname]{\par
+ \pushQED{\qed}%
+ \normalfont \topsep6\p@\@plus6\p@\relax
+ \trivlist
+ \item[\hskip\labelsep
+ \itshape
+ #1\hspace{.4em}%
+ \textcolor{gray!55!paper}{$|$}]\ignorespaces
+}{%
+ \popQED\endtrivlist\@endpefalse
+}
\RequirePackage[many]{tcolorbox}
-\if@colorclass@fast
+\if@colorist@fast
\tcbstartdraftmode
\fi
\tcolorboxenvironment{theorem}
@@ -562,6 +890,38 @@
{enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
left=3.5mm,right=3.5mm,
opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{property}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{property*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{axiom}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{axiom*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-proposition}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-proposition*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-theorem}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
+\tcolorboxenvironment{definition-theorem*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,colback=black!3!paper,
+ left=3.5mm,right=3.5mm,
+ opacityframe=0.9,colframe=orange,arc=.7mm}
\tcolorboxenvironment{fact}
{enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
@@ -589,13 +949,53 @@
left=4mm,right=4mm,top=1mm,bottom=1mm,
colback=lightorange!10!paper,boxrule=0pt,frame hidden,
borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{assumption}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{assumption*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{convention}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{convention*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{hypothesis}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{hypothesis*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{notation}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
+\tcolorboxenvironment{notation*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,
+ left=4mm,right=4mm,top=1mm,bottom=1mm,
+ colback=lightorange!10!paper,boxrule=0pt,frame hidden,
+ borderline west={1.5mm}{-1mm}{forestgreen},arc=.7mm}
\tcolorboxenvironment{example}
{enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden,arc=.7mm}
+ boxrule=0pt,frame hidden,arc=.7mm,lines before break=3}
\tcolorboxenvironment{example*}
{enhanced jigsaw,pad at break*=1mm,breakable,colback=gray!10!paper,
- boxrule=0pt,frame hidden,arc=.7mm}
+ boxrule=0pt,frame hidden,arc=.7mm,lines before break=3}
\tcolorboxenvironment{problem}
{enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
@@ -604,6 +1004,13 @@
{enhanced jigsaw,pad at break*=1mm,breakable,colback=yellow!25!paper,
boxrule=0pt,frame hidden,arc=.7mm}
+\tcolorboxenvironment{remark}
+ {enhanced jigsaw,pad at break*=1mm,breakable,oversize,
+ opacityframe=0,opacityback=0,lines before break=3}
+\tcolorboxenvironment{remark*}
+ {enhanced jigsaw,pad at break*=1mm,breakable,oversize,
+ opacityframe=0,opacityback=0,lines before break=3}
+
\ExplSyntaxOn
\NewDocumentCommand \AfterEnvEnd { +m }
{ \colorist_after_env_end:nw {#1} }
@@ -665,88 +1072,63 @@
{\ScanEnv*{definition*}%
{\vspace{-1.05\baselineskip}}%
{}}}}
-
\AddToHook{env/definition/end}{\scandefinitionenv}%
\AddToHook{env/definition*/end}{\scandefinitionenv}%
-%%================================
-%% Language configuration
-%%================================
-\if@colorist@polyglossia
- \RequirePackage{polyglossia}
- \setdefaultlanguage{english}
- \setotherlanguage[frenchpart=false]{french}
-\else
- \PassOptionsToPackage{french,english}{babel}
- \RequirePackage{babel}
- \frenchsetup{PartNameFull=false}
-\fi
-\newcommand{\colorist@langconfig@chinese}{%
- \def\abstractname{摘要}%
- \def\proofname{证明}%
- \def\contentsname{目录}%
- \def\listfigurename{插图}%
- \def\listtablename{表格}%
- \def\figurename{图}%
- \def\tablename{表}%
- \def\indexname{索引}%
- \def\appendixname{附录}%
- \def\bibname{参考文献}%
- \renewcommand{\languagename}{chinese}%
-}
-\newcommand{\colorist@langconfig@english}{%
- \selectlanguage{english}%
-}
-\newcommand{\colorist@langconfig@french}{%
- \selectlanguage{french}%
- \def\frenchpartname{Partie}%
-}
-\newcommand{\UseLanguageCORE}[1]{%
- \ifstrequal{#1}{chinese}{\onehalfspacing\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\onehalfspacing\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{english}{\setstretch{1.07}\colorist@langconfig@english}{}%
- \ifstrequal{#1}{English}{\setstretch{1.07}\colorist@langconfig@english}{}%
- \ifstrequal{#1}{french}{\setstretch{1.07}\colorist@langconfig@french}{}%
- \ifstrequal{#1}{French}{\setstretch{1.07}\colorist@langconfig@french}{}%
-}
-\newcommand{\UseLanguage}[1]{%
- \ifx\@onlypreamble\@notprerr%
- \UseLanguageCORE{#1}%
- \else%
- \AfterEndPreamble{\UseLanguageCORE{#1}}%
- \fi%
-}
-\newcommand{\UseOtherLanguage}[2]{%
-\begingroup%
- \ifstrequal{#1}{chinese}{\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\colorist@langconfig@chinese}{}%
- \ifstrequal{#1}{english}{\colorist@langconfig@english}{}%
- \ifstrequal{#1}{English}{\colorist@langconfig@english}{}%
- \ifstrequal{#1}{french}{\colorist@langconfig@french}{}%
- \ifstrequal{#1}{French}{\colorist@langconfig@french}{}%
- #2%
-\endgroup%
-}
+\def\scanassumptionenv{%
+ \AfterEnvEnd{%
+ \ScanEnv*{assumption}%
+ {\vspace{-1.05\baselineskip}}%
+ {\ScanEnv*{assumption*}%
+ {\vspace{-1.05\baselineskip}}%
+ {}}}}
+\AddToHook{env/assumption/end}{\scanassumptionenv}%
+\AddToHook{env/assumption*/end}{\scanassumptionenv}%
-\ifbool{IsBook}{}{
+\def\scanconventionenv{%
+ \AfterEnvEnd{%
+ \ScanEnv*{convention}%
+ {\vspace{-1.05\baselineskip}}%
+ {\ScanEnv*{convention*}%
+ {\vspace{-1.05\baselineskip}}%
+ {}}}}
+\AddToHook{env/convention/end}{\scanconventionenv}%
+\AddToHook{env/convention*/end}{\scanconventionenv}%
+
+\def\scanhypothesisenv{%
+ \AfterEnvEnd{%
+ \ScanEnv*{hypothesis}%
+ {\vspace{-1.05\baselineskip}}%
+ {\ScanEnv*{hypothesis*}%
+ {\vspace{-1.05\baselineskip}}%
+ {}}}}
+\AddToHook{env/hypothesis/end}{\scanhypothesisenv}%
+\AddToHook{env/hypothesis*/end}{\scanhypothesisenv}%
+
+\def\scannotationenv{%
+ \AfterEnvEnd{%
+ \ScanEnv*{notation}%
+ {\vspace{-1.05\baselineskip}}%
+ {\ScanEnv*{notation*}%
+ {\vspace{-1.05\baselineskip}}%
+ {}}}}
+\AddToHook{env/notation/end}{\scannotationenv}%
+\AddToHook{env/notation*/end}{\scannotationenv}%
+
+\ifbool{IsBook}{}{%
%%================================
%% Title block style
%%================================
\renewcommand{\@maketitle}{%
- \noindent%
- {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}}%
- \vspace{-\parskip}%
- \begin{center}%
- {\large\@title}\\\medskip%
- \color{black!80!paper}%
- {\scshape\@author}\\\smallskip%
- {\@date}%
- \end{center}%
- \vspace{-\parskip}%
- \vspace{-.5\baselineskip}%
- {\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}\par}%
- \medskip%
+\begin{center}%
+ \color{maintheme}%
+ {\Large\sffamily\scshape\conditionalbfseries\@title}\\\bigskip%
+ \color{black!80!paper}%
+ {\scshape\@author}\\\smallskip%
+ {\@date}%
+\end{center}%
+\medskip%
}
\apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL}
@@ -754,10 +1136,31 @@
%% Abstract style
%%================================
\renewenvironment{abstract}
-{\small\centerline{\textsc{\abstractname}\vspace{-0.3\baselineskip}}
+{\small{\centerline{\textsc{\conditionalbfseries\abstractname}}\vspace{-0.3\baselineskip}}
\color{black!80!paper}\begin{quotation}}
{\end{quotation}\medskip}
+%%================================
+%% Keyword
+%%================================
+\def\keywordnameEN{\textsc{Keywords}}
+\def\keywordnameFR{\textsc{Mots clés}}
+\def\keywordnameDE{\textsc{Schlüsselwörter}}
+\def\keywordnameCN{关键词}
+\def\keywordnameTC{關鍵詞}
+\def\keywordnameJP{キーワード}
+\def\keywordnameRU{Ключевые слова}
+
+\newenvironment{keyword}
+{\small{\centerline{{\conditionalbfseries\csname keywordname\csname\languagename ABBR\endcsname\endcsname}}\vspace{-0.3\baselineskip}}
+ \color{black!80!paper}\begin{center}}
+{\end{center}\medskip}
+
+%%================================
+%% Simulate features of amsart
+%%================================
+\RequirePackage{PJLamssim}
+
}
\endinput
diff --git a/macros/latex/contrib/minimalist/README.md b/macros/latex/contrib/minimalist/README.md
index 084e34972f..05a62e0477 100644
--- a/macros/latex/contrib/minimalist/README.md
+++ b/macros/latex/contrib/minimalist/README.md
@@ -2,27 +2,28 @@
# `minimalist` bundle: write you documents in a simple and clear way
-This is collection of styles and classes for typesetting articles and books in a
-simple and clear design. It mainly consists of two parts.
+A collection of styles and classes that helps you typesetting articles and books
+with a simple and clear design. It mainly consists of two parts.
- Main part:
- - minimalist.sty : the main style
- - minimart.cls : class for typesetting articles
- - minimbook.cls : class for typesetting books
+ - `minimalist.sty` : the main style
+ - `minimart.cls` : class for typesetting articles
+ - `minimbook.cls` : class for typesetting books
- They can be used with any LaTeX engine. Currently they have native support
- to English and French typesetting. (I have planed to add more language
- support)
+ They can be used with any major TeX engine. Currently they have native
+ support to English, French and German typesetting (more language to be
+ added).
- Derivative part (they have separate pages on CTAN):
- - einfart.cls : more advanced class for typesetting articles
- - simplivre.cls : more advanced class for typesetting books
+ - `einfart.cls` : more advanced class for typesetting articles
+ - `simplivre.cls` : more advanced class for typesetting books
They are similar to the main classes, but have unicode support, thus can
only be used with either XeLaTeX or LuaLaTeX. Currently they have native
- support to English, French and Chinese typesetting, and also use more
- beautiful fonts. (I have planed to add more language support)
+ support to Chinese (both simplified and traditional), English, French,
+ German, Japanese and Russian typesetting (more language to be added), and
+ also use more beautiful fonts.
# License
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index ac42223ffa..c89d0a2595 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index c6c5cf1b2f..0b1b537bc8 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -1,24 +1,26 @@
%! TEX program = xelatex
-\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass{minimart}
\linenumbers % Enable line numbers
%%================================
-%% TeX logo and URL
+%% Import toolkit
%%================================
-\usepackage{hologo}
-\usepackage{url}
+\usepackage{PJLtoolkit}
+\usepackage{longtable} % breakable tables
+\usepackage{hologo} % more TeX logo
%%================================
%% For typestting code
%%================================
\usepackage{listings}
+\definecolor{maintheme}{RGB}{70,130,180}
+\definecolor{forestgreen}{RGB}{21,122,81}
\definecolor{lightergray}{gray}{0.99}
\lstset{language=[LaTeX]TeX,
- keywordstyle=\color{RoyalBlue},
+ keywordstyle=\color{maintheme},
basicstyle=\ttfamily,
- commentstyle=\color{ForestGreen}\ttfamily,
+ commentstyle=\color{forestgreen}\ttfamily,
stringstyle=\rmfamily,
showstringspaces=false,
breaklines=true,
@@ -31,9 +33,9 @@
firstnumber=last,
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{morekeywords=%
- {CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,
- linenumbers,nolinenumbers,subsection,maketitle
+\lstset{moretexcs=%
+ {linenumbers,nolinenumbers,subsection,
+ color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -42,6 +44,31 @@
}
{\ResumeLineNumbers}
+%%================================
+%% remind
+%%================================
+\usepackage[many]{tcolorbox}
+\newenvironment{remind}[1][Remind]{%
+ \LocallyStopLineNumbers%
+ \begin{tcolorbox}[breakable,
+ enhanced,
+ width = \textwidth,
+ colback = white, colbacktitle = paper,
+ colframe = gray!50, boxrule=0.2mm,
+ coltitle = black,
+ fonttitle = \sffamily,
+ attach boxed title to top left = {yshift=-\tcboxedtitleheight/2, xshift=\tcboxedtitlewidth/4},
+ boxed title style = {boxrule=0pt, colframe=paper},
+ before skip = 0.3cm,
+ after skip = 0.3cm,
+ top = 3mm,
+ bottom = 3mm,
+ title={\sffamily #1}]%
+}{\end{tcolorbox}\ResumeLineNumbers}
+
+%%================================
+%% Names
+%%================================
\providecommand{\minimalist}{\textsf{minimalist}}
\providecommand{\minimart}{\textsf{minimart}}
\providecommand{\minimbook}{\textsf{minimbook}}
@@ -53,117 +80,306 @@
%%================================
\begin{document}
-\title{\minimalist{}, write your articles or books in a simple and clear way\thanks{Corresponding to: \texttt{\minimalist{} 2021/03/15}}}
-\author{Jinwen}
-\date{March 2021, Beijing}
+\title{\minimalist{}, write your articles or books in a simple and clear way}
+\author{Jinwen XU}
+\thanks{Corresponding to: \texttt{\minimalist{} 2021/05/23}}
+\date{May 2021, Beijing}
\maketitle
\begin{abstract}
- \minimalist{} is series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple but not shabby.
+ \minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple yet not shabby.
- The entire collection includes \verb|minimalist.sty|, which is the main style shared by all the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They can be used with all LaTeX engines, with native support to English and French typesetting via \lstinline|\UseLanguage|, see the instruction below for detail.
+ The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French and German typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
- You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
+ You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
This documentation is typeset using \minimart{}. You can think of it as a short introduction and demonstration.
\end{abstract}
\tableofcontents
-\section{How to load it}
+
+\bigskip
+\begin{remind}
+ Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
+\end{remind}
+
+\clearpage
+\section{Initialization}
+
+\subsection{How to load it}
You can directly use \minimart{} or \minimbook{} as your document class. In this way, you can directly begin writing your document, without having to worry about the configurations.
\begin{code}
\documentclass{minimart} (*{\normalfont or}*) \documentclass{minimbook}
\end{code}
-And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article (except for draft marks) are provided.
+And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided.
+
\begin{code}
\usepackage{minimalist}
\end{code}
-\subsection{A useful switch: the option \textsf{fast} or \textsf{draft}}
-You can use the option \verb|fast| or \verb|draft| to typeset in a fast but slightly rough manner. The main differences are:
+\subsection{Options}
+
+\minimalist{} offers the following options:
+
\begin{itemize}
- \item Do not use hyperref;
- \item Do not use tikz (and thus tcolorbox);
+ \item \texttt{draft} or \texttt{fast}
+ \begin{itemize}
+ \item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
+ \begin{itemize}
+ \item Use simpler math font configuration;
+ \item Do not use hyperref;
+ \item Enable the fast mode of \ProjLib{} toolkit.
+ \end{itemize}
+ \end{itemize}
+ \item \texttt{allowbf}
+ \begin{itemize}
+ \item Allow boldface. When this option is enabled, the title, titles of all levels and names of theorem-like environments will be bolded.
+ \end{itemize}
+ \item \texttt{classical}
+ \begin{itemize}
+ \item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
+ \end{itemize}
\end{itemize}
-During the writing stage of your document, it is recommended to use the \verb|fast| option to speed up compilation and improve the smoothness of your writing experience. At the end, you can remove the ``fast'' mark to get the final version.
+\begin{remind}
+ \begin{itemize}
+ \item During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. At the end, one should remove the ``fast'' option to get the final version. When in \verb|fast| mode, there will be a watermark "DRAFT" to indicate that you are currently in the draft mode.
+ \item \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
+ \end{itemize}
+\end{remind}
+
+\bigskip
+Additionally, \minimart{} and \minimbook{} offers the following options:
+\begin{itemize}
+ \item \texttt{a4paper} or \texttt{b5paper}
+ \begin{itemize}
+ \item Optional paper size. The default paper size is 7in $\times$ 10in.
+ \end{itemize}
+\end{itemize}
+
+% \section{On the fonts}
+% By default, \minimart{} and \minimbook{} uses Palatino Linotype as the English font, FounderType's YouSong and YouHei GBK as the Chinese fonts, and partially uses Neo Euler as the math font. Among them, Neo Euler can be downloaded at \url{https://github.com/khaledhosny/euler-otf}. The other fonts are not free, you need to purchase and use them on your own. (For the Chinese fonts, visit FounderType's website for detail: \url{https://www.foundertype.com} ).
+
+% % \begin{itemize}
+% % \item English main font. \textsf{English sans serif font}.
+% % \item 中文主要字体, \textsf{中文无衬线字体}
+% % \item Math demonstration: \( \alpha, \beta, \gamma, \delta, 1,2,3,4, a,b,c,d \), \[\mathrm{li}(x)\coloneqq \int_2^{\infty} \frac{1}{\log t}\,\mathrm{d}t \]
+% % \end{itemize}
+
+% When the corresponding font is not installed, fonts that comes with TeX Live will be used instead. In this case, the experience might be reduced.
\section{Some instructions}
-There is no indentation at the beginning of each paragraph, but there will be a half-line space between each two paragraphs. like this ---
+Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
+
+\subsection{Language configuration}
+
+\minimart{} has multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian. The language can be selected by the following macros:
+
+\begin{itemize}
+ \item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
+ \item \lstinline|\UseOtherLanguage{|\meta{language name}\lstinline|}{|\meta{content}\lstinline|}|, which uses the specified language settings to typeset \meta{content}. Compared with \lstinline|\UseLanguage|, it will not modify the line spacing, so line spacing would remain stable when CJK and Western texts are mixed.
+\end{itemize}
+
+\meta{language name} can be:
+\begin{itemize}
+ \item Simplified Chinese: \texttt{Chinese}, \texttt{chinese}, \texttt{SChinese}, \texttt{schinese}, \texttt{SimplifiedChinese} or \texttt{simplifiedchinese}
+ \item Traditional Chinese: \texttt{TChinese}, \texttt{tchinese}, \texttt{TraditionalChinese} or \texttt{traditionalchinese}
+ \item English: \texttt{English} or \texttt{english}
+ \item French: \texttt{French} or \texttt{french}
+ \item German: \texttt{German}, \texttt{german} or \texttt{ngerman}
+ \item Japanese: \texttt{Japanese} or \texttt{japanese}
+ \item Russian: \texttt{Russian} or \texttt{russian}
+\end{itemize}
+
+\medskip
+In addition, you can also add new settings to selected language:
+\begin{itemize}
+ \item \lstinline|\AddLanguageSetting{|\meta{settings}\lstinline|}|
+ \begin{itemize}
+ \item Add \meta{settings} to all supported languages.
+ \end{itemize}
+ \item \lstinline|\AddLanguageSetting(|\meta{language name}\lstinline|){|\meta{settings}\lstinline|}|
+ \begin{itemize}
+ \item Add \meta{settings} to the selected language \meta{language name}.
+ \end{itemize}
+\end{itemize}
+For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
-Here is the next paragraph.
\subsection{Theorems and how to reference them}
-Environments such as definitions and theorems have been pre-defined and can be used directly, for example:
+Environments such as definitions and theorems have been pre-defined and can be used directly.
+
+More specifically, preset environments include:
+\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language.
+
+When referencing a theorem-like environment, it is recommended to use clever reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
+
+\begin{remind}[Example]
\begin{code}
\begin{definition}[Strange things] \label{def: strange} ...
\end{code}
+
will produce
\begin{definition}[Strange things]\label{def: strange}
- This is the definition of some strange objects.
+ This is the definition of some strange objects. There is approximately an one-line space before and after the theorem environment, and there will be a symbol to mark the end of the environment.
\end{definition}
-There is approximately an one-line space before and after the theorem environment. There will be a symbol to mark the end of the environment.
+\lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
+
+After using \lstinline|\UseLanguage{French}|, a theorem will be displayed as:
+
+\UseLanguage{French}
+\begin{theorem}[Inutile]\label{thm}
+ Un théorème en français.
+\end{theorem}
+
+By default, when referenced, the name of the theorem always matches the language of the context in which the theorem is located. For example, the definition above is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}. If you want the name of the theorem to match the current context when referencing, you can add \texttt{regionalref} to the global options.
+\end{remind}
+
+\UseLanguage{English}
-When referencing, you can directly use clever reference \lstinline|\cref{(label name)}|. For example, \lstinline|\cref{def: strange}| will be displayed as: \cref{def: strange}.
\subsection{Define a new theorem-like environment}
-First define the name of this environment in the language used: \lstinline|\(name of environment)(language name)|. Where \lstinline|(language name)| can be \lstinline|EN|, \lstinline|FR|, \lstinline|CN|, etc., and then define this environment in one of the following four ways:
+If you need to define a new theorem-like environment, you must first define the name of the environment in the language used: \lstinline|\|\meta{name of environment}\meta{language abbr}, where \meta{language abbr} is the abbreviation of language, which can be:
+% \vspace{-.5\baselineskip}
+\begin{longtable}{ll|ll}
+ \texttt{CN} & Simplified Chinese & \texttt{DE} & German\\
+ \texttt{TC} & Traditional Chinese & \texttt{JP} & Japanese\\
+ \texttt{EN} & English & \texttt{RU} & Russian\\
+ \texttt{FR} & French & &\\
+\end{longtable}
+
+\vspace{-.5\baselineskip}
+\begin{remind}
+ If you want to define an environment with an asterisk \lstinline|*| after the name, you don't need to write an asterisk in the \meta{name of environment} above. See the example below.
+\end{remind}
+
+And then define this environment in one of following five ways:
\begin{itemize}
- \item \lstinline|\CreateTheorem*{(name of environment)}|
- \item \lstinline|\CreateTheorem{(name of environment)}[(numbered like)]|
- \item \lstinline|\CreateTheorem{(name of environment)}<(numbered within)>|
- \item \lstinline|\CreateTheorem{(name of environment)}|
+ \item \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}|
+ \begin{itemize}
+ \item Define an unnumbered environment \meta{name of environment}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, numbered in order 1,2,3,\dots
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}[|\meta{numbered like}\lstinline|]|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
+ \begin{itemize}
+ \item Define a numbered environment \meta{name of environment}, numbered within the \\counter \meta{numbered within}
+ \end{itemize}
+ \item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|\\
+ \lstinline|\CreateTheorem*{|\meta{name of environment}\lstinline|}(|\meta{existed environment}\lstinline|)|
+ \begin{itemize}
+ \item Identify \meta{name of environment} with \meta{existed environment} or \meta{existed environment}\lstinline|*|.
+ \item This method is usually useful in the following two situations:
+ \begin{enumerate}
+ \item To use a more concise name. For example, with \lstinline|\CreateTheorem{thm}|\\\lstinline|(theorem)|, one can then use the name \texttt{thm} to write theorem.
+ \item To remove the numbering. For example, one can remove the numbering of the \texttt{remark} environment with \lstinline|\CreateTheorem{remark}(remark*)|.
+ \end{enumerate}
+ \end{itemize}
\end{itemize}
+\begin{remind}
+ It uses \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
+\end{remind}
+
\def\proofideanameEN{Idea}
-\CreateTheorem*{proofidea}
+\CreateTheorem*{proofidea*}
+\CreateTheorem{proofidea}<subsection>
+
+\bigskip
+Here is an example. The following code:
-For example,
\begin{code}
\def\proofideanameEN{Idea}
- \CreateTheorem*{proofidea}
+ \CreateTheorem*{proofidea*}
+ \CreateTheorem{proofidea}<subsection>
\end{code}
-defines an unnumbered environment \lstinline|proofidea|, which supports using in the English context, and the effect is as follows:
+
+defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context. The effect is as follows:
+
+\begin{proofidea*}
+ The \lstinline|proofidea*| environment.
+\end{proofidea*}
\begin{proofidea}
- ...
+ The \lstinline|proofidea| environment.
\end{proofidea}
\subsection{Draft mark}
-You can use \lstinline|\dnf| to mark the unfinished part (this is a feature provide by the classes, not the \minimalist{} package). For example:
+You can use \lstinline|\dnf| to mark the unfinished part. For example:
\begin{itemize}
- \item \lstinline|\dnf|: \quad \dnf
- \item \lstinline|\dnf<Still need ...>|: \quad \dnf<Still need ...>
+ \item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode.
\end{itemize}
-Similarly, there is \lstinline|\needgraph|:
+Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
- \item \lstinline|\needgraph|: \needgraph
- \item \lstinline|\needgraph<About ...>|: \needgraph<About ...>
+ \item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-\subsection{Language configuration}
-You can use \lstinline|\UseLanguage{(name of language))}| at any time to change the language, Language names include Chinese, English, French (the case of the first letter is arbitrary, for example, ``chinese'' is also acceptable). With this, the effects of various commands and environments will also change accordingly.
+\subsection{On the title, abstract and keywords}
-For example, after using \lstinline|\UseLanguage{French}|, the theorem and the draft mark will be displayed as:
+\minimart{} has both the features of standard classes and that of the \AmS{} classes.
-\UseLanguage{French}
-\begin{theorem}[Inutile]\label{thm}
- Un théorème en français. \dnf
-\end{theorem}
+Therefore, the title part can either be written in the usual way, in accordance with the standard class \textsf{article}:
-When referenced, the name of the theorem always matches the language of the region in which the theorem is located, for example, the definition of the beginning is still displayed in English in the current French mode: \cref{def: strange} and \cref{thm}.
+\begin{code}
+ \title{(*\meta{title}*)}
+ \author{(*\meta{author}*)}
+ \date{(*\meta{date}*)}
+ \maketitle
+ \begin{abstract}
+ (*\meta{abstract}*)
+ \end{abstract}
+ \begin{keyword}
+ (*\meta{keywords}*)
+ \end{keyword}
+\end{code}
+
+or written in the way of \AmS{} classes:
+
+\begin{code}
+ \title{(*\meta{title}*)}
+ \author{(*\meta{author}*)}
+ \address{(*\meta{address}*)}
+ \email{(*\meta{email}*)}
+ \date{(*\meta{date}*)}
+ \keywords{(*\meta{keywords}*)}
+ \subjclass{(*\meta{subjclass}*)}
+ \begin{abstract}
+ (*\meta{abstract}*)
+ \end{abstract}
+ \maketitle
+\end{code}
+
+\medskip
+The author information can contain multiple groups, written as:
+
+\begin{code}
+ \author{(*\meta{author 1}*)}
+ \address{(*\meta{address 1}*)}
+ \email{(*\meta{email 1}*)}
+ \author{(*\meta{author 2}*)}
+ \address{(*\meta{address 2}*)}
+ \email{(*\meta{email 2}*)}
+ ...
+\end{code}
+
+Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
-\UseLanguage{English}
\subsection{On the line numbers}
Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered.
@@ -176,35 +392,117 @@ In \lstinline|\section| or \lstinline|\subsection| , if you wish to add footnote
\end{itemize}
This is a disadvantage brought about by the underline decoration of the title.
+
+\section{Known issues}
+
+\begin{itemize}[itemsep=.6em]
+ \item The font settings are still not perfect.
+ \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{} and \minimbook{}) inherits all its problems. For details, please refer to the "Known Issues" section of the \ProjLib{} documentation.
+ \item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
+ \item There are still many things that can be optimized in the code.
+\end{itemize}
+
+\clearpage
\section{Document templates}
-\singlespacing
+\subsection{The standard way}
+
+If you want to write in the standard way, you can refer to the following example:
-\LocallyStopLineNumbers
-\begin{minipage}{0.45\textwidth}
\begin{code}
-\documentclass[fast]{minimart}
+\documentclass{minimart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
-\linenumbers
-\UseLanguage{French}
+\UseLanguage{French} % Use French from here
\begin{document}
-\title{Titre}
-\author{Nom}
-\date{03 / 2021, Lieu}
+\title{Le Titre}
+\author{Auteur}
+\date{\PJLdate{2022-04-01}}
\maketitle
-%% Texte ici
+\begin{abstract}
+ Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+\begin{keyword}
+ AAA, BBB, CCC, DDD, EEE
+\end{keyword}
+
+\section{Un théorème}
+
+%% Theorem-like environments can be used directly
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
+\end{theorem}
+
+Référence du théorème: \cref{thm:abc}
+ % It is recommended to use clever reference
\end{document}
\end{code}
-\end{minipage}
-\par
-\ResumeLineNumbers
-\bigskip
-(\lstinline|\UseLanguage| can be placed either in the preamble or in the body part, and can be used repeatedly as needed)
+If you wish to switch to the standard class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{article}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
+
+
+\clearpage
+\subsection{The \texorpdfstring{\AmS{}}{AMS} way}
+
+If you intend to switch to the journal template in the future and thus want to use the writing style as in the \AmS{} classes, you can refer to the following example:
+
+\begin{code}
+\documentclass{minimart}
+\usepackage{PJLtoolkit} % Load ProjLib toolkit
+
+\UseLanguage{French} % Use French from here
+
+\begin{document}
+
+\title{Le Titre}
+\author{Auteur 1}
+\address{Adresse 1}
+\email{\href{Courriel 1}{Courriel 1}}
+\author{Auteur 1}
+\address{Adresse 1}
+\email{\href{Courriel 2}{Courriel 2}}
+\date{\PJLdate{2022-04-01}}
+\subjclass{*****}
+\keywords{...}
+
+\begin{abstract}
+ Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+
+\maketitle
+
+\section{Première section}
+
+%% Theorem-like environments can be used directly
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
+\end{theorem}
+
+Référence du théorème: \cref{thm:abc}
+ % It is recommended to use clever reference
+
+\end{document}
+\end{code}
+
+In this way, if you wish to switch to \AmS{} class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{amsart}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{PJLtoolkit} % Load ProjLib toolkit
+\end{code}
\end{document}
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 2648a34701..12a4b33407 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -17,22 +17,29 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesPackage{minimalist}
- [2021/03/15 A simple and clear style for articles and books]
-\RequirePackage{etoolbox}
+ [2021/05/23 A simple and clear style for articles and books]
\RequirePackage{kvoptions}
+\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
family = @minimalist,
prefix = @minimalist@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
-\DeclareBoolOption[false]{polyglossia}
+\DeclareBoolOption[false]{allowbf}
+\DeclareBoolOption[false]{classical}
\ProcessKeyvalOptions*\relax
\if@minimalist@draft
\@minimalist@fasttrue
\fi
+\if@minimalist@allowbf
+ \newcommand{\conditionalbfseries}{\bfseries\colorlet{PJLtempcolor}{.}\color{PJLtempcolor!83!paper}}
+\else
+ \newcommand{\conditionalbfseries}{}
+\fi
+
\newif\ifIsBook
\ifdefined\chapter\IsBooktrue\else\IsBookfalse\fi
@@ -40,17 +47,24 @@
%% Title fonts
%%================================
\RequirePackage{anyfontsize}
-\newcommand{\partfont}{\sffamily}
-\newcommand{\chapfont}{\sffamily}
-\newcommand{\secfont}{}
-\newcommand{\subsecfont}{}
-\newcommand{\subsubsecfont}{}
+\if@minimalist@classical
+\newcommand{\partfont}{\conditionalbfseries\sffamily}
+\newcommand{\chapfont}{\conditionalbfseries\sffamily}
+\newcommand{\secfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsecfont}{\conditionalbfseries\sffamily}
+\newcommand{\subsubsecfont}{\conditionalbfseries\sffamily}
+\else
+\newcommand{\partfont}{\conditionalbfseries\sffamily}
+\newcommand{\chapfont}{\conditionalbfseries\sffamily}
+\newcommand{\secfont}{\conditionalbfseries}
+\newcommand{\subsecfont}{\conditionalbfseries}
+\newcommand{\subsubsecfont}{\conditionalbfseries}
+\fi
%%================================
-%% Color
+%% Paper configuration
%%================================
-\RequirePackage{xcolor}
-\definecolor{paper}{RGB}{255,255,255}
+\RequirePackage{PJLpaper}
%%================================
%% Footer
@@ -58,6 +72,7 @@
\RequirePackage{geometry}
\RequirePackage{fancyhdr}
\RequirePackage{extramarks}
+\AtEndPreamble{\fancyhfoffset{0pt}}
\fancypagestyle{fancy}{
\fancyhf{}
\if@twoside
@@ -128,8 +143,7 @@
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}}
\fi
\renewcommand*{\sectionmark}[1]{%
- \markright{\raisebox{.03em}{\footnotesize/}%
- ~\thesection~\raisebox{.03em}{\footnotesize/}~~~#1}}
+ \markright{\sec@decochar~\thesection~\sec@decochar~~~#1}}
}{
\if@twoside
\renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{}}
@@ -137,11 +151,12 @@
\renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}}
\fi
}
-%%===============================
+%%================================
%% Line spacing
%%================================
-\RequirePackage{setspace}
-\setstretch{1.07}
+\RequirePackage{PJLlang}
+\PJLsetlinespacing{\setstretch{1.07}}
+\PJLsetCJKlinespacing{\onehalfspacing}
\raggedbottom
%%================================
@@ -154,11 +169,12 @@
\RequirePackage{mathtools}
+\ifdefined\linenomathpatch\else
\newcommand*\linenomathpatch[1]{%
\cspreto{#1}{\linenomath}%
\cspreto{#1*}{\linenomath}%
- \cspreto{end#1}{\endlinenomath}%
- \cspreto{end#1*}{\endlinenomath}%
+ \csappto{end#1}{\endlinenomath}%
+ \csappto{end#1*}{\endlinenomath}%
}
\newcommand*\linenomathpatchAMS[1]{%
\cspreto{#1}{\linenomathAMS}%
@@ -179,6 +195,7 @@
\linenomathpatchAMS{align}
\linenomathpatchAMS{alignat}
\linenomathpatchAMS{flalign}
+\fi
\newif\ifLNturnsON
\def\LocallyStopLineNumbers{\LNturnsONfalse%
@@ -196,6 +213,20 @@
\PassOptionsToPackage{normalem}{ulem}
\RequirePackage{ulem}
+\newcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}
+\gappto{\PJLlang@langconfig@common}{%
+\renewcommand{\partstring}{\MakeUppercase{{\partname~\protect\thepart}}}%
+}
+\gappto{\PJLlang@langconfig@chinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@tchinese}{%
+\renewcommand{\partstring}{第~\thepart~部分}%
+}
+\gappto{\PJLlang@langconfig@japanese}{%
+\renewcommand{\partstring}{第~\thepart~部}%
+}
+
\ifbool{IsBook}{
%% Part
\titleclass{\part}{top} % make part like a chapter
@@ -203,7 +234,7 @@
{\thispagestyle{part}%
\LocallyStopLineNumbers%
\partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
+ {\partstring}
{1em}
{\fontsize{20}{0}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
@@ -252,7 +283,7 @@
\titleformat{\part}[display]
{\LocallyStopLineNumbers%
\partfont\filleft}
- {\MakeUppercase{\partname~\protect\thepart}}
+ {\partstring}
{.3em}
{\fontsize{16}{0}\selectfont\MakeUppercase{#1}}
[\ResumeLineNumbers]
@@ -277,15 +308,25 @@
}
%% Section
+\renewcommand\thesection{\arabic{section}}
+\if@minimalist@classical
+\newcommand\sec@decochar{}
+\titleformat{\section}
+ {\LocallyStopLineNumbers%
+ \secfont\centering}
+ {\thesection}{.75em}
+ {#1}
+ [\ResumeLineNumbers]
+\else
\newcommand\seculine{\bgroup\markoverwith{\color{gray!55!paper}%
\rule[-0.9ex]{2pt}{.6pt}\hspace{-2pt}\rule[-1.2ex]{2pt}{.6pt}}\ULon}
-\renewcommand\thesection{\arabic{section}}
+\newcommand\sec@decochar{\raisebox{.03em}{\normalfont\footnotesize/}}
\titleformat{\section}
{\LocallyStopLineNumbers%
\secfont\centering}{}{0em}
- {{\small\textcolor{gray!55!paper}{\raisebox{.03em}{\footnotesize/}}%
- \,\,\textcolor{black!80!paper}{\arabic{section}}%
- \,\,\textcolor{gray!55!paper}{\raisebox{.03em}{\footnotesize/}}}\\
+ {{\small\textcolor{gray!55!paper}{\sec@decochar}%
+ \,\,\textcolor{black!90!paper}{\conditionalbfseries\arabic{section}}%
+ \,\,\textcolor{gray!55!paper}{\sec@decochar}}\\
\seculine{#1}}
[\ResumeLineNumbers]
\titleformat{name=\section,numberless}
@@ -294,12 +335,21 @@
\secfont\centering}{}{0em}
{\seculine{#1}}
[\ResumeLineNumbers]
+\fi
%% Subsection
-\newcommand\subseculine{\bgroup\markoverwith{\color{gray!55!paper}%
- \rule[-1ex]{2pt}{.75pt}}\ULon}
\renewcommand\thesubsection{%
\ifnum\c@section=0\else\arabic{section}.\fi\arabic{subsection}}
+\if@minimalist@classical
+\titleformat{\subsection}
+ {\LocallyStopLineNumbers%
+ \subsecfont}
+ {\thesubsection}{.75em}
+ {#1}
+ [\ResumeLineNumbers]
+\else
+\newcommand\subseculine{\bgroup\markoverwith{\color{gray!55!paper}%
+ \rule[-1ex]{2pt}{.75pt}}\ULon}
\titleformat{\subsection}
{\LocallyStopLineNumbers%
\subsecfont}{}{0em}
@@ -310,22 +360,26 @@
\subsecfont}{}{0em}
{\subseculine{#1}}
[\ResumeLineNumbers]
+\fi
%% Subsubsection
\titleformat{\subsubsection}
{\LocallyStopLineNumbers%
- \subsubsecfont}{\thesubsubsection}{1em}
+ \color{paper!30!-paper}\subsubsecfont}{\thesubsubsection}{1em}
{#1}
[\ResumeLineNumbers]
-\titlespacing{\subsubsection}{0pt}{.8\baselineskip}{.5\baselineskip}
+
+\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
+\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
+\titlespacing{\subsubsection}{0pt}{.5\baselineskip}{.2\baselineskip}
%%================================
-%% TOC format
+%% ToC format
%%================================
\RequirePackage{titletoc}
\titlecontents{part}
[0em]
- {\addvspace{1.5pc}\filcenter\partfont}
+ {\addvspace{1.5pc}\filcenter\normalfont}
{\thecontentslabel\\\uppercase}
{}
{} % without page number
@@ -333,32 +387,32 @@
\ifbool{IsBook}{
\titlecontents{chapter}
[2em] % i.e., 0em (part) + 2em
- {\addvspace{.5pc}\chapfont}
+ {\addvspace{.5pc}\normalfont}
{\contentslabel{2em}}
{\hspace*{-2em}}
- {\normalfont\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
+ {\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
\titlecontents{section}
[4em] % i.e., 2em (chapter) + 2em
- {\secfont}
+ {\normalfont}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
\titlecontents{subsection}
[7em] % i.e., 4em (section) + 3em
- {\subsecfont}
+ {\normalfont}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
}{
\titlecontents{section}
[2em] % i.e., 0em (part) + 2em
- {\secfont}
+ {\normalfont}
{\contentslabel{1.75em}}
{\hspace*{-1.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
\titlecontents{subsection}
[5em] % i.e., 2em (section) + 3em
- {\subsecfont}
+ {\normalfont}
{\contentslabel{2.75em}}
{\hspace*{-2.75em}}
{\titlerule*[1em]{\textcolor{gray!30!paper}{.}}\contentspage}
@@ -370,6 +424,8 @@
\RequirePackage{enumitem}
\setlist{noitemsep,leftmargin=2em}
\renewcommand\labelitemi{\color{gray!50}$\bullet$}
+\renewcommand\labelitemii{\color{gray!55}--}
+\renewcommand\labelitemiii{\color{gray!55}\texttt{*}}
%%================================
%% Blank page
@@ -386,136 +442,120 @@
\null\newpage\fi\fi}
%%================================
+%% Draft mark
+%%================================
+\RequirePackage{PJLdraft}
+
+%%================================
%% Theorems
%%================================
\RequirePackage{amsthm}
+\if@minimalist@classical
+ \if@minimalist@allowbf
+ \newtheoremstyle{simple}%
+ {}{}%
+ {\normalfont}{}%
+ {\normalfont}{}%
+ {0pt}%
+ {{\conditionalbfseries\sffamily\thmname{#1}\thmnumber{ #2}}\hspace{.4em}%
+ {\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}}}
+ \else
+ \newcommand\thmuline{\bgroup\markoverwith{\color{gray!55!paper}%
+ \rule[-.6ex]{2pt}{.5pt}}\ULon}
+ \newtheoremstyle{simple}%
+ {}{}%
+ {\normalfont}{}%
+ {\normalfont}{}%
+ {0pt}%
+ {{\sffamily\thmuline{\thmname{\textsc{#1}}\thmnumber{ #2}}}\hspace{.4em}%
+ {\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}}}
+ \fi
+\else
\newtheoremstyle{simple}%
{}{}%
{\normalfont}{}%
{\normalfont}{}%
{0pt}%
- {\thmname{\textsc{#1}}\thmnumber{ #2}\hspace{.4em}%
+ {{\conditionalbfseries\thmname{#1}\thmnumber{ #2}}\hspace{.4em}%
\textcolor{gray!55!paper}{$|$}\hspace{.4em}%
\color{gray}\thmnote{\ensuremath{(\text{#3})}~~}\pushQED{\qed}}
\def\@endtheorem{\popQED\endtrivlist\@endpefalse }
+\fi
\renewcommand{\qedsymbol}{%
\makebox[1em]{\color{gray!55!paper}\rule[-0.1em]{.95em}{.95em}}}
-\if@minimalist@fast\else
+\if@minimalist@fast
+ \providecommand{\phantomsection}{}
+ \RequirePackage{url}
+ \newcommand{\href}[2]{#2}
+\else
\PassOptionsToPackage{hidelinks,linktoc=all}{hyperref}
\RequirePackage{bookmark}
\RequirePackage{hyperref}
\fi
-\RequirePackage{aliascnt}
-\PassOptionsToPackage{nameinlink}{cleveref}
-\RequirePackage{cleveref}
-
-\newcommand\englishABBR{EN}
-\newcommand\frenchABBR{FR}
-\newcommand\chineseABBR{CN}
-
-\RequirePackage{xstring}
-\newcommand\PassFirstToSecond[2]{#2{#1}}%
-\NewDocumentCommand{\CreateTheorem}{sm}{%
- \begingroup
- \protected@edef\temp{#2}%
- \expandafter\IfEndWith\expandafter{\temp}{*}{%
- \expandafter\StrGobbleRight\expandafter{\temp}{1}[\temp]%
- \PassFirstToSecond{*}%
- }{%
- \PassFirstToSecond{}%
- }%
- {\expandafter\PassFirstToSecond%
- \expandafter{\temp}{\endgroup\InnerCreateTheorem{#1}}}%
-}%
-\NewDocumentCommand{\InnerCreateTheorem}{mmmod<>}{%
- \IfBooleanTF{#1}{%
- \IfValueTF{#4}
- {\@firstoftwo}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}%
- }{%
- \IfValueTF{#4}
- {\IfValueTF{#5}{\@firstoftwo}{\@secondoftwo}}{
- \@secondoftwo}
- }%
- {%
- \GenericError{}%
- {\string\CreateTheorem\space syntax error\on@line}{%
- You cannot call the starred variant with optional argument,\MessageBreak
- nor call the unstarred variant with several optional arguments.}%
- {}%
- }{%
- \IfBooleanTF{#1}{%
- \newtheorem*{#2EN#3}{\csname#2nameEN\endcsname}
- \newtheorem*{#2FR#3}{\csname#2nameFR\endcsname}
- \newtheorem*{#2CN#3}{\csname#2nameCN\endcsname}
- }{%
- \IfValueTF{#5}{%
- \newcounter{#2#3}[{#5}]%
- \expandafter\renewcommand\expandafter*%
- \csname the#2#3\expandafter\endcsname%
- \expandafter{\csname the#5\endcsname.\arabic{#2#3}}%
- }{%
- \IfValueTF{#4}
- {\newaliascnt{#2#3}{#4}}
- {\newcounter{#2#3}}%
- }%
- %-------------------------------------------------------------------
- \CreateTheoremNumberedLikeAliasCounter{#2}{EN}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{FR}{#3}%
- \CreateTheoremNumberedLikeAliasCounter{#2}{CN}{#3}%
- %-------------------------------------------------------------------
- }%
- \NewDocumentEnvironment{#2#3}{}
- {\csname#2\csname\languagename ABBR\endcsname#3\endcsname}%
- {\csname end#2\csname\languagename ABBR\endcsname#3\endcsname}%
- }%
-}%
-\NewDocumentCommand{\CreateTheoremNumberedLikeAliasCounter}{mmm}{%
- \newaliascnt{#1#2#3}{#1#3}%
- \newtheorem{#1#2#3}[{#1#2#3}]{\csname#1name#2\endcsname}%
- \aliascntresetthe{#1#2#3}%
- \crefname{#1#2#3}%
- {\csname#1name#2\endcsname}%
- {\csname#1name#2\endcsname}%
-}%
-
-%% English theorems names
+
+\RequirePackage[nothms]{PJLthm}
+
+%% Redefine English theorems names
\def\theoremnameEN{\textsc{Theorem}}
\def\lemmanameEN{\textsc{Lemma}}
\def\propositionnameEN{\textsc{Proposition}}
\def\corollarynameEN{\textsc{Corollary}}
+\def\propertynameEN{\textsc{Property}}
\def\factnameEN{\textsc{Fact}}
\def\conjecturenameEN{\textsc{Conjecture}}
\def\definitionnameEN{\textsc{Definition}}
+\def\axiomnameEN{\textsc{Axiom}}
+\def\assumptionnameEN{\textsc{Assumption}}
+\def\conventionnameEN{\textsc{Convention}}
+\def\hypothesisnameEN{\textsc{Hypothesis}}
+\def\notationnameEN{\textsc{Notation}}
\def\examplenameEN{\textsc{Example}}
\def\problemnameEN{\textsc{Problem}}
+\def\questionnameEN{\textsc{Question}}
+\def\exercisenameEN{\textsc{Exercise}}
\def\remarknameEN{\textsc{Remark}}
-%% French theorems names
+%% Redefine French theorems names
\def\theoremnameFR{\textsc{Théorème}}
\def\lemmanameFR{\textsc{Lemme}}
\def\propositionnameFR{\textsc{Proposition}}
\def\corollarynameFR{\textsc{Corollaire}}
+\def\propertynameFR{\textsc{Propriété}}
\def\factnameFR{\textsc{Fait}}
\def\conjecturenameFR{\textsc{Conjecture}}
\def\definitionnameFR{\textsc{Définition}}
+\def\axiomnameFR{\textsc{Axiome}}
+\def\assumptionnameFR{\textsc{Supposition}}
+\def\conventionnameFR{\textsc{Convention}}
+\def\hypothesisnameFR{\textsc{Hypothèse}}
+\def\notationnameFR{\textsc{Notation}}
\def\examplenameFR{\textsc{Exemple}}
\def\problemnameFR{\textsc{Problème}}
+\def\questionnameFR{\textsc{Question}}
+\def\exercisenameFR{\textsc{Exercice}}
\def\remarknameFR{\textsc{Remarque}}
-%% Chinese theorems names
-\def\theoremnameCN{定理}
-\def\lemmanameCN{引理}
-\def\propositionnameCN{命题}
-\def\corollarynameCN{推论}
-\def\factnameCN{事实}
-\def\conjecturenameCN{猜想}
-\def\definitionnameCN{定义}
-\def\examplenameCN{例}
-\def\problemnameCN{问题}
-\def\remarknameCN{备注}
+%% Redefine German theorems names
+\def\theoremnameDE{\textsc{Satz}}
+\def\lemmanameDE{\textsc{Lemma}}
+\def\propositionnameDE{\textsc{Proposition}}
+\def\corollarynameDE{\textsc{Korollar}}
+\def\propertynameDE{\textsc{Eigenschaft}}
+\def\factnameDE{\textsc{Fakt}}
+\def\conjecturenameDE{\textsc{Vermutung}}
+\def\definitionnameDE{\textsc{Definition}}
+\def\axiomnameDE{\textsc{Axiom}}
+\def\assumptionnameDE{\textsc{Annahme}}
+\def\conventionnameDE{\textsc{Konvention}}
+\def\hypothesisnameDE{\textsc{Hypothese}}
+\def\notationnameDE{\textsc{Notation}}
+\def\examplenameDE{\textsc{Beispiel}}
+\def\problemnameDE{\textsc{Problem}}
+\def\questionnameDE{\textsc{Frage}}
+\def\exercisenameDE{\textsc{Übung}}
+\def\remarknameDE{\textsc{Bemerkung}}
%% Theorem environments
\theoremstyle{simple}
@@ -528,113 +568,117 @@
\CreateTheorem{lemma}[theorem]
\CreateTheorem{proposition}[theorem]
\CreateTheorem{corollary}[theorem]
+\CreateTheorem{definition-proposition}[theorem]
+\CreateTheorem{definition-theorem}[theorem]
+\CreateTheorem{property}[theorem]
\CreateTheorem{fact}[theorem]
-\CreateTheorem{conjecture}<highest>
+\CreateTheorem{conjecture}[theorem]
\CreateTheorem*{theorem*}
\CreateTheorem*{lemma*}
\CreateTheorem*{proposition*}
\CreateTheorem*{corollary*}
+\CreateTheorem*{definition-proposition*}
+\CreateTheorem*{definition-theorem*}
+\CreateTheorem*{property*}
\CreateTheorem*{fact*}
\CreateTheorem*{conjecture*}
\CreateTheorem{definition}[theorem]
-\CreateTheorem{example}<highest>
-\CreateTheorem{problem}<highest>
+\CreateTheorem{axiom}[theorem]
+\CreateTheorem{assumption}[theorem]
+\CreateTheorem{convention}[theorem]
+\CreateTheorem{hypothesis}[theorem]
+\CreateTheorem{notation}[theorem]
+\CreateTheorem{example}[theorem]
+\CreateTheorem{problem}[theorem]
+\CreateTheorem{question}[theorem]
+\CreateTheorem{exercise}[theorem]
\CreateTheorem*{definition*}
+\CreateTheorem*{axiom*}
+\CreateTheorem*{assumption*}
+\CreateTheorem*{convention*}
+\CreateTheorem*{hypothesis*}
+\CreateTheorem*{notation*}
\CreateTheorem*{example*}
\CreateTheorem*{problem*}
+\CreateTheorem*{question*}
+\CreateTheorem*{exercise*}
\CreateTheorem{remark}<highest>
\CreateTheorem*{remark*}
-%%================================
-%% Language configuration
-%%================================
-\if@minimalist@polyglossia
- \RequirePackage{polyglossia}
- \setdefaultlanguage{english}
- \setotherlanguage[frenchpart=false]{french}
-\else
- \PassOptionsToPackage{french,english}{babel}
- \RequirePackage{babel}
- \frenchsetup{PartNameFull=false}
-\fi
-\newcommand{\minimalist@langconfig@chinese}{%
- \def\abstractname{摘要}%
- \def\proofname{证明}%
- \def\contentsname{目录}%
- \def\listfigurename{插图}%
- \def\listtablename{表格}%
- \def\figurename{图}%
- \def\tablename{表}%
- \def\indexname{索引}%
- \def\appendixname{附录}%
- \def\bibname{参考文献}%
- \renewcommand{\languagename}{chinese}%
-}
-\newcommand{\minimalist@langconfig@english}{%
- \selectlanguage{english}%
-}
-\newcommand{\minimalist@langconfig@french}{%
- \selectlanguage{french}%
- \def\frenchpartname{Partie}%
-}
-\newcommand{\UseLanguageCORE}[1]{%
- \ifstrequal{#1}{chinese}{\onehalfspacing\minimalist@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\onehalfspacing\minimalist@langconfig@chinese}{}%
- \ifstrequal{#1}{english}{\setstretch{1.07}\minimalist@langconfig@english}{}%
- \ifstrequal{#1}{English}{\setstretch{1.07}\minimalist@langconfig@english}{}%
- \ifstrequal{#1}{french}{\setstretch{1.07}\minimalist@langconfig@french}{}%
- \ifstrequal{#1}{French}{\setstretch{1.07}\minimalist@langconfig@french}{}%
-}
-\newcommand{\UseLanguage}[1]{%
- \ifx\@onlypreamble\@notprerr%
- \UseLanguageCORE{#1}%
- \else%
- \AfterEndPreamble{\UseLanguageCORE{#1}}%
- \fi%
-}
-\newcommand{\UseOtherLanguage}[2]{%
-\begingroup%
- \ifstrequal{#1}{chinese}{\minimalist@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\minimalist@langconfig@chinese}{}%
- \ifstrequal{#1}{english}{\minimalist@langconfig@english}{}%
- \ifstrequal{#1}{English}{\minimalist@langconfig@english}{}%
- \ifstrequal{#1}{french}{\minimalist@langconfig@french}{}%
- \ifstrequal{#1}{French}{\minimalist@langconfig@french}{}%
- #2%
-\endgroup%
-}
+\setlength{\parindent}{2em}
-\ifbool{IsBook}{}{
+\ifbool{IsBook}{}{%
%%================================
%% Title block style
%%================================
+\if@minimalist@classical
+\renewcommand{\@maketitle}{%
+ \LocallyStopLineNumbers%
+ \begin{center}%
+ {\conditionalbfseries\sffamily\large\@title}\\\bigskip%
+ \color{black!80!paper}%
+ {\small\scshape\@author}\\[2pt]%
+ {\small\@date}%
+ \end{center}%
+ \bigskip\par%
+ \ResumeLineNumbers%
+}
+\else
\renewcommand{\@maketitle}{%
\LocallyStopLineNumbers%
\noindent%
{\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}}%
- \vspace{-\parskip}%
+ % \vspace{-\parskip}%
+ \vspace{-.5\baselineskip}%
\begin{flushright}%
- {\@title}\\\medskip%
+ {\conditionalbfseries\@title}\\\medskip%
\color{black!80!paper}%
- {\small\scshape\@author}\\[2pt]%
+ {\small\scshape\@author}%
+ \par\vspace{-\parskip}\vspace{2pt}%
{\small\@date}%
\end{flushright}%
- \vspace{-\parskip}%
+ % \vspace{-\parskip}%
\vspace{-.5\baselineskip}%
+ \ifx\@date\@empty%
+ \vspace{-.2\baselineskip}%
+ \else%
+ \vspace{-.5\baselineskip}%
+ \fi%
{\textcolor{gray!55!paper}{\rule{\textwidth}{0.75pt}}\par}%
\ResumeLineNumbers%
}
+\fi
\apptocmd{\maketitle}{\thispagestyle{fancy}}{}{\FAIL}
%%================================
%% Abstract style
%%================================
+\if@minimalist@classical
+\renewenvironment{abstract}{%
+ \LocallyStopLineNumbers%
+ \vspace{-\baselineskip}%
+ \begin{center}%
+ \textsc{\conditionalbfseries\small\abstractname}\\%
+ \vspace{-.3\baselineskip}%
+ \begin{minipage}[t]{.833\textwidth}%
+ \vspace{0pt}%
+ \color{black!80!paper}%
+ \footnotesize%
+ \parindent=2em
+}{%
+ \end{minipage}%
+ \end{center}%
+ \medskip%
+ \ResumeLineNumbers%
+}
+\else
\renewenvironment{abstract}{%
\LocallyStopLineNumbers%
\begin{flushright}%
- \textsc{\small\abstractname}\par%
- \vspace{-.75\baselineskip}%
+ \textsc{\conditionalbfseries\small\abstractname}\par%
+ \vspace{-\parskip}%
+ \vspace{-.25\baselineskip}%
\begin{minipage}[t]{.833\textwidth}%
\vspace{0pt}%
\color{black!80!paper}%
@@ -643,8 +687,68 @@
}{%
\end{minipage}%
\end{flushright}%
+ \bigskip%
\ResumeLineNumbers%
}
+\fi
+
+%%================================
+%% Keyword environment
+%%================================
+\def\keywordnameEN{\textsc{Keywords}}
+\def\keywordnameFR{\textsc{Mots clés}}
+\def\keywordnameDE{\textsc{Schlüsselwörter}}
+\def\keywordnameCN{关键词}
+\def\keywordnameTC{關鍵詞}
+\def\keywordnameJP{キーワード}
+\def\keywordnameRU{Ключевые слова}
+
+\if@minimalist@classical
+\newenvironment{keyword}{%
+ \LocallyStopLineNumbers%
+ \vspace{-.75\baselineskip}%
+ \begin{center}%
+ {\conditionalbfseries\small\csname keywordname\csname\languagename ABBR\endcsname\endcsname}\\%
+ \vspace{-.3\baselineskip}%
+ \begin{minipage}[t]{.833\textwidth}%
+ \vspace{0pt}%
+ \color{black!80!paper}%
+ \footnotesize%
+ \parindent=2em
+ \begin{center}%
+}{%
+ \end{center}%
+ \end{minipage}%
+ \end{center}%
+ \medskip%
+ \ResumeLineNumbers%
+}
+\else
+\newenvironment{keyword}{%
+ \LocallyStopLineNumbers%
+ \vspace{-.5\baselineskip}%
+ \begin{flushright}%
+ {\conditionalbfseries\small\csname keywordname\csname\languagename ABBR\endcsname\endcsname}\par%
+ \vspace{-\parskip}%
+ \vspace{-.30\baselineskip}%
+ \begin{minipage}[t]{.833\textwidth}%
+ \vspace{0pt}%
+ \color{black!80!paper}%
+ \footnotesize%
+ \parindent=2em
+ \raggedleft%
+}{%
+ \end{minipage}%
+ \end{flushright}%
+ \bigskip%
+ \ResumeLineNumbers%
+}
+\fi
+
+%%================================
+%% Simulate features of amsart
+%%================================
+\RequirePackage{PJLamssim}
}
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index b9a5a27142..9b19f187b1 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimart}
- [2021/03/15 A simple and clear article style]
+ [2021/05/23 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,13 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{classical}
+
+\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
+\newif\if@minimclass@afourpaper\@minimclass@afourpaperfalse
+\DeclareVoidOption{a4paper}{\@minimclass@afourpapertrue}
+
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\minimclass@baseclass}}
\ProcessKeyvalOptions*\relax
\LoadClass{\minimclass@baseclass}
@@ -37,6 +44,8 @@
%%================================
%% Page layout
%%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
\RequirePackage[heightrounded]{geometry}
\geometry{
papersize={7in,10in},
@@ -45,12 +54,36 @@
vmarginratio=1:1,
footnotesep=2em plus 2pt minus 2pt,
}
+\if@minimclass@bfivepaper
+\geometry{
+ b5paper,
+ total={40em,59em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if@minimclass@afourpaper
+\geometry{
+ a4paper,
+ total={47em,70em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
\if@minimclass@fast
\PassOptionsToPackage{fast}{minimalist}
+ \RequirePackage{draftwatermark}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+\fi
+\if@minimclass@classical
+ \RequirePackage{indentfirst}
+\else
+ \AtEndPreamble{\RequirePackage{parskip}}
\fi
\RequirePackage{minimalist}
-\AtEndPreamble{\RequirePackage{parskip}}
%%================================
%% Fonts
@@ -62,6 +95,9 @@
\fi
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\RequirePackage{amssymb}
+
+\def\PJL@font@alreadyset{}
\RequirePackage[verbose=silent]{microtype}
@@ -71,7 +107,9 @@
\RequirePackage{graphicx}
\graphicspath{{images/}}
\RequirePackage{wrapfig}
+\RequirePackage{float}
\RequirePackage{caption}
+\captionsetup{font=small}
%%================================
%% Index
@@ -80,53 +118,6 @@
\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL}
\apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL}
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if@minimclass@fast
- \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-\else
- \PassOptionsToPackage{many}{tcolorbox}
- \RequirePackage{tcolorbox}
- \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
- }
-\fi
-
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\bfseries\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
- \par%
- \centerline{\plainBox[needgraphColor]%
- {\normalfont\needgraphFont\bfseries\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}}%
- \par%
-}
-
\endinput
%%
%% End of file `minimalist/minimart.cls'.
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 8030889279..b998e53dd7 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimbook}
- [2021/03/15 A simple and clear book style]
+ [2021/05/23 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
@@ -27,6 +27,13 @@
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
+\DeclareBoolOption[false]{classical}
+
+\newif\if@minimclass@bfivepaper\@minimclass@bfivepaperfalse
+\DeclareVoidOption{b5paper}{\@minimclass@bfivepapertrue}
+\newif\if@minimclass@afourpaper\@minimclass@afourpaperfalse
+\DeclareVoidOption{a4paper}{\@minimclass@afourpapertrue}
+
\DeclareDefaultOption{\PassOptionsToClass{\CurrentOption}{\minimclass@baseclass}}
\ProcessKeyvalOptions*\relax
\LoadClass{\minimclass@baseclass}
@@ -37,6 +44,8 @@
%%================================
%% Page layout
%%================================
+\RequirePackage{silence}
+\WarningFilter{geometry}{Over-specification in}
\RequirePackage[heightrounded]{geometry}
\geometry{
papersize={7in,10in},
@@ -45,12 +54,36 @@
vmarginratio=1:1,
footnotesep=2em plus 2pt minus 2pt,
}
+\if@minimclass@bfivepaper
+\geometry{
+ b5paper,
+ total={40em,59em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
+\if@minimclass@afourpaper
+\geometry{
+ a4paper,
+ total={47em,70em},
+ hmarginratio=1:1,
+ vmarginratio=1:1,
+ footnotesep=2em plus 2pt minus 2pt,
+}
+\fi
\if@minimclass@fast
\PassOptionsToPackage{fast}{minimalist}
+ \RequirePackage{draftwatermark}
+ \DraftwatermarkOptions{text={\normalfont DRAFT},colorspec=0.95}
+\fi
+\if@minimclass@classical
+ \RequirePackage{indentfirst}
+\else
+ \AtEndPreamble{\RequirePackage{parskip}}
\fi
\RequirePackage{minimalist}
-\AtEndPreamble{\RequirePackage{parskip}}
%%================================
%% Fonts
@@ -62,6 +95,9 @@
\fi
\RequirePackage{mathpazo}
\RequirePackage{newpxtext}
+\RequirePackage{amssymb}
+
+\def\PJL@font@alreadyset{}
\RequirePackage[verbose=silent]{microtype}
@@ -71,7 +107,9 @@
\RequirePackage{graphicx}
\graphicspath{{images/}}
\RequirePackage{wrapfig}
+\RequirePackage{float}
\RequirePackage{caption}
+\captionsetup{font=small}
%%================================
%% Index
@@ -80,53 +118,6 @@
\pretocmd{\printindex}{\LocallyStopLineNumbers}{}{\FAIL}
\apptocmd{\printindex}{\ResumeLineNumbers}{}{\FAIL}
-%%================================
-%% Draft mark
-%%================================
-\def\dnfFont{\ttfamily}
-\def\needgraphFont{\ttfamily}
-
-\def\dnfTextEN{To be finished here}
-\def\needgraphTextEN{A graph is needed here}
-\def\dnfTextFR{À terminer ici}
-\def\needgraphTextFR{Il manque encore un graphique ici}
-\def\dnfTextCN{这里的内容尚未完成}
-\def\needgraphTextCN{这里需要一张图片}
-
-\definecolor{dnfColor}{RGB}{21,122,20}
-\definecolor{needgraphColor}{RGB}{70,130,180}
-
-\if@minimclass@fast
- \newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
- \setlength{\fboxsep}{1.5pt}%
- \setlength{\fboxrule}{1.2pt}%
- \fbox{#2}}}
-\else
- \PassOptionsToPackage{many}{tcolorbox}
- \RequirePackage{tcolorbox}
- \newtcbox{\plainBox}[1][-paper]{enhanced jigsaw,%
- on line, arc = 1.2pt, outer arc = 1pt,breakable,%
- colframe = #1,colupper=#1,opacityback=0,%
- boxsep = 1pt,boxrule = 1.2pt,%
- left = 1pt, right = 1pt, top = 0pt, bottom = 0pt,%
- }
-\fi
-
-\NewDocumentCommand{\dnf}{d<>}{%
- \noindent\plainBox[dnfColor]%
- {\normalfont\dnfFont\bfseries\small%
- \csname dnfText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}%
-}
-\NewDocumentCommand{\needgraph}{d<>}{%
- \par%
- \centerline{\plainBox[needgraphColor]%
- {\normalfont\needgraphFont\bfseries\small%
- \csname needgraphText\csname\languagename ABBR\endcsname\endcsname%
- \IfNoValueF{#1}{ : #1}}}%
- \par%
-}
-
\endinput
%%
%% End of file `minimalist/minimbook.cls'.
diff --git a/macros/latex/contrib/ot-tableau/README b/macros/latex/contrib/ot-tableau/README
index 588e69e6af..059cc0f56c 100644
--- a/macros/latex/contrib/ot-tableau/README
+++ b/macros/latex/contrib/ot-tableau/README
@@ -1,3 +1,10 @@
-This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license.
-Requires packages: xstring, amssymb, bbding, suffix, colortbl, rotating, hhline,tabu
+
+
+The package makes it easy to create beautiful optimality-theoretic tableaux. The LaTeX source is visually very similar to a formatted tableau, which makes working with the source code painless (well, less painful). A variety of stylistic variants are available to suit personal taste.
+
+The package is maintained by Adam Baker (adam@adambaker.org).
+
+This material is subject to the LaTeX Project Public License. See http://www.latex-project.org/lppl.txt for the details of that license.
+
+Requires packages: xstring, amssymb, bbding, suffix, colortbl, rotating, hhline (optionally), arydshln, tipa (optionally)
diff --git a/macros/latex/contrib/ot-tableau/ot-tableau.pdf b/macros/latex/contrib/ot-tableau/ot-tableau.pdf
index bbda62b020..46a08bd942 100644
--- a/macros/latex/contrib/ot-tableau/ot-tableau.pdf
+++ b/macros/latex/contrib/ot-tableau/ot-tableau.pdf
Binary files differ
diff --git a/macros/latex/contrib/ot-tableau/ot-tableau.sty b/macros/latex/contrib/ot-tableau/ot-tableau.sty
index 84528124dc..3d2ac05907 100644
--- a/macros/latex/contrib/ot-tableau/ot-tableau.sty
+++ b/macros/latex/contrib/ot-tableau/ot-tableau.sty
@@ -1,4 +1,21 @@
-\ProvidesPackage{ot-tableau}[2017/07/23]
+%% ot-tableau.sty
+%% Copyright 2021 Adam Baker
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Adam Bker.
+%
+% This work consists of the files ot-tableau.sty and ot-tableau.tex.
+
+\ProvidesPackage{ot-tableau}[2021-05-19]
% Package option: notipa
\newif\ifottableau@tipa
@@ -9,6 +26,11 @@
\newif\ifottableau@circledviolations
\DeclareOption{circledviolations}{\ottableau@circledviolationstrue}
+% Package option: usehhline
+\newif\ifottableau@usehhline
+\ottableau@usehhlinefalse % default to false
+\DeclareOption{usehhline}{\ottableau@usehhlinetrue}
+
% Package option: shadedcells
\newif\ifottableau@shadedcells
\DeclareOption{shadedcells}{\ottableau@shadedcellstrue}
@@ -29,8 +51,13 @@
\RequirePackage{rotating}
% fancy table and lines
-\RequirePackage{hhline,tabu}
-\newtabulinestyle { dashed=.5pt on 1.5pt off 1.5pt }
+% 2021-05-19: Removing hhline, which makes the nice lines, because hhline conflicts with arydshln
+\ifottableau@usehhline
+ \RequirePackage{hhline}
+\else
+\fi
+
+\RequirePackage{arydshln}
% IPA typesetting macros
\def\ipa#1{#1}
@@ -91,25 +118,34 @@
% Automatic row lettering
\newcommand*{\rowletter}{\stepcounter{tableaurow}\alph{tableaurow}. }
-% https://tex.stackexchange.com/questions/382843/using-the-tabu-environment-within-a-conditional-within-newenvironment
+
+
+
\newenvironment{tableau}[1]{\setcounter{tableaurow}{0}%
\gdef\ConstraintString{#1}
\StrSubstitute{#1}{s}{c}[\NoS]
\StrCount{\NoS}{c}[\ConstraintCount]%
+ \ifottableau@usehhline
+ \gdef\TopOrBottomLine{\hhline{---||*{\ConstraintCount}{-|}}}
+ \gdef\DoubleLine{\hhline{---||*{\ConstraintCount}{-|}}}
+ \else
+ \gdef\TopOrBottomLine{\hline}
+ \gdef\DoubleLine{\hline\hline}
+ \fi
\ifottableau@fingerfirst % finger first: this is the default
\expandafter\@firstoftwo
\else % finger second
\expandafter\@secondoftwo
\fi
- {\begin{tabu}{|r@{\hspace{4pt}}l@{\hspace{3pt}}l||#1|}} % finger first
- {\begin{tabu}{|l@{\hspace{2pt}}r@{\hspace{4pt}}l||#1|}} % finger second
- \hhline{|---||*{\ConstraintCount}{-|}}
- }{\\\hhline{|---||*{\ConstraintCount}{-|}}\end{tabu}}
-
+ {\begin{tabular}{|r@{\hspace{4pt}}l@{\hspace{3pt}}l||#1|}} % finger first
+ {\begin{tabular}{|l@{\hspace{2pt}}r@{\hspace{4pt}}l||#1|}} % finger second
+ \TopOrBottomLine
+ }{\\\TopOrBottomLine\end{tabular}}
+
% draw two lines after the constraints, one line elsewhere
\def\properlines{\ifthenelse{\thetableaurow=0}%
- {\\\hhline{:===::*{\ConstraintCount}{=:}}}%
- {\\\hhline{|---||*{\ConstraintCount}{-|}}}}
+ {\\\DoubleLine}%
+ {\\\TopOrBottomLine}}
\newcommand\cand[2][]{\OptimalOff\properlines%
\ifottableau@fingerfirst \ipa{#1} \else \rowletter \fi%
@@ -142,6 +178,3 @@
\newcommand\const[1]{&\textsc{#1}\UnshadeTheCell}
\WithSuffix\newcommand\const*[1]{&#1\UnshadeTheCell}
-
-% 2017-07-22: This doesn't work for some reason if it's toward the top of the file
-\newcolumntype{:}{|[dashed]}
diff --git a/macros/latex/contrib/ot-tableau/ot-tableau.tex b/macros/latex/contrib/ot-tableau/ot-tableau.tex
index e63c9c43aa..0eba320896 100644
--- a/macros/latex/contrib/ot-tableau/ot-tableau.tex
+++ b/macros/latex/contrib/ot-tableau/ot-tableau.tex
@@ -1,8 +1,10 @@
\documentclass{article}
\usepackage[notipa]{ot-tableau}
+% use the usehhline option to use the hhline for prettier lines (which currently does not work)
+%\usepackage[notipa,usehhline]{ot-tableau}
\usepackage{fullpage,pifont}
\title{The \textsf{ot-tableau} package}
-\date{Revised 2017-07-23}
+\date{Revised 2021-05-19}
\author{Adam Baker}
\def\eg{e.g.,~}
\def\tabl{\textsf{ot-tableau}}
@@ -88,6 +90,7 @@ The default \verb+\cand+ and \verb+\const+ commands typeset the argument with TI
If you are using Unicode input for your phonetic symbols, use the package option \verb+notipa+ to disable TIPA.
\subsection{Controlling cell shading}
+
There are two systems in use for shading OT tableaux. One system is to shade cells in a row after the crucial violation. The other system is to shade an entire column, if the associate constraint generates no crucial violations.
\tabl\ will do cell-shading automatically with the \verb+shadedcells+ package option.\footnote{More specifically, \tabl\ will look for the exclamation point. You have to provide the exclamation point.} This tableau...
@@ -204,8 +207,7 @@ Using the optional argument to \verb+\cand+, you can add any annotation to a can
\end{tableau}
\end{verbatim}
-You can mark the optimal candidate with the \verb+\Optimal+ command. This
-By default, \tabl\ typesets \textsf{bbding}'s \verb+\HandRight+ symbol (\HandRight), which I find to be the most attractive. \tabl\ also replaces asterisks with the more attractive asterisks in \textsf{amssymb}. You can replace these symbols with others if you wish, using \verb+\renewcommand+:
+You can mark the optimal candidate with the \verb+\Optimal+ command. By default, \tabl\ typesets \textsf{bbding}'s \verb+\HandRight+ symbol (\HandRight), which I find to be the most attractive. \tabl\ also replaces asterisks with the more attractive asterisks in \textsf{amssymb}. You can replace these symbols with others if you wish, using \verb+\renewcommand+:
\begin{center}
\CircledViolationsOn
@@ -232,6 +234,10 @@ By default, \tabl\ typesets \textsf{bbding}'s \verb+\HandRight+ symbol (\HandRig
\end{tableau}
\end{verbatim}
+\subsection{Prettier lines}
+\textbf{As of 2021-05-19:} A conflict between \verb+hhline+ and \verb+arydshln+ means that it's not possible to have the prettier tableau lines that \verb+hhline+ offers. (Extra whitespace is introduced above the first line.) It's possible that this will be fixed in the future, in which case you can get the prettier lines back with the \verb+usehhline+ package option, e.g., \verb+\usepackage[notipa,usehhline]{ot-tableau}+.
+
+
\section{Package Options}
It makes the most sense to set these options as package options, but if you want to change the settings in the middle of the documents, you can use the commands indicated in parentheses.
@@ -240,6 +246,7 @@ It makes the most sense to set these options as package options, but if you want
\item[circledviolations] Circle the optimal candidate's constraint violations. The optimal candidate must be identified with \verb+\cand[\Optimal]+. (\verb+\CircledViolationsOn+, \verb+\CircledViolationsOff+)
\item[shadedcells] Shade cells for a constraint that follow the candidate's fatal violation. (\verb+\ShadingOn+, \verb+\ShadingOff+)
\item[fingerafter] Place the finger-of-optimality after the letter rather than before it. (\verb+\FingerBeforeLetter+, \verb+\LetterBeforeFinger+)
+\item[usehhline] Use the \verb+hhline+ package to draw prettier tableau lines. (As of 2021-05-19, a package conflict means that the lines are not actually prettier. Hopefully this will be fixed in the future and we can go back to pretty lines!)
\end{description}
\end{document}
diff --git a/macros/latex/contrib/tcolorbox/CHANGES b/macros/latex/contrib/tcolorbox/CHANGES
index 0b75eb6406..a82b952189 100644
--- a/macros/latex/contrib/tcolorbox/CHANGES
+++ b/macros/latex/contrib/tcolorbox/CHANGES
@@ -1,7 +1,7 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -1192,3 +1192,30 @@ version 4.42 (2020/10/09)
* color stacks (by pdfcol) are not mandatory any more,
but are optional now with 'use color stack'. Note that effects of whatsits
on the vertical space have to be expected.
+
+version 4.50 (2021/05/21)
+- bug fix (#128): 'tcbincludepdf' ignored some raster options
+- bug fix (#138): visible seam for 'bicolor' and 'tile' in 'sidebyside' mode
+ around the lower (i.e. rightward) part
+- (#125) Using group around arguments for title in the examples
+- (#134) Allocate write registers \tcb@out and \tcb@record@out only when needed
+- (#135) Documentation: recommend to use initialization options after loading hyperref
+- (#118) Documentation: warn user about white title color becoming invisible
+ for the skin 'empty'
+- documentation correction (#127)
+- documentation of library skins is split into a general part and the catalog of skins
+- (#124) '\tcblistof' enhanced to take an optional short title and mimic
+ '\listoffigures' where applicable
+- library 'skins':
+ * new option 'opacitybacklower'
+ * new jigsaw variant of 'bicolor':
+ 'bicolor jigsaw', 'bicolorfirst jigsaw', 'bicolormiddle jigsaw', 'bicolorlast jigsaw'
+ * implementation of bicolor overhauled
+ * skin documentation complemented with sidebyside examples.
+- library 'theorems':
+ * (#126) new option 'theorem hanging indent'
+- library 'vignette':
+ * (#133) documentation examples for fading styles for every side added
+- library 'raster':
+ * (#119) '\thetcbrasternum' changed output the content of a counter.
+ LaTeX counter 'tcbrasterrow', 'tcbrastercolumn', 'tcbrasternum' documented.
diff --git a/macros/latex/contrib/tcolorbox/README b/macros/latex/contrib/tcolorbox/README
index 55edf61ca4..e8391f6ff8 100644
--- a/macros/latex/contrib/tcolorbox/README
+++ b/macros/latex/contrib/tcolorbox/README
@@ -1,7 +1,7 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
index d77ecad60b..5e9133d668 100644
--- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
index 569308b3b5..8fa8fde32e 100644
--- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{listings,skins,xparse,external,raster}
diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
index 776a5694ec..cee87d113d 100644
--- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{pro@cessing}
@@ -69,6 +69,7 @@
\begingroup%
\ifnum\the\catcode`\"=13 \tcbexternal@activate@normal@dq\fi%
\message{=== Compile external '\tcbexternal@job@name': }%
+ \tcb@allocate@tcb@out%
\immediate\openout\tcb@out="\tcbexternal@run@tex"
\immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALINPUT{"\tcbexternal@job@source"}}%
\immediate\write\tcb@out{\string\gdef\string\TCBEXTERNALSAFETY{\tcbexternal@safety}}%
diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
index 31e0b37980..c9a63da68f 100644
--- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
index 9e3be34df0..db39f0cb23 100644
--- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
index f44cbe9a4e..84e3bccff5 100644
--- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{listings}[2007/02/22]
diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
index b070c4e727..5f0afcc8af 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
index b4fb28f987..1ad84adf57 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{listings}
diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
index 0e29cfe97d..caa2b0cb0f 100644
--- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
index 20b548f0ae..13f1e26f9e 100644
--- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{minted}[2011/09/17]
diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
index 591806e8e5..cdec336256 100644
--- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
index 14e7c8d430..7de64918b3 100644
--- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{pdftexcmds}
\RequirePackage{shellesc}
@@ -35,6 +35,7 @@
}
\def\tcbproc@writemdfive#1{%
+ \tcb@allocate@tcb@out%
\immediate\openout\tcb@out=#1%
\immediate\write\tcb@out{\string\def\string\tcbproclastmdfivesum{\tcbprocmdfivesum}\@percentchar}%
\immediate\closeout\tcb@out%
diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
index 2cdfbfcd7b..3a00af7be6 100644
--- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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,14 +17,13 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
+\newcounter{tcbrasternum}
\newcounter{tcbraster}
-\newrobustcmd{\thetcbrasternum}{\the\numexpr(\c@tcbrasterrow-1)*\kvtcb@raster@columns+\c@tcbrastercolumn\relax}
-
\def\tcb@raster@ehg@all{%
\tcbset{equal height group={\kvtcb@raster@ehgid}}%
}
@@ -75,7 +74,7 @@
\tcb@warning{'raster multicolumn' combined too much columns}%
\else%
\tcbset@late@options{%
- code={\preto\kvtcb@afterbox{\addtocounter{tcbrastercolumn}{\numexpr#1-1}}},
+ code={\preto\kvtcb@afterbox{\addtocounter{tcbrastercolumn}{\numexpr#1-1}\addtocounter{tcbrasternum}{\numexpr#1-1}}},
width=(\tcb@raster@box@width+\tcb@raster@xskip)*#1-\tcb@raster@xskip}%
\fi%
},
@@ -130,10 +129,11 @@
\edef\tcb@raster@save@column{\number\c@tcbrastercolumn}%
\edef\tcb@raster@save@row{\number\c@tcbrasterrow}%
\let\tcb@raster@change@fitbox\@empty%
+ \setcounter{tcbrasternum}{1}%
\setcounter{tcbrastercolumn}{1}%
\setcounter{tcbrasterrow}{1}%
\let\tcb@height@fill@unbroken\tcb@height@fill@unbroken@raster%
- \tcbset{every box on layer \the\numexpr\number\c@tcblayer+1\relax/.code={%
+ \tcbset{every box on layer \the\numexpr\number\c@tcblayer+1\relax/.append code={%
\tcb@raster@ehg@set%
\tcbset{raster every box/.try}%
\ifodd\c@tcbrastercolumn\relax%
@@ -148,13 +148,13 @@
\tcbset{raster even row/.try}%
\fi%
\tcbset{raster row \number\c@tcbrasterrow/.try}%
- \ifodd\thetcbrasternum\relax%
+ \ifodd\c@tcbrasternum\relax%
\tcbset{raster odd number/.try}%
\else%
\tcbset{raster even number/.try}%
\fi%
\tcbset{raster row \number\c@tcbrasterrow\space column \number\c@tcbrastercolumn/.try}%
- \tcbset{raster number \thetcbrasternum/.try}%
+ \tcbset{raster number \number\c@tcbrasternum/.try}%
}}%
\tcbset{#1}%
% sanitize
@@ -171,9 +171,10 @@
\ifnum\c@tcbrasterrow>1 \parindent\z@\parskip\z@\par\nointerlineskip\addvspace{\the\dimexpr\tcb@raster@yskip\relax}\noindent\fi%
\kern\tcb@raster@skip@left\fi},
after={%
+ \stepcounter{tcbrasternum}%
\ifnum\c@tcbrastercolumn=\kvtcb@raster@columns\relax%
\kern\tcb@raster@skip@right%
- \setcounter{tcbrastercolumn}{1}\addtocounter{tcbrasterrow}{1}%
+ \setcounter{tcbrastercolumn}{1}\stepcounter{tcbrasterrow}%
\else%
\stepcounter{tcbrastercolumn}%
\fi},%
@@ -216,6 +217,7 @@
\tcb@end@raster%
\setcounter{tcbrastercolumn}{\tcb@raster@save@column}%
\setcounter{tcbrasterrow}{\tcb@raster@save@row}%
+ \setcounter{tcbrasternum}{\the\numexpr(\c@tcbrasterrow-1)*\kvtcb@raster@columns+\c@tcbrastercolumn\relax}%
}
\newcommand{\tcbitem@following}[1][]{%
diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
index 0df4c6b0c6..fc1ad843fa 100644
--- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{tikz}[2010/10/13]
@@ -111,6 +111,7 @@
\tikzset{%
tcb fill frame/.style={fill=tcbcolframe,fill opacity=\kvtcb@opacityframe,tcb@spec,frame@style},%
tcb fill interior/.style={fill=tcbcolback,fill opacity=\kvtcb@opacityback,tcb@spec,interior@style},%
+ tcb fill lower bicolor/.style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,tcb@spec,segmentation@style},%
tcb fill title/.style={fill=tcbcolbacktitle,fill opacity=\kvtcb@opacitybacktitle,tcb@spec,title@style},%
}
@@ -225,33 +226,63 @@
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
}
-\def\tcb@drawspec@sbs@A#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}%
+\def\tcb@drawspec@sbs@a{%
+ \tcb@pathbase{tcb fill interior}{interior.south west}{segmentation.north}%
+ {\tcb@arc@ins@SW}{\tcb@arc@ins@NW}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@A{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south}{interior.north east}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@NE}{\tcb@arc@ins@SE}%
}
-\def\tcb@drawspec@sbs@B#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.north east}%
+\def\tcb@drawspec@sbs@b{%
+ \tcb@pathbase{tcb fill interior}{interior.south west}{segmentation.north}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@B{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south}{interior.north east}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
-\def\tcb@drawspec@sbs@C#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}%
+\def\tcb@drawspec@sbs@c{%
+ \tcb@pathbase{tcb fill interior}{interior.south west|-frame.south}{segmentation.north}%
+ {\tcb@arc@zpt}{\tcb@arc@ins@NW}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@C{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south|-frame.south}{interior.north east}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@NE}{\tcb@arc@zpt}%
}
-\def\tcb@drawspec@sbs@D#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.north east}%
+\def\tcb@drawspec@sbs@d{%
+ \tcb@pathbase{tcb fill interior}{interior.south west|-frame.south}{segmentation.north}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@D{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south|-frame.south}{interior.north east}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
}
-\def\tcb@drawspec@sbs@E#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south|-frame.south}{interior.east|-frame.north}%
+\def\tcb@drawspec@sbs@e{%
+ \tcb@pathbase{tcb fill interior}{interior.south west|-frame.south}{segmentation.north|-frame.north}%
+ {\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@E{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south|-frame.south}{interior.east|-frame.north}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
}
-\def\tcb@drawspec@sbs@F#1{%
- \tcb@pathbase{#1,segmentation@style}{segmentation.south}{interior.east|-frame.north}%
+\def\tcb@drawspec@sbs@f{%
+ \tcb@pathbase{tcb fill interior}{interior.south west}{segmentation.north|-frame.north}%
+ {\tcb@arc@ins@SW}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}%
+}
+
+\def\tcb@drawspec@sbs@F{%
+ \tcb@pathbase{tcb fill lower bicolor}{segmentation.south}{interior.east|-frame.north}%
{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@zpt}{\tcb@arc@ins@SE}%
}
@@ -377,6 +408,7 @@
([yshift=-\kvtcb@title@rule/2]title.south west)--([yshift=-\kvtcb@title@rule/2]title.south east);
\fi}},%
colbacklower/.colorlet=tcbcolbacklower,%
+ opacitybacklower/.store in=\kvtcb@opacitybacklower,
clear@spec/.code={\tcb@spec{}},%
tikz/.code={\appto\tcb@tikz@option@hook{,#1}},%
tikz reset/.code={\let\tcb@tikz@option@hook\@empty},%
@@ -511,30 +543,45 @@
interior titled code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@path}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@b%
+ \else%
+ \tcb@drawwithtitle@path%
+ \fi
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UT%
+ \tcb@drawspec@UT%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithtitle@path}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithtitle@path}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@path}%
+ \tcb@drawwithtitle@path%
\fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@path}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@a%
+ \else%
+ \tcb@drawwithouttitle@path%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UR%
+ \tcb@drawspec@UR%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithouttitle@path}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithouttitle@path}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@path}%
+ \tcb@drawwithouttitle@path%
\fi\tcb@spec{}},
- segmentation code={\iftcb@sidebyside%
- \iftcb@hasTitle\tcb@drawspec@sbs@B{fill=tcbcolbacklower}\else%
- \tcb@drawspec@sbs@A{fill=tcbcolbacklower}\fi\else\tcb@drawspec@LR{fill=tcbcolbacklower}\fi\tcb@spec{}},%
+ segmentation code={%
+ \iftcb@sidebyside%
+ \iftcb@hasTitle%
+ \tcb@drawspec@sbs@B%
+ \else%
+ \tcb@drawspec@sbs@A%
+ \fi%
+ \else%
+ \tcb@drawspec@LR{fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower}%
+ \fi\tcb@spec{}},%
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolorlast}
\tcbset{bicolor/.style={skin=bicolor}}
@@ -544,30 +591,45 @@
interior titled code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathfirst}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@d%
+ \else%
+ \tcb@drawwithtitle@pathfirst%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UT%
+ \tcb@drawspec@UT%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithtitle@pathfirst}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithtitle@pathfirst}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathfirst}%
+ \tcb@drawwithtitle@pathfirst%
\fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathfirst}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@c%
+ \else%
+ \tcb@drawwithouttitle@pathfirst%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UR%
+ \tcb@drawspec@UR%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithouttitle@pathfirst}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithouttitle@pathfirst}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathfirst}%
+ \tcb@drawwithouttitle@pathfirst%
\fi\tcb@spec{}},
- segmentation code={\iftcb@sidebyside%
- \iftcb@hasTitle\tcb@drawspec@sbs@D{fill=tcbcolbacklower}\else%
- \tcb@drawspec@sbs@C{fill=tcbcolbacklower}\fi\else\tcb@drawspec@LS{fill=tcbcolbacklower}\fi\tcb@spec{}},%
+ segmentation code={%
+ \iftcb@sidebyside%
+ \iftcb@hasTitle%
+ \tcb@drawspec@sbs@D%
+ \else%
+ \tcb@drawspec@sbs@C
+ \fi%
+ \else%
+ \tcb@drawspec@LS{fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower}%
+ \fi\tcb@spec{}},%
skin first=bicolorfirst,skin middle=bicolormiddle,skin last=bicolormiddle}
\tcb@new@skin{bicolormiddle}{base@middle,%
@@ -575,30 +637,45 @@
interior titled code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathmiddle}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@d%
+ \else%
+ \tcb@drawwithtitle@pathmiddle%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UT%
+ \tcb@drawspec@UT%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithtitle@pathmiddle}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithtitle@pathmiddle}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathmiddle}%
+ \tcb@drawwithtitle@pathmiddle%
\fi\tcb@spec{}},%
interior code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathmiddle}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@e%
+ \else%
+ \tcb@drawwithouttitle@pathmiddle%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@US%
+ \tcb@drawspec@US%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithouttitle@pathmiddle}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithouttitle@pathmiddle}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathmiddle}%
+ \tcb@drawwithouttitle@pathmiddle%
\fi\tcb@spec{}},
- segmentation code={\iftcb@sidebyside%
- \iftcb@hasTitle\tcb@drawspec@sbs@D{fill=tcbcolbacklower}\else%
- \tcb@drawspec@sbs@E{fill=tcbcolbacklower}\fi\else\tcb@drawspec@LS{fill=tcbcolbacklower}\fi\tcb@spec{}},%
+ segmentation code={%
+ \iftcb@sidebyside%
+ \iftcb@hasTitle%
+ \tcb@drawspec@sbs@D%
+ \else%
+ \tcb@drawspec@sbs@E%
+ \fi%
+ \else%
+ \tcb@drawspec@LS{fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower}%
+ \fi\tcb@spec{}},%
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolormiddle}
\tcb@new@skin{bicolorlast}{base@last,%
@@ -606,30 +683,45 @@
interior titled code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathlast}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@b%
+ \else%
+ \tcb@drawwithtitle@pathlast%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@UT%
+ \tcb@drawspec@UT%
\else%
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithtitle@pathlast}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithtitle@pathlast}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithtitle@pathlast}%
+ \tcb@drawwithtitle@pathlast%
\fi\tcb@spec{}},
interior code={%
\iftcb@lowerseparated%
\ifcase\tcbsegmentstate%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathlast}%
+ \iftcb@sidebyside%
+ \tcb@drawspec@sbs@f%
+ \else%
+ \tcb@drawwithouttitle@pathlast%
+ \fi%
\or%
- \tcb@spec{fill=tcbcolback}\tcb@drawspec@US%
+ \tcb@drawspec@US%
\else
- {\tcbset{interior style={fill=tcbcolbacklower,segmentation@style}}\tcb@drawwithouttitle@pathlast}%
+ {\tcbset{interior style={fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower,segmentation@style}}\tcb@drawwithouttitle@pathlast}%
\fi%
\else%
- {\tcb@spec{fill=tcbcolback}\tcb@drawwithouttitle@pathlast}%
+ \tcb@drawwithouttitle@pathlast%
+ \fi\tcb@spec{}},%
+ segmentation code={%
+ \iftcb@sidebyside%
+ \iftcb@hasTitle%
+ \tcb@drawspec@sbs@B%
+ \else%
+ \tcb@drawspec@sbs@F%
+ \fi%
+ \else%
+ \tcb@drawspec@LR{fill=tcbcolbacklower,fill opacity=\kvtcb@opacitybacklower}%
\fi\tcb@spec{}},%
- segmentation code={\iftcb@sidebyside%
- \iftcb@hasTitle\tcb@drawspec@sbs@B{fill=tcbcolbacklower}\else%
- \tcb@drawspec@sbs@F{fill=tcbcolbacklower}\fi\else\tcb@drawspec@LR{fill=tcbcolbacklower}\fi\tcb@spec{}},%
skin first=bicolormiddle,skin middle=bicolormiddle,skin last=bicolorlast}
\tcb@new@skin{tile}{skin@bicolor,frame engine=empty,%
@@ -1830,17 +1922,17 @@
}
\newcommand{\tcbincludepdf}[2][]{%
- \begingroup%
- \tcb@layer@pushup%
- \tcb@apply@box@options{enhanced,clip upper=true,valign=center,center upper,#1}%
- \appto\kvtcb@graphics@options{,page=\imagepage}%
\tcb@include@graphics@preparefile{#2}%
\tcb@set@pdfpages\pdfpages{\imagepath}%
\foreach \imagepage in \kvtcb@graphics@pages%
{%
+ \begingroup%
+ \tcb@layer@pushup%
+ \tcb@apply@box@options{enhanced,clip upper=true,valign=center,center upper,#1}%
+ \appto\kvtcb@graphics@options{,page=\imagepage}%
\tcb@include@graphics%
+ \endgroup%
}%
- \endgroup%
}
\tcbset{%
@@ -1891,7 +1983,7 @@
\tcbset{%
reset@skins/.style={%
frame style=,interior style=,segmentation style=,@title style=,%
- colbacklower=black!15!white,%
+ colbacklower=black!15!white,opacitybacklower=1.0,%
extend freelance=,extend freelancefirst=,extend freelancemiddle=,extend freelancelast=,%
clear@spec,%
watermark opacity=1.00,watermark color=tcbcolback!85!tcbcolframe,%
diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
index ca0940971a..5ea2f296ae 100644
--- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{skins}
@@ -217,10 +217,31 @@
set@extensions@preframe={\tcb@draw@shadowjigsaw@last},%
skin first=enhancedmiddle jigsaw,skin middle=enhancedmiddle jigsaw,skin last=enhancedlast jigsaw}
+\tcb@new@skin{bicolor jigsaw}{skin@bicolor,%
+ frame engine=pathjigsaw,%
+ set@extensions@preframe={\tcb@draw@shadowjigsaw@unbroken},%
+ skin first=bicolorfirst jigsaw,skin middle=bicolormiddle jigsaw,skin last=bicolorlast jigsaw}
+
+\tcb@new@skin{bicolorfirst jigsaw}{skin@bicolorfirst,%
+ frame engine=pathfirstjigsaw,%
+ set@extensions@preframe={\tcb@draw@shadowjigsaw@first},%
+ skin first=bicolorfirst jigsaw,skin middle=bicolormiddle jigsaw,skin last=bicolormiddle jigsaw}
+
+\tcb@new@skin{bicolormiddle jigsaw}{skin@bicolormiddle,%
+ frame engine=pathmiddlejigsaw,%
+ set@extensions@preframe={\tcb@draw@shadowjigsaw@middle},%
+ skin first=bicolormiddle jigsaw,skin middle=bicolormiddle jigsaw,skin last=bicolormiddle jigsaw}
+
+\tcb@new@skin{bicolorlast jigsaw}{skin@bicolorlast,%
+ frame engine=pathlastjigsaw,%
+ set@extensions@preframe={\tcb@draw@shadowjigsaw@last},%
+ skin first=bicolormiddle jigsaw,skin middle=bicolormiddle jigsaw,skin last=bicolorlast jigsaw}
+
\tcbset{%
enhanced jigsaw/.style={skin=enhanced jigsaw},%
enhanced standard jigsaw/.style={skin=enhanced jigsaw,
skin first=enhanced jigsaw,skin middle=enhanced jigsaw,skin last=enhanced jigsaw},%
+ bicolor jigsaw/.style={skin=bicolor jigsaw},%
frame engine/pathjigsaw/.style={frame code=\tcb@drawframe@pathjigsaw},
frame engine/pathfirstjigsaw/.style={frame code=\tcb@drawframe@pathfirstjigsaw},
frame engine/pathmiddlejigsaw/.style={frame code=\tcb@drawframe@pathmiddlejigsaw},
diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
index 334f51dea9..fb99f3ef12 100644
--- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{amsmath}
@@ -30,6 +30,8 @@
\def\tcb@theo@desc@form@std#1{\tcb@desc@col\kvtcb@desc@font\kvtcb@desc@delim@left#1\kvtcb@desc@delim@right}
+\def\tcb@theo@title@indent@std#1{\hangindent#1\hangafter=1\relax}
+
\def\tcb@theo@title#1#2#3{%
\ifdefempty{#2}{\setbox\z@=\color@hbox#1\color@endbox}{\setbox\z@=\tcb@theo@form{#1}{#2}}%
\def\temp@a{#3}%
@@ -37,8 +39,7 @@
\unhbox\z@\kvtcb@terminatorsign%
\else%
\setbox\z@=\hbox{\unhbox\z@\kvtcb@separatorsign\ }%
- \hangindent\wd\z@%
- \hangafter=1%
+ \tcb@theo@title@indent{\wd\z@}%
\mbox{\unhbox\z@}{\tcb@theo@desc@form{#3}}\kvtcb@terminatorsign%
\fi%
}
@@ -136,6 +137,23 @@
theorem style/margin break/.style={theorem style=margin,attach title to upper={\par}},
theorem label supplement/.style={tcb@theo@label@supp/.style={#1}},
theorem full label supplement/.style={tcb@theo@full@label@supp/.style={#1}},
+ theorem hanging indent/.code={%
+ \ifstrequal{#1}{auto}{%
+ \let\tcb@theo@title@indent\tcb@theo@title@indent@std%
+ }{%
+ \def\tcb@theo@title@indent##1{%
+ \ifdim#1=0pt\relax%
+ \else%
+ \ifdim#1>0pt\relax%
+ \hangindent#1\hangafter=1\relax%
+ \else%
+ \hangindent\dimexpr-#1\relax\hangafter=-1\relax%
+ \fi%
+ \fi
+ }%
+ }%
+ },
+ theorem hanging indent/.default=auto,
}
\newcommand{\new@tcbtheorem}[5][]{%
@@ -165,6 +183,7 @@
highlight math style={colframe=red,colback=yellow!25!white},%
theorem style=standard,label separator=:,%
theorem label supplement=,theorem full label supplement=,%
+ theorem hanging indent%
},
initialize@reset=reset@theorems,
}
diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
index cd02d69ff3..ec97bb5363 100644
--- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
index 8fbf7fb8a1..00586c8109 100644
--- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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@set@library@version{4.42}
+\tcb@set@library@version{4.50}
\RequirePackage{xparse}[2013/12/31]
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
index 8df5f0fb63..4fc9120250 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
index 7561a6fa3d..9bd42004ef 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
index 8d7e1b9e17..7421a0d17f 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
index 0d1cb965bd..94dbb582d0 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
index 71727a970e..7cf183600b 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
index de4c7d17b9..1b49b54687 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
index 9720be99f0..344cf30273 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
@@ -852,6 +852,11 @@ the \emph{break sequence} parts are displayed.
\tcbbreakskininto{bicolormiddle}{bicolormiddle}{bicolormiddle}{bicolormiddle}{bicolor}
\tcbbreakskininto{bicolorlast}{bicolormiddle}{bicolormiddle}{bicolorlast}{bicolor}
\clearpage
+\tcbbreakskininto{bicolor jigsaw}{bicolorfirst jigsaw}{bicolormiddle jigsaw}{bicolorlast jigsaw}{bicolor jigsaw}
+\tcbbreakskininto{bicolorfirst jigsaw}{bicolorfirst jigsaw}{bicolormiddle jigsaw}{bicolormiddle jigsaw}{bicolor jigsaw}
+\tcbbreakskininto{bicolormiddle jigsaw}{bicolormiddle jigsaw}{bicolormiddle jigsaw}{bicolormiddle jigsaw}{bicolor jigsaw}
+\tcbbreakskininto{bicolorlast jigsaw}{bicolormiddle jigsaw}{bicolormiddle jigsaw}{bicolorlast jigsaw}{bicolor jigsaw}
+\clearpage
\tcbbreakskininto{tile}{tilefirst}{tilemiddle}{tilelast}{tile,colbacktitle=Navy}
\tcbbreakskininto{tilefirst}{tilefirst}{tilemiddle}{tilemiddle}{tile,colbacktitle=Navy}
\tcbbreakskininto{tilemiddle}{tilemiddle}{tilemiddle}{tilemiddle}{tile,colbacktitle=Navy}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
index 795c0bae49..c396417530 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
@@ -173,7 +173,7 @@ This is my own box.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\newtcolorbox{mybox}[1]{colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
- title=#1}
+ title={#1}}
\begin{mybox}{Hello there}
This is my own box with a mandatory title.
@@ -185,7 +185,7 @@ This is my own box with a mandatory title.
colframe=red!75!black,fonttitle=\bfseries,
colbacktitle=red!85!black,enhanced,
attach boxed title to top center={yshift=-2mm},
- title=#2,#1}
+ title={#2},#1}
\begin{mybox}[colback=yellow]{Hello there}
This is my own box with a mandatory title
@@ -229,7 +229,7 @@ numbered title and options.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\newtcbox{\mybox}[1]{colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
- title=#1}
+ title={#1}}
\mybox{Hello there}{This is my own box.}
\end{dispExample*}
@@ -237,7 +237,7 @@ numbered title and options.
\begin{dispExample*}{sbs,lefthand ratio=0.6}
\newtcbox{\mybox}[2][]{colback=red!5!white,
colframe=red!75!black,fonttitle=\bfseries,
- title=#2,#1}
+ title={#2},#1}
\mybox[colback=yellow]{Hello there}%
{This is my own box.}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
index d885f48279..7fe459fc94 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
@@ -409,7 +409,7 @@ This is the lower part.
\tcolorbox[savedelimiter=mybox,
savelowerto=\jobname_bspsave2.tex,lowerbox=ignored,
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- title=#1]}%
+ title={#1}]}%
{\endtcolorbox}
\begin{mybox}{My Example}
@@ -432,7 +432,7 @@ allows a more convenient usage:
\newtcolorbox{mybox}[1]{%
savelowerto=\jobname_bspsave2.tex,lowerbox=ignored,
colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,
- title=#1}%
+ title={#1}}%
\begin{mybox}{My Example}
Upper part.
@@ -469,6 +469,7 @@ This is a \textbf{tcolorbox}.
\end{exdispExample*}
\end{docTcbKey}
+Also see \refKey{/tcb/colbacklower} of the \mylib{skins} library.
\begin{docTcbKey}{title filled}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
Switches the drawing of the title background according to the given value.
@@ -1537,7 +1538,9 @@ skin variants, see \Vref{subsec:skinjigsaw}.
\begin{docTcbKey}{opacityframe}{=\meta{fraction}}{no default, initially \texttt{1.0}}
Sets the frame opacity of the box to the given \meta{fraction}.
-\begin{exdispExample*}{opacityframe}{sbs,lefthand ratio=0.6,segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\begin{exdispExample*}{opacityframe}{sbs,lefthand ratio=0.6,
+ segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}
+ }
\begin{tcolorbox}[opacityframe=0.25,
colframe=red]
This is a \textbf{tcolorbox}.
@@ -1555,6 +1558,7 @@ This is a \textbf{tcolorbox}.
\end{exdispExample*}
\end{docTcbKey}
+Also see \refKey{/tcb/opacitybacklower} of the \mylib{skins} library.
\begin{docTcbKey}{opacitybacktitle}{=\meta{fraction}}{no default, initially \texttt{1.0}}
Sets the title background opacity of the box to the given \meta{fraction}.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
index 607ef00769..7b3147217b 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
@@ -497,7 +497,7 @@ are adapted. In the following, adapting the font size means adapting
bottom=1mm,right=1mm,boxsep=0mm,width=3.5cm,height=7cm,nobeforeafter,
before upper=\textcolor{blue}{\rule{5mm}{5mm}}\ ,
enhanced,watermark text={\tcbfitsteps},
- fonttitle=\bfseries,adjusted title=#1,fit algorithm=#1}
+ fonttitle=\bfseries,adjusted title={#1},fit algorithm=#1}
\mybox{fontsize}{\lipsum[2]}\hfill
\mybox{hybrid}{\lipsum[2]}\hfill
@@ -513,7 +513,7 @@ Quality \dotfill versus \dotfill Speed
\newtcboxfit{mybox}[2]{colback=red!5!white,colframe=red!75!black,left=1mm,top=1mm,
size=tight,width=7.2cm,height=5cm,nobeforeafter,
before upper=\textcolor{blue}{\rule{5mm}{5mm}}\ ,
- enhanced,fonttitle=\bfseries,adjusted title=#2,fit algorithm=#1}
+ enhanced,fonttitle=\bfseries,adjusted title={#2},fit algorithm=#1}
\mybox{hybrid}{hybrid (possible gap at end)}{\lipsum[1]}\hfill
\mybox{hybrid*}{hybrid* (no gap but possibly squeezed)}{\lipsum[1]}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
index f3fab2221b..da47d26378 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
@@ -187,7 +187,7 @@ from page \pageref{subsec:overlays}.
\begin{scope}[shift={([xshift=\x]frame.north west)}]
\path[draw=green!65!black,fill=green!10,line width=1mm] (0,0) arc (0:180:5mm);
\path[fill=black] (-0.2,0) arc (0:180:1mm);
- \end{scope}}}]}}
+ \end{scope}}}}}
\tcbset{ribbon/.style={overlay app={%
\path[fill=blue!75!white,draw=blue,double=white!85!blue,
preaction={opacity=0.6,fill=blue!75!white},
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
index ef1ebcf055..48af585551 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
@@ -20,6 +20,9 @@ Particularly, they can be used for
Typically, these options may generate counters and alike.
It is \textbf{strongly} recommended that you use initialization options inside
the preamble only. Otherwise, you may get trouble when using \LaTeX's |\include| features.
+Also, it is recommended to generate new environments and commands with these
+options \emph{after} |hyperref| is loaded to avoid warnings about
+\emph{duplicate identifiers}.
\end{marker}
@@ -337,16 +340,43 @@ be redefined or a new \meta{type} can be assigned.
\end{newTcbKey}
-\begin{docCommand}{tcblistof}{\oarg{macro}\marg{name}\marg{title text}}
+\clearpage
+\begin{docCommand}[doc updated=2021-05-20]{tcblistof}{\oarg{macro}\marg{name}\oarg{short}\marg{title text}}
Displays the generated list of |tcolorbox|es with the given \meta{name}.
-The heading is generated by \meta{macro}\marg{title text} where \texttt{\textbackslash section}
-is the default setting for \meta{macro}.\par
+The heading is generated by \meta{macro}\oarg{short}\marg{title text} where \texttt{\textbackslash section}
+is the default setting for \meta{macro}.
+Here, as usual, \meta{title text} is the title of the section or chapter
+while \meta{short} is a shorter title for headings and table of contents.
+\begin{itemize}
+\item If \meta{macro} ends with a |*|, \refCom{tcblistof} mimics the behavior of
+ |\listoffigures| from the standard \LaTeX\ classes and adds the title
+ to the left and right mark for headings.
+\item If \meta{macro} starts with |\chapter|, a possible two column document setting
+ is restored to one column (as standard \LaTeX\ classes do for |\listoffigures|).
+\end{itemize}
+
+\medskip
To display the list inside a subsection, use for example:
\begin{dispListing}
\tcblistof[\subsection]{exam}{List of Exercises}
\end{dispListing}
The result of the example is found as Subsection \ref{listofexercises} on
page \pageref{listofexercises}.
+
+\medskip
+To apply the list similar to |\listoffigures| for a report or book, use for example:
+\begin{dispListing}
+\tcblistof[\chapter*]{exam}{List of Exercises}
+\end{dispListing}
+
+\medskip
+To set a short title for headings with the default |\section| setting, use for example:
+\begin{dispListing}
+\tcblistof{exam}[List of Exercises]{Elaborate List of Fine Exercises
+ 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.
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
index 8f99797bc2..d6b884dc19 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
@@ -234,7 +234,7 @@ This is my \LaTeX\ box.
colback=red!5!white,
colframe=red!75!black,
fonttitle=\bfseries,
- title=#1}
+ title={#1}}
\begin{mybox}{Listing Box}
This is my \LaTeX\ box.
@@ -246,7 +246,7 @@ This is my \LaTeX\ box.
colback=red!5!white,
colframe=red!75!black,
fonttitle=\bfseries,
- title=#2,#1}
+ title={#2},#1}
\begin{mybox}[listing only]
{Listing Box}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
index 3a9c7524aa..a2eb8ac395 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
@@ -108,8 +108,13 @@ parameters and to set the properties for the enclosed boxes.
\item The boxes inside a raster are numbered automatically.
\docAuxCommand{thetcbrasternum} may be used inside a box to access
this number.
+ The \LaTeX\ counter \docCounter{tcbrastercolumn} holds the current column,
+ the counter \docCounter{tcbrasterrow} holds the current row,
+ and the counter \docCounter{tcbrasternum} holds the current box number.
\end{itemize}
+\enlargethispage*{1cm}
+
\begin{dispExample}
\begin{tcbraster}[raster columns=3, raster equal height,
size=small,colframe=red!50!black,colback=red!10!white,colbacktitle=red!50!white,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
index e9379a6fdd..63944de20a 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
@@ -227,6 +227,8 @@
posterbox,tcbposterwidth,tcbposterheight,tcbpostercolspacing,
tcbposterrowspacing,tcbpostercolumns,tcbposterrows,tcbpostercolwidth,
tcbposterrowheight,tcbposterset,
+ % extras
+ skinExampleSet,
},
texcsstyle=*\color{Definition}\bfseries,
classoffset=0% restore default
@@ -247,7 +249,7 @@
before skip balanced=4pt plus 2pt minus 1pt,
after skip balanced=5pt plus 2pt minus 1pt
},
- base example/.style={bicolor,
+ base example/.style={bicolor jigsaw,
beforeafter example,arc is angular,fonttitle=\bfseries,
fontlower=\footnotesize,
colframe=Blue_Dark,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
new file mode 100644
index 0000000000..5e039aee63
--- /dev/null
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex
@@ -0,0 +1,1636 @@
+% !TeX root = tcolorbox.tex
+% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
+\clearpage
+\section{Library \mylib{skins} - Catalog of Skins}\label{sec:skincatalog}%
+\tcbset{external/prefix=external/skincatalog_}%
+The \mylib{skins} library provides a catalog of skins to choose from which
+is documented in the following. The \mylib{skins} library has to be loaded
+by a package option or inside the preamble by:
+\begin{dispListing}
+\tcbuselibrary{skins}
+\end{dispListing}
+
+See \Vref{sec:skins} for the documentation of all other options of the \mylib{skins} library.
+
+\begin{itemize}
+\item In principle, a skin is applied by choosing a value for
+ \refKey{/tcb/skin}, e.g. \docValue*{enhanced}.
+ Since the parts of a breakable box should look different,
+ there are individual skins for breakable boxes, also see \Vref{subsec:breaksequence}.
+ Skins for breakable boxes derived from a base skin are called a skin family
+ in the following.
+\item Instead of setting values for \refKey{/tcb/skin}, equally named options
+ can be used which are shortcuts and which sometimes also change some
+ geometry or style settings. These are the intended options for normal users.
+ Typically, one of the following options is sufficient to select a skin:
+ \begin{itemize}
+ \item \refKey{/tcb/standard}
+ \item \refKey{/tcb/standard jigsaw}
+ \item \refKey{/tcb/enhanced}
+ \item \refKey{/tcb/enhanced jigsaw}
+ \item \refKey{/tcb/enhanced standard}
+ \item \refKey{/tcb/enhanced standard jigsaw}
+ \item \refKey{/tcb/bicolor}
+ \item \refKey{/tcb/tile}
+ \item \refKey{/tcb/beamer}
+ \item \refKey{/tcb/widget}
+ \item \refKey{/tcb/empty}
+ \item \refKey{/tcb/spartan}
+ \item \refKey{/tcb/draft}
+ \end{itemize}
+ Additionally, there are some special applications:
+ \begin{itemize}
+ \item \refKey{/tcb/marker}
+ \item \refKey{/tcb/blank}
+ \item \refKey{/tcb/blanker}
+ \item \refKey{/tcb/blankest}
+ \end{itemize}
+\end{itemize}
+
+
+
+\clearpage
+
+The auxiliary macro \docAuxCommand{skinExampleSet} is used for the
+following examples to display skin applications. Note that
+\docAuxCommand{skinExampleSet} is not part of the package, but is
+defined just for this documentation.
+
+\begin{dispListing}
+\NewDocumentCommand{\skinExampleSet}{m}{%
+ \begin{tcbraster}[raster equal height,raster columns=3,
+ colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
+ #1,
+ left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm,
+ sidebyside gap=4mm]
+ \begin{tcolorbox}
+ This is my content.
+ \end{tcolorbox}
+ \begin{tcolorbox}
+ This is my content.
+ \tcblower
+ More content.
+ \end{tcolorbox}
+ \begin{tcolorbox}[sidebyside]
+ My content.
+ \tcblower
+ More content.
+ \end{tcolorbox}
+ \begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \end{tcolorbox}
+ \begin{tcolorbox}[adjusted title=My title]
+ This is my content.
+ \tcblower
+ More content.
+ \end{tcolorbox}
+ \begin{tcolorbox}[adjusted title=My title,sidebyside]
+ My content.
+ \tcblower
+ More content.
+ \end{tcolorbox}
+ \end{tcbraster}
+}
+\end{dispListing}
+\tcbusetemp
+
+
+\clearpage
+\tcbset{skintable/.style={colframe=red!50!yellow!50!black,
+ colback=red!50!yellow!5!white,coltitle=red!50!yellow!3!white,
+ fonttitle=\bfseries,before=\par\smallskip,
+ title=Environment and engines for the skin \enquote{\texttt{#1}}}}
+
+\subsection{Skin Family \enquote{standard}}\label{subsec:skinstandard}
+\begin{marker}Note that the option keys \refKey{/tcb/frame style},
+ \refKey{/tcb/interior style},
+ \refKey{/tcb/segmentation style}, and
+ \refKey{/tcb/title style} are not be applicable to the standard skin.
+ Also, watermarks (see Subsection \ref{subsec:watermarks})
+ are not usable with the standard skin.
+\end{marker}
+
+\begin{docSkin}{standard}
+ This is the standard skin from the core package. All drawing engines
+ are set to type |standard|. The drawing is based on |pgf| commands and
+ does not need the |tikz| package.
+\begin{tcolorbox}[skintable=standard]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
+ \refKey{/tcb/frame engine}: \> |standard|\\
+ \refKey{/tcb/interior titled engine}: \> |standard|\\
+ \refKey{/tcb/interior engine}: \> |standard|\\
+ \refKey{/tcb/segmentation engine}: \> |standard|\\
+ \refKey{/tcb/title engine}: \> |standard|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{standard}{}{style, no value}
+ This is an abbreviation for setting |skin=standard|.
+\end{docTcbKey}
+
+\begin{dispExample}
+\skinExampleSet{standard}
+\end{dispExample}
+
+\clearpage
+
+\begin{docSkin}{standard jigsaw}
+ This is the standard jigsaw skin from the core package. It differs from
+ the skin \refSkin{standard} by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=standard jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
+ \refKey{/tcb/frame engine}: \> |standardjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> |standard|\\
+ \refKey{/tcb/interior engine}: \> |standard|\\
+ \refKey{/tcb/segmentation engine}: \> |standard|\\
+ \refKey{/tcb/title engine}: \> |standard|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{standard jigsaw}{}{style, no value}
+ This is an abbreviation for setting |skin=standard jigsaw|.
+\end{docTcbKey}
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{standard jigsaw,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+}
+\end{dispExample*}
+
+
+\clearpage
+\subsection{Skin Family \enquote{enhanced}}
+\begin{marker}
+If you like the standard appearance of a |tcolorbox| but you want to
+have some \enquote{enhanced} features, the |enhanced| skin is what you are looking for.
+\end{marker}
+
+\begin{docSkin}{enhanced}
+ This skin translates the drawing commands of the core package into |tikz|
+ path commands. Therefore, it allows all |tikz| high level options for
+ these paths and has more flexibility compared to the \refSkin{standard} skin.
+ You pay for this with some prolonged compilation time.
+ The |tikz| path options can
+ be given with the option keys
+ \refKey{/tcb/frame style},
+ \refKey{/tcb/interior style},
+ \refKey{/tcb/segmentation style}, and
+ \refKey{/tcb/title style}.
+\begin{tcolorbox}[skintable=enhanced]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |path|\\
+ \refKey{/tcb/interior titled engine}: \> |path|\\
+ \refKey{/tcb/interior engine}: \> |path|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{docTcbKey}{enhanced}{}{style, no value}
+ This is an abbreviation for setting |skin=enhanced|.
+\end{docTcbKey}
+
+\begin{dispExample}
+\skinExampleSet{enhanced}
+\end{dispExample}
+
+\clearpage
+
+\begin{dispExample}
+% \usetikzlibrary{shadings} % preamble
+\tcbset{skin=enhanced,fonttitle=\bfseries,
+ frame style={upper left=blue,upper right=red,lower left=yellow,lower right=green},
+ interior style={white,opacity=0.5},
+ segmentation style={black,solid,opacity=0.2,line width=1pt}}
+
+\begin{tcolorbox}[title=Nice box in rainbow colors]
+ With the \enquote{enhanced} skin, it is quite easy to produce fancy looking effects.
+ \tcblower
+ Note that this is still a \texttt{tcolorbox}.
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+% \usetikzlibrary{decorations.pathmorphing} % preamble
+\tcbset{skin=enhanced,fonttitle=\bfseries,boxrule=1mm,
+ frame style={draw=FireBrick,fill=Salmon},drop fuzzy shadow,
+ interior style={draw=FireBrick,top color=Salmon!10,bottom color=Salmon!20},
+ segmentation style={draw=FireBrick,solid,decorate,
+ decoration={coil,aspect=0,segment length=10.1mm}}}
+
+\begin{tcblisting}{title=A listing box with shadow and some specials}
+Of course, skins can be used for listings also.
+\begin{equation}
+ \int\limits_1^2 \frac{1}{x}~dx = \ln(2).
+\end{equation}
+\end{tcblisting}
+\end{dispExample}
+
+
+\clearpage
+
+
+\begin{docTcbKey}{enhanced standard}{}{style, no value}
+ For unbreakable boxes, this is identical to using \refKey{/tcb/enhanced}.
+ But, for breakable boxes, the \emph{break sequence} is identical to the \refSkin{standard} skin,
+ see Section \ref{subsec:breaksequence} from page \pageref{subsec:breaksequence}.
+\end{docTcbKey}
+
+
+\begin{docTcbKey}{blank}{}{style, initially unset}
+ This style relies on the skin \refSkin{enhanced}. All drawing operations
+ are hidden and all margins are set to |0pt|. See \refKey{/tcb/blanker}
+ for switching off the drawing engines.
+\begin{dispExample}
+\begin{tcolorbox}[blank,watermark text=A blank box]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+\begin{docCommand}{tcbline}{}
+ Sometimes, a line is only a line. With \refCom{tcblower} you separate
+ the box content into two functional units. |\tcbline| draws only a line
+ which looks like the segmentation line between upper and lower part.
+ Furthermore, you can use |\tcbline| more than just once.
+ |\tcbline| always uses the |path| drawing engine. Therefore,
+ the \refKey{/tcb/segmentation style} can be applied.
+
+\begin{dispExample}
+\tcbset{enhanced,colframe=blue!50!black,colback=white}
+
+\begin{tcolorbox}[colupper=red!50!black,collower=green!50!black]
+\lipsum[1]
+\tcbline
+\lipsum[2]
+\tcblower
+\lipsum[3]
+\tcbline
+\lipsum[4]
+\end{tcolorbox}
+\end{dispExample}
+\end{docCommand}
+
+\begin{docCommand}{tcbline*}{}
+ Equivalent to \refCom{tcbline}, but in a breakable box, \refCom{tcbline*}
+ is removed if at a page/box break. Also, it is removed at the end
+ of a box.
+\end{docCommand}
+
+\clearpage
+\begin{docSkin}{enhancedfirst}
+This is a flavor of \refSkin{enhanced} which is used as a \emph{first} part
+in a break sequence for \refSkin{enhanced}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=enhancedfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior engine}: \> |pathfirst|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=enhancedfirst}
+\end{dispExample}
+
+\medskip
+
+%\clearpage
+\begin{docSkin}{enhancedmiddle}
+This is a flavor of \refSkin{enhanced} which is used as a \emph{middle} part
+in a break sequence for \refSkin{enhanced}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=enhancedmiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior engine}: \> |pathmiddle|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=enhancedmiddle}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{enhancedlast}
+This is a flavor of \refSkin{enhanced} which is used as a \emph{last} part
+in a break sequence for \refSkin{enhanced}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=enhancedlast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlast|\\
+ \refKey{/tcb/interior titled engine}: \> |pathlast|\\
+ \refKey{/tcb/interior engine}: \> |pathlast|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{skin=enhancedlast}
+\end{dispExample}
+
+\clearpage
+
+\begin{docSkin}{enhanced jigsaw}
+ This is the jigsaw variant of skin \refSkin{enhanced}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=enhanced jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> |path|\\
+ \refKey{/tcb/interior engine}: \> |path|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{enhanced jigsaw}{}{style, no value}
+ This is an abbreviation for setting |skin=enhanced jigsaw|.
+\end{docTcbKey}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{enhanced jigsaw,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+}
+\end{dispExample*}
+
+
+\begin{docTcbKey}[][doc new=2017-07-01]{enhanced standard jigsaw}{}{style, no value}
+ For unbreakable boxes, this is identical to using \refKey{/tcb/enhanced jigsaw}.
+ But, for breakable boxes, the \emph{break sequence} is identical to the \refSkin{standard jigsaw} skin,
+ see Section \ref{subsec:breaksequence} from page \pageref{subsec:breaksequence}.
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docSkin}{enhancedfirst jigsaw}
+ This is the jigsaw variant of skin \refSkin{enhancedfirst}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=enhancedfirst jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior engine}: \> |pathfirst|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=enhancedfirst jigsaw,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+}
+\end{dispExample*}
+
+
+\clearpage
+\begin{docSkin}{enhancedmiddle jigsaw}
+ This is the jigsaw variant of skin \refSkin{enhancedmiddle}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=enhancedmiddle jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior engine}: \> |pathmiddle|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=enhancedmiddle jigsaw,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+}
+\end{dispExample*}
+
+
+\begin{docTcbKey}{marker}{}{style, no value}
+ This styles relies on the skin \refSkin{enhancedmiddle jigsaw}. It is
+ intended to be used as an optical marker like a highlighter pen.
+\begin{dispExample}
+\begin{tcolorbox}[marker]
+\lipsum[2]
+\end{tcolorbox}
+\end{dispExample}
+\end{docTcbKey}
+
+\clearpage
+
+\begin{dispListing*}{before upper={This examples demonstrates the creation of several
+ \emph{text marker} environments based on \refSkin{enhancedmiddle}.\par\medskip}}
+\tcbset{textmarker/.style={%
+ skin=enhancedmiddle jigsaw,breakable,parbox=false,
+ boxrule=0mm,leftrule=5mm,rightrule=5mm,boxsep=0mm,arc=0mm,outer arc=0mm,
+ left=3mm,right=3mm,top=1mm,bottom=1mm,toptitle=1mm,bottomtitle=1mm,oversize}}
+
+\newtcolorbox{yellow}{textmarker,colback=yellow!5!white,colframe=yellow}
+\newtcolorbox{orange}{textmarker,colback=DarkOrange!5!white,
+ colframe=DarkOrange!75!yellow}
+\newtcolorbox{red}{textmarker,colback=red!5!white,colframe=red}
+\newtcolorbox{blue}{textmarker,colback=DeepSkyBlue!5!white,colframe=DeepSkyBlue}
+\newtcolorbox{green}{textmarker,colback=Chartreuse!5!white,colframe=Chartreuse}
+\newtcolorbox{rainbow}{textmarker,interior hidden,
+ frame style={top color=blue,bottom color=red,middle color=green}}
+
+\begin{yellow}
+ \lipsum[1-3]
+\end{yellow}
+
+\begin{orange}
+ \lipsum[4]
+\end{orange}
+
+\begin{red}
+ \lipsum[5]
+\end{red}
+
+\begin{green}
+ \lipsum[6]
+\end{green}
+
+\begin{blue}
+ \lipsum[7]
+\end{blue}
+
+\begin{rainbow}
+ \lipsum[8]
+\end{rainbow}
+\end{dispListing*}
+{\tcbusetemp}
+
+
+\clearpage
+\begin{docSkin}{enhancedlast jigsaw}
+ This is the jigsaw variant of skin \refSkin{enhancedlast}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=enhancedlast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> |pathlast|\\
+ \refKey{/tcb/interior engine}: \> |pathlast|\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=enhancedlast jigsaw,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+}
+\end{dispExample*}
+
+
+
+\clearpage
+\subsection{Skin Family \enquote{bicolor}}
+\begin{docSkin}{bicolor}
+ This skin is quite similar to the \refSkin{standard} and \refSkin{enhanced} skin.
+ But instead of a segmentation line, the optional lower part of the box is filled with a
+ different color or drawn with a different style.
+\begin{tcolorbox}[skintable=bicolor]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |path|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+ \begin{itemize}
+ \item The most basic usage of this skin is to set the background color of
+ the lower part by \refKey{/tcb/colbacklower} and all other options like for
+ the \refSkin{standard} skin.
+\begin{dispExample}
+\begin{tcolorbox}[skin=bicolor,title=The title,
+ colframe=FireBrick!75!black,colback=Salmon!50!white,colbacklower=Salmon]
+ The upper part.
+ \tcblower
+ The lower part.
+\end{tcolorbox}
+\end{dispExample}
+ \item The more advanced usage of this skin is to apply the \refKey{/tcb/frame style}
+ and the \refKey{/tcb/interior style} like for
+ the \refSkin{enhanced} skin. Also, the \refKey{/tcb/segmentation style} can be
+ used, but it is applied to the whole lower part.
+\begin{dispExample}
+\begin{tcolorbox}[skin=bicolor,title=The title,
+ frame style={top color=FireBrick,
+ bottom color=FireBrick!15!white,draw=black},
+ interior style={left color=Salmon,right color=Salmon!50!white},
+ segmentation style={right color=Salmon,left color=Salmon!50!white}]
+ The upper part.
+ \tcblower
+ The lower part.
+\end{tcolorbox}
+\end{dispExample}
+ \end{itemize}
+\end{docSkin}
+
+\clearpage
+
+\begin{docTcbKey}{bicolor}{}{style, no value}
+ This is an abbreviation for setting |skin=bicolor|.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{bicolor,
+ colbacklower=LimeGreen!75!LightGreen,
+}
+\end{dispExample}
+
+\clearpage
+
+
+\begin{marker}
+ The following options \refKey{/tcb/colbacklower} and \refKey{/tcb/opacitybacklower}
+ are executed before \refKey{/tcb/segmentation style}, i.e.
+ \refKey{/tcb/segmentation style} overrules them.
+\end{marker}
+
+\begin{docTcbKey}{colbacklower}{=\meta{color}}{no default, initially \texttt{black!15!white}}
+ Sets the background \meta{color} of the lower part. It depends on the skin,
+ if this value is used.
+\end{docTcbKey}
+
+\begin{dispExample}
+\tcbset{gitexample/.style={listing and comment,comment={#1},
+ skin=bicolor,boxrule=1mm,fonttitle=\bfseries,coltitle=black,
+ frame style={draw=black,left color=Gold,right color=Goldenrod!50!Gold},
+ colback=black,colbacklower=Goldenrod!75!Gold,
+ colupper=white,collower=black,
+ listing options={language={bash},aboveskip=0pt,belowskip=0pt,nolol,
+ basicstyle=\ttfamily\bfseries,extendedchars=true}}}
+
+\begin{tcblisting}{title={Snapshot of the staging area},
+ gitexample={The option `-a' automatically stages all tracked and modified
+ files before the commit.\par
+ This can be combined with the message option `-m'
+ as seen in the third line.}}
+git commit
+git commit -a
+git commit -am 'changes to my example'
+\end{tcblisting}
+\end{dispExample}
+
+\smallskip
+
+\begin{docTcbKey}[][doc new=2021-05-21]{opacitybacklower}{=\meta{fraction}}{no default, initially \texttt{1.0}}
+ Sets the background opacity of the lower part to the given \meta{fraction}.
+ It depends on the skin, if this value is used.
+\end{docTcbKey}
+
+\begin{dispExample}
+\begin{tcolorbox}[bicolor,
+ frame style={preaction={fill=blue!50!black},
+ pattern=checkerboard,pattern color=blue!50!gray},
+ fonttitle=\bfseries,
+ colback=blue!10, colbacklower=white, opacitybacklower=0.65,
+ title={Example for a semilucent lower part}]
+This is the upper part.
+\tcblower
+And that is the lower part.
+\end{tcolorbox}
+\end{dispExample}
+
+\clearpage
+
+\begin{docSkin}{bicolorfirst}
+This is a flavor of \refSkin{bicolor} which is used as a \emph{first} part
+in a break sequence for \refSkin{bicolor}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=bicolorfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{skin=bicolorfirst,
+ colbacklower=LimeGreen!75!LightGreen,
+}
+\end{dispExample}
+
+
+\clearpage
+
+\begin{docSkin}{bicolormiddle}
+This is a flavor of \refSkin{bicolor} which is used as a \emph{middle} part
+in a break sequence for \refSkin{bicolor}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=bicolormiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=bicolormiddle,
+ colbacklower=LimeGreen!75!LightGreen,
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{bicolorlast}
+This is a flavor of \refSkin{bicolor} which is used as a \emph{last} part
+in a break sequence for \refSkin{bicolor}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=bicolorlast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlast|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=bicolorlast,
+ colbacklower=LimeGreen!75!LightGreen,
+}
+\end{dispExample}
+
+
+\clearpage
+
+\begin{docSkin}[doc new=2021-05-21]{bicolor jigsaw}
+ This is the jigsaw variant of skin \refSkin{bicolor}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=bicolor jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{bicolor jigsaw}{}{style, no value}
+ This is an abbreviation for setting |skin=enhanced jigsaw|.
+\end{docTcbKey}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{bicolor jigsaw,
+ colbacklower=LimeGreen!75!LightGreen,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+ opacitybacklower=0.5,
+}
+\end{dispExample*}
+
+
+\clearpage
+
+
+\begin{docSkin}[doc new=2021-05-21]{bicolorfirst jigsaw}
+ This is the jigsaw variant of skin \refSkin{bicolorfirst}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=bicolorfirst jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=bicolorfirst jigsaw,
+ colbacklower=LimeGreen!75!LightGreen,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+ opacitybacklower=0.5,
+}
+\end{dispExample*}
+
+
+
+\clearpage
+
+\begin{docSkin}[doc new=2021-05-21]{bicolormiddle jigsaw}
+ This is the jigsaw variant of skin \refSkin{bicolormiddle}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=bicolormiddle jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=bicolormiddle jigsaw,
+ colbacklower=LimeGreen!75!LightGreen,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+ opacitybacklower=0.5,
+}
+\end{dispExample*}
+
+
+\clearpage
+\begin{docSkin}[doc new=2021-05-21]{bicolorlast jigsaw}
+ This is the jigsaw variant of skin \refSkin{bicolorlast}.
+ It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
+\begin{tcolorbox}[skintable=bicolorlast jigsaw]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
+\skinExampleSet{skin=bicolorlast jigsaw,
+ colbacklower=LimeGreen!75!LightGreen,
+ opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
+ opacitybacklower=0.5,
+}
+\end{dispExample*}
+
+
+
+\clearpage
+\subsection{Skin Family \enquote{tile}}
+\begin{docSkin}[doc new=2016-02-25]{tile}
+ This skin is a variant of skin \refSkin{bicolor}. Especially, the
+ optional lower part of the box is colored by \refKey{/tcb/colbacklower}.
+ The main difference to \refSkin{bicolor} is that \refSkin{tile} has no
+ frame.
+\begin{tcolorbox}[skintable=tile]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}[][doc new=2016-02-25]{tile}{}{style, initially\\
+ |skin=tile,boxrule=0pt,sharp corners,title filled,fonttitle=\textbackslash bfseries|
+}
+ This key applies |skin=tile| and in addition changes the geometry and some style options.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{tile,
+ colbacklower=LimeGreen!75!LightGreen,
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}[doc new=2016-02-25]{tilefirst}
+This is a flavor of \refSkin{tile} which is used as a \emph{first} part
+in a break sequence for \refSkin{tile}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=tilefirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{skin=tilefirst,
+ colbacklower=LimeGreen!75!LightGreen,
+ boxrule=0pt,
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}[doc new=2016-02-25]{tilemiddle}
+This is a flavor of \refSkin{tile} which is used as a \emph{middle} part
+in a break sequence for \refSkin{tile}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=tilemiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=tilemiddle,
+ colbacklower=LimeGreen!75!LightGreen,
+ boxrule=0pt,
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}[doc new=2016-02-25]{tilelast}
+This is a flavor of \refSkin{tile} which is used as a \emph{last} part
+in a break sequence for \refSkin{tile}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=tilelast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=tilelast,
+ colbacklower=LimeGreen!75!LightGreen,
+ boxrule=0pt,
+}
+\end{dispExample}
+
+
+
+\clearpage
+\subsection{Skin Family \enquote{beamer}}
+
+\begin{docSkin}{beamer}
+ This skin resembles boxes known from the |beamer| class and therefore is
+ called \enquote{beamer}. It uses the normal colors from the core package but shades
+ them a little bit.
+\begin{tcolorbox}[skintable=beamer]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |path|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+
+\begin{docTcbKey}{beamer}{}{style, initially\\
+ |skin=beamer,boxrule=0mm,titlerule=1mm,toptitle=0.5mm,|\\
+ |arc=2mm,fonttitle=\textbackslash bfseries,drop fuzzy shadow|
+}
+ This key applies |skin=beamer| and in addition changes the geometry and some style options.
+\end{docTcbKey}
+
+
+
+\begin{dispExample}
+\skinExampleSet{beamer,title filled=false}
+\end{dispExample}
+
+
+
+\begin{dispExample}
+\begin{tcolorbox}[beamer,colback=Salmon!50!white,colframe=FireBrick!75!black,
+ adjusted title=A colored box with the \enquote{beamer} skin]
+This box looks like a box provided by the \texttt{beamer} class.
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+\begin{tcolorbox}[beamer,colframe=blue,colback=black,
+ watermark graphics=lichtspiel.jpg,
+ coltext=white,watermark opacity=0.75,watermark stretch=1.0,
+ title=Beamer Box with background picture]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+
+\begin{dispExample}
+\newtcolorbox{myblock}[2][]{%
+ beamer,breakable,colback=LightBlue,colframe=DarkBlue,#1,title={#2}}%
+
+\begin{myblock}{Beamerish \texttt{block}: \texttt{myblock}}
+\lipsum[1]
+\end{myblock}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{beamerfirst}
+This is a flavor of \refSkin{beamer} which is used as a \emph{first} part
+in a break sequence for \refSkin{beamer}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=beamerfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathfirst|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{beamer,title filled=false,skin=beamerfirst}
+\end{dispExample}
+
+
+\medskip
+
+\begin{docSkin}{beamermiddle}
+This is a flavor of \refSkin{beamer} which is used as a \emph{middle} part
+in a break sequence for \refSkin{beamer}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=beamermiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathmiddle|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{beamer,title filled=false,skin=beamermiddle}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{beamerlast}
+This is a flavor of \refSkin{beamer} which is used as a \emph{last} part
+in a break sequence for \refSkin{beamer}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=beamerlast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlast|\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> |pathlast|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{beamer,title filled=false,skin=beamerlast}
+\end{dispExample}
+
+
+
+\clearpage
+\subsection{Skin Family \enquote{widget}}
+\begin{docSkin}{widget}
+ This skin uses the normal colors from the core package but shades
+ them a little bit.
+ The appearance of the skin can be controlled by \refKey{/tcb/frame style},
+ \refKey{/tcb/interior style}, and \refKey{/tcb/segmentation style},
+ if needed.
+\begin{tcolorbox}[skintable=widget]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |path|\\
+ \refKey{/tcb/interior titled engine}: \> |path|\\
+ \refKey{/tcb/interior engine}: \> |path|\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{docTcbKey}[][doc updated={2020-09-23}]{widget}{}{style, initially\\
+ |skin=widget,arc=0.5mm,fonttitle=\bfseries,titlerule=0mm|
+}
+ This key applies |skin=widget| and in addition changes the geometry and some style options.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{widget}
+\end{dispExample}
+
+
+\begin{dispExample}
+\begin{tcolorbox}[widget,colback=Salmon!50!white,colframe=FireBrick!75!black,
+ adjusted title=A colored box with the \enquote{widget} skin]
+This is my content.
+\end{tcolorbox}
+\end{dispExample}
+
+\clearpage
+
+\begin{docSkin}{widgetfirst}
+This is a flavor of \refSkin{widget} which is used as a \emph{first} part
+in a break sequence for \refSkin{widget}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=widgetfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
+ \refKey{/tcb/interior engine}: \> |pathfirst|\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{widget,skin=widgetfirst}
+\end{dispExample}
+
+\medskip
+
+\begin{docSkin}{widgetmiddle}
+This is a flavor of \refSkin{widget} which is used as a \emph{middle} part
+in a break sequence for \refSkin{widget}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=widgetmiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
+ \refKey{/tcb/interior engine}: \> |pathmiddle|\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{widget,skin=widgetmiddle}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{widgetlast}
+This is a flavor of \refSkin{widget} which is used as a \emph{last} part
+in a break sequence for \refSkin{widget}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=widgetlast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |pathlast|\\
+ \refKey{/tcb/interior titled engine}: \> |pathlast|\\
+ \refKey{/tcb/interior engine}: \> |pathlast|\\
+ \refKey{/tcb/segmentation engine}: \> \emph{special}\\
+ \refKey{/tcb/title engine}: \> \emph{special}
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{widget,skin=widgetlast}
+\end{dispExample}
+
+
+\clearpage
+\subsection{Skin Family \enquote{empty}}
+
+\begin{docSkin}{empty}
+ This skin sets all engines to |empty|, i.\,e.\ nothing is drawn at all.
+ Therefore, this skin is a good starting point to create a complete
+ new style by yourself.
+\begin{tcolorbox}[skintable=empty]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{marker}
+ Note that the text colors stay unchanged when a skin is applied.
+ Since the standard title color
+ is white, the title of a box with skin \docValue*{empty} becomes
+ invisible, if not set to another color by \refKey{/tcb/coltitle}.
+\end{marker}
+
+
+\begin{docTcbKey}{empty}{}{style, no value}
+ This is an abbreviation for setting |skin=empty|.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{empty,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docTcbKey}{blanker}{}{style, initially unset}
+ This style relies on the skin \refSkin{empty}. All engines
+ are set to empty and all margins are set to |0pt|.
+ In contrast to \refKey{/tcb/blank}, the graphical paths are
+ not constructed with exception of the geometry nodes.
+\begin{dispExample}
+\begin{tcolorbox}[blanker,watermark text=A blank box]
+\lipsum[1]
+\end{tcolorbox}
+\end{dispExample}
+
+\begin{dispExample}
+% \tcbuselibrary{fitting}
+\newtcboxfit{\mybox}[1]{blanker,width=4cm,height=7cm,top=4pt,
+ watermark text=#1}
+
+\begin{tabular}{|c|c|c|}\hline
+A & B & C\\\hline
+\mybox{A}{\lipsum[1]} & \mybox{B}{\lipsum[2]} & \mybox{C}{\lipsum[3]}\\\hline
+\end{tabular}
+\end{dispExample}
+\end{docTcbKey}
+
+
+
+\clearpage
+\begin{docTcbKey}{blankest}{}{style, initially unset}
+ This style extends \refKey{/tcb/blanker}.
+ All engines are set to empty and all margins are set to |0pt|.
+ In contrast to \refKey{/tcb/blanker}, also title, shadow, underlay,
+ overlay, finish and borderline are removed.
+
+\begin{dispExample}
+% \tcbuselibrary{raster}
+\begin{tcbraster}[raster columns=3,raster equal height,
+ title=Box \thetcbrasternum,
+ enhanced,size=small,colframe=red!50!black,colback=red!10!white,
+ coltitle=yellow!85!black,
+ drop fuzzy shadow,watermark text={Box \thetcbrasternum},
+ borderline={.25mm}{-0.5mm}{green!40!black},
+ finish={\begin{tcbclipframe}\draw[blue,opacity=0.1,line width=1cm]
+ (frame.south west) -- (frame.north east);\end{tcbclipframe}},
+ ]
+ \begin{tcolorbox}\lipsum[4]\end{tcolorbox}
+ \begin{tcolorbox}[blanker]\lipsum[4]\end{tcolorbox}
+ \begin{tcolorbox}[blankest]\lipsum[4]\end{tcolorbox}
+\end{tcbraster}
+\end{dispExample}
+\end{docTcbKey}
+
+
+\clearpage
+\begin{docSkin}{emptyfirst}
+This is a flavor of \refSkin{empty} which is used as a \emph{first} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptyfirst]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=emptyfirst,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+}
+\end{dispExample}
+
+
+\clearpage
+
+\begin{docSkin}{emptymiddle}
+This is a flavor of \refSkin{empty} which is used as a \emph{middle} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptymiddle]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{dispExample}
+\skinExampleSet{skin=emptymiddle,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+}
+\end{dispExample}
+
+
+\clearpage
+\begin{docSkin}{emptylast}
+This is a flavor of \refSkin{empty} which is used as a \emph{last} part
+in a break sequence for \refSkin{empty}.
+Nevertheless, this skin can be applied independently.
+\begin{tcolorbox}[skintable=emptylast]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |empty|\\
+ \refKey{/tcb/interior titled engine}: \> |empty|\\
+ \refKey{/tcb/interior engine}: \> |empty|\\
+ \refKey{/tcb/segmentation engine}: \> |empty|\\
+ \refKey{/tcb/title engine}: \> |empty|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{dispExample}
+\skinExampleSet{skin=emptylast,
+ coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
+}
+\end{dispExample}
+
+\clearpage
+\begin{dispListing*}{breakable,phantomlabel=freeboxexample,before upper={This example demonstrates
+a breakable customized box. Here, we define an environment |freebox|.
+The first application of |freebox| produces an unbroken |tcolorbox|.
+The box is drawn by the code given by \refKey{/tcb/frame code}
+and \refKey{/tcb/interior code}.\par
+The second application of |freebox| is broken into several parts which
+are drawn by the codes given by
+\refKey{/tcb/skin first is subskin of},
+\refKey{/tcb/skin middle is subskin of}, and
+\refKey{/tcb/skin last is subskin of}.
+\par\bigskip
+}}
+% Preamble:
+%\usepackage{tikz,lipsum}
+%\tcbuselibrary{skins,breakable}
+\tikzset{coltria/.style={fill=red!15!white}}
+
+\newtcolorbox{freebox}[1][]{empty,
+ breakable,height fixed for=first and middle,
+ leftrule=5mm,left=2mm,
+ frame style={fill,top color=red!75!black,bottom color=red!75!black,middle color=red},
+ colback=yellow!50!white,
+ watermark color=red!50!yellow!75!white,
+ watermark text on=unbroken is unbroken box,
+ watermark text on=first is first part,
+ watermark text on=middle is middle part,
+ watermark text on=last is last part,
+ % code for unbroken boxes:
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
+ --([yshift=5mm]frame.south east)--([xshift=-5mm]frame.south east)--cycle; },
+ interior code={\path[tcb fill interior] (interior.south west)--(interior.north west)
+ --([xshift=-4.8mm]interior.north east)--([yshift=-4.8mm]interior.north east)
+ --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
+ --cycle; },
+ % code for the first part of a break sequence:
+ skin first is subskin of={emptyfirst}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
+ --(frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
+ -- +(60:2mm)-- cycle; },
+ interior code={\path[tcb fill interior] (interior.south west|-frame.south)
+ --(interior.north west)--([xshift=-4.8mm]interior.north east)
+ --([yshift=-4.8mm]interior.north east)--(interior.south east|-frame.south)
+ --cycle; },
+ },%
+ % code for the middle part of a break sequence:
+ skin middle is subskin of={emptymiddle}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --(frame.north east)--(frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
+ -- +(300:2mm) -- cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
+ -- +(60:2mm) -- cycle;
+ },
+ interior code={\path[tcb fill interior] (interior.south west|-frame.south)
+ --(interior.north west|-frame.north)--(interior.north east|-frame.north)
+ --(interior.south east|-frame.south)--cycle; },
+ },
+ % code for the last part of a break sequence:
+ skin last is subskin of={emptylast}{%
+ frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
+ --(frame.north east)--([yshift=5mm]frame.south east)
+ --([xshift=-5mm]frame.south east)--cycle;
+ \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
+ -- +(300:2mm) -- cycle;
+ },
+ interior code={\path[tcb fill interior] (interior.south west)
+ --(interior.north west|-frame.north)--(interior.north east|-frame.north)
+ --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
+ --cycle; },
+ },
+ #1}
+
+\begin{freebox}
+\lipsum[1]
+\end{freebox}
+
+\begin{freebox}
+\lipsum[1-12]
+\end{freebox}
+\end{dispListing*}
+{\tcbusetemp}
+
+
+\clearpage
+
+\subsection{Skin \enquote{spartan}}\label{subsec:spartan}
+
+\begin{docSkin}{spartan}
+ This skin is quite \ldots\ spartan.
+ It supports no rounded corners, no overlays, no shadows, no borderlines,
+ and no finishes. The only exception are underlays.
+ One cannot do very fancy things with this skin, but it compiles very fast.
+ Therefore, the |spartan| skin is
+ used for the draft mode, see \Vref{subsec:draftmode}.
+ Nevertheless, it can be used as a normal skin.
+
+\begin{tcolorbox}[skintable=spartan]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |spartan|\\
+ \refKey{/tcb/interior titled engine}: \> |spartan|\\
+ \refKey{/tcb/interior engine}: \> |spartan|\\
+ \refKey{/tcb/segmentation engine}: \> |spartan|\\
+ \refKey{/tcb/title engine}: \> |spartan|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+
+\begin{docTcbKey}{spartan}{}{style, no value}
+ This is an abbreviation for setting |skin=spartan|.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{spartan}
+\end{dispExample}
+
+
+\clearpage
+
+\subsection{Skin \enquote{draft}}\label{subsec:draft}
+
+\begin{docSkin}{draft}
+ This skin is intended to be used while drafting new geometric settings
+ for a |tcolorbox|.
+\begin{tcolorbox}[skintable=draft]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> \emph{special}\\
+ \refKey{/tcb/interior titled engine}: \> \emph{special}\\
+ \refKey{/tcb/interior engine}: \> \emph{special}\\
+ \refKey{/tcb/segmentation engine}: \> |path|\\
+ \refKey{/tcb/title engine}: \> |path|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{draft}{}{style, no value}
+ This is an abbreviation for setting |skin=draft|.
+\end{docTcbKey}
+
+
+\begin{dispExample}
+\skinExampleSet{draft}
+\end{dispExample}
+
+
+
+\begin{dispExample}
+\vspace*{3mm}
+\begin{tcolorbox}[draft,title=A colored box with the \enquote{draft} skin]
+\lipsum[1-3]
+\tcblower
+\lipsum[4-6]
+\end{tcolorbox}
+\end{dispExample}
+
+
+
+\clearpage
+\subsection{Skin Family \enquote{freelance}}
+\begin{marker}
+This skin family \enquote{freelance} is deprecated with |tcolorbox| 3.00.
+It is not longer needed, because
+\refKey{/tcb/frame code},
+\refKey{/tcb/interior code},
+\refKey{/tcb/interior titled code}, and
+\refKey{/tcb/title code}
+can be applied to every skin now. In this sense, everything has become
+\emph{freelance} now.\par
+For users of \refKey{/tcb/freelance}: Old code should continue to work. There may be
+exceptions for breakable freelance boxes under certain circumstances.
+For new code, use \refKey{/tcb/empty} or \refKey{/tcb/enhanced} where
+you would have used \refKey{/tcb/freelance} before.
+\end{marker}
+
+\begin{docSkin}{freelance}
+ This skin gives full freedom for the appearance of the |tcolorbox|.
+ All drawing engines are set to type |freelance|; they use the |tikz| package
+ and compute the \refKey{/tcb/geometry nodes}.
+ %This skin is useful for boxes which should differ much from the normal
+ %appearance. Note that this difference has to be programmed by the user.
+ %The drawing code can be given
+ %with the following option keys. As default value, the code from the |standard|
+ %skin is set.
+\begin{tcolorbox}[skintable=freelance]
+ \begin{tabbing}
+ \refKey{/tcb/interior titled engine}: \=\kill
+ \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
+ \refKey{/tcb/frame engine}: \> |freelance|\\
+ \refKey{/tcb/interior titled engine}: \> |freelance|\\
+ \refKey{/tcb/interior engine}: \> |freelance|\\
+ \refKey{/tcb/segmentation engine}: \> |freelance|\\
+ \refKey{/tcb/title engine}: \> |freelance|
+ \end{tabbing}
+\end{tcolorbox}
+\end{docSkin}
+
+\begin{docTcbKey}{freelance}{}{style, no value}
+ This is an abbreviation for setting |skin=freelance|.
+\end{docTcbKey}
+
+\begin{docSkin}{freelancefirst}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as first part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancefirst}
+ %can be used to customize this part.
+\end{docSkin}
+
+\begin{docSkin}{freelancemiddle}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as middle part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancemiddle}
+ %can be used to customize this part.
+\end{docSkin}
+
+\begin{docSkin}{freelancelast}
+ This skin equals \refSkin{freelance} with exception of the break sequence,
+ see \Vref{subsec:breaksequence}.
+ %It is used as last part of the
+ %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancelast}
+ %can be used to customize this part.
+\end{docSkin}
+
+
+\begin{docTcbKey}{extend freelance}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelance}.
+\end{docTcbKey}
+
+\begin{docTcbKey}{extend freelancefirst}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancefirst} which
+is used as first part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin first is subskin of} for a substitute of this key.
+\end{docTcbKey}
+
+\begin{docTcbKey}{extend freelancemiddle}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancemiddle} which
+is used as middle part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin middle is subskin of} for a substitute of this key.
+\end{docTcbKey}
+
+\enlargethispage*{1cm}
+
+\begin{docTcbKey}{extend freelancelast}{=\meta{options}}{no default, initially empty}
+The \meta{options} are added to the skin definition of \refSkin{freelancelast} which
+is used as last part of the break sequence of \refSkin{freelance}.
+See \refKey{/tcb/skin last is subskin of} for a substitute of this key.
+\end{docTcbKey}
+
+
+
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
index 32b395673d..1f3833a7f7 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
@@ -10,6 +10,10 @@ The library is loaded by a package option or inside the preamble by:
This also loads the package |tikz| \cite{tantau:tikz_and_pgf}. Typically but not necessarily,
the following skins use |tikz| instead of |pgf|.
+In the following, general settings and options of the library are
+documented.
+The actual catalog of skins is found in \Vref{sec:skincatalog}.
+
\subsection{Style Option Keys}\label{subsec:addstyleoptions}
The following style options are applicable for all skins which
use engines of type |path|, |pathfirst|, |pathmiddle|, or |pathlast|.
@@ -2837,9 +2841,9 @@ For certain boxes, a more delicate procedure is needed. E.g., if the box should
be translucent, an already painted area cannot be made unpainted. Therefore,
more elaborate frame engines saw holes into the frame where the interior area and
optionally the title area will be painted.
-The resulting skins are called \emph{jigsaw} skins. For \refSkin{standard}
-and \refSkin{enhanced}, there are variants called \refSkin{standard jigsaw}
-and \refSkin{enhanced jigsaw}.
+The resulting skins are called \emph{jigsaw} skins. For \refSkin{standard},
+\refSkin{enhanced}, and \refSkin{bicolor}, there are variants called \refSkin{standard jigsaw},
+\refSkin{enhanced jigsaw}, and \refSkin{bicolor jigsaw}.
\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
@@ -2971,1978 +2975,3 @@ This box looks like a box provided by the \texttt{beamer} class.
\end{docTcbKey}
-
-\clearpage
-\tcbset{skintable/.style={colframe=red!50!yellow!50!black,
- colback=red!50!yellow!5!white,coltitle=red!50!yellow!3!white,
- fonttitle=\bfseries,before=\par\smallskip,
- title=Environment and engines for the skin \enquote{\texttt{#1}}}}
-
-\subsection{Skin Family \enquote{standard}}\label{subsec:skinstandard}
-\begin{marker}Note that the option keys \refKey{/tcb/frame style},
- \refKey{/tcb/interior style},
- \refKey{/tcb/segmentation style}, and
- \refKey{/tcb/title style} are not be applicable to the standard skin.
- Also, watermarks (see Subsection \ref{subsec:watermarks})
- are not usable with the standard skin.
-\end{marker}
-
-\begin{docSkin}{standard}
- This is the standard skin from the core package. All drawing engines
- are set to type |standard|. The drawing is based on |pgf| commands and
- does not need the |tikz| package.
-\begin{tcolorbox}[skintable=standard]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
- \refKey{/tcb/frame engine}: \> |standard|\\
- \refKey{/tcb/interior titled engine}: \> |standard|\\
- \refKey{/tcb/interior engine}: \> |standard|\\
- \refKey{/tcb/segmentation engine}: \> |standard|\\
- \refKey{/tcb/title engine}: \> |standard|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{standard}{}{style, no value}
- This is an abbreviation for setting |skin=standard|.
-\end{docTcbKey}
-
-\begin{dispExample}
-\begin{tcbraster}[standard,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-
-\begin{docSkin}{standard jigsaw}
- This is the standard jigsaw skin from the core package. It differs from
- the skin \refSkin{standard} by its frame engine, see \Vref{subsec:skinjigsaw}.
-\begin{tcolorbox}[skintable=standard jigsaw]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |pgfpicture|\\
- \refKey{/tcb/frame engine}: \> |standardjigsaw|\\
- \refKey{/tcb/interior titled engine}: \> |standard|\\
- \refKey{/tcb/interior engine}: \> |standard|\\
- \refKey{/tcb/segmentation engine}: \> |standard|\\
- \refKey{/tcb/title engine}: \> |standard|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{standard jigsaw}{}{style, no value}
- This is an abbreviation for setting |skin=standard jigsaw|.
-\end{docTcbKey}
-
-\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
-\begin{tcbraster}[standard jigsaw,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample*}
-
-
-\clearpage
-\subsection{Skin Family \enquote{enhanced}}
-\begin{marker}
-If you like the standard appearance of a |tcolorbox| but you want to
-have some \enquote{enhanced} features, the |enhanced| skin is what you are looking for.
-\end{marker}
-
-\begin{docSkin}{enhanced}
- This skin translates the drawing commands of the core package into |tikz|
- path commands. Therefore, it allows all |tikz| high level options for
- these paths and has more flexibility compared to the \refSkin{standard} skin.
- You pay for this with some prolonged compilation time.
- The |tikz| path options can
- be given with the option keys
- \refKey{/tcb/frame style},
- \refKey{/tcb/interior style},
- \refKey{/tcb/segmentation style}, and
- \refKey{/tcb/title style}.
-\begin{tcolorbox}[skintable=enhanced]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> |path|\\
- \refKey{/tcb/interior engine}: \> |path|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{docTcbKey}{enhanced}{}{style, no value}
- This is an abbreviation for setting |skin=enhanced|.
-\end{docTcbKey}
-
-\begin{dispExample}
-\begin{tcbraster}[enhanced,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-\begin{dispExample}
-% \usetikzlibrary{shadings} % preamble
-\tcbset{skin=enhanced,fonttitle=\bfseries,
- frame style={upper left=blue,upper right=red,lower left=yellow,lower right=green},
- interior style={white,opacity=0.5},
- segmentation style={black,solid,opacity=0.2,line width=1pt}}
-
-\begin{tcolorbox}[title=Nice box in rainbow colors]
- With the \enquote{enhanced} skin, it is quite easy to produce fancy looking effects.
- \tcblower
- Note that this is still a \texttt{tcolorbox}.
-\end{tcolorbox}
-\end{dispExample}
-
-
-\begin{dispExample}
-% \usetikzlibrary{decorations.pathmorphing} % preamble
-\tcbset{skin=enhanced,fonttitle=\bfseries,boxrule=1mm,
- frame style={draw=FireBrick,fill=Salmon},drop fuzzy shadow,
- interior style={draw=FireBrick,top color=Salmon!10,bottom color=Salmon!20},
- segmentation style={draw=FireBrick,solid,decorate,
- decoration={coil,aspect=0,segment length=10.1mm}}}
-
-\begin{tcblisting}{title=A listing box with shadow and some specials}
-Of course, skins can be used for listings also.
-\begin{equation}
- \int\limits_1^2 \frac{1}{x}~dx = \ln(2).
-\end{equation}
-\end{tcblisting}
-\end{dispExample}
-
-
-\clearpage
-
-
-\begin{docTcbKey}{enhanced standard}{}{style, no value}
- For unbreakable boxes, this is identical to using \refKey{/tcb/enhanced}.
- But, for breakable boxes, the \emph{break sequence} is identical to the \refSkin{standard} skin,
- see Section \ref{subsec:breaksequence} from page \pageref{subsec:breaksequence}.
-\end{docTcbKey}
-
-
-\begin{docTcbKey}{blank}{}{style, initially unset}
- This style relies on the skin \refSkin{enhanced}. All drawing operations
- are hidden and all margins are set to |0pt|. See \refKey{/tcb/blanker}
- for switching off the drawing engines.
-\begin{dispExample}
-\begin{tcolorbox}[blank,watermark text=A blank box]
-\lipsum[1]
-\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-\begin{docCommand}{tcbline}{}
- Sometimes, a line is only a line. With \refCom{tcblower} you separate
- the box content into two functional units. |\tcbline| draws only a line
- which looks like the segmentation line between upper and lower part.
- Furthermore, you can use |\tcbline| more than just once.
- |\tcbline| always uses the |path| drawing engine. Therefore,
- the \refKey{/tcb/segmentation style} can be applied.
-
-\begin{dispExample}
-\tcbset{enhanced,colframe=blue!50!black,colback=white}
-
-\begin{tcolorbox}[colupper=red!50!black,collower=green!50!black]
-\lipsum[1]
-\tcbline
-\lipsum[2]
-\tcblower
-\lipsum[3]
-\tcbline
-\lipsum[4]
-\end{tcolorbox}
-\end{dispExample}
-\end{docCommand}
-
-\begin{docCommand}{tcbline*}{}
- Equivalent to \refCom{tcbline}, but in a breakable box, \refCom{tcbline*}
- is removed if at a page/box break. Also, it is removed at the end
- of a box.
-\end{docCommand}
-
-\clearpage
-\begin{docSkin}{enhancedfirst}
-This is a flavor of \refSkin{enhanced} which is used as a \emph{first} part
-in a break sequence for \refSkin{enhanced}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=enhancedfirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
- \refKey{/tcb/interior engine}: \> |pathfirst|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathfirst|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=enhancedfirst,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-\clearpage
-\begin{docSkin}{enhancedmiddle}
-This is a flavor of \refSkin{enhanced} which is used as a \emph{middle} part
-in a break sequence for \refSkin{enhanced}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=enhancedmiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior engine}: \> |pathmiddle|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathmiddle|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=enhancedmiddle,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-
-\clearpage
-\begin{docSkin}{enhancedlast}
-This is a flavor of \refSkin{enhanced} which is used as a \emph{last} part
-in a break sequence for \refSkin{enhanced}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=enhancedlast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> |pathlast|\\
- \refKey{/tcb/interior engine}: \> |pathlast|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathlast|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[skin=enhancedlast,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{enhanced jigsaw}
- This is the jigsaw variant of skin \refSkin{enhanced}.
- It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
-\begin{tcolorbox}[skintable=enhanced jigsaw]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathjigsaw|\\
- \refKey{/tcb/interior titled engine}: \> |path|\\
- \refKey{/tcb/interior engine}: \> |path|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{enhanced jigsaw}{}{style, no value}
- This is an abbreviation for setting |skin=enhanced jigsaw|.
-\end{docTcbKey}
-
-\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
-\begin{tcbraster}[enhanced jigsaw,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample*}
-
-
-\begin{docTcbKey}[][doc new=2017-07-01]{enhanced standard jigsaw}{}{style, no value}
- For unbreakable boxes, this is identical to using \refKey{/tcb/enhanced jigsaw}.
- But, for breakable boxes, the \emph{break sequence} is identical to the \refSkin{standard jigsaw} skin,
- see Section \ref{subsec:breaksequence} from page \pageref{subsec:breaksequence}.
-\end{docTcbKey}
-
-
-\clearpage
-\begin{docSkin}{enhancedfirst jigsaw}
- This is the jigsaw variant of skin \refSkin{enhancedfirst}.
- It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
-\begin{tcolorbox}[skintable=enhancedfirst jigsaw]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathfirstjigsaw|\\
- \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
- \refKey{/tcb/interior engine}: \> |pathfirst|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathfirst|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
-\begin{tcbraster}[skin=enhancedfirst jigsaw,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample*}
-
-
-\clearpage
-\begin{docSkin}{enhancedmiddle jigsaw}
- This is the jigsaw variant of skin \refSkin{enhancedmiddle}.
- It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
-\begin{tcolorbox}[skintable=enhancedmiddle jigsaw]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathmiddlejigsaw|\\
- \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior engine}: \> |pathmiddle|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathmiddle|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
-\begin{tcbraster}[skin=enhancedmiddle jigsaw,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample*}
-
-
-\begin{docTcbKey}{marker}{}{style, no value}
- This styles relies on the skin \refSkin{enhancedmiddle jigsaw}. It is
- intended to be used as an optical marker like a highlighter pen.
-\begin{dispExample}
-\begin{tcolorbox}[marker]
-\lipsum[2]
-\end{tcolorbox}
-\end{dispExample}
-\end{docTcbKey}
-
-\clearpage
-
-\begin{dispListing*}{before upper={This examples demonstrates the creation of several
- \emph{text marker} environments based on \refSkin{enhancedmiddle}.\par\medskip}}
-\tcbset{textmarker/.style={%
- skin=enhancedmiddle jigsaw,breakable,parbox=false,
- boxrule=0mm,leftrule=5mm,rightrule=5mm,boxsep=0mm,arc=0mm,outer arc=0mm,
- left=3mm,right=3mm,top=1mm,bottom=1mm,toptitle=1mm,bottomtitle=1mm,oversize}}
-
-\newtcolorbox{yellow}{textmarker,colback=yellow!5!white,colframe=yellow}
-\newtcolorbox{orange}{textmarker,colback=DarkOrange!5!white,
- colframe=DarkOrange!75!yellow}
-\newtcolorbox{red}{textmarker,colback=red!5!white,colframe=red}
-\newtcolorbox{blue}{textmarker,colback=DeepSkyBlue!5!white,colframe=DeepSkyBlue}
-\newtcolorbox{green}{textmarker,colback=Chartreuse!5!white,colframe=Chartreuse}
-\newtcolorbox{rainbow}{textmarker,interior hidden,
- frame style={top color=blue,bottom color=red,middle color=green}}
-
-\begin{yellow}
- \lipsum[1-3]
-\end{yellow}
-
-\begin{orange}
- \lipsum[4]
-\end{orange}
-
-\begin{red}
- \lipsum[5]
-\end{red}
-
-\begin{green}
- \lipsum[6]
-\end{green}
-
-\begin{blue}
- \lipsum[7]
-\end{blue}
-
-\begin{rainbow}
- \lipsum[8]
-\end{rainbow}
-\end{dispListing*}
-{\tcbusetemp}
-
-
-\clearpage
-\begin{docSkin}{enhancedlast jigsaw}
- This is the jigsaw variant of skin \refSkin{enhancedlast}.
- It differs by its frame engine, see \Vref{subsec:skinjigsaw}.
-\begin{tcolorbox}[skintable=enhancedlast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathlastjigsaw|\\
- \refKey{/tcb/interior titled engine}: \> |pathlast|\\
- \refKey{/tcb/interior engine}: \> |pathlast|\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |pathlast|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample*}{segmentation style={preaction={fill=white},pattern=checkerboard,pattern color=gray!40}}
-\begin{tcbraster}[skin=enhancedlast jigsaw,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- opacityframe=0.5,opacityback=0.5,opacitybacktitle=0.5,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample*}
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{bicolor}}
-\begin{docSkin}{bicolor}
- This skin is quite similar to the \refSkin{standard} and \refSkin{enhanced} skin.
- But instead of a segmentation line, the optional lower part of the box is filled with a
- different color or drawn with a different style.
-\begin{tcolorbox}[skintable=bicolor]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
- \begin{itemize}
- \item The most basic usage of this skin is to set the background color of
- the lower part by \refKey{/tcb/colbacklower} and all other options like for
- the \refSkin{standard} skin.
-\begin{dispExample}
-\begin{tcolorbox}[skin=bicolor,title=The title,
- colframe=FireBrick!75!black,colback=Salmon!50!white,colbacklower=Salmon]
- The upper part.
- \tcblower
- The lower part.
-\end{tcolorbox}
-\end{dispExample}
- \item The more advanced usage of this skin is to apply the \refKey{/tcb/frame style}
- and the \refKey{/tcb/interior style} like for
- the \refSkin{enhanced} skin. Also, the \refKey{/tcb/segmentation style} can be
- used, but it is applied to the whole lower part.
-\begin{dispExample}
-\begin{tcolorbox}[skin=bicolor,title=The title,
- frame style={top color=FireBrick,
- bottom color=FireBrick!15!white,draw=black},
- interior style={left color=Salmon,right color=Salmon!50!white},
- segmentation style={right color=Salmon,left color=Salmon!50!white}]
- The upper part.
- \tcblower
- The lower part.
-\end{tcolorbox}
-\end{dispExample}
- \end{itemize}
-\end{docSkin}
-
-\clearpage
-
-\begin{docTcbKey}{bicolor}{}{style, no value}
- This is an abbreviation for setting |skin=bicolor|.
-\end{docTcbKey}
-
-
-\begin{dispExample}
-\begin{tcbraster}[bicolor,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-\enlargethispage*{1cm}
-
-\begin{docTcbKey}{colbacklower}{=\meta{color}}{no default, initially \texttt{black!15!white}}
- Sets the background \meta{color} of the lower part. It depends on the skin,
- if this value is used.
-\end{docTcbKey}
-
-\begin{dispExample}
-\tcbset{gitexample/.style={listing and comment,comment={#1},
- skin=bicolor,boxrule=1mm,fonttitle=\bfseries,coltitle=black,
- frame style={draw=black,left color=Gold,right color=Goldenrod!50!Gold},
- colback=black,colbacklower=Goldenrod!75!Gold,
- colupper=white,collower=black,
- listing options={language={bash},aboveskip=0pt,belowskip=0pt,nolol,
- basicstyle=\ttfamily\bfseries,extendedchars=true}}}
-
-\begin{tcblisting}{title={Snapshot of the staging area},
- gitexample={The option `-a' automatically stages all tracked and modified
- files before the commit.\par
- This can be combined with the message option `-m'
- as seen in the third line.}}
-git commit
-git commit -a
-git commit -am 'changes to my example'
-\end{tcblisting}
-\end{dispExample}
-
-
-\clearpage
-
-
-\begin{docSkin}{bicolorfirst}
-This is a flavor of \refSkin{bicolor} which is used as a \emph{first} part
-in a break sequence for \refSkin{bicolor}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=bicolorfirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathfirst|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[skin=bicolorfirst,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{bicolormiddle}
-This is a flavor of \refSkin{bicolor} which is used as a \emph{middle} part
-in a break sequence for \refSkin{bicolor}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=bicolormiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathmiddle|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=bicolormiddle,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{bicolorlast}
-This is a flavor of \refSkin{bicolor} which is used as a \emph{last} part
-in a break sequence for \refSkin{bicolor}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=bicolorlast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathlast|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=bicolorlast,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{tile}}
-\begin{docSkin}[doc new=2016-02-25]{tile}
- This skin is a variant of skin \refSkin{bicolor}. Especially, the
- optional lower part of the box is colored by \refKey{/tcb/colbacklower}.
- The main difference to \refSkin{bicolor} is that \refSkin{tile} has no
- frame.
-\begin{tcolorbox}[skintable=tile]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}[][doc new=2016-02-25]{tile}{}{style, initially\\
- |skin=tile,boxrule=0pt,sharp corners,title filled,fonttitle=\textbackslash bfseries|
-}
- This key applies |skin=tile| and in addition changes the geometry and some style options.
-\end{docTcbKey}
-
-
-\begin{dispExample}
-\begin{tcbraster}[tile,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}[doc new=2016-02-25]{tilefirst}
-This is a flavor of \refSkin{tile} which is used as a \emph{first} part
-in a break sequence for \refSkin{tile}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=tilefirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathfirst|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[skin=tilefirst,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm,boxrule=0pt]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}[doc new=2016-02-25]{tilemiddle}
-This is a flavor of \refSkin{tile} which is used as a \emph{middle} part
-in a break sequence for \refSkin{tile}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=tilemiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathmiddle|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=tilemiddle,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm,boxrule=0pt]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}[doc new=2016-02-25]{tilelast}
-This is a flavor of \refSkin{tile} which is used as a \emph{last} part
-in a break sequence for \refSkin{tile}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=tilelast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathlast|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[skin=tilelast,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacklower=LimeGreen!75!LightGreen,
- colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm,boxrule=0pt]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{beamer}}
-
-\begin{docSkin}{beamer}
- This skin resembles boxes known from the |beamer| class and therefore is
- called \enquote{beamer}. It uses the normal colors from the core package but shades
- them a little bit.
-\begin{tcolorbox}[skintable=beamer]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-
-\begin{docTcbKey}{beamer}{}{style, initially\\
- |skin=beamer,boxrule=0mm,titlerule=1mm,toptitle=0.5mm,|\\
- |arc=2mm,fonttitle=\textbackslash bfseries,drop fuzzy shadow|
-}
- This key applies |skin=beamer| and in addition changes the geometry and some style options.
-\end{docTcbKey}
-
-
-
-\begin{dispExample}
-\begin{tcbraster}[beamer,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-\begin{dispExample}
-\begin{tcolorbox}[beamer,colback=Salmon!50!white,colframe=FireBrick!75!black,
- adjusted title=A colored box with the \enquote{beamer} skin]
-This box looks like a box provided by the \texttt{beamer} class.
-\end{tcolorbox}
-\end{dispExample}
-
-
-\begin{dispExample}
-\begin{tcolorbox}[beamer,colframe=blue,colback=black,
- watermark graphics=lichtspiel.jpg,
- coltext=white,watermark opacity=0.75,watermark stretch=1.0,
- title=Beamer Box with background picture]
-\lipsum[1]
-\end{tcolorbox}
-\end{dispExample}
-
-
-\begin{dispExample}
-\newtcolorbox{myblock}[2][]{%
- beamer,breakable,colback=LightBlue,colframe=DarkBlue,#1,title=#2}%
-
-\begin{myblock}{Beamerish \texttt{block}: \texttt{myblock}}
-\lipsum[1]
-\end{myblock}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{beamerfirst}
-This is a flavor of \refSkin{beamer} which is used as a \emph{first} part
-in a break sequence for \refSkin{beamer}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=beamerfirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathfirst|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[beamer,skin=beamerfirst,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-
-\begin{docSkin}{beamermiddle}
-This is a flavor of \refSkin{beamer} which is used as a \emph{middle} part
-in a break sequence for \refSkin{beamer}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=beamermiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathmiddle|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[beamer,skin=beamermiddle,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{beamerlast}
-This is a flavor of \refSkin{beamer} which is used as a \emph{last} part
-in a break sequence for \refSkin{beamer}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=beamerlast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> |pathlast|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[beamer,skin=beamerlast,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{widget}}
-\begin{docSkin}{widget}
- This skin uses the normal colors from the core package but shades
- them a little bit.
- The appearance of the skin can be controlled by \refKey{/tcb/frame style},
- \refKey{/tcb/interior style}, and \refKey{/tcb/segmentation style},
- if needed.
-\begin{tcolorbox}[skintable=widget]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |path|\\
- \refKey{/tcb/interior titled engine}: \> |path|\\
- \refKey{/tcb/interior engine}: \> |path|\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> \emph{special}
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{docTcbKey}[][doc updated={2020-09-23}]{widget}{}{style, initially\\
- |skin=widget,arc=0.5mm,fonttitle=\bfseries,titlerule=0mm|
-}
- This key applies |skin=widget| and in addition changes the geometry and some style options.
-\end{docTcbKey}
-
-
-
-\begin{dispExample}
-\begin{tcbraster}[widget,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\begin{dispExample}
-\begin{tcolorbox}[widget,colback=Salmon!50!white,colframe=FireBrick!75!black,
- adjusted title=A colored box with the \enquote{widget} skin]
-This is my content.
-\end{tcolorbox}
-\end{dispExample}
-
-\clearpage
-
-\begin{docSkin}{widgetfirst}
-This is a flavor of \refSkin{widget} which is used as a \emph{first} part
-in a break sequence for \refSkin{widget}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=widgetfirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathfirst|\\
- \refKey{/tcb/interior titled engine}: \> |pathfirst|\\
- \refKey{/tcb/interior engine}: \> |pathfirst|\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> \emph{special}
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[widget,skin=widgetfirst,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-\clearpage
-
-\begin{docSkin}{widgetmiddle}
-This is a flavor of \refSkin{widget} which is used as a \emph{middle} part
-in a break sequence for \refSkin{widget}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=widgetmiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior titled engine}: \> |pathmiddle|\\
- \refKey{/tcb/interior engine}: \> |pathmiddle|\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> \emph{special}
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[widget,skin=widgetmiddle,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{widgetlast}
-This is a flavor of \refSkin{widget} which is used as a \emph{last} part
-in a break sequence for \refSkin{widget}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=widgetlast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |pathlast|\\
- \refKey{/tcb/interior titled engine}: \> |pathlast|\\
- \refKey{/tcb/interior engine}: \> |pathlast|\\
- \refKey{/tcb/segmentation engine}: \> \emph{special}\\
- \refKey{/tcb/title engine}: \> \emph{special}
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[widget,skin=widgetlast,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{empty}}
-
-\begin{docSkin}{empty}
- This skin sets all engines to |empty|, i.\,e.\ nothing is drawn at all.
- Therefore, this skin is a good starting point to create a complete
- new style by yourself.
-\begin{tcolorbox}[skintable=empty]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> |empty|\\
- \refKey{/tcb/interior engine}: \> |empty|\\
- \refKey{/tcb/segmentation engine}: \> |empty|\\
- \refKey{/tcb/title engine}: \> |empty|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{docTcbKey}{empty}{}{style, no value}
- This is an abbreviation for setting |skin=empty|.
-\end{docTcbKey}
-
-\begin{dispExample}
-\begin{tcbraster}[empty,raster equal height,raster columns=4,
- coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docTcbKey}{blanker}{}{style, initially unset}
- This style relies on the skin \refSkin{empty}. All engines
- are set to empty and all margins are set to |0pt|.
- In contrast to \refKey{/tcb/blank}, the graphical paths are
- not constructed with exception of the geometry nodes.
-\begin{dispExample}
-\begin{tcolorbox}[blanker,watermark text=A blank box]
-\lipsum[1]
-\end{tcolorbox}
-\end{dispExample}
-
-\begin{dispExample}
-% \tcbuselibrary{fitting}
-\newtcboxfit{\mybox}[1]{blanker,width=4cm,height=7cm,top=4pt,
- watermark text=#1}
-
-\begin{tabular}{|c|c|c|}\hline
-A & B & C\\\hline
-\mybox{A}{\lipsum[1]} & \mybox{B}{\lipsum[2]} & \mybox{C}{\lipsum[3]}\\\hline
-\end{tabular}
-\end{dispExample}
-\end{docTcbKey}
-
-
-
-\clearpage
-\begin{docTcbKey}{blankest}{}{style, initially unset}
- This style extends \refKey{/tcb/blanker}.
- All engines are set to empty and all margins are set to |0pt|.
- In contrast to \refKey{/tcb/blanker}, also title, shadow, underlay,
- overlay, finish and borderline are removed.
-
-\begin{dispExample}
-% \tcbuselibrary{raster}
-\begin{tcbraster}[raster columns=3,raster equal height,
- title=Box \thetcbrasternum,
- enhanced,size=small,colframe=red!50!black,colback=red!10!white,
- coltitle=yellow!85!black,
- drop fuzzy shadow,watermark text={Box \thetcbrasternum},
- borderline={.25mm}{-0.5mm}{green!40!black},
- finish={\begin{tcbclipframe}\draw[blue,opacity=0.1,line width=1cm]
- (frame.south west) -- (frame.north east);\end{tcbclipframe}},
- ]
- \begin{tcolorbox}\lipsum[4]\end{tcolorbox}
- \begin{tcolorbox}[blanker]\lipsum[4]\end{tcolorbox}
- \begin{tcolorbox}[blankest]\lipsum[4]\end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-\end{docTcbKey}
-
-
-\clearpage
-\begin{docSkin}{emptyfirst}
-This is a flavor of \refSkin{empty} which is used as a \emph{first} part
-in a break sequence for \refSkin{empty}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=emptyfirst]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> |empty|\\
- \refKey{/tcb/interior engine}: \> |empty|\\
- \refKey{/tcb/segmentation engine}: \> |empty|\\
- \refKey{/tcb/title engine}: \> |empty|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[empty,skin=emptyfirst,raster equal height,raster columns=4,
- coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-
-\begin{docSkin}{emptymiddle}
-This is a flavor of \refSkin{empty} which is used as a \emph{middle} part
-in a break sequence for \refSkin{empty}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=emptymiddle]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> |empty|\\
- \refKey{/tcb/interior engine}: \> |empty|\\
- \refKey{/tcb/segmentation engine}: \> |empty|\\
- \refKey{/tcb/title engine}: \> |empty|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{dispExample}
-\begin{tcbraster}[empty,skin=emptymiddle,raster equal height,raster columns=4,
- coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-\begin{docSkin}{emptylast}
-This is a flavor of \refSkin{empty} which is used as a \emph{last} part
-in a break sequence for \refSkin{empty}.
-Nevertheless, this skin can be applied independently.
-\begin{tcolorbox}[skintable=emptylast]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |empty|\\
- \refKey{/tcb/interior titled engine}: \> |empty|\\
- \refKey{/tcb/interior engine}: \> |empty|\\
- \refKey{/tcb/segmentation engine}: \> |empty|\\
- \refKey{/tcb/title engine}: \> |empty|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{dispExample}
-\begin{tcbraster}[empty,skin=emptylast,raster equal height,raster columns=4,
- coltitle=Navy,borderline={2pt}{0pt}{black!10!white},
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-\clearpage
-\begin{dispListing*}{breakable,phantomlabel=freeboxexample,before upper={This example demonstrates
-a breakable customized box. Here, we define an environment |freebox|.
-The first application of |freebox| produces an unbroken |tcolorbox|.
-The box is drawn by the code given by \refKey{/tcb/frame code}
-and \refKey{/tcb/interior code}.\par
-The second application of |freebox| is broken into several parts which
-are drawn by the codes given by
-\refKey{/tcb/skin first is subskin of},
-\refKey{/tcb/skin middle is subskin of}, and
-\refKey{/tcb/skin last is subskin of}.
-\par\bigskip
-}}
-% Preamble:
-%\usepackage{tikz,lipsum}
-%\tcbuselibrary{skins,breakable}
-\tikzset{coltria/.style={fill=red!15!white}}
-
-\newtcolorbox{freebox}[1][]{empty,
- breakable,height fixed for=first and middle,
- leftrule=5mm,left=2mm,
- frame style={fill,top color=red!75!black,bottom color=red!75!black,middle color=red},
- colback=yellow!50!white,
- watermark color=red!50!yellow!75!white,
- watermark text on=unbroken is unbroken box,
- watermark text on=first is first part,
- watermark text on=middle is middle part,
- watermark text on=last is last part,
- % code for unbroken boxes:
- frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
- --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
- --([yshift=5mm]frame.south east)--([xshift=-5mm]frame.south east)--cycle; },
- interior code={\path[tcb fill interior] (interior.south west)--(interior.north west)
- --([xshift=-4.8mm]interior.north east)--([yshift=-4.8mm]interior.north east)
- --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
- --cycle; },
- % code for the first part of a break sequence:
- skin first is subskin of={emptyfirst}{%
- frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
- --([xshift=-5mm]frame.north east)--([yshift=-5mm]frame.north east)
- --(frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
- -- +(60:2mm)-- cycle; },
- interior code={\path[tcb fill interior] (interior.south west|-frame.south)
- --(interior.north west)--([xshift=-4.8mm]interior.north east)
- --([yshift=-4.8mm]interior.north east)--(interior.south east|-frame.south)
- --cycle; },
- },%
- % code for the middle part of a break sequence:
- skin middle is subskin of={emptymiddle}{%
- frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
- --(frame.north east)--(frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
- -- +(300:2mm) -- cycle;
- \path[coltria] ([xshift=2.5mm,yshift=1mm]frame.south west) -- +(120:2mm)
- -- +(60:2mm) -- cycle;
- },
- interior code={\path[tcb fill interior] (interior.south west|-frame.south)
- --(interior.north west|-frame.north)--(interior.north east|-frame.north)
- --(interior.south east|-frame.south)--cycle; },
- },
- % code for the last part of a break sequence:
- skin last is subskin of={emptylast}{%
- frame code={\path[tcb fill frame] (frame.south west)--(frame.north west)
- --(frame.north east)--([yshift=5mm]frame.south east)
- --([xshift=-5mm]frame.south east)--cycle;
- \path[coltria] ([xshift=2.5mm,yshift=-1mm]frame.north west) -- +(240:2mm)
- -- +(300:2mm) -- cycle;
- },
- interior code={\path[tcb fill interior] (interior.south west)
- --(interior.north west|-frame.north)--(interior.north east|-frame.north)
- --([yshift=4.8mm]interior.south east)--([xshift=-4.8mm]interior.south east)
- --cycle; },
- },
- #1}
-
-\begin{freebox}
-\lipsum[1]
-\end{freebox}
-
-\begin{freebox}
-\lipsum[1-12]
-\end{freebox}
-\end{dispListing*}
-{\tcbusetemp}
-
-
-\clearpage
-
-\subsection{Skin \enquote{spartan}}\label{subsec:spartan}
-
-\begin{docSkin}{spartan}
- This skin is quite \ldots\ spartan.
- It supports no rounded corners, no overlays, no shadows, no borderlines,
- and no finishes. The only exception are underlays.
- One cannot do very fancy things with this skin, but it compiles very fast.
- Therefore, the |spartan| skin is
- used for the draft mode, see \Vref{subsec:draftmode}.
- Nevertheless, it can be used as a normal skin.
-
-\begin{tcolorbox}[skintable=spartan]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |spartan|\\
- \refKey{/tcb/interior titled engine}: \> |spartan|\\
- \refKey{/tcb/interior engine}: \> |spartan|\\
- \refKey{/tcb/segmentation engine}: \> |spartan|\\
- \refKey{/tcb/title engine}: \> |spartan|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-
-\begin{docTcbKey}{spartan}{}{style, no value}
- This is an abbreviation for setting |skin=spartan|.
-\end{docTcbKey}
-
-
-\begin{dispExample}
-\begin{tcbraster}[spartan,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\clearpage
-
-\subsection{Skin \enquote{draft}}\label{subsec:draft}
-
-\begin{docSkin}{draft}
- This skin is intended to be used while drafting new geometric settings
- for a |tcolorbox|.
-\begin{tcolorbox}[skintable=draft]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> \emph{special}\\
- \refKey{/tcb/interior titled engine}: \> \emph{special}\\
- \refKey{/tcb/interior engine}: \> \emph{special}\\
- \refKey{/tcb/segmentation engine}: \> |path|\\
- \refKey{/tcb/title engine}: \> |path|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{draft}{}{style, no value}
- This is an abbreviation for setting |skin=draft|.
-\end{docTcbKey}
-
-
-\begin{dispExample}
-\begin{tcbraster}[draft,raster equal height,raster columns=4,
- colback=LightGreen,colframe=DarkGreen,colbacktitle=LimeGreen!75!DarkGreen,
- left=1mm,right=1mm,top=1mm,bottom=1mm,middle=1mm]
- \begin{tcolorbox}
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \end{tcolorbox}
- \begin{tcolorbox}[adjusted title=My title]
- This is my content.
- \tcblower
- More content.
- \end{tcolorbox}
-\end{tcbraster}
-\end{dispExample}
-
-
-\begin{dispExample}
-\vspace*{3mm}
-\begin{tcolorbox}[draft,title=A colored box with the \enquote{draft} skin]
-\lipsum[1-3]
-\tcblower
-\lipsum[4-6]
-\end{tcolorbox}
-\end{dispExample}
-
-
-
-\clearpage
-\subsection{Skin Family \enquote{freelance}}
-\begin{marker}
-This skin family \enquote{freelance} is deprecated with |tcolorbox| 3.00.
-It is not longer needed, because
-\refKey{/tcb/frame code},
-\refKey{/tcb/interior code},
-\refKey{/tcb/interior titled code}, and
-\refKey{/tcb/title code}
-can be applied to every skin now. In this sense, everything has become
-\emph{freelance} now.\par
-For users of \refKey{/tcb/freelance}: Old code should continue to work. There may be
-exceptions for breakable freelance boxes under certain circumstances.
-For new code, use \refKey{/tcb/empty} or \refKey{/tcb/enhanced} where
-you would have used \refKey{/tcb/freelance} before.
-\end{marker}
-
-\begin{docSkin}{freelance}
- This skin gives full freedom for the appearance of the |tcolorbox|.
- All drawing engines are set to type |freelance|; they use the |tikz| package
- and compute the \refKey{/tcb/geometry nodes}.
- %This skin is useful for boxes which should differ much from the normal
- %appearance. Note that this difference has to be programmed by the user.
- %The drawing code can be given
- %with the following option keys. As default value, the code from the |standard|
- %skin is set.
-\begin{tcolorbox}[skintable=freelance]
- \begin{tabbing}
- \refKey{/tcb/interior titled engine}: \=\kill
- \refKey{/tcb/graphical environment}: \> |tikzpicture|\\
- \refKey{/tcb/frame engine}: \> |freelance|\\
- \refKey{/tcb/interior titled engine}: \> |freelance|\\
- \refKey{/tcb/interior engine}: \> |freelance|\\
- \refKey{/tcb/segmentation engine}: \> |freelance|\\
- \refKey{/tcb/title engine}: \> |freelance|
- \end{tabbing}
-\end{tcolorbox}
-\end{docSkin}
-
-\begin{docTcbKey}{freelance}{}{style, no value}
- This is an abbreviation for setting |skin=freelance|.
-\end{docTcbKey}
-
-\begin{docSkin}{freelancefirst}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}.
- %It is used as first part of the
- %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancefirst}
- %can be used to customize this part.
-\end{docSkin}
-
-\begin{docSkin}{freelancemiddle}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}.
- %It is used as middle part of the
- %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancemiddle}
- %can be used to customize this part.
-\end{docSkin}
-
-\begin{docSkin}{freelancelast}
- This skin equals \refSkin{freelance} with exception of the break sequence,
- see \Vref{subsec:breaksequence}.
- %It is used as last part of the
- %break sequence of \refSkin{freelance}. \refKey{/tcb/extend freelancelast}
- %can be used to customize this part.
-\end{docSkin}
-
-
-\begin{docTcbKey}{extend freelance}{=\meta{options}}{no default, initially empty}
-The \meta{options} are added to the skin definition of \refSkin{freelance}.
-\end{docTcbKey}
-
-\begin{docTcbKey}{extend freelancefirst}{=\meta{options}}{no default, initially empty}
-The \meta{options} are added to the skin definition of \refSkin{freelancefirst} which
-is used as first part of the break sequence of \refSkin{freelance}.
-See \refKey{/tcb/skin first is subskin of} for a substitute of this key.
-\end{docTcbKey}
-
-\begin{docTcbKey}{extend freelancemiddle}{=\meta{options}}{no default, initially empty}
-The \meta{options} are added to the skin definition of \refSkin{freelancemiddle} which
-is used as middle part of the break sequence of \refSkin{freelance}.
-See \refKey{/tcb/skin middle is subskin of} for a substitute of this key.
-\end{docTcbKey}
-
-\enlargethispage*{1cm}
-
-\begin{docTcbKey}{extend freelancelast}{=\meta{options}}{no default, initially empty}
-The \meta{options} are added to the skin definition of \refSkin{freelancelast} which
-is used as last part of the break sequence of \refSkin{freelance}.
-See \refKey{/tcb/skin last is subskin of} for a substitute of this key.
-\end{docTcbKey}
-
-
-
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
index 2d316a3379..abaf34a4d4 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
@@ -439,6 +439,43 @@ This automated \hyperlink{XYZ-myex3}{hyper target can be linked to with a
\end{docTcbKey}
+\clearpage
+
+\begin{docTcbKey}[][doc new=2020-10-21]{theorem hanging indent}{\colOpt{=\docValue*{auto}\textbar \meta{length}}}{default \docValue*{auto}, initially \docValue*{auto}}
+ Sets the hanging indent of the theorem title to \docValue{auto} or the
+ given \meta{length}.
+ For \docValue{auto}, the hanging indent matches the display name, number and
+ separator sign of the theorem.
+ If \meta{length} is negative, the theorem title is indented positively
+ without hanging indent.
+
+\begin{dispExample}
+\newtcbtheorem[use counter from=mytheo]{sometheorem}{Theorem}%
+ {colback=white,colframe=red!50!black,fonttitle=\bfseries}{theo}
+
+\begin{sometheorem}{This is a very long and complicated title for a quite
+ short and nearly empty theorem}{myexA1}
+My theorem text.
+\end{sometheorem}
+
+\begin{sometheorem}[theorem hanging indent=5mm]{This is a very long and
+ complicated title for a quite short and nearly empty theorem}{myexA2}
+My theorem text.
+\end{sometheorem}
+
+\begin{sometheorem}[theorem hanging indent=0pt]{This is a very long and
+ complicated title for a quite short and nearly empty theorem}{myexA3}
+My theorem text.
+\end{sometheorem}
+
+\begin{sometheorem}[theorem hanging indent=-5mm]{This is a very long and
+ complicated title for a quite short and nearly empty theorem}{myexA4}
+My theorem text.
+\end{sometheorem}
+\end{dispExample}
+\end{docTcbKey}
+
+
\clearpage
\begin{docTcbKey}{theorem name and number}{}{style, no value, initially set}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
index ebf9f137d5..733c356d8e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
@@ -533,7 +533,42 @@ These fadings are much \emph{weaker} than the normal fadings.
\end{dispExample*}
\end{vigTcbKey}
+\clearpage
+It is possible to assign different fadings for each side of the vignette,
+if needed. Therefore, the fadings have to be applied individually with
+the four style options
+ \refKey{/tcb/vig/north style},
+ \refKey{/tcb/vig/south style},
+ \refKey{/tcb/vig/east style}, and
+ \refKey{/tcb/vig/west style}.
+\begin{dispExample*}{sbs,righthand width=3cm,center lower}
+\begin{tikzpicture}
+ \fill [black!20] (-0.5,-0.5) rectangle (1.5,1.5);
+ \path [pattern=checkerboard,pattern color=black!30]
+ (-0.5,-0.5) rectangle (1.5,1.5);
+ \tcbvignette{
+ north style={blue,path fading=south},
+ east style ={blue,path fading=semi west},
+ south style={blue,path fading=semi north},
+ west style ={blue,path fading=east}
+ }
+\end{tikzpicture}
+\end{dispExample*}
+
+\begin{dispExample*}{sbs,righthand width=3cm,center lower}
+\begin{tikzpicture}
+ \fill [black!20] (-0.5,-0.5) rectangle (1.5,1.5);
+ \path [pattern=checkerboard,pattern color=black!30]
+ (-0.5,-0.5) rectangle (1.5,1.5);
+ \tcbvignette{
+ north style={blue,path fading=west},
+ east style ={blue,path fading=south},
+ south style={red,path fading=east},
+ west style ={red,path fading=north}
+ }
+\end{tikzpicture}
+\end{dispExample*}
\clearpage
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
index 752b5b35ad..43b623d6ca 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
@@ -412,7 +412,7 @@ Besides \mylib{xparse}, the following commands also need the \mylib{listings} li
IfBooleanTF={#1}
{listing side text}
{text side listing},
- title=#3,#2}
+ title={#3},#2}
\begin{mybox}{Listing Box}
This is my
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
index f4d99c53ae..efc1e20d97 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty
index a5f9d23397..9dc3606c0e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 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}
-\ProvidesPackage{tcolorbox}[2020/10/09 version 4.42 text color boxes]
-\def\tcb@version{4.42}
+\ProvidesPackage{tcolorbox}[2021/05/21 version 4.50 text color boxes]
+\def\tcb@version{4.50}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -2105,19 +2105,57 @@
\newcommand*\l@tcolorbox{\@dottedtocline{1}{1.5em}{2.3em}}
-\newcommand{\tcblistof}[3][\section]{%
- \ifnum\c@tocdepth<1\relax%
- \tcb@warning{'tocdepth' value lower than 1 for 'tcblistof'}%
- \fi%
- #1{#3}%
- \@starttoc{#2}%
-}
-
+\ExplSyntaxOn
+\NewDocumentCommand{\tcblistof}{ O{\section} m o m }
+ {
+ \ifnum\c@tocdepth<1\relax
+ \tcb@warning{'tocdepth'~value~lower~than~1~for~'tcblistof'}
+ \fi
+ \tl_set:Nx \l_tmpa_tl {\tl_trim_spaces:n{#1}}
+ \tl_set:Nx \l_tmpb_tl {\str_range:Nnn \l_tmpa_tl {2}{8}}
+ \str_if_eq:VnT \l_tmpb_tl { chapter }
+ {
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ }
+ \tl_set:Nx \l_tmpa_tl {\str_item:Nn \l_tmpa_tl {-1}}
+ \str_if_eq:VnTF \l_tmpa_tl { * }
+ {
+ #1{#4}
+ \IfNoValueTF{#3}
+ {
+ \@mkboth{\MakeUppercase{#4}}
+ {\MakeUppercase{#4}}
+ }
+ {
+ \@mkboth{\MakeUppercase{#3}}
+ {\MakeUppercase{#3}}
+ }
+ }
+ {
+ \IfNoValueTF{#3}
+ {
+ #1{#4}
+ }
+ {
+ #1[#3]{#4}
+ }
+ }
+ \@starttoc{#2}
+ \if@restonecol\twocolumn\fi
+ }
+\ExplSyntaxOff
% verbatim output as in 'verbatim'
-\newwrite\tcb@out
+\def\tcb@allocate@tcb@out{%
+ \newwrite\tcb@out%
+ \xdef\tcb@allocate@tcb@out{}%
+}
\let\tcb@verbatim@begin@hook\@empty
\let\tcb@verbatim@end@hook\@empty
@@ -2125,6 +2163,7 @@
\def\tcbverbatimwrite#1{%
\@bsphack
+ \tcb@allocate@tcb@out%
\immediate\openout\tcb@out #1
\tcb@verbatim@begin@hook%
\let\do\@makeother\dospecials
@@ -2185,7 +2224,11 @@
% recording
-\newwrite\tcb@record@out
+\def\tcb@allocate@tcb@record@out{%
+ \newwrite\tcb@record@out%
+ \xdef\tcb@allocate@tcb@out{}%
+}
+
\def\tcb@null#1{}
\newcommand{\tcb@record}[1]{\immediate\write\tcb@record@out{#1}}
@@ -2193,6 +2236,7 @@
\newcommand{\tcbstartrecording}[1][\jobname.records]{%
\let\tcbrecord\tcb@record%
\edef\tcb@record@file{#1}%
+ \tcb@allocate@tcb@record@out%
\immediate\openout\tcb@record@out\tcb@record@file%
}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex
index 39dcde9f3b..977c3895df 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex
@@ -1,9 +1,9 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
+%% The LaTeX package tcolorbox - version 4.50 (2021/05/21)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2021 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -43,8 +43,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{4.42}%
-\def\datum{2020/10/09}%
+\def\version{4.50}%
+\def\datum{2021/05/21}%
\makeindex
\hypersetup{
@@ -62,7 +62,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.breakable}
+%\includeonly{tcolorbox.doc.skins}
%\hypersetup{colorlinks=false}
@@ -79,6 +79,7 @@
\include{tcolorbox.doc.recording}
\include{tcolorbox.doc.technical}
\include{tcolorbox.doc.skins}
+\include{tcolorbox.doc.skincatalog}
\include{tcolorbox.doc.graphics}
\include{tcolorbox.doc.filling}
\include{tcolorbox.doc.beamer}