This is a minimal Markdown quick start. Write your content as plain Markdown in manuscript.md; the thin wrapper main.tex pulls it in with \markdownInput and LaTeX turns it into a PDF — no thesis scaffolding, just the essentials: headings, citations, footnotes, tables, figures, smart cross-references (\zcref), and acronyms (defined once in the wrapper, recognized automatically in the running text and collected in an acronym list). Keeping the prose in a real .md file means your editor treats it as Markdown and the spell-/prose-checkers below lint it directly.
The LaTeX snippets this template is assembled from can be inspected at https://latextemplates.github.io/latex-snippets/.
main.texis the main document- Use "lualatex + biblatex" in your TeX editor or
latexmk main/makein the command line
latexmk is a very smart tool for latex compilation.
It executes the latex tools as often as needed to get the final PDF.
(More information about why latexmk is great can be found at https://tex.stackexchange.com/a/249243/9075.)
To build the whole document, execute following command. Note that this requires a working perl installation.
latexmk mainTo enable latexmk, please move _latexmkrc to latexmkrc.
If you want automatic compilation use following command:
latexmk -pvc mainThis will also open a Sumatra PDF and only works with the supplied configuration.
This repository ships a .latexmkrc which is read by latexmk.
In case there is a _latexmkrc file, you need to rename it to .latexmkrc.
It is configured for Windows and especially sets Sumatra PDF as default PDF viewer.
You can make this local configuration a global configuration, when you put it at the right place.
If you want to add more packages, configure it there.
For instance, for support of makeglossaries see http://tex.stackexchange.com/questions/1226/how-to-make-latexmk-use-makeglossaries.
In case something goes wrong, you can instruct the LaTeX compiler to stop at the first error:
lualatex --synctex=1 --shell-escape mainRun biber main to get the bibliography rendered (execute lualatex afterwards).
On the command line, there are additional features:
latexmk -Cormake cleanfor cleaning upmake formatto reformat the.texfiles (one sentence per line and indent)make aspellfor interactive spell checkingmake stand: Creates a new PDF with the current status of the document.make view: Opens the configured viewermake mrproper: Cleans up and removes also editor backup files.
Because the prose is a plain Markdown file, the text linters run on it directly — no extraction, and the reported line numbers point straight at manuscript.md. Two workflows lint it and post inline annotations: check-markdown runs Vale (spelling, repetition), and check-textlint runs textlint (write-good + terminology).
Run textlint locally with npx (needs Node.js; rules come from .textlintrc.json):
npx --yes --package textlint --package textlint-rule-terminology --package textlint-rule-write-good textlint manuscript.mdFor Vale, install it (brew install vale / choco install vale, or see https://vale.sh/docs) and point it at the file:
vale manuscript.md- Windows: Recent MiKTeX. MiKTeX installation hints are given at http://latextemplates.github.io/scientific-thesis-template/#installation-hints-for-windows.
- Mac OS X: Recent TeX Live (e.g. through MacTeX) - Try
sudo tlmgr update --allif you encounter issues with biblatex - Linux: Recent TeX Live distribution
- Grammar and spell checking is available at [TeXstudio].
Please download LanguageTool (Windows:
choco install languagetool) and configure TeXstudio to use it. Note that it is enough to point tolanguagetool.jar. If TeXstudio doesn't fit your need, check the list of all available LaTeX Editors. - Use JabRef to manage your bibliography (Windows:
choco install jabref).
To have minted running properly, you have to do following steps on Windows:
- Install python:
choco install python- that uses chocolatey to install Python - Install latexminted:
pip instal latexminted- that uses the Python package manager to install the minted library - When latexing, use
-shell-escape:pdflatex -shell-escape main. You can also just executelatexmk main.
Currently, following extensions are recommended:
- LaTeX Workshop to support LaTeX in VS Code and
- LaTeX Utilities to enhance LaTeX Workshop
- LTeX+ to have a nice spell checker that also identifies grammar issues
Then, change the setting of LaTeX Workshop to use biber:
Press Shift+Ctrl+P to open the command palette.
Then type "JSON" and select "Preferences: Open Settings (JSON)" to open settings.json.
Update the following lines in VS Code's settings.json to contain:
"latex-workshop.latex.recipes": [
{
"name": "lualatex ➞ biblatex ➞ lualatex × 2 🔃",
"tools": [
"lualatex",
"biblatex",
"lualatex",
"lualatex"
]
},
],
"latex-workshop.latex.tools": [
// ...
{
"name": "biblatex",
"command": "biblatex",
"args": [
"%DOCFILE%"
],
"env": {}
},
// ...
],The following settings are additionally recommended:
{
"editor.wordWrap": "on", // enable soft line breaks
"latex-workshop.view.pdf.viewer": "tab", // display the generaded PDF in a separate tab
"latex-workshop.view.pdf.backgroundColor": "#cccccc", // use a darker background in de PDF viewer to lift of the pages from it
"latex-workshop.latex.autoBuild.run": "never", // never automatically build; alternative: "onSave" (on saving .tex files)
"editor.renderWhitespace": "all", // display all whitespaces
}Alternatively, just copy and paste the contents of the vscode.settings.json file to your VS Code settings file.
You can manually trigger compilation by hitting the green button in the extension or using other methods provided by LaTeX Workshop.
Please remove the magic comments (% !TeX program ...) at the top of the main.tex file.
Although LaTeX-Workshop supports magic comments, it currently does not work reliably.
Without the magic comments, compilation works.
LTeX+ is an offline grammar and spell checker with support for LaTeX and Markdown.
Add a magic comment to your files to tell LTeX+ which language to use:
% LTeX: language=de-DEIf you want to use different languages in the text, use the \foreignlanguage{language}{text} command.
LTeX+ will detect these elements and automatically switch the spell checker's language.
For example:
\foreignlanguage{english}{Therefore, our proposed approach will change the world.}The generated Dockerfile is based on the Dockerfile by the Island of TeX.
docker run --rm -v "c:\users\example\latex-document:/workdir" ltg latexmkFollowing one-time setup is required:
docker build -t ltg .- Other templates: https://latextemplates.github.io/
- For German users, go to https://texfragen.de/.
- Frank Mittelbach with Ulrike Fischer: The LaTeX Companion is the ultimate guide for LaTeX: The authors went through all packages offered by CTAN, selected the most promising ones, described them, and provide minimal working example for each of it.
- Lutz Hering, Heike Hering: How to Write Technial Reports, Springer, 2010; also available in German Technische Berichte - verständlich gliedern, gut gestalten, überzeugend vortragen. - Highly recommended, because it guides through all aspects of a report (such as a Master Thesis).
- Marcus Deininger et al.: Studienarbeiten - Ein Leitfaden zur Erstellung, Durchführung und Präsentation wissenschaftlicher Abschlussarbeiten am Beispiel Informatik, vdf. - Recommended as guideline for planning and working on the whole thesis.
- Charles Lipson, Cite Right, Second Edition: A Quick Guide to Citation Styles--MLA, APA, Chicago, the Sciences, Professions, and More, Chicago Guides to Writing, Editing, and Publishing, 2011. - Recommended in case you are unsure about how to correctly cite something.
The license of this work is 0BSD which corresponds to "public domain". Any derived work can freely be relicensed and can omit original copyright and license information.