Skip to content

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.

License

Notifications You must be signed in to change notification settings

vhbelvadi/LaTeX-lecture-notes-class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaTeX class for lecture notes

Open Source Love Open Source Love

forthebadge

Author: V.H. Belvadi

Webpage: http://vhbelvadi.com/latex-lecture-notes-class/

Current release: v2.0

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.

Installing the class

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 management1.

MikTex does things differently2: 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.

Working with the class

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{}
\date{}{}{}
\dateend{}{}{}
\conference{}
\place{}
\attn{}

\begin{document}
\end{document}

Overview

The document class lecture calls this class file. Options for the class are as outlined below.

Most of the data such as subtitle, course code, speaker, author etc. are optional. These are used to set up the head of your document, headers of your pages and pdf attributes. (The subject data, for example, is only for the metadata of your pdf output file.)

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.

Options

Compulsory

The following are primary options that must compulsorily be included. Pick one from each set below:

  1. The language of your document:
  • english
  • french
  • italian (see acknowledgements and the road ahead)
  1. The type of your lecture notes:
  • seminar usually for single class/session/seminar/lecture period
  • course 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.

Optional

You can also include secondary options for your document. Again, pick one from each set below:

  1. Customise page headers as needed:
  • headertitle to display the main title/short alternative title
  • headersection to display the current/next section as appropriate
  • headersubsection to display the current/next subsection as appropriate
  • headerno for a blank header (footers still display page numbers)

NB The default behaviour is to display current/next sections and subsections.

  1. Customise theorem numbering as needed:
  • theoremnosection
  • theoremsection
  • theoremsubsection
  1. Choose if you want to start every new section on a new page/new right-hand page:
  • cleardoublepage
  • nocleardoublepage
  1. Optimise your document for printing:
  • oneside
  • twoside
  1. Choose between one- and two-column layouts:
  • onecolumn
  • twocolumn

Commands

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:

  1. \lecture[duration]{dd}{mm}{yyyy} for use in course type documents for providing information about lectures in the margin
  2. \separator for use in talk type documents to draw a visually helpful horizontal separator line
  3. \tosay{message} for use in talk type documents to print messages inside a box to help recall important data
  4. \margintext{message} to make useful notes in the margin

Dependencies

hyperref       mathtools       csquotes       microtype       amsmath       booktabs       multirow       kpfonts       fancyhdr       mparhack       tikz       mathdots       xfrac       faktor       cancel       babel

Version history

  • 1.2 French language support
  • 1.1 Improved default headers
  • 1.0 Initial release

The road ahead

Contributions

  1. Translations are welcome and appreciated.
  2. General suggestions for improvement are welcome as well.

Either 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.

Known errors

  1. Not specifying a custom page header results in ugly defaults.
  2. Using the headerno option messes up page header text dimensions.

Improvements/roadmap

  1. The headerno and a couple of other options with minor errors will be corrected over time.
  2. A .gitignore will be added at some point just to make it simpler to clone this repo.
  3. An option system that lets users specify if they prefer to use various packages regardless of pdfTeX support and then loads certain packages accordingly.
  4. Errors that crop up from time to time will be set right (since I use this class myself to teach at University) and this will go on so long as I keep using it.
  5. Package dependencies will not reduce. This type of collaboration is what LaTeX packages are for and they're free. When (and if) some package drops support we can think of bridging the code.

End notes

License

This project is licensed under the MIT License. See the LICENSE.md file for details.

Acknowledgments

Thanks to Stefano Maggiolo for initially helping me kickstart this and for his Italian translations. See the release article for more.


  1. See Stefan Kottwitz's answer on TeX SE for more details.
  2. Stefan again on MikTex on TeX SE.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages