texlive[75976] Master/texmf-dist: rainbowbrackets (5aug25)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 5 22:35:12 CEST 2025


Revision: 75976
          https://tug.org/svn/texlive?view=revision&revision=75976
Author:   karl
Date:     2025-08-05 22:35:12 +0200 (Tue, 05 Aug 2025)
Log Message:
-----------
rainbowbrackets (5aug25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/rainbowbrackets/README.md
    trunk/Master/texmf-dist/doc/latex/rainbowbrackets/TODO.md
    trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.pdf
    trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.tex
    trunk/Master/texmf-dist/tex/latex/rainbowbrackets/rainbowbrackets.sty

Modified: trunk/Master/texmf-dist/doc/latex/rainbowbrackets/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rainbowbrackets/README.md	2025-08-05 20:35:01 UTC (rev 75975)
+++ trunk/Master/texmf-dist/doc/latex/rainbowbrackets/README.md	2025-08-05 20:35:12 UTC (rev 75976)
@@ -1,4 +1,4 @@
-# RainbowBrackets v. 1.2.1 \y 2025
+# RainbowBrackets v. 1.3.2 \y 2025
 > Part of a collection of LaTeX commands used by the institute of linguistics - Goethe University Frankfurt
 
 Provides automatic coloring of nested parentheses using a configurable color cycle.
@@ -18,6 +18,12 @@
 
 ## Version History
 
+* 1.3.2
+	* Add new style.
+	* Fix bug regarding \verb=\rbparenr= and \verb=\rbdisable= (thanks to Adelheid Bonnetsmüller).
+	* Fix bug that occured when passing an invalid max value as package argument.
+	* Fix wrong color in pastel style.
+	* Internal refactoring.
 * 1.2.1
 	* Renamed some commands to get a cohesive command style (now all start with rb).
 	* Add optional package arguments to change bracket symbols.

Modified: trunk/Master/texmf-dist/doc/latex/rainbowbrackets/TODO.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rainbowbrackets/TODO.md	2025-08-05 20:35:01 UTC (rev 75975)
+++ trunk/Master/texmf-dist/doc/latex/rainbowbrackets/TODO.md	2025-08-05 20:35:12 UTC (rev 75976)
@@ -1,4 +1,4 @@
-# rainbowbrackets v. 1.2.1 \y 2025 Todo
+# rainbowbrackets v. 1.3.2 \y 2025 Todo
 > List of planned features
 
 * Add support for different delimiters

Modified: trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.tex	2025-08-05 20:35:01 UTC (rev 75975)
+++ trunk/Master/texmf-dist/doc/latex/rainbowbrackets/rainbowbrackets_doc.tex	2025-08-05 20:35:12 UTC (rev 75976)
@@ -1,4 +1,4 @@
-% RainbowBrackets v. 1.2.1 y. 2025
+% RainbowBrackets v. 1.3.2 y. 2025
 % 
 % Copyright (C) 2025 Paul Eduard Koenig
 % pauleduardkoenig (at) gmail [dot] com
@@ -99,7 +99,7 @@
 %---------------------------------------------------------------- START --------------------------------------------
 
 \title{Rainbow Brackets\\Documentation for the \LaTeX\ package \texttt{'rainbowbrackets'}}
-\author{rainbowbrackets \textbackslash v 1.2.1\\Paul Eduard Koenig\\Goethe University Frankfurt,\\Institute of Linguistics\\\texttt{\href{mailto:pauleduardkoenig at gmail.com}{pauleduardkoenig at gmail.com}}}
+\author{rainbowbrackets \textbackslash v 1.3.2\\Paul Eduard Koenig\\Goethe University Frankfurt,\\Institute of Linguistics\\\texttt{\href{mailto:pauleduardkoenig at gmail.com}{pauleduardkoenig at gmail.com}}}
 
 
 \begin{document}
@@ -158,6 +158,7 @@
 		\item[-] pastel \rbsetstyle{pastel}\begin{rb}((((((((((()))))))))))\end{rb}
 		\item[-] spectral \rbsetstyle{spectral}\begin{rb}((((((((((()))))))))))\end{rb}
 		\item[-] dualpolar \rbsetstyle{dualpolar}\begin{rb}((((((((((()))))))))))\end{rb}
+		\item[-] java \rbsetstyle{java}\begin{rb}((((((((((()))))))))))\end{rb}
 		\item[-] warning \rbsetstyle{warning}\begin{rb}((((((((((()))))))))))\end{rb}\rbresetstyle
 	\end{itemizeexample}
 	\subsubsection{max}
@@ -237,11 +238,13 @@
 	\xe
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
-			\rbsetbracketmax{value}
+			\rbsetbracketmax{value}[fallbackvalue][errorinfo]
 			\end{lstlisting}
 			{\scriptsize
 				\item[] Arguments:\begin{itemizeexamplecommand}
 					\item[] \texttt{value}: The maximal coloring level
+					\item[] \texttt{fallbackvalue}: The value to fall back if the first argument is invalid (for package internal usage)
+					\item[] \texttt{errorinfo}: Information regarding the fallbackvalue source (for package internal usage)
 				\end{itemizeexamplecommand}
 				\item[] Description: Changes the maximaal coloring level mid document. Allowed are integers from 2 to 10.}
 		\end{itemizeexamplecommand}
@@ -338,11 +341,18 @@
 		\item[-] No coloring when parentheses are generated via another macro within the \textit{rb} environment (getting the correct order of expansion to work as intended seems to be complicated... again a solution is welcome). \\Example: 
 		\\\verb=\newcommand{\test}{(level2test)}= 
 		\\\verb=\begin{rb}(level0(level1\test (level2)))\end{rb}= 
-		\\Will render as: \newcommand{\test}{(level2test)}
-		\begin{rb}(level0(level1\test (level2)))\end{rb}  
+		\\Will render as: \newcommand{\test}{(level2test)}\begin{rb}(level0(level1\test (level2)))\end{rb}  
 	\end{enumerate}
 	\section{Changelog}
 	\begin{itemize}
+		\item[1.3.2] 
+		\begin{enumerate}
+			\item[-] Add new style.
+			\item[-] Fix bug regarding \verb=\rbparenr= and \verb=\rbdisable= (thanks to Adelheid Bonnetsmüller).
+			\item[-] Fix bug that occured when passing an invalid max value as package argument.
+			\item[-] Fix wrong color in pastel style.
+			\item[-] Internal refactoring.
+		\end{enumerate}
 		\item[1.2.1] 
 		\begin{enumerate}
 			\item[-] Renamed some commands to get a cohesive command style (now all start with rb).
@@ -354,7 +364,7 @@
 		\end{enumerate}
 		\item[1.1.1] 
 		\begin{enumerate}
-			\item[-] Add new styles
+			\item[-] Add new styles.
 			\item[-] Refactored style system.
 			\item[-] Fix typos.
 			\item[-] Added missing credits!

Modified: trunk/Master/texmf-dist/tex/latex/rainbowbrackets/rainbowbrackets.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/rainbowbrackets/rainbowbrackets.sty	2025-08-05 20:35:01 UTC (rev 75975)
+++ trunk/Master/texmf-dist/tex/latex/rainbowbrackets/rainbowbrackets.sty	2025-08-05 20:35:12 UTC (rev 75976)
@@ -1,4 +1,4 @@
-% RainbowBrackets v. 1.2.1 y. 2025
+% RainbowBrackets v. 1.3.2 y. 2025
 % 
 % Copyright (C) 2025 Paul Eduard Koenig
 % pauleduardkoenig (at) gmail [dot] com
@@ -28,9 +28,11 @@
 % The groundwork of this package is based on workd by Ryan Reich, jub0bs, and Matthew Towers
 %
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rainbowbrackets}[2025-07-20 v. 1.2.1 LaTeX package that colors parentheses on the same nesting level with a matching color.]
+\ProvidesPackage{rainbowbrackets}[2025-08-05 v. 1.3.2 LaTeX package that colors parentheses on the same nesting level with a matching color.]
 \RequirePackage{xparse, xstring, xcolor, expl3, kvoptions}
 
