texlive[68397] Master/texmf-dist: profsio (29sep23)
commits+karl at tug.org
commits+karl at tug.org
Fri Sep 29 23:04:42 CEST 2023
Revision: 68397
https://tug.org/svn/texlive?view=revision&revision=68397
Author: karl
Date: 2023-09-29 23:04:41 +0200 (Fri, 29 Sep 2023)
Log Message:
-----------
profsio (29sep23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.pdf
trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex
trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty
Modified: trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex 2023-09-29 21:04:31 UTC (rev 68396)
+++ trunk/Master/texmf-dist/doc/latex/profsio/ProfSio-doc-fr.tex 2023-09-29 21:04:41 UTC (rev 68397)
@@ -5,8 +5,8 @@
\documentclass[french,a4paper,11pt]{article}
\usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.7}
-\def\TPdate{25 septembre 2023}
+\def\TPversion{0.1.8}
+\def\TPdate{29 septembre 2023}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
@@ -81,7 +81,7 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw,\DiagrammeSagittalCompo,\TableVerite,\SimplificationKarnaugh,\SimplificationBooleenne},%
+ morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw,\DiagrammeSagittalCompo,\TableVerite,\SimplificationKarnaugh,\SimplificationBooleenne,\KarnaughCasesAuto},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleursFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels,Offset,NomApplis,CouleursAppli,VF,LargeursColonnes,CouleurEnonce,CodeAvant,CodeApres,StyleAlternatif,PoliceTT,Espace,Couleurs,Contraire,Enonce},%
@@ -255,6 +255,8 @@
\section{Historique}
+\verb|v0.1.8|~:~~~~Possibilité de créer le tableau de Karnaugh via une expression booléenne + Corrections mineures
+
\verb|v0.1.7|~:~~~~Possibilité de simplifier une expression booléenne \textit{directement} + amélioration des espaces
\verb|v0.1.6|~:~~~~Correction dans les simplifications de Karnaugh + Simplification du contraire
@@ -635,7 +637,8 @@
Les commandes à utiliser dans l'environnement sont :
\begin{itemize}
- \item \motcletex!\KarnaughCasesResult! ;
+ \item \motcletex!\KarnaughCasesResult! pour saisir les cases par codage binaire ;
+ \item \motcletex!\KarnaughCasesAuto! pour utiliser l'expression booléenne ;
\item \motcletex!\KarnaughBlocRegroup! ;.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
@@ -643,7 +646,8 @@
\begin{DemoCode}[listing only]
\begin{TableKarnaugh}[clés]<options tikz>
- \KarnaughCasesResult(*){contenu binaire des cases}
+ \KarnaughCasesResult(*){contenu binaire des cases} %case par case
+ \KarnaughCasesAuto(*){expression booléenne} %par une formule
\KarnaughBlocRegroup[clés]{coinA}{coinB}
\end{TableKarnaugh}
\end{DemoCode}
@@ -676,8 +680,6 @@
Le tableau créé également des nœuds, qui seront utilisés pour effectuer des \textit{regroupements} de cases, afin de simplifier une expression booléenne.
\end{tipblock}
-\pagebreak
-
\subsection{Arguments et clés pour l'environnement}
\begin{DemoCode}[listing only]
@@ -714,11 +716,13 @@
\begin{DemoCode}[listing only]
\begin{TableKarnaugh}[clés]<options tikz>
\KarnaughCasesResult(*){contenu binaire des cases}
+ %ou
+ \KarnaughCasesAuto(*){expression booléenne}
\end{TableKarnaugh}
\end{DemoCode}
\begin{tipblock}
-En ce qui concerne le remplissage des cases :
+En ce qui concerne le remplissage des cases avec la commande \texttt{\textbackslash KarnaughCasesResult} :
\begin{itemize}
\item la version \textit{étoilée} permet de \textit{griser} les cases au lieu de les remplir de \texttt{0/1} ;
@@ -726,9 +730,35 @@
\item la couleur de cases est gérée par la clé idoine de l'environnement.
\end{itemize}
-À noter que la liste peut être donnée sous forme \Cle{\{1,0,1,0,0,0,0,0\}} ou \Cle{\{1010000\}}
+À noter que la liste peut être donnée sous forme \Cle{\{1,0,1,0,0,0,0,0\}} ou \Cle{\{1010000\}}.
\end{tipblock}
+\begin{tipblock}
+Pour la commande \texttt{\textbackslash KarnaughCasesAuto}, c'est l'expression booléenne à trois variables sous forme de \textit{mintermes} simples, donnés :
+%
+\begin{itemize}
+ \item entre parenthèses ;
+ \item les \textit{mintermes} avec les variables dans le même ordre que celui donné en paramètre ;
+ \item avec \texttt{*} pour la barre.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{DemoCode}[]
+\begin{TableKarnaugh}
+ \KarnaughCasesAuto*{(ab)+(a*b*)+(b*c)}
+\end{TableKarnaugh}
+\begin{TableKarnaugh}[Swap]
+ \KarnaughCasesAuto*{(ab)+(a*b*)+(b*c)}
+\end{TableKarnaugh}
+
+\begin{TableKarnaugh}[Variables=k/l/m,StyleAlternatif]
+ \KarnaughCasesAuto{(kl)+(k*l*)+(l*m)}
+\end{TableKarnaugh}
+\end{DemoCode}
+
+\pagebreak
+
\subsection{Arguments et clés pour la commande de regroupement des blocs}
\begin{DemoCode}[listing only]
@@ -775,7 +805,7 @@
\end{TableKarnaugh}
\hspace{5mm}
\begin{TableKarnaugh}[Swap]
- \KarnaughCasesResult{0,1,1,0,1,1,1,1}
+ \KarnaughCasesAuto{(ac)+(a*b)+(a*b*c*)+(b*c)}
\KarnaughBlocRegroup[Type=Centre,Couleur=teal,Decalage=-1.5pt]{10}{32}
\KarnaughBlocRegroup[Type=Gauche,Couleur=orange,Decalage=-1.5pt]{00}{11}
\KarnaughBlocRegroup[Type=Droite,Couleur=orange,Decalage=-1.5pt]{40}{31}
@@ -946,7 +976,7 @@
L'idée est de proposer une commande pour afficher et simplifier une expression booléenne à trois variables connaissant son expression sous forme de \textit{mintermes} simples, donnés :
%
\begin{itemize}
- \item entre parenthèses ;
+ \item entre parenthèses, et avec les variables dans le même ordre que celui donné en paramètre;
\item avec \texttt{*} pour la barre.
\end{itemize}
Modified: trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty 2023-09-29 21:04:31 UTC (rev 68396)
+++ trunk/Master/texmf-dist/tex/latex/profsio/ProfSio.sty 2023-09-29 21:04:41 UTC (rev 68397)
@@ -3,7 +3,8 @@
% : Luatruthtable from Chetan Shirore and Dr. Ajit Kumar https://ctan.org/pkg/luatruthtable
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfSio}[2023/09/25 0.1.7 Pour les enseignants de Maths en BTS SIO]
+\ProvidesPackage{ProfSio}[2023/09/29 0.1.8 Pour les enseignants de Maths en BTS SIO]
+%0.1.8 Possibilité de représenter une table de Karnaugh via son expression + corrections mineures
%0.1.7 Ajout des simplifications booléennes d'expressions classiques
%0.1.6 Correction dans les simplifications de Karnaugh + Possibilité de travailler avec le contraire
%0.1.5 Simplification d'expressions booléennes (par Karnaugh)
@@ -422,6 +423,131 @@
}%
}
+\NewDocumentCommand\KarnaughCasesAuto{ s m }{%
+ \itemtomacro\ListeVariablesKGH[1]{\VarTMPA}%
+ \itemtomacro\ListeVariablesKGH[2]{\VarTMPB}%
+ \itemtomacro\ListeVariablesKGH[3]{\VarTMPC}%
+ %substitutions pour binaire
+ \StrSubstitute{#2}{\VarTMPA}{AA}[\knghbintransf]%
+ \StrSubstitute{\knghbintransf}{\VarTMPB}{BB}[\knghbintransf]%
+ \StrSubstitute{\knghbintransf}{\VarTMPC}{CC}[\knghbintransf]%
+ \xdef\knghbinres{00000000}%
+ %cas différents suivant la configuration
+ \ifboolKV[tblkgh]{StyleAlternatif}%
+ {%
+ %calculs pour 1 lettre
+ \IfSubStr{\knghbintransf}{(AA)}{\xdef\knghbinres{\inteval{\knghbinres+00110011}}}{}%
+ \IfSubStr{\knghbintransf}{(BB)}{\xdef\knghbinres{\inteval{\knghbinres+01100110}}}{}%
+ \IfSubStr{\knghbintransf}{(CC)}{\xdef\knghbinres{\inteval{\knghbinres+00001111}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*)}{\xdef\knghbinres{\inteval{\knghbinres+11001100}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*)}{\xdef\knghbinres{\inteval{\knghbinres+10011001}}}{}%
+ \IfSubStr{\knghbintransf}{(CC*)}{\xdef\knghbinres{\inteval{\knghbinres+11110000}}}{}%
+ %calculs pour 2 lettres
+ \IfSubStr{\knghbintransf}{(AABB)}{\xdef\knghbinres{\inteval{\knghbinres+00100010}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC*)}{\xdef\knghbinres{\inteval{\knghbinres+00110000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*)}{\xdef\knghbinres{\inteval{\knghbinres+00010001}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB)}{\xdef\knghbinres{\inteval{\knghbinres+01000100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+11000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*)}{\xdef\knghbinres{\inteval{\knghbinres+10001000}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC)}{\xdef\knghbinres{\inteval{\knghbinres+00000011}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00001100}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+00000110}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+01100000}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+10010000}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00001001}}}{}%
+ %calculs pour 3 lettres
+ \IfSubStr{\knghbintransf}{(AABBCC)}{\xdef\knghbinres{\inteval{\knghbinres+00000010}}}{}%
+ \IfSubStr{\knghbintransf}{(AABBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+00100000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00010000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00000001}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+00000100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+01000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+10000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00001000}}}{}%
+ }%
+ {%
+ \ifboolKV[tblkgh]{Swap}%c*|c|c|c* sinon c|c*|c*|c
+ {%
+ %calculs pour 1 lettre
+ \IfSubStr{\knghbintransf}{(AA)}{\xdef\knghbinres{\inteval{\knghbinres+11110000}}}{}%
+ \IfSubStr{\knghbintransf}{(BB)}{\xdef\knghbinres{\inteval{\knghbinres+11001100}}}{}%
+ \IfSubStr{\knghbintransf}{(CC)}{\xdef\knghbinres{\inteval{\knghbinres+01100110}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*)}{\xdef\knghbinres{\inteval{\knghbinres+00001111}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*)}{\xdef\knghbinres{\inteval{\knghbinres+00110011}}}{}%
+ \IfSubStr{\knghbintransf}{(CC*)}{\xdef\knghbinres{\inteval{\knghbinres+10011001}}}{}%
+ %calculs pour 2 lettres
+ \IfSubStr{\knghbintransf}{(AABB)}{\xdef\knghbinres{\inteval{\knghbinres+11000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC*)}{\xdef\knghbinres{\inteval{\knghbinres+10010000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*)}{\xdef\knghbinres{\inteval{\knghbinres+00110000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB)}{\xdef\knghbinres{\inteval{\knghbinres+00001100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00001001}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*)}{\xdef\knghbinres{\inteval{\knghbinres+00000011}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC)}{\xdef\knghbinres{\inteval{\knghbinres+01100000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00000110}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+01000100}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+10001000}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00010001}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00100010}}}{}%
+ %calculs pour 3 lettres
+ \IfSubStr{\knghbintransf}{(AABBCC)}{\xdef\knghbinres{\inteval{\knghbinres+01000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+10000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00010000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00100000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+00000100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+00001000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00000001}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00000010}}}{}%
+ }%
+ {%
+ %calculs pour 1 lettre
+ \IfSubStr{\knghbintransf}{(AA)}{\xdef\knghbinres{\inteval{\knghbinres+11110000}}}{}%
+ \IfSubStr{\knghbintransf}{(BB)}{\xdef\knghbinres{\inteval{\knghbinres+11001100}}}{}%
+ \IfSubStr{\knghbintransf}{(CC)}{\xdef\knghbinres{\inteval{\knghbinres+10011001}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*)}{\xdef\knghbinres{\inteval{\knghbinres+00001111}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*)}{\xdef\knghbinres{\inteval{\knghbinres+00110011}}}{}%
+ \IfSubStr{\knghbintransf}{(CC*)}{\xdef\knghbinres{\inteval{\knghbinres+01100110}}}{}%
+ %calculs pour 2 lettres
+ \IfSubStr{\knghbintransf}{(AABB)}{\xdef\knghbinres{\inteval{\knghbinres+11000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC*)}{\xdef\knghbinres{\inteval{\knghbinres+01100000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*)}{\xdef\knghbinres{\inteval{\knghbinres+00110000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB)}{\xdef\knghbinres{\inteval{\knghbinres+00001100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00000110}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*)}{\xdef\knghbinres{\inteval{\knghbinres+00000011}}}{}%
+ \IfSubStr{\knghbintransf}{(AACC)}{\xdef\knghbinres{\inteval{\knghbinres+10010000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00001001}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+10001000}}}{}%
+ \IfSubStr{\knghbintransf}{(BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+01000100}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00100010}}}{}%
+ \IfSubStr{\knghbintransf}{(BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00010001}}}{}%
+ %calculs pour 3 lettres
+ \IfSubStr{\knghbintransf}{(AABBCC)}{\xdef\knghbinres{\inteval{\knghbinres+10000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+01000000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00100000}}}{}%
+ \IfSubStr{\knghbintransf}{(AABB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00010000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC)}{\xdef\knghbinres{\inteval{\knghbinres+00001000}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BBCC*)}{\xdef\knghbinres{\inteval{\knghbinres+00000100}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC*)}{\xdef\knghbinres{\inteval{\knghbinres+00000010}}}{}%
+ \IfSubStr{\knghbintransf}{(AA*BB*CC)}{\xdef\knghbinres{\inteval{\knghbinres+00000001}}}{}%
+ }%
+ }%
+ %on complète
+ \StrLen{\knghbinres}[\knghbinresnbchiffres]
+ \ifnum\knghbinresnbchiffres<8%
+ \xdef\nbz{\inteval{8-\knghbinresnbchiffres}}%
+ \xdef\knghbinres{\KnghBourrageZeros{\nbz}\knghbinres}%
+ \fi%
+ \xintFor* ##1 in {\xintSeq{2}{8}}\do{\StrSubstitute{\knghbinres}{##1}{1}[\knghbinres]}%
+ \IfBooleanTF{#1}%
+ {%
+ \KarnaughCasesResult*{\knghbinres}
+ }%
+ {%
+ \KarnaughCasesResult{\knghbinres}
+ }%
+}
+
+
+
\newcommand\KarnaughBlocRegroup[3][]{%
\useKVdefault[blockarnaugh]%
\setKV[blockarnaugh]{#1}%
@@ -1651,7 +1777,7 @@
\StrSubstitute{\knghenoncetransf}{(BB)}{\VarTMPB}[\knghenoncetransf]%
\StrSubstitute{\knghenoncetransf}{(CC)}{\VarTMPC}[\knghenoncetransf]%
\StrSubstitute{\knghenoncetransf}{(AA*)}{\overline{\VarTMPA}}[\knghenoncetransf]%
- \StrSubstitute{\knghenoncetransf}{(BB*}{\overline{\VarTMPB}}[\knghenoncetransf]%
+ \StrSubstitute{\knghenoncetransf}{(BB*)}{\overline{\VarTMPB}}[\knghenoncetransf]%
\StrSubstitute{\knghenoncetransf}{(CC*)}{\overline{\VarTMPC}}[\knghenoncetransf]%
\StrSubstitute{\knghenoncetransf}{(AABB)}{\VarTMPA\tmp at kngh@space\VarTMPB}[\knghenoncetransf]%
\StrSubstitute{\knghenoncetransf}{(AACC*)}{\VarTMPA\tmp at kngh@space\overline{\VarTMPC}}[\knghenoncetransf]%
More information about the tex-live-commits
mailing list.