generator-latex-template 2025.3.4 → 2025.10.20

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/README.md CHANGED
@@ -77,8 +77,8 @@ You can use the magic of `git` to prevent that:
77
77
 
78
78
  ## Resources
79
79
 
80
- - [IEEE](https://latextemplates.github.io/IEEE/) - example: [paper-conference-minted.tex](https://github.com/latextemplates/IEEE/blob/main/paper-conference-minted.tex)
81
- - [LNCS](https://latextemplates.github.io/LNCS/) - example: [paper.tex](https://github.com/latextemplates/LNCS/blob/main/paper.tex)
80
+ - [IEEE](https://latextemplates.github.io/ieee-enhanced/) - example: [paper-conference-minted.tex](https://github.com/latextemplates/ieee-enhanced/blob/main/paper-conference-minted.tex)
81
+ - [LNCS](https://latextemplates.github.io/lncs-enhanced/) - example: [paper.tex](https://github.com/latextemplates/lncs-enhanced/blob/main/paper.tex)
82
82
  - [scientific-thesis-template](https://latextemplates.github.io/scientific-thesis-template/) - example: [latexhints-english.tex](https://github.com/latextemplates/scientific-thesis-template/blob/main/latexhints-english.tex)
83
83
  - [alpenwasser/TeX](https://github.com/alpenwasser/TeX)
84
84
 
@@ -124,6 +124,7 @@ In the long run, the contents of the `paper.tex` (and similar) files in reposito
124
124
  - `gh run list -L 100 --json databaseId -s queued -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`
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, ...): `scripts/spread-updates.sh`
127
+ - Sort `dot.aspell.en.pws`: `cat dot.aspell.en.pws | (sed -u 1q; sort) | sponge dot.aspell.en.pws` <!-- hint by https://stackoverflow.com/a/56151840/873282 -->
127
128
 
128
129
  ### Testing
129
130
 
@@ -143,16 +144,16 @@ In the long run, the contents of the `paper.tex` (and similar) files in reposito
143
144
 
144
145
  Parameters can be set using command line
145
146
 
146
- - lncs: `npx yo /tmp/repo/generators/app/index.js --documentclass=lncs --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2024 --docker=false --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
147
+ - lncs: `npx yo /tmp/repo/generators/app/index.js --documentclass=lncs --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2025 --docker=false --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
147
148
 
148
149
  #### Windows
149
150
 
150
151
  Parameters can be set using command line
151
152
 
152
- - IEEE template (with pdflatex and bibtex): `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=ieee --ieeevariant=conference --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2024 --docker=reitzig --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
153
- - LNCS template (with pdflatex and bibtex): `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=lncs ---papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2024 --docker=false --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
154
- - Scientific Thesis template: `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=scientific-thesis --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2024 --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
155
- - USTUTT template: `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=ustutt --papersize=a5 --latexcompiler=lualatex --bibtextool=biblatex --texlive=2024 --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=todonotes --examples=true --howtotext=true` -- `todonotes` is the preferred TODO package here.
153
+ - IEEE template (with pdflatex and bibtex): `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=ieee --ieeevariant=conference --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2025 --docker=reitzig --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
154
+ - LNCS template (with pdflatex and bibtex): `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=lncs ---papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2025 --docker=false --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
155
+ - Scientific Thesis template: `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=scientific-thesis --papersize=a4 --latexcompiler=pdflatex --bibtextool=bibtex --texlive=2025 --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=pdfcomment --examples=true --howtotext=true`
156
+ - USTUTT template: `npx yo c:\git-repositories\latextemplates\generator-latex-template\generators\app\index.js --overleaf=false --documentclass=ustutt --papersize=a5 --latexcompiler=lualatex --bibtextool=biblatex --texlive=2025 --lang=en --font=default --listings=listings --enquotes=csquotes --tweakouterquote=babel --todo=todonotes --examples=true --howtotext=true` -- `todonotes` is the preferred TODO package here.
156
157
 
157
158
  <!-- markdownlint-disable-next-line MD004 -->
158
159
  * Run `latexmk` to build the PDF
@@ -65,7 +65,7 @@ export default class extends Generator {
65
65
  //this.props.latexcompiler = "pdflatex";
66
66
  //}
67
67
 
68
- this.props.reallatexcompiler = (this.options.latexcompiler == "both") ? "lualatex" : this.options.latexcompiler;
68
+ this.props.reallatexcompiler = (this.props.latexcompiler == "both") ? "lualatex" : this.props.latexcompiler;
69
69
 
70
70
  // Convert "String" Boolean command line options
71
71
  this.props.acmreview =
@@ -101,6 +101,8 @@ export default class extends Generator {
101
101
  this.props.equote = "\"'";
102
102
  }
103
103
 
104
+ isPaperHandling(props);
105
+
104
106
  this.props.requiresShellEscape = this.props.isThesis || this.props.listings == "minted";
105
107
 
106
108
  if (this.props.docker == "no") {
@@ -108,7 +110,6 @@ export default class extends Generator {
108
110
  this.props.docker = false;
109
111
  }
110
112
 
111
- isPaperHandling(props);
112
113
  createFeatures(props);
113
114
  createHeadingCommands(props);
114
115
  createAvailable(props);
@@ -216,14 +217,22 @@ export default class extends Generator {
216
217
  this.destinationPath("Makefile"),
217
218
  this.props
218
219
  );
220
+
219
221
  this.fs.copy(
220
222
  this.templatePath("dot.aspell.conf"),
221
223
  this.destinationPath(".aspell.conf")
222
224
  );
223
- this.fs.copy(
224
- this.templatePath("dot.aspell.en.pws"),
225
- this.destinationPath(".aspell.en.pws")
226
- );
225
+ if ((this.props.language == "de") || (this.props.githubpublish)) {
226
+ this.fs.copy(
227
+ this.templatePath("dot.aspell.de.pws"),
228
+ this.destinationPath(".aspell.de.pws"));
229
+ }
230
+ if ((this.props.language == "en") || (this.props.githubpublish)) {
231
+ this.fs.copy(
232
+ this.templatePath("dot.aspell.en.pws"),
233
+ this.destinationPath(".aspell.en.pws"));
234
+ }
235
+
227
236
  if (this.props.documentclass === "lncs") {
228
237
  this.fs.copy(
229
238
  this.templatePath("splncs04nat.bst"),
@@ -350,6 +359,12 @@ export default class extends Generator {
350
359
  );
351
360
  }
352
361
 
362
+ this.fs.copy(
363
+ this.templatePath(".github/dependabot.yml"),
364
+ this.destinationPath(".github/dependabot.yml"),
365
+ this.props
366
+ );
367
+
353
368
  this.fs.copyTpl(
354
369
  this.templatePath(".github/workflows/check.yml"),
355
370
  this.destinationPath(".github/workflows/check.yml"),
@@ -138,15 +138,14 @@ export const options = [
138
138
  {
139
139
  name: "TeXLive 2024",
140
140
  value: 2024,
141
- },
141
+ }
142
142
  ];
143
- /* if (!state.overleaf) {
143
+ if (!state.overleaf) {
144
144
  res.push({
145
- name: "TeXLive 2023",
146
- value: 2023,
145
+ name: "TeXLive 2025",
146
+ value: 2025,
147
147
  });
148
148
  }
149
- */
150
149
  return res;
151
150
  },
152
151
  default(state) {
@@ -154,31 +153,51 @@ export const options = [
154
153
  return 2024;
155
154
  }
156
155
 
157
- return 2024;
156
+ return 2025;
158
157
  },
159
158
  },
160
159
  {
161
160
  type: "list",
162
161
  name: "latexcompiler",
163
162
  message: "Which latex compiler should be used?",
164
- choices: [
165
- {
166
- name: "pdflatex",
167
- value: "pdflatex",
168
- },
169
- {
170
- name: "lualatex",
171
- value: "lualatex",
172
- },
173
- {
174
- name: "lualatex and pdflatex (if switches in .tex files; default lualatex)",
175
- value: "both",
176
- },
177
- ],
178
- default: "both",
179
- when(response) {
180
- return !(response.documentclass === "ieee");
163
+ choices(state) {
164
+ const res = [
165
+ {
166
+ name: "pdflatex",
167
+ value: "pdflatex",
168
+ }
169
+ ];
170
+ if (state.texlive == 2025) {
171
+ res.push(
172
+ {
173
+ name: "pdflatex-dev",
174
+ value: "pdflatex-dev",
175
+ }
176
+ );
177
+ }
178
+ res.push(
179
+ {
180
+ name: "lualatex",
181
+ value: "lualatex",
182
+ }
183
+ );
184
+ if (state.texlive == 2025) {
185
+ res.push(
186
+ {
187
+ name: "lualatex-dev",
188
+ value: "lualatex-dev",
189
+ }
190
+ );
191
+ }
192
+ res.push(
193
+ {
194
+ name: "lualatex and pdflatex (if switches in .tex files; default lualatex)",
195
+ value: "both",
196
+ }
197
+ );
198
+ return res;
181
199
  },
200
+ default: "both",
182
201
  },
183
202
  {
184
203
  when(response) {
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: '/'
5
+ schedule:
6
+ interval: 'weekly'
@@ -1,6 +1,9 @@
1
1
  name: Check
2
2
  on:
3
3
  push:
4
+ branches:
5
+ - main
6
+ pull_request:
4
7
  schedule:
5
8
  - cron: "5 6 * * 1"
6
9
  workflow_dispatch:
@@ -13,11 +16,12 @@ jobs:
13
16
  runs-on: ubuntu-latest
14
17
  steps:
15
18
  - name: Set up Git repository
16
- uses: actions/checkout@v4
19
+ uses: actions/checkout@v5
17
20
  - name: Install TeX Live
18
- uses: zauguin/install-texlive@v3
21
+ uses: zauguin/install-texlive@v4
19
22
  with:
20
23
  package_file: '${{ github.workspace }}/Texlivefile'
24
+ texlive_version: <%= texlive %>
21
25
  - name: Prepare latexmk
22
26
  run: |
23
27
  updmap -sys
@@ -27,7 +31,7 @@ jobs:
27
31
  cp "_latexmkrc" "latexmkrc"
28
32
  fi
29
33
  - run: latexmk <%= filenames.main %>
30
- <% if (githubpublish || (lang == "en") && (reallatexcompiler == "lualatex")) { -%>
34
+ <% if (githubpublish || (lang == "en") && (reallatexcompiler.startsWith("lualatex"))) { -%>
31
35
 
32
36
  # Highlight mis-spelled words in the PDF
33
37
  - uses: awalsh128/cache-apt-pkgs-action@latest
@@ -35,18 +39,37 @@ jobs:
35
39
  packages: aspell aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
36
40
  version: 1.0
37
41
  execute_install_scripts: true
42
+ - name: post-setup aspell
43
+ # refs https://github.com/awalsh128/cache-apt-pkgs-action/issues/157
44
+ run: |
45
+ sudo apt-get install -y aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
38
46
  - name: aspell
47
+ <% if (githubpublish && (documentclass === "scientific-thesis")) { -%>
48
+ # Needs more adaption for scientific thesis; therefore disabled
49
+ if: false()
50
+ <% } -%>
39
51
  run: |
40
52
  for tex in $(ls *.tex content/*.tex 2>/dev/null); do
53
+ if [[ "<%= language %>" == "de" && "$tex" == thesis-example* ]]; then
54
+ continue
55
+ fi
56
+
41
57
  # The lualatex package "spelling" requires the content to be in a file ending with ".spell.bad"
42
- aspell --mode=tex <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %> --encoding=utf-8 --conf=./.aspell.conf -p ./.aspell.en.pws list < $tex | sort | uniq >> <%= filenames.main %>.spell.bad
58
+ aspell --mode=tex\
59
+ <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %>\
60
+ --encoding=utf-8\
61
+ --conf=./.aspell.conf\
62
+ -p ./.aspell.<%= language %>.pws list\
63
+ < $tex | sort | uniq >> <%= filenames.main %>.spell.bad
43
64
  done
44
65
  - run: latexmk <%= filenames.main %>
45
66
 
46
67
  - name: Job summary using texlogsieve
47
68
  run: |
69
+ texlogsieve --version | head -n 1
70
+
48
71
  echo '```' >> $GITHUB_STEP_SUMMARY
49
- texlogsieve < <%= filenames.main %>.log >> $GITHUB_STEP_SUMMARY || true
72
+ texlogsieve <%= filenames.main %>.log | tee -a "$GITHUB_STEP_SUMMARY" || true
50
73
  echo '```' >> $GITHUB_STEP_SUMMARY
51
74
  <% } -%>
52
75
  - uses: actions/upload-artifact@v4
@@ -60,7 +83,7 @@ jobs:
60
83
  runs-on: ubuntu-latest
61
84
  steps:
62
85
  - name: Set up Git repository
63
- uses: actions/checkout@v4
86
+ uses: actions/checkout@v5
64
87
  - name: Install TeX Live
65
88
  uses: zauguin/install-texlive@v4
66
89
  with:
@@ -95,25 +118,33 @@ jobs:
95
118
  runs-on: ubuntu-latest
96
119
  steps:
97
120
  - name: Set up Git repository
98
- uses: actions/checkout@v4
121
+ uses: actions/checkout@v5
99
122
 
100
123
  # Original action does not work well - see https://github.com/awalsh128/cache-apt-pkgs-action/pull/136
101
124
  # The action is not updated - and thus the dictionaries are not updated
102
- - uses: bscott-zebra/cache-apt-pkgs-action@avoid_using_xargs
125
+ - uses: awalsh128/cache-apt-pkgs-action@latest
103
126
  with:
104
- packages: aspell aspell-en<% if (language == 'de') { %> aspell-de<% } %>
127
+ packages: aspell aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
105
128
  version: 1.0
106
129
  execute_install_scripts: true
107
-
130
+ - name: post-setup aspell
131
+ # refs https://github.com/awalsh128/cache-apt-pkgs-action/issues/157
132
+ run: |
133
+ sudo apt-get install -y aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
108
134
  - name: aspell
109
135
  run: |
110
136
  echo "| file | status |" >> $GITHUB_STEP_SUMMARY
111
137
  echo "| -- | -- |" >> $GITHUB_STEP_SUMMARY
112
138
  failure=0
113
139
  for tex in $(ls *.tex content/*.tex 2>/dev/null); do
114
- # One could add a personal dictionary using --personal=.aspell.en.pws
140
+ if [[ "<%= language %>" == "de" && "$tex" == thesis-example* ]]; then
141
+ echo "$tex skipped"
142
+ continue
143
+ fi
144
+ echo "Checking $tex..."
145
+
115
146
  # Words are output in the order they appear in the document
116
- words=$(aspell --mode=tex <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %> --encoding=utf-8 --conf=./.aspell.conf -p ./.aspell.en.pws list < $tex | tr '\n' ' ')
147
+ words=$(aspell --mode=tex <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %> --encoding=utf-8 --conf=./.aspell.conf -p ./.aspell.<%= language %>.pws list < $tex | tr '\n' ' ')
117
148
  if [ -z "$words" ]; then
118
149
  echo "| $tex | ✅ |" >> $GITHUB_STEP_SUMMARY
119
150
  else
@@ -125,15 +156,15 @@ jobs:
125
156
  done
126
157
  if [[ "$failure" -eq 1 ]]; then
127
158
  echo "" >> $GITHUB_STEP_SUMMARY
128
- echo "If you want to ignore words, add them to `.aspell.en.pws` (your personal aspell dictionary)"
159
+ echo 'If you want to ignore words, add them to `.aspell.<%= language %>.pws` (your personal aspell dictionary)' >> $GITHUB_STEP_SUMMARY
129
160
  exit 1
130
161
  fi
131
162
  indent:
132
163
  runs-on: ubuntu-latest
133
164
  steps:
134
165
  - name: Set up Git repository
135
- uses: actions/checkout@v4
136
- - uses: bscott-zebra/cache-apt-pkgs-action@avoid_using_xargs
166
+ uses: actions/checkout@v5
167
+ - uses: awalsh128/cache-apt-pkgs-action@latest
137
168
  with:
138
169
  packages: libyaml-tiny-perl libfile-homedir-perl
139
170
  version: 1.0
@@ -1,6 +1,7 @@
1
1
  FROM danteev/texlive:<% switch (texlive) {
2
- case 2024: %>edge<% break;
3
- case 2023: %>edge<% break;
2
+ case 2025: %>edge<% break;
3
+ case 2024: %>2024-B<% break;
4
+ case 2023: %>2023-A<% break;
4
5
  // 2022 does not exist - see https://github.com/dante-ev/docker-texlive/blob/main/CHANGELOG.md
5
6
  case 2021: %>2021-D<% break;
6
7
  } -%>
@@ -1,5 +1,6 @@
1
1
  FROM registry.gitlab.com/islandoftex/images/texlive:<% switch (texlive) {
2
- case 2024: %>latest<% break;
2
+ case 2025: %>latest<% break;
3
+ case 2024: %>TL2024-historic<% break;
3
4
  case 2023: %>TL2023-historic<% break;
4
5
  } -%>
5
6
 
@@ -1,10 +1,11 @@
1
1
  FROM reitzig/texlive-<% switch (latexcompiler) {
2
2
  case "pdflatex": %>base<% break;
3
- case "lualatex": case "both": %>base-luatex<% break;
3
+ case "lualatex": case "lualatex-dev": case "both": %>base-luatex<% break;
4
4
  default: %>base<% break;
5
5
  } -%>:<% switch (texlive) {
6
- case 2024: %>2024.11<% break;
7
- case 2023: %>2023.1<% break;
6
+ case 2025: %>2025.2<% break;
7
+ case 2024: %>2024.13<% break;
8
+ case 2023: %>2023.3<% break;
8
9
  case 2022: %>2022.8<% break;
9
10
  case 2021: %>2021.9<% break;
10
11
  } -%>
@@ -23,7 +24,7 @@ RUN xargs tlmgr install --repository https://mirror.typesetting.eu < "/work/src/
23
24
  <% } -%>
24
25
  sha256sum "/work/src/Texlivefile" > "/work/tmp/Texlivefile.sha" &&\
25
26
  # make <% if (bibtextool == "biblatex") { %>biber, <% } %>latexmk and texlogsieve available
26
- tlmgr path add<% if ((latexcompiler === "lualatex") || (latexcompiler === "both")) { %> &&\
27
+ tlmgr path add<% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler === "both")) { %> &&\
27
28
  # update font index
28
29
  luaotfload-tool --update<% } %>
29
30
  # use latest texlogsieve
@@ -89,7 +89,6 @@ edit:
89
89
  aspell:
90
90
  for tex in $(TEX_FILES);
91
91
  do
92
- # One could add a personal dictionary using --personal=.aspell.en.pws
93
92
  aspell --mode=tex <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %> --encoding=utf-8 --conf=./.aspell.conf -p ./.aspell.en.pws -c $$tex;
94
93
  done
95
94
 
@@ -1,7 +1,7 @@
1
1
  <% if (githubpublish) {
2
2
  switch (documentclass) {
3
3
  case "lncs": -%>
4
- # Simplified LNCS Template
4
+ # Enhanced LNCS Template
5
5
 
6
6
  > Quick start for modern LaTeXing with [LNCS](http://www.springer.com/computer/lncs).
7
7
  <% if (texlive > 2024) { -%>
@@ -10,7 +10,7 @@ Please be aware that this template is optimized for overleaf, which is based on
10
10
  In case you are running a later TeXLive version (or use MiKTeX), please regenerate the template with the help of the [latex template generator].
11
11
  <% } -%>
12
12
  <% break; case "ieee": -%>
13
- # Simplified IEEE Template
13
+ # Enhanced IEEE Template
14
14
 
15
15
  > Quick start for modern LaTeXing for an IEEE conference, based on the [Manuscript Template for Conference Proceedings](https://www.ieee.org/conferences_events/conferences/publishing/templates.html).
16
16
 
@@ -31,8 +31,8 @@ In case you need other configurations, please adapt `paper.tex` or run the [late
31
31
 
32
32
  > Quick start for modern LaTeXing for an ACM conference.
33
33
 
34
- <% if (texlive > 2024) { -%>
35
- Please be aware that this template is optimized for overleaf, which is based on TeXLive 2024.
34
+ <% if (texlive > 2025) { -%>
35
+ Please be aware that this template is optimized for overleaf, which is based on TeXLive 2025.
36
36
  In case you are running a later TeXLive version (or use MiKTeX), please regenerate the template with the help of the [latex template generator].
37
37
 
38
38
  <% } -%>
@@ -55,6 +55,13 @@ In case you need other configurations, please adapt `paper.tex` or run the [late
55
55
  - Thesis (minted) 🇺🇸: [thesis-example-example-minted-en.pdf](http://latextemplates.github.io/uni-stuttgart-dissertation-template/thesis-example-example-minted-en.pdf)
56
56
  - Book cover: [cover.pdf](http://latextemplates.github.io/uni-stuttgart-dissertation-template/cover.pdf)
57
57
  - Spine of the book cover: [spine.pdf](http://latextemplates.github.io/uni-stuttgart-dissertation-template/spine.pdf)
58
+
59
+ ## Quick start
60
+
61
+ 1. Download
62
+ 2. Windows: Open MiKTeX Console and install package `inconsolata`.
63
+ 3. Install Python and install minted3: `python -m pip install --force-reinstall latexminted`
64
+ 4. Start texing
58
65
  <% break; case "scientific-thesis": -%>
59
66
  # LaTeX Template for a Scientific Thesis
60
67
 
@@ -130,7 +137,7 @@ It is configured for Windows and especially sets Sumatra PDF as default PDF view
130
137
  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
138
 
132
139
  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>.
140
+ For instance, for support of `makeglossaries` see <http://tex.stackexchange.com/questions/1226/how-to-make-latexmk-use-makeglossaries>.
134
141
 
135
142
  ### Debugging LaTeX errors
136
143
 
@@ -184,13 +191,13 @@ Following features are enabled in this template:
184
191
  <% } -%>
185
192
  <% if (listings == "minted" || githubpublish) { -%>
186
193
  - <% 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.
194
+ `minted` provides better output than [listings], but requires [latexminted] to be installed.
188
195
  <% } -%>
189
196
  <% if (latexcompiler == "pdflatex" || githubpublish) { -%>
190
197
  - 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.
191
198
  This is enabled by `glyphtounicode`, which encodes ligatures (such as fl) using unicode characters.
192
199
  <% } -%>
193
- <% if (reallatexcompiler == "lualatex" || githubpublish) { -%>
200
+ <% if ((reallatexcompiler.startsWith("lualatex")) || githubpublish) { -%>
194
201
  - Ligatures are removed if they are typeset at the wrong place.
195
202
  This is enabled by the [selnolig](https://tex.meta.stackexchange.com/questions/2884/new-package-selnolig-that-automates-suppression-of-typographic-ligatures) package.
196
203
  <% } -%>
@@ -202,7 +209,7 @@ Following features are enabled in this template:
202
209
  <% } -%>
203
210
  - [microtypographic extensions](https://www.ctan.org/pkg/microtype) for a better look of the paper.
204
211
  - Modern packages such as [microtype], [cleveref]<% if (enquotes == "csquotes" || githubpublish) { %>, [csquotes]<% } %><% if (documentclass != 'lncs') { %>, [paralist]<% } %>, [hyperref], [hypcap], [upquote]<% if (documentclass == 'lncs') { %>, [natbib]<% } %>, [booktabs].
205
- <% if (latexcompiler == "lualatex" || githubpublish) { -%>
212
+ <% if ((reallatexcompiler.startsWith("lualatex")) || githubpublish) { -%>
206
213
  - <% if (githubpublish && !isThesis) { -%>(Optional) <% } %>LaTeX compilation using the modern [lualatex] compiler.
207
214
  For older systems, [pdflatex](https://en.wikipedia.org/wiki/PdfTeX) is still supported.
208
215
  <% } -%>
@@ -243,7 +250,7 @@ You can <% if (!githubpublish) { %>re<% } %>run the [latex template generator] t
243
250
  <% if (enquotes == "plainlatex") { -%>
244
251
  - Modern packages such as <% if (enquotes == "plainlatex") { missingFeatures = true; %>[csquotes]<% } %>.
245
252
  <% } -%>
246
- <% if (latexcompiler != "lualatex") { -%>
253
+ <% if (!reallatexcompiler.startsWith("lualatex")) { -%>
247
254
  - LaTeX compilation using the modern [lualatex] compiler.
248
255
  <% } -%>
249
256
  <% } -%>
@@ -266,10 +273,10 @@ A first step towards that is done at the [biblatex-ieee package](https://ctan.or
266
273
  case "lncs": -%>
267
274
  ## Examples
268
275
 
269
- - [paper.pdf](https://latextemplates.github.io/LNCS/paper.pdf) - normal paper.
270
- - [paper-minted.pdf](https://latextemplates.github.io/LNCS/paper-minted.pdf) - paper showing minted in action.
271
- - [paper-newtx.pdf](http://latextemplates.github.io/LNCS/paper-newtx.pdf) - paper typeset in Times Roman to save some space.
272
- - [paper-minted-newtx.pdf](http://latextemplates.github.io/LNCS/paper-minted-newtx.pdf) - paper typeset in Times Roman to save some space.
276
+ - [paper.pdf](https://latextemplates.github.io/lncs-enhanced/paper.pdf) - normal paper.
277
+ - [paper-minted.pdf](https://latextemplates.github.io/lncs-enhanced/paper-minted.pdf) - paper showing minted in action.
278
+ - [paper-newtx.pdf](http://latextemplates.github.io/lncs-enhanced/paper-newtx.pdf) - paper typeset in Times Roman to save some space.
279
+ - [paper-minted-newtx.pdf](http://latextemplates.github.io/lncs-enhanced/paper-minted-newtx.pdf) - paper typeset in Times Roman to save some space.
273
280
 
274
281
  ## Background
275
282
 
@@ -277,12 +284,12 @@ The official template is available at <https://www.springer.com/gp/computer-scie
277
284
 
278
285
  ## Quick start
279
286
 
280
- - Click on `Download ZIP` or [here](https://github.com/latextemplates/LNCS/archive/main.zip).
287
+ - Click on `Download ZIP` or [here](https://github.com/latextemplates/lncs-enhanced/archive/main.zip).
281
288
  - Extract `LNCS-main.zip` in the folder where you want to write your paper.
282
289
  - Edit [paper.tex](paper.tex).
283
290
  - `latexmk paper`.
284
291
 
285
- When using on overleaf, you have to switch Overleaf to use TeXLive 2024 (or later).
292
+ When using on overleaf, you have to switch Overleaf to use TeXLive 2025 (or later).
286
293
 
287
294
  As you see on GitHub actions, the paper compiles out of the box.
288
295
  There is no need to adjust the packages or to remove some of them.
@@ -292,8 +299,8 @@ In case you think, a package needs to be altered or added, feel free to open an
292
299
  <% break; case "ieee": -%>
293
300
  ## Examples
294
301
 
295
- - [paper.pdf](https://latextemplates.github.io/IEEE/paper.pdf) - regular conference paper.
296
- - [paper-minted.pdf](https://latextemplates.github.io/IEEE/paper-minted.pdf) - conference paper showing minted in action.
302
+ - [paper.pdf](https://latextemplates.github.io/ieee-enhanced/paper.pdf) - regular conference paper.
303
+ - [paper-minted.pdf](https://latextemplates.github.io/ieee-enhanced/paper-minted.pdf) - conference paper showing minted in action.
297
304
 
298
305
  ## Quick start
299
306
 
@@ -368,25 +375,25 @@ See [docs/latex-setup](docs/latex-setup) for refined installation instructions.
368
375
  To have minted running properly, you have to do following steps on Windows:
369
376
 
370
377
  1. Install python: `choco install python` - that uses [chocolatey](https://chocolatey.org/) to install Python
371
- 2. Install [pygments]: `pip instal pygments` - that uses the Pyhton package manager to install the pygments library
378
+ 2. Install [latexminted]: `pip instal latexminted` - that uses the Python package manager to install the minted library
372
379
  3. When latexing, use `-shell-escape`: `pdflatex -shell-escape <%= filenames.main %>`.
373
380
  You can also just execute `latexmk <%= filenames.main %>`.
374
381
  <% } -%>
375
382
 
376
- ### VSCode configuration
383
+ ### VS Code configuration
377
384
 
378
385
  Currently, following extensions are recommended:
379
386
 
380
- - [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) to support LaTeX in VSCode and
387
+ - [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) to support LaTeX in VS Code and
381
388
  - [LaTeX Utilities](https://marketplace.visualstudio.com/items?itemName=tecosaur.latex-utilities) to enhance LaTeX Workshop
382
389
  - [LTeX+] to have a nice spell checker that also identifies grammar issues
383
390
 
384
- Then, change the setting of LaTeX Workshop to use biber:
391
+ Then, change the setting of LaTeX Workshop to use `biber`:
385
392
 
386
393
  Press <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>P</kbd> to open the command palette.
387
394
  Then type "JSON" and select "Preferences: Open Settings (JSON)" to open `settings.json`.
388
395
 
389
- Update the following lines in VSCode's `settings.json` to contain:
396
+ Update the following lines in VS Code's `settings.json` to contain:
390
397
 
391
398
  ```javascript
392
399
  "latex-workshop.latex.recipes": [
@@ -440,7 +447,7 @@ The following settings are additionally recommended:
440
447
  }
441
448
  ```
442
449
 
443
- Alternatively, just copy and paste the contents of the [vscode.settings.json](vscode.settings.json) file to your VSCode settings file.
450
+ Alternatively, just copy and paste the contents of the [vscode.settings.json](vscode.settings.json) file to your VS Code settings file.
444
451
 
445
452
  You can manually trigger compilation by hitting the green button in the extension or using other methods provided by LaTeX Workshop.
446
453
 
@@ -604,18 +611,27 @@ See "How can I reformat my `.tex` files?"
604
611
  ### Q: I want to use minted, because I think its syntax highlighting seems to be better.
605
612
 
606
613
  You can re-generate the template and choose `minted` as listings environment.
607
- Moreover, ensure that python and [pygments](https://pygments.org/) are installed properly:
614
+ Moreover, ensure that python and [latexminted] are installed properly:
608
615
 
609
616
  - `choco install python`
610
- - `pip install pygments`
617
+ - `pip install latexminted`
611
618
 
612
619
  ### Q: I have troubles with minted on Windows.
613
620
 
621
+ For instance, on gets following output:
622
+
623
+ ```text
624
+ ! Package minted Error: minted v3+ executable is not installed, is not added to
625
+ PATH, or is not permitted with restricted shell escape; or MiKTeX is being use
626
+ d with -aux-directory or -output-directory without setting a TEXMF_OUTPUT_DIREC
627
+ TORY environment variable.
628
+ ```
629
+
614
630
  Try out following command to update `latexminted`.
615
631
  See [minted#425](https://github.com/gpoore/minted/issues/425) for details.
616
632
 
617
633
  ```shell
618
- py -m pip install --force-reinstall latexminted
634
+ python3 -m pip install --force-reinstall latexminted
619
635
  ```
620
636
 
621
637
  <% if (documentclass == 'lncs') { -%>
@@ -677,6 +693,10 @@ luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
677
693
 
678
694
  Install the package `lm-math` manually.
679
695
 
696
+ ### Q: I get ``File `ushyphex.tex' not found.``
697
+
698
+ Install package `tugboat`.
699
+
680
700
  <% if (isThesis) { -%>
681
701
  ### Q: I get `! Package fontspec Error: The font "LinuxLibertineO" cannot be found.`. What can I do?
682
702
 
@@ -817,7 +837,7 @@ Any derived work can freely be relicensed and can omit original copyright and li
817
837
  [LanguageTool]: https://languagetool.org/
818
838
  [latex template generator]: https://www.npmjs.com/package/generator-latex-template
819
839
  [LTeX+]: https://marketplace.visualstudio.com/items?itemName=ltex-plus.vscode-ltex-plus
820
- [pygments]: https://pygments.org/
840
+ [latexminted]: https://pypi.org/project/latexminted/
821
841
  [Sumatra PDF]: https://www.sumatrapdfreader.org/free-pdf-reader
822
842
  <% if (documentclass == 'lncs') { -%>
823
843
 
@@ -35,7 +35,7 @@ bookcover<%# required for cover.tex%>
35
35
  <% } -%>
36
36
  booktabs
37
37
  caption
38
- <% if (githubpublish || (reallatexcompiler == "lualatex") && ((font == "arial") || (documentclass == "ustutt"))) { -%>
38
+ <% if (githubpublish || isThesis) { -%>
39
39
  catchfile
40
40
  <% } -%>
41
41
  cfr-lm
@@ -92,7 +92,7 @@ floatflt<%# required by acmart and lncs %>
92
92
  fncychap
93
93
  <% } -%>
94
94
  fontaxes<%# required by at least acmart and scientific-thesis-template %>
95
- <% if (githubpublish || (reallatexcompiler == "lualatex")) { -%>
95
+ <% if (githubpublish || (reallatexcompiler.startsWith("lualatex"))) { -%>
96
96
  fontspec
97
97
  <% } -%>
98
98
  <% if (githubpublish || isThesis) { -%>
@@ -140,6 +140,10 @@ koma-script
140
140
  kvdefinekeys
141
141
  kvoptions
142
142
  kvsetkeys
143
+ <% if (latexcompiler.endsWith("-dev")) { -%>
144
+ latex-bin-dev
145
+ latex-bin-dev.x86_64-linux
146
+ <% } -%>
143
147
  letltxmacro
144
148
  <% if (githubpublish || (documentclass == "acmart")) { -%>
145
149
  libertine
@@ -155,12 +159,12 @@ ltxcmds
155
159
  <% if (githubpublish || isThesis) { -%>
156
160
  lscapeenhanced
157
161
  <% } -%>
158
- <% if (githubpublish || (reallatexcompiler == "lualatex")) { -%>
162
+ <% if (githubpublish || (reallatexcompiler.startsWith("lualatex"))) { -%>
159
163
  luacode
160
164
  lualatex-math
161
165
  luatex85
162
166
  luatexbase
163
- <% if (githubpublish || (lang == "en") && (reallatexcompiler == "lualatex")) { -%>
167
+ <% if (githubpublish || (lang == "en") && (reallatexcompiler.startsWith("lualatex"))) { -%>
164
168
  luaxml<%# required by spelling %>
165
169
  <% } -%>
166
170
  <% } -%>
@@ -190,7 +194,7 @@ natbib
190
194
  <% if (githubpublish || (documentclass == "acmart")) { -%>
191
195
  ncctools<%# provides manyfoot%>
192
196
  <% } -%>
193
- <% if (githubpublish || (reallatexcompiler == "lualatex")) { -%>
197
+ <% if (githubpublish || (reallatexcompiler.startsWith("lualatex"))) { -%>
194
198
  newcomputermodern
195
199
  <% } -%>
196
200
  <% if (githubpublish || (listings == 'minted')) { -%>
@@ -239,7 +243,7 @@ scientific-thesis-cover
239
243
  <% if (githubpublish || isThesis) { -%>
240
244
  scrhack
241
245
  <% } -%>
242
- <% if (githubpublish || (lang == "en") && (reallatexcompiler == "lualatex")) { -%>
246
+ <% if (githubpublish || (lang == "en") && (reallatexcompiler.startsWith("lualatex"))) { -%>
243
247
  selnolig
244
248
  <% } -%>
245
249
  <% if (githubpublish || (documentclass == "acmart") || isThesis) { -%>
@@ -255,7 +259,7 @@ siunitx
255
259
  snapshot
256
260
  soul
257
261
  soulpos
258
- <% if (githubpublish || (lang == "en") && (reallatexcompiler == "lualatex")) { -%>
262
+ <% if (githubpublish || (lang == "en") && (reallatexcompiler.startsWith("lualatex"))) { -%>
259
263
  spelling
260
264
  <% } -%>
261
265
  stringenc
@@ -0,0 +1,123 @@
1
+ personal_ws-1.1 en 122 utf-8
2
+ ACM
3
+ Atlantic
4
+ BPEL
5
+ BPMN
6
+ Bei
7
+ Cleveref
8
+ Das
9
+ Database
10
+ Diag
11
+ Firstname
12
+ Geänderter
13
+ Hier
14
+ IEEEtran
15
+ JSON
16
+ JabRef
17
+ Kommentar
18
+ LaTeX
19
+ LaTeXing
20
+ Lastname
21
+ Manuelle
22
+ Markierter
23
+ Markierung
24
+ North
25
+ OMG
26
+ ORCID
27
+ OldStyle
28
+ Organization
29
+ Practitioner
30
+ RDBMS
31
+ RGB
32
+ TODOs
33
+ Textfarbe
34
+ Treaty
35
+ UML
36
+ Worten
37
+ abbreviationdot
38
+ aboveskip
39
+ acmnumeric
40
+ angepasst
41
+ applica
42
+ args
43
+ auch
44
+ backticks
45
+ basewidth
46
+ basicstyle
47
+ bei
48
+ belowskip
49
+ breaklines
50
+ category
51
+ cls
52
+ commentstyle
53
+ cref
54
+ da
55
+ dante
56
+ dazu
57
+ der
58
+ dwarflike
59
+ eclipseKeywords
60
+ eclipseStrings
61
+ ein
62
+ einigen
63
+ enquote
64
+ error
65
+ escapeinside
66
+ ff
67
+ firstline
68
+ firstnumber
69
+ flXML
70
+ fontsize
71
+ fr
72
+ funktioniert
73
+ für
74
+ geändert
75
+ gp
76
+ html
77
+ hypertext
78
+ ist
79
+ itemizations
80
+ json
81
+ kräftig
82
+ language
83
+ lastline
84
+ lastname
85
+ letzten
86
+ linenos
87
+ longplural
88
+ lst
89
+ lstlisting
90
+ markup
91
+ microtype
92
+ mindflow
93
+ morecomment
94
+ nato
95
+ nd
96
+ nm
97
+ noch
98
+ numbersep
99
+ numberstyle
100
+ nur
101
+ oldstyle
102
+ paralist
103
+ powerset
104
+ produziert
105
+ pygments
106
+ rdbms
107
+ seit
108
+ shortplural
109
+ showstringspaces
110
+ siunitx
111
+ stepnumber
112
+ stringstyle
113
+ subcaption
114
+ subfig
115
+ subfigure
116
+ subfigures
117
+ tion
118
+ tt
119
+ werden
120
+ wird
121
+ wurde
122
+ xleftmargin
123
+ œ
@@ -1,100 +1,123 @@
1
- personal_ws-1.1 en 26
2
- TODOs
3
- LaTeX
4
- JabRef
1
+ personal_ws-1.1 en 122 utf-8
2
+ ACM
3
+ Atlantic
4
+ BPEL
5
+ BPMN
6
+ Bei
7
+ Cleveref
8
+ Das
9
+ Database
10
+ Diag
11
+ Firstname
12
+ Geänderter
13
+ Hier
14
+ IEEEtran
5
15
  JSON
16
+ JabRef
17
+ Kommentar
18
+ LaTeX
19
+ LaTeXing
20
+ Lastname
21
+ Manuelle
22
+ Markierter
23
+ Markierung
24
+ North
25
+ OMG
26
+ ORCID
27
+ OldStyle
28
+ Organization
29
+ Practitioner
30
+ RDBMS
31
+ RGB
32
+ TODOs
33
+ Textfarbe
34
+ Treaty
35
+ UML
36
+ Worten
37
+ abbreviationdot
38
+ aboveskip
39
+ acmnumeric
40
+ angepasst
41
+ applica
42
+ args
43
+ auch
6
44
  backticks
45
+ basewidth
46
+ basicstyle
47
+ bei
48
+ belowskip
7
49
  breaklines
8
- dwarflike
9
-
10
- OldStyle
11
- Cleveref
50
+ category
51
+ cls
52
+ commentstyle
12
53
  cref
54
+ da
55
+ dante
56
+ dazu
57
+ der
58
+ dwarflike
59
+ eclipseKeywords
60
+ eclipseStrings
61
+ ein
62
+ einigen
13
63
  enquote
64
+ error
65
+ escapeinside
66
+ ff
14
67
  firstline
15
68
  firstnumber
69
+ flXML
16
70
  fontsize
71
+ fr
72
+ funktioniert
73
+ für
74
+ geändert
75
+ gp
76
+ html
77
+ hypertext
78
+ ist
79
+ itemizations
80
+ json
81
+ kräftig
82
+ language
17
83
  lastline
84
+ lastname
85
+ letzten
18
86
  linenos
87
+ longplural
88
+ lst
89
+ lstlisting
90
+ markup
19
91
  microtype
20
92
  mindflow
93
+ morecomment
94
+ nato
95
+ nd
21
96
  nm
97
+ noch
22
98
  numbersep
99
+ numberstyle
100
+ nur
23
101
  oldstyle
24
102
  paralist
25
103
  powerset
104
+ produziert
26
105
  pygments
106
+ rdbms
107
+ seit
108
+ shortplural
109
+ showstringspaces
27
110
  siunitx
28
-
29
- tt
30
- eclipseStrings
31
- RGB
32
- eclipseKeywords
33
- RGB
34
- json
35
- basicstyle
36
- commentstyle
37
- stringstyle
38
- numberstyle
39
111
  stepnumber
40
- showstringspaces
41
- morecomment
42
- œ
43
- lstlisting
44
- lstlisting
45
- Firstname
46
- Lastname
47
- escapeinside
48
- basewidth
49
- aboveskip
50
- belowskip
51
- xleftmargin
52
- numberstyle
53
- Markierter
54
- Bei
112
+ stringstyle
113
+ subcaption
114
+ subfig
115
+ subfigure
116
+ subfigures
117
+ tion
118
+ tt
119
+ werden
55
120
  wird
56
- nur
57
- Textfarbe
58
- geändert
59
- da
60
- auch
61
- bei
62
- einigen
63
- Worten
64
- funktioniert
65
- Markierter
66
- Kommentar
67
- dazu
68
- Manuelle
69
- Markierung
70
- für
71
- der
72
- seit
73
- der
74
- letzten
75
- geändert
76
121
  wurde
77
- Das
78
- ist
79
- ein
80
- angepasst
81
- Geänderter
82
- Hier
83
- nur
84
- ein
85
- Kommentar
86
- Hier
87
- noch
88
- kräftig
89
- produziert
90
- werden
91
- applica
92
- tion
93
- applica
94
- tion
95
- Diag
96
- lst
97
- flXML
98
- json
99
- args
100
- nd
122
+ xleftmargin
123
+ œ
@@ -2,6 +2,8 @@
2
2
  <%= filenames.main %>-*.pdf
3
3
  figures/*.pdf_tex
4
4
 
5
+ printer-version--cover/cover.pdf
6
+
5
7
  # glossaries
6
8
  *.glo-abr
7
9
 
@@ -32,8 +34,8 @@ figures/*.pdf_tex
32
34
  # IntelliJ
33
35
  .idea/
34
36
 
35
-
36
-
37
+ # new minted
38
+ *.data.minted
37
39
 
38
40
  # Created by https://www.toptal.com/developers/gitignore/api/emacs,latex,linux,macos,jabref,windows,libreoffice,microsoftoffice,visualstudiocode
39
41
  # Edit at https://www.toptal.com/developers/gitignore?templates=emacs,latex,linux,macos,jabref,windows,libreoffice,microsoftoffice,visualstudiocode
@@ -42,7 +42,7 @@
42
42
  \makeatother
43
43
 
44
44
  <% } -%>
45
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
45
+ <% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { indent = '' -%>
46
46
  <% if (latexcompiler == "both") { indent = ' ' -%>
47
47
  \ifluatex
48
48
  <% } -%>
@@ -70,7 +70,11 @@ lualatex
70
70
  <%= indent %>% No [Ligatures=TeX], because we want " rendered as upquotes, not as typographic correct ones
71
71
  <%= indent %>% shapely l, upright quotes
72
72
  <%= indent %>% If it is too large, add ",Scale=.9"
73
- <%= indent %>\setmonofont[StylisticSet={1,3}]{Inconsolatazi4}
73
+ <%= indent %>\ifwindows
74
+ <%= indent %> \setmonofont[StylisticSet={1,3}]{Inconsolata}
75
+ <%= indent %>\else
76
+ <%= indent %> \setmonofont[StylisticSet={1,3}]{Inconsolatazi4}
77
+ <%= indent %>\fi
74
78
  <% break; case "times": -%>
75
79
  <%# Times New Roman and LuaLaTeX -%>
76
80
  <%# -%>
@@ -97,7 +101,11 @@ lualatex
97
101
  <% } else { -%>
98
102
  <%= indent %>% shapely l, upright quotes
99
103
  <%= indent %>% Normal scaling is too large --> thus, we use ",Scale=.9"
100
- <%= indent %>\setmonofont[StylisticSet={1,3},Scale=.9]{Inconsolatazi4}
104
+ <%= indent %>\ifwindows
105
+ <%= indent %> \setmonofont[StylisticSet={1,3},Scale=.9]{Inconsolata}
106
+ <%= indent %>\else
107
+ <%= indent %> \setmonofont[StylisticSet={1,3},Scale=.9]{Inconsolatazi4}
108
+ <%= indent %>\fi
101
109
  <% } -%>
102
110
  <% break; default: -%>
103
111
  <%# "default" font configuration -%>
@@ -119,7 +127,11 @@ lualatex
119
127
  <%= indent %>% No [Ligatures=TeX], because we want " rendered as upquotes, not as typographic correct ones
120
128
  <%= indent %>% shapely l, upright quotes
121
129
  <%= indent %>% If it is too large, add ",Scale=.9"
122
- <%= indent %>\setmonofont[StylisticSet={1,3}]{Inconsolatazi4}
130
+ <%= indent %>\ifwindows
131
+ <%= indent %> \setmonofont[StylisticSet={1,3}]{Inconsolata}
132
+ <%= indent %>\else
133
+ <%= indent %> \setmonofont[StylisticSet={1,3}]{Inconsolatazi4}
134
+ <%= indent %>\fi
123
135
  <% break; case "scientific-thesis": -%>
124
136
 
125
137
  <%= indent %>% TODO
@@ -158,8 +170,9 @@ lualatex
158
170
  <%= indent %>% For more information see https://ctan.org/pkg/selnolig
159
171
  <%= indent %>% language "english" or "ngerman" is passed to selnolig by the document class
160
172
  <%= indent %>\usepackage{selnolig}
173
+
161
174
  <% } -%>
162
- <% if ((latexcompiler != "lualatex") || (latexcompiler == "both")) { -%>
175
+ <% if ((!reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { -%>
163
176
  <% if (latexcompiler == "both") { -%>
164
177
  \else
165
178
  <% } -%>
@@ -215,8 +228,8 @@ In addition, we make the code appear more nice -%>
215
228
  \fi
216
229
  <% } -%>
217
230
  <% } -%>
218
- <% if (isThesis) { -%>
219
231
 
232
+ <% if (isThesis) { -%>
220
233
  % DE: Noch mehr Symbole
221
234
  %\usepackage{stmaryrd} %fuer \ovee, \owedge, \otimes
222
235
  %\usepackage{marvosym} %fuer \Writinghand %patched to not redefine \Rightarrow
@@ -280,9 +293,9 @@ In addition, we make the code appear more nice -%>
280
293
  %\usepackage{marvosym} %fuer \Writinghand %patched to not redefine \Rightarrow
281
294
  %\usepackage{mathrsfs} %mittels \mathscr{} schoenen geschwungenen Buchstaben erzeugen
282
295
  %\usepackage{calrsfs} %\mathcal{} ein bisserl dickeren buchstaben erzeugen - sieht net so gut aus.
296
+
283
297
  <% } -%>
284
298
  <% if (documentclass == 'scientific-thesis') { -%>
285
-
286
299
  \automark[section]{chapter}
287
300
  \setkomafont{pageheadfoot}{\normalfont\sffamily}
288
301
  \setkomafont{pagenumber}{\normalfont\sffamily}
@@ -293,9 +306,9 @@ In addition, we make the code appear more nice -%>
293
306
  \cfoot[]{}
294
307
  \ofoot[\usekomafont{pagenumber}\thepage]{\usekomafont{pagenumber}\thepage}
295
308
  \ifoot[]{}
309
+
296
310
  <% } -%>
297
311
  <% if (documentclass == 'ustutt') { -%>
298
-
299
312
  % Zusatzliche Symbole (Text Companion font extension)
300
313
  \usepackage{textcomp}
301
314
 
@@ -305,4 +318,5 @@ In addition, we make the code appear more nice -%>
305
318
  \setkomafont{pagenumber}{\small\sffamily\bfseries}
306
319
 
307
320
  \typearea[current]{last}
321
+
308
322
  <% } -%>
@@ -1,4 +1,4 @@
1
- $pdflatex = '<% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { %>lualatex <% } else {%>pdflatex <% } if (requiresShellEscape) { %>--shell-escape <% } %>--file-line-error --synctex=-1 %O %S';
1
+ $pdflatex = '<%= reallatexcompiler %> <% if (requiresShellEscape) { %>--shell-escape <% } %>--file-line-error --synctex=-1 %O %S';
2
2
 
3
3
  #Use SumatraPDF instead of the default PDF viewer
4
4
  $pdf_previewer = 'start "C:\Program Files\SumatraPDF\SumatraPDF.exe"';
@@ -116,10 +116,12 @@
116
116
  <% if (latexcompiler == "both") { -%>
117
117
 
118
118
  \usepackage{iftex}
119
- <% if (isThesis) { -%>\usepackage{ifplatform}
120
119
  <% } -%>
120
+ <% if (isThesis) { -%>
121
121
 
122
+ \usepackage{ifplatform}
122
123
  <% } -%>
124
+
123
125
  % backticks (`) werden als solches in verbatim-Umgebungen dargestellt
124
126
  % Details unter:
125
127
  % - https://tex.stackexchange.com/a/341057/9075
@@ -136,7 +138,6 @@
136
138
 
137
139
  <% } -%>
138
140
  <%- include('font.preamble.en.tex', this); -%>
139
-
140
141
  <%- include('microtype.preamble.de.tex', this); -%>
141
142
 
142
143
  <% if (documentclass == 'ustutt') { -%>
@@ -156,7 +157,7 @@
156
157
  <% } -%>
157
158
  <%- include('diagbox.preamble.en.tex', this); -%>
158
159
 
159
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
160
+ <% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { indent = '' -%>
160
161
  <% if (latexcompiler == "both") { indent = ' ' -%>
161
162
  \ifluatex
162
163
  <% } -%>
@@ -277,7 +278,7 @@
277
278
  \newcommand{\hydash}{\penalty\@M-\hskip\z@skip}
278
279
  % Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx
279
280
  \makeatother
280
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
281
+ <% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { indent = '' -%>
281
282
 
282
283
  <% if (latexcompiler == "both") { indent = ' ' -%>
283
284
  \ifluatex
@@ -359,7 +360,7 @@
359
360
  \setstretch{1.2}
360
361
  \raggedbottom % Variable Seitenhoehen zulassen
361
362
  <% } -%>
362
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
363
+ <% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { indent = '' -%>
363
364
  <% if (latexcompiler == "both") { indent = ' ' -%>
364
365
  \ifluatex
365
366
  <% } -%>
@@ -50,7 +50,6 @@
50
50
  <% break; case "ieee": -%>
51
51
 
52
52
  % DO NOT DOWNLOAD IEEEtran.cls - Use the one of your LaTeX distribution
53
- % For the final version, replace "draftcls" by "final"
54
53
  \documentclass[<%= ieeevariant %>,<%= papersize %>paper,english]{IEEEtran}[2015/08/26]
55
54
 
56
55
  % Balance the last page using the balance package (see https://ctan.org/pkg/balance)
@@ -109,10 +108,12 @@
109
108
  <% if (latexcompiler == "both") { -%>
110
109
 
111
110
  \usepackage{iftex}
112
- <% if (isThesis) { -%>\usepackage{ifplatform}
113
111
  <% } -%>
112
+ <% if (isThesis) { -%>
114
113
 
114
+ \usepackage{ifplatform}
115
115
  <% } -%>
116
+
116
117
  % backticks (`) are rendered as such in verbatim environments.
117
118
  % See following links for details:
118
119
  % - https://tex.stackexchange.com/a/341057/9075
@@ -129,7 +130,6 @@
129
130
 
130
131
  <% } -%>
131
132
  <%- include('font.preamble.en.tex', this); -%>
132
-
133
133
  <%- include('microtype.preamble.en.tex', this); -%>
134
134
 
135
135
  <% if (documentclass == 'ustutt') { -%>
@@ -149,7 +149,7 @@
149
149
  <% } -%>
150
150
  <%- include('diagbox.preamble.en.tex', this); -%>
151
151
 
152
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
152
+ <% if ((reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { indent = '' -%>
153
153
  <% if (latexcompiler == "both") { indent = ' ' -%>
154
154
  \ifluatex
155
155
  <% } -%>
@@ -278,18 +278,6 @@
278
278
  % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details
279
279
  \input{ushyphex}
280
280
 
281
- <% if ((latexcompiler == "lualatex") || (latexcompiler == "both")) { indent = '' -%>
282
- <% if (latexcompiler == "both") { indent = ' ' -%>
283
- \ifluatex
284
- <% } -%>
285
- <%= indent %>% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig
286
- <%= indent %>% See ADR-0009 for alternatives
287
- <%= indent %>\usepackage{selnolig}
288
- <% if (latexcompiler == "both") { -%>
289
- \fi
290
- <% } -%>
291
-
292
- <% } -%>
293
281
  % correct bad hyphenation here
294
282
  \hyphenation{
295
283
  op-tical net-works semi-conduc-tor
@@ -10,7 +10,7 @@ Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einige
10
10
  \textcomment{Markierter Text.}{Kommentar dazu.}
11
11
  <%- eexample %>
12
12
 
13
- <% if (isThesis && (todo == "pdfcomment") && (latexcompiler == "lualatex")) { -%>
13
+ <% if (isThesis && (todo == "pdfcomment") && (reallatexcompiler.startsWith("lualatex"))) { -%>
14
14
  <%- bexample %>
15
15
  \hl{In Gelb hervorgehoben.}
16
16
  Provided indirectly by pdfcomment.sty (soulpos).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "generator-latex-template",
3
- "version": "2025.3.4",
3
+ "version": "2025.10.20",
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": {
@@ -21,14 +21,14 @@
21
21
  "yeoman-generator"
22
22
  ],
23
23
  "devDependencies": {
24
- "eslint": "^9.0.0",
25
- "eslint-config-prettier": "^10.0.1",
26
- "eslint-config-xo": "^0.46.0",
27
- "eslint-plugin-prettier": "^5.0.0",
28
- "husky": "^9.0.6",
29
- "jest": "^29.6.1",
30
- "lint-staged": "^15.1.0",
31
- "prettier": "^3.0.0"
24
+ "eslint": "^9.38.0",
25
+ "eslint-config-prettier": "^10.1.8",
26
+ "eslint-config-xo": "^0.49.0",
27
+ "eslint-plugin-prettier": "^5.5.4",
28
+ "husky": "^9.1.7",
29
+ "jest": "^30.2.0",
30
+ "lint-staged": "^16.2.5",
31
+ "prettier": "^3.6.2"
32
32
  },
33
33
  "engines": {
34
34
  "npm": ">= 4.0.0"
@@ -36,9 +36,9 @@
36
36
  "dependencies": {
37
37
  "chalk": "~4.1.2",
38
38
  "minimist": "^1.2.8",
39
- "patch-package": "^8.0.0",
40
- "yeoman-environment": "^4.0.0",
41
- "yeoman-generator": "~7.4.0",
39
+ "patch-package": "^8.0.1",
40
+ "yeoman-environment": "^5.0.0",
41
+ "yeoman-generator": "~7.5.1",
42
42
  "yeoman-option-or-prompt": "^2.0.1",
43
43
  "yosay": "^3.0.0"
44
44
  },