An inofficial Latex template for TU Vienna assignments. Take a look at the example.
This Latex template aims to streamline the writing of digital assignments.
Writing assignments isn't necessarily a joyful activity. Out of a need to reduce workload this template was written. Its purpose is not to be an efficient lightweight template but rather a fully loaded, plug-and-play, out of the box template. It provides additional commands to help specificly with assignments. The idea was that one can start working using this template, without worring about packages to import or settings to change.
Download the latest version of this template here. When using Overleaf press "New Project" > "Upload Project" and select the downloaded ZIP archive.
This template comes with a sleek design that is kept closely to the originial Latex article style. It also provides environments for exercises and solutions. Which are conveniently numbered.
This template loads a bunch of other packages:
geometry
lmodern
inputenc
fontenc
babel
csquotes
iflang
ifthen
parskip
titling
fancyhdr
amsfonts
amsmath
amssymb
mathtools
amsthm
cancel
siunix
microtype
enumitem
graphicx
array
xcolor
fp
booktabs
tabularx
xltabular
nicematrix
multirow
makecell
pgfkeys
tikz
varwidth
float
subcaption
chngcntr
hyperref
glossaries
glossaries-extra
exercise
is an environment for the exercises, including the solutions. Exercises are numbered within a section
. The idea is, that each section represents a singe exercise sheet. Inside of this exercise
environment can multiple solution
environments be declared. These are numbered within the parent exercise environment.
If you don't want to number the exercises according to the section, just use this macro:
\counterwithout{exercisecounter}{section}
There are also minute possibilities to customise these environments. Each exercise
environment has the following keys:
title
the title of the exercise (default "Exercise")subtitle
the subtitle of the exercise (default empty)points
the points of the exercisepoints/show
a boolean flag to indicate whether to show the points (default false)solution/title
the title for the solution declared within the exercise (default "Solution")
If a specific solution counter should be set to a specific value, this can be done via the
\setcounter{solutioncounter}{x}
macro, where x
is the new starting number for the counter.
Note: that the following solutions will also be affected.
If the numbering style of the solutions within an exercise
environment should be changed, this currently cannot be done via keys, but has to be done manually via the command:
\renewcommand{\thesolutioncounter}{(\roman{solutioncounter})}
at the top inside of the corresponding exercise
environment. In this case, the enumeration will be lowercase roman numerals in braces.
The packages amsmath
, amssymb
, mathtools
and amsthm
are already supplied via the template. Writing proofs and theorems can be done easily via the environments provided by the amsthm
package. Take a look at this guide for more details.
Moreover some math-related commands are changed or added:
command | has starred version | description |
---|---|---|
\ceil{} |
yes | |
\floor{} |
yes | |
\abs{} |
yes | |
\norm{} |
yes | |
\mset{} |
yes | creates a simple set |
\msetmid{}{} |
yes | creates a simple set with a mid symbol |
\mtuple{} |
yes | creates a simple tuple |
\appliesto |
no | creates a comma with spacing |
\definedas |
no | creates a colon with an equal sign |
\ltrue |
no | alias for verum |
\lfalse |
no | alias for falsum |
environment | description |
---|---|
conditions |
is an environment to list mathematical conditions or explanations |
For more details regarding Latex in general take a look at this cheatsheet.
The package babel
is used for language support. With the standard being Englisch. Additionally the package csquotes
is imported, for correct quotes based on the primary language selected via babel
.
You can change the language associated with the document by changing this line right after the begin of the document:
\selectlanguage{english}
The possible arguments for this are english
and naustrian
.
The standard graphicspath
is set to ./img/
. This can be changed with the
\graphicspath{{<path>}}
command.
The author, matrikelnr, date, title and subtitle are optional, and default to an empty string.
- add
amsfonts
package - add
cancel
package - add
tikzmark
library
- add
lmodern
package - add
glossaries
package - add
glossaries-extra
package - add
autostyle
option tocsquotes
- add hypersetup for the PDF author and PDF title among other things
- bump TikZ library
arrows
toarrows.meta
- add TiKZ library
backgrounds
,calc
,decorations.pathmorphing
,decorations.pathreplacing
andmatrix
- add custom lists
enumerateinline
andenumeratekeywords
- rename command
\mtupel
to\mtuple
- remove link coloring
- remove listing colors
- adjust spacing for
solution
andexercise
environments - add labels for
solution
andexercise
environments of the formsol:<index>
andexe:<index>
respectively - remove
listings
package, for a better support of the previous settings take a look at moderncode - remove command
\lstinputpath
- remove
tikz
style calledarrow
- add
inline
option toenumitem
- set thousands separator for
siunix
to a whitespace
- add
\subtitle
command - set defaults for
\title
,\subtitle
,\author
and\matrikelnr
to be empty - update exercise environments
- add
subtitle
key to exercise environments - add
points
andpoints/show
key to environments
- adjust spacing in
\msetmid
\msetmid*
scales mid
- refactor commands:
abs
norm
mset
msetmid
mtupel
- These commands now provide a consistent syntax for the starred versions. The starred versions scale vertically.
mtupel
is now nestabledefinedas
now looks better
- add commands:
ceil
floor
- rename commands:
mappliesto
toappliesto
mdefinedas
todefinedas
- remove commands:
\msetmidsa
- add latex indent config file to provide proper formatting of the
conditions
environment. To use this local config, make sure to use the-l
switch. Read more here. - add
siunix
package
- fix
conditions
being to wide - add optional argument to
conditions
as the seperator, usable with\sep
- add packages
nicematrix
,xltabular
andmultirow
- new math commands
mappliesto
andmdefinedas
- remove array stretch
- new itemize environment for tables
tabitemize
- add
\msetmidsa
command, a standalone mid symbol for the\mset{}
and\mset*{}
commands - fix spacing error when no author is given
- add
\msetmid
command - fix wrong primary language set
- add option to specify language for the document
- make
\mset
robust
- add
\mset*
- removed
\msetempty
and\mtupelempty
\mtupel
now scales the angled brackets according to its elements
- add listings file path
- listings now show linebreaks resulted from long lines