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.