Classes/Templates #
(Maybe) Useful resources #
For using #
- koma script - Regarding the
book
,report
, andarticle
document classes: what are the main differences? - TeX - LaTeX Stack Exchange - LaTeX/Document Structure - Wikibooks, open books for an open world
- Your Guide to documentclass LaTeX: Types and options - LaTeX-Tutorial.com
For writing #
Classes I like #
- Gijs’s Homework Template - Overleaf, Online LaTeX Editor (Click View Source to see the code.)
- Repository of an outdated version: gijs-pennings/latex-homework: LaTeX class for homework assignments
- LaTeX Templates - The Best Source of Free Quality LaTeX Templates
Basic class writing #
Refs:
- Gijs’s Homework Template - Overleaf, Online LaTeX Editor
- Writing your own class - Overleaf, Online LaTeX Editor
\ProvidesClass{mydoc}
% %%%% If using a parent class, new options
% %%%% must be placed before \PassOptionsToClass
% default false option
\newif\if@optionone
\DeclareOption{optionone}{\@optiononetrue}
% default true option with false counterpart
\newif\if@optiontwo \@optiontwotrue
\DeclareOption{optionthree}{\@optiontwofalse}
% %%%% Load parent class
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass[12pt, a4paper]{article}
% %%%% Load packages
\RequirePackage[option]{package}
% %%%% Use option to load packages
% https://tex.stackexchange.com/a/1274/206709
\if@optionone
\RequirePackage{package}
\else
\RequirePackage{package}
\fi
% %%%% Use option to do other things
\if@optiontwo
\renewcommand*{...}{...}
\fi
% %%%% Packages that need to be load after others
\RequirePackage[colorlinks,bookmarksnumbered,pdfusetitle]{hyperref}
% load after hyperref
% https://tex.stackexchange.com/a/312661/206709
\RequirePackage[numbered]{bookmark}
\RequirePackage[margin=1in]{geometry}
\RequirePackage[nameinlink]{cleveref}