Giter Site home page Giter Site logo

qbschedule's Introduction

qbschedule

qbschedule is a LaTeX class for making schedules for quizbowl tournaments, together with a collection of schedule templates.

Features

  • Round-robin and pooled-round-robin schedules
  • Snake-seeded preliminary schedules
  • Tiered playoff schedules, with repeat matches avoided when possible
  • Preliminary and playoff schedules combined when feasible
  • Include pool names, buzzer system assignments, staff assignments
  • Intended to be easy to customize

Use

The files are intended to be pretty self-documenting. If you're already fairly comfortable with LaTeX, just download qbschedule.cls and the template .tex file(s) that you want, open them up in an editor, and do what it looks like you should do. Make sure to compile with xelatex. More detailed instructions follow.

  1. If you don't already have it, download and install LaTeX. Here are some guides that may be helpful.
  2. Download qbschedule.cls and the template .tex file(s) that you want to use.
  3. Open the template file(s) in your favorite text editor (e.g. vim or emacs for Unix/Linux, Notepad++ for Windows, or TextMate for Mac).
  4. Change the settings near the top of the template file. You probably want to change…
    • TournamentName, whose name is probably self-explanatory
    • TournamentSubtitle. For instance, this might contain the expansion of an acronym that is your tournament's name, text like Hosted by Central High School, etc. If you don't want to use a subtitle, you should delete this line.
    • Phase, which is intended to indicate the portion of the tournament this schedule describes, e.g. preliminary rounds or playoffs. If this isn't applicable, you should delete this line.
    • ControlRoom. This will be displayed at the bottom of the schedule. If you don't want this displayed, you should delete this line.
    • MainFont. You should be able to change this to the name of any font you have on your system, e.g. Arial, Garamond, Times New Roman, or Comic Sans MS.
    • The boolean values ShowPoolNames (if applicable), ShowReaders, ShowScorekeepers, and ShowBuzzerAssignments. These mean what they sound like they mean.
    • Entries in the seeding array(s), which have names like \Seed or (for playoff schedules) \PoolA. You change their entries by modifying lines that look like \Seed(1)={Team 1}; the Team 1 part should be changed to the name of the first seed, etc. For full (or multiple) round robins, of course, the seeding doesn't really matter, but generally speaking, matches between top seeds take place later in the schedule.
    • Entries in the arrays related to pool names (if applicable), rooms, readers, scorekeepers, and buzzers. These should be named in a fairly self-explanatory fashion and should be modified analogously to the seeding array(s). For the reader and scorekeeper arrays, you can surround an entry with \switch{}, which will put an asterisk after the staffer's name in the output (while maintaining correct centering of the substantive text) and is intended to indicate that the reader and scorekeeper in that room should actually switch off in each of those roles.
  • Save the file.
  • Compile the file by running xelatex on it. That is, open a terminal or command prompt, navigate to the folder you are working in, and run the command xelatex theFileName.tex.

There's no template for my format!

Open up an issue and I'll try to make one. Pull requests are also welcome.

Resources

This project was announced in a thread on the Quizbowl Resource Center; there might be some discussion of it there.

LaTeX dependencies

These packages can be installed from CTAN, or — if you are on Windows — installed automatically upon first run using MiKTeX.

  • array (core package) for defining custom column types
  • calc (core package) for computing with lengths and counters
  • arrayjobx for handling arrays that contain parameters for making the schedules (e.g. teams by seed)
  • bigstrut for managing row heights
  • etoolbox for conditional statements and boolean settings
  • fontspec for font management in XeLaTeX
  • hyphenat to prevent hyphenation
  • microtype for improved prettiness
  • xcolor for setting row shading

qbschedule's People

Contributors

ashvinsrivatsa avatar jonahgreenthal avatar sjgoebel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.