texlive[73716] Master/texmf-dist: calculatoritems (3feb25)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 3 21:55:28 CET 2025


Revision: 73716
          https://tug.org/svn/texlive?view=revision&revision=73716
Author:   karl
Date:     2025-02-03 21:55:28 +0100 (Mon, 03 Feb 2025)
Log Message:
-----------
calculatoritems (3feb25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/calculatoritems/calculatoritems-doc.pdf
    trunk/Master/texmf-dist/doc/latex/calculatoritems/calculatoritems-docctan.zip
    trunk/Master/texmf-dist/tex/latex/calculatoritems/calculatoritems.sty

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

Modified: trunk/Master/texmf-dist/doc/latex/calculatoritems/calculatoritems-docctan.zip
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/calculatoritems/calculatoritems.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/calculatoritems/calculatoritems.sty	2025-02-03 20:55:19 UTC (rev 73715)
+++ trunk/Master/texmf-dist/tex/latex/calculatoritems/calculatoritems.sty	2025-02-03 20:55:28 UTC (rev 73716)
@@ -2,9 +2,11 @@
 % licence       : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{calculatoritems}[2025/01/25 0.1.1 Menus from classic calculators]
+\ProvidesPackage{calculatoritems}[2025/02/03 0.1.3 Menus from classic calculators]
 
 %====HISTORIQUE
+% v 0.1.3	New styles for graph math+
+% v 0.1.2	New version with resizebox (better render and calc)
 % v 0.1.1	Sample keys + fonts config for LUA + shortcut with img pdf
 % v 0.1.0	Initial version
 
@@ -21,7 +23,8 @@
 	\@ifpackageloaded{fontspec}{}{\RequirePackage{fontspec}}
 	\newfontfamily\fontNWKS{SourceCodePro-Medium}[Scale=MatchLowercase] %numworks
 	\newfontfamily\fontCASIOA{AnonymousPro}[Scale=MatchLowercase] %casio35
-	\newfontfamily\fontCASIOB{AlegreyaSans}[Scale=MatchLowercase] %casio90
+	%\newfontfamily\fontCASIOB{AlegreyaSans}[Scale=MatchLowercase] %casio90
+	\newfontfamily\fontCASIOB{FreeSans}[Scale=MatchLowercase] %casio90
 	\newfontfamily\fontTI{AnonymousPro}[Scale=MatchLowercase] %ti
 	\newfontfamily\fontHP{AlegreyaSans}[Scale=MatchLowercase] %ti
 	\newfontfamily\fontKEY{Inconsolatazi4}[Scale=MatchLowercase] %global keys
@@ -54,6 +57,8 @@
 	\newcommand\nwkstri{\footnotesize\textcolor{orange}{$\blacktriangleright$}}
 \fi
 \RequirePackage{xstring}
+\RequirePackage{settobox}
+\RequirePackage{ifthen}
 \RequirePackage{calc}
 \RequirePackage{simplekv}
 \RequirePackage{tcolorbox}
@@ -67,6 +72,7 @@
 \newlength\calcsimmenusmenutc
 \newlength\calcsimmenusitemtc
 \newlength\calcsimmenusdepth
+\newlength\calcsimmenusheight
 \newcommand\tidots{\scalebox{0.44}[0.55]{...}}
 \newcommand\casiodots{\circledtext[resize=real,width=0.75em]{$\cdots$}}
 
@@ -75,19 +81,20 @@
 		enhanced,fontupper=\calcsimmenusfont,nobeforeafter,%
 		box align=base,boxsep=\calcsimmenusfsep,%
 		boxrule=0.8pt,left=0pt,right=0pt,top=0pt,%
-		bottom=\dimexpr1pt-\calcsimmenusdepth\relax,no borderline
+		bottom=-\calcsimmenusfsep
+		%bottom=\dimexpr1pt-\calcsimmenusdepth\relax,no borderline
 	}
 }
 \tcbset{casiotcmenunoir/.style={%
 		width=\calcsimmenusmenutc,colframe=black,colback=black,%
 		colupper=white,sharp corners,rounded corners=southeast,%
-		arc=3pt,arc is angular,add to width=1pt
+		arc=3pt,arc is angular,add to width=2pt
 	}
 }
 \tcbset{casiotcmenublanc/.style={%
 		enhanced,frame hidden,width=\calcsimmenusmenutc,%
 		colframe=black,colback=white,colupper=black,%
-		sharp corners,add to width=1pt,
+		sharp corners,add to width=2pt,
 		borderline north={0.75pt}{0pt}{black},
 		borderline west={0.75pt}{0pt}{black}
 	}
@@ -94,7 +101,7 @@
 }
 \tcbset{casiotcitemnoir/.style={%
 		width=\calcsimmenusmenutc,colframe=black,%
-		colback=black,colupper=white,sharp corners,add to width=1pt
+		colback=black,colupper=white,sharp corners,add to width=2pt
 	}
 }
 \tcbset{casiotcitemsel/.style={%
@@ -107,7 +114,8 @@
 		fontupper=\calcsimmenusfont,nobeforeafter,%
 		box align=base,boxsep=\calcsimmenusfsep,%
 		boxrule=0.8pt,left=0pt,right=0pt,top=0pt,%
-		bottom=\dimexpr1pt-\calcsimmenusdepth\relax,%
+		bottom=-\calcsimmenusfsep
+		%bottom=\dimexpr1pt-\calcsimmenusdepth\relax,%
 	}
 }
 \tcbset{casioqdmenunoir/.style={%
@@ -127,10 +135,14 @@
 }
 \tcbset{casioqditemsel/.style={%
 		width=\calcsimmenusitemtc,sharp corners,colframe=black,%
-		colback=black,colupper=white,sharp corners
+		colback=black,colupper=white,sharp corners,add to width=2pt
 	}
 }
-
+\tcbset{casiomathtab/.style={%
+	width=\calcsimmenusitemtc,sharp corners,colframe=black,%
+	colback=black,colupper=white,sharp corners,add to width=2pt
+}
+}
 \tcbset{vignettemenunwks/.style={%
 		top=\dimexpr0.45pt+0.5\calcsimmenusfsep\relax,bottom=\dimexpr1pt-\calcsimmenusdepth\relax,%
 		left=2pt,right=2pt,fontupper=\calcsimmenusfont,nobeforeafter,%
@@ -137,21 +149,20 @@
 		box align=base,boxrule=0.45pt,boxsep=0.5\calcsimmenusfsep,sharp corners=all
 	}
 }
-
 \tcbset{vignettemenuti/.style={%
 		size=tight,boxrule=0.45pt,fontupper=\calcsimmenusfont,%
-		nobeforeafter,left=0.45pt,right=0.45pt,top=0.15pt,bottom=0.15pt,box align=base
+		nobeforeafter,left=0.45pt,right=0.45pt,top=0.15pt,%
+		bottom=0.15pt,box align=base
 	}
 }
-
 \tcbset{vignettemenuhp/.style={%
 		enhanced,fontupper=\calcsimmenusfont,nobeforeafter,%
 		box align=base,boxsep=\calcsimmenusfsep,%
 		boxrule=0.8pt,left=0pt,right=0pt,top=0pt,%
-		bottom=\dimexpr1pt-\calcsimmenusdepth\relax,%
+		bottom=-\calcsimmenusfsep
+		%bottom=\dimexpr1pt-\calcsimmenusdepth\relax,%
 	}
 }
-
 \tcbset{vignettemenuhpnorth/.style={%
 		width=\calcsimmenusmenutc,colupper=white,colback=darkgray!90,colframe=darkgray,%
 		sharp corners=north,add to width=2pt
@@ -167,7 +178,6 @@
 		colback=cyan!15,colupper=black,sharp corners
 	}
 }
-
 \tcbset{vignettemenuhpitem/.style={%
 		sharp corners,colframe=cyan!15,colback=cyan!15,colupper=black,sharp corners
 	}
@@ -195,6 +205,40 @@
 	colorfont=black
 }
 
+%testing with resizebox, but carefull with width & height...
+\newsavebox{\calcitembox}
+\newsavebox{\calcglobitembox}
+\newsavebox{\calcglobitemvbox}
+\newlength\calcboxwidth
+\newlength\calcboxheight
+\newcommand\calcboxiftoobig[3]{%
+	% #1: Width to check against, like \textwidth
+	% #2: Height to check against, like \textwidth
+	% #3: The content, like a tabular
+	\savebox{\calcitembox}{\calcsimmenusfont#3}%
+	\settowidth{\calcboxwidth}{\usebox{\calcitembox}}%on stocke la largeur
+	\settototalheight{\calcboxheight}{\usebox{\calcitembox}}%on stocke la hauteur
+	\ifthenelse{\calcboxwidth < #1}%on commence par la largeur
+		{%
+			\ifthenelse{\calcboxheight < #2}%on continue avec la hauteur
+				{%
+					\usebox{\calcitembox}%tout est ok, on ne touche à rien, et on laisse tel quel
+				}%
+				{%
+					\resizebox*{\calcboxwidth}{#2}{\usebox{\calcitembox}}%largeur ok mais resize hauteur
+				}%
+		}%
+		{%
+			\ifthenelse{\calcboxheight < #2}%on continue avec la hauteur
+				{%
+					\resizebox*{#1}{\calcboxheight}{\usebox{\calcitembox}}%largeur ko mais hauteur ok
+				}%
+				{%
+					\resizebox*{#1}{#2}{\usebox{\calcitembox}}%largeur ko et hauteur ko
+				}%
+		}%
+}
+
 \NewDocumentCommand\CalcItemMenu{ O{} m }{%
 	\restoreKV[calcsimmenus]%
 	\setKV[calcsimmenus]{#1}%
@@ -202,12 +246,12 @@
 		{%
 			\IfEq{\calcsimmenustype}{}%white bg
 				{%
-					{\setlength{\fboxsep}{\calcsimmenusfsep}\fcolorbox{black}{white}{\vphantom{qH}\calcsimmenusfont#2}}%
+					{\setlength{\fboxsep}{\calcsimmenusfsep}\fcolorbox{black}{white}{\vphantom{()}\calcsimmenusfont#2}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{black}%black bg
 				{%
-					{\setlength{\fboxsep}{\calcsimmenusfsep}\fcolorbox{black}{black}{\vphantom{qH}\calcsimmenusfont\textcolor{white}{#2}}}%
+					{\setlength{\fboxsep}{\calcsimmenusfsep}\fcolorbox{black}{black}{\vphantom{()}\calcsimmenusfont\textcolor{white}{#2}}}%
 				}%
 				{}%
 			{}%
@@ -215,38 +259,42 @@
 		{}%
 	\IfEq{\calcsimmenusmodel}{35+}%
 		{%
-			\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMM}}%
-			\addtolength{\calcsimmenusmenutc}{2pt}%
+			\savebox{\calcglobitembox}{\calcsimmenusfont XXXX}%
+			\savebox{\calcglobitemvbox}{\calcsimmenusfont ()}%
+			\settowidth{\calcsimmenusmenutc}{\usebox{\calcglobitembox}}%on stocke la largeur
+			\settototalheight{\calcsimmenusheight}{\usebox{\calcglobitemvbox}}%on stocke la hauteur
+			%\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMM}}%
+			%\addtolength{\calcsimmenusmenutc}{2pt}%
 			\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMMMMMMMM}}%
-			\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont gH}}%
-			\IfEq{\calcsimmenuslen}{auto}%
-				{%
-					\StrLen{#2}[\calcsimmenusnbchar]%
-					\xdef\calcsimmenushscale{\fpeval{min(4/(\calcsimmenusnbchar),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
-				{%
-					\xdef\calcsimmenushscale{\fpeval{min(4/(\calcsimmenuslen),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
+			%\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont qXX/}}%
+			% \IfEq{\calcsimmenuslen}{auto}%
+				% {%
+					% \StrLen{#2}[\calcsimmenusnbchar]%
+					% \xdef\calcsimmenushscale{\fpeval{min(4/(\calcsimmenusnbchar),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
+				% {%
+					% \xdef\calcsimmenushscale{\fpeval{min(4/(\calcsimmenuslen),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
 			\IfEq{\calcsimmenustype}{}%white menu
 				{%
-					{\tcbox[tcbox width=minimum center,casiotc,casiotcmenublanc]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casiotc,casiotcmenublanc]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{bmenu}%black menu
 				{%
-					{\tcbox[tcbox width=minimum center,casiotc,casiotcmenunoir]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casiotc,casiotcmenunoir]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{item}%item
 				{%
-					{\tcbox[tcbox width=minimum center,casiotc,casiotcitemnoir]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casiotc,casiotcitemnoir]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{itemsel}%item sel
 				{%
-					{\tcbox[tcbox width=minimum left,casiotc,casiotcitemsel]{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}\hfill{\calcsimmenusrsymb}}}}%
+					{\tcbox[tcbox width=minimum left,casiotc,casiotcitemsel]{\makebox[\calcsimmenusitemtc]{\vphantom{()}{#2}\hfill{\calcsimmenusrsymb}}}}%
 				}%
 				{}%
 		}%
@@ -253,38 +301,46 @@
 		{}%
 	\IfEq{\calcsimmenusmodel}{90+}%
 		{%
-			\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMMM}}%
-			\addtolength{\calcsimmenusmenutc}{2pt}%
-			\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMMMMMMMMMMM}}%
-			\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont gH}}%
-			\IfEq{\calcsimmenuslen}{auto}%
-				{%
-					\StrLen{#2}[\calcsimmenusnbchar]%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
-				{%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
+			\savebox{\calcglobitembox}{\calcsimmenusfont XXXXX}%
+			\savebox{\calcglobitemvbox}{\calcsimmenusfont ()}%
+			\settowidth{\calcsimmenusmenutc}{\usebox{\calcglobitembox}}%on stocke la largeur
+			\settototalheight{\calcsimmenusheight}{\usebox{\calcglobitemvbox}}%on stocke la hauteur
+			%\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont XXXXX}}%
+			%\settototalheight{\calcsimmenusheight}{\hbox{\calcsimmenusfont qXXX/}}%
+			%\addtolength{\calcsimmenusmenutc}{2pt}%
+			\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont XXXXXXXXXXXXXXXXXXXX}}%
+			\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont qXXX/}}%
+			% \IfEq{\calcsimmenuslen}{auto}%
+				% {%
+					% \StrLen{#2}[\calcsimmenusnbchar]%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
+					% \xdef\calcsimmenusvscale{0.95}%{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
+				% {%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
+					% \xdef\calcsimmenusvscale{0.95}%{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
 			\IfEq{\calcsimmenustype}{}%white menu
 				{%
-					{\tcbox[tcbox width=minimum center,casioqd,casioqdmenublanc]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casioqd,casioqdmenublanc]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
+					%{\tcbox[tcbox width=minimum center,casioqd,casioqdmenublanc]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{bmenu}%black menu
 				{%
-					{\tcbox[tcbox width=minimum center,casioqd,casioqdmenunoir,overlay={\path[fill=\calcsimmenusbg]($(frame.south east) + (0.1pt,-0.1pt)$) -- ++ (0pt,3.2pt)  -- ++ (-3.2pt,-3.2pt) -- cycle;}]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casioqd,casioqdmenunoir,overlay={\path[fill=\calcsimmenusbg]($(frame.south east) + (0.1pt,-0.1pt)$) -- ++ (0pt,3.2pt)  -- ++ (-3.2pt,-3.2pt) -- cycle;}]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
+					%{\tcbox[tcbox width=minimum center,casioqd,casioqdmenunoir,overlay={\path[fill=\calcsimmenusbg]($(frame.south east) + (0.1pt,-0.1pt)$) -- ++ (0pt,3.2pt)  -- ++ (-3.2pt,-3.2pt) -- cycle;}]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{item}%item
 				{%
-					{\tcbox[tcbox width=minimum center,casioqd,casioqditemnoir]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,casioqd,casioqditemnoir]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
+					%{\tcbox[tcbox width=minimum center,casioqd,casioqditemnoir]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{itemsel}%item
 				{%
-					{\tcbox[tcbox width=minimum left,casioqd,casioqditemsel]{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}\hfill{\calcsimmenusrsymb}}}}%
+					{\tcbox[tcbox width=minimum left,casioqd,casioqditemsel]{\makebox[\calcsimmenusitemtc]{\vphantom{()}{#2}\hfill{\calcsimmenusrsymb}}}}%
 				}%
 				{}%
 		}%
@@ -291,23 +347,33 @@
 		{}%
 	\IfEq{\calcsimmenusmodel}{math+}%
 		{%
-			\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMMM}}%
-			\addtolength{\calcsimmenusmenutc}{2pt}%
-			\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMMMMMMMMM}}%
-			\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont gH}}%
-			\IfEq{\calcsimmenuslen}{auto}%
+			%\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont gH}}%
+			% \IfEq{\calcsimmenuslen}{auto}%
+				% {%
+					% \StrLen{#2}[\calcsimmenusnbchar]%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
+				% {%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
+			\IfEq{\calcsimmenustype}{}%black menu
 				{%
-					\StrLen{#2}[\calcsimmenusnbchar]%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+					\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMMMMMMMMM}}%
+					{\tcbox[tcbox width=minimum left,casioqd,casioqditemnoir]{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}\hfill{\calcsimmenusrsymb}}}}%
 				}%
+				{}%
+			\IfEq{\calcsimmenustype}{smenu}%black menu
 				{%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+					\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMM}}%
+					{\tcbox[tcbox width=minimum left,casioqd,casioqditemnoir]{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}\hfill{\calcsimmenusrsymb}}}}%
 				}%
-			\IfEq{\calcsimmenustype}{}%white menu
+				{}%
+			\IfEq{\calcsimmenustype}{tab}%tab
 				{%
-					{\tcbox[tcbox width=minimum left,casioqd,casioqditemnoir]{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}\hfill{\calcsimmenusrsymb}}}}%
+					\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMM}}%
+					{\tcbox[tcbox width=minimum center,casioqd,casiomathtab]{\vphantom{()}{#2}}}%{\makebox[\calcsimmenusitemtc]{\vphantom{qH}{#2}}}}%
 				}%
 				{}%
 		}%
@@ -369,28 +435,32 @@
 		{}%
 	\IfEq{\calcsimmenusmodel}{hp}%
 		{%
-			\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMMM}}%
-			\addtolength{\calcsimmenusmenutc}{2pt}%
+			\savebox{\calcglobitembox}{\calcsimmenusfont XXXXXX}%
+			\savebox{\calcglobitemvbox}{\calcsimmenusfont ()}%
+			\settowidth{\calcsimmenusmenutc}{\usebox{\calcglobitembox}}%on stocke la largeur
+			\settototalheight{\calcsimmenusheight}{\usebox{\calcglobitemvbox}}%on stocke la hauteur
+			%\settowidth{\calcsimmenusmenutc}{\hbox{\calcsimmenusfont MMMMM}}%
+			%\addtolength{\calcsimmenusmenutc}{2pt}%
 			\settowidth{\calcsimmenusitemtc}{\hbox{\calcsimmenusfont MMMMMMMMMMMMMMMMMMMMM}}%
 			\settodepth{\calcsimmenusdepth}{\hbox{\calcsimmenusfont gH}}%
-			\IfEq{\calcsimmenuslen}{auto}%
-				{%
-					\StrLen{#2}[\calcsimmenusnbchar]%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
-				{%
-					\xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
-					\xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
-				}%
+			% \IfEq{\calcsimmenuslen}{auto}%
+				% {%
+					% \StrLen{#2}[\calcsimmenusnbchar]%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenusnbchar),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
+				% {%
+					% \xdef\calcsimmenushscale{\fpeval{min(5/(\calcsimmenuslen),1)}}%
+					% \xdef\calcsimmenusvscale{\fpeval{0.95*\calcsimmenushscale}}%
+				% }%
 			\IfEq{\calcsimmenustype}{}%bottom rounded
 				{%
-					{\tcbox[tcbox width=minimum center,vignettemenuhp,vignettemenuhpnorth]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,vignettemenuhp,vignettemenuhpnorth]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{ritem}%rounded item
 				{%
-					{\tcbox[tcbox width=minimum center,vignettemenuhp,vignettemenuhpround]{\vphantom{qH}\scalebox{\calcsimmenushscale}[\calcsimmenusvscale]{#2}}}%
+					{\tcbox[tcbox width=minimum center,vignettemenuhp,vignettemenuhpround]{\vphantom{()}\calcboxiftoobig{\calcsimmenusmenutc}{\calcsimmenusheight}{#2}}}%
 				}%
 				{}%
 			\IfEq{\calcsimmenustype}{item}%item
@@ -535,21 +605,6 @@
 		}%
 }
 
-%testing ??
-%\newsavebox{\jamBox}
-%\newlength{\jamWidth}
-%\newcommand{\jamIfToBig}[2]{%
-%	% #1: Size to check against, like \textwidth
-%	% #2: The content, like a tabular
-%	\savebox{\jamBox}{#2}%
-%	\settowidth{\jamWidth}{\usebox{\jamBox}}%
-%	%\the\jamWidth -- \the#1
-%	\ifthenelse{\jamWidth < #1}%
-%	{\usebox{\jamBox}}%
-%	{\resizebox{#1}{!}{\usebox{\jamBox}}%
-%	}%
-%}
-
 \def\samplecharacterskeyx{azertyuiopqsdfghjklmwxcvbn123456789AZERTYUIOPQSDFGHJKLMWXCVBN}
 
 \NewDocumentCommand\CalcKey{ O{} m }{%
@@ -964,14 +1019,84 @@
 	}%
 }%
 
+%=====SHORTCUTS FOR TI OS (ti-83-plus-large.ttf)
+\newcommand\osfontTIsto{\char"2192}
+\newcommand\osfontTItri{\char"25B6}
+\newcommand\osfontTIiit{\char"2139}
+\newcommand\osfontTIint{\char"222B}
+\newcommand\osfontTIeit{\char"212F}
+\newcommand\osfontTIpi{\char"03C0}
+\newcommand\osfontTIsum{\char"03A3}
+\newcommand\osfontTIsqrt{\char"221A}
+\newcommand\osfontTIdelta{\char"0394}
+
+%=====SHORTCUTS FOR TICE OS (TICELargeSmooth.otf)
+\newcommand\osfontTICEnit{\char"F00E}
+\newcommand\osfontTICEuseq{\char"0155}
+\newcommand\osfontTICEvseq{\char"0156}
+\newcommand\osfontTICEwseq{\char"0157}
+\newcommand\osfontTICEtri{\char"F014}
+\newcommand\osfontTICEint{\char"222B}
+\newcommand\osfontTICEleq{\char"2264}
+\newcommand\osfontTICEneq{\char"2260}
+\newcommand\osfontTICEgeq{\char"2265}
+\newcommand\osfontTICEsto{\char"2192}
+\newcommand\osfontTICEiit{\char"2148}
+\newcommand\osfontTICEeit{\char"212F}
+\newcommand\osfontTICEpi{\char"03C0}
+\newcommand\osfontTICEdelta{\char"0394}
+\newcommand\osfontTICEsum{\char"03A3}
+\newcommand\osfontTICEsqrt{\char"221A}
+
+%=====SHORTCUTS FOR CASIO FX (casio-fx-9860gii.ttf)
+\newcommand\osfontCASIOFXsto{\char"2192}
+\newcommand\osfontCASIOFXpi{\char"03C0}
+\newcommand\osfontCASIOFXtri{\char"25B8}
+\newcommand\osfontCASIOFXsqrt{\char"221A}
+\newcommand\osfontCASIOFXsum{\char"2211}
+\newcommand\osfontCASIOFXint{\char"222B}
+\newcommand\osfontCASIOFXibd{\char"2139}
+\newcommand\osfontCASIOFXebd{\char"212F}
+
+%=====SHORTCUTS FOR CASIO CG (casio-fx-cg50-sizea.otf)
+\newcommand\osfontCASIOCGpi{\char"03C0}
+\newcommand\osfontCASIOCGsto{\char"2192}
+\newcommand\osfontCASIOCGsqrt{\char"221A}
+\newcommand\osfontCASIOCGsum{\char"2211}
+\newcommand\osfontCASIOCGleq{\char"2264}
+\newcommand\osfontCASIOCGgeq{\char"2265}
+
+%=====SHORTCUTS FOR CASIO CW (ClassWizMathCW-Regular.otf)
+\newcommand\osfontCASIOCWpi{\char"01D70B}
+\newcommand\osfontCASIOCWsum{\char"2211}
+\newcommand\osfontCASIOCWint{\char"222B}
+\newcommand\osfontCASIOCWtri{\char"25B8}
+\newcommand\osfontCASIOCWxit{\char"01D465}
+\newcommand\osfontCASIOCWyit{\char"01D466}
+\newcommand\osfontCASIOCWzit{\char"01D467}
+\newcommand\osfontCASIOCWiit{\char"01D486}
+\newcommand\osfontCASIOCWeit{\char"01D48A}
+\newcommand\osfontCASIOCWsto{\char"2192}
+\newcommand\osfontCASIOCWsqrt{\char"221A}
+
+%=====SHORTCUTS FOR NUMWORKS (CartographCF-Light.otf)
+\newcommand\osfontNWKSpi{\char"03C0}
+\newcommand\osfontNWKSsqrt{\char"221A}
+\newcommand\osfontNWKSsto{\char"2192}
+\newcommand\osfontNWKSsum{\char"2211}
+\newcommand\osfontNWKSleq{\char"2264}
+\newcommand\osfontNWKSneq{\char"2260}
+\newcommand\osfontNWKSgeq{\char"2265}
+\newcommand\osfontNWKStri{\char"25BA}
+
 \fi
 
 %SHORTCUTS (with pdf files, not included)
 \@ifpackageloaded{inlinegraphicx}{}{\RequirePackage{inlinegraphicx}}
-\NewDocumentCommand\inckeycalc{ s O{} m m }{%
-	\IfFileExists{calcitems_#3_#4.pdf}%
+\NewDocumentCommand\inckeycalc{ s O{} m m O{pdf} }{%
+	\IfFileExists{calcitems_#3_#4.#5}%
 		{%
-			\IfBooleanTF{#1}{\includegraphics[#2]{calcitems_#3_#4.pdf}}{\inlinegraphics[#2]{calcitems_#3_#4.pdf}}%
+			\IfBooleanTF{#1}{\includegraphics[#2]{calcitems_#3_#4.#5}}{\inlinegraphics[#2]{calcitems_#3_#4.#5}}%
 		}%
 		{%
 			\IfBooleanTF{#1}{\includegraphics[#2]{example-image.pdf}}{\inlinegraphics[#2]{example-image.pdf}}%



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