docrev 0.9.11 → 0.9.14

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 (138) hide show
  1. package/.claude/settings.local.json +9 -9
  2. package/.gitattributes +1 -1
  3. package/CHANGELOG.md +149 -149
  4. package/PLAN-tables-and-postprocess.md +850 -850
  5. package/README.md +391 -391
  6. package/bin/rev.js +11 -11
  7. package/bin/rev.ts +145 -145
  8. package/completions/rev.bash +127 -127
  9. package/completions/rev.ps1 +210 -210
  10. package/completions/rev.zsh +207 -207
  11. package/dev_notes/stress2/build_adversarial.ts +186 -186
  12. package/dev_notes/stress2/drift_matcher.ts +62 -62
  13. package/dev_notes/stress2/probe_anchors.ts +35 -35
  14. package/dev_notes/stress2/project/discussion.before.md +3 -3
  15. package/dev_notes/stress2/project/discussion.md +3 -3
  16. package/dev_notes/stress2/project/methods.before.md +20 -20
  17. package/dev_notes/stress2/project/methods.md +20 -20
  18. package/dev_notes/stress2/project/rev.yaml +5 -5
  19. package/dev_notes/stress2/project/sections.yaml +4 -4
  20. package/dev_notes/stress2/sections.yaml +5 -5
  21. package/dev_notes/stress2/trace_placement.ts +50 -50
  22. package/dev_notes/stresstest_boundaries.ts +27 -27
  23. package/dev_notes/stresstest_drift_apply.ts +43 -43
  24. package/dev_notes/stresstest_drift_compare.ts +43 -43
  25. package/dev_notes/stresstest_drift_v2.ts +54 -54
  26. package/dev_notes/stresstest_inspect.ts +54 -54
  27. package/dev_notes/stresstest_pstyle.ts +55 -55
  28. package/dev_notes/stresstest_section_debug.ts +23 -23
  29. package/dev_notes/stresstest_split.ts +70 -70
  30. package/dev_notes/stresstest_trace.ts +19 -19
  31. package/dev_notes/stresstest_verify_no_overwrite.ts +40 -40
  32. package/dist/lib/build.d.ts +50 -1
  33. package/dist/lib/build.d.ts.map +1 -1
  34. package/dist/lib/build.js +80 -30
  35. package/dist/lib/build.js.map +1 -1
  36. package/dist/lib/commands/build.d.ts.map +1 -1
  37. package/dist/lib/commands/build.js +38 -5
  38. package/dist/lib/commands/build.js.map +1 -1
  39. package/dist/lib/commands/utilities.js +164 -164
  40. package/dist/lib/commands/word-tools.js +8 -8
  41. package/dist/lib/grammar.js +3 -3
  42. package/dist/lib/import.d.ts.map +1 -1
  43. package/dist/lib/import.js +146 -24
  44. package/dist/lib/import.js.map +1 -1
  45. package/dist/lib/pdf-comments.js +44 -44
  46. package/dist/lib/plugins.js +57 -57
  47. package/dist/lib/pptx-themes.js +115 -115
  48. package/dist/lib/spelling.js +2 -2
  49. package/dist/lib/templates.js +387 -387
  50. package/dist/lib/themes.js +51 -51
  51. package/dist/lib/types.d.ts +20 -0
  52. package/dist/lib/types.d.ts.map +1 -1
  53. package/dist/lib/word-extraction.d.ts +6 -0
  54. package/dist/lib/word-extraction.d.ts.map +1 -1
  55. package/dist/lib/word-extraction.js +46 -3
  56. package/dist/lib/word-extraction.js.map +1 -1
  57. package/dist/lib/wordcomments.d.ts.map +1 -1
  58. package/dist/lib/wordcomments.js +23 -5
  59. package/dist/lib/wordcomments.js.map +1 -1
  60. package/eslint.config.js +27 -27
  61. package/lib/anchor-match.ts +276 -276
  62. package/lib/annotations.ts +644 -644
  63. package/lib/build.ts +1300 -1227
  64. package/lib/citations.ts +160 -160
  65. package/lib/commands/build.ts +833 -801
  66. package/lib/commands/citations.ts +515 -515
  67. package/lib/commands/comments.ts +1050 -1050
  68. package/lib/commands/context.ts +174 -174
  69. package/lib/commands/core.ts +309 -309
  70. package/lib/commands/doi.ts +435 -435
  71. package/lib/commands/file-ops.ts +372 -372
  72. package/lib/commands/history.ts +320 -320
  73. package/lib/commands/index.ts +87 -87
  74. package/lib/commands/init.ts +259 -259
  75. package/lib/commands/merge-resolve.ts +378 -378
  76. package/lib/commands/preview.ts +178 -178
  77. package/lib/commands/project-info.ts +244 -244
  78. package/lib/commands/quality.ts +517 -517
  79. package/lib/commands/response.ts +454 -454
  80. package/lib/commands/section-boundaries.ts +82 -82
  81. package/lib/commands/sections.ts +451 -451
  82. package/lib/commands/sync.ts +706 -706
  83. package/lib/commands/text-ops.ts +449 -449
  84. package/lib/commands/utilities.ts +448 -448
  85. package/lib/commands/verify-anchors.ts +272 -272
  86. package/lib/commands/word-tools.ts +340 -340
  87. package/lib/comment-realign.ts +517 -517
  88. package/lib/config.ts +84 -84
  89. package/lib/crossref.ts +781 -781
  90. package/lib/csl.ts +191 -191
  91. package/lib/dependencies.ts +98 -98
  92. package/lib/diff-engine.ts +465 -465
  93. package/lib/doi-cache.ts +115 -115
  94. package/lib/doi.ts +897 -897
  95. package/lib/equations.ts +506 -506
  96. package/lib/errors.ts +346 -346
  97. package/lib/format.ts +541 -541
  98. package/lib/git.ts +326 -326
  99. package/lib/grammar.ts +303 -303
  100. package/lib/image-registry.ts +180 -180
  101. package/lib/import.ts +911 -792
  102. package/lib/journals.ts +543 -543
  103. package/lib/merge.ts +633 -633
  104. package/lib/orcid.ts +144 -144
  105. package/lib/pdf-comments.ts +263 -263
  106. package/lib/pdf-import.ts +524 -524
  107. package/lib/plugins.ts +362 -362
  108. package/lib/postprocess.ts +188 -188
  109. package/lib/pptx-color-filter.lua +37 -37
  110. package/lib/pptx-template.ts +469 -469
  111. package/lib/pptx-themes.ts +483 -483
  112. package/lib/protect-restore.ts +520 -520
  113. package/lib/rate-limiter.ts +94 -94
  114. package/lib/response.ts +197 -197
  115. package/lib/restore-references.ts +240 -240
  116. package/lib/review.ts +327 -327
  117. package/lib/schema.ts +417 -417
  118. package/lib/scientific-words.ts +73 -73
  119. package/lib/sections.ts +335 -335
  120. package/lib/slides.ts +756 -756
  121. package/lib/spelling.ts +334 -334
  122. package/lib/templates.ts +526 -526
  123. package/lib/themes.ts +742 -742
  124. package/lib/trackchanges.ts +247 -247
  125. package/lib/tui.ts +450 -450
  126. package/lib/types.ts +550 -530
  127. package/lib/undo.ts +250 -250
  128. package/lib/utils.ts +69 -69
  129. package/lib/variables.ts +179 -179
  130. package/lib/word-extraction.ts +806 -759
  131. package/lib/word.ts +643 -643
  132. package/lib/wordcomments.ts +817 -798
  133. package/package.json +137 -137
  134. package/scripts/postbuild.js +28 -28
  135. package/skill/REFERENCE.md +431 -431
  136. package/skill/SKILL.md +258 -258
  137. package/tsconfig.json +26 -26
  138. package/types/index.d.ts +525 -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',