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 +8 -7
- package/generators/app/index.js +21 -6
- package/generators/app/options.js +42 -23
- package/generators/app/templates/.github/dependabot.yml +6 -0
- package/generators/app/templates/.github/workflows/check.yml +46 -15
- package/generators/app/templates/Dockerfile.dante +3 -2
- package/generators/app/templates/Dockerfile.iot +2 -1
- package/generators/app/templates/Dockerfile.reitzig +5 -4
- package/generators/app/templates/Makefile +0 -1
- package/generators/app/templates/README.en.md +47 -27
- package/generators/app/templates/Texlivefile +11 -7
- package/generators/app/templates/dot.aspell.de.pws +123 -0
- package/generators/app/templates/dot.aspell.en.pws +101 -78
- package/generators/app/templates/dot.gitignore +4 -2
- package/generators/app/templates/font.preamble.en.tex +22 -8
- package/generators/app/templates/latexmkrc +1 -1
- package/generators/app/templates/main.de.tex +6 -5
- package/generators/app/templates/main.en.tex +4 -16
- package/generators/app/templates/todos.example.en.tex +1 -1
- package/package.json +12 -12
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/
|
|
81
|
-
- [LNCS](https://latextemplates.github.io/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
package/generators/app/index.js
CHANGED
|
@@ -65,7 +65,7 @@ export default class extends Generator {
|
|
|
65
65
|
//this.props.latexcompiler = "pdflatex";
|
|
66
66
|
//}
|
|
67
67
|
|
|
68
|
-
this.props.reallatexcompiler = (this.
|
|
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.
|
|
224
|
-
this.
|
|
225
|
-
|
|
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
|
-
|
|
143
|
+
if (!state.overleaf) {
|
|
144
144
|
res.push({
|
|
145
|
-
name: "TeXLive
|
|
146
|
-
value:
|
|
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
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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) {
|
|
@@ -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@
|
|
19
|
+
uses: actions/checkout@v5
|
|
17
20
|
- name: Install TeX Live
|
|
18
|
-
uses: zauguin/install-texlive@
|
|
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
|
|
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
|
|
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
|
|
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@
|
|
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@
|
|
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:
|
|
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
|
-
|
|
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
|
|
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
|
|
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@
|
|
136
|
-
- uses:
|
|
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
|
|
3
|
-
case
|
|
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,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
|
|
7
|
-
case
|
|
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 ((
|
|
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
|
-
#
|
|
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
|
-
#
|
|
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 >
|
|
35
|
-
Please be aware that this template is optimized for overleaf, which is based on TeXLive
|
|
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 [
|
|
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
|
|
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 (
|
|
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 (
|
|
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/
|
|
270
|
-
- [paper-minted.pdf](https://latextemplates.github.io/
|
|
271
|
-
- [paper-newtx.pdf](http://latextemplates.github.io/
|
|
272
|
-
- [paper-minted-newtx.pdf](http://latextemplates.github.io/
|
|
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/
|
|
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
|
|
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/
|
|
296
|
-
- [paper-minted.pdf](https://latextemplates.github.io/
|
|
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 [
|
|
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
|
-
###
|
|
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
|
|
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
|
|
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
|
|
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 [
|
|
614
|
+
Moreover, ensure that python and [latexminted] are installed properly:
|
|
608
615
|
|
|
609
616
|
- `choco install python`
|
|
610
|
-
- `pip install
|
|
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
|
-
|
|
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
|
-
[
|
|
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 ||
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
78
|
-
|
|
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 ((
|
|
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 %>\
|
|
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 %>\
|
|
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 %>\
|
|
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 ((
|
|
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 = '
|
|
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 ((
|
|
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 ((
|
|
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 ((
|
|
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 ((
|
|
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") && (
|
|
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
|
+
"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.
|
|
25
|
-
"eslint-config-prettier": "^10.
|
|
26
|
-
"eslint-config-xo": "^0.
|
|
27
|
-
"eslint-plugin-prettier": "^5.
|
|
28
|
-
"husky": "^9.
|
|
29
|
-
"jest": "^
|
|
30
|
-
"lint-staged": "^
|
|
31
|
-
"prettier": "^3.
|
|
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.
|
|
40
|
-
"yeoman-environment": "^
|
|
41
|
-
"yeoman-generator": "~7.
|
|
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
|
},
|