generator-latex-template 0.7.0 → 0.8.0

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.
Files changed (28) hide show
  1. package/README.md +19 -17
  2. package/generators/app/index.js +222 -568
  3. package/generators/app/options.js +375 -0
  4. package/generators/app/templates/Dockerfile.dante +3 -1
  5. package/generators/app/templates/Dockerfile.iot +14 -0
  6. package/generators/app/templates/Dockerfile.reitzig +12 -11
  7. package/generators/app/templates/README.en.md +4 -10
  8. package/generators/app/templates/Texlivefile +28 -3
  9. package/generators/app/templates/babel.preamble.de.tex +3 -1
  10. package/generators/app/templates/babel.preamble.en.tex +1 -1
  11. package/generators/app/templates/csquotes.example.de.tex +1 -1
  12. package/generators/app/templates/csquotes.example.en.tex +1 -1
  13. package/generators/app/templates/csquotes.preamble.en.tex +1 -1
  14. package/generators/app/templates/figure.example.de.tex +18 -0
  15. package/generators/app/templates/hyphenation.example.en.tex +1 -1
  16. package/generators/app/templates/latexmkrc +1 -3
  17. package/generators/app/templates/main.de.tex +581 -139
  18. package/generators/app/templates/main.en.tex +11 -17
  19. package/generators/app/templates/microtype.preamble.de.tex +5 -0
  20. package/generators/app/templates/natbib.preamble.en.tex +1 -1
  21. package/generators/app/templates/siunitx.example.en.tex +1 -1
  22. package/generators/app/templates/siunitx.preamble.de.tex +2 -0
  23. package/generators/app/templates/siunitx.preamble.en.tex +0 -1
  24. package/generators/app/templates/subfig.preamble.en.tex +1 -1
  25. package/generators/app/templates/url.preamble.de.tex +2 -0
  26. package/package.json +15 -16
  27. package/generators/app/templates/refcheck.example.en.tex +0 -36
  28. package/generators/app/templates/refcheck.preamble.en.tex +0 -4
