From 1aa21ac83b06b9e9f882199e5298752b4bff27f5 Mon Sep 17 00:00:00 2001 From: Anson Date: Mon, 28 Sep 2020 21:35:36 -0700 Subject: [PATCH] added source --- README.md | 65 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index d79b4c6..0ce37df 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,19 @@ +# Forked From https://github.com/jessehamner/BingoCards + # BingoCards -[LaTeX](http://tug.org/) and [python](http://www.python.org)-powered randomized bingo cards with custom cells. -Takes a user-supplied list of phrases and randomly assigns them to a user-specified number of bingo cards, using LaTeX. -A python script creates a complete checklist for all possible bingo card cells. + +[LaTeX](http://tug.org/) and [python](http://www.python.org)-powered randomized bingo cards with custom cells. +Takes a user-supplied list of phrases and randomly assigns them to a user-specified number of bingo cards, using LaTeX. +A python script creates a complete checklist for all possible bingo card cells. This project is ideal for televised political events like State of the Union or presidential [or primary] debates. -Although I made some changes to the LaTeX code, the bulk of the code -- and all of the hard stuff -- +Although I made some changes to the LaTeX code, the bulk of the code -- and all of the hard stuff -- was taken from [tex.stackexchange.com](http://tex.stackexchange.com/questions/63357/automatically-generated-bingo-cards). ## Introduction -The list of phrases (and don't make any individual phrase very long) -needs to be semicolon-separated text, with a small bit of LaTeX +The list of phrases (and don't make any individual phrase very long) +needs to be semicolon-separated text, with a small bit of LaTeX encompassing the list. You can make the list about anything; I have added a vice-presidential list too, but the relevant words will always change. @@ -28,21 +31,21 @@ We don't \emph{win} anymore ``` :exclamation: **Important:** the list of items must _not_ include a final semicolon. - LaTeX interprets a final semicolon to mean "the next entry is a blank", - and you will end up with randomly empty cells on the bingo cards. +LaTeX interprets a final semicolon to mean "the next entry is a blank", +and you will end up with randomly empty cells on the bingo cards. The list should terminate only with a close-brace, though the brace can be on a new line. -The LaTeX file, when run, will take the list, pick 24 at random -(the "Free Space" is humorously listed as _"Candidate Talks Past Allotted Time"_, -as though that could ever _not_ happen), and assign them to a -standard 5 x 5 bingo card. This random process is nice because it avoids -"sets" of cards all providing Bingo at the same time. +The LaTeX file, when run, will take the list, pick 24 at random +(the "Free Space" is humorously listed as _"Candidate Talks Past Allotted Time"_, +as though that could ever _not_ happen), and assign them to a +standard 5 x 5 bingo card. This random process is nice because it avoids +"sets" of cards all providing Bingo at the same time. -The LaTeX file includes a for-loop to create some number (initially set at 50) of PDF cards. +The LaTeX file includes a for-loop to create some number (initially set at 50) of PDF cards. ## Customizing the Code -The bingo cards also include a small label below the bingo grid, so customize the ```\biglabel``` macro to suit your event. +The bingo cards also include a small label below the bingo grid, so customize the `\biglabel` macro to suit your event. ```LaTeX % make a nice identifier for the card (in case, say, there is more than one @@ -60,7 +63,7 @@ State of the Union } ``` -If you want to use an arbitrary "Free Space" label, you can change the +If you want to use an arbitrary "Free Space" label, you can change the [TikZ](https://en.wikipedia.org/wiki/PGF/TikZ) code: ```LaTeX @@ -69,32 +72,32 @@ If you want to use an arbitrary "Free Space" label, you can change the \node [scale=1.2] at ($(\col,-\row)-(0.5,0.7)$) {Entirely}; ``` -And note there is a `\renewcommand` or two you can uncomment for either a +And note there is a `\renewcommand` or two you can uncomment for either a totally generic "Free Space" square, or a blindingly obvious topic/comment. -For those wholly new to TikZ, the second number of the pair is a y-coordinate +For those wholly new to TikZ, the second number of the pair is a y-coordinate for the line, and a line space of 0.2 is about right. -If you trim the cell to two lines, you will want to change the y-values -to be more centered. +If you trim the cell to two lines, you will want to change the y-values +to be more centered. ## The Master Checklist -The python script parses the entire list and provides a ```longtable``` -checklist for the moderator to use when evaluating a given event. -The ```bingochecklist.tex``` file reads the output of the python script, -which is a file called ```checklist1.tex```. +The python script parses the entire list and provides a `longtable` +checklist for the moderator to use when evaluating a given event. +The `bingochecklist.tex` file reads the output of the python script, +which is a file called `checklist1.tex`. -So, from a terminal on your machine of choice, run +So, from a terminal on your machine of choice, run ```shell python makechecklist.py ``` -And if you've got all the files where they are supposed to be, it will -form up the guts of the checklist. -Next, compile ```bingochecklist.tex``` a few times and you'll be good to go. -You need to compile the TeX file at least twice because it uses -```longtable```, and column widths are determined dynamically over -the course of a few LaTeX compiles. +And if you've got all the files where they are supposed to be, it will +form up the guts of the checklist. +Next, compile `bingochecklist.tex` a few times and you'll be good to go. +You need to compile the TeX file at least twice because it uses +`longtable`, and column widths are determined dynamically over +the course of a few LaTeX compiles. Jesse Hamner, 2016-2017. :rocket: