diff options
Diffstat (limited to 'macros/latex/contrib/clicks')
-rw-r--r-- | macros/latex/contrib/clicks/DEPENDS.txt | 1 | ||||
-rw-r--r-- | macros/latex/contrib/clicks/README.md | 31 | ||||
-rw-r--r-- | macros/latex/contrib/clicks/clicks.pdf | bin | 0 -> 255137 bytes | |||
-rw-r--r-- | macros/latex/contrib/clicks/clicks.sty | 73 | ||||
-rw-r--r-- | macros/latex/contrib/clicks/clicks.tex | 84 |
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 Binary files differnew file mode 100644 index 0000000000..b599ec50d2 --- /dev/null +++ b/macros/latex/contrib/clicks/clicks.pdf 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 |