@@ -0,0 +1,375 @@
1
+ export const options = [
2
+ {
3
+ type: "list",
4
+ name: "documentclass",
5
+ message: "Which template should be generated?",
6
+ choices: [
7
+ {
8
+ name: "Scientic Thesis",
9
+ value: "scientific-thesis",
10
+ },
11
+ {
12
+ name: "Association for Computing Machinery (ACM)",
13
+ value: "acmart",
14
+ },
15
+ {
16
+ name: "Institute of Electrical and Electronics Engineers (IEEE)",
17
+ value: "ieee",
18
+ },
19
+ {
20
+ name: "Springer's Lecture Notes in Computer Science (LNCS)",
21
+ value: "lncs",
22
+ },
23
+ ],
24
+ default: "scientific-thesis",
25
+ },
26
+ {
27
+ type: "list",
28
+ name: "acmformat",
29
+ when(response) {
30
+ return response.documentclass === "acmart";
31
+ },
32
+ message: "Which format of ACM?",
33
+ choices: [
34
+ {
35
+ value: "manuscript",
36
+ name: "A manuscript. This is the default.",
37
+ },
38
+ {
39
+ value: "acmsmall",
40
+ name: "Small single-column format. Used for CIE, CSUR, JACM, JDIQ, JEA, JERIC, JETC, PACMCGIT, PACMHCI, PACMPL, TAAS, TACCESS, TACO, TALG, TALLIP (formerly TALIP), TCPS, TDS, TEAC, TECS, TELO, THRI, TIIS, TIOT, TISSEC, TIST, TKDD, TMIS, TOCE, TOCHI, TOCL, TOCS, TOCT, TODAES, TODS, TOIS, TOIT, TOMACS, TOMM (formerly TOMCCAP), TOMPECS, TOMS, TOPC, TOPLAS, TOPS, TOS, TOSEM, TOSN, TQC, TRETS, TSAS, TSC, TSLP and TWEB, including special issues.",
41
+ },
42
+ {
43
+ value: "acmlarge",
44
+ name: "Large single-column format. Used for DTRAP, HEALTH, IMWUT, JOCCH, POMACS and TAP, including special issues.",
45
+ },
46
+ {
47
+ value: "acmtog",
48
+ name: "Large double-column format. Used for TOG, including annual conference Technical Papers.",
49
+ },
50
+ {
51
+ value: "sigconf",
52
+ name: "Proceedings format for most ACM conferences (with the exceptionslisted below) and all ICPS volumes.",
53
+ },
54
+ {
55
+ value: "sigplan",
56
+ name: "Proceedings format for SIGPLAN conferences",
57
+ },
58
+ ],
59
+ default: "sigconf",
60
+ },
61
+ {
62
+ type: "confirm",
63
+ name: "acmreview",
64
+ when(response) {
65
+ return response.documentclass === "acmart";
66
+ },
67
+ message: "Format as document to review?",
68
+ default: true,
69
+ },
70
+ {
71
+ type: "list",
72
+ name: "ieeevariant",
73
+ when(response) {
74
+ return response.documentclass === "ieee";
75
+ },
76
+ message: "Which variant of IEEE paper?",
77
+ choices: [
78
+ {
79
+ name: "conference paper",
80
+ value: "conference",
81
+ },
82
+ {
83
+ name: "journal paper",
84
+ value: "journal",
85
+ },
86
+ {
87
+ name: 'peerreview paper - similar to journal paper, but additional cover page and on first "real" paper page title without authors',
88
+ value: "peerreview",
89
+ },
90
+ ],
91
+ default: "conference",
92
+ },
93
+ {
94
+ type: "list",
95
+ name: "papersize",
96
+ message: "Which paper size to use?",
97
+ choices: [
98
+ {
99
+ name: "A4",
100
+ value: "a4",
101
+ },
102
+ {
103
+ name: "US letter",
104
+ value: "letter",
105
+ },
106
+ ],
107
+ default: "a4",
108
+ },
109
+ {
110
+ type: "list",
111
+ name: "overleaf",
112
+ message: "Overleaf compatibility?",
113
+ choices: [
114
+ {
115
+ name: "yes",
116
+ value: true,
117
+ },
118
+ {
119
+ name: "no",
120
+ value: false,
121
+ },
122
+ ],
123
+ default: true,
124
+ },
125
+ {
126
+ type: "list",
127
+ name: "texlive",
128
+ message: "Which TeXLive compatibility?",
129
+ choices: function (state) {
130
+ let res = [
131
+ {
132
+ name: "TeXLive 2021",
133
+ value: 2021,
134
+ },
135
+ {
136
+ name: "TeXLive 2022",
137
+ value: 2022,
138
+ },
139
+ ];
140
+ if (!state.overleaf) {
141
+ res.push({
142
+ name: "TeXLive 2023",
143
+ value: 2023,
144
+ });
145
+ }
146
+ return res;
147
+ },
148
+ default(state) {
149
+ if (state.overleaf) {
150
+ return 2022;
151
+ } else {
152
+ return 2023;
153
+ }
154
+ },
155
+ },
156
+ {
157
+ type: "list",
158
+ name: "latexcompiler",
159
+ message: "Which latex compiler should be used?",
160
+ choices: ["pdflatex", "lualatex"],
161
+ default: "pdflatex",
162
+ when(response) {
163
+ return !(response.documentclass === "ieee");
164
+ },
165
+ },
166
+ {
167
+ when(response) {
168
+ return (
169
+ response.documentclass !== "acmart" && response.documentclass !== "ieee"
170
+ );
171
+ },
172
+ type: "list",
173
+ name: "bibtextool",
174
+ message: "Which BibTeX tool should be used?",
175
+ choices: [
176
+ {
177
+ name: "BibTeX",
178
+ value: "bibtex",
179
+ },
180
+ {
181
+ name: "BibLaTeX + biber",
182
+ value: "biblatex",
183
+ },
184
+ ],
185
+ default(response) {
186
+ switch (response.documentclass) {
187
+ case "acmart":
188
+ case "ieee":
189
+ case "lncs":
190
+ return "bibtex";
191
+ default:
192
+ return "biblatex";
193
+ }
194
+ },
195
+ },
196
+ {
197
+ type: "list",
198
+ name: "docker",
199
+ message: "Should a Dockerfile be generated?",
200
+ choices: [
201
+ {
202
+ name: "no",
203
+ value: false,
204
+ },
205
+ {
206
+ name: "yes (Island of TeX)",
207
+ value: "iot",
208
+ },
209
+ {
210
+ name: "yes (Reiztig)",
211
+ value: "reitzig",
212
+ },
213
+ {
214
+ name: "yes (DANTE e.V.)",
215
+ value: "dante",
216
+ },
217
+ ],
218
+ default: false,
219
+ },
220
+ {
221
+ type: "list",
222
+ name: "lang",
223
+ message: "Which language should the document be?",
224
+ choices: [
225
+ {
226
+ name: "English",
227
+ value: "en",
228
+ },
229
+ {
230
+ name: "German",
231
+ value: "de",
232
+ },
233
+ ],
234
+ default: "en",
235
+ },
236
+ {
237
+ type: "list",
238
+ name: "font",
239
+ message: "Which font should be used?",
240
+ choices: (state) => {
241
+ const res = [];
242
+ if (state.documentclass === "acmart") {
243
+ res.push({
244
+ name: "ACM Default",
245
+ value: "default",
246
+ });
247
+ } else if (state.documentclass === "ieee") {
248
+ res.push({
249
+ name: "IEEE Default",
250
+ value: "default",
251
+ });
252
+ } else {
253
+ res.push({
254
+ name: "Computer Modern (Default LaTeX font)",
255
+ value: "default",
256
+ });
257
+ if (state.documentclass === "scientific-thesis") {
258
+ res.push({
259
+ name: "Arial",
260
+ value: "arial",
261
+ });
262
+ }
263
+
264
+ res.push({
265
+ name: "Times New Roman",
266
+ value: "times",
267
+ });
268
+ }
269
+
270
+ return res;
271
+ },
272
+ default: "default",
273
+ when(response) {
274
+ return response.documentclass !== "ieee";
275
+ },
276
+ },
277
+ {
278
+ type: "list",
279
+ name: "listings",
280
+ message: "Which package to typeset listings?",
281
+ choices: [
282
+ {
283
+ name: "listings",
284
+ value: "listings",
285
+ },
286
+ {
287
+ name: "minted (requires a working Python installation)",
288
+ value: "minted",
289
+ },
290
+ ],
291
+ default: "listings",
292
+ },
293
+ {
294
+ type: "list",
295
+ name: "enquotes",
296
+ message: 'Which package to use to "enquote" text?',
297
+ choices: (state) => {
298
+ const res = [];
299
+ res.push({
300
+ name: "csquotes (\\enquote{...} command)",
301
+ value: "csquotes",
302
+ });
303
+ if (state.language === "en") {
304
+ res.push({
305
+ name: "textcmds (\\qq{...} command)",
306
+ value: "textcmds",
307
+ });
308
+ }
309
+
310
+ if (state.language === "de") {
311
+ res.push({
312
+ name: "Plain LaTeX (\\glqq{}text\\grqq{} - not recommended)",
313
+ value: "plainlatex",
314
+ });
315
+ } else {
316
+ res.push({
317
+ name: "Plain LaTeX (``text'' - not recommended)",
318
+ value: "plainlatex",
319
+ });
320
+ }
321
+
322
+ return res;
323
+ },
324
+ default: "csquotes",
325
+ },
326
+ {
327
+ type: "list",
328
+ name: "tweakouterquote",
329
+ message:
330
+ 'Enable hyphenation tweak (e.g., application"=specific for app-lication-specific at a linebreak) or enable easy quotation (e.g., "application"; not common in default latex setups)?',
331
+ choices: [
332
+ {
333
+ name: "Hyphenation tweak",
334
+ value: "babel",
335
+ },
336
+ {
337
+ name: "Easy quotation",
338
+ value: "outerquote",
339
+ },
340
+ ],
341
+ default: "babel",
342
+ },
343
+ {
344
+ type: "list",
345
+ name: "todo",
346
+ message: "Which package to mark TODOs?",
347
+ choices: [
348
+ {
349
+ name: "pdfcomment",
350
+ value: "pdfcomment",
351
+ } /*
352
+ {
353
+ name: "Plain LaTeX (simple \\commentontext and \\commentatside are defined)",
354
+ value: "plainlatex"
355
+ }, */,
356
+ {
357
+ name: "None (no support)",
358
+ value: "none",
359
+ },
360
+ ],
361
+ default: "pdfcomment",
362
+ },
363
+ {
364
+ type: "confirm",
365
+ name: "howtotext",
366
+ message: "Include hints on text (e.g., how to write an abstract)?",
367
+ default: true,
368
+ },
369
+ {
370
+ type: "confirm",
371
+ name: "examples",
372
+ message: "Include minimal LaTeX examples?",
373
+ default: true,
374
+ },
375
+ ];
@@ -1,5 +1,7 @@
1
1
  FROM danteev/texlive:<% switch (texlive) {
2
- case 2021: %>edge<% break;
2
+ case 2023: %>edge<% break;
3
+ // 2022 does not exist - see https://github.com/dante-ev/docker-texlive/blob/main/CHANGELOG.md
4
+ case 2021: %>2021-D<% break;
3
5
  } -%>
