summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/clicks
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/clicks')
-rw-r--r--macros/latex/contrib/clicks/DEPENDS.txt1
-rw-r--r--macros/latex/contrib/clicks/README.md31
-rw-r--r--macros/latex/contrib/clicks/clicks.pdfbin0 -> 255137 bytes
-rw-r--r--macros/latex/contrib/clicks/clicks.sty73
-rw-r--r--macros/latex/contrib/clicks/clicks.tex84
5 files changed, 189 insertions, 0 deletions
diff --git a/macros/latex/contrib/clicks/DEPENDS.txt b/macros/latex/contrib/clicks/DEPENDS.txt
new file mode 100644
index 0000000000..cb2dfa6fbf
--- /dev/null
+++ b/macros/latex/contrib/clicks/DEPENDS.txt
@@ -0,0 +1 @@
+hard etoolbox
diff --git a/macros/latex/contrib/clicks/README.md b/macros/latex/contrib/clicks/README.md
new file mode 100644
index 0000000000..22817f6ebe
--- /dev/null
+++ b/macros/latex/contrib/clicks/README.md
@@ -0,0 +1,31 @@
+[![make](https://github.com/yegor256/clicks/actions/workflows/latexmk.yml/badge.svg)](https://github.com/yegor256/clicks/actions/workflows/latexmk.yml)
+[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/clicks/blob/master/LICENSE.txt)
+
+This LaTeX package adds nagivation clicks to your document, which
+may be very useful for presentation and slide decks.
+
+First, [install it](https://en.wikibooks.org/wiki/LaTeX/Installing_Extra_Packages)
+from [CTAN](https://ctan.org/pkg/clicks)
+and then use in the preamble:
+
+```tex
+\documentclass{article}
+\usepackage{clicks}
+\usepackage{fancyhdr}
+\fancyhead[L]{\clicks}
+\begin{document}
+\section{Introduction}
+Some text here.
+\section{Related Works}
+Some other text here.
+\end{document}
+```
+
+The full example and all commands are available in the
+[`clicks.tex`](https://github.com/yegor256/clicks/blob/master/clicks.tex) file.
+
+If you want to contribute yourself, make a fork, then create a branch,
+then run `make` in the root directory.
+It should compile everything without errors. If not, submit an issue and wait.
+Otherwise, make your changes and then run `make` again. If the build is
+still clean, submit a pull request.
diff --git a/macros/latex/contrib/clicks/clicks.pdf b/macros/latex/contrib/clicks/clicks.pdf
new file mode 100644
index 0000000000..b599ec50d2
--- /dev/null
+++ b/macros/latex/contrib/clicks/clicks.pdf
Binary files differ
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
diff --git a/macros/latex/contrib/clicks/clicks.tex b/macros/latex/contrib/clicks/clicks.tex
new file mode 100644
index 0000000000..1be2b8077e
--- /dev/null
+++ b/macros/latex/contrib/clicks/clicks.tex
@@ -0,0 +1,84 @@
+% (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.
+
+\documentclass[12pt]{article}
+\usepackage[T1]{fontenc}
+\usepackage[tt=false,type1=true]{libertine}
+\usepackage{clicks}
+\usepackage{ffcode}
+
+\title{\ff{clicks}: \LaTeX{} Package \\ for Slide Deck Animation}
+\author{Yegor Bugayenko}
+\date{0.1.0 2021/09/12}
+
+\begin{document}
+\pagenumbering{gobble}
+\raggedbottom
+\setlength{\parindent}{0pt}
+\setlength{\columnsep}{32pt}
+\setlength{\parskip}{6pt}
+
+\maketitle
+
+\section[Intro]{Introduction}
+
+This package helps simulate animation in PDF documents. You put
+some content on the page, then you ``click'' and the pages ends,
+while the content gets copied to the next page. There, you add new
+content. In the full-screen presentation mode this will look
+like animation, similar to what you can get with MS PowerPoint.
+
+\begin{ffcode}
+\documentclass{article}
+\usepackage{clicks}
+\begin{document}
+\print{Here is your wedding plan:}\click
+\print{1. Buy a ring}\click
+\print{2. Propose}\click
+\print{3. Get married}\flush
+\end{document}
+\end{ffcode}
+
+You can make it shorter, with the help of
+\ff{\char`\\plick\{\}} and \ff{\char`\\plush\{\}} commands:
+
+\begin{ffcode}
+\documentclass{article}
+\usepackage{clicks}
+\begin{document}
+\plick{Here is your wedding plan:}
+\plick{1. Buy a ring}
+\plick{2. Propose}
+\plush{3. Get married}
+\end{document}
+\end{ffcode}
+
+If you need to render the document without animation, just
+use the \ff{static} package option.
+
+More details about this package you can find
+in the \ff{yegor256/clicks} GitHub repository.
+
+If you want to add a feature or fix a bug, you are welcome
+to submit an issue or make a pull request.
+
+\end{document} \ No newline at end of file