%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % File: clock.tex % Date: April 10, 2001 % Author: Oliver Corff % (c) 2001 Ulaanbaatar, Macau, Berlin % % A package for providing graphical % clocks to TeX- and LaTeX-users. % % Usage: \input clock % % No options. % % NB: This file does not require LaTeX2e! % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Size definitions % \ifx\LaTeXclock\undefined \font\myclockfont clock \font\mybigclockfont clock at 24pt % \def\clockfont{\let\clockfont\myclockfont} \def\bigclockfont{\let\clockfont\mybigclockfont} \fi \ifx\TeXclock\undefined \def\TeXclock{} \catcode`@ 11 \else \endinput \fi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Variables % \newcount\time@in@minutes \newcount\floor@minutes \newcount\hour@minutes \newcount\text@hours \newcount\text@minutes \newcount\my@minute \newcount\my@minutes \newcount\my@hour \newcount\ClockStyle % one of 1 2 3 4 \global\newif\ifClockFrame % one of true false %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Time Calculations % \def\calc@hours{% \time@in@minutes=\time \text@hours=\time@in@minutes \divide\text@hours by 60 } \def\texthours{% \calc@hours \the\text@hours } \def\calc@minutes{% \calc@hours \floor@minutes=\text@hours \multiply\floor@minutes by 60 \text@minutes=\time@in@minutes \advance\text@minutes-\floor@minutes } \def\textminutes{% \calc@minutes \ifnum\text@minutes<10 0\fi \the\text@minutes} \def\texttime{\texthours:\textminutes} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Display Operations % \def\show@clock#1#2{% {\clockfont % \char#1\kern-1.00ex \char#2% % Print hours and minutes! \advance\ClockStyle by 48 % Build dial \ifnum\ClockStyle>48 \kern-1ex\char\ClockStyle % \fi \ifClockFrame \kern-1ex\char48 \fi }} \def\calc@movement{% \ifnum\my@hour>11 \advance\my@hour by -12 \fi \multiply\my@hour by 5 \my@minutes=\my@minute \divide\my@minutes by 12 \advance\my@hour by \my@minutes \advance\my@hour by 128 \advance \my@minute by 64 } \def\clock#1#2{% \my@hour#1\my@minute#2% \calc@movement \show@clock{\my@hour}{\my@minute}} \def\clocktime{% \calc@minutes % Calls \calc@hours \clock{\text@hours}{\text@minutes} } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Initial Settings % \ClockStyle=1 \ClockFramefalse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Some Housekeeping... % \ifx\LaTeXclock\undefined \catcode`@ 12 \fi