4
6
 
5
7
  WORKDIR /workdir
@@ -0,0 +1,14 @@
1
+ FROM registry.gitlab.com/islandoftex/images/texlive:<% switch (texlive) {
2
+ case 2023: %>latest-basic<% break;
3
+ case 2022: %>TL2022-historic<% break;
4
+ } -%>
5
+
6
+ WORKDIR /workdir
7
+
8
+ COPY Texlivefile /workdir/
9
+ <% if (texlive == 2023) { -%>
10
+
11
+ RUN xargs tlmgr install --repository https://mirror.mwt.me/ctan/systems/texlive/tlnet < /workdir/Texlivefile
12
+
13
+ RUN tlmgr path add
14
+ <% } -%>
@@ -3,35 +3,36 @@ FROM reitzig/texlive-<% switch (latexcompiler) {
3
3
  case "lualatex": %>base-luatex<% break;
4
4
  default: %>base<% break;
5
5
  } -%>:<% switch (texlive) {
6
- case 2022: %>2022.2<% break;
7
- case 2021: %>2021.10<% break;
6
+ case 2023: %>2023.1<% break;
7
+ case 2022: %>2022.8<% break;
8
+ case 2021: %>2021.9<% break;
8
9
  } -%>
9
10
 
10
11
  RUN apk update && apk add --no-cache bash perl python3 py3-pip
