roboneuro 0.1.1

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 (83) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.env-example +12 -0
  4. data/.env.test +8 -0
  5. data/.github/workflows/docker-image.yml +63 -0
  6. data/.github/workflows/tests.yml +28 -0
  7. data/.gitignore +3 -0
  8. data/Gemfile +3 -0
  9. data/Gemfile.lock +135 -0
  10. data/LICENSE +21 -0
  11. data/README.md +190 -0
  12. data/Rakefile +13 -0
  13. data/bin/whedon +131 -0
  14. data/fixtures/latex_paper/paper.tex +0 -0
  15. data/fixtures/paper/10.21105.jcon.00017.crossref.xml +88 -0
  16. data/fixtures/paper/crossref-metadata.yaml +34 -0
  17. data/fixtures/paper/paper-bib.md +27 -0
  18. data/fixtures/paper/paper-single-author.md +24 -0
  19. data/fixtures/paper/paper-with-harder-names.md +27 -0
  20. data/fixtures/paper/paper-with-missing-affiliations.md +21 -0
  21. data/fixtures/paper/paper.bib +65 -0
  22. data/fixtures/paper/paper.html +14 -0
  23. data/fixtures/paper/paper.md +27 -0
  24. data/fixtures/paper/paper.pdf +0 -0
  25. data/fixtures/paper/paper.xml +28 -0
  26. data/fixtures/paper/paper_with_missing_title.md +26 -0
  27. data/fixtures/review_body.txt +48 -0
  28. data/fixtures/test_paper/nested/paper.bib +0 -0
  29. data/fixtures/test_paper/nested/paper.md +0 -0
  30. data/fixtures/test_paper/paper.bib +0 -0
  31. data/fixtures/test_paper/paper.md +0 -0
  32. data/fixtures/vcr_cassettes/joss-lookup.yml +58 -0
  33. data/fixtures/vcr_cassettes/review.yml +237 -0
  34. data/fixtures/vcr_cassettes/reviews.yml +270 -0
  35. data/lib/whedon/auditor.rb +39 -0
  36. data/lib/whedon/author.rb +81 -0
  37. data/lib/whedon/bibtex_parser.rb +103 -0
  38. data/lib/whedon/compilers.rb +379 -0
  39. data/lib/whedon/github.rb +12 -0
  40. data/lib/whedon/orcid_validator.rb +83 -0
  41. data/lib/whedon/processor.rb +178 -0
  42. data/lib/whedon/review.rb +25 -0
  43. data/lib/whedon/reviews.rb +29 -0
  44. data/lib/whedon/version.rb +3 -0
  45. data/lib/whedon.rb +387 -0
  46. data/paperdraft.Dockerfile +48 -0
  47. data/pkg/roboneuro-0.1.0.gem +0 -0
  48. data/resources/.DS_Store +0 -0
  49. data/resources/NeuroLibre/.DS_Store +0 -0
  50. data/resources/NeuroLibre/aas-logo.png +0 -0
  51. data/resources/NeuroLibre/apa.csl +1919 -0
  52. data/resources/NeuroLibre/defaults.yaml +14 -0
  53. data/resources/NeuroLibre/latex.template +541 -0
  54. data/resources/NeuroLibre/logo.png +0 -0
  55. data/resources/NeuroLibre/logo_link.png +0 -0
  56. data/resources/apa.csl +1919 -0
  57. data/resources/crossref.template +89 -0
  58. data/resources/docker-defaults.yaml +42 -0
  59. data/resources/docker-entrypoint.sh +37 -0
  60. data/resources/jats.csl +204 -0
  61. data/resources/jats.template +105 -0
  62. data/resources/jose/apa.csl +1919 -0
  63. data/resources/jose/defaults.yaml +14 -0
  64. data/resources/jose/latex.template +486 -0
  65. data/resources/jose/logo.png +0 -0
  66. data/resources/joss/aas-logo.png +0 -0
  67. data/resources/joss/apa.csl +1919 -0
  68. data/resources/joss/defaults.yaml +14 -0
  69. data/resources/joss/latex.template +525 -0
  70. data/resources/joss/logo.png +0 -0
  71. data/resources/latex.template +485 -0
  72. data/resources/time.lua +8 -0
  73. data/roboneuro.gemspec +39 -0
  74. data/spec/auditor_spec.rb +22 -0
  75. data/spec/author_spec.rb +17 -0
  76. data/spec/bibtex_spec.rb +31 -0
  77. data/spec/orcid_validator_spec.rb +33 -0
  78. data/spec/processor_spec.rb +66 -0
  79. data/spec/review_spec.rb +12 -0
  80. data/spec/reviews_spec.rb +18 -0
  81. data/spec/spec_helper.rb +22 -0
  82. data/spec/whedon_spec.rb +93 -0
  83. metadata +386 -0
