skilkis / tudelft-light Goto Github PK
View Code? Open in Web Editor NEWLightweight LaTeX Template for TU-Delft Assignments
License: Mozilla Public License 2.0
Lightweight LaTeX Template for TU-Delft Assignments
License: Mozilla Public License 2.0
Currently the class file hard-codes the bibliography file to references.bib
which is not a desirable behavior. Instead the glob
option of \addbibresource can be used.
The macro should take key, value pairs where the key is the abbreviation for a chapter in the front matter and the key is the name for that chapter. An example of the usage would be as follows:
\frontmatter{%
toc=Table of Contents,
los=List of Symbols,
lof=List of Figures,
}
The key, value pairs should be false by default such that when they are omitted that section of the frontmatter is not created.
By moving everything in the tudelft-light
directory to the main repository directory, the template itself could be directly used in other Git repositories as a sub-module. The pros/cons of doing this should be investigated and documented.
The setup.sty
package deals with setting up the metadata of the document. However, the name "setup" is ambiguous and could be changed to "metadata" to be more descriptive.
Ability to set the maximum amount of lines the outer cover title may use and changes font size accordingly.
Disable word splitting when wrapping text.
Using \\
to create vertical space between paragraphs is bad practice according to 1. Therefore, it should be avoided and instead the \parskip
length should be redefined in the template
Testing can be handled by using the new l3build package
The error generated by TeXLive 2020 is as follows as per GitHub Actions:
/opt/texlive/texdir/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty:479: LaTeX
Error: The font size command \normalsize is not defined:
there is probably something wrong with the class file.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
Upon inspection this is caused by tudelft-light/report.cls
calling LoadClass
on report.cls
which leads to a namespace conflict. Furthermore, as a result, the \normalsize
macro is never loaded from the LaTeX standard library report
class file.
\newcommand{\BibliographyName}{References} % Name of Biblography
Currently the PDF shows "Title" in the PDF number field of the compiled document wheras it should say "ToC"
Adding \cdot as product to \si commands for better readability?
\sisetup{
inter-unit-product=\ensuremath{{\cdot}},
}
Option to reduce margins on the outside of pages (non-binding side) instead of symmetric margins on inside and outside of the page. This would allow slightly more space for text and wide tables/images and reducing page count.
The current cover page that was generated with Adobe InDesign can be translated to TikZ due to it's simplicity. Make sure to include a version for light and dark backgrounds.
datetime
packagemakecover
optionssomething as discussed here:
https://tex.stackexchange.com/questions/525921/ideas-for-presenting-the-research-question
something like this:
\newlist{questions}{enumerate}{2}
\setlist[questions,1]{label=\bf{RQ-\arabic*.},ref=RQ-\arabic*, leftmargin=*}
\setlist[questions,2]{label*=\indent \bf{\arabic*.},ref=\thequestionsi.\arabic*}
\let\origitem\item
\renewcommand{\item}{\normalfont\origitem}
\newcommand{\question}{\normalfont\origitem\em}
\crefname{questionsi}{research question}{research questions}
\crefname{questionsii}{research sub-question}{research sub-questions}
The declaration of an alternate geometry in the report.cls
file when the twoside
option is used prevents the user from
modifying the default geometry using the \PassOptionsToPackage
macro. This is detrimental towards keeping the template as easily configurable as possible.
The nomenclature grouping has a strange naming convention when it comes to the Roman symbols. It would make more sense to change it to use "R" instead of "B". This would however be a breaking change, and it is not clear how to deprecate use of the "B" nomenclature group without breaking backwards compatibility now.
Some useful packages for formatting LaTeX documents demonstrated in the examples can be helpful for users to get started. It should be decided what is the best way to include these in the template as too many packages included in the default package list could quickly get out of hand.
List of useful packages
Currently the background header_fill
is hardcoded to tudelft-black
. This needs to be changed to be conditional based on whether the light or dark mode is selected.
Change \caption{a caption} to \caption[caption to show in list of tables/figures]{caption shown in document} so references and citations don't show up in the list.
Using \include
to add chapters results in an .aux
file generated per chapter. This is beneficial when used with the \includeonly
command that can render only the documents that one passes as arguments to that macro while keeping all of the required references intact without errors [1]. Another benefit to using \include
over \import
is the ability for the VS Code LaTeX extension to generate a report structure while writing.
The header logo text is written in black and is not visible in dark mode. A potential fix is to use the currentColor
option in the SVG file.
Currently abbreviations are not handled well using the nomencl package. The pros/cons of switching the glossaries package should be logged here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.