+\def\@rbmaxfallbackvalue{10}
+
 \SetupKeyvalOptions{
 	family=RB,
 	prefix=RB@
@@ -38,23 +40,27 @@
 \DeclareStringOption[default]{style}
 \DeclareStringOption[(]{lbracket}
 \DeclareStringOption[)]{rbracket}
-\DeclareStringOption[10]{max}
+\DeclareStringOption[\@rbmaxfallbackvalue]{max}
 \ProcessKeyvalOptions*
 
-\let\@rbmaxbackup\RB at max
-\NewDocumentCommand{\rbsetbracketmax}{m}{%
+\NewDocumentCommand{\rbsetbracketmax}{m O{\RB at max} O{default}}{%
 \IfInteger{#1}{%
     \ifnum#1<2%
-      \PackageWarning{rainbowbrackets}{Color repearing maximum not in range [2-10], using default value!}%
+      \PackageWarning{rainbowbrackets}{Color repearing maximum not in range [2-10], using #3 value (#2)!}%
+	  \gdef\RB at max{\@rbmaxfallbackvalue}
     \else\ifnum#1>10%
-      \PackageWarning{rainbowbrackets}{Color repearing maximum not in range [2-10], using default value!}%
+      \PackageWarning{rainbowbrackets}{Color repearing maximum not in range [2-10], using #3 value (#2)!}%
+	  \gdef\RB at max{\@rbmaxfallbackvalue}
     \else%
       \def\RB at max{#1}%
     \fi\fi%
   }{%
-    \PackageWarning{rainbowbrackets}{Passed argument '#1' is not an integer, using default value as color repeating maximum!}
+    \PackageWarning{rainbowbrackets}{Passed argument '#1' is not an integer, using #3 value (#2) as color repeating maximum!}
+	\gdef\RB at max{\@rbmaxfallbackvalue}
   }%
 }
+\expandafter\rbsetbracketmax\expandafter{\RB at max}[\@rbmaxfallbackvalue][fallback]
+\let\@rbmaxbackup\RB at max
 \NewDocumentCommand{\rbresetbracketmax}{}{%
 \def\RB at max{\@rbmaxbackup}%
 }
@@ -106,7 +112,7 @@
 \newcommand{\rbsetrbracket}[1]{\renewcommand{\@rb at argB}{#1}}
 
 \let\rbparenl(
-\let\rbparenr(
+\let\rbparenr)
 
 \newenvironment{rb}{%
 \catcode`(\active%
@@ -171,16 +177,17 @@
 \int_new:N \l_index_int
 
 \cs_new_protected:Nn \rb_define_style_colors:n
-  {
-	\clist_set:Nx \l_colorcodes_clist { 000000 , b4611E , 3CB44B , 4363D8 , F58231 , 911EB4 , B41E2D , 7BB41E , B41E93 , FFE119 }
+  {%						Level			9		0		1		2			3		4		5		6		7			8
+	\clist_set:Nx \l_colorcodes_clist { b4611E , 000000 , 3CB44B , 4363D8 , F58231 , 911EB4 , B41E2D , 7BB41E , B41E93 , FFE119 }
 	\str_case:nnF { #1 }
       {
         { default }  {}
-        { neon }  { \clist_set:Nx \l_colorcodes_clist  { 000000, 001EFF , 39FF14 , FFFF00 , FF00FF, 00FFFF , FFA500 , FF0000 , FF6600 , 74EE15 } }
-        { pastel }  { \clist_set:Nx \l_colorcodes_clist  { 000000 , 66c5cc , f6cf71 , dcb0f2 , f89c74 , 87c55f , 9eb9f3 , fe88b1 , c9db74 , 8be0a4 } }
-        { spectral }  { \clist_set:Nx \l_colorcodes_clist  { 000000 , 9e0142 , 5e4fa2 , d53e4f , 3288bd , f46d43 , 66c2a5 , fee08b , abdda4 , e6f598 } }
-        { dualpolar }  { \clist_set:Nx \l_colorcodes_clist  { 000000 , a55a22 , 41b764, 5aad4e, 6da33a, 7c9829, 898d1b, 938114, 9b7414, a1671a} }
-        { warning }  { \clist_set:Nx \l_colorcodes_clist  { 000000 , 750000, ffb37d, ff9160, ff6e44, ff4928, ff1407, dd0000, b90000, 960000} }
+        { neon }  { \clist_set:Nx \l_colorcodes_clist  { 001EFF , 000000, 39FF14 , FFFF00 , FF00FF, 00FFFF , FFA500 , FF0000 , FF6600 , 74EE15 } }
+        { pastel }  { \clist_set:Nx \l_colorcodes_clist  { FF746C , 000000 , f6cf71 , dcb0f2 , f89c74 , 87c55f , 9eb9f3 , fe88b1 , c9db74 , 8be0a4 } }
+        { spectral }  { \clist_set:Nx \l_colorcodes_clist  { 9e0142 , 000000 , 5e4fa2 , d53e4f , 3288bd , f46d43 , 66c2a5 , fee08b , abdda4 , e6f598 } }
+        { dualpolar }  { \clist_set:Nx \l_colorcodes_clist  { a55a22 , 000000 , 41b764, 5aad4e, 6da33a, 7c9829, 898d1b, 938114, 9b7414, a1671a} }
+        { warning }  { \clist_set:Nx \l_colorcodes_clist  { 750000, 000000 , ffb37d, ff9160, ff6e44, ff4928, ff1407, dd0000, b90000, 960000} }
+        { java }  { \clist_set:Nx \l_colorcodes_clist  { 0DAA85, 000000 , 3F9101, 0E4A8E, BC0BA2, B4960A, AA0D25, 0D98AA, AA610D, 590DAA} }
         { disabled }  { \clist_set:Nx \l_colorcodes_clist  { 000000 , 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000, 000000} }
       }
       {\PackageWarning{rainbowbrackets}{Unknown~style~'#1',~using~default~style!}}
@@ -191,19 +198,7 @@
 			\int_incr:N \l_index_int%
 		  }
   }
-  
- \NewDocumentCommand{\disablerb}{}
-  {%
-    \rb_define_style_colors:n { disabled }%
-  }
 
-\NewDocumentCommand{\rbsetstyle}{m}
-{%
-\tl_set:Nn \@rbcurrentstyle { #1 }%
-\rb_define_style_colors:n { #1 }%
-}
-
-% Bracket coloring logic
 \cs_new:Npn \RB_get_modulo_max: {
   \int_eval:n { \RB at max }
 }
@@ -210,34 +205,24 @@
 
 \NewDocumentCommand{\@rbbrainbow}{m}
 {%
-\modswitch_fixed_counter:n {#1}%
+\int_set:Nn \l_tmpa_int { \int_mod:nn { \value{@rbbparenscounter} } { \RB_get_modulo_max: } }%
+\textcolor{rbbcpcolor\int_use:N \l_tmpa_int}{#1}%
 }
 
-\cs_new_protected:Npn \modswitch_fixed_counter:n #1
- {
-  % Read value from counter
-  \int_set:Nn \l_tmpa_int { \int_mod:nn { \value{@rbbparenscounter} } { \RB_get_modulo_max: } }
+\NewDocumentCommand{\rbdisable}{}
+{%
+\rb_define_style_colors:n { disabled }%
+}
 
-  % Perform "switch-case" logic
-  \int_case:nnF { \l_tmpa_int }
-   {
-    { 0 } {\textcolor{rbbcpcolor1}{#1}}
-    { 1 } {\textcolor{rbbcpcolor0}{#1}}
-    { 2 } {\textcolor{rbbcpcolor2}{#1}}
-    { 3 } {\textcolor{rbbcpcolor3}{#1}}
-    { 4 } {\textcolor{rbbcpcolor4}{#1}}
-	{ 5 } {\textcolor{rbbcpcolor5}{#1}}
-	{ 6 } {\textcolor{rbbcpcolor6}{#1}}
-	{ 7 } {\textcolor{rbbcpcolor7}{#1}}
-	{ 8 } {\textcolor{rbbcpcolor8}{#1}}
-	{ 9 } {\textcolor{rbbcpcolor9}{#1}}
-   }
-   {\textcolor{rbbcpcolor0}{#1}}
+\NewDocumentCommand{\rbsetstyle}{m}
+{%
+\tl_set:Nn \@rbcurrentstyle { #1 }%
+\rb_define_style_colors:n { #1 }%
 }
+
 \ExplSyntaxOff
 \newcommand{\rbresetstyle}{\expandafter\rbsetstyle\expandafter{\RB at style}}%
 \newcommand{\rbenable}{\expandafter\rbsetstyle\expandafter{\@rbcurrentstyle}}%
-\newcommand{\rbdisable}{\rbsetstyle{}}%
 \expandafter\rbsetstyle\expandafter{\RB at style}%
 \endinput
 % End of file `rainbowbrackets.sty'.
\ No newline at end of file



More information about the tex-live-commits mailing list.