All Projects → jstrieb → homework-template

jstrieb / homework-template

Licence: MIT license
Typeset assignments and problem sets using LaTeX; typographically optimized for online submission

Programming Languages

TeX
3793 projects
Makefile
30231 projects

Projects that are alternatives of or similar to homework-template

uni-stuttgart-beamer-template
Unofficial LaTeX template for Beamer presentations at the University of Stuttgart, Germany
Stars: ✭ 16 (-33.33%)
Mutual labels:  latex-template
quantum-journal
LaTeX template class for Quantum - the open journal for quantum science
Stars: ✭ 73 (+204.17%)
Mutual labels:  latex-template
langscibook
LaTeX class and additions for typesetting books
Stars: ✭ 31 (+29.17%)
Mutual labels:  latex-template
edupage-api
A python library for accessing your Edupage account
Stars: ✭ 40 (+66.67%)
Mutual labels:  homework
LNI
A LaTeX class for submissions to the “Lecture Notes in Informatics” (LNI) published by the German “Gesellschaft für Informatik” (GI)
Stars: ✭ 29 (+20.83%)
Mutual labels:  latex-template
NKThesis
南开大学硕士毕业论文/博士论文模板 (Latex Template for Nankai University)
Stars: ✭ 74 (+208.33%)
Mutual labels:  latex-template
uit-thesis
LaTeX document class for writing theses
Stars: ✭ 37 (+54.17%)
Mutual labels:  latex-template
osc2021
Homework submission for student
Stars: ✭ 14 (-41.67%)
Mutual labels:  homework
xduugtp
西安电子科技大学本科生毕业论文(设计)开题报告LaTeX模板
Stars: ✭ 26 (+8.33%)
Mutual labels:  latex-template
HKUST PhD MPhil thesis Latex
The Hong Kong University of Science and Technology PhD/MPhil thesis latex template based on the latest official sample (http://pg.ust.hk/guides_n_forms/students/thesis_sample_page_phd.pdf)
Stars: ✭ 28 (+16.67%)
Mutual labels:  latex-template
ZJUProposal
ZJU LaTeX Proposal Template for Undergraduate.
Stars: ✭ 19 (-20.83%)
Mutual labels:  latex-template
LaTeX-Templates
Document templates composed using LaTeX for my college assignments and projects (Applicable for any other university or college) ✨
Stars: ✭ 18 (-25%)
Mutual labels:  latex-template
Introduction-to-LaTeX
Introductory notes and templates for LaTeX
Stars: ✭ 23 (-4.17%)
Mutual labels:  latex-template
BIThesis-scaffold
📖 北京理工大学非官方 LaTeX 模板集合,基于 BIThesis。已经获得官方支持 🎉(2019 - 2021)。
Stars: ✭ 15 (-37.5%)
Mutual labels:  latex-template
Cpp-Data-Structures
📐 C++ Implementations of data structures & algorithms from PSU course CS162/CS163
Stars: ✭ 19 (-20.83%)
Mutual labels:  homework
TU-Delft-Unofficial-Report-Template
A LaTeX report/thesis template that aims to simplify and improve the (Xe)LaTeX template provided by the TU Delft. Ready-to-go with its rewritten class file and redesigned cover page.
Stars: ✭ 35 (+45.83%)
Mutual labels:  latex-template
tex-course-index-template
A template for writing a condensed course index leveraging LaTeX indexing
Stars: ✭ 30 (+25%)
Mutual labels:  latex-template
xelatex-cv-roald
XeLaTeX CV template
Stars: ✭ 34 (+41.67%)
Mutual labels:  latex-template
publicacoes
Minhas publicações no LaTex
Stars: ✭ 50 (+108.33%)
Mutual labels:  latex-template
xdupgtp
西安电子科技大学研究生学位论文开题报告表XeLaTeX模板
Stars: ✭ 22 (-8.33%)
Mutual labels:  latex-template

LaTeX Homework Template for Submitting Online

This simple LaTeX homework template consists of a class file and shortcut package that contain best-practice document style settings and shortcut commands (respectively). Designed specifically for typesetting solutions to math and computer science problem sets that will be graded online, this homework template is intended to make typing solutions as quick, painless, and visually consistent as possible.

In particular, the class is designed to be consistent with best-practices from the authoritative Elements of Typographic Style by Robert Bringhurst. By default, the text is set in the Palatino typeface, created by the late Hermann Zapf (who worked with Don Knuth to create some of the first digital typefaces for setting mathematics). Palatino (via the mathpazo package with the osf option) was chosen specifically because it uses old-style figures for numbers outside of math mode, as opposed to the typical—improper—lining figures, which should ideally be exclusively reserved for setting math. It also contains tasteful small caps for setting the section headers that title each problem. Moreover, Palatino is a splendid face for digital reading in general.

Online Optimizations

At the time of this template's release, university classes are primarily being conducted remotely. As such, homework submission and grading are primarily performed digitally. This template includes a number of typographic optimizations that make homework assignments easy to read and grade using online platforms such as Gradescope:

  • Header with student information is included on every page for quick reference
  • Palatino typeface is optimized for digital reading at various sizes, unlike Computer Modern, the default LaTeX font
  • Page layout such that a moderately-sized solution can fit on a single page, set on letter paper
  • PDF metadata is automatically included
  • Microtype is employed to improve numerous typographic aspects of the text, maximizing readability and compactness

Minimal Example

The included example.tex utilizes some of the macros included in the class. The generated example.pdf provides a sample of what a multi-page typeset assignment might look like. Alternatively, open the example in Overleaf

An additional example is included below: Single-page example

Local Installation

  1. Clone the repository and navigate to the proper directory.
git clone https://github.com/jstrieb/homework-template.git && cd homework-template
  1. Use the builtin Makefile target to try and install the class in a folder accessible to the local TeX distribution.
make install
  1. If the previous steps did not work, consult the sage wisdom of Stack Exchange for where to install the .cls and .sty files. In particular, this answer may be helpful. Note that both the homework.cls and hw-shortcuts.sty files should be moved to the same directory to make them accessible.

Overleaf & ShareLaTeX

Instead of using the template with a local tex installation, it is also possible to use the template with Overleaf/ShareLaTeX.

  1. Download the repository as a zip file by clicking here, or by using the green "Clone" button near the top-right of this page.

  2. Create a new project on Overleaf/ShareLaTeX and upload the zip file there.

  3. Either create a new tex file, or overwrite the contents of the example.tex file to typeset your document.

The template is currently in the process of being added to the Overleaf gallery, after which a link will be available that allows for streamlined cloning and use. In the meantime, it may be possible to copy the project from this Overleaf project.

Usage & Notes

Once the installed, using the template is as simple as invoking homework as the designated document class and including some additional options. For example:

\documentclass[name=Jacob\ Strieb, andrewid=jstrieb, course=69-420, num=8]{homework}

\begin{document}
    Content...
\end{document}

Document Class Options

The following key-value parameters are accepted by the document class at declaration.

  • name (required) – name of the student typing the assignment
  • num (required) – homework assignment number
  • course (required) – course identifier
  • andrewid (required) – Student ID (used for student email)
  • type (optional) – assignment type; defaults to "Homework"
  • emaildomain (optional) – email address domain to be used with student ID; defaults to cmu.edu

Math Shortcuts

To use the custom math shortcuts, use the hw-shortcuts package. This package does not take any parameters. The contents of the shortcuts package will likely change significantly over time as I add macros based on what is required for my homework. Most users will likely not want to use the math shortcuts without amendment, because they are fairly specific to the homework I have been doing.

\usepackage{hw-shortcuts}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].