\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[pdfauthor={Luke Hsiao},
            pdftitle={PAII Ward 2018 Q4-at-a-Glace},
            hidelinks]{hyperref}
\usepackage[letterpaper,landscape,margin=0.1in,paperheight=0.5\paperheight]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{booktabs}
\usepackage{enumitem}
\usepackage{fontawesome}
\usepackage{tikz}
\usepackage{verbatim}
\usetikzlibrary{calendar}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
% Use the following to test black and white
% \usepackage{xcolor}
% \selectcolormodel{gray}

% Use the following for draft watermarks
% \usepackage{draftwatermark}
% \SetWatermarkText{\textbf{Draft: \today}}
% \SetWatermarkHorCenter{0.5cm}
% \SetWatermarkVerCenter{4cm}
% \SetWatermarkAngle{90}
% \SetWatermarkFontSize{15pt}

\renewcommand{\familydefault}{\sfdefault}
\definecolor{y}{RGB}{250,210,140}
\definecolor{g}{RGB}{110,190,170}
\definecolor{b}{RGB}{50,130,190}

% Define the date highlights
\newcommand{\ward}{\node[xshift=-1.9ex,fill=y,circle] {};}
\newcommand{\church}{\node[xshift=-1.9ex,fill=b,circle] {};}
\newcommand{\stake}{\node[xshift=-1.9ex,fill=g,circle] {};}
\newcommand{\wardbullet}{\begin{tikzpicture}\node[fill=y,circle,scale=0.8] {};\end{tikzpicture}}
\newcommand{\churchbullet}{\begin{tikzpicture}\node[fill=b,circle,scale=0.8] {};\end{tikzpicture}}
\newcommand{\stakebullet}{\begin{tikzpicture}\node[fill=g,circle,scale=0.8] {};\end{tikzpicture}}

\begin{document}
  \title{\vspace{-0.8cm}Palo Alto 2nd Ward 2018 Q4-at-a-Glance\vspace{-1.5cm}}
  \date{}
  \author{}

  \maketitle
  \thispagestyle{empty} % Remove page numbers and headers
  \makeatletter

  % Define our own style
  \tikzstyle{week list sunday}=[
    % Note that we cannot extend from week list,
    % the execute before day scope is cumulative
    execute before day scope={%
     \ifdate{day of month=1}{\ifdate{equals=\pgfcalendarbeginiso}{}{
     % On first of month, except when first date in calendar.
       \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@month@yshift}%
       \pgftransformyshift{-\pgf@y}
     }}{}%
    },
    execute at begin day scope={%
      % Because for TikZ Monday is 0 and Sunday is 6,
      % we can't directly use \pgfcalendercurrentweekday,
      % but instead we define \c@pgf@counta (basically) as:
      % (\pgfcalendercurrentweekday + 1) % 7
      \pgfmathsetlength\pgf@x{\tikz@lib@cal@xshift}%
      \ifnum\pgfcalendarcurrentweekday=6
        \c@pgf@counta=0
      \else
        \c@pgf@counta=\pgfcalendarcurrentweekday
        \advance\c@pgf@counta by 1
      \fi
      \pgf@x=\c@pgf@counta\pgf@x
      % Shift to the right position for the day.
      \pgftransformxshift{\pgf@x}
    },
    execute after day scope={
      % Shift to the next line at the end of the week.
      \ifdate{Saturday}{
        \pgfmathsetlength{\pgf@y}{\tikz@lib@cal@yshift}%
        \pgftransformyshift{-\pgf@y}
      }{}%
    },
    tikz@lib@cal@width=7
  ]

  \makeatother

  \begin{minipage}[h]{0.20\paperheight}
  % The actual calendar is now rather easy:
  \begin{tikzpicture}[every calendar/.append style={
      week list sunday,
      month label above centered,
      month text={\%mt \%y0},
      month yshift=0pt,
      if={(Sunday) [blue!100]},
    },
    % every day/.style={anchor=base},
    day text={\%d=},rounded corners=0,anchor=base,text height=1ex,text depth=-0.5ex
  ]
  \matrix[column sep=1em, row sep=2em] {
    \calendar[dates=2018-09-01 to 2018-09-last]
      if (equals=2018-09-09) {\church}%
      if (equals=2018-09-19) {\ward}%
      if (equals=2018-09-23) {\ward}%
      if (equals=2018-09-28) {\ward}%
      if (equals=2018-09-29) {\ward}%
      if (equals=2018-09-30) {\ward}%
    ; \\
    \calendar[dates=2018-10-01 to 2018-10-last]
      if (equals=2018-10-04) {\stake}%
      if (equals=2018-10-06) {\church}%
      if (equals=2018-10-07) {\church}%
      if (equals=2018-10-10) {\ward}%
      if (equals=2018-10-12) {\ward}%
      if (equals=2018-10-13) {\ward}%
      if (equals=2018-10-14) {\ward}%
      if (equals=2018-10-19) {\ward}%
      if (equals=2018-10-20) {\stake}%
      if (equals=2018-10-21) {\stake}%
      if (equals=2018-10-26) {\ward}%
      if (equals=2018-10-27) {\ward}%
    ; \\
    \calendar[dates=2018-11-01 to 2018-11-last]
      if (equals=2018-11-03) {\ward}%
      if (equals=2018-11-10) {\ward}%
      if (equals=2018-11-17) {\ward}%
    ; \\
    \calendar[dates=2018-12-01 to 2018-12-last]
      if (equals=2018-12-01) {\stake}%
      if (equals=2018-12-02) {\church}%
      if (equals=2018-12-03) {\stake}%
      if (equals=2018-12-04) {\stake}%
      if (equals=2018-12-05) {\stake}%
      if (equals=2018-12-07) {\ward}%
      if (equals=2018-12-08) {\ward}%
      if (equals=2018-12-15) {\ward}%
      if (equals=2018-12-18) {\ward}%
      if (equals=2018-12-22) {\ward}%
      if (equals=2018-12-23) {\ward}%
    ; \\
  };
  \end{tikzpicture}
