generator-latex-template 2025.3.4 → 2025.4.11

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
 
@@ -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"),
@@ -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) {
@@ -27,7 +27,7 @@ jobs:
27
27
  cp "_latexmkrc" "latexmkrc"
28
28
  fi
29
29
  - run: latexmk <%= filenames.main %>
30
- <% if (githubpublish || (lang == "en") && (reallatexcompiler == "lualatex")) { -%>
30
+ <% if (githubpublish || (lang == "en") && (reallatexcompiler.startsWith("lualatex"))) { -%>
31
31
 
32
32
  # Highlight mis-spelled words in the PDF
33
33
  - uses: awalsh128/cache-apt-pkgs-action@latest
@@ -35,18 +35,31 @@ jobs:
35
35
  packages: aspell aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
36
36
  version: 1.0
37
37
  execute_install_scripts: true
38
+ - name: post-setup aspell
39
+ # refs https://github.com/awalsh128/cache-apt-pkgs-action/issues/157
40
+ run: |
41
+ sudo apt-get install -y aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
38
42
  - name: aspell
39
43
  run: |
40
44
  for tex in $(ls *.tex content/*.tex 2>/dev/null); do
45
+ if [[ "<%= language %>" == "de" && "$tex" == thesis-example* ]]; then
46
+ continue
47
+ fi
48
+
41
49
  # 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
50
+ aspell --mode=tex\
51
+ <% if (language == 'de') { %>-l de_DE --run-together<% } else { %>-l en_US<% } %>\
52
+ --encoding=utf-8\
53
+ --conf=./.aspell.conf\
54
+ -p ./.aspell.<%= language %>.pws list\
55
+ < $tex | sort | uniq >> <%= filenames.main %>.spell.bad
43
56
  done
44
57
  - run: latexmk <%= filenames.main %>
45
58
 
46
59
  - name: Job summary using texlogsieve
47
60
  run: |
48
61
  echo '```' >> $GITHUB_STEP_SUMMARY
49
- texlogsieve < <%= filenames.main %>.log >> $GITHUB_STEP_SUMMARY || true
62
+ texlogsieve <%= filenames.main %>.log | tee -a "$GITHUB_STEP_SUMMARY" || true
50
63
  echo '```' >> $GITHUB_STEP_SUMMARY
51
64
  <% } -%>
52
65
  - uses: actions/upload-artifact@v4
@@ -99,21 +112,29 @@ jobs:
99
112
 
100
113
  # Original action does not work well - see https://github.com/awalsh128/cache-apt-pkgs-action/pull/136
101
114
  # The action is not updated - and thus the dictionaries are not updated
102
- - uses: bscott-zebra/cache-apt-pkgs-action@avoid_using_xargs
115
+ - uses: awalsh128/cache-apt-pkgs-action@latest
103
116
  with:
104
- packages: aspell aspell-en<% if (language == 'de') { %> aspell-de<% } %>
117
+ packages: aspell aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
105
118
  version: 1.0
106
119
  execute_install_scripts: true
107
-
120
+ - name: post-setup aspell
121
+ # refs https://github.com/awalsh128/cache-apt-pkgs-action/issues/157
122
+ run: |
123
+ sudo apt-get install -y aspell-en<% if (githubpublish || (language == 'de')) { %> aspell-de<% } %>
108
124
  - name: aspell
109
125
  run: |
110
126
  echo "| file | status |" >> $GITHUB_STEP_SUMMARY
111
127
  echo "| -- | -- |" >> $GITHUB_STEP_SUMMARY
112
128
  failure=0
113
129
  for tex in $(ls *.tex content/*.tex 2>/dev/null); do
114
- # One could add a personal dictionary using --personal=.aspell.en.pws
130
+ if [[ "<%= language %>" == "de" && "$tex" == thesis-example* ]]; then
131
+ echo "$tex skipped"
132
+ continue
133
+ fi
134
+ echo "Checking $tex..."
135
+
115
136
  # 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' ' ')
137
+ 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
138
  if [ -z "$words" ]; then
118
139
  echo "| $tex | ✅ |" >> $GITHUB_STEP_SUMMARY
119
140
  else
@@ -125,7 +146,7 @@ jobs:
125
146
  done
126
147
  if [[ "$failure" -eq 1 ]]; then
127
148
  echo "" >> $GITHUB_STEP_SUMMARY
128
- echo "If you want to ignore words, add them to `.aspell.en.pws` (your personal aspell dictionary)"
149
+ echo 'If you want to ignore words, add them to `.aspell.<%= language %>.pws` (your personal aspell dictionary)' >> $GITHUB_STEP_SUMMARY
129
150
  exit 1
130
151
  fi
131
152
  indent:
@@ -133,7 +154,7 @@ jobs:
133
154
  steps:
134
155
  - name: Set up Git repository
135
156
  uses: actions/checkout@v4
136
- - uses: bscott-zebra/cache-apt-pkgs-action@avoid_using_xargs
157
+ - uses: awalsh128/cache-apt-pkgs-action@latest
137
158
  with:
138
159
  packages: libyaml-tiny-perl libfile-homedir-perl
139
160
  version: 1.0
@@ -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
 
@@ -190,7 +190,7 @@ Following features are enabled in this template:
190
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.
191
191
  This is enabled by `glyphtounicode`, which encodes ligatures (such as fl) using unicode characters.
192
192
  <% } -%>
193
- <% if (reallatexcompiler == "lualatex" || githubpublish) { -%>
193
+ <% if ((reallatexcompiler.startsWith("lualatex")) || githubpublish) { -%>
194
194
  - Ligatures are removed if they are typeset at the wrong place.
195
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
196
  <% } -%>
@@ -202,7 +202,7 @@ Following features are enabled in this template:
202
202
  <% } -%>
203
203
  - [microtypographic extensions](https://www.ctan.org/pkg/microtype) for a better look of the paper.
204
204
  - 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) { -%>
205
+ <% if ((reallatexcompiler.startsWith("lualatex")) || githubpublish) { -%>
206
206
  - <% if (githubpublish && !isThesis) { -%>(Optional) <% } %>LaTeX compilation using the modern [lualatex] compiler.
207
207
  For older systems, [pdflatex](https://en.wikipedia.org/wiki/PdfTeX) is still supported.
208
208
  <% } -%>
@@ -243,7 +243,7 @@ You can <% if (!githubpublish) { %>re<% } %>run the [latex template generator] t
243
243
  <% if (enquotes == "plainlatex") { -%>
244
244
  - Modern packages such as <% if (enquotes == "plainlatex") { missingFeatures = true; %>[csquotes]<% } %>.
245
245
  <% } -%>
246
- <% if (latexcompiler != "lualatex") { -%>
246
+ <% if (!reallatexcompiler.startsWith("lualatex")) { -%>
247
247
  - LaTeX compilation using the modern [lualatex] compiler.
248
248
  <% } -%>
249
249
  <% } -%>
@@ -266,10 +266,10 @@ A first step towards that is done at the [biblatex-ieee package](https://ctan.or
266
266
  case "lncs": -%>
267
267
  ## Examples
268
268
 
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.
269
+ - [paper.pdf](https://latextemplates.github.io/lncs-enhanced/paper.pdf) - normal paper.
270
+ - [paper-minted.pdf](https://latextemplates.github.io/lncs-enhanced/paper-minted.pdf) - paper showing minted in action.
271
+ - [paper-newtx.pdf](http://latextemplates.github.io/lncs-enhanced/paper-newtx.pdf) - paper typeset in Times Roman to save some space.
272
+ - [paper-minted-newtx.pdf](http://latextemplates.github.io/lncs-enhanced/paper-minted-newtx.pdf) - paper typeset in Times Roman to save some space.
273
273
 
274
274
  ## Background
275
275
 
@@ -277,7 +277,7 @@ The official template is available at <https://www.springer.com/gp/computer-scie
277
277
 
278
278
  ## Quick start
279
279
 
280
- - Click on `Download ZIP` or [here](https://github.com/latextemplates/LNCS/archive/main.zip).
280
+ - Click on `Download ZIP` or [here](https://github.com/latextemplates/lncs-enhanced/archive/main.zip).
281
281
  - Extract `LNCS-main.zip` in the folder where you want to write your paper.
282
282
  - Edit [paper.tex](paper.tex).
283
283
  - `latexmk paper`.
@@ -292,8 +292,8 @@ In case you think, a package needs to be altered or added, feel free to open an
292
292
  <% break; case "ieee": -%>
293
293
  ## Examples
294
294
 
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.
295
+ - [paper.pdf](https://latextemplates.github.io/ieee-enhanced/paper.pdf) - regular conference paper.
296
+ - [paper-minted.pdf](https://latextemplates.github.io/ieee-enhanced/paper-minted.pdf) - conference paper showing minted in action.
297
297
 
298
298
  ## Quick start
299
299
 
@@ -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
+ œ
@@ -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
  <% } -%>
@@ -158,8 +158,9 @@ lualatex
158
158
  <%= indent %>% For more information see https://ctan.org/pkg/selnolig
159
159
  <%= indent %>% language "english" or "ngerman" is passed to selnolig by the document class
160
160
  <%= indent %>\usepackage{selnolig}
161
+
161
162
  <% } -%>
162
- <% if ((latexcompiler != "lualatex") || (latexcompiler == "both")) { -%>
163
+ <% if ((!reallatexcompiler.startsWith("lualatex")) || (latexcompiler == "both")) { -%>
163
164
  <% if (latexcompiler == "both") { -%>
164
165
  \else
165
166
  <% } -%>
@@ -215,8 +216,8 @@ In addition, we make the code appear more nice -%>
215
216
  \fi
216
217
  <% } -%>
217
218
  <% } -%>
218
- <% if (isThesis) { -%>
219
219
 
220
+ <% if (isThesis) { -%>
220
221
  % DE: Noch mehr Symbole
221
222
  %\usepackage{stmaryrd} %fuer \ovee, \owedge, \otimes
222
223
  %\usepackage{marvosym} %fuer \Writinghand %patched to not redefine \Rightarrow
@@ -280,9 +281,9 @@ In addition, we make the code appear more nice -%>
280
281
  %\usepackage{marvosym} %fuer \Writinghand %patched to not redefine \Rightarrow
281
282
  %\usepackage{mathrsfs} %mittels \mathscr{} schoenen geschwungenen Buchstaben erzeugen
282
283
  %\usepackage{calrsfs} %\mathcal{} ein bisserl dickeren buchstaben erzeugen - sieht net so gut aus.
284
+
283
285
  <% } -%>
284
286
  <% if (documentclass == 'scientific-thesis') { -%>
285
-
286
287
  \automark[section]{chapter}
287
288
  \setkomafont{pageheadfoot}{\normalfont\sffamily}
288
289
  \setkomafont{pagenumber}{\normalfont\sffamily}
@@ -293,9 +294,9 @@ In addition, we make the code appear more nice -%>
293
294
  \cfoot[]{}
294
295
  \ofoot[\usekomafont{pagenumber}\thepage]{\usekomafont{pagenumber}\thepage}
295
296
  \ifoot[]{}
297
+
296
298
  <% } -%>
297
299
  <% if (documentclass == 'ustutt') { -%>
298
-
299
300
  % Zusatzliche Symbole (Text Companion font extension)
300
301
  \usepackage{textcomp}
301
302
 
@@ -305,4 +306,5 @@ In addition, we make the code appear more nice -%>
305
306
  \setkomafont{pagenumber}{\small\sffamily\bfseries}
306
307
 
307
308
  \typearea[current]{last}
309
+
308
310
  <% } -%>
@@ -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.4.11",
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": {
@@ -38,7 +38,7 @@
38
38
  "minimist": "^1.2.8",
39
39
  "patch-package": "^8.0.0",
40
40
  "yeoman-environment": "^4.0.0",
41
- "yeoman-generator": "~7.4.0",
41
+ "yeoman-generator": "~7.5.0",
42
42
  "yeoman-option-or-prompt": "^2.0.1",
43
43
  "yosay": "^3.0.0"
44
44
  },