docrev 0.11.0 → 0.11.2

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 (123) hide show
  1. package/.gitattributes +1 -1
  2. package/CHANGELOG.md +202 -184
  3. package/PLAN-tables-and-postprocess.md +850 -850
  4. package/README.md +433 -431
  5. package/bin/rev.js +11 -11
  6. package/bin/rev.ts +145 -145
  7. package/completions/rev.bash +127 -127
  8. package/completions/rev.ps1 +210 -210
  9. package/completions/rev.zsh +207 -207
  10. package/dist/lib/build.d.ts +80 -0
  11. package/dist/lib/build.d.ts.map +1 -1
  12. package/dist/lib/build.js +207 -4
  13. package/dist/lib/build.js.map +1 -1
  14. package/dist/lib/commands/build.d.ts.map +1 -1
  15. package/dist/lib/commands/build.js +34 -12
  16. package/dist/lib/commands/build.js.map +1 -1
  17. package/dist/lib/commands/utilities.js +164 -164
  18. package/dist/lib/commands/word-tools.js +8 -8
  19. package/dist/lib/grammar.js +3 -3
  20. package/dist/lib/macro-filter.lua +201 -201
  21. package/dist/lib/pdf-comments.js +44 -44
  22. package/dist/lib/plugins.js +57 -57
  23. package/dist/lib/pptx-color-filter.lua +37 -37
  24. package/dist/lib/pptx-themes.js +115 -115
  25. package/dist/lib/schema.d.ts.map +1 -1
  26. package/dist/lib/schema.js +8 -2
  27. package/dist/lib/schema.js.map +1 -1
  28. package/dist/lib/spelling.js +2 -2
  29. package/dist/lib/templates.js +387 -387
  30. package/dist/lib/themes.js +51 -51
  31. package/dist/lib/trackchanges.d.ts +41 -25
  32. package/dist/lib/trackchanges.d.ts.map +1 -1
  33. package/dist/lib/trackchanges.js +90 -151
  34. package/dist/lib/trackchanges.js.map +1 -1
  35. package/dist/lib/types.d.ts +0 -7
  36. package/dist/lib/types.d.ts.map +1 -1
  37. package/docs-src/build.py +113 -113
  38. package/docs-src/extra.css +208 -208
  39. package/docs-src/md-to-html.lua +6 -6
  40. package/docs-src/template.html +116 -116
  41. package/eslint.config.js +27 -27
  42. package/lib/anchor-match.ts +307 -307
  43. package/lib/annotations.ts +664 -664
  44. package/lib/build.ts +2047 -1770
  45. package/lib/citations.ts +160 -160
  46. package/lib/commands/build.ts +885 -860
  47. package/lib/commands/citations.ts +515 -515
  48. package/lib/commands/comments.ts +1050 -1050
  49. package/lib/commands/context.ts +176 -176
  50. package/lib/commands/core.ts +309 -309
  51. package/lib/commands/doi.ts +451 -451
  52. package/lib/commands/file-ops.ts +372 -372
  53. package/lib/commands/history.ts +320 -320
  54. package/lib/commands/index.ts +87 -87
  55. package/lib/commands/init.ts +259 -259
  56. package/lib/commands/merge-resolve.ts +378 -378
  57. package/lib/commands/preview.ts +178 -178
  58. package/lib/commands/project-info.ts +244 -244
  59. package/lib/commands/quality.ts +517 -517
  60. package/lib/commands/response.ts +454 -454
  61. package/lib/commands/section-boundaries.ts +82 -82
  62. package/lib/commands/sections.ts +451 -451
  63. package/lib/commands/sync.ts +689 -689
  64. package/lib/commands/text-ops.ts +449 -449
  65. package/lib/commands/utilities.ts +448 -448
  66. package/lib/commands/verify-anchors.ts +272 -272
  67. package/lib/commands/word-tools.ts +340 -340
  68. package/lib/comment-realign.ts +99 -99
  69. package/lib/config.ts +84 -84
  70. package/lib/crossref.ts +781 -781
  71. package/lib/csl.ts +191 -191
  72. package/lib/dependencies.ts +132 -132
  73. package/lib/diff-engine.ts +465 -465
  74. package/lib/doi-cache.ts +115 -115
  75. package/lib/doi.ts +879 -879
  76. package/lib/equations.ts +506 -506
  77. package/lib/errors.ts +350 -350
  78. package/lib/format.ts +541 -541
  79. package/lib/git.ts +326 -326
  80. package/lib/grammar.ts +303 -303
  81. package/lib/image-registry.ts +180 -180
  82. package/lib/import.ts +906 -906
  83. package/lib/journals.ts +543 -543
  84. package/lib/macro-filter.lua +201 -201
  85. package/lib/macros.ts +273 -273
  86. package/lib/merge.ts +633 -633
  87. package/lib/ooxml.ts +768 -768
  88. package/lib/orcid.ts +144 -144
  89. package/lib/pdf-comments.ts +263 -263
  90. package/lib/pdf-import.ts +524 -524
  91. package/lib/plugins.ts +362 -362
  92. package/lib/postprocess.ts +188 -188
  93. package/lib/pptx-color-filter.lua +37 -37
  94. package/lib/pptx-template.ts +469 -469
  95. package/lib/pptx-themes.ts +483 -483
  96. package/lib/protect-restore.ts +520 -520
  97. package/lib/rate-limiter.ts +127 -127
  98. package/lib/response.ts +197 -197
  99. package/lib/restore-references.ts +240 -240
  100. package/lib/review.ts +327 -327
  101. package/lib/schema.ts +494 -488
  102. package/lib/scientific-words.ts +73 -73
  103. package/lib/sections.ts +428 -428
  104. package/lib/slides.ts +756 -756
  105. package/lib/spelling.ts +334 -334
  106. package/lib/templates.ts +526 -526
  107. package/lib/themes.ts +742 -742
  108. package/lib/trackchanges.ts +166 -247
  109. package/lib/tui.ts +450 -450
  110. package/lib/types.ts +546 -558
  111. package/lib/undo.ts +250 -250
  112. package/lib/utils.ts +69 -69
  113. package/lib/variables.ts +179 -179
  114. package/lib/word-extraction.ts +525 -525
  115. package/lib/word.ts +526 -526
  116. package/lib/wordcomments.ts +789 -789
  117. package/mkdocs.yml +64 -64
  118. package/package.json +137 -137
  119. package/scripts/postbuild.js +47 -47
  120. package/skill/REFERENCE.md +550 -539
  121. package/skill/SKILL.md +302 -295
  122. package/tsconfig.json +26 -26
  123. package/types/index.d.ts +531 -525
