docrev 0.9.13 → 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.
- package/.claude/settings.local.json +9 -9
- package/.gitattributes +1 -1
- package/CHANGELOG.md +149 -149
- package/PLAN-tables-and-postprocess.md +850 -850
- package/README.md +391 -391
- package/bin/rev.js +11 -11
- package/bin/rev.ts +145 -145
- package/completions/rev.bash +127 -127
- package/completions/rev.ps1 +210 -210
- package/completions/rev.zsh +207 -207
- package/dev_notes/stress2/build_adversarial.ts +186 -186
- package/dev_notes/stress2/drift_matcher.ts +62 -62
- package/dev_notes/stress2/probe_anchors.ts +35 -35
- package/dev_notes/stress2/project/discussion.before.md +3 -3
- package/dev_notes/stress2/project/discussion.md +3 -3
- package/dev_notes/stress2/project/methods.before.md +20 -20
- package/dev_notes/stress2/project/methods.md +20 -20
- package/dev_notes/stress2/project/rev.yaml +5 -5
- package/dev_notes/stress2/project/sections.yaml +4 -4
- package/dev_notes/stress2/sections.yaml +5 -5
- package/dev_notes/stress2/trace_placement.ts +50 -50
- package/dev_notes/stresstest_boundaries.ts +27 -27
- package/dev_notes/stresstest_drift_apply.ts +43 -43
- package/dev_notes/stresstest_drift_compare.ts +43 -43
- package/dev_notes/stresstest_drift_v2.ts +54 -54
- package/dev_notes/stresstest_inspect.ts +54 -54
- package/dev_notes/stresstest_pstyle.ts +55 -55
- package/dev_notes/stresstest_section_debug.ts +23 -23
- package/dev_notes/stresstest_split.ts +70 -70
- package/dev_notes/stresstest_trace.ts +19 -19
- package/dev_notes/stresstest_verify_no_overwrite.ts +40 -40
- package/dist/lib/build.d.ts +38 -1
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +68 -30
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +38 -5
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/commands/utilities.js +164 -164
- package/dist/lib/commands/word-tools.js +8 -8
- package/dist/lib/grammar.js +3 -3
- package/dist/lib/pdf-comments.js +44 -44
- package/dist/lib/plugins.js +57 -57
- package/dist/lib/pptx-themes.js +115 -115
- package/dist/lib/spelling.js +2 -2
- package/dist/lib/templates.js +387 -387
- package/dist/lib/themes.js +51 -51
- package/eslint.config.js +27 -27
- package/lib/anchor-match.ts +276 -276
- package/lib/annotations.ts +644 -644
- package/lib/build.ts +1300 -1251
- package/lib/citations.ts +160 -160
- package/lib/commands/build.ts +833 -801
- package/lib/commands/citations.ts +515 -515
- package/lib/commands/comments.ts +1050 -1050
- package/lib/commands/context.ts +174 -174
- package/lib/commands/core.ts +309 -309
- package/lib/commands/doi.ts +435 -435
- package/lib/commands/file-ops.ts +372 -372
- package/lib/commands/history.ts +320 -320
- package/lib/commands/index.ts +87 -87
- package/lib/commands/init.ts +259 -259
- package/lib/commands/merge-resolve.ts +378 -378
- package/lib/commands/preview.ts +178 -178
- package/lib/commands/project-info.ts +244 -244
- package/lib/commands/quality.ts +517 -517
- package/lib/commands/response.ts +454 -454
- package/lib/commands/section-boundaries.ts +82 -82
- package/lib/commands/sections.ts +451 -451
- package/lib/commands/sync.ts +706 -706
- package/lib/commands/text-ops.ts +449 -449
- package/lib/commands/utilities.ts +448 -448
- package/lib/commands/verify-anchors.ts +272 -272
- package/lib/commands/word-tools.ts +340 -340
- package/lib/comment-realign.ts +517 -517
- package/lib/config.ts +84 -84
- package/lib/crossref.ts +781 -781
- package/lib/csl.ts +191 -191
- package/lib/dependencies.ts +98 -98
- package/lib/diff-engine.ts +465 -465
- package/lib/doi-cache.ts +115 -115
- package/lib/doi.ts +897 -897
- package/lib/equations.ts +506 -506
- package/lib/errors.ts +346 -346
- package/lib/format.ts +541 -541
- package/lib/git.ts +326 -326
- package/lib/grammar.ts +303 -303
- package/lib/image-registry.ts +180 -180
- package/lib/import.ts +911 -911
- package/lib/journals.ts +543 -543
- package/lib/merge.ts +633 -633
- package/lib/orcid.ts +144 -144
- package/lib/pdf-comments.ts +263 -263
- package/lib/pdf-import.ts +524 -524
- package/lib/plugins.ts +362 -362
- package/lib/postprocess.ts +188 -188
- package/lib/pptx-color-filter.lua +37 -37
- package/lib/pptx-template.ts +469 -469
- package/lib/pptx-themes.ts +483 -483
- package/lib/protect-restore.ts +520 -520
- package/lib/rate-limiter.ts +94 -94
- package/lib/response.ts +197 -197
- package/lib/restore-references.ts +240 -240
- package/lib/review.ts +327 -327
- package/lib/schema.ts +417 -417
- package/lib/scientific-words.ts +73 -73
- package/lib/sections.ts +335 -335
- package/lib/slides.ts +756 -756
- package/lib/spelling.ts +334 -334
- package/lib/templates.ts +526 -526
- package/lib/themes.ts +742 -742
- package/lib/trackchanges.ts +247 -247
- package/lib/tui.ts +450 -450
- package/lib/types.ts +550 -550
- package/lib/undo.ts +250 -250
- package/lib/utils.ts +69 -69
- package/lib/variables.ts +179 -179
- package/lib/word-extraction.ts +806 -806
- package/lib/word.ts +643 -643
- package/lib/wordcomments.ts +817 -817
- package/package.json +137 -137
- package/scripts/postbuild.js +28 -28
- package/skill/REFERENCE.md +431 -431
- package/skill/SKILL.md +258 -258
- package/tsconfig.json +26 -26
- package/types/index.d.ts +525 -525
package/dist/lib/templates.js
CHANGED
|
@@ -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
|
-
{#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
|
+
{#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
|
-
{#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
|
+
{#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',
|