Project structure
You're free to organize the project as you wish. A sane default structure looks like this:
- root
.gitlab-ci.yml
: configures CI/CD.gitignore
: configures git to ignore temp filesutuftthesis.cls
: document class descriptionthesis.xmpdata
: metadata for PDF/A generationlatexmkrc
: build instructions for latexmkthesis.tex
: main document (links to sub-documents)bibliography.bib
: biblioraphy data (multiple bibs also possible)section-X.tex
: sub-documents for sectionsimages/
: embedded imagessources/
: embedded source code listings
In case you're using LyX, the following extra files are needed (the tex files can be generated from the lyx files):
- root
utuftthesis.layout
: document class configuration for LyXthesis.lyx
: main document (links to sub-documents)section-X.lyx
: sub-documents for sections
The standard files included in the template consist of:
- The
latex
directory contains the document root. Everything from this directory can be moved to the project root, but make sure you'll update the GitLab CI, too. - The
tests
directory can be deleted. It only contains the test suite for the template. - The document class file
utuftthesis.cls
is always required. - The
*.lyx
and*.layout
files are only needed if you decide to use LyX, and can be deleted in other cases.
Document class configuration
The document class is described in
utuftthesis.cls
.
- Based on the standard LaTeX
report
class - Proper page sizes as required by university guide for students:
- proper font sizes as well as linespacings
- proper size of margins
- Document parameters (command:
\documentclass[the,params]{utuftthesis}
)version
:draft
/final
(default:draft
) shows/hides [draft] in the footerlanguage
:finnish
/english
(default:finnish
) defines the main document language, affects the general document appearance and hyphenationmainfont
: (default:times
)- pdftex: main font package (
lmodern
,fourier
, ...), special value:times
,none
- xetex: main font name (Arial, Comic Sans, ...), special value:
times
enables Times New Roman,none
- note: use
none
in cloud/CI services in place oftimes
unless you provide the fonts yourself. The copyrighted fonts cannot be included in free platform distributions due to licensing issues.
- pdftex: main font package (
hidechapters
:true
/false
(default:true
) hides/shows the chapter/luku text at the beginning of each Chaptercountbibpages
:true
/false
(default:false
) include bibliography pages when calculating the total number of pagessharelatex
:true
/false
(default:false
) don't attempt to locate copyright protected system fonts (e.g. Times New Roman / Arial), instead read them from the project repositoryemptyfirstpages
:true
/false
(default:true
) clear the headers/footers for the 1st pages of text chaptersturnitinchecked
:true
/false
(default:true
) display the TurnItIn text at the bottom of the title pageturnitinnewpage
:true
/false
(default:false
) instead of placing the TurnItIn text on the title page, create a new page for the texthidetocpagenum
:true
/false
(default:false
) hide the roman page numbers on the TOC and List of Xs pages
- Extra document parameters (command:
\documentclass[extra,params]{utuftthesis}
)paper
: (default:a4paper
) paper sizepdfaconformance
:a-1b
/a-2b
/a-2u
/a-3b
/a-3u
/none
(default:a-2b
) PDF/A conformance level. A special parametermathxmp
can be also appended (see the PDF/A documentation).hidelinks
:true
/false
(default:true
) hide the underlining of linksminted
:true
/false
(default:false
) use minted instead of listings for embedded code listings. Note that minted requires the use of-shell-escape
build parameter.biburlbreak
:ragged
/split
/none
(default:split
) how to handle long urls in the bibliography
- Publication metadata
\pubyear{2000}
: the year of the publication (uses the current year if omitted - freezing this becomes useful after publication!)\pubmonth{6}
: the month of the publication (uses the current month if omitted - freezing this becomes useful after publication!)\publab{labname}
: the name of the laboratory, e.g. 'tietojenkäsittely'\publaben{labname}
: the name of the laboratory in English, e.g. 'computer science'\pubtype{type}
: the type of the thesis, either a special token (tkk
,luk
,gradu
,di
), or a custom string for both fi/en\supervisors{foo,bar}
: comma separated list of thesis supervisors. Appear one per line on the title page.\title{titlename}
: the title of the publication\author{authorname}
: the author of the publication
- Abstract
\abstract{text}
: abstract written in the main document language\abstracten{text}
: abstract written in the second language (English or "native", depending on the main document language)\keywords{kw1,kw2}
: list of keywords in the main document language\keywordsen{kw1,kw2}
: list of keywords in the second language (English or "native", depending on the main document language)
- Title page
\maketitle
: the standard LaTeX command for creating a title page. This template also creates the pages for abstracts.
- TOC and lists
\tableofcontents
: generates the table of contents\listoffigures
: generates the list of figures\listoftables
: generates the list of tables\listofacronyms
: generates the list of acronyms (using thenomencl
package)
- Main content
\begin{document}
: begins the main content\end{document}
: ends the main content\chapter{name}
: generates a new chapter (1)\section{name}
: generates a new section (1.1)\subsection{name}
: generates a new section (1.1.1)\printbibliography
: generates the bibliography list (must be set up before the appendices!)\appchapter{name}
: generates a new appendix chapter (A) after the bibliography list
- Entry environment:
- the actual items are aligned to suit the widest label, which is given as an argument to the environment
\begin{entry}[widest label]
\item[1st label text] ...
\item[2nd label text] ...
\end{entry}