summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/langsci/langsci-tbls.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-18 03:01:43 +0000
committerNorbert Preining <norbert@preining.info>2021-03-18 03:01:43 +0000
commitca17f652236af2ce3a16cb0125fb6e190d59cc17 (patch)
tree1664d8d4a3ba38eacabed5fe0e3d4ff7f2dd966c /macros/xetex/latex/langsci/langsci-tbls.sty
parentbb51b61cfc3fcb367f52d31948039a1468fbcf80 (diff)
CTAN sync 202103180301
Diffstat (limited to 'macros/xetex/latex/langsci/langsci-tbls.sty')
-rw-r--r--macros/xetex/latex/langsci/langsci-tbls.sty491
1 files changed, 294 insertions, 197 deletions
diff --git a/macros/xetex/latex/langsci/langsci-tbls.sty b/macros/xetex/latex/langsci/langsci-tbls.sty
index 3254843840..c7badb20b1 100644
--- a/macros/xetex/latex/langsci/langsci-tbls.sty
+++ b/macros/xetex/latex/langsci/langsci-tbls.sty
@@ -1,207 +1,304 @@
-%%% MDFRAMED STYLES DEFS %%%
+\ProvidesPackage{langsci-tbls}[2021/01/06 langsci-tbls]
-\usepackage[framemethod=tikz]{mdframed}
-\mdfsetup{skipabove=2\baselineskip,skipbelow=2\baselineskip,frametitlefont=\sffamily\bfseries\Large, needspace=4\baselineskip, splittopskip=1.5\baselineskip}
-\mdfsetup{apptotikzsetting={\tikzset{mdfbackground/.append style={draw=none}}}}
-\AtEndPreamble{% Check if the external library from tikz has been loaded in the preamble. If so, skip externalising for all mdframed boxes.
- \ifcsname tikz@library@external@loaded\endcsname
- \mdfsetup{settings={\tikzexternaldisable},endcode={\tikzexternalenable}}
- \fi
-}
-\newcommand{\langscisymbol}{book}
-\newlength{\trennlinie}
-\setlength{\trennlinie}{.8mm}
-\newcommand{\tblsboxcolor}{black}
-\newcommand{\tblslinecolour}{lsYellow}
+\RequirePackage{etoolbox}
+\newbool{langsci@tbls@tcolorbox}
+\booltrue{langsci@tbls@tcolorbox}
-\mdfdefinestyle{yellowexercise}{%
- everyline=true,
- ignorelastdescenders=true,
- middlelinewidth=1.5pt,linecolor=\tblslinecolour,outerlinewidth=5mm,
- innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=0,
- frametitleaboveskip=15mm, frametitlebelowskip=10mm,frametitlerule=false, repeatframetitle=false,
- firstextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}};}, % if environment is on multiple pages, print this on the first page.
- singleextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}};} % if env. does not span multiple pages, print the same.
-}
+\DeclareOption{mdframed}{\boolfalse{langsci@tbls@tcolorbox}}
+\DeclareOption{tcolorbox}{\booltrue{langsci@tbls@tcolorbox}}
+
+\ProcessOptions\relax
-\mdfdefinestyle{greyexercise}{%
+\ifbool{langsci@tbls@tcolorbox}
+ {
+ \PackageInfo{langsci-tbls}
+ {
+ langsci-tbls loaded with option `tcolorbox`.
+ }
+ \RequirePackage{tcolorbox}
+ \tcbuselibrary{breakable, skins, xparse}
+ \tcbset
+ {
+ skin = empty,
+ width = \linewidth,
+ breakable = true,
+ fonttitle = \sffamily\bfseries\Large,
+ coltitle = black,
+ graphical environment = tikzpicture,
+ sharp corners = all,
+ no shadow,
+ before upper = {\parindent=10.95pt\@afterheading\@afterindentfalse},
+ before = {\par\vskip\baselineskip\pagebreak[0]},
+ after = {\par}
+ }
+ \DeclareTColorBox{tblslineshorizontal}{m O{0.8mm} O{\lsSeriesColor}}
+ {
+ graphical environment = tikzpicture,
+ title = #1,
+ boxsep = 0pt,
+ toptitle = 5mm,
+ top = 5mm,
+ bottom = 5mm,
+ left = 0mm,
+ right = 0mm,
+ borderline horizontal = {#2}{0pt}{#3},
+ beforeafter skip balanced = \baselineskip
+ }
+ \DeclareTColorBox{tblsfilled}{m O{black!12}}
+ {
+ graphical environment = tikzpicture,
+ title = #1,
+ boxsep = 0pt,
+ toptitle = 5mm,
+ top = 5mm,
+ bottom = 5mm,
+ left = 5mm,
+ right = 5mm,
+ frame engine = path,
+ frame style = {fill=#2},
+ sharp corners = all
+ }
+ \DeclareTColorBox{tblsframed}{m O{0.8mm} O{\lsSeriesColor}}
+ {
+ graphical environment = tikzpicture,
+ title = #1,
+ boxsep = 0pt,
+ toptitle = 5mm,
+ top = 5mm,
+ bottom = 5mm,
+ left = 5mm,
+ right = 5mm,
+ borderline = {#2}{0pt}{#3},
+ beforeafter skip balanced = \baselineskip
+ }
+ \DeclareTColorBox{tblsfilledsymbol}{m O{black!12} m}
+ {
+ skin = enhanced,
+ graphical environment = tikzpicture,
+ title = #1,
+ boxsep = 0pt,
+ toptitle = 10mm,
+ top = 5mm,
+ bottom = 5mm,
+ left = 5mm,
+ right = 5mm,
+ frame style = {fill=#2},
+ interior hidden,
+ sharp corners = all,
+ enlarge top initially by = 5mm,
+ underlay unbroken and first =
+ {
+ \node
+ [
+ anchor = base,
+ xshift = 11.3mm,
+ yshift = -5mm,
+ fill = white,
+ draw = #2,
+ inner sep = 1mm,
+ line width = 0.8mm
+ ] at (frame.north west)
+ {{\color{#2}\includegraphics[width=10mm]{tbls-#3.pdf}}};
+ }
+ }
+ \DeclareTColorBox{tblsframedsymbol}{m O{\lsSeriesColor} O{0.8mm} m}
+ {
+ graphical environment = tikzpicture,
+ title = #1,
+ boxsep = 0pt,
+ toptitle = 10mm,
+ top = 5mm,
+ bottom = 5mm,
+ left = 5mm,
+ right = 5mm,
+ borderline = {#3}{0pt}{#2},
+ interior hidden,
+ enlarge top initially by = 5mm,
+ underlay unbroken and first =
+ {
+ \node
+ [
+ anchor = base,
+ xshift = 11.3mm,
+ inner sep = 1mm,
+ yshift = -5mm,
+ fill = white,
+ draw = #2,
+ line width = #3
+ ] at (frame.north west)
+ {{\color{#2}\includegraphics[width=10mm]{tbls-#4.pdf}}};
+ }
+ }
+ }
+
+\notbool{langsci@tbls@tcolorbox}
+ {
+ \PackageInfo{langsci-tbls}
+ {
+ langsci-tbls loaded with option `mdframed`.
+ }
+ \usepackage[framemethod=tikz]{mdframed}
+ \mdfsetup
+ {
+ skipabove=2\baselineskip,
+ skipbelow=2\baselineskip,
+ frametitlefont=\sffamily\bfseries\Large,
+ needspace=4\baselineskip,
+ splittopskip=\baselineskip,
+ apptotikzsetting={\tikzset{mdfbackground/.append style={draw=none}}}
+ }
+
+ \AtEndPreamble{% Check if the external library from tikz has been loaded in the preamble. If so, skip externalising for all mdframed boxes.
+ \ifcsname tikz@library@external@loaded\endcsname
+ \mdfsetup{settings={\tikzexternaldisable},endcode={\tikzexternalenable}}
+ \fi
+ }
+
+ \newcommand{\langscisymbol}{book}
+ \newlength{\trennlinie}
+ \setlength{\trennlinie}{.8mm}
+ \newcommand{\tblsboxcolor}{black}
+ \newcommand{\tblslinecolour}{lsYellow}
+
+ \mdfdefinestyle{yellowexercise}{%
everyline=true,
ignorelastdescenders=true,
- middlelinewidth=0pt,linecolor=white,outerlinewidth=5mm,
- leftline=false,rightline=false,bottomline=false,
+ middlelinewidth=1.5pt,
+ linecolor=\tblslinecolour,
+ outerlinewidth=5mm,
+ innerleftmargin=5mm,
+ innerrightmargin=5mm,
+ innerbottommargin=5mm,
+ innertopmargin=5mm,
+ frametitleaboveskip=10mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ firstextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{tbls-\langscisymbol.pdf}};}, % if environment is on multiple pages, print this on the first page.
+ singleextra={\node[xshift=5mm,right,draw=\tblslinecolour, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblslinecolour}\includegraphics[width=10mm]{tbls-\langscisymbol.pdf}};} % if env. does not span multiple pages, print the same.
+ }
+
+ \mdfdefinestyle{greyexercise}{%
+ ignorelastdescenders=true,
+ middlelinewidth=0pt,
+ linecolor=white,
+ outerlinewidth=5mm,
+ leftline=false,
+ rightline=false,
+ bottomline=false,
backgroundcolor=\tblsboxcolor,
- innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm,
- frametitleaboveskip=15mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false,
- firstextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}
- };},
- singleextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{langsci/graphics/tbls-\langscisymbol.pdf}
-};}
-}
-
-
-\mdfdefinestyle{tblsbox}{%
- leftline=false, rightline=false, frametitleaboveskip=10mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblslinecolour, innerbottommargin=5mm, innertopmargin=5mm,innerleftmargin=0mm,innerrightmargin=0
- }
-
-\mdfdefinestyle{tblsframedbox}{%
- frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblslinecolour, innerbottommargin=5mm, innertopmargin=5mm
-}
-
-\newcommand{\tblsfillcolour}{black!12}
-\mdfdefinestyle{tblsfilledbox}{%
- hidealllines=true, backgroundcolor=\tblsfillcolour, frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm
-}
-
-\mdfdefinestyle{tblsfilledcolumnbox}{% % Copy of tblsfilledbox with multicols
- hidealllines=true, backgroundcolor=\tblsfillcolour, frametitleaboveskip=5mm, frametitlebelowskip=0mm,frametitlerule=false, repeatframetitle=false, innerleftmargin=5mm, innerrightmargin=5mm, innerbottommargin=5mm, innertopmargin=5mm,startinnercode={\begin{multicols}{2}},endinnercode={\end{multicols}}
-}
-
-\mdfdefinestyle{tblsframedcolumnbox}{%
- frametitleaboveskip=10mm, frametitlebelowskip=5mm,frametitlerule=false, repeatframetitle=false, linewidth=\trennlinie, linecolor=\tblsboxcolor, innerbottommargin=5mm, innertopmargin=5mm, startinnercode={\begin{multicols}{2}},endinnercode={\end{multicols}}
-}
-
-%%% MDFRAMED COMMANDS %%%
-
-\newcommand{\tblssy}[4][black!12]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
- \renewcommand{\langscisymbol}{#2}\renewcommand{\tblsboxcolor}{#1}
- \begin{mdframed}[style=greyexercise,frametitle={#3}]
+ innerleftmargin=5mm,
+ innerrightmargin=5mm,
+ innerbottommargin=5mm,
+ innertopmargin=5mm,
+ frametitleaboveskip=10mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ firstextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{tbls-\langscisymbol.pdf}};},
+ singleextra={\node[xshift=5mm,right,draw=\tblsboxcolor, line width=1.5pt,rectangle, minimum size=10mm, fill=white] at (P-|O) {\color{\tblsboxcolor}\includegraphics[width=10mm]{tbls-\langscisymbol.pdf}};}
+ }
+
+
+ \mdfdefinestyle{tblsbox}{%
+ leftline=false,
+ rightline=false,
+ frametitleaboveskip=5mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ linewidth=\trennlinie,
+ linecolor=\tblslinecolour,
+ innerbottommargin=5mm,
+ innertopmargin=5mm,
+ innerleftmargin=0mm,
+ innerrightmargin=0mm
+ }
+
+ \mdfdefinestyle{tblsframedbox}{%
+ frametitleaboveskip=5mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ linewidth=\trennlinie,
+ linecolor=\tblslinecolour,
+ innerbottommargin=5mm,
+ innertopmargin=5mm
+ }
+
+ \newcommand{\tblsfillcolour}{black!12}
+
+ \mdfdefinestyle{tblsfilledbox}{%
+ hidealllines=true,
+ backgroundcolor=\tblsfillcolour,
+ frametitleaboveskip=5mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ innerleftmargin=5mm,
+ innerrightmargin=5mm,
+ innerbottommargin=5mm,
+ innertopmargin=5mm
+ }
+
+ \mdfdefinestyle{tblsfilledcolumnbox}{% % Copy of tblsfilledbox with multicols
+ hidealllines=true,
+ backgroundcolor=\tblsfillcolour,
+ frametitleaboveskip=5mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ innerleftmargin=5mm,
+ innerrightmargin=5mm,
+ innerbottommargin=5mm,
+ innertopmargin=5mm,
+ startinnercode={\begin{multicols}{2}},
+ endinnercode={\end{multicols}}
+ }
+
+ \mdfdefinestyle{tblsframedcolumnbox}{%
+ frametitleaboveskip=10mm,
+ frametitlebelowskip=0mm,
+ frametitlerule=false,
+ repeatframetitle=false,
+ linewidth=\trennlinie,
+ linecolor=\tblsboxcolor,
+ innerbottommargin=5mm,
+ innertopmargin=5mm,
+ startinnercode={\begin{multicols}{2}},
+ endinnercode={\end{multicols}}
+ }
+
+ %%% MDFRAMED DOCUMENT COMMANDS %%%
+
+ \newcommand{\tblssy}[4][black!12]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
+ \renewcommand{\langscisymbol}{#2}\renewcommand{\tblsboxcolor}{#1}
+ \begin{mdframed}[style=greyexercise,frametitle={#3}]
+ #4
+ \end{mdframed}
+ }
+ \newcommand{\tblsli}[4][black!20]{% Use like this \tblsli[colour]{line width}{title}{text}
+ \renewcommand{\tblsboxcolor}{#1}\setlength{\trennlinie}{#2mm}
+ \begin{mdframed}[style=tblsbox,frametitle={#3}]
#4
- \end{mdframed}
-}
-
-\newcommand{\tblsli}[4][black!20]{% Use like this \tblsli[colour]{line width}{title}{text}
-\renewcommand{\tblsboxcolor}{#1}\setlength{\trennlinie}{#2mm}
-\begin{mdframed}[style=tblsbox,frametitle={#3}]
-#4
-\end{mdframed}
-}
-
-\newcommand{\tblsfi}[3][black!12]{% Use like this \tblsfi[colour]{title}{text}, where [colour] is optional
-\renewcommand{\tblsfillcolour}{#1}
-\begin{mdframed}[style=tblsfilledbox,frametitle={#2}]
-#3
-\end{mdframed}
-}
-
-\newcommand{\tblsfr}[4][\lsSeriesColor]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
-\renewcommand{\tblslinecolour}{#1}\renewcommand{\langscisymbol}{#2}
-\begin{mdframed}[style=tblsbox,frametitle={#3}]
-#4
-\end{mdframed}
-}
-
-\newcommand{\tblsfd}[4]{ % Use like this: \tblsfd{colour}{line width}{title}{content}
-\renewcommand{\tblslinecolour}{#1}\setlength{\trennlinie}{#2mm}
-\begin{mdframed}[style=tblsframedbox,frametitle={#3}]
-#4
-\end{mdframed}
-}
-
-%%% MDFRAMED END %%%
-
-
-\newcommand{\tblsbwbox}[4][]{%
-\\
- \noindent
- \colorbox{#2}{
-\parbox{.97\textwidth}{
-\centering
-\parbox{.9\textwidth}{
-
- %add logo if requested
- \ifthenelse{\equal{#1}{}}{\bigskip}{
- \begin{flushleft}
- \hspace*{3.5mm} \raisebox{0mm}[0mm][0mm]{\color{white}\includegraphics[width=10mm]{langsci/graphics/#1.eps}}
- \end{flushleft}}
- %add header
- \boxheader{#3}
- \begin{multicols*}{2}
+ \end{mdframed}
+ }
+ \newcommand{\tblsfi}[3][black!12]{% Use like this \tblsfi[colour]{title}{text}, where [colour] is optional
+ \renewcommand{\tblsfillcolour}{#1}
+ \begin{mdframed}[style=tblsfilledbox,frametitle={#2}]
+ #3
+ \end{mdframed}
+ }
+ \newcommand{\tblsfr}[4][\lsSeriesColor]{% Use like this \tblsfr[colour]{book|bulb|glass|law}{title}{text}, where [colour] is optional
+ \renewcommand{\tblslinecolour}{#1}\renewcommand{\langscisymbol}{#2}
+ \begin{mdframed}[style=tblsbox,frametitle={#3}]
#4
- \end{multicols*}
- \bigskip
+ \end{mdframed}
}
-}
-}
-\\[1em]
-}
-
-
-
-\newcommand{\tblsbwboxdark}[3][]{%
- \noindent
- \tblsbwbox[#1]{gray}{#2}{#3}
-}
-
-\newcommand{\tblsbwboxlight}[3][]{%
- \noindent
- \tblsbwbox[#1]{lightgray}{#2}{#3}
-}
-
-\newcommand{\tblscolboxdark}[3][]{%
- \tblsbwboxdark[#1]{#2}{#3}
-}
-
-\newcommand{\tblscolboxlight}[3][]{%
- \tblsbwboxlight[#1]{#2}{#3}
-}
-
-
-\newcommand{\tblsthinline}{\rule{\textwidth}{.8mm}}
-\newcommand{\tblsthickline}{{\color{gray}\rule{\textwidth}{1.5mm}}}
-\newcommand{\tblsthickcolorline}{{\color{lsYellow}\rule{\textwidth}{1.5mm}}}
-
-\newcommand{\tblssandwich}[3]{
-% \\
-
-\medskip
-\noindent
-#1
-\\[2em]
-\boxheader{#2}
-\\[1em]
-\noindent%
-#3
-\smallskip
-\noindent
-#1
-\\[1em]
-}
-
-\newcommand{\tblsbwthinsandwich}[2]{
- \tblssandwich{\tblsthinline}{#1}{#2}
-}
-
-\newcommand{\tblsbwthicksandwich}[2]{
- \tblssandwich{\tblsthickline}{#1}{#2}
-}
-
-\newcommand{\tblscolthicksandwich}[2]{
- \tblssandwich{\tblsthickcolorline}{#1}{#2}
-}
-
-\newcommand{\tblscolthinsandwich}[2]{
- \tblssandwich{\tblsthinline}{#1}{#2}
-}
-
-\newcommand{\tblscolframebox}[3][]{
- \fboxrule.8mm
- \noindent
- \begin{figure}
- \begin{flushleft}
- \hspace*{3.5mm}
- \raisebox{-10mm}[0mm][0mm]{\ifthenelse{\equal{#1}{}}{}{\includegraphics[width=10mm]{langsci/graphics/#1.eps}}} \\
- \end{flushleft}
- \color{lsYellow}\framebox[\textwidth]{%
- \color{black}
- \parbox{.92\textwidth}{%
- \vspace*{.5cm}
- \boxheader{#2}
- \begin{multicols*}{2}
- #3
- \end{multicols*}
- }
+ \newcommand{\tblsfd}[4]{ % Use like this: \tblsfd{colour}{line width}{title}{content}
+ \renewcommand{\tblslinecolour}{#1}\setlength{\trennlinie}{#2mm}
+ \begin{mdframed}[style=tblsframedbox,frametitle={#3}]
+ #4
+ \end{mdframed}
}
- \end{figure}
-}
-
-\newcommand{\boxheader}[1]{\medskip{\Large\bfseries\sffamily #1}}
+ }{}