This directory contains the source code for compiling course handouts. The documents in this directory are not the assignment handouts.
Each subdirectory within this folder has, at a minimum, a file titled
latexmkrc
. This is the settings file for latexmk, which will handle
juggling the various latex engines preferred by the course staff. A basic
latexmkrc
file (e.g., for pdflatex
) might have the following contents
(latexmk
documentation):
@default_files = ("main.tex"); # Set the root tex file for the output document
$pdf_mode = 1; # tex -> PDF
$auto_rc_use = 1; # Do not read further latexmkrc files
$warnings_as_errors = 1; # Elevates warnings to errors. Enforces cleaner code.
$pdflatex = "pdflatex -halt-on-error -interaction=batchmode %O %S";
# Forces latexmk to stop and quit if it encounters an error
$jobname = "output_name"; # This is the name of the output PDF file
$silent = 1 # For quieter output on the terminal.
Feel free to customize this as you desire, including adding more files, directories, and media. There is only one requirements:
IT MUST BE POSSIBLE TO COMPILE EACH DOCUMENT USING ONLY THE FOLLOWING COMMAND:
$ latexmk
A properly setup latexmkrc
file can handle any special compilation options you
may require. Put those options in the latexmkrc
file so that other course
staff can compile your document with the command above.
Other commands that might be helpful include:
$ latexmk -pvc
: (preview continuously) This will runlatexmk
continuously, allowing you to immediately view changes to your output document as you save source files.$ latexmk -c
: This will remove all auxiliary files other than the final output PDF.$ latexmk -C
: This will remove all output files (including the final output PDF).