Author: Matthew A. Nazari
Description: A LaTeX document class built lecture notes and textbooks.
Download: Simply download the latest release and manually extract the required .cls file.
Drag the .cls file into your the folder of your current LaTeX project. If you want the class to be available for all projects on your system, drag the .cls file into your LaTeX document tree (your texmf folder). Note that this might be different depending on different versions of TeX. On Mac, find your texmf folder by running kpsewhich -var-value=TEXMFHOME. Then, directory .../texmf/tex/latex/notes to a notes folder which will hold the .cls file.
Your documents based on this lecture class must adhere to the following blueprint:
\documentclass[...]{notes}
\begin{document}
...
\end{document}There are several optional commands to put in the preamble (before \begin{document}) to customize the title of the document:
\documentclass[...]{notes}
% Title of document.
\title{}
% Subtitle goes under title text.
\subtitle{}
% Title of course will be the document title if title not given.
\coursetitle{}
% Course code to display above title text.
\coursecode{}
% Optional description to display at bottom of title.
\flag{}
\season{}
\year{}
\date{dd}{mm}{yyyy}
\authors{}
\professor{}
\scribe{}
\place{}
\begin{document}
...
\end{document}Formatting the person commands, \authors, \professor, scribe, can be done with
\and,\thanks,- and
\titlehref:
% Seperate people with `\and` and add footnotes with `\thanks`.
\authors{First Person \and Second Person\thanks{a footnote}}
% Add an href with `\titlehref{url}`...
\professor{Jane Doe\titlehref{https://janedoe.com/}}
% ... or specify display text with `\titlehref[url]{display text}[optional display tag]`.
\scirbe{John Doe\titlehref[mailto:john@doe.com]{john@doe}[personal email]}Refer to the example.tex file for an example on how to use some of the environments, commands, and shortcuts available in your document. Take a look at example.pdf to see the final product. I highly encourage looking at theorems.pdf to see how each of the 5 theorem style presets look compared to one another:
You can include options for your document by passing them like so: \documentclass[options, go, here]{notes}. All of the options available are below:
- Specify any theorem presets by style:
notheoremsplainboxedcolorboxgrayboxorgreybox(default)flashcard
- Tune the formatting of your document:
plainnumsfor plain numeral styles versus the default old style numeralstwosidefor printingcentertitlecenters the title texttitlepagehave the title be on its own pagenomarginfor symmetric marginsnoheaderfor no headernotablecontentsfor no table of contentsnotitlefor no title
- Date formats
isodateYYYY-MM-DDusdateMonth DD, YYYYusdateshortMM-DD-YYYYeurodateDD Month YYYY (default)
There are custom environments already defined which you can use in your document
- Create a figure with
\begin{fig}[optional caption]or\begin{fig*}[optional caption]:
\begin{fig}[an optional caption]
\includegraphics{graph}
\end{marginfig}- Place a figure in the margin with
\begin{marginfig}[optional caption]or\begin{marginfig*}[an optional caption]:
\begin{marginfig}[the caption]
\begin{tikzpicture}[main/.style = {draw, circle}]
\node[main] (1) {$x_1$};
\end{tikzpicture}
\end{marginfig}- Create a custom theorem environment with
\begin{theoremname}[optional term name]:
\begin{proposition}[A basic proposition]
If $x = 10$, then 2 divides $y = \frac{x}{2}$.
\end{proposition}There are some additional commands you can use inside your document, i.e. within \begin{document} and \end{document}, besides those which are already part of the blueprint given above:
- Fonts are specified with
\bold,\italics,\normalfont,\smallcaps, and\spacedletters. These also have command forms that won't override eachother. Note that\normalfontoverrides any font styling:
\bf{This text is bold.}
{\bold That is equivalent to this.}
\it{This text is bold.}
{\italics That is \bf{exactly} equivalent to this.}
\sc{This text is in smallcaps.}
{\smallcaps That is \bf{exactly} equivalent to this.}
\spaced{This text is spaced out.}
{\spacedletters That is \bf{exactly} equivalent to this.}
\bf{\normalfont This text is normal since it was normalized.}- There are also many math shortcuts. Not all are specified here, so taking a peak inside the
.clsfile might be useful.
- Place somethin in the margin with
\marginpar[optional vspace]{...}:
This is a paragraph.
\marginpar[1in]{\italics This is a side note placed 1in above the end the paragraph.}- Create a new theorem with
\newtheorem{name}{Display name}[options][counter]:
\newtheorem{thm}{Theorem}[
style = {boxed}, % only one of: plain/boxed/colorbox/flashcard
nocounter = {false}, % only either: true/false
big = {false}, % only either: true/false
titlefont = {\bold},
termfont = {\bold\italics},
bodyfont = {\normalfont\small},
backcolor = black!6,
framecolor = cyan!80!white,
][section]
\begin{thm}[Example Theorem]
...
\end{thm}amsmath amssymb caption changepage environ fancyhdr float hyperref geometry keyval microtype newpxmath newpxtext setspace tcolorbox tikz tocloft titlesec xcolor xparse
- Added theorem preset examples to
README.MD. - Added
notitleandnoheaderoptions.
Initial release.
This project is licensed under the MIT License. See the LICENSE file for details.
Thanks to V.H. Belvadi for inspiration for this README.md.