docrev 0.11.1 → 0.11.3

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 (144) hide show
  1. package/.gitattributes +1 -1
  2. package/CHANGELOG.md +207 -197
  3. package/PLAN-tables-and-postprocess.md +850 -850
  4. package/README.md +433 -433
  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/annotations.d.ts.map +1 -1
  11. package/dist/lib/annotations.js +28 -0
  12. package/dist/lib/annotations.js.map +1 -1
  13. package/dist/lib/build.d.ts +28 -0
  14. package/dist/lib/build.d.ts.map +1 -1
  15. package/dist/lib/build.js +81 -4
  16. package/dist/lib/build.js.map +1 -1
  17. package/dist/lib/commands/comments.d.ts.map +1 -1
  18. package/dist/lib/commands/comments.js +58 -28
  19. package/dist/lib/commands/comments.js.map +1 -1
  20. package/dist/lib/commands/context.d.ts +1 -0
  21. package/dist/lib/commands/context.d.ts.map +1 -1
  22. package/dist/lib/commands/context.js +1 -0
  23. package/dist/lib/commands/context.js.map +1 -1
  24. package/dist/lib/commands/core.d.ts.map +1 -1
  25. package/dist/lib/commands/core.js +25 -8
  26. package/dist/lib/commands/core.js.map +1 -1
  27. package/dist/lib/commands/response.js +1 -1
  28. package/dist/lib/commands/response.js.map +1 -1
  29. package/dist/lib/commands/utilities.js +164 -164
  30. package/dist/lib/commands/word-tools.js +8 -8
  31. package/dist/lib/grammar.js +3 -3
  32. package/dist/lib/import.d.ts +14 -0
  33. package/dist/lib/import.d.ts.map +1 -1
  34. package/dist/lib/import.js +23 -0
  35. package/dist/lib/import.js.map +1 -1
  36. package/dist/lib/input.d.ts +67 -0
  37. package/dist/lib/input.d.ts.map +1 -0
  38. package/dist/lib/input.js +164 -0
  39. package/dist/lib/input.js.map +1 -0
  40. package/dist/lib/macro-filter.lua +201 -201
  41. package/dist/lib/pdf-comments.js +44 -44
  42. package/dist/lib/plugins.js +57 -57
  43. package/dist/lib/pptx-color-filter.lua +37 -37
  44. package/dist/lib/pptx-themes.js +115 -115
  45. package/dist/lib/response.d.ts +1 -1
  46. package/dist/lib/response.d.ts.map +1 -1
  47. package/dist/lib/response.js +5 -2
  48. package/dist/lib/response.js.map +1 -1
  49. package/dist/lib/schema.d.ts.map +1 -1
  50. package/dist/lib/schema.js +8 -2
  51. package/dist/lib/schema.js.map +1 -1
  52. package/dist/lib/spelling.js +2 -2
  53. package/dist/lib/templates.js +387 -387
  54. package/dist/lib/themes.js +51 -51
  55. package/eslint.config.js +27 -27
  56. package/lib/anchor-match.ts +307 -307
  57. package/lib/annotations.ts +695 -664
  58. package/lib/build.ts +2047 -1956
  59. package/lib/citations.ts +160 -160
  60. package/lib/commands/build.ts +885 -885
  61. package/lib/commands/citations.ts +515 -515
  62. package/lib/commands/comments.ts +1077 -1050
  63. package/lib/commands/context.ts +185 -176
  64. package/lib/commands/core.ts +328 -309
  65. package/lib/commands/doi.ts +451 -451
  66. package/lib/commands/file-ops.ts +372 -372
  67. package/lib/commands/history.ts +320 -320
  68. package/lib/commands/index.ts +87 -87
  69. package/lib/commands/init.ts +259 -259
  70. package/lib/commands/merge-resolve.ts +378 -378
  71. package/lib/commands/preview.ts +178 -178
  72. package/lib/commands/project-info.ts +244 -244
  73. package/lib/commands/quality.ts +517 -517
  74. package/lib/commands/response.ts +454 -454
  75. package/lib/commands/section-boundaries.ts +82 -82
  76. package/lib/commands/sections.ts +451 -451
  77. package/lib/commands/sync.ts +689 -689
  78. package/lib/commands/text-ops.ts +449 -449
  79. package/lib/commands/utilities.ts +448 -448
  80. package/lib/commands/verify-anchors.ts +272 -272
  81. package/lib/commands/word-tools.ts +340 -340
  82. package/lib/comment-realign.ts +99 -99
  83. package/lib/config.ts +84 -84
  84. package/lib/crossref.ts +781 -781
  85. package/lib/csl.ts +191 -191
  86. package/lib/dependencies.ts +132 -132
  87. package/lib/diff-engine.ts +465 -465
  88. package/lib/doi-cache.ts +115 -115
  89. package/lib/doi.ts +879 -879
  90. package/lib/equations.ts +506 -506
  91. package/lib/errors.ts +350 -350
  92. package/lib/format.ts +541 -541
  93. package/lib/git.ts +326 -326
  94. package/lib/grammar.ts +303 -303
  95. package/lib/image-registry.ts +180 -180
  96. package/lib/import.ts +932 -906
  97. package/lib/input.ts +174 -0
  98. package/lib/journals.ts +543 -543
  99. package/lib/macro-filter.lua +201 -201
  100. package/lib/macros.ts +273 -273
  101. package/lib/merge.ts +633 -633
  102. package/lib/ooxml.ts +768 -768
  103. package/lib/orcid.ts +144 -144
  104. package/lib/pdf-comments.ts +263 -263
  105. package/lib/pdf-import.ts +524 -524
  106. package/lib/plugins.ts +362 -362
  107. package/lib/postprocess.ts +188 -188
  108. package/lib/pptx-color-filter.lua +37 -37
  109. package/lib/pptx-template.ts +469 -469
  110. package/lib/pptx-themes.ts +483 -483
  111. package/lib/protect-restore.ts +520 -520
  112. package/lib/rate-limiter.ts +127 -127
  113. package/lib/response.ts +200 -197
  114. package/lib/restore-references.ts +240 -240
  115. package/lib/review.ts +327 -327
  116. package/lib/schema.ts +494 -488
  117. package/lib/scientific-words.ts +73 -73
  118. package/lib/sections.ts +428 -428
  119. package/lib/slides.ts +756 -756
  120. package/lib/spelling.ts +334 -334
  121. package/lib/templates.ts +526 -526
  122. package/lib/themes.ts +742 -742
  123. package/lib/trackchanges.ts +166 -166
  124. package/lib/tui.ts +450 -450
  125. package/lib/types.ts +546 -546
  126. package/lib/undo.ts +250 -250
  127. package/lib/utils.ts +69 -69
  128. package/lib/variables.ts +179 -179
  129. package/lib/word-extraction.ts +525 -525
  130. package/lib/word.ts +526 -526
  131. package/lib/wordcomments.ts +789 -789
  132. package/package.json +1 -1
  133. package/scripts/postbuild.js +47 -47
  134. package/skill/REFERENCE.md +550 -550
  135. package/skill/SKILL.md +302 -302
  136. package/tsconfig.json +26 -26
  137. package/types/index.d.ts +531 -531
  138. package/issues.md +0 -180
  139. package/site/assets/extra.css +0 -208
  140. package/site/commands.html +0 -926
  141. package/site/configuration.html +0 -469
  142. package/site/index.html +0 -288
  143. package/site/troubleshooting.html +0 -461
  144. package/site/workflow.html +0 -518
@@ -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',