\end{minipage}
\begin{minipage}[h]{0.37\paperheight}
  \subsection*{Key Dates}
  \begin{itemize}[leftmargin=0.5cm,itemsep=1pt]
    \item[\churchbullet] Sep 9: Face to Face with Elder Quintin L. Cook
    \item[\wardbullet] Sep 19: YW Mother \& Daughter Service Project
    \item[\wardbullet] Sep 23: Annual Ward Photo
    \item[\wardbullet] Sep 28: Relief Society Fall Dinner \& Social
    \item[\wardbullet] Sep 28--29: Troop 66 Campout
    \item[\wardbullet] Sep 30: Primary Program in Sacrament Meeting
    \item[\stakebullet] Oct 4: Annual Stanford Convocation
    \item[\churchbullet] Oct 6: General Womens Session
    \item[\churchbullet] Oct 6--7: General Conference
    \item[\wardbullet] Oct 10: YW Mother \& Daughter Book Club
    \item[\wardbullet] Oct 12--13: Annual Ward Campout at Huddart Park
    \item[\wardbullet] Oct 14: Fast Sunday
    \item[\wardbullet] Oct 19: Ward Play: Premiere of \emph{STAR}
    \item[\stakebullet] Oct 20: Youth \& Young Married Devotional
    \item[\stakebullet] Oct 21: Special Stake Conference
    \item[\wardbullet] Oct 26--27: Troop 66 Campout
    \item[\wardbullet] Oct 27: Trunk or Treat
    \item[\wardbullet] Nov 3: Annual Spaghetti Dinner \& Dessert Auction
    \item[\wardbullet] Nov 10: YM/YW Project w/ Muslim
      Association
    \item[\wardbullet] Nov 17: YM/YW Project w/ Muslim
      Association
    \item[\stakebullet] Dec 1--Dec 5: Christmas Crèche Exhibit
    \item[\churchbullet] Dec 2: First Presidency Christmas Devotional \& Youth
      Crèche Sunday
    \item[\stakebullet] Dec 5: Laurels \& Priest Stake Caroling Activity
    \item[\stakebullet] Dec 7--8: Troop 66 Campout
    \item[\wardbullet] Dec 15: YM/YW San Francisco Activity
    \item[\wardbullet] Dec 18: Relief Society Dinner
    \item[\wardbullet] Dec 22: PAII Ward Christmas Party Brunch
    \item[\wardbullet] Dec 23: Christmas Program
  \end{itemize}
\end{minipage}
\begin{center}
  \begin{tabular}{llll}
    \wardbullet~PAII Ward Events &
    \stakebullet~Menlo Park Stake \& Region Events &
    \churchbullet~Church-wide Events \\
  \end{tabular}
  \vfill
  Find the full, up-to-date calendar at
  \href{https://www.lds.org/church-calendar/}{\faCalendar~www.lds.org/church-calendar/}

  \footnotesize{This printout was last updated on \today.}
\end{center}

\end{document}
