generator-latex-template 2026.6.26 → 2026.6.30
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 +13 -4
- package/generators/app/templates/README.en.md +8 -7
- package/generators/app/templates/Texlivefile +22 -22
- package/generators/app/templates/dot.aspell.de.pws +1 -1
- package/generators/app/templates/lccaps.preamble.en.tex +3 -0
- package/generators/app/templates/main.de.tex +1 -0
- package/generators/app/templates/main.en.tex +1 -0
- package/generators/app/templates/otherfeatures.example.en.tex +7 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -201,14 +201,23 @@ ejslint.cmd c:\git-repositories\latextemplates\generator-latex-template\generato
|
|
|
201
201
|
|
|
202
202
|
### Releasing a new version
|
|
203
203
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
204
|
+
> **Cut the release from `main`, never from `refine-ltg`.**
|
|
205
|
+
> Releasing from the dev branch publishes an unmerged tree with a not-yet-finalized CHANGELOG — that is what broke the 2026.6.26 release (a stale `## [2026.6.25]` heading, a missing `[2026.6.26]:` compare link, and an `[Unreleased]:` link that was never bumped).
|
|
206
|
+
> So after the squash-merge, `git switch main && git pull` and confirm `git branch --show-current` prints `main` before doing anything below.
|
|
207
|
+
|
|
208
|
+
1. Once the `refine-ltg` PR is green, **squash-merge** it into `main`, then `git switch main && git pull` (confirm you are on `main`).
|
|
209
|
+
2. Update `CHANGELOG.md`: rename the top `## [Unreleased]` heading to `## [<version>]`, add the matching `[<version>]: …/compare/<prev>...<version>` link definition, and bump `[Unreleased]: …/compare/<version>...main`.
|
|
210
|
+
3. **Verify the CHANGELOG before publishing:**
|
|
211
|
+
- Run heylogs (the same check as CI's `check-changelog.yml`) and get **0 problems**:
|
|
212
|
+
`jbang com.github.nbbrd.heylogs:heylogs-cli:0.18.1:bin check CHANGELOG.md`
|
|
213
|
+
- heylogs **cannot** validate the version links here: our CalVer headings omit the date, so `linkable`/`date-displayed`/`all-h2-contain-a-version` are off in `heylogs.properties` and heylogs skips link-checking a dateless heading. So **also check the links by hand** — the top `## [<version>]` must equal the version `release-it` will publish, and both the `[<version>]:` and the bumped `[Unreleased]:` definitions must be present and point at the right tags. Quick grep:
|
|
214
|
+
`grep -nE '^## \[|^\[Unreleased\]:|^\[<version>\]:' CHANGELOG.md`
|
|
215
|
+
4. Update `package.json`, publish to [npmjs](https://www.npmjs.com/package/generator-latex-template), create GitHub release.
|
|
207
216
|
Use [release-it](https://www.npmjs.com/package/release-it) (do not create a release on GitHub) and [github-release-from-changelog](https://www.npmjs.com/package/github-release-from-changelog).
|
|
208
217
|
|
|
209
218
|
- `npx release-it`
|
|
210
219
|
- `npx github-release-from-changelog`
|
|
211
|
-
|
|
220
|
+
5. On `main`, run `scripts/end-new-cycle.sh`, then **squash-merge** each template's "Update LTG" PR once it is green.
|
|
212
221
|
|
|
213
222
|
## License
|
|
214
223
|
|
|
@@ -776,15 +776,16 @@ Just answer "(a) allow for this document" and it will work.
|
|
|
776
776
|
4. Use [pdfscissors](https://sites.google.com/site/pdfscissors) to crop the borders and title (maybe you have to allow <https://sites.google.com> in the Java security center in the control panel).
|
|
777
777
|
5. Include the PDF in LaTeX via `\includegraphics{chart_cropped.pdf}`.
|
|
778
778
|
|
|
779
|
-
|
|
780
|
-
### Q: Overleaf complains about missing
|
|
781
|
-
|
|
782
|
-
Google for the name of the `sty` and upload it to overleaf.
|
|
783
|
-
As of 2018-02-17, these are:
|
|
779
|
+
<% if (uml == "tikz-uml") { -%>
|
|
780
|
+
### Q: Overleaf complains about a missing `tikz-uml.sty`.
|
|
784
781
|
|
|
785
|
-
- `
|
|
786
|
-
|
|
782
|
+
`tikz-uml` is not part of TeX Live; locally it is provided as a git submodule placed on the `TEXINPUTS` search path (see "UML diagram example" above).
|
|
783
|
+
Overleaf does not fetch git submodules, so `tikz-uml.sty` is unavailable there.
|
|
784
|
+
Download `tikz-uml.sty` from the [tikz-uml repository](https://plmlab.math.cnrs.fr/tikzuml/tikzuml) and upload it into your Overleaf project, next to your main `.tex` file; the UML example then compiles.
|
|
785
|
+
Without it, the example is skipped automatically and the rest of the document still builds.
|
|
787
786
|
|
|
787
|
+
<% } -%>
|
|
788
|
+
<%#
|
|
788
789
|
### Q: My Paderborn title page is strange. The boxes seem to be located arbitrarily.
|
|
789
790
|
|
|
790
791
|
Just run pdflatex again.
|
|
@@ -3,15 +3,15 @@ latexindent
|
|
|
3
3
|
latexmk
|
|
4
4
|
texlogsieve
|
|
5
5
|
|
|
6
|
-
amsmath
|
|
7
6
|
<% if (githubpublish || (documentclass == "acmart")) { -%>
|
|
8
7
|
acmart
|
|
9
8
|
<% } -%>
|
|
10
9
|
<% if (githubpublish || isThesis) { -%>
|
|
11
|
-
algorithms
|
|
12
10
|
algorithmicx<%# required by algpseudocodex%>
|
|
11
|
+
algorithms
|
|
13
12
|
algpseudocodex
|
|
14
13
|
<% } -%>
|
|
14
|
+
amsmath
|
|
15
15
|
<% if (githubpublish || (lang == "de")) { -%>
|
|
16
16
|
autotype
|
|
17
17
|
<% } -%>
|
|
@@ -21,8 +21,8 @@ babel-english
|
|
|
21
21
|
<%# german needed for some TeX source code input hacks -%>
|
|
22
22
|
babel-german
|
|
23
23
|
<% if (githubpublish || (bibtextool == "biblatex")) { -%>
|
|
24
|
-
biblatex
|
|
25
24
|
biber
|
|
25
|
+
biblatex
|
|
26
26
|
<% } -%>
|
|
27
27
|
<% if (githubpublish || isThesis) { -%>
|
|
28
28
|
bigfoot<%# provides perpage%>
|
|
@@ -51,14 +51,14 @@ comment<%# required by at least acm%>
|
|
|
51
51
|
csquotes
|
|
52
52
|
ctablestack
|
|
53
53
|
currfile
|
|
54
|
+
<% if (githubpublish || isThesis) { -%>
|
|
55
|
+
datatool
|
|
56
|
+
<% } -%>
|
|
54
57
|
datetime2
|
|
58
|
+
datetime2-english
|
|
55
59
|
<% if (githubpublish || (lang == "de")) { -%>
|
|
56
60
|
datetime2-german
|
|
57
61
|
<% } -%>
|
|
58
|
-
datetime2-english
|
|
59
|
-
<% if (githubpublish || isThesis) { -%>
|
|
60
|
-
datatool
|
|
61
|
-
<% } -%>
|
|
62
62
|
<% if (githubpublish || (lang == "de")) { -%>
|
|
63
63
|
dehyph-exptl
|
|
64
64
|
<% } -%>
|
|
@@ -101,20 +101,18 @@ footmisc
|
|
|
101
101
|
gettitlestring
|
|
102
102
|
<% if (githubpublish || (documentclass == 'ustutt') || (documentclass == 'scientific-thesis')) { -%>
|
|
103
103
|
glossaries
|
|
104
|
-
<% if (githubpublish || (lang == "de")) { -%>
|
|
105
|
-
glossaries-german
|
|
106
|
-
<% } -%>
|
|
107
104
|
<% if (githubpublish || (lang == "en")) { -%>
|
|
108
105
|
glossaries-english
|
|
109
106
|
<% } -%>
|
|
110
107
|
glossaries-extra
|
|
108
|
+
<% if (githubpublish || (lang == "de")) { -%>
|
|
109
|
+
glossaries-german
|
|
110
|
+
<% } -%>
|
|
111
111
|
<% } -%>
|
|
112
112
|
graphics
|
|
113
113
|
<% if (githubpublish || isThesis) { -%>
|
|
114
114
|
helvetic
|
|
115
115
|
<% } -%>
|
|
116
|
-
hyphenex
|
|
117
|
-
inconsolata<%# required by ustutt, scientific-thesis, acm%>
|
|
118
116
|
hycolor
|
|
119
117
|
hypcap
|
|
120
118
|
hyperref
|
|
@@ -124,6 +122,7 @@ hyphen-english
|
|
|
124
122
|
<% if (githubpublish || (lang == "de")) { -%>
|
|
125
123
|
hyphen-german
|
|
126
124
|
<% } -%>
|
|
125
|
+
hyphenex
|
|
127
126
|
<% if (documentclass == 'ieee') { -%>
|
|
128
127
|
ieeetran
|
|
129
128
|
<% } -%>
|
|
@@ -132,6 +131,7 @@ ifmtarg<%# required by acmart at least %>
|
|
|
132
131
|
ifplatform
|
|
133
132
|
<% } -%>
|
|
134
133
|
iftex
|
|
134
|
+
inconsolata<%# required by ustutt, scientific-thesis, acm%>
|
|
135
135
|
infwarerr
|
|
136
136
|
intcalc
|
|
137
137
|
<% if (githubpublish || isThesis) { -%>
|
|
@@ -144,6 +144,7 @@ kvsetkeys
|
|
|
144
144
|
latex-bin-dev
|
|
145
145
|
latex-bin-dev.x86_64-linux
|
|
146
146
|
<% } -%>
|
|
147
|
+
lccaps
|
|
147
148
|
letltxmacro
|
|
148
149
|
<% if (githubpublish || (documentclass == "acmart")) { -%>
|
|
149
150
|
libertine
|
|
@@ -158,10 +159,10 @@ aliascnt<%# llncs.cls requires it from TeX Live 2026 on; not a separate package
|
|
|
158
159
|
<% } -%>
|
|
159
160
|
llncs
|
|
160
161
|
<% } -%>
|
|
161
|
-
ltxcmds
|
|
162
162
|
<% if (githubpublish || isThesis) { -%>
|
|
163
163
|
lscapeenhanced
|
|
164
164
|
<% } -%>
|
|
165
|
+
ltxcmds
|
|
165
166
|
<% if (githubpublish || (reallatexcompiler.startsWith("lualatex"))) { -%>
|
|
166
167
|
luacode
|
|
167
168
|
lualatex-math
|
|
@@ -208,31 +209,29 @@ newtx
|
|
|
208
209
|
newtxtt
|
|
209
210
|
nfssext-cfr
|
|
210
211
|
<% } -%>
|
|
212
|
+
nowidow
|
|
211
213
|
<% if (githubpublish || isThesis) { -%>
|
|
212
214
|
ntheorem
|
|
213
215
|
<% } -%>
|
|
214
|
-
nowidow
|
|
215
216
|
paralist
|
|
216
217
|
pdfcomment
|
|
217
218
|
pdfescape
|
|
218
219
|
<% if (githubpublish || isThesis) { -%>
|
|
219
220
|
pdflscape
|
|
220
|
-
<% } -%>
|
|
221
|
-
pdftexcmds
|
|
222
|
-
<% if (githubpublish || isThesis) { -%>
|
|
223
221
|
pdfpages
|
|
224
222
|
<% } -%>
|
|
223
|
+
pdftexcmds
|
|
225
224
|
<% if (githubpublish || examples) { -%>
|
|
226
225
|
pgf
|
|
227
226
|
pgfplots<%# used by the pgfplots example; also provides pgfplotstable %>
|
|
228
227
|
<% } -%>
|
|
229
|
-
<% if (githubpublish || (uml == "plantuml")) { -%>
|
|
230
|
-
plantuml<%# plantuml.sty for the PlantUML UML example; the diagram also needs an external PlantUML install %>
|
|
231
|
-
<% } -%>
|
|
232
228
|
pict2e
|
|
233
229
|
<% if (githubpublish || (documentclass == "ustutt")) { -%>
|
|
234
230
|
placeins
|
|
235
231
|
<% } -%>
|
|
232
|
+
<% if (githubpublish || (uml == "plantuml")) { -%>
|
|
233
|
+
plantuml<%# plantuml.sty for the PlantUML UML example; the diagram also needs an external PlantUML install %>
|
|
234
|
+
<% } -%>
|
|
236
235
|
<% if ((documentclass == 'acmart') || (documentclass == 'ieee')) { -%>
|
|
237
236
|
preprint<%# this includes balance%>
|
|
238
237
|
<% } -%>
|
|
@@ -277,9 +276,10 @@ svn-prov<%# at least required by acmart, ustutt, scientific-thesis%>
|
|
|
277
276
|
tabto-ltx
|
|
278
277
|
<% } -%>
|
|
279
278
|
tcolorbox
|
|
279
|
+
tex-gyre<%# at least required by acm, ieee, font config "times"; provides ts1-qtmr %>
|
|
280
280
|
texcount
|
|
281
281
|
texlogsieve
|
|
282
|
-
|
|
282
|
+
textcase<%# required by lccaps %>
|
|
283
283
|
<% if (githubpublish || isThesis) { -%>
|
|
284
284
|
tikzmark
|
|
285
285
|
<% } -%>
|
|
@@ -313,8 +313,8 @@ xcharter
|
|
|
313
313
|
<% } -%>
|
|
314
314
|
xcolor
|
|
315
315
|
<% if (githubpublish || isThesis) { -%>
|
|
316
|
-
xifthen
|
|
317
316
|
xfor
|
|
317
|
+
xifthen
|
|
318
318
|
<% } -%>
|
|
319
319
|
xkeyval
|
|
320
320
|
<% if (githubpublish || (documentclass == "ieee") || (font == "times")) { -%>
|
|
@@ -15,3 +15,10 @@ Brackets work as designed:
|
|
|
15
15
|
<test>
|
|
16
16
|
One can also input backticks in verbatim text: \verb|`test`|.
|
|
17
17
|
<%- eexample %>
|
|
18
|
+
|
|
19
|
+
Acronyms can be typeset in running text with \verb+\initialism+, which sets them as small caps that blend into the surrounding lowercase text. It is the lightweight alternative to the full acronym and glossary management (\verb+\gls+, with an automatic list of abbreviations) provided by the thesis variants: \verb+\initialism+ only typesets the acronym and does not add it to any list. The macro and a few ready-made acronyms (\verb+\OMG+, \verb+\BPEL+, \verb+\BPMN+, \verb+\UML+) are defined in \texttt{commands.tex}, where you can add your own.
|
|
20
|
+
|
|
21
|
+
<%- bexample %>
|
|
22
|
+
The \UML is maintained by the \OMG; related standards include \BPEL and \BPMN.
|
|
23
|
+
Any acronym can be set inline with \initialism{REST} or \initialism{HTTP}.
|
|
24
|
+
<%- eexample %>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-latex-template",
|
|
3
|
-
"version": "2026.6.
|
|
3
|
+
"version": "2026.6.30",
|
|
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": {
|