texlive[47532] Master: cascade (18apr18)

commits+karl at tug.org commits+karl at tug.org
Tue May 1 19:34:50 CEST 2018


Revision: 47532
          http://tug.org/svn/texlive?view=revision&revision=47532
Author:   karl
Date:     2018-05-01 19:34:49 +0200 (Tue, 01 May 2018)
Log Message:
-----------
cascade (18apr18)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/cascade/
    trunk/Master/texmf-dist/doc/latex/cascade/README.md
    trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf
    trunk/Master/texmf-dist/source/latex/cascade/
    trunk/Master/texmf-dist/source/latex/cascade/cascade.dtx
    trunk/Master/texmf-dist/source/latex/cascade/cascade.ins
    trunk/Master/texmf-dist/tex/latex/cascade/
    trunk/Master/texmf-dist/tex/latex/cascade/cascade.sty
    trunk/Master/tlpkg/tlpsrc/cascade.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/cascade/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cascade/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/cascade/README.md	2018-05-01 17:34:49 UTC (rev 47532)
@@ -0,0 +1,8 @@
+The LaTeX extension nicematrix is distributed under the LPPL 1.3 license.
+
+This extension has been written by F. Pantigny (fpantigny at wanadoo.fr).
+
+This extension is entirely contained in a single file : cascade.sty
+
+The LaTeX package cascade provides a command \Cascade to do constructions to present mathematical
+demonstrations with successive braces for the deductions.


Property changes on: trunk/Master/texmf-dist/doc/latex/cascade/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf	2018-05-01 17:33:54 UTC (rev 47531)
+++ trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf	2018-05-01 17:34:49 UTC (rev 47532)

