expoweb/documents/bierbook/bierbook.tex
2016-04-27 13:07:21 +01:00

367 lines
8.8 KiB
TeX

\documentclass[a4paper,12pt,twoside]{book}
\usepackage{bierbook-style}
% All required packages should be included in bierbook-style
\newcommand{\expotitle}{
% makes the title page
\thispagestyle{empty}
\centering
\ \vspace{3cm}\\
{\Large Cambridge University Caving Club}
\bigskip
\vspace{5mm}
{\Huge \bf Expo \the\year}
\vspace{2cm}
\textgoth{\fontsize{100}{120}\selectfont Bier Book}
\vspace{6 cm}\\
{[}Stick obligatory G{\"o}sser label here{]}
\vfill
\clearpage
}
\newcommand{\expoheading}[1]{
% provides the formatting for a title of a section
\vspace{10pt}
{\LARGE #1}
\vspace{20pt}
}
\newcommand{\drinkstally}[2]{
% argument is the title, second is the starting number for the tally
% longtable, generated from the list of names
% uses drinkstallyline for each line
\addcontentsline{toc}{section}{#1}
\openin\namesread=names.txt
\setcounter{linecount}{0}
\begin{longtable}{rc}
\multicolumn{2}{l}{\expoheading{#1}} \\
&
\drinkstallynumbers{#2}
\\
\endfirsthead
&
\drinkstallynumbers{#2}
\\
\endhead
&
\drinkstallynumbers{#2}
\\
\endfoot
\whiledo{\value{linecount}<\value{maxlines}}{
\stepcounter{linecount}
\read\namesread to \currentname
\drinkstallyline{\currentname}
}
\end{longtable}
\clearpage
}
\newcommand{\drinkstallyline}[1]{
% argument is the name on the line
% boxes are a tikz grid
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.4}
\node at (0,0.6*\wvar) [anchor=east] {#1};
\node at (0,0) {};
\node at (0,2*\wvar) {};
\end{tikzpicture}
\and
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.4}
\foreach \xvar in {0,1,2,3,4}
{
\foreach \yvar in {0,1}
{
\foreach \zvar in {0,5.5,11,16.5,22}
{
\draw (\xvar*\wvar+\zvar*\wvar,\yvar*\wvar) -- ++ (0,\wvar) -- ++ (\wvar,0) -- ++ (0,-\wvar) -- cycle;
}
}
}
\end{tikzpicture}
\\
}
\newcounter{drinksnumber}
\newcommand{\drinkstallynumbers}[1]{
% argument is the starting number
\setcounter{drinksnumber}{#1}
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.4}
\foreach \xvar in {0,5.5,11,16.5,22,27.5}
{
\node at (\xvar*\wvar,0) [anchor=center] {\arabic{drinksnumber}};
\node at (\xvar*\wvar,0.4) {};
\addtocounter{drinksnumber}{10}
}
\end{tikzpicture}
}
\newcommand{\nightstally}[5]{
% arguments are the title, subheading information, and dates for the three weeks
% longtable, generated from the list of names
% uses nightstallyline for each line
% footer of day of the week, possibly also as a second header under the dates
\addcontentsline{toc}{section}{#1}
\openin\namesread=names.txt
\setcounter{linecount}{0}
\begin{longtable}{rccc}
\multicolumn{4}{l}{\expoheading{#1}} \\
\multicolumn{4}{p{14cm}}{#2} \\
\tikz{\node at (0,0.5) {}; \node at (0,0) {};} & #3 & #4 & #5 \\
\tikz{\node at (0,0.5) {}; \node at (0,0) {};} & \weekdays & \weekdays & \weekdays \\
\endfirsthead
\tikz{\node at (0,0.5) {}; \node at (0,0) {};} & #3 & #4 & #5 \\
\tikz{\node at (0,0.5) {}; \node at (0,0) {};} & \weekdays & \weekdays & \weekdays \\
\endhead
\tikz{\node at (0,0.5) {}; \node at (0,0) {};} & \weekdays & \weekdays & \weekdays \\
\endfoot
\whiledo{\value{linecount}<\value{maxlines}}{
\stepcounter{linecount}
\read\namesread to \currentname
\nightstallyline{\currentname}
}
\end{longtable}
\clearpage
}
\newcommand{\nightstallyline}[1]{
% argument is the name on the line
% boxes are a tikz grid
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.5}
\node at (0,0.3*\wvar) [anchor=east] {#1};
\node at (0,0) {};
\node at (0,\wvar) {};
\end{tikzpicture}
\and
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.5}
\foreach \yvar in {0,1,2,3,4,5,6}
{
\draw (\yvar*\wvar,0) -- ++ (0,\wvar) -- ++ (\wvar,0) -- ++ (0,-\wvar) -- cycle;
}
\end{tikzpicture}
\and
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.5}
\foreach \yvar in {0,1,2,3,4,5,6}
{
\draw (\yvar*\wvar,0) -- ++ (0,\wvar) -- ++ (\wvar,0) -- ++ (0,-\wvar) -- cycle;
}
\end{tikzpicture}
\and
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.5}
\foreach \yvar in {0,1,2,3,4,5,6}
{
\draw (\yvar*\wvar,0) -- ++ (0,\wvar) -- ++ (\wvar,0) -- ++ (0,-\wvar) -- cycle;
}
\end{tikzpicture}
\\
}
\newcommand{\weekdays}{
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{0.5}
\foreach \yvar/\zvar in {0/S,1/M,2/T,3/W,4/T,5/F,6/S}
{
\node at (\yvar*\wvar,0) [anchor=center] {\zvar};
}
\end{tikzpicture}
}
\newcommand{\nightssubtitle}{
Please record where you spent each night. / = basecamp, S = stonebridge bivvy, B = bivvying elsewhere.
}
\newcommand{\timesubtitle}{
For boasting purposes only.
}
\newcommand{\expoweather}[1]{
% argument is the start date of the expo
% longtable generated from incremeting the date for 6 weeks
% simple box in which to write what happened
\begin{longtable}{|l|p{10cm}|}
\multicolumn{4}{l}{\expoheading{Expo Transport}} \\
\endfirsthead
\expoweatherweek{}
\expoweatherweek{}
\expoweatherweek{}
\expoweatherweek{}
\expoweatherweek{}
\expoweatherweek{}
\end{longtable}
}
\newcommand{\expoweatherline}[1]{
% argument is the day text
\begin{tikzpicture}
\pgfmathsetmacro{\wvar}{1.5}
\node at (0,0.3*\wvar) [anchor=east] {#1};
\node at (0,0) {};
\node at (0,\wvar) {};
\end{tikzpicture}
& \\
\midrule
}
\newcommand{\expoweatherweek}[1]{
% argument is the start of the week
\midrule
\expoweatherline{Monday}
\expoweatherline{Tuesday}
\expoweatherline{Wednesday}
\expoweatherline{Thursday}
\expoweatherline{Friday}
\expoweatherline{Saturday}
\expoweatherline{Sunday}
}
\newcommand{\expotransport}{
% longtable to spread over multiple pages
% method / departed / arrived / notes
\addcontentsline{toc}{chapter}{Expo Transport}
\begin{longtable}{p{2cm}|p{2cm}|p{2cm}|p{8cm}}
\multicolumn{4}{l}{\expoheading{Expo Transport}} \\
Method & Departed & Arrived & Notes \\
\midrule
\endfirsthead
Method & Departed & Arrived & Notes \\
\midrule
\endhead
\vspace{20.3cm} & & & \\
\vspace{22cm} & & & \\
\end{longtable}
}
\newcommand{\moneypaid}{
% creates a series of pages for the money paid to individuals
% each person gets a page as made by moneypaidperson
% generated from the names list
\addcontentsline{toc}{chapter}{Money paid to ...}
\openin\namesread=names.txt
\setcounter{linecount}{0}
\whiledo{\value{linecount}<\value{maxlines}}{
\stepcounter{linecount}
\read\namesread to \currentname
\moneypaidperson{\currentname}
}
}
\newcommand{\moneypaidperson}[1]{
% argument is who the money is to be paid to
% longtable to spread over multiple pages
% date / owed by / description
\addcontentsline{toc}{section}{#1}
\begin{longtable}{p{2cm}|p{2cm}|p{10cm}}
\multicolumn{3}{l}{\expoheading{Money paid to #1}} \\
\multicolumn{3}{p{\textwidth}}{Please include each transaction only once, either as positive credit or a negative debit. \vspace{1cm}} \\
Date & Creditor & Notes \\
\midrule
\endfirsthead
Date & Creditor & Notes \\
\midrule
\endhead
\vspace{18.3cm} & & \\
\vspace{22cm} & & \\
\end{longtable}
\clearpage
}
\newcommand{\moneypaidgasthof}{
% argument is who the money is to be paid to
% longtable to spread over multiple pages
% date / owed by / description
\addcontentsline{toc}{chapter}{Money paid to Karin}
\begin{longtable}{p{2cm}|p{2cm}|p{10cm}}
\multicolumn{3}{l}{\expoheading{Money paid to Karin}} \\
Date & Creditor & Notes \\
\midrule
\endfirsthead
Date & Creditor & Notes \\
\midrule
\endhead
\vspace{18.3cm} & & \\
\vspace{22cm} & & \\
\end{longtable}
\clearpage
}
\newcommand{\blankpage}[1]{
% for creating a double page with nothing but a title
% longtable to consistent formatting
\addcontentsline{toc}{chapter}{#1}
\begin{longtable}{p{\textwidth}}
\expoheading{#1} \\
\vspace{\textheight} \\
\end{longtable}
}
\begin{document}
\newread\namesread
\newcounter{maxlines}
\newcounter{linecount}
\def\and{&}
\openin\namesread=names.txt
\loop\unless\ifeof\namesread
\read\namesread to \currentname
\stepcounter{maxlines}
\repeat
\addtocounter{maxlines}{-1}
\newread\datesread
\openin\datesread=dates.txt
\read\datesread to \firstweek
\read\datesread to \secondweek
\read\datesread to \thirdweek
\read\datesread to \fourthweek
\read\datesread to \fifthweek
\read\datesread to \sixthweek
\expotitle
\printtoc
\cleardoublepage
this page intentionally left blank
\clearpage
\addcontentsline{toc}{chapter}{Drinks}
\drinkstally{Bier 1-50}{0}
\drinkstally{Bier 51-100}{50}
\drinkstally{Limo 1-50}{0}
\drinkstally{Limo 51-100}{50}
\drinkstally{Other Drinks (specify)}{0}
\drinkstally{Noteable farts}{0}
\addcontentsline{toc}{chapter}{Nights}
\nightstally{Nights Weeks 1-3}{\nightssubtitle}{\firstweek}{\secondweek}{\thirdweek}
\nightstally{Nights Weeks 4-6}{\nightssubtitle}{\fourthweek}{\fifthweek}{\sixthweek}
\nightstally{Time underground Weeks 1-3}{\timesubtitle}{\firstweek}{\secondweek}{\thirdweek}
\nightstally{Time underground Weeks 4-6}{\timesubtitle}{\fourthweek}{\fifthweek}{\sixthweek}
\moneypaid
\moneypaidgasthof
\expotransport
%\expoweather{arg1}
\blankpage{Squashed Flies}
\blankpage{Toll road info}
\blankpage{In Austria Jollies}
\blankpage{Suggestions for next year}
\blankpage{Gear left up the hill}
\blankpage{Quotes}
\end{document}