generator-latex-template 2025.1.24 → 2025.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +8 -1
- package/generators/app/index.js +24 -9
- package/generators/app/templates/README.en.md +296 -55
- package/generators/app/templates/Texlivefile +6 -1
- package/generators/app/templates/algorithms.preamble.en.tex +3 -0
- package/generators/app/templates/bibliography.bib +1 -1
- package/generators/app/templates/commands.tex +48 -0
- package/generators/app/templates/docs/latex-setup.md +114 -0
- package/generators/app/templates/docs/texstudio-configuration-languagetool.png +0 -0
- package/generators/app/templates/docs/texstudio-confirmation-1.png +0 -0
- package/generators/app/templates/docs/texstudio-confirmation-2.png +0 -0
- package/generators/app/templates/font.preamble.en.tex +3 -3
- package/generators/app/templates/main.de.tex +11 -7
- package/generators/app/templates/main.en.tex +6 -2
- package/package.json +5 -2
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
BSD Zero Clause License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2018-
|
|
3
|
+
Copyright (c) 2018-2025 Oliver Kopp and contributors
|
|
4
4
|
|
|
5
5
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
6
|
purpose with or without fee is hereby granted.
|
package/README.md
CHANGED
|
@@ -88,7 +88,7 @@ You can use the magic of `git` to prevent that:
|
|
|
88
88
|
- [ ] Sort in examples from the [scientific-thesis-template](http://latextemplates.github.io/scientific-thesis-template/)
|
|
89
89
|
- [ ] Have scientific-thesis-template generated completely.
|
|
90
90
|
- [x] Have LNCS generated completely.
|
|
91
|
-
- [
|
|
91
|
+
- [x] Have [uni-stuttgart-dissertation-template](https://github.com/latextemplates/uni-stuttgart-dissertation-template) generated automatically.
|
|
92
92
|
|
|
93
93
|
In the long run, the contents of the `paper.tex` (and similar) files in repositories of the [latextemplates](https://latextemplates.github.io/) organization should be generated automatically.
|
|
94
94
|
|
|
@@ -125,6 +125,13 @@ In the long run, the contents of the `paper.tex` (and similar) files in reposito
|
|
|
125
125
|
- `gh run list -L 100 --json databaseId -s in_progress -R latextemplates/generator-latex-template | jq -r '.[] | .databaseId' | awk '{gsub(/\\r\\n/,RS)} 1' | while read -r run_id; do gh run cancel "$run_id" -R latextemplates/generator-latex-template || true; done`
|
|
126
126
|
- Update submodule of "derived" templates (LNCS, ...): `[ -z "$(git status --porcelain)" ] && cd generator-latex-template/ && git pull && cd .. && git add . && git commit -m"Update LTG" && git pull --rebase && git push`
|
|
127
127
|
|
|
128
|
+
### Testing
|
|
129
|
+
|
|
130
|
+
- All workflows test `overleaf=no` - and (nearly) all possible combinations.
|
|
131
|
+
- All `*-refined` repositories test with `overleaf=true` - and only the typical settings for the template.
|
|
132
|
+
- `refine-ltg` is the development branch for the template generator; only a small set of workflows enabled there due to load during testing.
|
|
133
|
+
- `update-ltg` is the development branch at each `*-refined` template.
|
|
134
|
+
|
|
128
135
|
### Test locally
|
|
129
136
|
|
|
130
137
|
- Create empty directory ("target directory")
|
package/generators/app/index.js
CHANGED
|
@@ -124,6 +124,7 @@ export default class extends Generator {
|
|
|
124
124
|
props.documentclass === "ieee" ||
|
|
125
125
|
props.documentclass === "lncs";
|
|
126
126
|
// else it is a thesis (ustutt or scientific-thesis) (see below)
|
|
127
|
+
props.isThesis = !props.isPaper;
|
|
127
128
|
|
|
128
129
|
if (props.isPaper) {
|
|
129
130
|
// This sets filenames.main and filenames.bib
|
|
@@ -131,18 +132,19 @@ export default class extends Generator {
|
|
|
131
132
|
main: "paper",
|
|
132
133
|
bib: "paper",
|
|
133
134
|
};
|
|
134
|
-
} else if (props.documentclass == "ustutt") {
|
|
135
|
-
props.filenames = {
|
|
136
|
-
"main": "thesis-example",
|
|
137
|
-
"bib": "bibliography"
|
|
138
|
-
}
|
|
139
135
|
} else {
|
|
136
|
+
// isThesis
|
|
140
137
|
props.filenames = {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
"bib": "bibliography"
|
|
139
|
+
}
|
|
140
|
+
if (props.documentclass == "ustutt") {
|
|
141
|
+
props.filenames.main = "thesis-example";
|
|
142
|
+
} else if (props.language == "en") {
|
|
143
|
+
props.filenames.main = "main-english";
|
|
144
|
+
} else {
|
|
145
|
+
props.filenames.main = "main-german";
|
|
146
|
+
}
|
|
144
147
|
}
|
|
145
|
-
props.isThesis = !props.isPaper;
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
function createHeadingCommands(props) {
|
|
@@ -257,6 +259,12 @@ export default class extends Generator {
|
|
|
257
259
|
);
|
|
258
260
|
}
|
|
259
261
|
|
|
262
|
+
this.fs.copyTpl(
|
|
263
|
+
this.templatePath("commands.tex"),
|
|
264
|
+
this.destinationPath("commands.tex"),
|
|
265
|
+
this.props
|
|
266
|
+
);
|
|
267
|
+
|
|
260
268
|
if (this.props.documentclass == "ustutt") {
|
|
261
269
|
/*
|
|
262
270
|
this.props.documentclass = "ustutt-include";
|
|
@@ -335,6 +343,13 @@ export default class extends Generator {
|
|
|
335
343
|
break;
|
|
336
344
|
}
|
|
337
345
|
|
|
346
|
+
if (this.props.isThesis) {
|
|
347
|
+
this.fs.copy(
|
|
348
|
+
this.templatePath("docs/*"),
|
|
349
|
+
this.destinationPath("docs/")
|
|
350
|
+
);
|
|
351
|
+
}
|
|
352
|
+
|
|
338
353
|
this.fs.copyTpl(
|
|
339
354
|
this.templatePath(".github/workflows/check.yml"),
|
|
340
355
|
this.destinationPath(".github/workflows/check.yml"),
|
|
@@ -62,18 +62,29 @@ This template is a general template for scientific theses.
|
|
|
62
62
|
Currently, it is the unofficial LaTeX template for Master, Bachelor, Diploma, and Student Theses at following institutions:
|
|
63
63
|
|
|
64
64
|
- University of Stuttgart, Computer Science
|
|
65
|
-
- [English example](https://latextemplates.github.io/scientific-thesis-template/main-english.pdf)
|
|
66
|
-
- [
|
|
67
|
-
- [German example
|
|
68
|
-
|
|
69
|
-
- Paderborn University, Computer Science - to be confirmed.
|
|
70
|
-
- [English example](https://latextemplates.github.io/scientific-thesis-template/main-paderborn-english.pdf)
|
|
71
|
-
- [German example](https://latextemplates.github.io/scientific-thesis-template/main-paderborn-german.pdf)
|
|
72
|
-
-->
|
|
65
|
+
- 🇺🇸 [English example](https://latextemplates.github.io/scientific-thesis-template/main-english.pdf)
|
|
66
|
+
- 🇺🇸 [English example with minted and PlantUML](https://latextemplates.github.io/scientific-thesis-template/main-minted-english.pdf)
|
|
67
|
+
- 🇩🇪 [German example](https://latextemplates.github.io/scientific-thesis-template/main-german.pdf)
|
|
68
|
+
- 🇩🇪 [German example with minted and PlantUML](https://latextemplates.github.io/scientific-thesis-template/main-minted-german.pdf)
|
|
73
69
|
|
|
74
70
|
The template will be extended to support theses from different institutions.
|
|
75
71
|
|
|
76
|
-
For [architectural decision records](https://adr.github.io) see [docs/adr](
|
|
72
|
+
For [architectural decision records](https://adr.github.io) see [docs/adr](docs/adr/).
|
|
73
|
+
|
|
74
|
+
## Quick start
|
|
75
|
+
|
|
76
|
+
1. Download
|
|
77
|
+
1. Go to the development version at <https://github.com/latextemplates/scientific-thesis-template/archive/main.zip>. Reason: LaTeX packages change so fast over time and we cannot do a release on each change.
|
|
78
|
+
2. Extract `scientific-thesis-template-main.zip` to the directory you want to work. E.g., `c:\users\user\documents\thesis`.
|
|
79
|
+
2. Start texing
|
|
80
|
+
- University of Stuttgart:
|
|
81
|
+
- English: `main-english.tex`
|
|
82
|
+
- German: `main-german.tex`
|
|
83
|
+
- German advanced usage: `main-minted-german.tex` (see below)
|
|
84
|
+
|
|
85
|
+
### Usage at overleaf
|
|
86
|
+
|
|
87
|
+
See [overleaf](overleaf/).
|
|
77
88
|
<% break; default: -%>
|
|
78
89
|
# LaTeX Document
|
|
79
90
|
<% break; }
|
|
@@ -83,13 +94,14 @@ For [architectural decision records](https://adr.github.io) see [docs/adr](https
|
|
|
83
94
|
|
|
84
95
|
## Usage
|
|
85
96
|
|
|
86
|
-
-
|
|
97
|
+
- `<%= filenames.main %>.tex` is the main document
|
|
87
98
|
- Use "<%= reallatexcompiler %> + <%= bibtextool %>" in your TeX editor or `latexmk <%= filenames.main %>` / `make` in the command line
|
|
88
99
|
|
|
89
100
|
### Using `latexmk`
|
|
90
101
|
|
|
91
102
|
[latexmk] is a very smart tool for latex compilation.
|
|
92
103
|
It executes the latex tools as often as needed to get the final PDF.
|
|
104
|
+
(More information about why `latexmk` is great can be found at <https://tex.stackexchange.com/a/249243/9075>.)
|
|
93
105
|
|
|
94
106
|
To build the whole document, execute following command.
|
|
95
107
|
Note that this requires a working perl installation.
|
|
@@ -102,12 +114,34 @@ latexmk <%= filenames.main %>
|
|
|
102
114
|
To enable latexmk, please move `_latexmkrc` to `latexmkrc`.
|
|
103
115
|
<% } -%>
|
|
104
116
|
|
|
117
|
+
If you want automatic compilation use following command:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
latexmk -pvc <%= filenames.main %>
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
This will also open a [Sumatra PDF] and only works with the supplied configuration.
|
|
124
|
+
|
|
125
|
+
#### latexmk configuration
|
|
126
|
+
|
|
127
|
+
This repository ships a `.latexmkrc` which is read by latexmk.
|
|
128
|
+
In case there is a `_latexmkrc` file, you need to rename it to `.latexmkrc`.
|
|
129
|
+
It is configured for Windows and especially sets Sumatra PDF as default PDF viewer.
|
|
130
|
+
You can make this local configuration a global configuration, when you put it at [the right place](http://tex.stackexchange.com/a/41149/9075).
|
|
131
|
+
|
|
132
|
+
If you want to add more packages, configure it there.
|
|
133
|
+
For instance, for support of makeglossaries see <http://tex.stackexchange.com/questions/1226/how-to-make-latexmk-use-makeglossaries>.
|
|
134
|
+
|
|
135
|
+
### Debugging LaTeX errors
|
|
136
|
+
|
|
105
137
|
In case something goes wrong, you can instruct the LaTeX compiler to stop at the first error:
|
|
106
138
|
|
|
107
139
|
```bash
|
|
108
|
-
<%= reallatexcompiler %> <%= filenames.main %>
|
|
140
|
+
<%= reallatexcompiler %> --synctex=1 --shell-escape <%= filenames.main %>
|
|
109
141
|
```
|
|
110
142
|
|
|
143
|
+
Run `<% if (bibtextool == "biblatex") { %>biber<% } else { %>bibtex<% } %> <%= filenames.main %>` to get the bibliography rendered (execute `lualatex` afterwards).
|
|
144
|
+
|
|
111
145
|
### Advanced usage
|
|
112
146
|
|
|
113
147
|
On the command line, there are additional features:
|
|
@@ -115,6 +149,9 @@ On the command line, there are additional features:
|
|
|
115
149
|
- `latexmk -C` or `make clean` for cleaning up
|
|
116
150
|
- `make format` to reformat the `.tex` files (one sentence per line and indent)
|
|
117
151
|
- `make aspell` for interactive spell checking
|
|
152
|
+
- `make stand`: Creates a new PDF with the current status of the thesis.
|
|
153
|
+
- `make view`: Opens the configured viewer
|
|
154
|
+
- `make mrproper`: Cleans up and removes also editor backup files.
|
|
118
155
|
|
|
119
156
|
## Benefits
|
|
120
157
|
|
|
@@ -124,7 +161,7 @@ Following features are enabled in this template:
|
|
|
124
161
|
- Output format is A5
|
|
125
162
|
- Title page
|
|
126
163
|
- Nice chapter headings
|
|
127
|
-
-
|
|
164
|
+
- Most recent LaTeX packages and package configuration based on long-time experience.
|
|
128
165
|
<% } -%>
|
|
129
166
|
<% if (documentclass == 'ieee') { -%>
|
|
130
167
|
- Provides a skeletal [<%= filenames.main %>.tex](<%= filenames.main %>.tex) file
|
|
@@ -147,11 +184,16 @@ Following features are enabled in this template:
|
|
|
147
184
|
<% } -%>
|
|
148
185
|
<% if (listings == "minted" || githubpublish) { -%>
|
|
149
186
|
- <% if (githubpublish) { -%>(Optional) <% } %>Typesetting of listings using advanced highlighting powered by the [minted] package.
|
|
187
|
+
`minted` provides better output than [listings], but requires [pygments] to be installed.
|
|
150
188
|
<% } -%>
|
|
151
189
|
<% if (latexcompiler == "pdflatex" || githubpublish) { -%>
|
|
152
|
-
- Generated PDF allows for copy and paste of text without getting words with ligatures such as "workflow" destroyed.
|
|
190
|
+
- Generated PDF allows for copy and paste of text without getting words with [ligatures](https://en.wikipedia.org/wiki/Typographic_ligature) such as "workflow" destroyed.
|
|
153
191
|
This is enabled by `glyphtounicode`, which encodes ligatures (such as fl) using unicode characters.
|
|
154
192
|
<% } -%>
|
|
193
|
+
<% if (reallatexcompiler == "lualatex" || githubpublish) { -%>
|
|
194
|
+
- Ligatures are removed if they are typeset at the wrong place.
|
|
195
|
+
This is enabled by the [selnolig](https://tex.meta.stackexchange.com/questions/2884/new-package-selnolig-that-automates-suppression-of-typographic-ligatures) package.
|
|
196
|
+
<% } -%>
|
|
155
197
|
- Support of hyperlinked references without extra color thanx to [hyperref].
|
|
156
198
|
- Better breaking of long URLs.
|
|
157
199
|
- Support for `\powerset` command.
|
|
@@ -161,10 +203,12 @@ Following features are enabled in this template:
|
|
|
161
203
|
- [microtypographic extensions](https://www.ctan.org/pkg/microtype) for a better look of the paper.
|
|
162
204
|
- Modern packages such as [microtype], [cleveref]<% if (enquotes == "csquotes" || githubpublish) { %>, [csquotes]<% } %><% if (documentclass != 'lncs') { %>, [paralist]<% } %>, [hyperref], [hypcap], [upquote]<% if (documentclass == 'lncs') { %>, [natbib]<% } %>, [booktabs].
|
|
163
205
|
<% if (latexcompiler == "lualatex" || githubpublish) { -%>
|
|
164
|
-
- <% if (githubpublish && !isThesis) { -%>(Optional) <% } %>LaTeX compilation using the modern lualatex compiler.
|
|
206
|
+
- <% if (githubpublish && !isThesis) { -%>(Optional) <% } %>LaTeX compilation using the modern [lualatex] compiler.
|
|
207
|
+
For older systems, [pdflatex](https://en.wikipedia.org/wiki/PdfTeX) is still supported.
|
|
165
208
|
<% } -%>
|
|
166
209
|
<% if (bibtextool == "biblatex") { -%>
|
|
167
|
-
- [biblatex]+[biber] instead of plain [bibtex] to have a more intuitive `.bib` file
|
|
210
|
+
- [biblatex]+[biber] instead of plain [bibtex] to have a more intuitive `.bib` file:
|
|
211
|
+
Unicode (UTF-8) is fully supported and commands such as `\citeauthor{...}` work out of the box. See also <https://tex.stackexchange.com/q/8411/9075>.
|
|
168
212
|
<% } -%>
|
|
169
213
|
- [latexmk] for easy compilation of the LaTeX document.
|
|
170
214
|
- Ready-to-go configuration for [latexindent].
|
|
@@ -200,7 +244,7 @@ You can <% if (!githubpublish) { %>re<% } %>run the [latex template generator] t
|
|
|
200
244
|
- Modern packages such as <% if (enquotes == "plainlatex") { missingFeatures = true; %>[csquotes]<% } %>.
|
|
201
245
|
<% } -%>
|
|
202
246
|
<% if (latexcompiler != "lualatex") { -%>
|
|
203
|
-
- LaTeX compilation using the modern lualatex compiler.
|
|
247
|
+
- LaTeX compilation using the modern [lualatex] compiler.
|
|
204
248
|
<% } -%>
|
|
205
249
|
<% } -%>
|
|
206
250
|
<% if (!missingFeatures) { -%>
|
|
@@ -311,6 +355,16 @@ Statement from IEEE:
|
|
|
311
355
|
- Windows: Recent [MiKTeX](http://miktex.org/). MiKTeX installation hints are given at <http://latextemplates.github.io/scientific-thesis-template/#installation-hints-for-windows>.
|
|
312
356
|
- Mac OS X: Recent [TeX Live](https://www.tug.org/texlive/) (e.g. through [MacTeX](https://tug.org/mactex/)) - Try `sudo tlmgr update --all` if you encounter issues with biblatex
|
|
313
357
|
- Linux: Recent TeX Live distribution
|
|
358
|
+
<% if (isThesis) { -%>
|
|
359
|
+
|
|
360
|
+
See [docs/latex-setup](docs/latex-setup) for refined installation instructions.
|
|
361
|
+
<% } else { -%>
|
|
362
|
+
- Grammar and spell checking is available at [TeXstudio].
|
|
363
|
+
Please download [LanguageTool] (Windows: `choco install languagetool`) and [configure TeXstudio to use it](http://wiki.languagetool.org/checking-la-tex-with-languagetool#toc4).
|
|
364
|
+
Note that it is enough to point to `languagetool.jar`.
|
|
365
|
+
**If TeXstudio doesn't fit your need, check [the list of all available LaTeX Editors](http://tex.stackexchange.com/questions/339/latex-editors-ides).**
|
|
366
|
+
- Use [JabRef] to manage your bibliography (Windows: `choco install jabref`).
|
|
367
|
+
<% } -%>
|
|
314
368
|
<% if (listings == "minted" || githubpublish) { -%>
|
|
315
369
|
|
|
316
370
|
### Usage of `minted`
|
|
@@ -325,16 +379,20 @@ To have minted running properly, you have to do following steps on Windows:
|
|
|
325
379
|
|
|
326
380
|
### VSCode configuration
|
|
327
381
|
|
|
328
|
-
Currently, following
|
|
382
|
+
Currently, following extensions are recommended:
|
|
329
383
|
|
|
330
384
|
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) to support LaTeX in VSCode and
|
|
331
385
|
- [LaTeX Utilities](https://marketplace.visualstudio.com/items?itemName=tecosaur.latex-utilities) to enhance LaTeX Workshop
|
|
332
386
|
- [LTeX+] to have a nice spell checker that also identifies grammar issues
|
|
333
387
|
|
|
334
388
|
Then, change the setting of LaTeX Workshop to use biber:
|
|
335
|
-
Update the following lines in the VSCode `settings.json` to contain:
|
|
336
389
|
|
|
337
|
-
|
|
390
|
+
Press <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>P</kbd> to open the command palette.
|
|
391
|
+
Then type "JSON" and select "Preferences: Open Settings (JSON)" to open `settings.json`.
|
|
392
|
+
|
|
393
|
+
Update the following lines in VSCode's `settings.json` to contain:
|
|
394
|
+
|
|
395
|
+
```javascript
|
|
338
396
|
"latex-workshop.latex.recipes": [
|
|
339
397
|
{
|
|
340
398
|
"name": "<%= reallatexcompiler %> ➞ <%= bibtextool %> ➞ <%= reallatexcompiler %> × 2 🔃",
|
|
@@ -347,7 +405,7 @@ Update the following lines in the VSCode `settings.json` to contain:
|
|
|
347
405
|
},
|
|
348
406
|
],
|
|
349
407
|
"latex-workshop.latex.tools": [
|
|
350
|
-
...
|
|
408
|
+
// ...
|
|
351
409
|
{
|
|
352
410
|
"name": "<%= bibtextool %>",
|
|
353
411
|
"command": "<%= bibtextool %>",
|
|
@@ -356,23 +414,43 @@ Update the following lines in the VSCode `settings.json` to contain:
|
|
|
356
414
|
],
|
|
357
415
|
"env": {}
|
|
358
416
|
},
|
|
359
|
-
...
|
|
417
|
+
// ...
|
|
360
418
|
],
|
|
361
419
|
```
|
|
420
|
+
<%#
|
|
421
|
+
|
|
422
|
+
{
|
|
423
|
+
"name": "pdflatex",
|
|
424
|
+
"command": "pdflatex",
|
|
425
|
+
"args": [
|
|
426
|
+
"-synctex=1",
|
|
427
|
+
"-interaction=nonstopmode",
|
|
428
|
+
"-file-line-error",
|
|
429
|
+
"%DOC%"
|
|
430
|
+
],
|
|
431
|
+
"env": {}
|
|
432
|
+
},
|
|
433
|
+
-%>
|
|
362
434
|
|
|
363
435
|
The following settings are additionally recommended:
|
|
364
436
|
|
|
365
|
-
```
|
|
437
|
+
```javascript
|
|
366
438
|
{
|
|
367
|
-
"editor.wordWrap": "on",
|
|
368
|
-
"latex-workshop.view.pdf.viewer": "tab",
|
|
369
|
-
"latex-workshop.view.pdf.backgroundColor": "#cccccc",
|
|
370
|
-
"latex-workshop.latex.autoBuild.run": "
|
|
371
|
-
"editor.renderWhitespace": "all",
|
|
439
|
+
"editor.wordWrap": "on", // enable soft line breaks
|
|
440
|
+
"latex-workshop.view.pdf.viewer": "tab", // display the generaded PDF in a separate tab
|
|
441
|
+
"latex-workshop.view.pdf.backgroundColor": "#cccccc", // use a darker background in de PDF viewer to lift of the pages from it
|
|
442
|
+
"latex-workshop.latex.autoBuild.run": "never", // never automatically build; alternative: "onSave" (on saving .tex files)
|
|
443
|
+
"editor.renderWhitespace": "all", // display all whitespaces
|
|
372
444
|
}
|
|
373
445
|
```
|
|
374
446
|
|
|
375
|
-
Alternatively, just copy and paste the contents of the [vscode.settings.json](
|
|
447
|
+
Alternatively, just copy and paste the contents of the [vscode.settings.json](vscode.settings.json) file to your VSCode settings file.
|
|
448
|
+
|
|
449
|
+
You can manually trigger compilation by hitting the green button in the extension or using other methods provided by LaTeX Workshop.
|
|
450
|
+
|
|
451
|
+
Please remove the magic comments (`% !TeX program ...`) at the top of the `main-....tex` file.
|
|
452
|
+
Although [LaTeX-Workshop supports magic comments](https://github.com/James-Yu/LaTeX-Workshop/blob/master/README.md#magic-comments), it currently does not work reliably.
|
|
453
|
+
Without the magic comments, compilation works.
|
|
376
454
|
|
|
377
455
|
### LTeX+ tips and tricks
|
|
378
456
|
|
|
@@ -391,14 +469,6 @@ For example:
|
|
|
391
469
|
```latex
|
|
392
470
|
\foreignlanguage{english}{Therefore, our proposed approach will change the world.}
|
|
393
471
|
```
|
|
394
|
-
|
|
395
|
-
### Other hints
|
|
396
|
-
|
|
397
|
-
- Grammar and spell checking is available at [TeXstudio].
|
|
398
|
-
Please download [LanguageTool] (Windows: `choco install languagetool`) and [configure TeXstudio to use it](http://wiki.languagetool.org/checking-la-tex-with-languagetool#toc4).
|
|
399
|
-
Note that it is enough to point to `languagetool.jar`.
|
|
400
|
-
**If TeXstudio doesn't fit your need, check [the list of all available LaTeX Editors](http://tex.stackexchange.com/questions/339/latex-editors-ides).**
|
|
401
|
-
- Use [JabRef] to manage your bibliography (Windows: `choco install jabref`).
|
|
402
472
|
<% switch (docker) { case "reitzig": -%>
|
|
403
473
|
|
|
404
474
|
## Usage with docker
|
|
@@ -434,6 +504,28 @@ docker build -t ltg .
|
|
|
434
504
|
|
|
435
505
|
<% break; default: -%>
|
|
436
506
|
<% break; } -%>
|
|
507
|
+
## Contained Directories and Files
|
|
508
|
+
|
|
509
|
+
### Directories
|
|
510
|
+
|
|
511
|
+
- [figures](graphics/) Directory containing the figures.
|
|
512
|
+
By using LuaLaTex/PDFLaTeX it is possible to use PDFs, JPGs, PNGs, ... We recommend to use PDFs to enable smooth scaling.
|
|
513
|
+
|
|
514
|
+
### Files
|
|
515
|
+
|
|
516
|
+
- `<%= filenames.main %>.tex` - The main `.tex` file loading all LaTeX packages and their configurations.
|
|
517
|
+
- Add text here
|
|
518
|
+
- Adjust title etc. here
|
|
519
|
+
- [bibliography.bib](bibliography.bib) - Bibliography. [biblatex] format. Manage it with [JabRef].
|
|
520
|
+
- [abbreviations.tex](abbreviations.tex) - Acronyms and abbreviations.
|
|
521
|
+
- [commands.tex](commands.tex) - Example LaTeX macros.
|
|
522
|
+
|
|
523
|
+
Following additional files are included, which do not need to be adapted:
|
|
524
|
+
|
|
525
|
+
- [localSettings.yaml](localSettings.yaml) - Settings for [latexindent](https://ctan.org/pkg/latexindent)
|
|
526
|
+
- [Makefile](Makefile) - The Makefile. Builds on latexmk.
|
|
527
|
+
- [Texlivefile](Texlivefile) - List of packages required for a minimal TeXLive installation.
|
|
528
|
+
|
|
437
529
|
## FAQs
|
|
438
530
|
<% switch (documentclass) { case "lncs": -%>
|
|
439
531
|
|
|
@@ -463,12 +555,12 @@ For example, there is an explanation of how to typeset the affiliation informati
|
|
|
463
555
|
You probably don't want your document to be named `example`. In order to change this,
|
|
464
556
|
replace the term `thesis-example` by e.g., `thesis-topic-name` in the following locations:
|
|
465
557
|
|
|
466
|
-
| location
|
|
467
|
-
|
|
468
|
-
| `cover
|
|
469
|
-
| `.gitignore`
|
|
470
|
-
| `.gitignore`
|
|
471
|
-
| `Makefile`
|
|
558
|
+
| location | occurrence |
|
|
559
|
+
|----------------------------------|-------------------------------------------|
|
|
560
|
+
| `print-version--cover/cover.tex` | `\includegraphics{../thesis-example.pdf}` |
|
|
561
|
+
| `.gitignore` | `thesis-example.pdf` |
|
|
562
|
+
| `.gitignore` | `thesis-example*.png` |
|
|
563
|
+
| `Makefile` | `MASTER_TEX = thesis-example.tex` |
|
|
472
564
|
|
|
473
565
|
### Q: I get the error `Reload initiated (formats: otf,ttf,ttc); reason: Font "Inconsolatazi4" not found.`
|
|
474
566
|
|
|
@@ -480,8 +572,8 @@ Install package `inconsolata`
|
|
|
480
572
|
### Q: How can I synchronize updates from the template to my repository?
|
|
481
573
|
|
|
482
574
|
1. Initialize your git repository as usual
|
|
483
|
-
2. Add this repository as
|
|
484
|
-
3. Merge the branch `
|
|
575
|
+
2. Add this repository as git remote: `git remote add template https://github.com/latextemplates/{template}.git`
|
|
576
|
+
3. Merge the branch `template/main` into your `main` branch: `git merge template/main`.
|
|
485
577
|
|
|
486
578
|
After that you can use and push the `main` branch as usual.
|
|
487
579
|
Notes on syncing with the upstream repository [are available from GitHub](https://help.github.com/articles/syncing-a-fork/).
|
|
@@ -505,35 +597,63 @@ The most simple solution to get more space is to exchange the font.
|
|
|
505
597
|
|
|
506
598
|
### Q: How can I reformat my `.tex` files?
|
|
507
599
|
|
|
508
|
-
Execute
|
|
600
|
+
Execute `latexindent -l -s -sl -w <%= filenames.main %>.tex`
|
|
509
601
|
|
|
510
|
-
|
|
602
|
+
Alternatively, execute `make format`.
|
|
511
603
|
|
|
512
|
-
### Q: I want to obey the one-sentence-per-line rule. How
|
|
604
|
+
### Q: How I want to obey the one-sentence-per-line rule. How to do?
|
|
513
605
|
|
|
514
|
-
|
|
606
|
+
See "How can I reformat my `.tex` files?"
|
|
515
607
|
|
|
516
|
-
|
|
608
|
+
### Q: I want to use minted, because I think its syntax highlighting seems to be better.
|
|
517
609
|
|
|
518
|
-
|
|
519
|
-
|
|
610
|
+
You can re-generate the template and choose `minted` as listings environment.
|
|
611
|
+
Moreover, ensure that python and [pygments](https://pygments.org/) are installed properly:
|
|
612
|
+
|
|
613
|
+
- `choco install python`
|
|
614
|
+
- `pip install pygments`
|
|
520
615
|
|
|
616
|
+
### Q: I have troubles with minted on Windows.
|
|
617
|
+
|
|
618
|
+
Try out following command to update `latexminted`.
|
|
619
|
+
See [minted#425](https://github.com/gpoore/minted/issues/425) for details.
|
|
620
|
+
|
|
621
|
+
```shell
|
|
622
|
+
py -m pip install --force-reinstall latexminted
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
<% if (documentclass == 'lncs') { -%>
|
|
521
626
|
### Q: Is it possible to have a footer indicating that the paper is intended to be submitted/submitted/published?
|
|
522
627
|
|
|
523
628
|
Activate the `llncsconf` package.
|
|
524
629
|
The possible options are listed in `<%= filenames.main %>.tex`.
|
|
630
|
+
|
|
525
631
|
<% } -%>
|
|
526
632
|
<% if ((documentclass == 'acm') || (documentclass == 'ieee')) { -%>
|
|
527
|
-
|
|
528
633
|
### Q: Is it possible produce a self-archiving version?
|
|
529
634
|
|
|
530
635
|
Use the [`authorarchive` package](https://ctan.org/pkg/authorarchive).
|
|
531
|
-
<% } -%>
|
|
532
636
|
|
|
637
|
+
<% } -%>
|
|
533
638
|
### Q: Can I also write in German?
|
|
534
639
|
|
|
535
640
|
Yes. You can regenerate the template and choose "German" as language.
|
|
536
641
|
|
|
642
|
+
<% if (isThesis) { -%>
|
|
643
|
+
### Q: I was recommended the Harvard style
|
|
644
|
+
|
|
645
|
+
This template uses the alphabetic style.
|
|
646
|
+
That style is explained at the [biblatex documentation](http://texdoc.net/texmf-dist/doc/latex/biblatex/biblatex.pdf) on page 60:
|
|
647
|
+
|
|
648
|
+
> The alphabetic labels resemble a compact author-year
|
|
649
|
+
> style to some extent, but the way they are employed is similar to a numeric citation
|
|
650
|
+
> scheme. For example, instead of “Jones 1995” this style would use the label “[Jon95]”.
|
|
651
|
+
> “Jones and Williams 1986” would be rendered as “[JW86]”.
|
|
652
|
+
|
|
653
|
+
We are aware that the University of Stuttgart [recommends to use the Hardvard style](https://ilias3.uni-stuttgart.de/ilias.php?ref_id=12257&from_page=11895&obj_id=11896&cmd=layout&cmdClass=illmpresentationgui&cmdNode=dn&baseClass=ilLMPresentationGUI).
|
|
654
|
+
However, this style is not common in natural sciences and information science.
|
|
655
|
+
|
|
656
|
+
<% } -%>
|
|
537
657
|
<% if (githubpublish || (language == 'de')) { -%>
|
|
538
658
|
### Q: `ngerman-x-latest` is reported missing
|
|
539
659
|
|
|
@@ -547,6 +667,109 @@ You seem to use `latexmk` locally.
|
|
|
547
667
|
Please move `_latexmkrc` to `latexmkrc` to get `latexmk` working.
|
|
548
668
|
If you don't do this, `latexmk` tries to execute `latex`, which tries to produce a DVI file (and not a PDF file).
|
|
549
669
|
|
|
670
|
+
<% } -%>
|
|
671
|
+
### Q: I get `Font "LatinModernMath-Regular" not found.`. What can I do?
|
|
672
|
+
|
|
673
|
+
Error message:
|
|
674
|
+
|
|
675
|
+
```text
|
|
676
|
+
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: Font "LatinModernMath-Regular" not found.
|
|
677
|
+
luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
|
|
678
|
+
|
|
679
|
+
! Package fontspec Error: The font "LatinModernMath-Regular" cannot be found.
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
Install the package `lm-math` manually.
|
|
683
|
+
|
|
684
|
+
<% if (isThesis) { -%>
|
|
685
|
+
### Q: I get `! Package fontspec Error: The font "LinuxLibertineO" cannot be found.`. What can I do?
|
|
686
|
+
|
|
687
|
+
Install the package `libertine` manually.
|
|
688
|
+
|
|
689
|
+
<% } -%>
|
|
690
|
+
### Q: I get `! Package fontspec Error: The font "TeXGyreTermes" cannot be found.`. What can I do?
|
|
691
|
+
|
|
692
|
+
Install the package `tex-gyre` and `tex-gyre-math` manually.
|
|
693
|
+
|
|
694
|
+
### Q: I get `! error: (type 1): cannot find encoding file 'ntx-ot1-tlf.enc' for reading`. What can I do?
|
|
695
|
+
|
|
696
|
+
See <https://tex.stackexchange.com/a/240850/9075>: Install the packages `newpx` and `newtxsf` manually.
|
|
697
|
+
|
|
698
|
+
### Q: I get `! TeX capacity exceeded, sorry [main memory size=3000000].`. What can I do?
|
|
699
|
+
|
|
700
|
+
Follow the steps at <https://tex.stackexchange.com/a/548335/9075>
|
|
701
|
+
|
|
702
|
+
Try with following command
|
|
703
|
+
|
|
704
|
+
```bash
|
|
705
|
+
<%= reallatexcompiler %> -shell-escape --extra-mem-top=10000000 --synctex=1 <%= filenames.main %>.tex
|
|
706
|
+
```
|
|
707
|
+
|
|
708
|
+
See <https://tex.stackexchange.com/a/124206/9075> for details.
|
|
709
|
+
|
|
710
|
+
### Q: There is an output that biber/biblatex too old
|
|
711
|
+
|
|
712
|
+
See installation hints of how to update them at different systems.
|
|
713
|
+
|
|
714
|
+
### Q: MiKTeX complains about missing `.sty` files.
|
|
715
|
+
|
|
716
|
+
Use the [MiKTeX console](https://miktex.org/howto/miktex-console) to refresh the package index.
|
|
717
|
+
Then, automatic installation should work again.
|
|
718
|
+
|
|
719
|
+
### Q: I cannot get minted to run. There is this `-shell-escape` warning.
|
|
720
|
+
|
|
721
|
+
Please ensure that your compilation command includes `-shell-escape`.
|
|
722
|
+
E.g., `lualatex -shell-escape -synctex=1 main-minted-german.tex`.
|
|
723
|
+
When compiling `main-minted-german.tex` with TeXStudio, you will see a dialog warning about overriding the compilation command.
|
|
724
|
+
Just answer "(a) allow for this document" and it will work.
|
|
725
|
+
|
|
726
|
+
### Q: How to include Excel charts properly?
|
|
727
|
+
|
|
728
|
+
1. Select the Excel chart you want to use.
|
|
729
|
+
2. Print to PDF with the option "Print Selected Chart".
|
|
730
|
+
3. Remove empty space of the created PDF page with `pdfcrop chart.pdf chart_cropped.pdf` (install via MikTeX first, if not available; check via `pdfcrop --version`).
|
|
731
|
+
4. Use [pdfscissors](https://sites.google.com/site/pdfscissors) to crop the borders and title (maybe you have to allow <https://sites.google.com> in the Java security center in the control panel).
|
|
732
|
+
5. Include the PDF in LaTeX via `\includegraphics{chart_cropped.pdf}`.
|
|
733
|
+
|
|
734
|
+
<%#
|
|
735
|
+
### Q: Overleaf complains about missing `.sty` files.
|
|
736
|
+
|
|
737
|
+
Google for the name of the `sty` and upload it to overleaf.
|
|
738
|
+
As of 2018-02-17, these are:
|
|
739
|
+
|
|
740
|
+
- `lccaps.sty` - can be downloaded from <https://latextemplates.github.io/stys-for-overleaf/>.
|
|
741
|
+
- `scientific-thesis-cover.sty` - can be downloaded from <https://raw.githubusercontent.com/latextemplates/scientific-thesis-cover/master/scientific-thesis-cover.sty>.
|
|
742
|
+
|
|
743
|
+
### Q: My Paderborn title page is strange. The boxes seem to be located arbitrarily.
|
|
744
|
+
|
|
745
|
+
Just run pdflatex again.
|
|
746
|
+
-%>
|
|
747
|
+
<% if (isThesis) { -%>
|
|
748
|
+
### Q: How do I change the appearance of chapter headings?
|
|
749
|
+
|
|
750
|
+
Look for `% Code for my fancy chapters.` in your main `.tex` file and play around with parameters.
|
|
751
|
+
|
|
752
|
+
### Q: Aren't there other templates?
|
|
753
|
+
|
|
754
|
+
Sure. The [Hagenberg Thesis Document Collection](https://github.com/Digital-Media/HagenbergThesis) seems to be the most promising.
|
|
755
|
+
However, they currently do not support microtype and not the cover of the University of Stuttgart.
|
|
756
|
+
|
|
757
|
+
We are collecting alternatives at the issue [#25](https://github.com/latextemplates/scientific-thesis-template/issues/25) and plan to add a comparison to each other template.
|
|
758
|
+
|
|
759
|
+
### Q: Do I have to do something special for the final version?
|
|
760
|
+
|
|
761
|
+
- If you included some version control statements, please remove them. Currently, the template does not support any, but it used to support SVN.
|
|
762
|
+
- By using `\largepage` and `\shortpage`, single lines at the bottom or at the top of the page can be manually fixed.
|
|
763
|
+
- Search the PDF for "TODO" or similar things. Remove `\usepackage{todonotes}` in your main `.tex` file.
|
|
764
|
+
- Ensure that you run `lualatex` at least three times and that there are no "undefined references".
|
|
765
|
+
- The margins are intended for good screen reading. **Do not change them** (or do exactly know what you are doing).
|
|
766
|
+
<% } -%>
|
|
767
|
+
<% if (documentclass == "scientific-thesis") { -%>
|
|
768
|
+
### Q: `main-minted-german.tex` does not compile: ``File `main-minted-german-plantuml.latex' not found. \end{plantuml}``. What can I do?
|
|
769
|
+
|
|
770
|
+
You did not setup the [plantuml package](https://www.ctan.org/pkg/plantuml) correctly.
|
|
771
|
+
Please head to <https://koppor.github.io/plantuml/> for installation instructions.
|
|
772
|
+
|
|
550
773
|
<% } -%>
|
|
551
774
|
## Further information
|
|
552
775
|
|
|
@@ -558,6 +781,22 @@ If you don't do this, `latexmk` tries to execute `latex`, which tries to produce
|
|
|
558
781
|
<% } -%>
|
|
559
782
|
<% } -%>
|
|
560
783
|
- Other templates: <https://latextemplates.github.io/>
|
|
784
|
+
- For German users, go to <https://texfragen.de/>.
|
|
785
|
+
- Frank Mittelbach with Ulrike Fischer: [The LaTeX Companion](https://www.latex-project.org/news/2023/03/17/TLC3/) is the ultimate guide for LaTeX: The authors went through all packages offered by [CTAN](https://ctan.org/), selected the most promising ones, described them, and provide minimal working example for each of it.
|
|
786
|
+
- Lutz Hering, Heike Hering: [How to Write Technial Reports](https://doi.org/10.1007/978-3-540-69929-3), Springer, 2010; also available in German [Technische Berichte - verständlich gliedern, gut gestalten, überzeugend vortragen](https://doi.org/10.1007/978-3-8348-8317-9). - Highly recommended, because it guides through all aspects of a report (such as a Master Thesis).
|
|
787
|
+
- Marcus Deininger et al.: [Studienarbeiten - Ein Leitfaden zur Erstellung, Durchführung und Präsentation wissenschaftlicher Abschlussarbeiten am Beispiel Informatik](https://vdf.ch/studienarbeiten.html?author_id=2877), vdf. - Recommended as guideline for planning and working on the whole thesis.
|
|
788
|
+
- Charles Lipson, [Cite Right, Second Edition: A Quick Guide to Citation Styles--MLA, APA, Chicago, the Sciences, Professions, and More](http://www.press.uchicago.edu/ucp/books/book/chicago/C/bo10702043.html), Chicago Guides to Writing, Editing, and Publishing, 2011. - Recommended in case you are unsure about how to correctly cite something.
|
|
789
|
+
|
|
790
|
+
## License
|
|
791
|
+
|
|
792
|
+
The license of this work is [0BSD](https://spdx.org/licenses/0BSD.html) which corresponds to "public domain".
|
|
793
|
+
Any derived work can freely be relicensed and can omit original copyright and license information.
|
|
794
|
+
<% if (documentclass == "ustutt") { -%>
|
|
795
|
+
|
|
796
|
+
### Exceptions
|
|
797
|
+
|
|
798
|
+
- `ustutt-logo.pdf` is restricted. See section "Verwendung des Logos bei Abschlussarbeiten wie Dissertationen, Bachelor- und Masterarbeiten sowie Hausarbeiten" at <https://www.beschaeftigte.uni-stuttgart.de/uni-services/oeffentlichkeitsarbeit/corporate-design/logo-und-schrift/> for details.
|
|
799
|
+
<% } -%>
|
|
561
800
|
|
|
562
801
|
[biber]: https://www.ctan.org/pkg/biber
|
|
563
802
|
[biblatex]: http://tex.stackexchange.com/tags/biblatex/info
|
|
@@ -569,6 +808,8 @@ If you don't do this, `latexmk` tries to execute `latex`, which tries to produce
|
|
|
569
808
|
[hyperref]: https://ctan.org/pkg/hyperref
|
|
570
809
|
[latexindent]: https://ctan.org/pkg/latexindent
|
|
571
810
|
[latexmk]: http://tex.stackexchange.com/tags/latexmk/info
|
|
811
|
+
[listings]: https://ctan.org/pkg/listings
|
|
812
|
+
[lualatex]: http://www.luatex.org/
|
|
572
813
|
[microtype]: https://ctan.org/pkg/microtype
|
|
573
814
|
[minted]: https://ctan.org/pkg/minted
|
|
574
815
|
[natbib]: https://ctan.org/pkg/natbib
|
|
@@ -580,8 +821,8 @@ If you don't do this, `latexmk` tries to execute `latex`, which tries to produce
|
|
|
580
821
|
[LanguageTool]: https://languagetool.org/
|
|
581
822
|
[latex template generator]: https://www.npmjs.com/package/generator-latex-template
|
|
582
823
|
[LTeX+]: https://marketplace.visualstudio.com/items?itemName=ltex-plus.vscode-ltex-plus
|
|
583
|
-
[pygments]:
|
|
584
|
-
[
|
|
824
|
+
[pygments]: https://pygments.org/
|
|
825
|
+
[Sumatra PDF]: https://www.sumatrapdfreader.org/free-pdf-reader
|
|
585
826
|
<% if (documentclass == 'lncs') { -%>
|
|
586
827
|
|
|
587
828
|
[llncs2e.zip]: ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip
|
|
@@ -128,7 +128,7 @@ hyphen-german
|
|
|
128
128
|
ieeetran
|
|
129
129
|
<% } -%>
|
|
130
130
|
ifmtarg<%# required by acmart at least %>
|
|
131
|
-
<% if (githubpublish ||
|
|
131
|
+
<% if (githubpublish || isThesis) { -%>
|
|
132
132
|
ifplatform
|
|
133
133
|
<% } -%>
|
|
134
134
|
iftex
|
|
@@ -177,6 +177,9 @@ mfirstuc
|
|
|
177
177
|
<% } -%>
|
|
178
178
|
microtype
|
|
179
179
|
mindflow
|
|
180
|
+
<% if (githubpublish || (!overleaf && (texlive >= 2024) && documentclass != "acmart")) { -%>
|
|
181
|
+
minim-math<%# Modern (?) alternative to unicode-math %>
|
|
182
|
+
<% } -%>
|
|
180
183
|
<% if (githubpublish || (listings == 'minted')) { -%>
|
|
181
184
|
minted
|
|
182
185
|
<% } -%>
|
|
@@ -285,7 +288,9 @@ trimspaces
|
|
|
285
288
|
<% if (githubpublish || (documentclass == "ieee") || (font == "times")) { -%>
|
|
286
289
|
txfonts
|
|
287
290
|
<% } -%>
|
|
291
|
+
<% if (githubpublish || overleaf || (texlive < 2024) || documentclass == "acmart") { -%>
|
|
288
292
|
unicode-math
|
|
293
|
+
<% } -%>
|
|
289
294
|
uniquecounter
|
|
290
295
|
upquote
|
|
291
296
|
url
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
% 🇩🇪 wird fuer Tabellen benötigt (z.B. >{centering\RBS}p{2.5cm} erzeugt einen zentrierten 2,5cm breiten Absatz in einer Tabelle
|
|
2
|
+
\newcommand{\RBS}{\let\\=\tabularnewline}
|
|
3
|
+
|
|
4
|
+
% 🇺🇸 To avoid issues with Springer's \mathplus. See also http://tex.stackexchange.com/q/212644/9075
|
|
5
|
+
\providecommand\mathplus{+}
|
|
6
|
+
<% if (lang == "de") { -%>
|
|
7
|
+
|
|
8
|
+
% 🇩🇪 typoraphisch richtige Abkürzungen
|
|
9
|
+
\newcommand{\zB}{z.\,B.\xspace}
|
|
10
|
+
\newcommand{\bzw}{bzw.\xspace}
|
|
11
|
+
\newcommand{\usw}{usw.\xspace}
|
|
12
|
+
\renewcommand{\dh}{d.\,h.\xspace}
|
|
13
|
+
<% } -%>
|
|
14
|
+
|
|
15
|
+
% 🇺🇸 from hmks makros.tex - \indexify
|
|
16
|
+
\newcommand{\toindex}[1]{\index{#1}#1}
|
|
17
|
+
|
|
18
|
+
% 🇩🇪 Tipp aus "The Comprehensive LaTeX Symbol List"
|
|
19
|
+
\newcommand{\dotcup}{\ensuremath{\,\mathaccent\cdot\cup\,}}
|
|
20
|
+
|
|
21
|
+
% 🇩🇪 Anstatt $|x|$ $\abs{x}$ verwenden. Die Betragsstriche skalieren automatisch, falls "x" etwas größer sein sollte...
|
|
22
|
+
\newcommand{\abs}[1]{\left\lvert#1\right\rvert}
|
|
23
|
+
<% if (lang == "de") { -%>
|
|
24
|
+
|
|
25
|
+
% 🇩🇪 für Zitate
|
|
26
|
+
\newcommand{\citeS}[2]{\cite[S.~#1]{#2}}
|
|
27
|
+
\newcommand{\citeSf}[2]{\cite[S.~#1\,f.]{#2}}
|
|
28
|
+
\newcommand{\citeSff}[2]{\cite[S.~#1\,ff.]{#2}}
|
|
29
|
+
\newcommand{\vgl}{vgl.\ }
|
|
30
|
+
\newcommand{\Vgl}{Vgl.\ }
|
|
31
|
+
<% } else { -%>
|
|
32
|
+
<% } -%>
|
|
33
|
+
|
|
34
|
+
% 🇩🇪 Seitengrößen - Gegen Schusterjungen und Hurenkinder...
|
|
35
|
+
\newcommand{\largepage}{\enlargethispage{\baselineskip}}
|
|
36
|
+
\newcommand{\shortpage}{\enlargethispage{-\baselineskip}}
|
|
37
|
+
|
|
38
|
+
\newcommand{\initialism}[1]{%
|
|
39
|
+
<% if (lang == "de") { -%>
|
|
40
|
+
\textsc{#1}\xspace%
|
|
41
|
+
<% } else { -%>
|
|
42
|
+
\textlcc{#1}\xspace%
|
|
43
|
+
<% } -%>
|
|
44
|
+
}
|
|
45
|
+
\newcommand{\OMG}{\initialism{OMG}}
|
|
46
|
+
\newcommand{\BPEL}{\initialism{BPEL}}
|
|
47
|
+
\newcommand{\BPMN}{\initialism{BPMN}}
|
|
48
|
+
\newcommand{\UML}{\initialism{UML}}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Recommended LaTeX environments
|
|
2
|
+
|
|
3
|
+
## TeXStudio as LaTeX Editor
|
|
4
|
+
|
|
5
|
+
Grammar and spell checking is available at [TeXstudio].
|
|
6
|
+
Please download [LanguageTool] and [configure TeXstudio to use it](http://wiki.languagetool.org/checking-la-tex-with-languagetool#toc4).
|
|
7
|
+
Note that it is enough to point to `languagetool-server.jar`.
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
The template is compiled using normal compilation commands.
|
|
11
|
+
Your LaTeX environment (such as [TeXStudio]) should take care about the compilation transparently.
|
|
12
|
+
|
|
13
|
+
If you open `main-minted-german.tex`, there will be a warning that the compilation command will be overridden.
|
|
14
|
+
Please answer `(a) allow for this document`:
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
At "Build & View", there will be a question to update to biber.
|
|
19
|
+
Please answer `(a) allow for this document`:
|
|
20
|
+
|
|
21
|
+

|
|
22
|
+
|
|
23
|
+
When the "Package Installation" dialog pops up at TeXStudio, choose your username at "The package will be installed for:" and uncheck "Always show this dialog before installing packages."
|
|
24
|
+
If you want to include .svg graphics, [inkscape] has to be in your path.
|
|
25
|
+
|
|
26
|
+
**Attention!** The first compilation will take **at least 30 seconds**, because there will be some LaTeX packages installed.
|
|
27
|
+
|
|
28
|
+
**If TeXstudio doesn't fit your need, check [the list of all available LaTeX Editors](http://tex.stackexchange.com/questions/339/latex-editors-ides).**
|
|
29
|
+
|
|
30
|
+
## JabRef for managing literature
|
|
31
|
+
|
|
32
|
+
Use [JabRef] to manage your bibliography.
|
|
33
|
+
Quick installation using [Chocolatey]: `choco install texstudio languagetool jabref`.
|
|
34
|
+
|
|
35
|
+
A comparison to other literature management software is available at <https://ultimate-comparisons.github.io/ultimate-reference-management-software-comparison/>.
|
|
36
|
+
See [LaTeX Editors/IDEs question on TeX.SX](http://tex.stackexchange.com/questions/339/latex-editors-ides) for a complete list of LaTeX editors.
|
|
37
|
+
|
|
38
|
+
## Installation hints for Ubuntu
|
|
39
|
+
|
|
40
|
+
- From Ubuntu 18.10 onwards, the basic version of the template works without issues.
|
|
41
|
+
Advanced usages such as cool syntax highlighting with [minted](https://www.ctan.org/pkg/minted) needs more configuration.
|
|
42
|
+
- Ubuntu 16.04 [ships biber 2.4](https://bugs.launchpad.net/ubuntu/+source/biber/+bug/1589644), so you have to upgrade your texlive distribution.
|
|
43
|
+
The easiest way is to uninstall the ubuntu package and use [install-tl-ubuntu](https://github.com/scottkosty/install-tl-ubuntu).
|
|
44
|
+
Then, you can follow the instructions given at <http://tex.stackexchange.com/a/55459/9075> to update your texlive distribution.
|
|
45
|
+
If you do not want to have an updated installation, but fiddle around with dirty patching your installation, please follow <http://tex.stackexchange.com/questions/84624/how-to-upgrade-biblatex-properly>.
|
|
46
|
+
|
|
47
|
+
Always working solution: Use the [docker image](https://gitlab.com/islandoftex/images/texlive#tex-live-docker-image).
|
|
48
|
+
This provides a perfectly configured latex distribution with all required tools.
|
|
49
|
+
|
|
50
|
+
1. Execute `sudo visudo` to edit the sudoers file
|
|
51
|
+
1. Add the line `myusername ALL = (root) NOPASSWD: /usr/bin/docker`. Replace `myusername` accordingly. (Source: <https://unix.stackexchange.com/a/13058/18033>)
|
|
52
|
+
1. Execute `sudo docker pull registry.gitlab.com/islandoftex/images/texlive:latest`.
|
|
53
|
+
This should not ask for any password.
|
|
54
|
+
Will download approx. 4GB.
|
|
55
|
+
1. Open TeXstudio
|
|
56
|
+
1. Options > Configure TeXstudio > Commands
|
|
57
|
+
1. Set "PdfLaTeX" to `docker run --rm -v DIROFTEXDOCUMENT:DIROFTEXDOCUMENT --workdir=DIROFTEXDOCUMENT registry.gitlab.com/islandoftex/images/texlive:latest pdflatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex`, replace `DIROFTEXDOCUMENT` by the directory of your latex document. Example: `/home/user/thesis`.
|
|
58
|
+
1. Set "LuaLaTeX" to `docker run --rm -v DIROFTEXDOCUMENT:DIROFTEXDOCUMENT --workdir=DIROFTEXDOCUMENT registry.gitlab.com/islandoftex/images/texlive:latest lualatex --shell-escape -synctex=1 -interaction=nonstopmode %.tex`, replace `DIROFTEXDOCUMENT` by the directory of your latex document. Example: `/home/user/thesis`.
|
|
59
|
+
1. Set "Biber" to `docker run --rm -v DIROFTEXDOCUMENT:DIROFTEXDOCUMENT --workdir=DIROFTEXDOCUMENT registry.gitlab.com/islandoftex/images/texlive:latest biber %`, replace `DIROFTEXDOCUMENT` by the directory of your latex document. Example: `/home/user/thesis`.
|
|
60
|
+
1. Check if the "docker pull" command from step 3 succeed. If not, wait.
|
|
61
|
+
1. Try to press the "Compile" (<kbd>F6</kbd>) button in TeXstudio.
|
|
62
|
+
|
|
63
|
+
## Installation hints for Windows
|
|
64
|
+
|
|
65
|
+
Note: The default installation of MiKTeX might ship with incompatible biblatex and biber packages.
|
|
66
|
+
**You have to keep your MiKTeX up to date.**
|
|
67
|
+
In case you followed the linked installation steps, you only have to run "Update MiKTeX".
|
|
68
|
+
If you installed MiKTeX other ways, you have to run "Update MiKTeX (Admin)" and "Update MiKTeX" and check in both tools for updates (see <http://tex.stackexchange.com/a/108490/9075>).
|
|
69
|
+
|
|
70
|
+
### Preparations
|
|
71
|
+
|
|
72
|
+
1. Install [chocolatey]:
|
|
73
|
+
1. Open `cmd.exe` as Administartor
|
|
74
|
+
2. Paste and hit <kbd>Enter</kbd> `@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"`
|
|
75
|
+
1. Execute `choco feature enable -n=allowGlobalConfirmation` to get rid off additional installation confirmations.
|
|
76
|
+
1. Execute `choco install texstudio sumatrapdf.install strawberryperl jre8 jabref languagetool` to install necessary tooling.
|
|
77
|
+
1. In case [PlantUML](http://plantuml.com/) should be used, follow the installation instructions at <https://koppor.github.io/plantuml/> listed at the "pre-conditions" section.
|
|
78
|
+
1. For more recommended tooling see <https://github.com/koppor/koppors-chocolatey-scripts>.
|
|
79
|
+
|
|
80
|
+
### Recommended setup of MiKTeX
|
|
81
|
+
|
|
82
|
+
1. Download the basic installer from <http://miktex.org/download>
|
|
83
|
+
1. Start it
|
|
84
|
+
1. First screen: Read the license conditions and be sure that you really agree.
|
|
85
|
+
- Check "I accept the MiKTeX copying conditions"
|
|
86
|
+
- Click "Next"
|
|
87
|
+
1. Second screen: "Shared Installation": Install MiKTeX for: "Only for: `username`".
|
|
88
|
+
- Check first option
|
|
89
|
+
- Click "Next"
|
|
90
|
+
1. Third screen: "Installation Directory": Install MiKTeX to: `C:\MiKTeX`. This enabled browsing for documentation at `C:\MiKTeX29\doc\latex`
|
|
91
|
+
- Input "C:\MiKTeX" in the input field
|
|
92
|
+
- Click "Next"
|
|
93
|
+
1. Fourth screen: "Settings": Preferred paper: A4 and install missing packages on the fly.
|
|
94
|
+
- First combo box: "A4"
|
|
95
|
+
- Second combo box: "Yes":
|
|
96
|
+
- Click "Next"
|
|
97
|
+
1. Fifth screen: Press "Start"
|
|
98
|
+
1. Now a window "Executing" appears. It will take about 5 minutes until this is finished.
|
|
99
|
+
1. At the last screen: Click "Close"
|
|
100
|
+
1. After the installation:
|
|
101
|
+
1. Open `cmd.exe`
|
|
102
|
+
2. Execute `refreshenv` to make MiKTeX's binaries known right after the installation
|
|
103
|
+
3. Execute `mpm --update-db`
|
|
104
|
+
4. Execute `mpm --update`
|
|
105
|
+
5. Execute `mpm --install=tex-gyre` (to resolve `fontspec error: "font-not-found"`, `\setmainfont{TeX Gyre Termes}`)
|
|
106
|
+
6. Execute `mpm --install=tex-gyre-math`
|
|
107
|
+
7. Execute `mpm --install=cm-super`
|
|
108
|
+
8. Execute `initexmf --update-fndb` (ensure that no other MiKTeX tooling such as the [MiKTeX Console](https://miktex.org/howto/miktex-console) is run in parallel - see <https://github.com/MiKTeX/miktex/issues/98#issuecomment-375952270>)
|
|
109
|
+
9. Execute `initexmf --mklinks --force`
|
|
110
|
+
|
|
111
|
+
[chocolatey]: https://chocolatey.org/
|
|
112
|
+
[JabRef]: https://www.jabref.org
|
|
113
|
+
[LanguageTool]: https://languagetool.org/
|
|
114
|
+
[TeXstudio]: http://texstudio.sourceforge.net/
|
|
Binary file
|
|
Binary file
|
|
@@ -52,12 +52,13 @@ lualatex
|
|
|
52
52
|
###########################################################################
|
|
53
53
|
-%>
|
|
54
54
|
<%= indent %>\usepackage[no-math]{fontspec}
|
|
55
|
-
|
|
55
|
+
<% if (documentclass != "acmart") { -%>
|
|
56
|
+
<%= indent %><% if (overleaf || texlive < 2024) { %>\usepackage{unicode-math}<% } else { %>\usepackage{minim-math}<% } %>
|
|
57
|
+
<% } -%>
|
|
56
58
|
<% switch (font) { case "arial": -%>
|
|
57
59
|
<%# Arial and LuaLaTeX -%>
|
|
58
60
|
<%# -%>
|
|
59
61
|
|
|
60
|
-
<%= indent %>\usepackage{ifplatform}
|
|
61
62
|
<%= indent %>\ifwindows
|
|
62
63
|
<%= indent %> \setmainfont[Ligatures=TeX]{Arial}
|
|
63
64
|
<%= indent %> \setsansfont[Ligatures=TeX]{Arial}
|
|
@@ -105,7 +106,6 @@ lualatex
|
|
|
105
106
|
<% break; case "ustutt": -%>
|
|
106
107
|
<%# see also https://github.com/programming-journal/programming/blob/main/programming.cls -%>
|
|
107
108
|
|
|
108
|
-
<%= indent %>\usepackage{ifplatform}
|
|
109
109
|
<%= indent %>\ifwindows
|
|
110
110
|
<%= indent %> \setmainfont{XCharter}
|
|
111
111
|
<%= indent %> \setsansfont[Ligatures=TeX]{Arial}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<% if (requiresShellEscape) { -%>
|
|
17
17
|
% !TeX TXS-program:compile = txs:///<%= reallatexcompiler %>/[--shell-escape]
|
|
18
18
|
<% } -%>
|
|
19
|
-
% !BIB program =
|
|
19
|
+
% !BIB program = <% if (bibtextool == "biblatex") { %>biber<% } else { %>bibtex<% } %>
|
|
20
20
|
% -*- coding:utf-8 mod:LaTeX -*-
|
|
21
21
|
<% switch (documentclass) { case "lncs": -%>
|
|
22
22
|
|
|
@@ -122,6 +122,8 @@
|
|
|
122
122
|
<% if (latexcompiler == "both") { -%>
|
|
123
123
|
|
|
124
124
|
\usepackage{iftex}
|
|
125
|
+
<% if (isThesis) { -%>\usepackage{ifplatform}
|
|
126
|
+
<% } -%>
|
|
125
127
|
|
|
126
128
|
<% } -%>
|
|
127
129
|
% backticks (`) werden als solches in verbatim-Umgebungen dargestellt
|
|
@@ -135,7 +137,7 @@
|
|
|
135
137
|
|
|
136
138
|
<%- include('url.preamble.de.tex', this); -%>
|
|
137
139
|
|
|
138
|
-
<%# acronyms and unicode-math load amsmath, which has to be loaded before cleveref; we need it to load early to avoid option clash -%>
|
|
140
|
+
<%# acronyms and unicode-math/minim-math load amsmath, which has to be loaded before cleveref; we need it to load early to avoid option clash -%>
|
|
139
141
|
<% if (isThesis || feature.abbreviations) { %><%- include('math.preamble.en.tex', this); -%>
|
|
140
142
|
|
|
141
143
|
<% } -%>
|
|
@@ -306,6 +308,8 @@
|
|
|
306
308
|
% May not be hypphenated
|
|
307
309
|
AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
|
|
308
310
|
}
|
|
311
|
+
|
|
312
|
+
\input{commands}
|
|
309
313
|
<% switch (documentclass) { case "acmart": -%>
|
|
310
314
|
|
|
311
315
|
\acmConference[short-conference-name]{full-conference-name}{November 02--06, 2021}{City, Country}
|
|
@@ -1191,10 +1195,10 @@ Hier bitte einen kurzen Durchgang durch die Arbeit.
|
|
|
1191
1195
|
...und anschließend einen Ausblick.
|
|
1192
1196
|
<% } -%>
|
|
1193
1197
|
|
|
1194
|
-
<% switch (documentclass) { case "lncs": -%>
|
|
1198
|
+
<% indent = ''; switch (documentclass) { case "lncs": -%>
|
|
1195
1199
|
\subsubsection*{Danksagungen}
|
|
1196
1200
|
|
|
1197
|
-
<% break; case "acmart": -%>
|
|
1201
|
+
<% break; case "acmart": indent = ' ' -%>
|
|
1198
1202
|
\begin{acks}
|
|
1199
1203
|
<% break; case "ieee": -%>
|
|
1200
1204
|
% regular IEEE prefers the singular form
|
|
@@ -1203,14 +1207,14 @@ Hier bitte einen kurzen Durchgang durch die Arbeit.
|
|
|
1203
1207
|
<% break; default: -%>
|
|
1204
1208
|
<% break; } -%>
|
|
1205
1209
|
<% if (isPaper) { -%>
|
|
1206
|
-
Identification of funding sources and other support, and thanks to individuals and groups that assisted in the research and the preparation of the work should be included in an acknowledgment section, which is placed just before the reference section in your document \cite{acmart}.
|
|
1210
|
+
<%= indent %>Identification of funding sources and other support, and thanks to individuals and groups that assisted in the research and the preparation of the work should be included in an acknowledgment section, which is placed just before the reference section in your document \cite{acmart}.
|
|
1207
1211
|
<% if (howtotext) { -%>
|
|
1208
1212
|
|
|
1209
|
-
The hints on writing a paper/thesis are taken from Dirk Fahland's \href{https://github.com/dfahland/Master-or-Bachelor-thesis-Template-Eindhoven-University-of-Technology}{LaTeX template for Bachelor and Master theses at Eindhoven University of Technology}.
|
|
1213
|
+
<%= indent %>The hints on writing a paper/thesis are taken from Dirk Fahland's \href{https://github.com/dfahland/Master-or-Bachelor-thesis-Template-Eindhoven-University-of-Technology}{LaTeX template for Bachelor and Master theses at Eindhoven University of Technology}.
|
|
1210
1214
|
<% } -%>
|
|
1211
1215
|
<% if (documentclass == 'acmart') { -%>
|
|
1212
1216
|
|
|
1213
|
-
For more \LaTeX{} hints for ACM read on at \url{https://www.acm.org/publications/taps/latex-best-practices}.
|
|
1217
|
+
<%= indent %>For more \LaTeX{} hints for ACM read on at \url{https://www.acm.org/publications/taps/latex-best-practices}.
|
|
1214
1218
|
\end{acks}
|
|
1215
1219
|
<% } -%>
|
|
1216
1220
|
<% } -%>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<% if (requiresShellEscape) { -%>
|
|
17
17
|
% !TeX TXS-program:compile = txs:///<%= reallatexcompiler %>/[--shell-escape]
|
|
18
18
|
<% } -%>
|
|
19
|
-
% !BIB program =
|
|
19
|
+
% !BIB program = <% if (bibtextool == "biblatex") { %>biber<% } else { %>bibtex<% } %>
|
|
20
20
|
% -*- coding:utf-8 mod:LaTeX -*-
|
|
21
21
|
<% switch (documentclass) { case "lncs": -%>
|
|
22
22
|
|
|
@@ -108,6 +108,8 @@
|
|
|
108
108
|
<% if (latexcompiler == "both") { -%>
|
|
109
109
|
|
|
110
110
|
\usepackage{iftex}
|
|
111
|
+
<% if (isThesis) { -%>\usepackage{ifplatform}
|
|
112
|
+
<% } -%>
|
|
111
113
|
|
|
112
114
|
<% } -%>
|
|
113
115
|
% backticks (`) are rendered as such in verbatim environments.
|
|
@@ -121,7 +123,7 @@
|
|
|
121
123
|
|
|
122
124
|
<%- include('url.preamble.en.tex', this); -%>
|
|
123
125
|
|
|
124
|
-
<%# acronyms and unicode-math load amsmath, which has to be loaded before cleveref; we need it to load early to avoid option clash -%>
|
|
126
|
+
<%# acronyms and unicode-math/minim-math load amsmath, which has to be loaded before cleveref; we need it to load early to avoid option clash -%>
|
|
125
127
|
<% if (feature.abbreviations) { %><%- include('math.preamble.en.tex', this); -%>
|
|
126
128
|
|
|
127
129
|
<% } -%>
|
|
@@ -293,6 +295,8 @@
|
|
|
293
295
|
% May not be hypphenated
|
|
294
296
|
AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
|
|
295
297
|
}
|
|
298
|
+
|
|
299
|
+
\input{commands}
|
|
296
300
|
<% switch (documentclass) { case "acmart": -%>
|
|
297
301
|
|
|
298
302
|
\acmConference[short-conference-name]{full-conference-name}{November 02--06, 2021}{City, Country}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-latex-template",
|
|
3
|
-
"version": "2025.
|
|
3
|
+
"version": "2025.2.12",
|
|
4
4
|
"description": "Generates a latex template to be used as start for writing scientific works (papers, articles, theses)",
|
|
5
5
|
"homepage": "https://github.com/latextemplates/generator-latex-template",
|
|
6
6
|
"author": {
|
|
@@ -76,6 +76,9 @@
|
|
|
76
76
|
"test": "jest",
|
|
77
77
|
"postinstall": "patch-package"
|
|
78
78
|
},
|
|
79
|
-
"repository":
|
|
79
|
+
"repository": {
|
|
80
|
+
"type": "git",
|
|
81
|
+
"url": "git+https://github.com/latextemplates/generator-latex-template.git"
|
|
82
|
+
},
|
|
80
83
|
"license": "0BSD"
|
|
81
84
|
}
|