texlive[72875] Master: timeop (17nov24)

commits+karl at tug.org commits+karl at tug.org
Sun Nov 17 22:17:56 CET 2024


Revision: 72875
          https://tug.org/svn/texlive?view=revision&revision=72875
Author:   karl
Date:     2024-11-17 22:17:56 +0100 (Sun, 17 Nov 2024)
Log Message:
-----------
timeop (17nov24)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/timeop/
    trunk/Master/texmf-dist/doc/latex/timeop/README.md
    trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.pdf
    trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.tex
    trunk/Master/texmf-dist/tex/latex/timeop/
    trunk/Master/texmf-dist/tex/latex/timeop/timeop.sty
    trunk/Master/tlpkg/tlpsrc/timeop.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/timeop/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/timeop/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/timeop/README.md	2024-11-17 21:17:56 UTC (rev 72875)
@@ -0,0 +1,9 @@
+Calculates and displays arithmetic operations with durations.
+
+-------------------------------------------------------------
+
+Author..: Cédric Pierquet
+
+email...: cpierquet at outlook.fr
+
+Licence.: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
\ No newline at end of file


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

Index: trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.pdf	2024-11-17 21:16:53 UTC (rev 72874)
+++ trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.pdf	2024-11-17 21:17:56 UTC (rev 72875)