11
12
  RUN pip3 install pygments
12
13
 
13
14
  # Emulate "Install dependencies" of "entrypoint work ..."
14
- <% if (texlive < 2022) { -%>
15
+ <% if (texlive < 2023) { -%>
15
16
  RUN tlmgr update --self --repository http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/<%= texlive %>/tlnet-final
16
17
  COPY Texlivefile /work/src
17
- RUN xargs tlmgr install --repository http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/<%= texlive %>/tlnet-final < "/work/src/Texlivefile" && \
18
+ RUN xargs tlmgr install --repository http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/<%= texlive %>/tlnet-final < "/work/src/Texlivefile"
18
19
  <% } else { -%>
19
20
  RUN tlmgr update --self --repository https://mirror.mwt.me/ctan/systems/texlive/tlnet
20
21
  COPY Texlivefile /work/src
21
- RUN xargs tlmgr install --repository https://mirror.mwt.me/ctan/systems/texlive/tlnet < "/work/src/Texlivefile" && \
22
+ RUN xargs tlmgr install --repository https://mirror.mwt.me/ctan/systems/texlive/tlnet < "/work/src/Texlivefile"
22
23
  <% } -%>
23
- sha256sum "/work/src/Texlivefile" > "/work/tmp/Texlivefile.sha" && \
24
+ RUN sha256sum "/work/src/Texlivefile" > "/work/tmp/Texlivefile.sha"
24
25
  #
25
26
  # make <% if (bibtextool == "biblatex") { %>biber, <% } %>latexmk and texlogsieve available
26
27
  <% if (bibtextool == "biblatex") { -%>
27
- cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/biber /usr/local/bin && \
28
+ RUN cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/biber /usr/local/bin
28
29
  <% } -%>
29
- cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/latexmk /usr/local/bin && \
30
- cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/texlogsieve /usr/local/bin && \
30
+ RUN cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/latexmk /usr/local/bin
31
+ RUN cp /usr/local/texlive/<%= texlive %>/bin/x86_64-linuxmusl/texlogsieve /usr/local/bin
31
32
  <% if (latexcompiler === "lualatex") { -%>
32
33
  #
33
34
  # update font index
34
- luaotfload-tool --update && \
35
+ RUN luaotfload-tool --update
35
36
  <% } -%>
36
37
  # use latest texlogsieve
37
- cd /usr/local/bin && wget https://gitlab.com/lago/texlogsieve/-/raw/main/texlogsieve?inline=false
38
+ # RUN cd /usr/local/bin && wget https://gitlab.com/lago/texlogsieve/-/raw/main/texlogsieve?inline=false
@@ -159,7 +159,6 @@ Congratulations. You chose to use all available features.
159
159
  ## Background
160
160
 
161
161
  The official template is available at <https://www.springer.com/gp/computer-science/lncs/conference-proceedings-guidelines> --> "Templates, samples files & useful links" --> "LaTeX2e Proceedings Templates (zip)"
162
- Deep link: <ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip>.
163
162
 
164
163
  ## Quick start
165
164
 
@@ -168,12 +167,7 @@ Deep link: <ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip>.
168
167
  - Edit [paper.tex](paper.tex).
169
168
  - `latexmk paper`.
170
169
 
171
- When using on overleaf, you have to add the file `llncs.cls` manually:
172
-
173
- 1. Navigate to "Add Files"
174
- 2. Select "From External URL"
175
- 3. Paste <https://latextemplates.github.io/stys-for-overleaf/llncs.cls> into the field "URL to fetch the file from"
176
- 4. Click "Create"
170
+ When using on overleaf, you have to switch Overleaf to use TeXLive 2022 (or later).
177
171
 
178
172
  As you see on GitHub actions, the paper compiles out of the box.
179
173
  There is no need to adjust the packages or to remove some of them.
@@ -294,8 +288,8 @@ ShareLaTeX might output following warning:
294
288
  > LaTeX document class for Lecture Notes in Computer Science'
295
289
  > is available.
296
290
 
297
- The reason is that you did not use `llncs.cls` from a recent llncs2e.zip (which can be downloaded from <ftp://ftp.springernature.com/cs-proceeding/llncs/llncs2e.zip>), but a copy from somewhere else.
298
- Please use the latest version offered by Springer.
291
+ The reason is that you did not use `llncs.cls` (included in your LaTeX distribution).
292
+ Please remove the file and update your LaTeX distribution.
299
293
  <% break; case "ieee": -%>
300
294
 
301
295
  ### Q: I have questions on the IEEEtran class itself.
@@ -328,7 +322,7 @@ A: You have activated `\MakeOuterQuote{"}` and used some special babel command t
328
322
  Now, you have to decide whether you want keep using plain quotes to enquote a word or use the special hyphenation command.
329
323
  In other words: Do you want `"quote"` and `app\-lication\-specific` or `\enquote{quote} and application"=specific`?
330
324
 
331
- Note that this should not happen when the template is generated as the setting `tweak_outerquote` ensures that these two options are mutually exclusive.
325
+ Note that this should not happen when the template is generated as the setting `tweakouterquote` ensures that these two options are mutually exclusive.
332
326
 
333
327
  ### Q: I need more space. What can I do?
334
328
 
@@ -19,6 +19,7 @@ caption
19
19
  catchfile
20
20
  cfr-lm
21
21
  cleveref
22
+ cmap
22
23
  comment
23
24
  csquotes
24
25
  currfile
@@ -37,7 +38,11 @@ diagbox
37
38
  environ
38
39
  etexcmds
39
40
  etoolbox
41
+ filehook
40
42
  floatflt
43
+ <% if (latexcompiler == "lualatex") { -%>
44
+ fontspec
45
+ <% } -%>
41
46
  framed
42
47
  fvextra
43
48
  gettitlestring
@@ -67,11 +72,15 @@ latexmk
67
72
  letltxmacro
68
73
  libertine
69
74
  lineno
70
- linenoamsmath
71
75
  lipsum
72
76
  listings
73
77
  llncs
74
78
  ltxcmds
79
+ <% if (latexcompiler == "lualatex") { -%>
80
+ luatexbase
81
+ luacode
82
+ lualatex-math
83
+ <% } -%>
75
84
  marginnote
76
85
  <% if (documentclass == "scientific-thesis") { -%>
77
86
  mfirstuc
@@ -84,16 +93,20 @@ mwe
84
93
  natbib
85
94
  ncctools
86
95
  newcomputermodern
96
+ newfloat
87
97
  newtx
88
98
  newtxtt
89
99
  nfssext-cfr
90
100
  nowidow
91
101
  oberdiek
92
102
  paralist
93
- pbalance
94
103
  pdfcomment
104
+ luatex85
95
105
  pdfescape
96
106
  pdftexcmds
107
+ <% if (examples) { -%>
108
+ pgf
109
+ <% } -%>
97
110
  pict2e
98
111
  preprint
99
112
  refcount
@@ -102,20 +115,32 @@ rerunfilecheck
102
115
  <% if (documentclass == "scientific-thesis") { -%>
103
116
  scientific-thesis-cover
104
117
  <% } -%>
118
+ <% if (latexcompiler == "lualatex") { -%>
119
+ selnolig
120
+ <% } -%>
121
+ <% if (documentclass == "acmart" || documentclass == 'scientific-thesis') { -%>
122
+ setspace
123
+ <% } -%>
105
124
  siunitx
106
125
  snapshot
107
126
  soul
108
127
  soulpos
109
- soulutf8
110
128
  sttools
111
129
  stringenc
112
130
  subfig
113
131
  svn-prov
114
132
  tcolorbox
115
133
  texlogsieve
134
+ textcase
135
+ <% if ((documentclass == "ieee") || (font == "times")) { -%>
136
+ tex-gyre
137
+ times
138
+ <% } -%>
116
139
  totpages
117
140
  tracklang
118
141
  translator
142
+ txfonts
143
+ unicode-math
119
144
  uniquecounter
120
145
  upquote
121
146
  url
@@ -1,6 +1,8 @@
1
1
  % Setze Deutsch als Sprache
2
2
  \usepackage[english,main=ngerman]{babel}
3
- <% if (tweak_outerquote == "babel") { -%>
3
+ % Neue deutsche Trennmuster
4
+ \babelprovide[hyphenrules=ngerman-x-latest]{german}
5
+ <% if (tweakouterquote == "babel") { -%>
4
6
  %
5
7
  % Hinweis von http://tex.stackexchange.com/a/321066/9075
6
8
  % Ermögliche die Benutzung von "= als Trennstriche
@@ -3,7 +3,7 @@
3
3
  % Even though `american`, `english` and `USenglish` are synonyms for babel package (according to https://tex.stackexchange.com/questions/12775/babel-english-american-usenglish), the llncs document class is prepared to avoid the overriding of certain names (such as "Abstract." -> "Abstract" or "Fig." -> "Figure") when using `english`, but not when using the other 2.
4
4
  % english has to go last to set it as default language
5
5
  \usepackage[ngerman,main=english]{babel}
6
- <% if (tweak_outerquote == "babel") { -%>
6
+ <% if (tweakouterquote == "babel") { -%>
7
7
  %
8
8
  % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes
9
9
  \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
@@ -4,7 +4,7 @@
4
4
  Bitte das \enquote{enquote-Makro} verwenden, um etwas in Anführungszeichen zu setzen.
5
5
  Alternativ ist es auch über "`möglich"', Wörter in Anführungszeichen zu setzen.
6
6
 
7
- <% if (tweak_outerquote == "outerquote") { -%>
7
+ <% if (tweakouterquote == "outerquote") { -%>
8
8
  Das Feature "MakeOuterQuote" wurde auch aktiviert, weshalb "einfache" Anführungszeichen auch genutzt werden können.
9
9
  Achtung! Dieses Feature ist weitgehend unbekannt, so dass man ab und an falsche Anführungszeichen in \LaTeX-Dokumenten sieht.
10
10
  Siehe \url{https://tex.stackexchange.com/a/150958/9075} für Details bezüglich dieser Lösung.
@@ -4,7 +4,7 @@
4
4
  Please use the \enquote{enquote command} to quote something.
5
5
  Quoting with "`quote"' or ``quote'' also works.
6
6
 
7
- <% if (tweak_outerquote == "outerquote") { -%>
7
+ <% if (tweakouterquote == "outerquote") { -%>
8
8
  The feature "MakeOuterQuote" is also enabled, which enables "plain" double quotes to correctly enquote.
9
9
  See \url{https://tex.stackexchange.com/a/150958/9075} for details on that solution.
10
10
  <% } -%>
@@ -1,7 +1,7 @@
1
1
  % For easy quotations: \enquote{text}
2
2
  % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command
3
3
  \usepackage[autostyle=true]{csquotes}
4
- <% if (tweak_outerquote == "outerquote") { -%>
4
+ <% if (tweakouterquote == "outerquote") { -%>
5
5
 
6
6
  % Enable "quote" - see https://tex.stackexchange.com/a/150958/9075
7
7
  \MakeOuterQuote{"}
@@ -11,3 +11,21 @@
11
11
  \end{figure}
12
12
  <%- eexample %>
13
13
  <%- include('floatflt.example.en.tex', this); %>
14
+ <% if (documentclass == 'ieee') { -%>
15
+
16
+ One can span a figure across multiple columns by using \verb+\begin{figure*}+.
17
+ See \cref{fig:16x9} as an example.
18
+
19
+ <%- bexample %>
20
+ \begin{figure*}
21
+ \centering
22
+ % note that \textwidth is used instead of \linewidth
23
+ % This ensures that the graphics width is 60% of the "page" (text block), and not just 60% of the current text column
24
+ % See https://tex.stackexchange.com/a/17085/9075 for details
25
+ \includegraphics[width=.6\textwidth]{example-image-16x9}
26
+ \caption{16x9 Figure}
27
+ \label{fig:16x9}
28
+ \end{figure*}
29
+ <%- eexample %>
30
+
31
+ <% } -%>
@@ -9,7 +9,7 @@ Here are some hints:
9
9
  In case you write <%- bquote %>application-specific<%- equote %>, then the word will only be hyphenated at the dash.
10
10
  You can also write \verb1applica\allowbreak{}tion-specific1 (result: applica\allowbreak{}tion-specific), but this is much more effort.
11
11
 
12
- <% if (tweak_outerquote == "outerquote") { -%>
12
+ <% if (tweakouterquote == "outerquote") { -%>
13
13
  In the net, you will read about that one can use a normal quote sign followed by an equal sign (\verb1"=1) to specify that hyphenation is allowed at other places in the word.
14
14
  Since we use the quote sign for automatic quoation, this is not possible anymore.
15
15
  Please use the command \verb1\hydash1 for the same purpose.
@@ -1,6 +1,4 @@
1
- # `-file-line-error` is similar to `--interaction nonstopmode`, but shows the concrete line number
2
- # Remove it, it you want lualatex to stop on errors
3
- $pdflatex = '<%= latexcompiler %> <% if (requiresShellEscape) { %>--shell-escape <% } %>--interaction nonstopmode --synctex=-1 %O %S | texlogsieve';
1
+ $pdflatex = '<%= latexcompiler %> <% if (requiresShellEscape) { %>--shell-escape <% } %>--file-line-error --synctex=-1 %O %S | texlogsieve';
4
2
 
5
3
  #Use SumatraPDF instead of the default PDF viewer
6
4
  $pdf_previewer = 'start "C:\Program Files\SumatraPDF\SumatraPDF.exe"';