@@ -11,95 +11,95 @@ export const TEMPLATES = {
11
11
  name: 'Academic Paper',
12
12
  description: 'Standard paper with introduction, methods, results, discussion',
13
13
  files: {
14
- 'rev.yaml': `# Paper configuration
15
- title: "Your Paper Title"
16
- authors:
17
- - name: First Author
18
- affiliation: Institution
19
- email: author@example.com
20
-
21
- # Section files in order
22
- sections:
23
- - introduction.md
24
- - methods.md
25
- - results.md
26
- - discussion.md
27
-
28
- # Bibliography (optional)
29
- bibliography: references.bib
30
- csl: null # uses default CSL
31
-
32
- # Cross-reference settings
33
- crossref:
34
- figureTitle: Figure
35
- tableTitle: Table
36
- figPrefix: [Fig., Figs.]
37
- tblPrefix: [Table, Tables]
38
- linkReferences: true
39
-
40
- # PDF output settings
41
- pdf:
42
- documentclass: article
43
- fontsize: 12pt
44
- geometry: margin=1in
45
- linestretch: 1.5
46
- numbersections: false
47
-
48
- # Word output settings
49
- docx:
50
- reference: null # path to reference.docx template
51
- keepComments: true
52
- `,
53
- 'introduction.md': `# Introduction
54
-
55
- Your introduction goes here. Use dynamic figure references like @fig:example.
56
-
57
- `,
58
- 'methods.md': `# Methods
59
-
60
- ## Study Design
61
-
62
- Describe your methodology here.
63
-
64
- ## Data Analysis
65
-
66
- Reference tables with @tbl:summary.
67
-
68
- `,
69
- 'results.md': `# Results
70
-
71
- Present your findings. See @fig:results for the main analysis.
72
-
73
- ![Example figure caption](figures/placeholder.png){#fig:results}
74
-
75
- `,
76
- 'discussion.md': `# Discussion
77
-
78
- Interpret your results here.
79
-
80
- ## Conclusions
81
-
82
- Summarize key findings.
83
-
84
- `,
85
- 'references.bib': `@article{example2024,
86
- author = {Author, A. and Coauthor, B.},
87
- title = {An Example Paper Title},
88
- journal = {Journal Name},
89
- year = {2024},
90
- volume = {1},
91
- pages = {1--10}
92
- }
93
- `,
94
- '.gitignore': `# Build outputs
95
- *.pdf
96
- *.docx
97
- *.tex
98
- paper.md
99
- .paper-*.md
100
-
101
- # System
102
- .DS_Store
14
+ 'rev.yaml': `# Paper configuration
15
+ title: "Your Paper Title"
16
+ authors:
17
+ - name: First Author
18
+ affiliation: Institution
19
+ email: author@example.com
20
+
21
+ # Section files in order
22
+ sections:
23
+ - introduction.md
24
+ - methods.md
25
+ - results.md
26
+ - discussion.md
27
+
28
+ # Bibliography (optional)
29
+ bibliography: references.bib
30
+ csl: null # uses default CSL
31
+
32
+ # Cross-reference settings
33
+ crossref:
34
+ figureTitle: Figure
35
+ tableTitle: Table
36
+ figPrefix: [Fig., Figs.]
37
+ tblPrefix: [Table, Tables]
38
+ linkReferences: true
39
+
40
+ # PDF output settings
41
+ pdf:
42
+ documentclass: article
43
+ fontsize: 12pt
44
+ geometry: margin=1in
45
+ linestretch: 1.5
46
+ numbersections: false
47
+
48
+ # Word output settings
49
+ docx:
50
+ reference: null # path to reference.docx template
51
+ keepComments: true
52
+ `,
53
+ 'introduction.md': `# Introduction
54
+
55
+ Your introduction goes here. Use dynamic figure references like @fig:example.
56
+
57
+ `,
58
+ 'methods.md': `# Methods
59
+
60
+ ## Study Design
61
+
62
+ Describe your methodology here.
63
+
64
+ ## Data Analysis
65
+
66
+ Reference tables with @tbl:summary.
67
+
68
+ `,
69
+ 'results.md': `# Results
70
+
71
+ Present your findings. See @fig:results for the main analysis.
72
+
73
+ ![Example figure caption](figures/placeholder.png){#fig:results}
74
+
75
+ `,
76
+ 'discussion.md': `# Discussion
77
+
78
+ Interpret your results here.
79
+
80
+ ## Conclusions
81
+
82
+ Summarize key findings.
83
+
84
+ `,
85
+ 'references.bib': `@article{example2024,
86
+ author = {Author, A. and Coauthor, B.},
87
+ title = {An Example Paper Title},
88
+ journal = {Journal Name},
89
+ year = {2024},
90
+ volume = {1},
91
+ pages = {1--10}
92
+ }
93
+ `,
94
+ '.gitignore': `# Build outputs
95
+ *.pdf
96
+ *.docx
97
+ *.tex
98
+ paper.md
99
+ .paper-*.md
100
+
101
+ # System
102
+ .DS_Store
103
103
  `,
104
104
  },
105
105
  directories: ['figures'],
@@ -111,15 +111,15 @@ paper.md
111
111
  name: 'Minimal',
112
112
  description: 'Single document with basic config',
113
113
  files: {
114
- 'rev.yaml': `title: "Document Title"
115
- authors: []
116
- sections:
117
- - content.md
114
+ 'rev.yaml': `title: "Document Title"
115
+ authors: []
116
+ sections:
117
+ - content.md
118
118
  `,
119
- 'content.md': `# Your Document
120
-
121
- Write your content here.
122
-
119
+ 'content.md': `# Your Document
120
+
121
+ Write your content here.
122
+
123
123
  `,
124
124
  },
125
125
  directories: [],
@@ -131,79 +131,79 @@ Write your content here.
131
131
  name: 'Thesis Chapter',
132
132
  description: 'Thesis-style with abstract, sections, appendix',
133
133
  files: {
134
- 'rev.yaml': `title: "Chapter Title"
135
- authors:
136
- - name: Your Name
137
- affiliation: University
138
-
139
- sections:
140
- - abstract.md
141
- - introduction.md
142
- - literature.md
143
- - methods.md
144
- - results.md
145
- - discussion.md
146
- - conclusion.md
147
- - appendix.md
148
-
149
- bibliography: references.bib
150
-
151
- pdf:
152
- documentclass: report
153
- fontsize: 11pt
154
- geometry: "margin=1in"
155
- linestretch: 2
156
- numbersections: true
157
- `,
158
- 'abstract.md': `# Abstract
159
-
160
- Brief summary of the chapter (150-300 words).
161
-
162
- `,
163
- 'introduction.md': `# Introduction
164
-
165
- Background and research questions.
166
-
167
- `,
168
- 'literature.md': `# Literature Review
169
-
170
- Review of relevant prior work.
171
-
172
- `,
173
- 'methods.md': `# Materials and Methods
174
-
175
- Detailed methodology.
176
-
177
- `,
178
- 'results.md': `# Results
179
-
180
- Findings and analysis.
181
-
182
- `,
183
- 'discussion.md': `# Discussion
184
-
185
- Interpretation of results.
186
-
187
- `,
188
- 'conclusion.md': `# Conclusion
189
-
190
- Summary and implications.
191
-
192
- `,
193
- 'appendix.md': `# Appendix
194
-
195
- ## Supplementary Materials
196
-
197
- Additional details here.
198
-
134
+ 'rev.yaml': `title: "Chapter Title"
135
+ authors:
136
+ - name: Your Name
137
+ affiliation: University
138
+
139
+ sections:
140
+ - abstract.md
141
+ - introduction.md
142
+ - literature.md
143
+ - methods.md
144
+ - results.md
145
+ - discussion.md
146
+ - conclusion.md
147
+ - appendix.md
148
+
149
+ bibliography: references.bib
150
+
151
+ pdf:
152
+ documentclass: report
153
+ fontsize: 11pt
154
+ geometry: "margin=1in"
155
+ linestretch: 2
156
+ numbersections: true
157
+ `,
158
+ 'abstract.md': `# Abstract
159
+
160
+ Brief summary of the chapter (150-300 words).
161
+
162
+ `,
163
+ 'introduction.md': `# Introduction
164
+
165
+ Background and research questions.
166
+
167
+ `,
168
+ 'literature.md': `# Literature Review
169
+
170
+ Review of relevant prior work.
171
+
172
+ `,
173
+ 'methods.md': `# Materials and Methods
174
+
175
+ Detailed methodology.
176
+
177
+ `,
178
+ 'results.md': `# Results
179
+
180
+ Findings and analysis.
181
+
182
+ `,
183
+ 'discussion.md': `# Discussion
184
+
185
+ Interpretation of results.
186
+
187
+ `,
188
+ 'conclusion.md': `# Conclusion
189
+
190
+ Summary and implications.
191
+
192
+ `,
193
+ 'appendix.md': `# Appendix
194
+
195
+ ## Supplementary Materials
196
+
197
+ Additional details here.
198
+
199
199
  `,
200
200
  'references.bib': ``,
201
- '.gitignore': `*.pdf
202
- *.docx
203
- *.tex
204
- paper.md
205
- .paper-*.md
206
- .DS_Store
201
+ '.gitignore': `*.pdf
202
+ *.docx
203
+ *.tex
204
+ paper.md
205
+ .paper-*.md
206
+ .DS_Store
207
207
  `,
208
208
  },
209
209
  directories: ['figures', 'tables'],
@@ -215,123 +215,123 @@ paper.md
215
215
  name: 'LaTeX Project',
216
216
  description: 'LaTeX-native with journal template support',
217
217
  files: {
218
- 'rev.yaml': `# LaTeX Paper Configuration
219
- title: "Paper Title"
220
- authors:
221
- - name: First Author
222
- affiliation: University
223
- email: author@example.edu
224
- orcid: 0000-0000-0000-0000
225
-
226
- sections:
227
- - introduction.md
228
- - methods.md
229
- - results.md
230
- - discussion.md
231
-
232
- bibliography: references.bib
233
- csl: null
234
-
235
- # LaTeX-specific settings
236
- pdf:
237
- documentclass: article
238
- classoption: [11pt, a4paper]
239
- fontsize: 11pt
240
- geometry: "margin=2.5cm"
241
- linestretch: 1.5
242
- numbersections: true
243
- header-includes: |
244
- \\usepackage{amsmath}
245
- \\usepackage{graphicx}
246
- \\usepackage{booktabs}
247
- \\usepackage{hyperref}
248
- \\usepackage{natbib}
249
-
250
- # TEX output settings
251
- tex:
252
- standalone: true
253
- keep-tex: true
254
- `,
255
- 'introduction.md': `# Introduction
256
-
257
- Background and motivation.
258
-
259
- ## Objectives
260
-
261
- State your research questions.
262
-
263
- `,
264
- 'methods.md': `# Materials and Methods
265
-
266
- ## Study Area
267
-
268
- Describe the study area or data sources.
269
-
270
- ## Statistical Analysis
271
-
272
- All analyses were performed in R [@R2024].
273
-
274
- `,
275
- 'results.md': `# Results
276
-
277
- Main findings presented here.
278
-
279
- ![Caption for figure](figures/fig1.pdf){#fig:main width=100%}
280
-
281
- See @fig:main for the main results.
282
-
283
- | Variable | Value | SE |
284
- |----------|-------|------|
285
- | A | 1.23 | 0.05 |
286
- | B | 4.56 | 0.12 |
287
-
288
- : Summary statistics {#tbl:summary}
289
-
290
- `,
291
- 'discussion.md': `# Discussion
292
-
293
- Interpretation of findings.
294
-
295
- ## Limitations
296
-
297
- Study limitations.
298
-
299
- ## Conclusions
300
-
301
- Key takeaways.
302
-
303
- `,
304
- 'references.bib': `@Manual{R2024,
305
- title = {R: A Language and Environment for Statistical Computing},
306
- author = {{R Core Team}},
307
- organization = {R Foundation for Statistical Computing},
308
- address = {Vienna, Austria},
309
- year = {2024},
310
- url = {https://www.R-project.org/}
311
- }
312
- `,
313
- '.gitignore': `# Build outputs
314
- *.pdf
315
- *.docx
316
- paper.md
317
- .paper-*.md
318
-
319
- # Keep .tex for version control
320
- # *.tex
321
-
322
- # LaTeX auxiliary files
323
- *.aux
324
- *.bbl
325
- *.blg
326
- *.log
327
- *.out
328
- *.toc
329
- *.fdb_latexmk
330
- *.fls
331
- *.synctex.gz
332
-
333
- # System
334
- .DS_Store
218
+ 'rev.yaml': `# LaTeX Paper Configuration
219
+ title: "Paper Title"
220
+ authors:
221
+ - name: First Author
222
+ affiliation: University
223
+ email: author@example.edu
224
+ orcid: 0000-0000-0000-0000
225
+
226
+ sections:
227
+ - introduction.md
228
+ - methods.md
229
+ - results.md
230
+ - discussion.md
231
+
232
+ bibliography: references.bib
233
+ csl: null
234
+
235
+ # LaTeX-specific settings
236
+ pdf:
237
+ documentclass: article
238
+ classoption: [11pt, a4paper]
239
+ fontsize: 11pt
240
+ geometry: "margin=2.5cm"
241
+ linestretch: 1.5
242
+ numbersections: true
243
+ header-includes: |
244
+ \\usepackage{amsmath}
245
+ \\usepackage{graphicx}
246
+ \\usepackage{booktabs}
247
+ \\usepackage{hyperref}
248
+ \\usepackage{natbib}
249
+
250
+ # TEX output settings
251
+ tex:
252
+ standalone: true
253
+ keep-tex: true
254
+ `,
255
+ 'introduction.md': `# Introduction
256
+
257
+ Background and motivation.
258
+
259
+ ## Objectives
260
+
261
+ State your research questions.
262
+
263
+ `,
264
+ 'methods.md': `# Materials and Methods
265
+
266
+ ## Study Area
267
+
268
+ Describe the study area or data sources.
269
+
270
+ ## Statistical Analysis
271
+
272
+ All analyses were performed in R [@R2024].
273
+
274
+ `,
275
+ 'results.md': `# Results
276
+
277
+ Main findings presented here.
278
+
279
+ ![Caption for figure](figures/fig1.pdf){#fig:main width=100%}
280
+
281
+ See @fig:main for the main results.
282
+
283
+ | Variable | Value | SE |
284
+ |----------|-------|------|
285
+ | A | 1.23 | 0.05 |
286
+ | B | 4.56 | 0.12 |
287
+
288
+ : Summary statistics {#tbl:summary}
289
+
290
+ `,
291
+ 'discussion.md': `# Discussion
292
+
293
+ Interpretation of findings.
294
+
295
+ ## Limitations
296
+
297
+ Study limitations.
298
+
299
+ ## Conclusions
300
+
301
+ Key takeaways.
302
+
303
+ `,
304
+ 'references.bib': `@Manual{R2024,
305
+ title = {R: A Language and Environment for Statistical Computing},
306
+ author = {{R Core Team}},
307
+ organization = {R Foundation for Statistical Computing},
308
+ address = {Vienna, Austria},
309
+ year = {2024},
310
+ url = {https://www.R-project.org/}
311
+ }
312
+ `,
313
+ '.gitignore': `# Build outputs
314
+ *.pdf
315
+ *.docx
316
+ paper.md
317
+ .paper-*.md
318
+
319
+ # Keep .tex for version control
320
+ # *.tex
321
+
322
+ # LaTeX auxiliary files
323
+ *.aux
324
+ *.bbl
325
+ *.blg
326
+ *.log
327
+ *.out
328
+ *.toc
329
+ *.fdb_latexmk
330
+ *.fls
331
+ *.synctex.gz
332
+
333
+ # System
334
+ .DS_Store
335
335
  `,
336
336
  },
337
337
  directories: ['figures', 'tables'],
@@ -343,64 +343,64 @@ paper.md
343
343
  name: 'Review Article',
344
344
  description: 'Literature review or synthesis paper',
345
345
  files: {
346
- 'rev.yaml': `title: "Review Title"
347
- authors:
348
- - name: Author Name
349
- affiliation: Institution
350
-
351
- sections:
352
- - introduction.md
353
- - section1.md
354
- - section2.md
355
- - section3.md
356
- - synthesis.md
357
- - conclusion.md
358
-
359
- bibliography: references.bib
360
-
361
- crossref:
362
- figureTitle: Figure
363
- tableTitle: Table
364
- figPrefix: [Fig., Figs.]
365
- tblPrefix: [Table, Tables]
366
- `,
367
- 'introduction.md': `# Introduction
368
-
369
- Scope and objectives of the review.
370
-
371
- `,
372
- 'section1.md': `# Theme One
373
-
374
- First major theme or topic.
375
-
376
- `,
377
- 'section2.md': `# Theme Two
378
-
379
- Second major theme.
380
-
381
- `,
382
- 'section3.md': `# Theme Three
383
-
384
- Third major theme.
385
-
386
- `,
387
- 'synthesis.md': `# Synthesis
388
-
389
- Integration of themes and emerging patterns.
390
-
391
- `,
392
- 'conclusion.md': `# Conclusion and Future Directions
393
-
394
- Key takeaways and research gaps.
395
-
346
+ 'rev.yaml': `title: "Review Title"
347
+ authors:
348
+ - name: Author Name
349
+ affiliation: Institution
350
+
351
+ sections:
352
+ - introduction.md
353
+ - section1.md
354
+ - section2.md
355
+ - section3.md
356
+ - synthesis.md
357
+ - conclusion.md
358
+
359
+ bibliography: references.bib
360
+
361
+ crossref:
362
+ figureTitle: Figure
363
+ tableTitle: Table
364
+ figPrefix: [Fig., Figs.]
365
+ tblPrefix: [Table, Tables]
366
+ `,
367
+ 'introduction.md': `# Introduction
368
+
369
+ Scope and objectives of the review.
370
+
371
+ `,
372
+ 'section1.md': `# Theme One
373
+
374
+ First major theme or topic.
375
+
376
+ `,
377
+ 'section2.md': `# Theme Two
378
+
379
+ Second major theme.
380
+
381
+ `,
382
+ 'section3.md': `# Theme Three
383
+
384
+ Third major theme.
385
+
386
+ `,
387
+ 'synthesis.md': `# Synthesis
388
+
389
+ Integration of themes and emerging patterns.
390
+
391
+ `,
392
+ 'conclusion.md': `# Conclusion and Future Directions
393
+
394
+ Key takeaways and research gaps.
395
+
396
396
  `,
397
397
  'references.bib': ``,
398
- '.gitignore': `*.pdf
399
- *.docx
400
- *.tex
401
- paper.md
402
- .paper-*.md
403
- .DS_Store
398
+ '.gitignore': `*.pdf
399
+ *.docx
400
+ *.tex
401
+ paper.md
402
+ .paper-*.md
403
+ .DS_Store
404
404
  `,
405
405
  },
406
406
  directories: ['figures'],
@@ -439,60 +439,60 @@ export function generateCustomTemplate(sections, baseTemplate) {
439
439
  const files = {};
440
440
  // Generate rev.yaml with custom sections
441
441
  const sectionsList = sections.map((s) => ` - ${s}.md`).join('\n');
442
- files['rev.yaml'] = `# Paper configuration
443
- title: "Your Paper Title"
444
- authors:
445
- - name: First Author
446
- affiliation: Institution
447
- email: author@example.com
448
-
449
- # Section files in order
450
- sections:
451
- ${sectionsList}
452
-
453
- # Bibliography (optional)
454
- bibliography: references.bib
455
- csl: null # uses default CSL
456
-
457
- # Cross-reference settings
458
- crossref:
459
- figureTitle: Figure
460
- tableTitle: Table
461
- figPrefix: [Fig., Figs.]
462
- tblPrefix: [Table, Tables]
463
- linkReferences: true
464
-
465
- # PDF output settings
466
- pdf:
467
- documentclass: article
468
- fontsize: 12pt
469
- geometry: margin=1in
470
- linestretch: 1.5
471
- numbersections: false
472
-
473
- # Word output settings
474
- docx:
475
- reference: null # path to reference.docx template
476
- keepComments: true
442
+ files['rev.yaml'] = `# Paper configuration
443
+ title: "Your Paper Title"
444
+ authors:
445
+ - name: First Author
446
+ affiliation: Institution
447
+ email: author@example.com
448
+
449
+ # Section files in order
450
+ sections:
451
+ ${sectionsList}
452
+
453
+ # Bibliography (optional)
454
+ bibliography: references.bib
455
+ csl: null # uses default CSL
456
+
457
+ # Cross-reference settings
458
+ crossref:
459
+ figureTitle: Figure
460
+ tableTitle: Table
461
+ figPrefix: [Fig., Figs.]
462
+ tblPrefix: [Table, Tables]
463
+ linkReferences: true
464
+
465
+ # PDF output settings
466
+ pdf:
467
+ documentclass: article
468
+ fontsize: 12pt
469
+ geometry: margin=1in
470
+ linestretch: 1.5
471
+ numbersections: false
472
+
473
+ # Word output settings
474
+ docx:
475
+ reference: null # path to reference.docx template
476
+ keepComments: true
477
477
  `;
478
478
  // Generate section files
479
479
  for (const section of sections) {
480
480
  const header = titleCase(section);
481
- files[`${section}.md`] = `# ${header}
482
-
481
+ files[`${section}.md`] = `# ${header}
482
+
483
483
  `;
484
484
  }
485
485
  // Add common files
486
486
  files['references.bib'] = base.files['references.bib'] || '';
487
- files['.gitignore'] = base.files['.gitignore'] || `# Build outputs
488
- *.pdf
489
- *.docx
490
- *.tex
491
- paper.md
492
- .paper-*.md
493
-
494
- # System
495
- .DS_Store
487
+ files['.gitignore'] = base.files['.gitignore'] || `# Build outputs
488
+ *.pdf
489
+ *.docx
490
+ *.tex
491
+ paper.md
492
+ .paper-*.md
493
+
494
+ # System
495
+ .DS_Store
496
496
  `;
497
497
  return {
498
498
  name: 'Custom',