From e403b5892f209477e44b123a10b5b35cc425d8e9 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 13 Sep 2021 03:01:31 +0000 Subject: CTAN sync 202109130301 --- macros/latex/contrib/clicks/clicks.sty | 73 ++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 macros/latex/contrib/clicks/clicks.sty (limited to 'macros/latex/contrib/clicks/clicks.sty') diff --git a/macros/latex/contrib/clicks/clicks.sty b/macros/latex/contrib/clicks/clicks.sty new file mode 100644 index 0000000000..9862e10a54 --- /dev/null +++ b/macros/latex/contrib/clicks/clicks.sty @@ -0,0 +1,73 @@ +% (The MIT License) +% +% Copyright (c) 2021 Yegor Bugayenko +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the 'Software'), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{clicks}[2021/09/12 0.1.0 Clicks] + +\RequirePackage{etoolbox} + +\makeatletter\newif\ifclicks@static\makeatother +\makeatletter\DeclareOption{static}{\clicks@statictrue}\makeatother +\ProcessOptions\relax + +\makeatletter\newcommand*\clicks@body{}\makeatother +\makeatletter\newcommand\clicks@flush{% + \clicks@body\vspace*{0pt}\newpage% +}\makeatother + +\newcounter{minutes} + +% Print the content as is +\newcommand\print[1]{% + \makeatletter\gappto\clicks@body\makeatother{{#1\par}}% +} + +\makeatletter\newcommand\flush[1][1]{% + \clicks@flush% + \renewcommand*\clicks@body{}% + \ifclicks@static\else% + \addtocounter{minutes}{#1}% + \fi% +} + +\makeatletter\newcommand\click{% + \ifclicks@static\else% + \clicks@flush% + \fi% +}\makeatother + +% Print and flush +% [1]: How many minutes to stay here +% {1}: The content to print +\newcommand\plush[2][1]{% + \print{#2}% + \flush[#1]% +} + +% Print and click +% {1}: The content to print +\newcommand\plick[1]{% + \print{#1}% + \click% +} + +\endinput -- cgit v1.2.3