Property changes on: trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.tex	2024-11-17 21:17:56 UTC (rev 72875)
@@ -0,0 +1,374 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: no, synctex: no, interaction: batchmode}
+
+\documentclass[11pt,a4paper]{ltxdoc}
+%\usepackage{kpfonts}
+%\usepackage{bera}
+%\usepackage{inconsolata}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+%\usepackage[scale=0.875]{cabin}
+\usepackage{timeop}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\usepackage{fontawesome5}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [timeop]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\let\TikZ\tikzlogo
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\usepackage[margin=2cm]{geometry}
+\setlength{\parindent}{0pt}
+\def\TPversion{0.1.0}
+\def\TPdate{17/11/2024}
+\usepackage{enumitem}
+\tcbuselibrary{hooks,listingsutf8,breakable}
+
+\lstdefinestyle{packagestyle}
+{
+	language=[LaTeX]TeX,%
+	columns=fullflexible,%
+	extendedchars=true,%
+	basicstyle=\small\ttfamily,%
+	keywordstyle={\color{black}},%
+	classoffset=0,%
+	keywords={},%
+	alsoletter={-},%
+	keywordstyle={\color{blue}},%
+	classoffset=1,%
+	alsoletter={-},%
+	morekeywords={},%
+	keywordstyle={\color{violet}},%
+	classoffset=2,%
+	alsoletter={-},%
+	morekeywords={\hmstos,\hmtos,\stohms,\simpletimeop,\calctimeop,\boxhms},%
+	keywordstyle={\color{green!50!black}},%
+	classoffset=3,%
+	morekeywords={zeros,raw,sys,noamsmath,find,type,colsep,sys},%
+	keywordstyle={\color{orange}},%
+	inputencoding=utf8/latin1
+}
+
+\lstset{
+%	language=[LaTeX]TeX,%
+	basicstyle=\small\ttfamily,%
+	keywordstyle={},%
+%	classoffset=0,%
+%	keywords={},%
+%	alsoletter={-},%
+%	keywordstyle={\color{blue}},%
+%	classoffset=1,%
+%	alsoletter={-},%
+%	morekeywords={},%
+%	keywordstyle={\color{violet}},%
+%	classoffset=2,%
+%	alsoletter={-},%
+%	morekeywords={calculatoritems,\CalcItemMenu,nwkstri,tidots,casiodots},%
+%	keywordstyle={\color{green!50!black}},%
+%	classoffset=3,%
+%	morekeywords={xelua,noamssymb,model,type,fsep,font,len,bg,rightsymb},%
+%	keywordstyle={\color{orange}}
+}
+
+\newtcblisting{DemoCode}[1]{%
+	enhanced,width=\linewidth,%
+	bicolor,size=title,%
+	colback=cyan!10!white,%
+	colbacklower=cyan!5!white,%
+	colframe=cyan!75!black,%
+	listing options={%
+		columns=fullflexible,%
+		breaklines=true,%
+		breakatwhitespace=true,%
+		style=packagestyle,%
+		basicstyle=\footnotesize\ttfamily,%
+		tabsize=4,%
+		commentstyle={\itshape\color{gray}},
+		keywordstyle={\color{blue}},%
+		classoffset=0,%
+		keywords={\newfontfamily},%
+		alsoletter={-},%
+		keywordstyle={\color{blue}},%
+		classoffset=1,%
+		alsoletter={-},%
+		morekeywords={timeop},%
+		keywordstyle={\color{violet}},%
+		classoffset=2,%
+		alsoletter={-},%
+		morekeywords={\hmstos,\hmtos,\stohms,\simpletimeop,\calctimeop,\boxhms},%
+		keywordstyle={\color{green!50!black}},%
+		classoffset=3,%
+		morekeywords={zeros,raw,sys,noamsmath,find,type,colsep,sys},%
+		keywordstyle={\color{orange}}
+	},%
+	#1
+}
+
+\newtcbinputlisting\DemoCodeFile[1]{%
+	enhanced,width=\linewidth,%
+	bicolor,size=title,%
+	colback=lightgray!10!white,%
+	colbacklower=lightgray!5!white,%
+	colframe=lightgray!75!black,%
+	listing options={%
+		breaklines=true,%
+		breakatwhitespace=true,%
+		style=tcblatex,
+		extendedchars=true,%
+		basicstyle=\tiny\ttfamily,%
+		keywordstyle={},%
+		tabsize=2,%
+		commentstyle={\itshape\color{gray}},%
+		inputencoding=utf8/latin1
+	},%
+	breakable,
+	listing only,%
+	listing file={#1}
+}
+
+\NewDocumentCommand\ShowCode{ m }{%
+	\colorbox{lightgray!50}{\lstinline!#1!}%
+}
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\begin{center}
+	\begin{minipage}{0.88\linewidth}
+		\begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+			\begin{center}
+				\renewcommand{\arraystretch}{1.25}%
+				\begin{tabular}{c}
+					{\Huge \texttt{timeop}}\\
+					\\
+					{\LARGE Calculates and displays arithmetic} \\
+					{\LARGE operations with durations.} \\
+					\\
+					{\small \texttt{Version \TPversion{} -- \TPdate}}
+				\end{tabular}
+			\end{center}
+		\end{tcolorbox}
+	\end{minipage}
+\end{center}
+
+\begin{center}
+	\begin{tabular}{c}
+		\texttt{Cédric Pierquet}\\
+		{\ttfamily c pierquet -- at -- outlook . fr}\\
+		\texttt{\url{https://github.com/cpierquet/timeop}} \\
+	\end{tabular}
+\end{center}
+
+\hrule
+
+\vfill
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5}
+\simpletimeop{9,45,54}{4,28,57}{14,14,51}
+\end{tcblisting}
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5}
+\calctimeop%
+  [type=-]%
+  {9,45,54}%
+  {9,28,57}
+\end{tcblisting}
+
+\begin{tcblisting}{colframe=lightgray,colback=lightgray!5}
+\calctimeop%
+  [find={-,-,-,-,-,-,blue,yellow,red}]%
+  {9,45,54}%
+  {4,28,57}
+\end{tcblisting}
+
+\vfill~
+
+%\hrule
+%
+%\medskip
+
+%\emph{%
+%	The \textsf{luarandom} package do the same things, but with the obligation to compile with \hologo{LuaLaTeX}.
+%}
+%
+%\medskip
+
+\hrule
+
+\vspace*{5mm}
+
+\pagebreak
+
+\phantomsection
+
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vspace*{5mm}
+
+\vfill
+
+\section{History \& Future}
+
+\texttt{0.1.0: Initial version}
+
+\vspace*{5mm}
+
+%\hrule
+
+\pagebreak
+
+\section{Introduction}
+
+\subsection{Loading, useful packages}
+
+In order to load \ShowCode{timeop}, simply use:
+
+\begin{DemoCode}{listing only}
+\usepackage{timeop}
+\end{DemoCode}
+
+Loaded packages are \ShowCode{xstring}, \ShowCode{xintexpr}, \ShowCode{listofitems}, \ShowCode{tabularray}, \ShowCode{simplekv} and \ShowCode{tcolorbox}.
+
+Loaded libraries are \ShowCode{skins}.
+
+\smallskip
+
+If \ShowCode{amsmath} doen't need to be loaded (useful for int. macro), just add \ShowCode{[noamssymb]} to the loading.
+
+\begin{DemoCode}{listing only}
+%w/o amsmath loading
+\usepackage[noamsmath]{timeop}
+\end{DemoCode}
+
+\subsection{Special macro}
+
+Special macros are available, to mark a \textit{finding number}, which is adapted to current font.
+
+\begin{DemoCode}{}
+\boxhms{red} / \boxhms{yellow} / \boxhms{orange} / \boxhms{teal}
+\end{DemoCode}
+
+\section{Usage}
+
+\subsection{Conversion s--hms or hm(s)--s}
+
+First available macros can convert times within hms and s.
+
+\begin{DemoCode}{listing only}
+%convert hm to s
+\hmtos{h,m}[\macro]
+%convert hms to s
+\hmstos{h,min,s}[\macro]
+%convert and/or print s to hms
+\stohms[keys]{s}[\macro]
+\end{DemoCode}
+
+Available keys are:
+
+\begin{itemize}[leftmargin=*]
+	\item \ShowCode{sys} : version of formatting system (\texttt{eu} by default);
+	\item \ShowCode{zeros} : boolean for leading zeros (\texttt{true} by default);
+	\item \ShowCode{raw} : boolean for storing raw result into \ShowCode{[\\macro]} (\texttt{true} by default).
+\end{itemize}
+
+If \ShowCode{[raw=false]}, the code format the result within \ShowCode{hh h mm min ss s} main format (zero value are not printed).
+
+\begin{DemoCode}{}
+\hmtos{1,45}\convtosec\\
+\hmstos{9,45,54}\convtosec\\
+\stohms{35154}\convtohms
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\stohms[raw=false]{1000}\\
+\stohms[raw=false]{36000}\\
+\stohms[raw=false,zeros=false]{36120}\\
+\stohms[raw=false]{36010}\\
+\stohms[raw=false]{3599}\\
+\stohms[raw=false,sys=en]{3599}
+\end{DemoCode}
+
+\subsection{Addition, subtraction}
+
+The purpose of the second macro is to present addition or subtraction of duration, within \textit{hms} format.
+
+Two methods are given:
+
+\begin{itemize}
+	\item the \textit{simple} way, with result given;
+	\item the \textit{compute} way, with result calculated.
+\end{itemize}
+
+\begin{DemoCode}{listing only}
+%simple way
+\simpletimeop[keys]{h1,m1,s1}{h2,m2,s2}{h3,m3,s3}
+
+%compute way
+\calctimeop[keys]{h1,m1,s1}{h2,m2,s2}
+\end{DemoCode}
+
+Available keys are:
+
+\begin{itemize}[leftmargin=*]
+	\item \ShowCode{zeros} : boolean for leading zeros (\texttt{false} by default);
+	\item \ShowCode{type} : \texttt{+} for addition, \texttt{-} for subtraction \ShowCode{+} (\texttt{true} by default);
+	\item \ShowCode{colsep} : length of \texttt{colsep} for columns (\texttt{1.5pt} by default);
+	\item \ShowCode{find} : list of \texttt{colors} for 'finding boxes' (\texttt{empty} by default).
+\end{itemize}
+
+So:
+
+\begin{itemize}
+	\item for the \textit{simple way}, arguments can be given with \ShowCode{\\boxhms} or integer values ;
+	\item for the \textit{compute way}, the code adapt result for hms or hm format, and \ShowCode{find} can be given with \texttt{-} fir ignoring finding items.
+\end{itemize}
+
+\begin{DemoCode}{}
+\simpletimeop{9,45,54}{4,28,57}{14,14,51}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\simpletimeop{9,45,54}{4,28,57}{\boxhms{red},\boxhms{blue},\boxhms{purple}}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\simpletimeop[type=-]{9,45}{4,28}{\boxhms{red},\boxhms{blue}}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\calctimeop%
+	[type=-]%
+	{9,45,54}%
+	{9,28,57}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+\calctimeop%
+	[find={blue,-,-,-,green,-,-,-,orange}]%
+	{9,45,54}%
+	{4,28,57}
+\end{DemoCode}
+
+\begin{DemoCode}{}
+{\LARGE\ttfamily\calctimeop[find={-,-,-,-,orange,teal},type=-,colsep=3pt]{9,45}{4,28}}
+\end{DemoCode}
+
+\pagebreak
+
+\section{The code}
+
+\DemoCodeFile{timeop.sty}
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/timeop/timeop-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/timeop/timeop.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/timeop/timeop.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/timeop/timeop.sty	2024-11-17 21:17:56 UTC (rev 72875)
@@ -0,0 +1,280 @@
+% Author        : C. Pierquet
+% licence       : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{timeop}[2024/11/17 0.1.0 Calculates and displays arithmetic operations with durations.]
+
+%====HISTORY
+% v 0.1.0	Initial version
+
+%====OPTION
+\newif\if at amsmath \@amsmathtrue
+\DeclareOption{noamsmath}{\@amsmathfalse}
+\DeclareOption*{}
+\ProcessOptions\relax
+
+%====BASE
+\if at amsmath
+	\RequirePackage{amsmath}
+\fi
+\RequirePackage{xstring}
+\RequirePackage{xintexpr}
+\RequirePackage{listofitems}
+\RequirePackage{tabularray}
+\RequirePackage{simplekv}
+\RequirePackage{tcolorbox}
+\tcbuselibrary{skins}
+
+%====SPECIAL
+\newlength\convhmsopecolsep
+\NewDocumentCommand\formathms{ m }{%
+	\ifboolKV[stohms]{zeros}{\xintifboolexpr{#1 < 10}{0#1}{#1}}{#1}%
+}
+\newtcbox\myopbox[1][black]{%
+	colframe=#1,colback=white,size=fbox,boxrule=0.8pt,arc=1.2pt,boxsep=-0.8pt,top=3pt,bottom=2.2pt,%
+	box align=base,nobeforeafter,opacityback=0,enhanced jigsaw%
+}
+\NewDocumentCommand\boxhms{ m }{%
+	\myopbox[#1]{\phantom{00}}%
+}
+
+%====CONVERSION (INTERNAL)
+\NewDocumentCommand\hmstos{ m O{\convtosec} }{%
+	\readlist*\tmpophmsA{#1}%
+	\xdef#2{\fpeval{3600*(\tmpophmsA[1])+60*(\tmpophmsA[2])+(\tmpophmsA[3])}}%
+}
+\NewDocumentCommand\hmtos{ m O{\convtosec} }{%
+	\readlist*\tmpophmsA{#1}%
+	\xdef#2{\fpeval{3600*(\tmpophmsA[1])+60*(\tmpophmsA[2])}}%
+}
+
+%====KEYS
+\defKV[stohms]{%
+	sys=\def\stohmssys{#1}
+}
+\setKVdefault[stohms]{%
+	zeros=true,%
+	raw=true,%
+	sys=eu
+}
+
+%====MACROS
+\NewDocumentCommand\stohms{ O{} m O{\convtohms} }{%
+	\restoreKV[stohms]%
+	\setKV[stohms]{#1}%
+	\ifboolKV[stohms]{raw}%
+		{%
+			\xdef#3{}%
+			\xdef#3{\fpeval{trunc((#2)/3600,0)},}%
+			\xdef\tmpHHrest{\fpeval{(#2)-trunc((#2)/3600,0)*3600}}%
+			\xdef#3{#3\fpeval{trunc((\tmpHHrest)/60,0)},\fpeval{(\tmpHHrest)-trunc((\tmpHHrest)/60,0)*60}}%
+		}%
+		{%
+			\IfEq{\stohmssys}{eu}%
+				{%
+					\xdef\tmpHH{\xintfloateval{trunc((#2)/3600,0)}}%
+					\xdef\tmpHHrest{\xintfloateval{(#2)-trunc((#2)/3600,0)*3600}}%
+					\xdef\tmpMM{\xintfloateval{trunc((\tmpHHrest)/60,0)}}%
+					\xdef\tmpSS{\xintfloateval{(\tmpHHrest)-trunc((\tmpHHrest)/60,0)*60}}%
+					\xintifboolexpr{\tmpHH !=0 'and' \tmpMM != 0 'and' \tmpSS != 0}%HMS
+						{\formathms{\tmpHH}\:\text{h}\:\formathms{\tmpMM}\:\text{min}\:\formathms{\tmpSS}\:\text{s}}{}%
+					\xintifboolexpr{\tmpHH ==0 'and' \tmpMM != 0 'and' \tmpSS != 0}%MS
+						{\formathms{\tmpMM}\:\text{min}\:\formathms{\tmpSS}\:\text{s}}{}%
+					\xintifboolexpr{\tmpHH !=0 'and' \tmpMM == 0 'and' \tmpSS != 0}%HS
+						{\formathms{\tmpHH}\:\text{h}\:\formathms{\tmpSS}\:\text{s}}{}%
+					\xintifboolexpr{\tmpHH !=0 'and' \tmpMM != 0 'and' \tmpSS == 0}%HM
+						{\formathms{\tmpHH}\:\text{h}\:\formathms{\tmpMM}\:\text{min}}{}%
+					\xintifboolexpr{\tmpHH != 0 'and' \tmpMM == 0 'and' \tmpSS == 0}%H
+						{\formathms{\tmpHH}\:\text{h}}{}%
+					\xintifboolexpr{\tmpHH == 0 'and' \tmpMM != 0 'and' \tmpSS == 0}%M
+						{\formathms{\tmpMM}\:\text{min}}{}%
+					\xintifboolexpr{\tmpHH == 0 'and' \tmpMM == 0 'and' \tmpSS != 0}%S
+						{\formathms{\tmpSS}\:\text{s}}{}%
+				}%
+				{%
+					\xdef\tmpHH{\xintfloateval{trunc((#2)/3600,0)}}%
+					\xdef\tmpHHrest{\xintfloateval{(#2)-trunc((#2)/3600,0)*3600}}%
+					\xdef\tmpMM{\xintfloateval{trunc((\tmpHHrest)/60,0)}}%
+					\xdef\tmpSS{\xintfloateval{(\tmpHHrest)-trunc((\tmpHHrest)/60,0)*60}}%
+					\formathms{\tmpHH}:\formathms{\tmpMM}:\formathms{\tmpSS}%
+				}%
+		}%
+}
+
+\defKV[convhms]{%
+	type=\def\convhmsope{#1},%
+	find=\def\convhmsaffval{#1},%
+	colsep=\setlength{\convhmsopecolsep}{#1}
+}
+\setKVdefault[convhms]{%
+	zeros=false,%
+	find={},%
+	type=+,%
+	colsep=1.5pt
+}
+
+\NewDocumentCommand\simpletimeop{ O{} m m m }{%
+	\restoreKV[convhms]%
+	\setKV[convhms]{#1}%
+	\readlist*\tmpophmsA{#2}%
+	\readlist*\tmpophmsB{#3}%
+	\readlist*\tmpophmsC{#4}%
+	\ifnum\tmpophmsAlen=2\relax%
+		\begin{tblr}{colspec={crcrc},colsep=1pt}
+			&{\tmpophmsA[1]}&h&{\tmpophmsA[2]}&min\\
+			$\convhmsope$&{\tmpophmsB[1]}&h&{\tmpophmsB[2]}&min\\\hline
+			&{\tmpophmsC[1]}&h&{\tmpophmsC[2]}&min\\
+		\end{tblr}%
+	\else%
+		\begin{tblr}{colspec={crcrcrc},colsep=1pt}
+			&{\tmpophmsA[1]}&h&{\tmpophmsA[2]}&min&{\tmpophmsA[3]}&s\\
+			$\convhmsope$&{\tmpophmsB[1]}&h&{\tmpophmsB[2]}&min&{\tmpophmsB[3]}&s\\\hline
+			&{\tmpophmsC[1]}&h&{\tmpophmsC[2]}&min&{\tmpophmsC[3]}&s\\
+		\end{tblr}%
+	\fi%
+}
+
+\NewDocumentCommand\intaffhmsbox{ m m }{%
+	%1=\tmpophmsa
+	%2=i
+	\IfEq{\convhmsaffval}{}{#1}%
+		{%
+			\itemtomacro\tmpophmsaffvals[#2]{\tmpophcol}%
+			\IfEq{\tmpophcol}{-}%
+				{%
+					#1%
+				}%
+				{%
+					\boxhms{\tmpophcol}%
+				}%
+		}%
+}
+
+\NewDocumentCommand\calctimeop{ O{} m m }{%
+	\restoreKV[convhms]%
+	\setKV[convhms]{#1}%
+	\readlist*\tmpophmsA{#2}%
+	\ifnum\tmpophmsAlen=2%just HM
+		\itemtomacro\tmpophmsA[1]\tmpophmsa%
+		\itemtomacro\tmpophmsA[2]\tmpophmsb%
+		\readlist*\tmpophmsB{#3}%
+		\itemtomacro\tmpophmsB[1]\tmpophmsd%
+		\itemtomacro\tmpophmsB[2]\tmpophmse%
+		\hmtos{#2}[\tmpHeureA]%
+		\hmtos{#3}[\tmpHeureB]%
+		\IfEq{\convhmsope}{+}%
+			{%
+				\xdef\tmpCalculHeureAB{\inteval{(\tmpHeureA)+(\tmpHeureB)}}%
+			}%
+			{%
+				\xdef\tmpCalculHeureAB{\inteval{(\tmpHeureA)-(\tmpHeureB)}}%
+			}%
+		\stohms{\tmpCalculHeureAB}%
+		\readlist*\tmpophmsC{\convtohms}%
+		\itemtomacro\tmpophmsC[1]\tmpophmsg%
+		\itemtomacro\tmpophmsC[2]\tmpophmsh%
+		%reading of 'findind boxes'
+		\IfEq{\convhmsaffval}{}{}%
+			{\readlist*\tmpophmsaffvals{\convhmsaffval}}%
+		%format
+		\begin{tblr}{colspec={crcrc},colsep=\convhmsopecolsep}
+			&
+			\intaffhmsbox{\tmpophmsa}{1}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmsb}{2}%
+			&
+			min
+			\\
+			$\convhmsope$
+			&
+			\intaffhmsbox{\tmpophmsd}{3}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmse}{4}%
+			&
+			min
+			\\\hline
+			&
+			\intaffhmsbox{\tmpophmsg}{5}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmsh}{6}%
+			&
+			min
+			\\
+		\end{tblr}%
+	\else%HMS
+		\itemtomacro\tmpophmsA[1]\tmpophmsa%
+		\itemtomacro\tmpophmsA[2]\tmpophmsb%
+		\itemtomacro\tmpophmsA[3]\tmpophmsc%
+		\readlist*\tmpophmsB{#3}%
+		\itemtomacro\tmpophmsB[1]\tmpophmsd%
+		\itemtomacro\tmpophmsB[2]\tmpophmse%
+		\itemtomacro\tmpophmsB[3]\tmpophmsf%
+		\hmstos{#2}[\tmpHeureA]%
+		\hmstos{#3}[\tmpHeureB]%
+		\IfEq{\convhmsope}{+}%
+			{%
+				\xdef\tmpCalculHeureAB{\inteval{(\tmpHeureA)+(\tmpHeureB)}}%
+			}%
+			{%
+				\xdef\tmpCalculHeureAB{\inteval{(\tmpHeureA)-(\tmpHeureB)}}%
+			}%
+		\stohms{\tmpCalculHeureAB}%
+		\readlist*\tmpophmsC{\convtohms}%
+		\itemtomacro\tmpophmsC[1]\tmpophmsg%
+		\itemtomacro\tmpophmsC[2]\tmpophmsh%
+		\itemtomacro\tmpophmsC[3]\tmpophmsi%
+		%reading of 'findind boxes'
+		\IfEq{\convhmsaffval}{}{}%
+			{\readlist*\tmpophmsaffvals{\convhmsaffval}}%
+		%format
+		\begin{tblr}{colspec={crcrcrc},colsep=\convhmsopecolsep}
+			&
+			\intaffhmsbox{\tmpophmsa}{1}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmsb}{2}%
+			&
+			min
+			&
+			\intaffhmsbox{\tmpophmsc}{3}%
+			&
+			s
+			\\
+			$\convhmsope$
+			&
+			\intaffhmsbox{\tmpophmsd}{4}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmse}{5}%
+			&
+			min
+			&
+			\intaffhmsbox{\tmpophmsf}{6}%
+			&
+			s
+			\\\hline
+			&
+			\intaffhmsbox{\tmpophmsg}{7}%
+			&
+			h
+			&
+			\intaffhmsbox{\tmpophmsh}{8}%
+			&
+			min
+			&
+			\intaffhmsbox{\tmpophmsi}{9}%
+			&
+			s\\
+		\end{tblr}%
+	\fi%
+}
+
+\endinput
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/latex/timeop/timeop.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	2024-11-17 21:16:53 UTC (rev 72874)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2024-11-17 21:17:56 UTC (rev 72875)
@@ -869,7 +869,8 @@
     tikzpackets tikzpagenodes tikzpeople tikzpfeile tikzpingus tikzposter
     tikzquads tikzquests tikzscale tikzsymbols
     tikztosvg tikzviolinplots tile-graphic tilings
-    timbreicmc times timetable timing-diagrams tinos tipa tipa-de tipauni tipfr
+    timbreicmc timeop times timetable timing-diagrams
+    tinos tipa tipa-de tipauni tipfr
     tiscreen titlecaps titlefoot titlepages titlepic titleref titlesec titling
     tkz-base tkz-berge tkz-bernoulli tkz-doc tkz-elements tkz-euclide
     tkz-fct tkz-graph tkz-grapheur tkz-orm tkz-tab tkzexample

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2024-11-17 21:16:53 UTC (rev 72874)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2024-11-17 21:17:56 UTC (rev 72875)
@@ -1924,6 +1924,7 @@
  'tikzquads'		=> '&POST_onelevel',
  'tikzquests'		=> '&POST_onelevel',
  'tipa-de'		=> '&POST_rmsymlink',
+ 'timeop'		=> '&POST_onelevel',
  'tkz-berge'		=> '&POSTtkz_berge',
  'tkz-bernoulli'        => '&POST_onelevel',
  'tkz-grapheur'		=> '&POST_onelevel',

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2024-11-17 21:16:53 UTC (rev 72874)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2024-11-17 21:17:56 UTC (rev 72875)
@@ -1421,6 +1421,7 @@
 depend thumbs
 depend thumby
 depend ticket
+depend timeop
 depend tipauni
 depend titlecaps
 depend titlefoot

Added: trunk/Master/tlpkg/tlpsrc/timeop.tlpsrc
===================================================================


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