diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/tikz-among-us/tikz-among-us.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/tikz-among-us/tikz-among-us.tex | 596 |
1 files changed, 596 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tikz-among-us/tikz-among-us.tex b/Master/texmf-dist/doc/latex/tikz-among-us/tikz-among-us.tex new file mode 100644 index 00000000000..0cce2ebe76d --- /dev/null +++ b/Master/texmf-dist/doc/latex/tikz-among-us/tikz-among-us.tex @@ -0,0 +1,596 @@ +% !TeX spellcheck = en_US +% !TeX encoding = UTF-8 +% ============================= + +% ========== Classe do documento, geometria, codificação e versão +\documentclass[12pt]{article} +\usepackage[a4paper,top=2cm,bottom=2cm,left=2cm,right=2cm]{geometry} % marginparwidth=1.75cm +% ---------- +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +% ========== + +% ========== Pacotes +\usepackage{FHZ-packages-minimum} +\usepackage{FHZ-packages-TikZ-mydef} +% ---------- Pacotes locais +%\usepackage[brazil]{babel} +%\selectlanguage{brazil} +% ========== +\usepackage{enumitem} +\usepackage{paracol} +\usepackage{multicol} +\usepackage{animate} +% ========== + + +% ========== Caminho de figuras externas +%\graphicspath{ +% {C:/Users/FHZ/Dropbox/<PATH1>/}, +% {C:/Users/FHZ/Dropbox/<PATH2>/} +%} +% ========== + +% ========== +\usepackage{FHZ-textos} +% ========== + + +% =================== Formatações e marca d'água em arquivos de estilos .sty +% ---------- Formatacao -- hf +%\usepackage{FHZ-formatacao-hf-headings_h_RO_LE_thepage} +\usepackage{FHZ-formatacao-hf-headings_h_R_thepage} +%\usepackage{FHZ-formatacao-hf-myheadings_h_R_thepage} +%\usepackage{FHZ-formatacao-hf-plain_h_R_thepage} +% ---------- Formatacao -- hyperref +\usepackage[07]{FHZ-formatacao-hyperref-opt} +%\usepackage{FHZ-formatacao-hyperref-01} +%\usepackage{FHZ-formatacao-hyperref-06_orange} +% =================== + +% ========== Novos comandos para inserir figuras e TikZ de forma padronizada +%\usepackage{FHZ-figures-TikZ} +\usepackage{FHZ-figures-TikZ-IEEE} +% ========== + +% ========== Capa +\usepackage{FHZ-capa-article} +% ========== + +\usepackage{tikz-among-us} +\usepackage{tikz-among-us-fancyhdr} +\usepackage[cor=violet!70!white,BG,type=1]{tikz-among-us-watermark-eso-pic} + +\usepackage{FHZ-listings-showexpl-style} + +\usepackage[skins,listings,breakable,raster]{tcolorbox} +\tcbuselibrary{listings} + +\newtcblisting{FHZtcbAmongUs}[1][]{ % + enhanced, + colback=cyan!5!white, colframe=violet!75!black, fonttitle=\large\bfseries, + colbacktitle=violet!85!black, + listing and text, + breakable, + #1 + % listing style=estiloExemVerd + % attach boxed title to top center={yshift=-2mm}, +} + +\newtcolorbox{FHZboxEnumerateStyle}{ + enhanced, + colback=orange!15!white, + colframe=orange!50!black, + watermark tikz={\tikz + \node[opacity=0.4, rotate around={-45:(1.75,2.3)}]{\amongUsOriginal{blue}{white}}; + \node[opacity=0.4, rotate around={45:(1.75,2.3)}] at (5,0) {\amongUsOriginal{pink}{white}}; + \node[opacity=0.4, rotate around={-135:(1.75,2.3)}] at (10,0) {\amongUsOriginal{green}{white}}; + \node[opacity=0.4, rotate around={135:(1.75,2.3)}] at (15,0) {\amongUsOriginal{olive}{white}}; + } +} +\newenvironment{FHZtcbEnumerate}{% + \begin{FHZboxEnumerateStyle}\begin{enumerate}} + {\end{enumerate}\end{FHZboxEnumerateStyle} +} + +% ========== Dados capa folha rosto ========== Sempre crie uma cópia local +\newcommand{\edicao}{1} +\newcommand{\versao}{1.0.1} +%\input{input_Dados_Capa_Folha_Rosto_local} +% ====================== +\newcommand{\textoEdicao}{Edition} +\newcommand{\textoVersao}{Version} +%\newcommand{\edicao}{1} +%\newcommand{\versao}{1.0} +\newcommand{\textoCopyright}{} +% ====================== +% --- +\newcommand{\Universidade}{} +\newcommand{\Curso}{} %{Curso --} +\newcommand{\Departamento}{} +% --- +\newcommand{\AutorA}{\textbf{FHZ}} +\newcommand{\AutorB}{} +\newcommand{\AutorC}{} +\newcommand{\AutorD}{} +% --- +\newcommand{\Titulo}{\textbf{There is a {\TikZ}-Impostor Among us}} +% --- +\newcommand{\Cidade}{\textbf{tikz-among-us package}\\} %{Cidade --} +\newcommand{\Estado}{\url{https://www.ctan.org/pkg/tikz-among-us}\\} %{Estado --} +\newcommand{\Pais}{\textbf{Brasil} -- \textbf{{\today} -- \textoVersao: \versao}} +\newcommand{\Mes}{} +\newcommand{\Ano}{} +% --- +\newcommand{\de}{} +% --- +\newcommand{\textoFolhaRosto}{% +} +% --- +\newcommand{\OrientadorA}{} +\newcommand{\OrientadorB}{} +\newcommand{\textoOrientador}{} +\newcommand{\textoCoOrientador}{} +% ====================== Input_Folha_Rosto_Livro_Versao + +% ========== Dados ficha catalográfica ========== Sempre crie uma cópia local +%\input{C:/Users/FHZ/Dropbox/LaTeX_Inputs_padrao/input_Dados/input_Dados_FichaCatalografica_Bibliotecario_01} +%\input{C:/Users/FHZ/Dropbox/LaTeX_Inputs_padrao/input_Dados/input_Dados_FichaCatalografica_Bibliotecario_02_Preenchida_Quaternios} +% ========== + +% ========== Hypersetup local +\hypersetup{pdfinfo={ + Title={\Titulo}, + Author={\AutorA} %,\AutorB +}} +% ========== + +\begin{document} +% ========== Capas +%{\FHZCapaArticle} +{\FHZCapaArticleCabecalho} +%{\FHZCapaArticleEstiloLivro} +% ========== + +% ========== Folhas de Rosto +%\clearpage +%{\FHZFolhaRosto} +%{\FHZFolhaRostoLivroISBN} +%{\FHZFolhaRostoLivroProvisoria} +% ========== + +% ========== +%\clearpage +% ========== + +\begin{abstract} + \begin{FHZboxEnumerateStyle} + This is the \texttt{tikz-among-us} package documentation. This package recreates some AmongUs characters in {\TikZ} environment. Some interesting uses alongside other packages are also presented. + \end{FHZboxEnumerateStyle} +\end{abstract} + +\section{Introduction} + +The following packages are used in the examples and applications. +\begin{FHZtcbEnumerate} + \item \href{https://www.ctan.org/pkg/tikz}{{\CTAN} -- tikz} + + Whose following packages are always used as reference of quality and capabilities: + \begin{enumerate} + \item \href{https://www.ctan.org/pkg/tikzducks}{{\CTAN} -- tikzducks} + \item \href{https://www.ctan.org/pkg/tikzmarmots}{{\CTAN} -- tikzmarmots} + \end{enumerate} + + \item \href{https://www.ctan.org/pkg/adjustbox}{{\CTAN} -- adjustbox} + \item \href{https://www.ctan.org/pkg/tcolorbox}{{\CTAN} -- tcolorbox} + \item \href{https://www.ctan.org/pkg/fancyhdr}{{\CTAN} -- fancyhdr} + \item \href{https://www.ctan.org/pkg/eso-pic}{{\CTAN} -- eso-pic} + \item \href{https://www.ctan.org/pkg/animate}{{\CTAN} -- animate} +\end{FHZtcbEnumerate} + +The basic concept started as a question at {\TeXStackExchange} and after some research some new ideas have been found to improve the initial sketch. +\begin{FHZtcbEnumerate} + \item \href{https://tex.stackexchange.com/questions/567009/there-is-a-tikz-impostor-among-us/567010#567010}{{\TeXStackExchange} -- There is a TikZ-impostor Among us}: is the original post which started with a very simple design and then received an update with the shade-command style derived from: + \begin{enumerate} + \item \href{https://tex.stackexchange.com/questions/424113/how-to-use-tikz-shade-command-in-order-to-achieve-3d-like-results}{{\TeXStackExchange} -- How to use Tikz {\textbackslash}shade command in order to achieve 3D like results}: is the inspiration to create commands with parts of a drawing to build a greater design in {\TikZ} and the command shade. + \item \href{https://youtu.be/1zZZBB9-Nm8}{{\YouTube} -- MatPat's Game Theory}: is the inspiration to the design of the shadow. Many artists have replicated the original design of the game. + \end{enumerate} +\end{FHZtcbEnumerate} + +The original game is available in different online stores. I don't own the game, or have any relationship with authors nor any enterprise. I'm just a guy who liked the game and used it as a motivation to create a package for {\TikZ} users. +\begin{FHZtcbEnumerate} + \item \href{https://play.google.com/store/apps/details?id=com.innersloth.spacemafia&hl=pt_BR&gl=US}{AmongUs original game to smartphones} +\end{FHZtcbEnumerate} + +\section{Using the package} + +There are three base style files. +\begin{FHZtcbAmongUs}[listing only] + \usepackage{tikz-among-us} + \usepackage{tikz-among-us-fancyhdr} + \usepackage{tikz-among-us-watermark-eso-pic} +\end{FHZtcbAmongUs} + +A brief description follows: +\begin{FHZtcbEnumerate} + \item \verb|\usepackage{tikz-among-us}|: Main \texttt{.sty} file with the definitions in {\TikZ} of each body part, style of shading and complete design. Although this style is far from the utmost best standards for a {\TikZ} package, it has been a very useful project to motivates me to learn more and improve my own usage of {\TikZ} beyond standalone applications or drawings and also my very first {\CTAN} publication. + + \item \verb|\usepackage{tikz-among-us-fancyhdr}|: A basic implementation to add the Among Us characters in headers or footers due the \texttt{fancyhdr} package. This is not a final super fancy implementation, but it splits the configurations to a separated \texttt{.sty} file, which can be edited aownernd reused. + + \item \verb|\usepackage{tikz-among-us-watermark-eso-pic}|: A preset implementation of watermarks using the \texttt{eso-pic} package. This implementation takes advantage of the \texttt{kvoptions} packages in order to add some degrees of flexibility to the watermarks. Of course anyone could just replace the basic command from \texttt{eso-pic} in each file they want. The preset configurations aim to be a synthesis and make its usage a little bit more flexible than just copying and pasting content in each file. +\end{FHZtcbEnumerate} + +%These are the required package for each style. +%\begin{FHZtcbEnumerate} +% \begin{multicols}{3} +% \item tikz-among-us +% \begin{enumerate} +% \item tikz $\to$ tikzlibraries +% \begin{enumerate} +% \item calc +% \item shadings +% \end{enumerate} +% \item xifthen +% \end{enumerate} +% \item tikz-among-us-fancyhdr +% \begin{enumerate} +% \item tikz-among-us +% \item fancyhdr +% \item adjustbox +% \end{enumerate} +% \item tikz-among-us-watermark-eso-pic +% \begin{enumerate} +% \item tikz-among-us +% \item tikz +% \item xifthen +% \item eso-pic +% \item kvoptions +% \end{enumerate} +% \end{multicols} +%\end{FHZtcbEnumerate} + +\section{Examples -- tikz-among-us} + +While creating the drawing, I did a first attempt, now called \texttt{Original}, which is a command with a \texttt{tikzpicture} inside it. This command was not made with the best method to be flexible, but it is indeed very simple and direct. I chose to keep it as an alternative to the new commands and because it has a different style. +The are two main styles, \texttt{Style I} and \texttt{Style II}. \texttt{Style I} has the shadow create by ``hand'', it means, the shadow is a fixed perspective which boundaries were directly programmed in {\TikZ}. \texttt{Style II} uses the library \texttt{shade} to create shadows, but I couldn't reproduced the same result as I did in \texttt{Style I}. +In this sense, I chose to keep both styles and using the roman number as a suffix of each command. + +\subsection{Styles I e II} + +The basic syntax to insert each character is: +\begin{FHZtcbAmongUs}[listing only] + \amongUsI[<options>]{<BodyColor>}{<EyeColor>} +\end{FHZtcbAmongUs} +%\begin{lstlisting}[style=estiloExemVerd] +% \amongUsI[<options>]{<BodyColor>}{<EyeColor>} +%\end{lstlisting} +and for each body part, the commands are: +\begin{FHZtcbAmongUs}[listing only] + \amongUsBackpackI[<options>]{<BodyColor>} + \amongUsBodyI[<options>]{<BodyColor>} + \amongUsEyesI[<options>]{<EyeColor>} +\end{FHZtcbAmongUs} +where \texttt{<options>} is any suitable option of the environment \texttt{scope} of {\TikZ}; and \texttt{<BodyColor>} and \texttt{<EyeColor>} are any color provided such as {\TikZ} recognizes them. +For each command with suffix \texttt{I} there is another command with suffix \texttt{II}, that represents the alternative method to create shades. + +This is the basic use of the package. + +\begin{paracol}{2} +\begin{FHZtcbAmongUs}[title=Basic Use -- Style I] +\begin{tikzpicture} + \amongUsI{yellow}{cyan} +\end{tikzpicture} +\end{FHZtcbAmongUs} +\switchcolumn +\begin{FHZtcbAmongUs}[title=Basic Use -- Style II] +\begin{tikzpicture} + \amongUsII{yellow}{cyan} +\end{tikzpicture} +\end{FHZtcbAmongUs} +\end{paracol} + +Each body part was created to have its coordinate origin such as it is corrected placed on the main body without the need of any shift. +On the other hand, the \texttt{shift=\{(x,y)\}} command of the environment \texttt{scope} is a well suitable method to move each part. + +\begin{paracol}{2} +\begin{FHZtcbAmongUs}[title=Each body part -- Style I] +\begin{tikzpicture} + \amongUsBackpackI + [shift={(0,0)}]{blue}; + \amongUsBodyI + [shift={(0.6,0)}]{blue}; + \amongUsEyesI + [shift={(3,0)}]{cyan}; +\end{tikzpicture} +\end{FHZtcbAmongUs} +\switchcolumn +\begin{FHZtcbAmongUs}[title=Each body part -- Style II] +\begin{tikzpicture} + \amongUsBackpackII + [shift={(0,0)}]{green}; + \amongUsBodyII + [shift={(0.6,0)}]{green}; + \amongUsEyesII + [shift={(3,0)}]{red}; +\end{tikzpicture} +\end{FHZtcbAmongUs} +\end{paracol} + +Unfortunately, I'm (still) not the most proficient {\TikZ} user, so I didn't create the most optimized style to properly use the command \texttt{scale}, therefore, it is suggested to use the command \texttt{{\textbackslash}adjustbox} from the package \texttt{adjustbox} to scale the drawing without incurring in some errors with the \texttt{rounded corners} used in the design. +To rotate the draw around its center the command \texttt{rotate around=\{angle:(x0,y0)\}} should be used. The center of mass is close to the coordinates $x_0 = 1.75$ and $y_0 = 2.3$. + +\begin{FHZtcbAmongUs}[title=Scaling with adjustbox, sidebyside] +% \usepackage{adjustbox} +\adjustbox{scale=0.5}{ + \begin{tikzpicture} + \amongUsI{cyan}{gray}; + \amongUsI[shift={(5,3)}, + rotate around={180:(1.75,2.3)}] + {green!50!black}{cyan}; + \amongUsI[shift={(10.5,0)}, + rotate around={45:(1.75,2.3)}] + {orange!50!black}{orange}; + \end{tikzpicture} +} +\end{FHZtcbAmongUs} + +\subsection{Styles Original} + +The original design is much more simplistic. + +\begin{FHZtcbAmongUs}[title=Original Design -- Inside \textit{tikzpicture}] + \begin{tikzpicture} + \node at (0,0) {\amongUsOriginal{blue}{orange}}; + \node at (5,0) {\amongUsOriginal{orange}{blue}}; + \node at (10,0) {\amongUsOriginal{red}{cyan}}; + \end{tikzpicture} +\end{FHZtcbAmongUs} + +Although it is simplistic, it was a good start point to insert emotions as options to the style. The emotions shall be added to \texttt{Styles I} and \texttt{II} in the future. The \texttt{Original} style can be use outside a \texttt{tikzpicture} environment. + +\begin{FHZtcbAmongUs}[title=Original Design -- Outside \textit{tikzpicture}] +\amongUsOriginal{black}{cyan} +\amongUsOriginal[angry]{gray}{cyan} +\amongUsOriginal[very angry]{white}{cyan} +\end{FHZtcbAmongUs} + +Inside the \texttt{tikzpicture} environment is possible to use some options of the command \texttt{node} to produce some more combinations. Indeed, that's the best method to achieve a black body suit with visible lines. + +\begin{FHZtcbAmongUs}[title=Original Design -- Inside \textit{tikzpicture} with \textit{node} options] + \begin{tikzpicture}[every path/.style={very thick}] + \node[red, fill=black] at (0,0) {\amongUsOriginal{white}{cyan}}; + \node[blue, fill=violet] at (5,0) {\amongUsOriginal[angry]{white}{cyan}}; + \node[yellow, fill=green] at (10,0) + {\amongUsOriginal[very angry]{black}{cyan}}; + \end{tikzpicture} +\end{FHZtcbAmongUs} + + +\section{Use as Watermark} + +The chosen package to add watermarks is +\begin{FHZtcbAmongUs}[listing only] + \usepackage{eso-pic} +\end{FHZtcbAmongUs} + +The syntax of the style created to insert Among us characters from the package \texttt{tikz-among-us} is +\begin{FHZtcbAmongUs}[listing only] + \usepackage[cor=<color>,<FG/BG,type=<0/1>]{tikz-among-us-watermark-eso-pic} +\end{FHZtcbAmongUs} + +The options are +\begin{FHZtcbEnumerate} + \item cor=<color> + \begin{itemize} + \item default color is red + \end{itemize} + \item FG (default if empty) \textsf{OR} BG + \begin{itemize} + \item These options select between \texttt{{\textbackslash}AddToShipoutPictureFG} and \texttt{{\textbackslash}AddToShipoutPictureBG} from the package \texttt{eso-pic}. + \end{itemize} + \item type=<number> + \begin{itemize} + \item number can be either 0 (default if empty) for \texttt{Original Style} \textsf{OR} 1 for \texttt{Style I}. \texttt{Style II} has not been prepared, although any user can copy and edit the syntax at will. + \end{itemize} +\end{FHZtcbEnumerate} + +The package \texttt{kvoptions} have been used to provide flexible command with direct acess to the options values in \texttt{cor} and \texttt{type}, and a simple true/false statement with \texttt{FG} and \texttt{BG}. +Any other kind or variation of watermark can be achieved by directing setting values to each <parameter> in: +\begin{FHZtcbAmongUs}[listing only] + \put(X,Y){\scalebox{<factor>}{\rotatebox{<degrees>}{\usebox\myboxAmongUs}}} +\end{FHZtcbAmongUs} +where \texttt{{\textbackslash}myboxAmongUs} is +\begin{FHZtcbAmongUs}[listing only] + \myboxAmongUs\savebox\myboxAmongUs{% + \tikz[color=<color>, opacity=<factor>] + \node{\amongUsOriginal{<color>}{white}}; + } +\end{FHZtcbAmongUs} + +The following box presents some possible combinations of parameters which results are presented at \autoref{fig:fig_AmongUg}. +\begin{FHZtcbAmongUs}[listing only] +\usepackage{tikz-among-us-watermark-eso-pic} +\usepackage[FG]{tikz-among-us-watermark-eso-pic} +\usepackage[type=0]{tikz-among-us-watermark-eso-pic} + +\usepackage[cor=blue]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=green,FG]{tikz-among-us-watermark-eso-pic} + +\usepackage[BG]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=green!80!black,BG]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=orange,type=0]{tikz-among-us-watermark-eso-pic} + +\usepackage[cor=yellow!80!black,FG,type=0]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=orange,BG,type=0]{tikz-among-us-watermark-eso-pic} +\usepackage[BG,type=1]{tikz-among-us-watermark-eso-pic} + +\usepackage[cor=pink,type=1]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=teal,FG,type=1]{tikz-among-us-watermark-eso-pic} +\usepackage[cor=brown,BG,type=1]{tikz-among-us-watermark-eso-pic} +\end{FHZtcbAmongUs} + +\begin{figure}[htb] % [htpb] + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_01} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_02} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_03} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_04} \\ + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_05} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_06} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_07} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_08} \\ +% \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_09} \\ + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_10} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_11} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_12} \hfill + \includegraphics[width = 0.20\linewidth]{Figuras/fig_AmongUs_13} + \caption{Example of each presented combination of watermark.} + \label{fig:fig_AmongUg} +\end{figure} + +The selected combination used in this documentation is +\begin{FHZtcbAmongUs}[listing only] + \usepackage[cor=violet!70!white,BG,type=1]{tikz-among-us-watermark-eso-pic} +\end{FHZtcbAmongUs} + +\section{Use as Watermark inside a tcolorbox} + +\texttt{tcolorbox} is one of the most versatile packages of all {\LaTeX}. One of its feature is the possibility to create boxes with many styles, including boxes with watermarks as presented in page 174 of the \texttt{tcolorbox} manual (\texttt{/tcb/watermark tikz)}. +\begin{FHZtcbAmongUs}[listing only] + \usepackage{tcolorbox} +\end{FHZtcbAmongUs} + +The very implementation used in this report to create enumerated list with some Among us floating around is: +\begin{FHZtcbAmongUs}[listing only] +\newtcolorbox{FHZboxEnumerateStyle}{ + enhanced, + colback=orange!15!white, + colframe=orange!50!black, + watermark tikz={\tikz[opacity=0.4] + \node[rotate around={-45:(1.75,2.3)}] {\amongUsOriginal{blue}{white}}; + \node[rotate around={45:(1.75,2.3)}] at (5,0) {\amongUsOriginal{pink}{white}}; + \node[rotate around={-135:(1.75,2.3)}] at (10,0) {\amongUsOriginal{green}{white}}; + \node[rotate around={135:(1.75,2.3)}] at (15,0) {\amongUsOriginal{olive}{white}}; + } +} +\newenvironment{FHZtcbEnumerate}{% + \begin{FHZboxEnumerateStyle}\begin{enumerate}} + {\end{enumerate}\end{FHZboxEnumerateStyle} +} +\end{FHZtcbAmongUs} + +\begin{FHZtcbEnumerate} + \item This is an example of a \texttt{enumerate} list inside a \texttt{tcolorbox} with \texttt{tikz-among-us} as watermark. +\end{FHZtcbEnumerate} + +\section{Use as Page numbering} + +The required packages are: +\begin{FHZtcbAmongUs}[listing only] +\usepackage{fancyhdr} +\usepackage{adjustbox} +\end{FHZtcbAmongUs} +The package \texttt{fancyhdr} enables the user to edit headers and footers. I present a simple possibility to use the Among us characters in the footer of each page, such as the ones in this documentation. + +The central core of the idea is to use \texttt{adjustbox} to correct scale down the \texttt{tikzpicture}, since the draw was made with \texttt{rounded corners} and this feature has some issue while scaling, and insert a \texttt{rotate around} command using some math to rotate to body around its center. +In the example below, it turns 45 degrees each new page, creating the idea of floating around. + +Next, a \texttt{node} is insert with the inverse factor of the scaling made in \texttt{adjustbox}, it returns the page number to its original size, and also places it at the correct local on the footer. +\begin{FHZtcbAmongUs}[listing only] +\fancyfoot[RO,LE]{% + \adjustbox{scale=0.25}{% + \begin{tikzpicture} + \amongUsI[rotate around={45*(\thepage-1):(1.75,2.3)}]{yellow}{cyan}; + \node[scale=4] at (1.75,2.3) {\thepage}; + \end{tikzpicture} + } +} +\end{FHZtcbAmongUs} + +\section{Use as Animation} + +This example uses the following package +\begin{FHZtcbAmongUs}[listing only] + \usepackage{animate} +\end{FHZtcbAmongUs} + +This example creates a variable from 0 to 360 to represent each degree of a full rotation.\footnote{Animation requires some PDF visualization software to properly work. Internet browsers are not normally suitable for this task.} Four Among us characters are placed around the screen by using the option \texttt{shift={(x0,y0)}} and then rotating them around each respective center of mass. In order to achieve this effect, the most left command must be \texttt{shift} and then \texttt{rotate around}, the opposite order will rotate around the given point by will shift the object relative center of rotation. To make a body rotate in the opposite direction it is just necessary to add a minus sign in front of the angle variable. +\begin{FHZtcbAmongUs}[listing only] +\begin{animateinline}[controls,loop]{30} + \multiframe{360}{rt=0+1}{% + \begin{tikzpicture} + \draw (-2,-10) rectangle (15,7); + \amongUsI[rotate around={\rt:(2,3)}] + {orange}{blue}; + \amongUsI[shift={(8,0)}, rotate around={-\rt:(2,3)}] + {cyan}{orange}; + \amongUsII[shift={(0,-8)}, rotate around={\rt:(2,3)}] + {red}{gray}; + \amongUsII[shift={(8,-8)}, rotate around={-\rt:(2,3)}] + {green!50!black}{cyan}; + \end{tikzpicture} + } +\end{animateinline} +\end{FHZtcbAmongUs} + +\begin{animateinline}[controls,loop]{30} + \multiframe{360}{rt=0+1}{% + \begin{tikzpicture} + \draw (-2,-10) rectangle (15,7); + \amongUsI[rotate around={\rt:(2,3)}]{orange}{blue}; + \amongUsI[shift={(8,0)}, rotate around={-\rt:(2,3)}]{cyan}{orange}; + \amongUsII[shift={(0,-8)}, rotate around={\rt:(2,3)}]{red}{gray}; + \amongUsII[shift={(8,-8)}, rotate around={-\rt:(2,3)}]{green!50!black}{cyan}; + \end{tikzpicture} + } +\end{animateinline} + +\section{Future features and ideas} + +\begin{FHZtcbEnumerate} + \item Add options for hands; + \item Add options to different emotions through the eyes in styles I and II; + \item Improve scale method; + \item Draw the impostor; + \item Draw maps. +\end{FHZtcbEnumerate} + +\section{Historic and version} + +\begin{FHZtcbEnumerate}[leftmargin=3.5cm] + \item[1.0.0 (2020-10-20):] Publication of the style with the original design and Styles I and II of shadows. + \item[1.0.1 (2020-10-23):] Minor typos have been corrected. +\end{FHZtcbEnumerate} + +\section{Implementation} + +\subsection{tikz-among-us.sty} + +\autoref{alg:tikz-among-us} shows the implementation of the package \texttt{tikz-among-us.sty}. + +% ----------------------------- +%, lastline = 10, firstnumber = 1, nolol, style = estiloExemAzul/Verm/Verd +\lstinputlisting[firstline = 5, firstnumber = 1, label = {alg:tikz-among-us}, caption = {Package implementation}, style = estiloExemVerd] +{C:/Users/FHZ/Dropbox/LaTeX_pacotes/tex/latex/tikz-among-us/tikz-among-us.sty} +% ----------------------------- + +\subsection{tikz-among-us-fancyhdr.sty} + +\autoref{alg:tikz-among-us-fancyhdr} shows the implementation of the package \texttt{tikz-among-us-fancyhdr.sty}. + +% ----------------------------- +% firstline = 1, lastline = 10, firstnumber = 1, nolol, style = estiloExemAzul/Verm/Verd +\lstinputlisting[firstline = 5, firstnumber = 1, label = {alg:tikz-among-us-fancyhdr}, caption = {Package implementation}, style = estiloExemVerd] +{C:/Users/FHZ/Dropbox/LaTeX_pacotes/tex/latex/tikz-among-us/tikz-among-us-fancyhdr.sty} +% ----------------------------- + +\subsection{tikz-among-us-watermark-eso-pic.sty} + +\autoref{alg:tikz-among-us-watermark-eso-pic} shows the implementation of the package \texttt{tikz-among-us-watermark-eso-pic.sty}. + +% ----------------------------- +% firstline = 1, lastline = 10, firstnumber = 1, nolol, style = estiloExemAzul/Verm/Verd +\lstinputlisting[firstline = 5, firstnumber = 1, label = {alg:tikz-among-us-watermark-eso-pic}, caption = {Package implementation}, style = estiloExemVerd] +{C:/Users/FHZ/Dropbox/LaTeX_pacotes/tex/latex/tikz-among-us/tikz-among-us-watermark-eso-pic.sty} +% ----------------------------- + +\end{document}
\ No newline at end of file |