\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{bladabuska} \pdfinfo{ /Title (boolean-algebra.pdf) /Creator (Cheatography) /Author (bladabuska) /Subject (Boolean Algebra 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}{99AA33} \definecolor{LightBackground}{HTML}{F8F9F2} \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{Boolean Algebra Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{bladabuska} via \textcolor{DarkBackground}{\uline{cheatography.com/173176/cs/46007/}}} \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}bladabuska \\ \uline{cheatography.com/bladabuska} \\ \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 25th March, 2025.\\ 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}{Introduction}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{The Boolean algebra, named after the mathematician George Boole, is a branch of mathematics that deals with binary variables and logical operations. Developed in the mid-19th century, Boolean algebra laid the foundation for digital logic and computer science. It was primarily introduced as a way to express logical statements in a symbolic form, offering a method to manipulate logical propositions algebraically. \newline % Row Count 9 (+ 9) The main idea behind Boolean algebra is to operate on binary values, typically represented as 0 (false) and 1 (true). The algebraic structure follows a set of basic operations: AND, OR, and NOT, which correspond to logical conjunction, disjunction, and negation. These operations are the backbone of digital circuits, making Boolean algebra crucial in the design of electronic systems such as computers, telecommunication devices, and automation systems. \newline % Row Count 19 (+ 10) Boolean algebra has found extensive applications in various fields, most notably in the development of computer hardware and software. It is used to optimize circuits, simplify complex logical expressions, and create algorithms for decision-making processes. Over time, its influence has expanded, and it continues to be a vital component of modern computational technologies.% Row Count 27 (+ 8) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{p{0.54747 cm} x{4.42953 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Historic}} \tn % Row 0 \SetRowColor{LightBackground} 1847 & {\bf{George Boole}} published a pamphlet titled {\emph{The Mathematical Analysis of Logic}} in response to a controversy between {\bf{De Morgan}} and {\bf{Sir Hamilton}}. \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} 1854 & {\bf{Boole}} published the book {\emph{The Laws of Thought}} with a different formulation from his previous work. \tn % Row Count 8 (+ 3) % Row 2 \SetRowColor{LightBackground} 1860s & Boolean algebra emerged in the works of {\bf{William Jevons}} and {\bf{Charles Peirce}}. \tn % Row Count 11 (+ 3) % Row 3 \SetRowColor{white} 1890 & {\bf{Schr{\"o}der}} published his best work, in three volumes, called {\emph{Vorlesungen über die Algebra der Logik}}. This work was the first systematic presentation of Boolean algebra and distributive matrices. \tn % Row Count 17 (+ 6) % Row 4 \SetRowColor{LightBackground} 1904 & The Boolean algebra is seen as an axiomatic algebraic structure thanks to the works of {\bf{Huntington}}. \tn % Row Count 20 (+ 3) % Row 5 \SetRowColor{white} 1927 & {\bf{Zhegalkin}} demonstrated that traditional algebra using integer numerical values modulo 2 (instead of the traditional modulo 10) behaves exactly like Boolean algebra. This fact has led to some ambiguity about the true nature of Boolean algebra: it can be understood as {\emph{logical algebra}} or as {\emph{numerical algebra}}. \tn % Row Count 29 (+ 9) % Row 6 \SetRowColor{LightBackground} 1930s & Boolean algebra became mathematically rigorous thanks to the works of {\bf{Marshall Stone}} (1930s), and to {\bf{Birkhoff's}} matrix theory (1940). \tn % Row Count 34 (+ 5) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{p{0.54747 cm} x{4.42953 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Historic (cont)}} \tn % Row 7 \SetRowColor{LightBackground} 1938 & {\bf{Shannon}} demonstrated that electronic circuits with relays could be modeled through Boolean algebra. \tn % Row Count 3 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{The Basics}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Boolean Algebra consists of a set of {\bf{values}}, {\bf{operations}}, and {\bf{axioms}}, from which {\bf{identities}} and {\bf{theorems}} are derived.% Row Count 3 (+ 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}{Venn Diagrams}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{{\bf{John Venn}} was a British mathematician and logician known for introducing {\bf{Venn diagrams}}, which visually represent relationships between sets. These diagrams simplify the understanding of operations like union, intersection, and complement, making them valuable in logic, statistics, and computer science. In {\bf{Boolean Algebra}}, they help visualize logical operations, aiding in the analysis of Boolean expressions, circuit simplification, and understanding fundamental principles of mathematical logic.% Row Count 11 (+ 11) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}