\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{{[}deleted{]}} \pdfinfo{ /Title (processing-cheat-sheet-by-linush.pdf) /Creator (Cheatography) /Author ({[}deleted{]}) /Subject (Processing- by linush Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{679292} \definecolor{LightBackground}{HTML}{F5F8F8} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Processing- by linush Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{{[}deleted{]}} via \textcolor{DarkBackground}{\uline{cheatography.com/25537/cs/6741/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}{[}deleted{]} \\ \uline{cheatography.com/deleted-25537} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 12th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Was ist Processing?}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Processing ist eine auf JAVA basierende objektorientierte Programmiersprache, welche auf Grafik- und Animationsanwendungen spezialisiert ist. Für mehr Informationen besuche: https://processing.org/% Row Count 4 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Wo bekomme ich hilfe?}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Eines der wichtigsten Werkzeuge für jeden Programmierer ist die {\bf{Dokumentation}} der Sprache und Umgebung mit der er gerade arbeitet. Die Processingdokumentation ist unter \seqsplit{https://processing.org/reference/} zu finden. Dort sind fast alle Merhoden, welche euch zur Verfügung stehen (auf Englisch) erkl{\"a}rt.% Row Count 7 (+ 7) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Aufbau einer Methode in OOP:}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{5.377cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/linusha_1453647090_methodnaufbau.png}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Alles, was euer Code "machen soll", wird in Methoden eingebettet. Es ist guter Stil für eine Aufgabe jeweils eine eigene Methode zu schreiben.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Variablen}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{datentyp variablenname = anfangswert;} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Variablen werden zur Speicherung von Werten benutzt, welche sich w{\"a}hrend der Laufzeit eures Programms {\"a}ndern. Jede Variable muss {\bf{deklariert}} werden, bevor ihr sie verwenden k{\"o}nnt.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Gültigkeitsbereich}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Variablen sind nicht von überall aus zug{\"a}nglich. Eine Methode, welche innerhalb einer Methode deklariert wird, ist nur in dieser gültig. In `Processing` deklariert ihr {\bf{globale}} Variablen ganz zu Beginn des Programms.% Row Count 5 (+ 5) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{x{1.4931 cm} x{3.4839 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Wichtigste Variablentypen}} \tn % Row 0 \SetRowColor{LightBackground} Integer & ganze Zahlen \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Float & Kommazahlen \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Boolean & True/False \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} String & Zeichenketten \tn % Row Count 4 (+ 1) % Row 4 \SetRowColor{LightBackground} Char & einzelne Zeichen \tn % Row Count 5 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{5.377cm}}{Jede Variable muss von einem {\bf{Variablentyp}} sein. Dieser wird bei der Deklaration festgelegt und kann nicht ge{\"a}ndert werden.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Die zwei Standartmethoden in Processing}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{`void setup()\{` \newline % Row Count 1 (+ 1) `\}` \newline % Row Count 2 (+ 1) Hier legt ihr eure Fenstergr{\"o}{\ss}e, Bildrate und andere Einstellungen fest. \newline % Row Count 4 (+ 2) `void draw()\{` \newline % Row Count 5 (+ 1) `\}` \newline % Row Count 6 (+ 1) Diese Methode wird mehrfach pro Sekunde aufgerufen (siehe Framerate). Hier fügt ihr die Dinge ein, die auf dem Bildschirm angezeigt werden sollen.% Row Count 9 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Parameter}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{In jedem Methodenkopf findet ihr (). Manchmal sind diese Klammern jedoch nicht leer. In diesen Klammern übergebt ihr beim Methodenaufruf Werte, mit denen die Methode arbeiten soll. Zum Beispiel die Eckpunkte eines Rechtecks. Es ist wichtig, immer {\bf{Parameter}} des richtigen Typs zu übergeben.% Row Count 6 (+ 6) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}