CMR technical reports class for LaTeX and LyX
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Charles Reid 63973bd7ac add MIT license 2 years ago
cmrtechreport_figures update image locations, and report class references to images 2 years ago
example_altimg add alternate images example 2 years ago
example_barebones add barebones.tex 2 years ago
example_lyx update "baseline" to "cmr" 2 years ago
example_natbib update "baseline" to "cmr" 2 years ago
example_plainbib update "baseline" to "cmr" 2 years ago
.gitignore update gitignore with pdf 2 years ago
LICENSE add MIT license 2 years ago
Makefile add clean step to install 2 years ago update reports readme 2 years ago
cmrtechreport.cls no third level org hierarchy 2 years ago
cmrtechreport.layout rename basetechreport to cmrtechreport 2 years ago

CMR Technical Reports Class

This repo contains a LaTeX class for CMR technical reports.

The class can be used to write technical reports in LaTeX or LyX.

CMR technical reports are a unique series of reports authored by yours truly.


This repo contains the LaTeX class to make technical reports, as well as example LyX and LaTeX files that demosntrate usage of the LaTeX class.

We cover what the different files are for.

CMR Technical Report Class

  • cmrtechreport.cls contains the LaTeX class definition for the technical report document class.

Example Files

The latex/ directory contains an example LaTeX file demonstrating how to use the technical report class.

The lyx/ directory contains an example LyX file demonstrating how to use the technical report class.

Installing and Using the Class

Installing the LaTeX Class

To install the LaTeX class, use the Makefile:

make install-latex

The Makefile will create a new custom texmf directory at ~/Library/texmf/, and will install the LaTeX class at ~/Library/texmf/tex/latex. It will then run the texhash command to update the TeX database of available classes.

The class consists of the base LaTeX class (.cls file) and the images used in the report class (in the *_figures directory). These are both copied to ~/Library/texmf/tex/latex/. Any relative references to images are resolved inside the texmf directory.

See example_barebones/.

Installing the LyX Layout

See the example_lyx/ readme for installation instructions.

Side Note: Where is the texmf directory?

To figure out where your TeX distribution's default texmf directory is located, run the texhash command with no arguments. This will update the TeX database with the contents of the texmf directory, and will print the location.

To use a custom texmf location, for example ~/Library/texmf, create the custom texmf directory, populate its contents, then pass the path to the texhash command:

texhash ~/Library/texmf

Subdirectory schema:

  • TeX-related files are installed to ~/Library/texmf/tex
  • LaTeX-related files are installed to ~/Library/texmf/tex/latex
  • LyX-related files are installed to ~/Library/texmf/tex/latex/lyx


To use the cmrtechreport class, specify it like so:


(This will look for a LaTeX class named cmrtechreport in the texmf dir.)

The user also needs to provide several input parameters in the LaTeX preamble (the part before \begin{document}):

  • \title
  • \author
  • \date
  • \reportid
  • \version
  • \url
  • \orghierarchyfirst
  • \orghierarchysecond

The last two should list organizations or entities for the technical report.

  • The first-level org hierarchy goes on the bottom footer.
  • The second-level org hierarchy goes just below the title, date, and ID.

Barebones Example

See example_barebones/ dir.

Bibliography Examples

See example_natbib/ dir for an example of a document using a "natural" bibliography (Last Name-Year).

See example_plainbib/ dir for an example of a document using a "plain" bibliography (default style, numbered brackets, sources listed in order of citation).

LyX Example

See example_lyx dir for an example of how to use this technical report class from a LyX document.