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 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
- 1. Once the `refine-ltg` PR is green, **squash-merge** it into `main`; check `main` out and pull.
205
- 2. Update `CHANGELOG.md` (change `h2` heading etc.)
206
- 3. Update `package.json`, publish to [npmjs](https://www.npmjs.com/package/generator-latex-template), create GitHub release.
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
- 4. On `main`, run `scripts/end-new-cycle.sh`, then **squash-merge** each template's "Update LTG" PR once it is green.
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 `.sty` files.
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
- - `lccaps.sty` - can be downloaded from <https://latextemplates.github.io/stys-for-overleaf/>.
786
- - `scientific-thesis-cover.sty` - can be downloaded from <https://raw.githubusercontent.com/latextemplates/scientific-thesis-cover/master/scientific-thesis-cover.sty>.
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
- tex-gyre<%# at least required by acm, ieee, font config "times"; provides ts1-qtmr %>
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")) { -%>
@@ -1,4 +1,4 @@
1
- personal_ws-1.1 en 122 utf-8
1
+ personal_ws-1.1 de 122 utf-8
2
2
  ACM
3
3
  Atlantic
4
4
  BPEL
@@ -0,0 +1,3 @@
1
+ % lccaps provides \textlcc (lowercase caps), used by \initialism in commands.tex.
2
+ % Doc: https://ctan.org/pkg/lccaps
3
+ \usepackage{lccaps}
@@ -325,6 +325,7 @@
325
325
  AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
326
326
  }
327
327
 
328
+ <%- include('lccaps.preamble.en.tex', this); -%>
328
329
  \input{commands}
329
330
  <% switch (documentclass) { case "acmart": -%>
330
331
 
@@ -303,6 +303,7 @@
303
303
  AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
304
304
  }
305
305
 
306
+ <%- include('lccaps.preamble.en.tex', this); -%>
306
307
  \input{commands}
307
308
  <% switch (documentclass) { case "acmart": -%>
308
309
 
@@ -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.26",
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": {