A LaTeX document class for lecture notes (for a seminar, for an entire course with several lectures, or for brief talks) that looks great and works even with basic pdflatex.
View the Project on GitHub vhbelvadi/LaTeX-lecture-notes-class
Author: V.H. Belvadi
Webpage: http://vhbelvadi.com/latex-lecture-notes-class/
Description: A LaTeX document class built for lecture notes for classes/seminars, entire courses or brief talks. A detailed article about this class can be found on the author’s website. The same data condensed into brief notes about working with this class, for those who are familiar with this sort of thing, can be found below.
Download: To work with this class the absolute minimum requirements are the .cls and .sty files, but this repository has several other files too. The easiest approach is to download the latest release and manually extract the two required files. Alternately, you can use svn or git sparse checkouts.
Simply drop the .cls
and .sty
files into your LaTeX document tree.
On UNIX systems this is usually ~/texmf/
and is C:\Users\user_name\texmf\
on Windows.
Although not necessary, it is highly recommended that you place these files inside their own folder with the tree .../texmf/tex/latex/folder_name
for better package management.
MikTex does things differently: C:\Users\user_name\Appdata\Local\MikTex\###\tex\latex\local\
.
On a Mac navigate to ~/Library/texmf/
using the option key once you are in the Go menu on any Finder window.
There are several resources online that can help you in greater detail when it comes to installing .cls and .sty files. Once you figure out where they should be placed in your TEXMFHOME tree, just make sure the two files reside together in the same folder.
Your documents based on this lecture class must adhere to the following blueprint:
\documentclass[options]{lecture}
\title{}
\subtitle{}
\shorttitle{}
\ccode{}
\subject{}
\speaker{}
\spemail{}
\author{}
\email{}
\flag{}
\season{}
\date{}{}{}
\dateend{}{}{}
\conference{}
\place{}
\attn{}
\morelink{}
\begin{document}
\end{document}
The document class lecture
calls this class file. Options for the class are as outlined below.
Only setting a title is compulsory. All other data (e.g. subtitle, course code, speaker, dates, seasons, author etc. are optional.) Some of these are used to set up the head of your document (e.g. season), headers of your pages (e.g. short title) and pdf attributes (e.g. subject data is only for the pdf metadata).
Take a look at the Sample.tex file for an example of how these lines are used in a source file and for details of exactly what each command does. Also look at the Sample.pdf output file to see how (great) things will look in the end.
NB Not all commands are shown in the sample files though most are.
NB The season command and the dates (single date or start and end dates) are mutually exclusive with the season taking precedence. You can set either Summer 2017 (season) or 24th June, 2017 (single date) or 24th June 2017–25th June 2017 (start and end dates).
The following are primary options that must compulsorily be included. Pick one from each set below:
english
french
italian
(see acknowledgements and the road ahead)usenglish
(same as english except for the mm/dd/yyyy format)russian
(this automatically loads Cyrillic support)german
swedish
seminar
usually for single class/session/seminar/lecture periodcourse
for a collection of lectures (over a semester or over a few days)talk
for brief notes for speakers (or any other use you can think of for condensed, two-column layouts)NB Please delete all aux files and then compile if you decide to change languages halfway through. Compile twice to update TOC in case of course
type documents.
You can also include secondary options for your document. Again, pick one from each set below:
headertitle
to display the main title/short alternative titleheadersection
to display the current/next section as appropriateheadersubsection
to display the current/next subsection as appropriateheaderno
for a blank header (footers still display page numbers)theoremnosection
theoremsection
theoremsubsection
cleardoublepage
nocleardoublepage
oneside
twoside
onecolumn
twocolumn
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:
\lecture[duration]{dd}{mm}{yyyy}
for use in course
type documents for providing information about lectures in the margin\separator
for use in talk
type documents to draw a visually helpful horizontal separator line\tosay{message}
for use in talk
type documents to print messages inside a box to help recall important data\margintext{message}
to make useful notes in the margin\\
at the start of a paragraph to give it a line break and remove any indentation\nl
at the start of a paragraph without either a line break or an indent (note the space following the command)\runin{}
as a handy approach to print texts in small caps (especially useful to start new sections/chapters/parts of a document)\morelink{}
to add a For more visit _______
. link in the footer of the first page.hyperref
mathtools
csquotes
microtype
amsmath
booktabs
multirow
kpfonts
fancyhdr
mparhack
tikz
mathdots
xfrac
faktor
cancel
babel
NB This version may introduce a breaking change if you use the \Proj
command. Use \Projection
instead.
\Proj
command changed to \Projection
to prevent conflict with Russian Babel.english
as the language option.course
and seminar
type documents now support up to subsections. (Because of their nature talk
type documents do not support such layering.)\\
command provided by this class adds a new paragraph with a line break and without an indent. Use this to mark the start of a new paragraph rather than the end of the previous one:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur porttitor et lectus. \\Nam orci leo, tincidunt id convallis eu, luctus id nisi...
\nl
command provided by this class adds a new paragraph without indent or a line break. Use this same as the previous command but with a space after the command itself.\runin{}
command provided by this class adds small caps. This can be done manually but is a handy approach that is especially useful to start new sections/chapters/parts of a document.course
that stretches across weeks/months)headerno
) bug fixedEither fork this project and submit a pull request or, only in case of translations, drop me an e-mail with the relavant translations and specify how you wish to be credited.
\lecture[duration]{dd}{mm}{yyyy}
command does not work for the russian
language option. However, \margintext{message}
can be used instead to achieve a similar output.This project is licensed under the MIT License. See the LICENSE.md file for details.
Thanks to Stefano Maggiolo for initially helping me kickstart this and for his Italian translations. Thanks to Aleksei Kozharin for Russian translations, Jan Heilund for German translations and @eastlunder for Swedish translations.
See the release article for more.