@@ -0,0 +1,89 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <doi_batch xmlns="http://www.crossref.org/schema/4.4.0" xmlns:ai="http://www.crossref.org/AccessIndicators.xsd" xmlns:rel="http://www.crossref.org/relations.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4.4.0" xsi:schemaLocation="http://www.crossref.org/schema/4.4.0 http://www.crossref.org/schemas/crossref4.4.0.xsd">
3
+ <head>
4
+ <doi_batch_id>$doi_batch_id$</doi_batch_id>
5
+ <timestamp>$timestamp$</timestamp>
6
+ <depositor>
7
+ <depositor_name>NeuroLibre Admin</depositor_name>
8
+ <email_address>roboneurolibre@gmail.com</email_address>
9
+ </depositor>
10
+ <registrant>The Open Journal</registrant>
11
+ </head>
12
+ <body>
13
+ <journal>
14
+ <journal_metadata>
15
+ <full_title>$journal_name$</full_title>
16
+ <abbrev_title>$journal_abbrev_title$</abbrev_title>
17
+ <issn media_type="electronic">$journal_issn$</issn>
18
+ <doi_data>
19
+ <doi>10.55458/$journal_alias$</doi>
20
+ <resource>$journal_url$</resource>
21
+ </doi_data>
22
+ </journal_metadata>
23
+ <journal_issue>
24
+ <publication_date media_type="online">
25
+ <month>$month$</month>
26
+ <year>$year$</year>
27
+ </publication_date>
28
+ <journal_volume>
29
+ <volume>$volume$</volume>
30
+ </journal_volume>
31
+ <issue>$issue$</issue>
32
+ </journal_issue>
33
+ <journal_article publication_type="full_text">
34
+ <titles>
35
+ <title>$title$</title>
36
+ </titles>
37
+ $crossref_authors$
38
+ <publication_date>
39
+ <month>$month$</month>
40
+ <day>$day$</day>
41
+ <year>$year$</year>
42
+ </publication_date>
43
+ <pages>
44
+ <first_page>$page$</first_page>
45
+ </pages>
46
+ <publisher_item>
47
+ <identifier id_type="doi">$formatted_doi$</identifier>
48
+ </publisher_item>
49
+ <ai:program name="AccessIndicators">
50
+ <ai:license_ref applies_to="vor">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
51
+ <ai:license_ref applies_to="am">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
52
+ <ai:license_ref applies_to="tdm">http://creativecommons.org/licenses/by/4.0/</ai:license_ref>
53
+ </ai:program>
54
+ <rel:program>
55
+ <rel:related_item>
56
+ <rel:description>Repository archive</rel:description>
57
+ <rel:inter_work_relation relationship-type="hasPart" identifier-type="doi">$repository_doi$</rel:inter_work_relation>
58
+ </rel:related_item>
59
+ <rel:related_item>
60
+ <rel:description>Dataset archive</rel:description>
61
+ <rel:inter_work_relation relationship-type="hasPart" identifier-type="doi">$dataset_doi$</rel:inter_work_relation>
62
+ </rel:related_item>
63
+ <rel:related_item>
64
+ <rel:description>Book archive</rel:description>
65
+ <rel:inter_work_relation relationship-type="hasPart" identifier-type="doi">$book_doi$</rel:inter_work_relation>
66
+ </rel:related_item>
67
+ <rel:related_item>
68
+ <rel:description>Container archive</rel:description>
69
+ <rel:inter_work_relation relationship-type="hasPart" identifier-type="doi">$docker_doi$</rel:inter_work_relation>
70
+ </rel:related_item>
71
+ <rel:related_item>
72
+ <rel:description>GitHub technical screening</rel:description>
73
+ <rel:inter_work_relation relationship-type="hasReview" identifier-type="uri">$review_issue_url$</rel:inter_work_relation>
74
+ </rel:related_item>
75
+ </rel:program>
76
+ <doi_data>
77
+ <doi>$formatted_doi$</doi>
78
+ <resource>$joss_resource_url$</resource>
79
+ <collection property="text-mining">
80
+ <item>
81
+ <resource mime_type="application/pdf">$joss_resource_url$.pdf</resource>
82
+ </item>
83
+ </collection>
84
+ </doi_data>
85
+ $citations$
86
+ </journal_article>
87
+ </journal>
88
+ </body>
89
+ </doi_batch>
@@ -0,0 +1,42 @@
1
+ from: markdown
2
+ to: latex
3
+ output-file: paper.pdf
4
+ standalone: true
5
+
6
+ # note that structured variables may be specified:
7
+ variables:
8
+ archive_doi: 'DOI unavailable'
9
+ doi_batch_id: 'N/A'
10
+ editor_url: 'https://example.com'
11
+ formatted_doi: 'DOI unavailable'
12
+ repository: 'NO_REPOSITORY'
13
+ review_issue_url: 'N/A'
14
+ paper_url: 'NO PAPER URL'
15
+
16
+ metadata:
17
+ citation_author: '¿citation_author?'
18
+ editor_name: 'Pending Editor'
19
+ issue: '¿ISSUE?'
20
+ page: '¿PAGE?'
21
+ published: 'N/A'
22
+ reviewers:
23
+ - 'Pending Reviewers'
24
+ submitted: 'N/A'
25
+ volume: '¿VOL?'
26
+
27
+ resource-path: [".", '/usr/local/share/openjournals']
28
+
29
+ filters:
30
+ - citeproc
31
+ - type: lua
32
+ path: /usr/local/share/openjournals/time.lua
33
+
34
+ # ERROR, WARNING, or INFO
35
+ verbosity: INFO
36
+
37
+ pdf-engine: xelatex
38
+ dpi: 300
39
+
40
+ default-image-extension: ".png"
41
+ reference-links: true
42
+ fail-if-warnings: true
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+ # Get options
3
+ keep_tex="0"
4
+ while getopts "k" "opt"; do
5
+ case "$opt" in
6
+ k)
7
+ keep_tex=1
8
+ ;;
9
+ esac
10
+ done
11
+ shift "$(expr $OPTIND - 1)"
12
+
13
+ # The first argument must always be the path to the main paper
14
+ # file. The working directory is switched to the folder that the
15
+ # paper file is in.
16
+ input="$1"
17
+ shift
18
+
19
+ input_file="$(basename $input)"
20
+ cd "$(dirname $input)"
21
+
22
+ ## Create LaTeX file.
23
+ if [ "$keep_tex" -ge 1 ]; then
24
+ /usr/local/bin/pandoc \
25
+ --defaults="$OPENJOURNALS_PATH"/docker-defaults.yaml \
26
+ --defaults="$OPENJOURNALS_PATH"/"$JOURNAL"/defaults.yaml \
27
+ --output=paper.tex \
28
+ "$input_file" \
29
+ "$@"
30
+ fi
31
+
32
+ ## Create full PDF
33
+ /usr/local/bin/pandoc \
34
+ --defaults="$OPENJOURNALS_PATH"/docker-defaults.yaml \
35
+ --defaults="$OPENJOURNALS_PATH"/"$JOURNAL"/defaults.yaml \
36
+ "$input_file" \
37
+ "$@"
@@ -0,0 +1,204 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" default-locale="en-US">
3
+ <info>
4
+ <title>Journal Article Tag Suite</title>
5
+ <title-short>JATS</title-short>
6
+ <id>http://www.zotero.org/styles/journal-article-tag-suite</id>
7
+ <link href="https://github.com/MartinPaulEve/JATS-CSL/blob/master/jats.csl" rel="self"/>
8
+ <link rel="documentation" href="http://jats.nlm.nih.gov/archiving/tag-library/1.0/index.html"/>
9
+ <author>
10
+ <name>Martin Paul Eve</name>
11
+ <email>martin@martineve.com</email>
12
+ </author>
13
+ <category citation-format="numeric"/>
14
+ <category field="medicine"/>
15
+ <category field="biology"/>
16
+ <summary>Use this style to generate bibliographic data in Journal Article Tagging Suite (JATS) 1.0 XML format</summary>
17
+ <updated>2014-06-21T17:41:26+00:00</updated>
18
+ <rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Originally by Martin Fenner.</rights>
19
+ </info>
20
+ <locale xml:lang="en">
21
+ <terms>
22
+ <term name="et-al">{{jats}}&lt;etal/&gt;{{/jats}}</term>
23
+ </terms>
24
+ </locale>
25
+ <macro name="citation-number">
26
+ <text variable="citation-number" prefix="{{jats}}id=&quot;ref-{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}"/>
27
+ </macro>
28
+ <macro name="author">
29
+ <names variable="author">
30
+ <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">
31
+ <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>
32
+ <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;/given-names&gt;{{/jats}}"/>
33
+ </name>
34
+ <substitute>
35
+ <names variable="editor"/>
36
+ </substitute>
37
+ </names>
38
+ </macro>
39
+
40
+ <macro name="editor">
41
+ <names variable="editor" prefix="{{jats}}&lt;person-group person-group-type=&quot;editor&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/person-group&gt;{{/jats}}">
42
+ <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">
43
+ <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>
44
+ <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;/given-names&gt;{{/jats}}"/>
45
+ </name>
46
+ <substitute>
47
+ <names variable="editor"/>
48
+ </substitute>
49
+ </names>
50
+ </macro>
51
+
52
+ <macro name="editor">
53
+ <group delimiter=": ">
54
+ <names variable="editor">
55
+ <name prefix="{{jats}}&lt;name&gt;{{/jats}}" suffix="{{jats}}&lt;/name&gt;{{/jats}}" name-as-sort-order="all" sort-separator="">
56
+ <name-part name="family" text-case="capitalize-first" prefix="{{jats}}&lt;surname&gt;{{/jats}}" suffix="{{jats}}&lt;/surname&gt;{{/jats}}"/>
57
+ <name-part name="given" text-case="capitalize-first" prefix="{{jats}}&lt;given-names&gt;{{/jats}}" suffix="{{jats}}&lt;given-names&gt;{{/jats}}"/>
58
+ </name>
59
+ </names>
60
+ </group>
61
+ </macro>
62
+ <macro name="title">
63
+ <choose>
64
+ <if type="book" match="any">
65
+ <group prefix="{{jats}}&lt;source&gt;{{/jats}}" suffix="{{jats}}&lt;/source&gt;{{/jats}}">
66
+ <text variable="title"/>
67
+ </group>
68
+ </if>
69
+ <else>
70
+ <group prefix="{{jats}}&lt;article-title&gt;{{/jats}}" suffix="{{jats}}&lt;/article-title&gt;{{/jats}}">
71
+ <text variable="title"/>
72
+ </group>
73
+ </else>
74
+ </choose>
75
+ </macro>
76
+ <macro name="container-title">
77
+ <text variable="container-title" form="short" prefix="{{jats}}&lt;source&gt;{{/jats}}" suffix="{{jats}}&lt;/source&gt;{{/jats}}"/>
78
+ </macro>
79
+ <macro name="publisher">
80
+ <text variable="publisher" prefix="{{jats}}&lt;publisher-name&gt;{{/jats}}" suffix="{{jats}}&lt;/publisher-name&gt;{{/jats}}"/>
81
+ <text variable="publisher-place" prefix="{{jats}}&lt;publisher-loc&gt;{{/jats}}" suffix="{{jats}}&lt;/publisher-loc&gt;{{/jats}}"/>
82
+ </macro>
83
+ <macro name="link">
84
+ <choose>
85
+ <if match="any" variable="DOI">
86
+ <group prefix="{{jats}}&lt;pub-id pub-id-type=&quot;doi&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/pub-id&gt;{{/jats}}">
87
+ <text variable="DOI"/>
88
+ </group>
89
+ </if>
90
+ </choose>
91
+ <choose>
92
+ <if match="any" variable="PMID">
93
+ <group prefix="{{jats}}&lt;ext-link ext-link-type=&quot;pmid&quot; {{/jats}}" suffix="{{jats}}&lt;/ext-link&gt;{{/jats}}">
94
+ <text variable="PMID" prefix="{{jats}}xlink:href=&quot;http://www.ncbi.nlm.nih.gov/pubmed/{{/jats}}" suffix="{{jats}}&quot; xlink:type=&quot;simple&quot;&gt;{{/jats}}"/>
95
+ <text variable="PMID"/>
96
+ </group>
97
+ </if>
98
+ </choose>
99
+ <choose>
100
+ <if variable="URL" match="any">
101
+ <text variable="URL" />
102
+ </if>
103
+ </choose>
104
+ </macro>
105
+ <macro name="date">
106
+ <choose>
107
+ <if type="article-journal article-magazine article-newspaper report patent book" match="any">
108
+ <group prefix="{{jats}}&lt;date&gt;{{/jats}}" suffix="{{jats}}&lt;/date&gt;{{/jats}}">
109
+ <date variable="issued">
110
+ <date-part name="day" form="numeric-leading-zeros" prefix="{{jats}}&lt;day&gt;{{/jats}}" suffix="{{jats}}&lt;/day&gt;{{/jats}}"/>
111
+ <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}&lt;month&gt;{{/jats}}" suffix="{{jats}}&lt;/month&gt;{{/jats}}"/>
112
+ <date-part name="year" prefix="{{jats}}&lt;year&gt;{{/jats}}" suffix="{{jats}}&lt;/year&gt;{{/jats}}"/>
113
+ </date>
114
+ </group>
115
+ </if>
116
+ <else>
117
+ <group prefix="{{jats}}&lt;date-in-citation content-type=&quot;access-date&quot;{{/jats}}" suffix="{{jats}}&lt;/date-in-citation&gt;{{/jats}}">
118
+ <date variable="accessed" prefix="{{jats}} iso-8601-date=&quot;{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}">
119
+ <date-part name="year"/>
120
+ <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}-{{/jats}}"/>
121
+ <date-part name="day" form="numeric-leading-zeros" prefix="{{jats}}-{{/jats}}"/>
122
+ </date>
123
+ <date variable="accessed">
124
+ <date-part name="day" prefix="{{jats}}&lt;day&gt;{{/jats}}" suffix="{{jats}}&lt;/day&gt;{{/jats}}"/>
125
+ <date-part name="month" form="numeric-leading-zeros" prefix="{{jats}}&lt;month&gt;{{/jats}}" suffix="{{jats}}&lt;/month&gt;{{/jats}}"/>
126
+ <date-part name="year" prefix="{{jats}}&lt;year&gt;{{/jats}}" suffix="{{jats}}&lt;/year&gt;{{/jats}}"/>
127
+ </date>
128
+ </group>
129
+ </else>
130
+ </choose>
131
+ </macro>
132
+ <macro name="location">
133
+ <choose>
134
+ <if type="article-journal article-magazine" match="any">
135
+ <text variable="volume" prefix="{{jats}}&lt;volume&gt;{{/jats}}" suffix="{{jats}}&lt;/volume&gt;{{/jats}}"/>
136
+ <text variable="issue" prefix="{{jats}}&lt;issue&gt;{{/jats}}" suffix="{{jats}}&lt;/issue&gt;{{/jats}}"/>
137
+ </if>
138
+ </choose>
139
+ <choose>
140
+ <if type="article-journal article-magazine article-newspaper chapter" match="any">
141
+ <text variable="page-first" prefix="{{jats}}&lt;fpage&gt;{{/jats}}" suffix="{{jats}}&lt;/fpage&gt;{{/jats}}"/>
142
+ </if>
143
+ </choose>
144
+ </macro>
145
+ <macro name="publication-type">
146
+ <group prefix="{{jats}} publication-type=&quot;{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}">
147
+ <choose>
148
+ <if type="article-journal article-magazine article-newspaper" match="any">
149
+ <text value="journal"/>
150
+ </if>
151
+ <else-if type="book" match="any">
152
+ <text value="book"/>
153
+ </else-if>
154
+ <else-if type="chapter" match="any">
155
+ <text value="bookchapter"/>
156
+ </else-if>
157
+ <else-if type="dataset" match="any">
158
+ <text value="dataset"/>
159
+ </else-if>
160
+ <else-if type="patent" match="any">
161
+ <text value="patent"/>
162
+ </else-if>
163
+ <else-if type="report" match="any">
164
+ <text value="report"/>
165
+ </else-if>
166
+ <else-if type="review" match="any">
167
+ <text value="review"/>
168
+ </else-if>
169
+ <else>
170
+ <text value="standard"/>
171
+ </else>
172
+ </choose>
173
+ </group>
174
+ </macro>
175
+ <citation collapse="citation-number">
176
+ <sort>
177
+ <key variable="citation-number"/>
178
+ </sort>
179
+ <layout delimiter=",">
180
+ <group prefix="{{jats}}&lt;xref ref-type=&quot;bibr&quot; rid=&quot;{{/jats}}" suffix="{{jats}}&lt;/xref&gt;{{/jats}}">
181
+ <text variable="citation-number" prefix="{{jats}}ref-{{/jats}}" suffix="{{jats}}&quot;&gt;{{/jats}}"/>
182
+ <text variable="citation-number"/>
183
+ </group>
184
+ </layout>
185
+ </citation>
186
+ <bibliography sort-separator="">
187
+ <layout>
188
+ <group prefix="{{jats}}&lt;ref {{/jats}}" suffix="{{jats}}&lt;/ref&gt;{{/jats}}">
189
+ <text macro="citation-number"/>
190
+ <group prefix="{{jats}}&lt;element-citation{{/jats}}" suffix="{{jats}}&lt;/element-citation&gt;{{/jats}}">
191
+ <text macro="publication-type"/>
192
+ <text macro="author" prefix="{{jats}}&lt;person-group person-group-type=&quot;author&quot;&gt;{{/jats}}" suffix="{{jats}}&lt;/person-group&gt;{{/jats}}"/>
193
+ <text macro="title" />
194
+ <text macro="container-title"/>
195
+ <text macro="editor"/>
196
+ <text macro="publisher"/>
197
+ <text macro="date"/>
198
+ <text macro="location"/>
199
+ <text macro="link"/>
200
+ </group>
201
+ </group>
202
+ </layout>
203
+ </bibliography>
204
+ </style>
@@ -0,0 +1,105 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN"
3
+ "JATS-journalpublishing1.dtd">
4
+ <article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.0" article-type="$article.type$">
5
+ <front>
6
+ <journal-meta>
7
+ <journal-id journal-id-type="publisher">$journal_abbrev_title$</journal-id>
8
+ <journal-title-group>
9
+ $if(journal_name)$
10
+ <journal-title>$journal_name$</journal-title>
11
+ $endif$
12
+ $if(journal_abbrev_title)$
13
+ <abbrev-journal-title>$journal_abbrev_title$</abbrev-journal-title>
14
+ $endif$
15
+ </journal-title-group>
16
+ $if(journal_issn)$
17
+ <issn pub-type="epub">$journal_issn$</issn>
18
+ $endif$
19
+ <publisher>
20
+ <publisher-name>The Open Journal</publisher-name>
21
+ </publisher>
22
+ </journal-meta>
23
+ <article-meta>
24
+ $if(journal_abbrev_title)$
25
+ <article-id pub-id-type="publisher-id">$journal_abbrev_title$</article-id>
26
+ $endif$
27
+ $if(formatted_doi)$
28
+ <article-id pub-id-type="doi">$formatted_doi$</article-id>
29
+ $endif$
30
+ $if(article.heading)$
31
+ <article-categories>
32
+ <subj-group subj-group-type="heading">
33
+ <subject>$article.heading$</subject>
34
+ </subj-group>
35
+ $if(article.categories)$
36
+ <subj-group subj-group-type="categories">
37
+ $for(article.categories)$
38
+ <subject>$article.categories$</subject>
39
+ $endfor$
40
+ </subj-group>
41
+ $endif$
42
+ </article-categories>
43
+ $endif$
44
+ $if(title)$
45
+ <title-group>
46
+ <article-title>$title$</article-title>
47
+ </title-group>
48
+ $endif$
49
+ $jats_authors$
50
+ $jats_affiliations$
51
+ $if(date)$
52
+ $if(date.iso-8601)$
53
+ <pub-date pub-type="epub" iso-8601-date="$date.iso-8601$">
54
+ $else$
55
+ <pub-date pub-type="epub">
56
+ $endif$
57
+ $if(day)$
58
+ <day>$day$</day>
59
+ $endif$
60
+ $if(month)$
61
+ <month>$month$</month>
62
+ $endif$
63
+ $if(year)$
64
+ <year>$year$</year>
65
+ $else$
66
+ <string-date>$date$</string-date>
67
+ $endif$
68
+ </pub-date>
69
+ $endif$
70
+ $if(volume)$
71
+ <volume>$volume$</volume>
72
+ $endif$
73
+ $if(issue)$
74
+ <issue>$issue$</issue>
75
+ $endif$
76
+ $if(page)$
77
+ <elocation-id>$page$</elocation-id>
78
+ $endif$
79
+ <permissions>
80
+ <copyright-statement>Authors of JOSS papers retain copyright.</copyright-statement>
81
+ $if(year)$
82
+ <copyright-year>$year$</copyright-year>
83
+ $endif$
84
+ <license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
85
+ <license-p>This work is licensed under a Creative Commons Attribution 4.0 International License.</license-p>
86
+ </license>
87
+ </permissions>
88
+ $if(tags)$
89
+ <kwd-group kwd-group-type="author">
90
+ $for(tags)$
91
+ <kwd>$tags$</kwd>
92
+ $endfor$
93
+ </kwd-group>
94
+ $endif$
95
+ </article-meta>
96
+ </front>
97
+ <body>
98
+ $body$
99
+ </body>
100
+ <back>
101
+ $if(back)$
102
+ $back$
103
+ $endif$
104
+ </back>
105
+ </article>