Property changes on: trunk/Master/texmf-dist/doc/latex/cascade/cascade.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/cascade/cascade.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/cascade/cascade.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/cascade/cascade.dtx	2018-05-01 17:34:49 UTC (rev 47532)
@@ -0,0 +1,482 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2018 by F. Pantigny
+% -----------------------------------
+%
+% This file 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.
+%
+% \fi
+% \iffalse
+\def\myfileversion{1.0}
+\def\myfiledate{2018/04/17}
+%
+%
+%<*batchfile>
+\begingroup
+\input l3docstrip.tex
+\keepsilent
+\usedir{tex/latex/cascade}
+\preamble
+
+Copyright (C) 2018 by F. Pantigny
+-----------------------------------
+
+This file 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.
+
+\endpreamble
+\askforoverwritefalse
+\endgroup
+%</batchfile>
+%
+%<@@=cascade>
+%<*driver>
+\documentclass[dvipsnames]{l3doc}% option dvipsnames is for xcolor (loaded by tikz)
+\usepackage{xltxtra}
+\usepackage{geometry}
+\geometry{left=2.8cm,right=2.8cm,top=2.5cm,bottom=2.5cm,papersize={21cm,29.7cm}}
+\setlength{\fboxsep}{0pt}
+\usepackage{tikz}
+\usetikzlibrary{calc}
+\usepackage{cascade}
+\hfuzz=5cm
+\def\interitem{\vskip 7mm plus 2 mm minus 3mm}          
+\def\emphase{\bgroup\color{RoyalPurple}\let\next=}
+\fvset{commandchars=\~\#\@,formatcom={\color{gray}}}
+\parindent 0pt
+\skip\footins = 2\bigskipamount
+\DisableCrossrefs
+\begin{document}
+\DocInput{cascade.dtx}
+\end{document}
+%</driver>
+% \fi
+% \title{The package \pkg{cascade}\thanks{This document corresponds to the version~\myfileversion\space of
+% \pkg{cascade}, at the date of~\myfiledate.}} 
+% \author{F. Pantigny \\ \texttt{fpantigny at wanadoo.fr}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The LaTeX package \pkg{cascade} provides a command |\Cascade| to do constructions to present mathematical
+% demonstrations with successive braces for the deductions.
+% \end{abstract}
+% 
+%
+%
+% \vspace{1cm}
+% \section{Presentation}
+%
+% The package \pkg{cascade} gives a command |\Cascade| which allows constructions like the following where the size
+% of the right brace is computed on only a part of the LaTeX elements composed on the left.
+% \begin{center}
+% \Cascade{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}%
+%         {and, therefore, $A$ is inversible}%
+%         {}%
+%         {yet $AX=Y$} 
+% hence, $X = A^{-1}Y$
+% \end{center}
+%         
+% \medskip
+% \begin{Verbatim}
+% ~emphase#\Cascade@{$\det(A) = \begin{vmatrix}3&4\\ -1&7\end{vmatrix}\neq 0$}%
+%         {and, therefore, $A$ is inversible}%
+%         {}%
+%         {yet $AX=Y$} 
+% hence, $X = A^{-1}Y$
+% \end{Verbatim}
+% 
+%
+% \interitem
+% The command |\Cascade| takes its four arguments as follow :
+% \begin{center}
+% \Cascade{\fbox{\hbox to 2cm{\vrule height 18 pt depth 5 pt width 0pt\hfil \texttt{\#1}\hfil}}}%
+% {\fbox{\hbox to 3cm{\vrule height 10 pt depth 12 pt width 0pt\hfil \texttt{\#2}\hfil}}}%
+% {\fbox{\hbox to 2.5cm{\vrule height 15 pt depth 14 pt width 0pt\hfil \texttt{\#3}\hfil}}}%
+% {\fbox{\hbox to 1.7cm{\vrule height 12 pt depth 5 pt width 0pt\hfil \texttt{\#4}\hfil}}}
+% \end{center}
+% 
+% \interitem
+% The commands |\Cascade| can be nested as in the following example :
+% \begin{center}
+% \Cascade{\ShortCascade{$(BH) \perp (AC)$}{$(OC) \perp (AC)$}}
+%         {hence\enskip $(BH) \parallel (OC)$}
+%         {\ShortCascade{$(CH) \perp (AB)$}{$(OB) \perp (AB)$}}
+%         {hence\enskip $(CH) \parallel (OB)$}
+% hence $(OBHC)$ is a parallelogram
+% \end{center}
+% 
+% \interitem
+% For the lisibility of such constructions, a simplified version of |\Cascade| is available, named |\ShortCascade|. 
+%
+% The code |\ShortCascade{X}{Y}| is merely a shortcut for the code |\Cascade{}{X}{}{Y}|.
+%
+% \medskip
+% The preceding example can be coded with two commands |\ShortCascade| and an encompassing command |\Cascade| :
+% \begin{Verbatim}
+% ~emphase#\Cascade@{~emphase#\ShortCascade@{$(BH) \perp (AC)$}
+%                       {$(OC) \perp (AC)$}}
+%         {hence\enskip $(BH) \parallel (OC)$}
+%         {~emphase#\ShortCascade@{$(CH) \perp (AB)$}
+%                       {$(OB) \perp (AB)$}}
+%         {hence\enskip $(CH) \parallel (OB)$}
+% hence $(OBHC)$ is a parallelogram
+% \end{Verbatim}
+% 
+%
+% \bigskip
+% \section{The options}
+%
+% \begin{itemize}
+% \item The option |space-between| is a TeX dimension described on the following figure. Its default value is
+% $0.5$~em. It applies to the current command |\Cascade| but also to the possible nested commands.
+%
+% \item The option |interline| can be used to \emph{increase} the ``interline'' showed in the following picture.
+% The default value of |interline| is $0$~pt and applies only to the current command |\Cascade|.
+%
+% \item The option |interline-all| changes the default value of |interline| used by the current command |Cascade|
+% and all the possible nested commands |\Cascade|.
+% \end{itemize}
+% 
+% \vspace{1cm}
+%
+% \begin{center}
+% \Cascade{\fbox{\hbox to 2cm{\vrule height 18 pt depth 5 pt width 0pt\hfil \texttt{\#1}\hfil
+%                             \tikz[remember picture] \coordinate (one) at (0,0) ;}}}%
+% {\fbox{\vtop{\hbox to 3cm{\tikz[remember picture] \coordinate (two) at (0,0) ;
+%                           \vrule height 10 pt depth 12 pt width 0pt\hfil \texttt{\#2}\hfil}
+%              \hbox{\tikz[remember picture] \coordinate (three) at (0,0) ;}}}}%
+% {\fbox{\vbox{\hbox{\tikz[remember picture] \coordinate (four) at (0,0) ;}%
+%              \hbox to 2.5cm{\vrule height 15 pt depth 14 pt width 0pt\hfil \texttt{\#3}\hfil}}}}%
+% {\fbox{\hbox to 1.7cm{\vrule height 12 pt depth 5 pt width 0pt\hfil \texttt{\#4}\hfil}}}
+% \end{center}
+%
+% \begin{tikzpicture}[remember picture,overlay,blue]
+% \draw (one) to ++(0,1cm) coordinate (A) to ++(0,2mm) ;
+% \draw (two) to ++(0,1cm) coordinate (B) to ++(0,2mm) ;
+% \draw (A) -- (B) ;
+% \draw[<-] (A) -- ++(-1mm,0) ;
+% \draw[<-] (B) -- ++(1mm,0) ;
+% \path (B) node [right=2mm] {\texttt{space-between}} ;
+% \draw (three) to ++(-3cm,0) coordinate (C) to ++(-2mm,0) ;
+% \draw (four) -| coordinate (D) (C) ; 
+% \draw (D) to ++(-2mm,0) ;
+% \draw[<-] (C) -- ++(0,1mm) ;
+% \draw[<-] (D) -- ++(0,-1mm) ; 
+% \path ($(C)!0.5!(D)$) node [left=2mm] {the ``interline''} ;
+% \end{tikzpicture}
+% 
+% \begin{Verbatim}
+% \Cascade[~emphase#interline=4mm@]{\ShortCascade{A}{B}}{E}{\ShortCascade{C}{D}}{F} G
+% \end{Verbatim}
+% 
+% \begin{center}
+% \Cascade[interline=4mm]{\ShortCascade{A}{B}}{E}{\ShortCascade{C}{D}}{F} G
+% \end{center}
+%
+% \bigskip
+% \begin{Verbatim}
+% \Cascade[~emphase#interline-all=4mm@]{\ShortCascade{A}{B}}{E}{\ShortCascade{C}{D}}{F} G
+% \end{Verbatim}
+% 
+% \begin{center}
+% \Cascade[interline-all=4mm]{\ShortCascade{A}{B}}{E}{\ShortCascade{C}{D}}{F} G
+% \end{center}
+%
+% \interitem
+% The options can also be given at the document level with the command |\CascadeOptions|. In this case, the scope
+% of the declarations is the current TeX group (these declarations are ``semi-global'').
+% 
+% 
+% \bigskip
+% \section{Technical remark}
+% 
+% The package |\Cascade| is designed to give by default results similar to the those given by the environments of
+% \pkg{amsmath} --- and \pkg{mathtools} --- especially |{aligned}|.
+% 
+% \bigskip
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
+% \[\left.\begin{aligned}
+% & A = \sqrt{a^2+b^2} \\
+% & B = \frac{ax+b}{cx+d}
+% \end{aligned}\right\}\]
+% \end{BVerbatim}
+% $\left.\begin{aligned}
+% & A = \sqrt{a^2+b^2} \\
+% & B = \frac{ax+b}{cx+d}
+% \end{aligned}\right\}$
+% 
+% \bigskip
+% \begin{BVerbatim}[baseline=c,boxwidth=10cm]
+% \ShortCascade{$\displaystyle A = \sqrt{a^2+b^2}$}
+%              {$B = \dfrac{ax+b}{cx+d}$}
+% \end{BVerbatim}
+% \ShortCascade{$\displaystyle A = \sqrt{a^2+b^2}$}{$B = \dfrac{ax+b}{cx+d}$}
+% 
+% \interitem
+% The package \pkg{cascade} constructs the braces with the classical pair |\left|-|\right| of TeX. However, the
+% extensible delimiters, in TeX, cannot take all sizes. We give, in the following example, the braces obtained when
+% surrounding vertical rules from $6$~mm to $17$~mm (the code is in |expl3|).
+%
+% \begin{Verbatim}
+% \int_step_inline:nnnn 6 1 {17} { $\left.\hbox{\vrule height ~#1 mm}\right\}$\quad }
+% \end{Verbatim}
+%
+% \medskip
+% \begin{center}
+% \ExplSyntaxOn
+% \int_step_inline:nnnn 6 1 {17} { $\left.\hbox{\vrule height #1 mm}\right\}$\quad}
+% \ExplSyntaxOff
+% \end{center}
+% 
+%
+% \newgeometry{left=4cm}
+%
+% \section{Implementation}
+%
+%    \begin{macrocode}
+\RequirePackage{l3keys2e}
+\ProvidesExplPackage
+  {cascade}
+  {\myfiledate}
+  {\myfileversion}
+  {Easy presentation of demonstrations in cascades}
+%    \end{macrocode}
+% 
+% \interitem
+%    \begin{macrocode}
+\RequirePackage{xparse}
+%    \end{macrocode}
+% 
+% \interitem
+% \iffalse
+%%
+%% The following macro is the same as the macro of amsmath
+% \fi
+% \DescribeMacro{\spread at equation}
+% We will use the command |\spread at equation| of \pkg{amsmath} to increase the interline in the commands |\Cascade|.
+% When used, this command becomes no-op (in the current TeX group).
+% 
+% Nevertheless, we want the extension \pkg{cascade} available without \pkg{amsmath}. That's why we give a
+% definition of |\spread at equation| (this definition will be loaded only if \pkg{amsmath} --- or \pkg{mathtools} --- has
+% not been loaded yet).
+%    \begin{macrocode}
+\cs_if_free:NT \spread at equation
+    {\cs_set_protected:Npn \spread at equation
+               {\openup\jot   
+                \cs_set_protected:Npn \spread at equation {}}}
+%    \end{macrocode}
+% Don't put |\cs_set_eq:NN \spread at equation \prog_do_nothing:| in the last line because this would raise errors
+% with nested environments.
+%
+%
+% \iffalse
+%%
+%% The following registers will be used for the options.
+% \fi
+% \interitem
+% The dimension |\l_@@_interline_dim| will be the value of the vertical space added between the two boxes connected
+% by the brace.
+%    \begin{macrocode}
+\dim_new:N \l_@@_interline_dim
+%    \end{macrocode}
+% 
+% \medskip
+% The dimension |\l_@@_interline_all_dim| is the default value of |\l_@@_interline_dim|. This default value can be
+% modified with the option |interline-all|. Therefore, when modified in the options of a command |\Cascade|, this
+% value will affect all the possible nested commands.
+%    \begin{macrocode}
+\dim_new:N \l_@@_interline_all_dim
+%    \end{macrocode}
+% 
+% \medskip
+% The dimension |\l_@@_space_between_dim| is the horizontal space inserted between the two elements of the same row
+% of the construction.
+%    \begin{macrocode}
+\dim_new:N \l_@@_space_between_dim
+\dim_set:Nn \l_@@_space_between_dim {0.5 em}
+%    \end{macrocode}
+%
+% \interitem
+% \iffalse
+%%
+%% This set of options will be used by \Cascade and \ShortCascade
+% \fi
+% The set of keys |cascade/command| will be used for the commands |\Cascade|.
+%    \begin{macrocode}
+\keys_define:nn {cascade/command}
+  {
+%    \end{macrocode}
+% The option |interline| is the vertical space added between the two items connected by a~brace.
+%    \begin{macrocode}
+   interline          .dim_set:N        = \l_@@_interline_dim,
+   interline          .value_required:n = true ,
+%    \end{macrocode}
+% 
+% The option |interline-all| will change the value of |interline| for all the commands |\Cascade|, even the nested
+% commands. 
+%    \begin{macrocode}
+   interline-all      .code:n           = { \dim_set:Nn \l_@@_interline_all_dim {#1}
+                                            \dim_set:Nn \l_@@_interline_dim {#1} },
+   interline-all      .value_required:n = true,
+%    \end{macrocode}
+% 
+% \medskip
+% The option |space-between| is the horizontal space inserted between the two elements of the same row
+% of the construction.
+%    \begin{macrocode}
+   space-between      .dim_set:N        = \l_@@_space_between_dim,
+   space-between      .value_required:n = true}
+%    \end{macrocode}
+% 
+% \iffalse
+%%
+%% This set of options will be used by \CascadeOptions
+% \fi
+% \medskip
+% The set of keys |cascade/global| will be used for the command |\CascadeOptions| (which fixes the options at a
+% ``global'' level).
+% 
+%    \begin{macrocode}
+\keys_define:nn {cascade/global}
+  {interline-all      .dim_set:N        = \l_@@_interline_all_dim,
+   interline-all      .value_required:n = true,
+   space-between      .dim_set:N        = \l_@@_space_between_dim,
+   space-between      .value_required:n = true}
+%    \end{macrocode}
+% 
+% \medskip
+% \DescribeMacro{\CascadeOptions}
+% The command |\CascadeOptions| is the command to set the options of the \pkg{cascade} at the document level (these
+% options are set in a local way in the sense of the TeX groups).
+%    \begin{macrocode}
+\NewDocumentCommand \CascadeOptions {m}
+    {\keys_set:nn {cascade/global} {#1}}
+%    \end{macrocode}
+% 
+% \iffalse
+%%
+%% The command \Cascade is defined with \NewDocumentCommand of xparse
+% \fi
+% \interitem
+% \DescribeMacro{\Cascade}
+% The command |\Cascade| is the main command of this package.
+% 
+%    \begin{macrocode}
+\NewDocumentCommand \Cascade {O{} mmmm}
+   { \if_mode_math:
+        \msg_error:nn {cascade} {Cascade~in~math~mode}
+     \fi:
+     \mode_leave_vertical:
+     \group_begin:
+     \spread at equation
+     \dim_set_eq:NN \l_@@_interline_dim \l_@@_interline_all_dim
+     \keys_set:nn {cascade/command} {#1}
+     \box_clear_new:N \l_@@_box_one
+     \box_clear_new:N \l_@@_box_two
+     \box_clear_new:N \l_@@_box_three
+     \box_clear_new:N \l_@@_box_four
+     \hbox_set:Nn \l_@@_box_one {#2} 
+     \hbox_set:Nn \l_@@_box_two {#3}  
+     \hbox_set:Nn \l_@@_box_three {#4}
+     \hbox_set:Nn \l_@@_box_four {#5}
+%    \end{macrocode}
+%
+% \medskip
+% The dimension |\l_@@_top_dim| is the space that we will have to add before the main construction to make up for the
+% ``|\smash[t]|'' of the box |#1|.
+%    \begin{macrocode}
+     \dim_zero_new:N \l_@@_top_dim
+     \dim_set:Nn \l_@@_top_dim 
+            {\dim_max:nn \c_zero_dim
+                         {\box_ht:N \l_@@_box_one - \box_ht:N \l_@@_box_two}}
+%    \end{macrocode}
+% The dimension |\l_@@_bottom_dim| is the space that we will have to add after the main construction to make up for
+% the ``|\smash[b]|'' of the box |#3|.
+%    \begin{macrocode}
+     \dim_zero_new:N \l_@@_bottom_dim
+     \dim_set:Nn \l_@@_bottom_dim 
+            {\dim_max:nn \c_zero_dim
+                         {\box_dp:N \l_@@_box_three - \box_dp:N \l_@@_box_four}}
+%    \end{macrocode}
+%
+% \medskip
+% We do the ``|\smash[t]|'' of box |#1| and the ``|\smash[b]|'' of box |#3|.
+%    \begin{macrocode}
+     \box_set_ht:Nn \l_@@_box_one \c_zero_dim
+     \box_set_dp:Nn \l_@@_box_three \c_zero_dim
+%    \end{macrocode}
+% 
+% \medskip
+% We can now construct the box.
+%    \begin{macrocode}
+     \vbox:n  
+      {\skip_vertical:N \l_@@_top_dim
+       \vbox_top:n 
+        {\hbox:n 
+          {$\left. 
+              \vcenter {\halign{\hfil##\cr
+                                \hbox:n{\tl_if_empty:nF {#2}
+                                          {\box_use_drop:N \l_@@_box_one 
+                                           \skip_horizontal:n \l_@@_space_between_dim}
+                                        \box_use_drop:N \l_@@_box_two \strut} \cr
+                                \noalign{\skip_vertical:n \l_@@_interline_dim}
+                                \hbox:n{\tl_if_empty:nF {#4}
+                                          {\box_use_drop:N \l_@@_box_three
+                                           \skip_horizontal:n \l_@@_space_between_dim}
+                                        \box_use_drop:N \l_@@_box_four \strut} \cr
+                               }
+                       }  
+            \right\}$
+          }
+         \skip_vertical:N \l_@@_bottom_dim
+        }
+      }
+     \group_end:
+}
+%    \end{macrocode}
+% 
+%
+% \bigskip
+%    \begin{macrocode}
+\msg_new:nnn {cascade}
+             {Cascade~in~math~mode}
+             {The~commands~\token_to_str:N \Cascade\
+              and~\token_to_str:N \ShortCascade\  
+              should~be~used~in~text~mode~only.~However,~you~can~
+              go~on~for~this~time.}
+%    \end{macrocode}
+%
+% \bigskip
+% \DescribeMacro{\ShortCascade}
+% The command |\ShortCascade| is a version simplified of |\Cascade| with only two arguments.
+%    \begin{macrocode}
+\NewDocumentCommand \ShortCascade {O{}mm}
+    {\Cascade[#1]{}{#2}{}{#3}}
+%    \end{macrocode}
+% \endinput
+%
+% Local Variables:
+% TeX-fold-mode: nil
+% End:
+
+
+
+
+
+


Property changes on: trunk/Master/texmf-dist/source/latex/cascade/cascade.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/source/latex/cascade/cascade.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/cascade/cascade.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/cascade/cascade.ins	2018-05-01 17:34:49 UTC (rev 47532)
@@ -0,0 +1,47 @@
+%%
+%% Copyright (C) 2018 by F. Pantigny
+%%
+%%
+%% This file 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.
+%%
+\input l3docstrip.tex
+\keepsilent
+\usedir{tex/latex/cascade}
+\preamble
+
+Copyright (C) 2018 by F. Pantigny
+
+This file 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.
+
+\endpreamble
+\generate{\file{cascade.sty}{\from{cascade.dtx}{package}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space cascade.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file cascade.dtx}
+\Msg{* through XeLaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile
+

Added: trunk/Master/texmf-dist/tex/latex/cascade/cascade.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/cascade/cascade.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/cascade/cascade.sty	2018-05-01 17:34:49 UTC (rev 47532)
@@ -0,0 +1,127 @@
+%%
+%% This is file `cascade.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% cascade.dtx  (with options: `package')
+%% 
+%% Copyright (C) 2018 by F. Pantigny
+%% 
+%% This file 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.
+%% 
+% \iffalse meta-comment
+\def\myfileversion{1.0}
+\def\myfiledate{2018/04/17}
+\RequirePackage{l3keys2e}
+\ProvidesExplPackage
+  {cascade}
+  {\myfiledate}
+  {\myfileversion}
+  {Easy presentation of demonstrations in cascades}
+\RequirePackage{xparse}
+%%
+%% The following macro is the same as the macro of amsmath
+\cs_if_free:NT \spread at equation
+    {\cs_set_protected:Npn \spread at equation
+               {\openup\jot
+                \cs_set_protected:Npn \spread at equation {}}}
+%%
+%% The following registers will be used for the options.
+\dim_new:N \l__cascade_interline_dim
+\dim_new:N \l__cascade_interline_all_dim
+\dim_new:N \l__cascade_space_between_dim
+\dim_set:Nn \l__cascade_space_between_dim {0.5 em}
+%%
+%% This set of options will be used by \Cascade and \ShortCascade
+\keys_define:nn {cascade/command}
+  {
+   interline          .dim_set:N        = \l__cascade_interline_dim,
+   interline          .value_required:n = true ,
+   interline-all      .code:n           = { \dim_set:Nn \l__cascade_interline_all_dim {#1}
+                                            \dim_set:Nn \l__cascade_interline_dim {#1} },
+   interline-all      .value_required:n = true,
+   space-between      .dim_set:N        = \l__cascade_space_between_dim,
+   space-between      .value_required:n = true}
+%%
+%% This set of options will be used by \CascadeOptions
+\keys_define:nn {cascade/global}
+  {interline-all      .dim_set:N        = \l__cascade_interline_all_dim,
+   interline-all      .value_required:n = true,
+   space-between      .dim_set:N        = \l__cascade_space_between_dim,
+   space-between      .value_required:n = true}
+\NewDocumentCommand \CascadeOptions {m}
+    {\keys_set:nn {cascade/global} {#1}}
+%%
+%% The command \Cascade is defined with \NewDocumentCommand of xparse
+\NewDocumentCommand \Cascade {O{} mmmm}
+   { \if_mode_math:
+        \msg_error:nn {cascade} {Cascade~in~math~mode}
+     \fi:
+     \mode_leave_vertical:
+     \group_begin:
+     \spread at equation
+     \dim_set_eq:NN \l__cascade_interline_dim \l__cascade_interline_all_dim
+     \keys_set:nn {cascade/command} {#1}
+     \box_clear_new:N \l__cascade_box_one
+     \box_clear_new:N \l__cascade_box_two
+     \box_clear_new:N \l__cascade_box_three
+     \box_clear_new:N \l__cascade_box_four
+     \hbox_set:Nn \l__cascade_box_one {#2}
+     \hbox_set:Nn \l__cascade_box_two {#3}
+     \hbox_set:Nn \l__cascade_box_three {#4}
+     \hbox_set:Nn \l__cascade_box_four {#5}
+     \dim_zero_new:N \l__cascade_top_dim
+     \dim_set:Nn \l__cascade_top_dim
+            {\dim_max:nn \c_zero_dim
+                         {\box_ht:N \l__cascade_box_one - \box_ht:N \l__cascade_box_two}}
+     \dim_zero_new:N \l__cascade_bottom_dim
+     \dim_set:Nn \l__cascade_bottom_dim
+            {\dim_max:nn \c_zero_dim
+                         {\box_dp:N \l__cascade_box_three - \box_dp:N \l__cascade_box_four}}
+     \box_set_ht:Nn \l__cascade_box_one \c_zero_dim
+     \box_set_dp:Nn \l__cascade_box_three \c_zero_dim
+     \vbox:n
+      {\skip_vertical:N \l__cascade_top_dim
+       \vbox_top:n
+        {\hbox:n
+          {$\left.
+              \vcenter {\halign{\hfil##\cr
+                                \hbox:n{\tl_if_empty:nF {#2}
+                                          {\box_use_drop:N \l__cascade_box_one
+                                           \skip_horizontal:n \l__cascade_space_between_dim}
+                                        \box_use_drop:N \l__cascade_box_two \strut} \cr
+                                \noalign{\skip_vertical:n \l__cascade_interline_dim}
+                                \hbox:n{\tl_if_empty:nF {#4}
+                                          {\box_use_drop:N \l__cascade_box_three
+                                           \skip_horizontal:n \l__cascade_space_between_dim}
+                                        \box_use_drop:N \l__cascade_box_four \strut} \cr
+                               }
+                       }
+            \right\}$
+          }
+         \skip_vertical:N \l__cascade_bottom_dim
+        }
+      }
+     \group_end:
+}
+\msg_new:nnn {cascade}
+             {Cascade~in~math~mode}
+             {The~commands~\token_to_str:N \Cascade\
+              and~\token_to_str:N \ShortCascade\
+              should~be~used~in~text~mode~only.~However,~you~can~
+              go~on~for~this~time.}
+\NewDocumentCommand \ShortCascade {O{}mm}
+    {\Cascade[#1]{}{#2}{}{#3}}
+
+\endinput
+%%
+%% End of file `cascade.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/cascade/cascade.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-01 17:33:54 UTC (rev 47531)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-05-01 17:34:49 UTC (rev 47532)
@@ -133,7 +133,7 @@
     calligra calligra-type1 callouts calrsfs cals calxxxx-yyyy cancel
     canoniclayout cantarell
     capt-of captcont captdef caption carbohydrates carlisle carlito carolmin-ps
-    cascadilla cases casyl
+    cascade cascadilla cases casyl
     catchfilebetweentags catcodes catechis catoptions
     cbcoptic cbfonts cbfonts-fd
     cc-pl ccaption ccfonts ccicons cclicenses

Added: trunk/Master/tlpkg/tlpsrc/cascade.tlpsrc
===================================================================
Modified: trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2018-05-01 17:33:54 UTC (rev 47531)
+++ trunk/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc	2018-05-01 17:34:49 UTC (rev 47532)
@@ -29,6 +29,7 @@
 depend bropd
 depend bytefield
 depend calculation
+depend cascade
 depend ccfonts
 depend chemarrow
 depend chemcompounds



More information about the tex-live-commits mailing list