@fiduswriter/document 0.1.0-alpha.4 → 0.1.0-alpha.5

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 (550) hide show
  1. package/dist/bibliography/common.d.ts +9 -91
  2. package/dist/bibliography/common.d.ts.map +1 -1
  3. package/dist/bibliography/common.js +3 -2
  4. package/dist/bibliography/common.js.map +1 -1
  5. package/dist/bibliography/csl_bib.d.ts +1 -1
  6. package/dist/bibliography/csl_bib.d.ts.map +1 -1
  7. package/dist/bibliography/csl_bib.js +7 -7
  8. package/dist/bibliography/csl_bib.js.map +1 -1
  9. package/dist/citations/citeproc_sys.d.ts +9 -10
  10. package/dist/citations/citeproc_sys.d.ts.map +1 -1
  11. package/dist/citations/citeproc_sys.js +6 -1
  12. package/dist/citations/citeproc_sys.js.map +1 -1
  13. package/dist/citations/format.d.ts +33 -16
  14. package/dist/citations/format.d.ts.map +1 -1
  15. package/dist/citations/format.js +29 -4
  16. package/dist/citations/format.js.map +1 -1
  17. package/dist/editor/e2ee/encryptor.d.ts +35 -35
  18. package/dist/editor/e2ee/encryptor.d.ts.map +1 -1
  19. package/dist/editor/e2ee/encryptor.js +31 -31
  20. package/dist/editor/e2ee/encryptor.js.map +1 -1
  21. package/dist/exporter/docx/citations.d.ts +27 -17
  22. package/dist/exporter/docx/citations.d.ts.map +1 -1
  23. package/dist/exporter/docx/citations.js +24 -7
  24. package/dist/exporter/docx/citations.js.map +1 -1
  25. package/dist/exporter/docx/comments.d.ts +15 -11
  26. package/dist/exporter/docx/comments.d.ts.map +1 -1
  27. package/dist/exporter/docx/comments.js +47 -14
  28. package/dist/exporter/docx/comments.js.map +1 -1
  29. package/dist/exporter/docx/footnotes.d.ts +36 -31
  30. package/dist/exporter/docx/footnotes.d.ts.map +1 -1
  31. package/dist/exporter/docx/footnotes.js +46 -12
  32. package/dist/exporter/docx/footnotes.js.map +1 -1
  33. package/dist/exporter/docx/images.d.ts +23 -12
  34. package/dist/exporter/docx/images.d.ts.map +1 -1
  35. package/dist/exporter/docx/images.js +35 -20
  36. package/dist/exporter/docx/images.js.map +1 -1
  37. package/dist/exporter/docx/index.d.ts +11 -17
  38. package/dist/exporter/docx/index.d.ts.map +1 -1
  39. package/dist/exporter/docx/index.js +15 -7
  40. package/dist/exporter/docx/index.js.map +1 -1
  41. package/dist/exporter/docx/lists.d.ts +27 -22
  42. package/dist/exporter/docx/lists.d.ts.map +1 -1
  43. package/dist/exporter/docx/lists.js +77 -30
  44. package/dist/exporter/docx/lists.js.map +1 -1
  45. package/dist/exporter/docx/math.d.ts +9 -9
  46. package/dist/exporter/docx/math.d.ts.map +1 -1
  47. package/dist/exporter/docx/math.js +22 -5
  48. package/dist/exporter/docx/math.js.map +1 -1
  49. package/dist/exporter/docx/metadata.d.ts +12 -9
  50. package/dist/exporter/docx/metadata.d.ts.map +1 -1
  51. package/dist/exporter/docx/metadata.js +59 -26
  52. package/dist/exporter/docx/metadata.js.map +1 -1
  53. package/dist/exporter/docx/rels.d.ts +14 -12
  54. package/dist/exporter/docx/rels.d.ts.map +1 -1
  55. package/dist/exporter/docx/rels.js +37 -22
  56. package/dist/exporter/docx/rels.js.map +1 -1
  57. package/dist/exporter/docx/render.d.ts +17 -15
  58. package/dist/exporter/docx/render.d.ts.map +1 -1
  59. package/dist/exporter/docx/render.js +37 -31
  60. package/dist/exporter/docx/render.js.map +1 -1
  61. package/dist/exporter/docx/richtext.d.ts +8 -8
  62. package/dist/exporter/docx/richtext.d.ts.map +1 -1
  63. package/dist/exporter/docx/richtext.js +61 -43
  64. package/dist/exporter/docx/richtext.js.map +1 -1
  65. package/dist/exporter/docx/tables.d.ts +11 -9
  66. package/dist/exporter/docx/tables.d.ts.map +1 -1
  67. package/dist/exporter/docx/tables.js +16 -10
  68. package/dist/exporter/docx/tables.js.map +1 -1
  69. package/dist/exporter/docx/tools.d.ts +3 -2
  70. package/dist/exporter/docx/tools.d.ts.map +1 -1
  71. package/dist/exporter/docx/tools.js +3 -3
  72. package/dist/exporter/docx/tools.js.map +1 -1
  73. package/dist/exporter/epub/index.d.ts +11 -3
  74. package/dist/exporter/epub/index.d.ts.map +1 -1
  75. package/dist/exporter/epub/index.js +10 -3
  76. package/dist/exporter/epub/index.js.map +1 -1
  77. package/dist/exporter/epub/templates.d.ts +62 -31
  78. package/dist/exporter/epub/templates.d.ts.map +1 -1
  79. package/dist/exporter/epub/templates.js +1 -1
  80. package/dist/exporter/epub/templates.js.map +1 -1
  81. package/dist/exporter/epub/tools.d.ts +12 -4
  82. package/dist/exporter/epub/tools.d.ts.map +1 -1
  83. package/dist/exporter/epub/tools.js +14 -13
  84. package/dist/exporter/epub/tools.js.map +1 -1
  85. package/dist/exporter/html/citations.d.ts +17 -15
  86. package/dist/exporter/html/citations.d.ts.map +1 -1
  87. package/dist/exporter/html/citations.js +37 -18
  88. package/dist/exporter/html/citations.js.map +1 -1
  89. package/dist/exporter/html/convert.d.ts +20 -70
  90. package/dist/exporter/html/convert.d.ts.map +1 -1
  91. package/dist/exporter/html/convert.js +74 -42
  92. package/dist/exporter/html/convert.js.map +1 -1
  93. package/dist/exporter/html/index.d.ts +55 -52
  94. package/dist/exporter/html/index.d.ts.map +1 -1
  95. package/dist/exporter/html/index.js +23 -3
  96. package/dist/exporter/html/index.js.map +1 -1
  97. package/dist/exporter/html/templates.d.ts +23 -9
  98. package/dist/exporter/html/templates.d.ts.map +1 -1
  99. package/dist/exporter/html/templates.js +1 -1
  100. package/dist/exporter/html/templates.js.map +1 -1
  101. package/dist/exporter/html/tools.d.ts +1 -1
  102. package/dist/exporter/html/tools.d.ts.map +1 -1
  103. package/dist/exporter/html/tools.js +2 -2
  104. package/dist/exporter/html/tools.js.map +1 -1
  105. package/dist/exporter/jats/bibliography.d.ts +2 -1
  106. package/dist/exporter/jats/bibliography.d.ts.map +1 -1
  107. package/dist/exporter/jats/bibliography.js +57 -52
  108. package/dist/exporter/jats/bibliography.js.map +1 -1
  109. package/dist/exporter/jats/citations.d.ts +13 -11
  110. package/dist/exporter/jats/citations.d.ts.map +1 -1
  111. package/dist/exporter/jats/citations.js +28 -6
  112. package/dist/exporter/jats/citations.js.map +1 -1
  113. package/dist/exporter/jats/convert.d.ts +24 -28
  114. package/dist/exporter/jats/convert.d.ts.map +1 -1
  115. package/dist/exporter/jats/convert.js +53 -36
  116. package/dist/exporter/jats/convert.js.map +1 -1
  117. package/dist/exporter/jats/index.d.ts +21 -15
  118. package/dist/exporter/jats/index.d.ts.map +1 -1
  119. package/dist/exporter/jats/index.js +21 -5
  120. package/dist/exporter/jats/index.js.map +1 -1
  121. package/dist/exporter/jats/templates.d.ts +17 -15
  122. package/dist/exporter/jats/templates.d.ts.map +1 -1
  123. package/dist/exporter/jats/templates.js.map +1 -1
  124. package/dist/exporter/jats/text.d.ts +3 -2
  125. package/dist/exporter/jats/text.d.ts.map +1 -1
  126. package/dist/exporter/jats/text.js +4 -4
  127. package/dist/exporter/jats/text.js.map +1 -1
  128. package/dist/exporter/latex/convert.d.ts +12 -15
  129. package/dist/exporter/latex/convert.d.ts.map +1 -1
  130. package/dist/exporter/latex/convert.js +70 -54
  131. package/dist/exporter/latex/convert.js.map +1 -1
  132. package/dist/exporter/latex/escape_latex.d.ts +1 -1
  133. package/dist/exporter/latex/escape_latex.d.ts.map +1 -1
  134. package/dist/exporter/latex/escape_latex.js +1 -1
  135. package/dist/exporter/latex/escape_latex.js.map +1 -1
  136. package/dist/exporter/latex/index.d.ts +20 -19
  137. package/dist/exporter/latex/index.d.ts.map +1 -1
  138. package/dist/exporter/latex/index.js +15 -5
  139. package/dist/exporter/latex/index.js.map +1 -1
  140. package/dist/exporter/latex/readme.d.ts +1 -1
  141. package/dist/exporter/latex/readme.d.ts.map +1 -1
  142. package/dist/exporter/latex/readme.js +2 -2
  143. package/dist/exporter/latex/readme.js.map +1 -1
  144. package/dist/exporter/native/copy.d.ts +30 -0
  145. package/dist/exporter/native/copy.d.ts.map +1 -0
  146. package/dist/exporter/native/copy.js +151 -0
  147. package/dist/exporter/native/copy.js.map +1 -0
  148. package/dist/exporter/native/file.d.ts +12 -0
  149. package/dist/exporter/native/file.d.ts.map +1 -0
  150. package/dist/exporter/native/file.js +38 -0
  151. package/dist/exporter/native/file.js.map +1 -0
  152. package/dist/exporter/native/index.d.ts +5 -0
  153. package/dist/exporter/native/index.d.ts.map +1 -0
  154. package/dist/exporter/native/index.js +5 -0
  155. package/dist/exporter/native/index.js.map +1 -0
  156. package/dist/exporter/native/revision.d.ts +18 -0
  157. package/dist/exporter/native/revision.d.ts.map +1 -0
  158. package/dist/exporter/native/revision.js +39 -0
  159. package/dist/exporter/native/revision.js.map +1 -0
  160. package/dist/exporter/native/shrink.d.ts +29 -14
  161. package/dist/exporter/native/shrink.d.ts.map +1 -1
  162. package/dist/exporter/native/shrink.js +27 -18
  163. package/dist/exporter/native/shrink.js.map +1 -1
  164. package/dist/exporter/native/zip.d.ts +25 -0
  165. package/dist/exporter/native/zip.d.ts.map +1 -0
  166. package/dist/exporter/native/zip.js +56 -0
  167. package/dist/exporter/native/zip.js.map +1 -0
  168. package/dist/exporter/odt/citations.d.ts +18 -15
  169. package/dist/exporter/odt/citations.d.ts.map +1 -1
  170. package/dist/exporter/odt/citations.js +21 -4
  171. package/dist/exporter/odt/citations.js.map +1 -1
  172. package/dist/exporter/odt/footnotes.d.ts +25 -19
  173. package/dist/exporter/odt/footnotes.d.ts.map +1 -1
  174. package/dist/exporter/odt/footnotes.js +23 -6
  175. package/dist/exporter/odt/footnotes.js.map +1 -1
  176. package/dist/exporter/odt/images.d.ts +23 -11
  177. package/dist/exporter/odt/images.d.ts.map +1 -1
  178. package/dist/exporter/odt/images.js +34 -26
  179. package/dist/exporter/odt/images.js.map +1 -1
  180. package/dist/exporter/odt/index.d.ts +12 -18
  181. package/dist/exporter/odt/index.d.ts.map +1 -1
  182. package/dist/exporter/odt/index.js +16 -7
  183. package/dist/exporter/odt/index.js.map +1 -1
  184. package/dist/exporter/odt/math.d.ts +10 -8
  185. package/dist/exporter/odt/math.d.ts.map +1 -1
  186. package/dist/exporter/odt/math.js +27 -4
  187. package/dist/exporter/odt/math.js.map +1 -1
  188. package/dist/exporter/odt/metadata.d.ts +13 -9
  189. package/dist/exporter/odt/metadata.d.ts.map +1 -1
  190. package/dist/exporter/odt/metadata.js +36 -15
  191. package/dist/exporter/odt/metadata.js.map +1 -1
  192. package/dist/exporter/odt/render.d.ts +17 -15
  193. package/dist/exporter/odt/render.d.ts.map +1 -1
  194. package/dist/exporter/odt/render.js +25 -18
  195. package/dist/exporter/odt/render.js.map +1 -1
  196. package/dist/exporter/odt/richtext.d.ts +9 -9
  197. package/dist/exporter/odt/richtext.d.ts.map +1 -1
  198. package/dist/exporter/odt/richtext.js +55 -40
  199. package/dist/exporter/odt/richtext.js.map +1 -1
  200. package/dist/exporter/odt/styles.d.ts +29 -21
  201. package/dist/exporter/odt/styles.d.ts.map +1 -1
  202. package/dist/exporter/odt/styles.js +44 -22
  203. package/dist/exporter/odt/styles.js.map +1 -1
  204. package/dist/exporter/odt/track.d.ts +14 -7
  205. package/dist/exporter/odt/track.d.ts.map +1 -1
  206. package/dist/exporter/odt/track.js +7 -0
  207. package/dist/exporter/odt/track.js.map +1 -1
  208. package/dist/exporter/pandoc/citations.d.ts +20 -14
  209. package/dist/exporter/pandoc/citations.d.ts.map +1 -1
  210. package/dist/exporter/pandoc/citations.js +18 -4
  211. package/dist/exporter/pandoc/citations.js.map +1 -1
  212. package/dist/exporter/pandoc/convert.d.ts +10 -29
  213. package/dist/exporter/pandoc/convert.d.ts.map +1 -1
  214. package/dist/exporter/pandoc/convert.js +45 -40
  215. package/dist/exporter/pandoc/convert.js.map +1 -1
  216. package/dist/exporter/pandoc/index.d.ts +20 -33
  217. package/dist/exporter/pandoc/index.d.ts.map +1 -1
  218. package/dist/exporter/pandoc/index.js +20 -8
  219. package/dist/exporter/pandoc/index.js.map +1 -1
  220. package/dist/exporter/pandoc/readme.d.ts +1 -1
  221. package/dist/exporter/pandoc/readme.d.ts.map +1 -1
  222. package/dist/exporter/pandoc/readme.js +0 -1
  223. package/dist/exporter/pandoc/readme.js.map +1 -1
  224. package/dist/exporter/pandoc/tools.d.ts +21 -5
  225. package/dist/exporter/pandoc/tools.d.ts.map +1 -1
  226. package/dist/exporter/pandoc/tools.js +2 -2
  227. package/dist/exporter/pandoc/tools.js.map +1 -1
  228. package/dist/exporter/print/index.d.ts +18 -7
  229. package/dist/exporter/print/index.d.ts.map +1 -1
  230. package/dist/exporter/print/index.js +12 -10
  231. package/dist/exporter/print/index.js.map +1 -1
  232. package/dist/exporter/tools/doc_content.d.ts +5 -6
  233. package/dist/exporter/tools/doc_content.d.ts.map +1 -1
  234. package/dist/exporter/tools/doc_content.js +17 -16
  235. package/dist/exporter/tools/doc_content.js.map +1 -1
  236. package/dist/exporter/tools/svg.d.ts +7 -1
  237. package/dist/exporter/tools/svg.d.ts.map +1 -1
  238. package/dist/exporter/tools/svg.js.map +1 -1
  239. package/dist/exporter/tools/xml.d.ts +39 -38
  240. package/dist/exporter/tools/xml.d.ts.map +1 -1
  241. package/dist/exporter/tools/xml.js +82 -55
  242. package/dist/exporter/tools/xml.js.map +1 -1
  243. package/dist/exporter/tools/xml_zip.d.ts +15 -14
  244. package/dist/exporter/tools/xml_zip.d.ts.map +1 -1
  245. package/dist/exporter/tools/xml_zip.js +8 -2
  246. package/dist/exporter/tools/xml_zip.js.map +1 -1
  247. package/dist/exporter/tools/zip.d.ts +28 -14
  248. package/dist/exporter/tools/zip.d.ts.map +1 -1
  249. package/dist/exporter/tools/zip.js +13 -6
  250. package/dist/exporter/tools/zip.js.map +1 -1
  251. package/dist/exporter/tools/zotero_csl.d.ts +19 -6
  252. package/dist/exporter/tools/zotero_csl.d.ts.map +1 -1
  253. package/dist/exporter/tools/zotero_csl.js +9 -9
  254. package/dist/exporter/tools/zotero_csl.js.map +1 -1
  255. package/dist/importer/citations.d.ts +25 -22
  256. package/dist/importer/citations.d.ts.map +1 -1
  257. package/dist/importer/citations.js +1 -49
  258. package/dist/importer/citations.js.map +1 -1
  259. package/dist/importer/docx/citations.d.ts +8 -30
  260. package/dist/importer/docx/citations.d.ts.map +1 -1
  261. package/dist/importer/docx/citations.js +1 -26
  262. package/dist/importer/docx/citations.js.map +1 -1
  263. package/dist/importer/docx/convert.d.ts +38 -116
  264. package/dist/importer/docx/convert.d.ts.map +1 -1
  265. package/dist/importer/docx/convert.js +99 -82
  266. package/dist/importer/docx/convert.js.map +1 -1
  267. package/dist/importer/docx/helpers.d.ts +1 -1
  268. package/dist/importer/docx/helpers.d.ts.map +1 -1
  269. package/dist/importer/docx/helpers.js +1 -1
  270. package/dist/importer/docx/helpers.js.map +1 -1
  271. package/dist/importer/docx/index.d.ts +27 -0
  272. package/dist/importer/docx/index.d.ts.map +1 -0
  273. package/dist/importer/docx/index.js +77 -0
  274. package/dist/importer/docx/index.js.map +1 -0
  275. package/dist/importer/docx/omml2mathml.d.ts +2 -3
  276. package/dist/importer/docx/omml2mathml.d.ts.map +1 -1
  277. package/dist/importer/docx/omml2mathml.js +23 -116
  278. package/dist/importer/docx/omml2mathml.js.map +1 -1
  279. package/dist/importer/docx/parse.d.ts +22 -131
  280. package/dist/importer/docx/parse.d.ts.map +1 -1
  281. package/dist/importer/docx/parse.js +73 -55
  282. package/dist/importer/docx/parse.js.map +1 -1
  283. package/dist/importer/native/extract_template.d.ts +6 -0
  284. package/dist/importer/native/extract_template.d.ts.map +1 -0
  285. package/dist/importer/native/extract_template.js +80 -0
  286. package/dist/importer/native/extract_template.js.map +1 -0
  287. package/dist/importer/native/file.d.ts +37 -0
  288. package/dist/importer/native/file.d.ts.map +1 -0
  289. package/dist/importer/native/file.js +162 -0
  290. package/dist/importer/native/file.js.map +1 -0
  291. package/dist/importer/native/get_images.d.ts +18 -8
  292. package/dist/importer/native/get_images.d.ts.map +1 -1
  293. package/dist/importer/native/get_images.js +39 -45
  294. package/dist/importer/native/get_images.js.map +1 -1
  295. package/dist/importer/native/importer.d.ts +41 -0
  296. package/dist/importer/native/importer.d.ts.map +1 -0
  297. package/dist/importer/native/importer.js +170 -0
  298. package/dist/importer/native/importer.js.map +1 -0
  299. package/dist/importer/native/index.d.ts +7 -0
  300. package/dist/importer/native/index.d.ts.map +1 -0
  301. package/dist/importer/native/index.js +7 -0
  302. package/dist/importer/native/index.js.map +1 -0
  303. package/dist/importer/native/update.d.ts +5 -4
  304. package/dist/importer/native/update.d.ts.map +1 -1
  305. package/dist/importer/native/update.js +4 -3
  306. package/dist/importer/native/update.js.map +1 -1
  307. package/dist/importer/native/update_template.d.ts +12 -0
  308. package/dist/importer/native/update_template.d.ts.map +1 -0
  309. package/dist/importer/native/update_template.js +19 -0
  310. package/dist/importer/native/update_template.js.map +1 -0
  311. package/dist/importer/odt/citations.d.ts +7 -27
  312. package/dist/importer/odt/citations.d.ts.map +1 -1
  313. package/dist/importer/odt/citations.js +0 -22
  314. package/dist/importer/odt/citations.js.map +1 -1
  315. package/dist/importer/odt/convert.d.ts +53 -237
  316. package/dist/importer/odt/convert.d.ts.map +1 -1
  317. package/dist/importer/odt/convert.js +162 -138
  318. package/dist/importer/odt/convert.js.map +1 -1
  319. package/dist/importer/odt/index.d.ts +30 -0
  320. package/dist/importer/odt/index.d.ts.map +1 -0
  321. package/dist/importer/odt/index.js +124 -0
  322. package/dist/importer/odt/index.js.map +1 -0
  323. package/dist/importer/pandoc/convert.d.ts +25 -77
  324. package/dist/importer/pandoc/convert.d.ts.map +1 -1
  325. package/dist/importer/pandoc/convert.js +65 -52
  326. package/dist/importer/pandoc/convert.js.map +1 -1
  327. package/dist/importer/pandoc/helpers.d.ts +4 -3
  328. package/dist/importer/pandoc/helpers.d.ts.map +1 -1
  329. package/dist/importer/pandoc/helpers.js +24 -26
  330. package/dist/importer/pandoc/helpers.js.map +1 -1
  331. package/dist/importer/pandoc/index.d.ts +31 -0
  332. package/dist/importer/pandoc/index.d.ts.map +1 -0
  333. package/dist/importer/pandoc/index.js +114 -0
  334. package/dist/importer/pandoc/index.js.map +1 -0
  335. package/dist/importer/registry.d.ts +21 -0
  336. package/dist/importer/registry.d.ts.map +1 -0
  337. package/dist/importer/registry.js +41 -0
  338. package/dist/importer/registry.js.map +1 -0
  339. package/dist/importer/zip_analyzer.d.ts +27 -21
  340. package/dist/importer/zip_analyzer.d.ts.map +1 -1
  341. package/dist/importer/zip_analyzer.js +10 -5
  342. package/dist/importer/zip_analyzer.js.map +1 -1
  343. package/dist/mathlive/opf_includes.d.ts +1 -1
  344. package/dist/mathlive/opf_includes.d.ts.map +1 -1
  345. package/dist/mathlive/opf_includes.js.map +1 -1
  346. package/dist/schema/common/annotate.d.ts +37 -49
  347. package/dist/schema/common/annotate.d.ts.map +1 -1
  348. package/dist/schema/common/annotate.js +2 -2
  349. package/dist/schema/common/annotate.js.map +1 -1
  350. package/dist/schema/common/base.d.ts +63 -81
  351. package/dist/schema/common/base.d.ts.map +1 -1
  352. package/dist/schema/common/base.js.map +1 -1
  353. package/dist/schema/common/citation.d.ts +23 -22
  354. package/dist/schema/common/citation.d.ts.map +1 -1
  355. package/dist/schema/common/citation.js +4 -5
  356. package/dist/schema/common/citation.js.map +1 -1
  357. package/dist/schema/common/equation.d.ts +13 -14
  358. package/dist/schema/common/equation.d.ts.map +1 -1
  359. package/dist/schema/common/equation.js +1 -1
  360. package/dist/schema/common/equation.js.map +1 -1
  361. package/dist/schema/common/figure.d.ts +72 -93
  362. package/dist/schema/common/figure.d.ts.map +1 -1
  363. package/dist/schema/common/figure.js +11 -9
  364. package/dist/schema/common/figure.js.map +1 -1
  365. package/dist/schema/common/heading.d.ts +8 -32
  366. package/dist/schema/common/heading.d.ts.map +1 -1
  367. package/dist/schema/common/heading.js +2 -2
  368. package/dist/schema/common/heading.js.map +1 -1
  369. package/dist/schema/common/index.d.ts +2 -2
  370. package/dist/schema/common/index.d.ts.map +1 -1
  371. package/dist/schema/common/index.js.map +1 -1
  372. package/dist/schema/common/list.d.ts +52 -72
  373. package/dist/schema/common/list.d.ts.map +1 -1
  374. package/dist/schema/common/list.js +3 -3
  375. package/dist/schema/common/list.js.map +1 -1
  376. package/dist/schema/common/reference.d.ts +51 -59
  377. package/dist/schema/common/reference.d.ts.map +1 -1
  378. package/dist/schema/common/reference.js +5 -5
  379. package/dist/schema/common/reference.js.map +1 -1
  380. package/dist/schema/common/table.d.ts +59 -75
  381. package/dist/schema/common/table.d.ts.map +1 -1
  382. package/dist/schema/common/table.js +3 -2
  383. package/dist/schema/common/table.js.map +1 -1
  384. package/dist/schema/common/track.d.ts +83 -97
  385. package/dist/schema/common/track.d.ts.map +1 -1
  386. package/dist/schema/common/track.js +18 -17
  387. package/dist/schema/common/track.js.map +1 -1
  388. package/dist/schema/convert.d.ts +2 -2
  389. package/dist/schema/convert.d.ts.map +1 -1
  390. package/dist/schema/convert.js +2 -2
  391. package/dist/schema/convert.js.map +1 -1
  392. package/dist/schema/document/content.d.ts +95 -122
  393. package/dist/schema/document/content.d.ts.map +1 -1
  394. package/dist/schema/document/content.js +9 -9
  395. package/dist/schema/document/content.js.map +1 -1
  396. package/dist/schema/document/index.d.ts +173 -257
  397. package/dist/schema/document/index.d.ts.map +1 -1
  398. package/dist/schema/document/index.js.map +1 -1
  399. package/dist/schema/document/structure.d.ts +149 -258
  400. package/dist/schema/document/structure.d.ts.map +1 -1
  401. package/dist/schema/document/structure.js +2 -2
  402. package/dist/schema/document/structure.js.map +1 -1
  403. package/dist/schema/export.d.ts +4 -877
  404. package/dist/schema/export.d.ts.map +1 -1
  405. package/dist/schema/export.js +1 -0
  406. package/dist/schema/export.js.map +1 -1
  407. package/dist/schema/footnotes.d.ts +110 -155
  408. package/dist/schema/footnotes.d.ts.map +1 -1
  409. package/dist/schema/footnotes.js +4 -2
  410. package/dist/schema/footnotes.js.map +1 -1
  411. package/dist/schema/footnotes_convert.d.ts +3 -3
  412. package/dist/schema/footnotes_convert.d.ts.map +1 -1
  413. package/dist/schema/footnotes_convert.js +10 -6
  414. package/dist/schema/footnotes_convert.js.map +1 -1
  415. package/dist/schema/i18n.d.ts +3 -534
  416. package/dist/schema/i18n.d.ts.map +1 -1
  417. package/dist/schema/i18n.js +1 -0
  418. package/dist/schema/i18n.js.map +1 -1
  419. package/dist/schema/index.d.ts +1 -1
  420. package/dist/schema/index.d.ts.map +1 -1
  421. package/dist/schema/index.js.map +1 -1
  422. package/dist/schema/mini_json.d.ts +3 -4
  423. package/dist/schema/mini_json.d.ts.map +1 -1
  424. package/dist/schema/mini_json.js +2 -0
  425. package/dist/schema/mini_json.js.map +1 -1
  426. package/dist/schema/text.d.ts +2 -1
  427. package/dist/schema/text.d.ts.map +1 -1
  428. package/dist/schema/text.js +1 -1
  429. package/dist/schema/text.js.map +1 -1
  430. package/dist/types.d.ts +167 -8
  431. package/dist/types.d.ts.map +1 -1
  432. package/package.json +4 -1
  433. package/src/bibliography/{common.js → common.ts} +15 -12
  434. package/src/bibliography/{csl_bib.js → csl_bib.ts} +16 -15
  435. package/src/citations/{citeproc_sys.js → citeproc_sys.ts} +26 -6
  436. package/src/citations/{format.js → format.ts} +80 -24
  437. package/src/editor/e2ee/{encryptor.js → encryptor.ts} +76 -44
  438. package/src/exporter/docx/{citations.js → citations.ts} +51 -23
  439. package/src/exporter/docx/{comments.js → comments.ts} +69 -26
  440. package/src/exporter/docx/{footnotes.js → footnotes.ts} +81 -42
  441. package/src/exporter/docx/images.ts +128 -0
  442. package/src/exporter/docx/{index.js → index.ts} +48 -25
  443. package/src/exporter/docx/{lists.js → lists.ts} +89 -46
  444. package/src/exporter/docx/{math.js → math.ts} +29 -9
  445. package/src/exporter/docx/{metadata.js → metadata.ts} +78 -42
  446. package/src/exporter/docx/{rels.js → rels.ts} +71 -50
  447. package/src/exporter/docx/{render.js → render.ts} +124 -87
  448. package/src/exporter/docx/{richtext.js → richtext.ts} +107 -84
  449. package/src/exporter/docx/{tables.js → tables.ts} +33 -23
  450. package/src/exporter/docx/{tools.js → tools.ts} +4 -3
  451. package/src/exporter/epub/{index.js → index.ts} +44 -15
  452. package/src/exporter/epub/{templates.js → templates.ts} +71 -7
  453. package/src/exporter/epub/{tools.js → tools.ts} +31 -25
  454. package/src/exporter/html/{citations.js → citations.ts} +79 -31
  455. package/src/exporter/html/{convert.js → convert.ts} +118 -71
  456. package/src/exporter/html/{index.js → index.ts} +63 -29
  457. package/src/exporter/html/{templates.js → templates.ts} +22 -2
  458. package/src/exporter/html/{tools.js → tools.ts} +9 -6
  459. package/src/exporter/jats/bibliography.ts +199 -0
  460. package/src/exporter/jats/{citations.js → citations.ts} +56 -20
  461. package/src/exporter/jats/{convert.js → convert.ts} +72 -53
  462. package/src/exporter/jats/index.ts +132 -0
  463. package/src/exporter/jats/{templates.js → templates.ts} +19 -3
  464. package/src/exporter/jats/{text.js → text.ts} +8 -6
  465. package/src/exporter/latex/{convert.js → convert.ts} +160 -125
  466. package/src/exporter/latex/{escape_latex.js → escape_latex.ts} +1 -1
  467. package/src/exporter/latex/{index.js → index.ts} +27 -12
  468. package/src/exporter/latex/{readme.js → readme.ts} +2 -2
  469. package/src/exporter/native/copy.ts +231 -0
  470. package/src/exporter/native/file.ts +65 -0
  471. package/src/exporter/native/index.ts +4 -0
  472. package/src/exporter/native/revision.ts +76 -0
  473. package/src/exporter/native/{shrink.js → shrink.ts} +64 -29
  474. package/src/exporter/native/zip.ts +85 -0
  475. package/src/exporter/odt/{citations.js → citations.ts} +35 -15
  476. package/src/exporter/odt/{footnotes.js → footnotes.ts} +53 -30
  477. package/src/exporter/odt/images.ts +135 -0
  478. package/src/exporter/odt/{index.js → index.ts} +49 -27
  479. package/src/exporter/odt/{math.js → math.ts} +38 -9
  480. package/src/exporter/odt/{metadata.js → metadata.ts} +54 -29
  481. package/src/exporter/odt/{render.js → render.ts} +89 -60
  482. package/src/exporter/odt/{richtext.js → richtext.ts} +102 -72
  483. package/src/exporter/odt/{styles.js → styles.ts} +98 -66
  484. package/src/exporter/odt/{track.js → track.ts} +22 -6
  485. package/src/exporter/pandoc/{citations.js → citations.ts} +31 -15
  486. package/src/exporter/pandoc/{convert.js → convert.ts} +98 -79
  487. package/src/exporter/pandoc/{index.js → index.ts} +36 -13
  488. package/src/exporter/pandoc/{readme.js → readme.ts} +0 -1
  489. package/src/exporter/pandoc/{tools.js → tools.ts} +28 -5
  490. package/src/exporter/print/{index.js → index.ts} +38 -19
  491. package/src/exporter/tools/{doc_content.js → doc_content.ts} +34 -24
  492. package/src/exporter/tools/{svg.js → svg.ts} +9 -3
  493. package/src/exporter/tools/{xml.js → xml.ts} +187 -138
  494. package/src/exporter/tools/{xml_zip.js → xml_zip.ts} +19 -11
  495. package/src/exporter/tools/{zip.js → zip.ts} +35 -11
  496. package/src/exporter/tools/{zotero_csl.js → zotero_csl.ts} +35 -18
  497. package/src/global.d.ts +2 -0
  498. package/src/importer/citations.ts +116 -0
  499. package/src/importer/docx/{citations.js → citations.ts} +22 -37
  500. package/src/importer/docx/{convert.js → convert.ts} +176 -141
  501. package/src/importer/docx/{helpers.js → helpers.ts} +1 -1
  502. package/src/importer/docx/index.ts +124 -0
  503. package/src/importer/docx/{omml2mathml.js → omml2mathml.ts} +154 -176
  504. package/src/importer/docx/{parse.js → parse.ts} +103 -81
  505. package/src/importer/native/extract_template.ts +83 -0
  506. package/src/importer/native/file.ts +282 -0
  507. package/src/importer/native/get_images.ts +82 -0
  508. package/src/importer/native/importer.ts +244 -0
  509. package/src/importer/native/index.ts +6 -0
  510. package/src/importer/native/{update.js → update.ts} +13 -5
  511. package/src/importer/native/update_template.ts +32 -0
  512. package/src/importer/odt/{citations.js → citations.ts} +17 -29
  513. package/src/importer/odt/{convert.js → convert.ts} +261 -237
  514. package/src/importer/odt/index.ts +202 -0
  515. package/src/importer/pandoc/{convert.js → convert.ts} +116 -94
  516. package/src/importer/pandoc/{helpers.js → helpers.ts} +24 -12
  517. package/src/importer/pandoc/index.ts +171 -0
  518. package/src/importer/registry.ts +69 -0
  519. package/src/importer/{zip_analyzer.js → zip_analyzer.ts} +44 -18
  520. package/src/mathlive/{opf_includes.js → opf_includes.ts} +1 -1
  521. package/src/modules.d.ts +40 -0
  522. package/src/schema/common/{annotate.js → annotate.ts} +10 -8
  523. package/src/schema/common/{base.js → base.ts} +12 -10
  524. package/src/schema/common/{citation.js → citation.ts} +17 -8
  525. package/src/schema/common/{equation.js → equation.ts} +6 -4
  526. package/src/schema/common/{figure.js → figure.ts} +43 -23
  527. package/src/schema/common/{heading.js → heading.ts} +7 -5
  528. package/src/schema/common/{list.js → list.ts} +15 -13
  529. package/src/schema/common/{reference.js → reference.ts} +14 -12
  530. package/src/schema/common/{table.js → table.ts} +16 -14
  531. package/src/schema/common/{track.js → track.ts} +42 -31
  532. package/src/schema/{convert.js → convert.ts} +6 -2
  533. package/src/schema/document/{content.js → content.ts} +22 -20
  534. package/src/schema/document/{structure.js → structure.ts} +15 -9
  535. package/src/schema/{export.js → export.ts} +4 -2
  536. package/src/schema/{footnotes.js → footnotes.ts} +11 -8
  537. package/src/schema/{footnotes_convert.js → footnotes_convert.ts} +11 -8
  538. package/src/schema/{i18n.js → i18n.ts} +7 -1
  539. package/src/schema/{mini_json.js → mini_json.ts} +11 -12
  540. package/src/schema/{text.js → text.ts} +6 -2
  541. package/src/types.ts +185 -7
  542. package/src/exporter/docx/images.js +0 -101
  543. package/src/exporter/jats/bibliography.js +0 -183
  544. package/src/exporter/jats/index.js +0 -92
  545. package/src/exporter/odt/images.js +0 -115
  546. package/src/importer/citations.js +0 -129
  547. package/src/importer/native/get_images.js +0 -76
  548. /package/src/schema/common/{index.js → index.ts} +0 -0
  549. /package/src/schema/document/{index.js → index.ts} +0 -0
  550. /package/src/schema/{index.js → index.ts} +0 -0
@@ -1,8 +1,21 @@
1
- import {BIBLIOGRAPHY_HEADERS, CATS} from "../../schema/i18n.js"
1
+ import {gettext} from "fwtoolkit"
2
+ import {BIBLIOGRAPHY_HEADERS, getCat} from "../../schema/i18n.js"
3
+ import {descendantNodes} from "../tools/doc_content.js"
2
4
  import {escapeLatexText} from "./escape_latex.js"
3
5
 
4
6
  export class LatexExporterConvert {
5
- constructor(exporter, imageDB, bibDB, settings) {
7
+ exporter: any
8
+ settings: any
9
+ imageDB: any
10
+ bibDB: any
11
+ imageIds: string[]
12
+ usedBibDB: any
13
+ features: Record<string, boolean>
14
+ internalLinks: string[]
15
+ categoryCounter: Record<string, number>
16
+ authorsTex: string
17
+
18
+ constructor(exporter: any, imageDB: any, bibDB: any, settings: any) {
6
19
  this.exporter = exporter
7
20
  this.settings = settings
8
21
  this.imageDB = imageDB
@@ -18,7 +31,7 @@ export class LatexExporterConvert {
18
31
  this.authorsTex = ""
19
32
  }
20
33
 
21
- init(docContent) {
34
+ init(docContent: any): any {
22
35
  this.preWalkJson(docContent)
23
36
  const rawTransformation = this.walkJson(docContent)
24
37
  const body = this.postProcess(rawTransformation)
@@ -42,19 +55,19 @@ export class LatexExporterConvert {
42
55
  return returnObject
43
56
  }
44
57
 
45
- get docDeclaration() {
58
+ get docDeclaration(): string {
46
59
  return "\\documentclass{article}\n"
47
60
  }
48
61
 
49
62
  // Check for things needed before creating raw transform
50
- preWalkJson(node) {
63
+ preWalkJson(node: any): void {
51
64
  switch (node.type) {
52
65
  // Collect all internal links so that we only set the anchors for those
53
66
  // that are being linked to.
54
67
  case "text":
55
68
  if (node.marks) {
56
69
  const hyperlink = node.marks.find(
57
- mark => mark.type === "link"
70
+ (mark: any) => mark.type === "link"
58
71
  )
59
72
  if (hyperlink) {
60
73
  const href = hyperlink.attrs.href
@@ -69,11 +82,11 @@ export class LatexExporterConvert {
69
82
  break
70
83
  }
71
84
  if (node.content) {
72
- node.content.forEach(child => this.preWalkJson(child))
85
+ node.content.forEach((child: any) => this.preWalkJson(child))
73
86
  }
74
87
  }
75
88
 
76
- walkJson(node, options = {}) {
89
+ walkJson(node: any, options: any = {}): string {
77
90
  let start = "",
78
91
  content = "",
79
92
  end = "",
@@ -102,7 +115,7 @@ export class LatexExporterConvert {
102
115
  break
103
116
  case "contributors_part":
104
117
  if (node.content) {
105
- const contributorLabels = {
118
+ const contributorLabels: Record<string, string> = {
106
119
  authors: gettext("Authors"),
107
120
  editors: gettext("Editors"),
108
121
  translators: gettext("Translators"),
@@ -113,9 +126,9 @@ export class LatexExporterConvert {
113
126
 
114
127
  if (node.attrs.metadata === "authors") {
115
128
  const authorsPerAffil = node.content
116
- .map(node => {
129
+ .map((node: any) => {
117
130
  const author = node.attrs,
118
- nameParts = []
131
+ nameParts: string[] = []
119
132
  let affiliation = false
120
133
  if (author.firstname) {
121
134
  nameParts.push(author.firstname)
@@ -137,31 +150,33 @@ export class LatexExporterConvert {
137
150
  id_value: author.id_value
138
151
  }
139
152
  })
140
- .reduce((affils, author) => {
153
+ .reduce((affils: any, author: any) => {
141
154
  const affil = author.affiliation
142
155
  affils[affil] = affils[affil] || []
143
156
  affils[affil].push(author)
144
157
  return affils
145
158
  }, {})
146
159
 
147
- Object.values(authorsPerAffil).forEach(affil => {
148
- affil.forEach(author => {
149
- let thanks = ""
150
- if (author.email) {
151
- thanks += `\\thanks{${escapeLatexText(author.email)}}`
152
- }
153
- if (author.id_type && author.id_value) {
154
- thanks += `\\thanks{${escapeLatexText(author.id_type)}: ${escapeLatexText(author.id_value)}}`
155
- }
156
- this.authorsTex += `\n\\author{${escapeLatexText(author.name)}${thanks}}`
157
- })
158
-
159
- this.authorsTex += `\n\\affil{${
160
- affil[0].affiliation
161
- ? escapeLatexText(affil[0].affiliation)
162
- : ""
163
- }}`
164
- })
160
+ Object.values(authorsPerAffil).forEach(
161
+ (affil: any) => {
162
+ affil.forEach((author: any) => {
163
+ let thanks = ""
164
+ if (author.email) {
165
+ thanks += `\\thanks{${escapeLatexText(author.email)}}`
166
+ }
167
+ if (author.id_type && author.id_value) {
168
+ thanks += `\\thanks{${escapeLatexText(author.id_type)}: ${escapeLatexText(author.id_value)}}`
169
+ }
170
+ this.authorsTex += `\n\\author{${escapeLatexText(author.name)}${thanks}}`
171
+ })
172
+
173
+ this.authorsTex += `\n\\affil{${
174
+ affil[0].affiliation
175
+ ? escapeLatexText(affil[0].affiliation)
176
+ : ""
177
+ }}`
178
+ }
179
+ )
165
180
  this.authorsTex += "\n\n"
166
181
  this.features.authors = true
167
182
  } else {
@@ -170,9 +185,9 @@ export class LatexExporterConvert {
170
185
  options.madeTitle = true
171
186
  }
172
187
  const contributorNames = node.content
173
- .map(contributorNode => {
188
+ .map((contributorNode: any) => {
174
189
  const attrs = contributorNode.attrs
175
- const nameParts = []
190
+ const nameParts: string[] = []
176
191
  if (attrs.firstname) {
177
192
  nameParts.push(attrs.firstname)
178
193
  }
@@ -189,7 +204,7 @@ export class LatexExporterConvert {
189
204
  }
190
205
  return name
191
206
  })
192
- .filter(name => name.length)
207
+ .filter((name: string) => name.length)
193
208
  .join(", ")
194
209
  if (contributorNames.length) {
195
210
  content += `\n\\noindent\\textbf{${roleLabel}:} ${contributorNames}\n\n`
@@ -209,7 +224,7 @@ export class LatexExporterConvert {
209
224
  options.madeTitle = true
210
225
  }
211
226
  content += node.content
212
- .map(keyword => escapeLatexText(keyword.attrs.tag))
227
+ .map((keyword: any) => escapeLatexText(keyword.attrs.tag))
213
228
  .join("\\sep ")
214
229
  }
215
230
  break
@@ -285,30 +300,28 @@ export class LatexExporterConvert {
285
300
  case "code_block": {
286
301
  // Support language and category attributes
287
302
  if (node.attrs.category && node.attrs.id) {
288
- const language = this.doc.attrs.language || "en-US"
289
- const {CATS} = require("../../schema/i18n")
290
- const categoryLabel =
291
- CATS[node.attrs.category]?.[language] ||
292
- node.attrs.category
303
+ const language = this.settings.language || "en-US"
304
+ const categoryLabel = getCat(node.attrs.category, language)
293
305
 
294
306
  // Count code blocks to get the number
295
- const categories = {}
296
- this.doc.descendants(n => {
307
+ const categories: Record<string, number> = {}
308
+ for (const n of descendantNodes(this.exporter.doc.content)) {
297
309
  if (
298
310
  n.type === "code_block" &&
299
- n.attrs.category &&
311
+ n.attrs?.category &&
300
312
  n.attrs.id
301
313
  ) {
302
- if (!categories[n.attrs.category]) {
303
- categories[n.attrs.category] = 0
314
+ const category = n.attrs.category as string
315
+ if (!categories[category]) {
316
+ categories[category] = 0
304
317
  }
305
- categories[n.attrs.category]++
318
+ categories[category]++
306
319
  if (n.attrs.id === node.attrs.id) {
307
- return false
320
+ break
308
321
  }
309
322
  }
310
- })
311
- const number = categories[node.attrs.category] || 1
323
+ }
324
+ const number = categories[node.attrs.category as string] || 1
312
325
  const caption = node.attrs.title
313
326
  ? `${categoryLabel} ${number}: ${this.convertText(node.attrs.title)}`
314
327
  : `${categoryLabel} ${number}`
@@ -368,7 +381,7 @@ export class LatexExporterConvert {
368
381
  options.unplacedFootnotes.push(node.attrs.footnote)
369
382
  } else {
370
383
  if (
371
- !node.attrs.footnote.find(par => par.type === "figure")
384
+ !node.attrs.footnote.find((par: any) => par.type === "figure")
372
385
  ) {
373
386
  // LaTeX doesn't allow figures in footnotes, so well move
374
387
  // this footnote into the regular text.
@@ -376,26 +389,39 @@ export class LatexExporterConvert {
376
389
  end = "}" + end
377
390
  }
378
391
  let fnContent = ""
379
- node.attrs.footnote.forEach(footPar => {
392
+ node.attrs.footnote.forEach((footPar: any) => {
380
393
  fnContent += this.walkJson(footPar, options)
381
394
  })
382
395
  content += fnContent.replace(/^\s+|\s+$/g, "")
383
396
  }
384
397
  break
385
398
  case "text": {
386
- let strong, em, underline, hyperlink, anchor, sup, sub, code
399
+ let strong: any,
400
+ em: any,
401
+ underline: any,
402
+ hyperlink: any,
403
+ anchor: any,
404
+ sup: any,
405
+ sub: any,
406
+ code: any
387
407
  // Check for hyperlink, bold/strong, italic/em and underline
388
408
  if (node.marks) {
389
- strong = node.marks.find(mark => mark.type === "strong")
390
- em = node.marks.find(mark => mark.type === "em")
409
+ strong = node.marks.find(
410
+ (mark: any) => mark.type === "strong"
411
+ )
412
+ em = node.marks.find((mark: any) => mark.type === "em")
391
413
  underline = node.marks.find(
392
- mark => mark.type === "underline"
414
+ (mark: any) => mark.type === "underline"
415
+ )
416
+ hyperlink = node.marks.find(
417
+ (mark: any) => mark.type === "link"
393
418
  )
394
- hyperlink = node.marks.find(mark => mark.type === "link")
395
- anchor = node.marks.find(mark => mark.type === "anchor")
396
- sup = node.marks.find(mark => mark.type === "sup")
397
- sub = node.marks.find(mark => mark.type === "sub")
398
- code = node.marks.find(mark => mark.type === "code")
419
+ anchor = node.marks.find(
420
+ (mark: any) => mark.type === "anchor"
421
+ )
422
+ sup = node.marks.find((mark: any) => mark.type === "sup")
423
+ sub = node.marks.find((mark: any) => mark.type === "sub")
424
+ code = node.marks.find((mark: any) => mark.type === "code")
399
425
  }
400
426
  if (em) {
401
427
  start += "\\emph{"
@@ -453,14 +479,14 @@ export class LatexExporterConvert {
453
479
 
454
480
  if (
455
481
  references.length > 1 &&
456
- references.every(ref => !ref.locator && !ref.prefix)
482
+ references.every((ref: any) => !ref.locator && !ref.prefix)
457
483
  ) {
458
484
  // multi source citation without page numbers or text before.
459
- const citationEntryKeys = []
485
+ const citationEntryKeys: string[] = []
460
486
 
461
487
  const allCitationItemsPresent = references
462
- .map(ref => ref.id)
463
- .every(citationEntry => {
488
+ .map((ref: any) => ref.id)
489
+ .every((citationEntry: string) => {
464
490
  const bibDBEntry = this.bibDB.db[citationEntry]
465
491
  if (bibDBEntry) {
466
492
  if (!bibDBEntry) {
@@ -487,50 +513,52 @@ export class LatexExporterConvert {
487
513
  if (allCitationItemsPresent) {
488
514
  citationCommand += `{${citationEntryKeys.join(",")}}`
489
515
  } else {
490
- citationCommand = false
516
+ citationCommand = false as any
491
517
  }
492
518
  } else {
493
519
  if (references.length > 1) {
494
520
  citationCommand += "s" // Switching from \autocite to \autocites
495
521
  }
496
522
 
497
- const allCitationItemsPresent = references.every(ref => {
498
- const bibDBEntry = this.bibDB.db[ref.id]
499
- if (!bibDBEntry) {
500
- // Not present in bibliography database, skip it.
501
- // TODO: Throw an error?
502
- return false
503
- }
523
+ const allCitationItemsPresent = references.every(
524
+ (ref: any) => {
525
+ const bibDBEntry = this.bibDB.db[ref.id]
526
+ if (!bibDBEntry) {
527
+ // Not present in bibliography database, skip it.
528
+ // TODO: Throw an error?
529
+ return false
530
+ }
504
531
 
505
- if (ref.prefix) {
506
- citationCommand += `[${ref.prefix}]`
507
- if (!ref.locator) {
508
- citationCommand += "[]"
532
+ if (ref.prefix) {
533
+ citationCommand += `[${ref.prefix}]`
534
+ if (!ref.locator) {
535
+ citationCommand += "[]"
536
+ }
509
537
  }
510
- }
511
- if (ref.locator) {
512
- citationCommand += `[${ref.locator}]`
513
- }
514
- citationCommand += "{"
515
-
516
- if (!this.usedBibDB[ref.id]) {
517
- const citationKey = this.createUniqueCitationKey(
518
- bibDBEntry.entry_key
519
- )
520
- this.usedBibDB[ref.id] = Object.assign(
521
- {},
522
- bibDBEntry
523
- )
524
- this.usedBibDB[ref.id].entry_key = citationKey
525
- }
526
- citationCommand += this.usedBibDB[ref.id].entry_key
527
- citationCommand += "}"
538
+ if (ref.locator) {
539
+ citationCommand += `[${ref.locator}]`
540
+ }
541
+ citationCommand += "{"
528
542
 
529
- return true
530
- })
543
+ if (!this.usedBibDB[ref.id]) {
544
+ const citationKey = this.createUniqueCitationKey(
545
+ bibDBEntry.entry_key
546
+ )
547
+ this.usedBibDB[ref.id] = Object.assign(
548
+ {},
549
+ bibDBEntry
550
+ )
551
+ this.usedBibDB[ref.id].entry_key = citationKey
552
+ }
553
+ citationCommand += this.usedBibDB[ref.id].entry_key
554
+ citationCommand += "}"
555
+
556
+ return true
557
+ }
558
+ )
531
559
 
532
560
  if (!allCitationItemsPresent) {
533
- citationCommand = false
561
+ citationCommand = false as any
534
562
  }
535
563
  }
536
564
  if (citationCommand) {
@@ -542,38 +570,38 @@ export class LatexExporterConvert {
542
570
  case "figure": {
543
571
  const category = node.attrs.category
544
572
  const captionContent = node.attrs.caption
545
- ? node.content.find(node => node.type === "figure_caption")
573
+ ? node.content.find((node: any) => node.type === "figure_caption")
546
574
  ?.content || []
547
575
  : []
548
- let caption
576
+ let caption: string
549
577
  if (category !== "none") {
550
578
  if (!this.categoryCounter[category]) {
551
579
  this.categoryCounter[category] = 1
552
580
  }
553
581
  const catCount = this.categoryCounter[category]++
554
- const catLabel = `${CATS[category][this.settings.language]} ${catCount}`
582
+ const catLabel = `${getCat(category, this.settings.language)} ${catCount}`
555
583
  if (captionContent.length) {
556
- caption = `${catLabel}: ${captionContent.map(node => this.walkJson(node)).join("")}`
584
+ caption = `${catLabel}: ${captionContent.map((node: any) => this.walkJson(node)).join("")}`
557
585
  } else {
558
586
  caption = catLabel
559
587
  }
560
588
  } else {
561
589
  caption = captionContent
562
- .map(node => this.walkJson(node))
590
+ .map((node: any) => this.walkJson(node))
563
591
  .join("")
564
592
  }
565
593
  let innerFigure = ""
566
- let copyright
594
+ let copyright: any
567
595
  const image =
568
- node.content.find(node => node.type === "image")?.attrs
596
+ node.content.find((node: any) => node.type === "image")?.attrs
569
597
  .image || false
570
598
  if (image) {
571
599
  this.imageIds.push(image)
572
600
  const imageDBEntry = this.imageDB.db[image],
573
601
  filePathName = imageDBEntry.image,
574
- filename = filePathName.split("/").pop()
602
+ filename = filePathName!.toString().split("/").pop()
575
603
  copyright = imageDBEntry.copyright
576
- if (filename.split(".").pop() === "svg") {
604
+ if (filename!.split(".").pop() === "svg") {
577
605
  innerFigure += `\\includesvg[width=${Number.parseInt(node.attrs.width) / 100}\\textwidth]{${filename}}\n`
578
606
  this.features.SVGs = true
579
607
  } else {
@@ -583,7 +611,7 @@ export class LatexExporterConvert {
583
611
  } else {
584
612
  const equation =
585
613
  node.content.find(
586
- node => node.type === "figure_equation"
614
+ (node: any) => node.type === "figure_equation"
587
615
  )?.attrs.equation || ""
588
616
  innerFigure += `\\begin{displaymath}\n${equation}\n\\end{displaymath}\n`
589
617
  }
@@ -621,7 +649,7 @@ export class LatexExporterConvert {
621
649
  content += `% © ${copyright.year ? copyright.year : new Date().getFullYear()} ${copyright.holder}\n`
622
650
  }
623
651
  if (copyright?.licenses.length) {
624
- copyright.licenses.forEach(license => {
652
+ copyright.licenses.forEach((license: any) => {
625
653
  content += `% ${license.title}: ${license.url}${license.start ? ` (${license.start})\n` : ""}\n`
626
654
  })
627
655
  }
@@ -650,21 +678,21 @@ export class LatexExporterConvert {
650
678
  const captionContent = node.attrs.caption
651
679
  ? node.content[0].content || []
652
680
  : []
653
- let caption
681
+ let caption: string
654
682
  if (category !== "none") {
655
683
  if (!this.categoryCounter[category]) {
656
684
  this.categoryCounter[category] = 1
657
685
  }
658
686
  const catCount = this.categoryCounter[category]++
659
- const catLabel = `${CATS[category][this.settings.language]} ${catCount}`
687
+ const catLabel = `${getCat(category, this.settings.language)} ${catCount}`
660
688
  if (captionContent.length) {
661
- caption = `${catLabel}: ${captionContent.map(node => this.walkJson(node)).join("")}`
689
+ caption = `${catLabel}: ${captionContent.map((node: any) => this.walkJson(node)).join("")}`
662
690
  } else {
663
691
  caption = catLabel
664
692
  }
665
693
  } else {
666
694
  caption = captionContent
667
- .map(node => this.walkJson(node))
695
+ .map((node: any) => this.walkJson(node))
668
696
  .join("")
669
697
  }
670
698
  let columns = 1
@@ -673,7 +701,8 @@ export class LatexExporterConvert {
673
701
  node.content[1].content?.length
674
702
  ) {
675
703
  columns = node.content[1].content[0].content.reduce(
676
- (columns, node) => columns + node.attrs.colspan,
704
+ (columns: number, node: any) =>
705
+ columns + (node.attrs?.colspan || 1),
677
706
  0
678
707
  )
679
708
  }
@@ -738,7 +767,7 @@ export class LatexExporterConvert {
738
767
  }
739
768
 
740
769
  if (node.content) {
741
- node.content.forEach(child => {
770
+ node.content.forEach((child: any) => {
742
771
  content += this.walkJson(child, options)
743
772
  })
744
773
  }
@@ -746,11 +775,11 @@ export class LatexExporterConvert {
746
775
  // There are footnotes that needed to be placed behind the node.
747
776
  // This happens in the case of headlines and lists.
748
777
  end += `\\addtocounter{footnote}{-${options.unplacedFootnotes.length}}`
749
- options.unplacedFootnotes.forEach(footnote => {
778
+ options.unplacedFootnotes.forEach((footnote: any) => {
750
779
  end += "\\stepcounter{footnote}\n"
751
780
  end += "\\footnotetext{"
752
781
  let fnContent = ""
753
- footnote.forEach(footPar => {
782
+ footnote.forEach((footPar: any) => {
754
783
  fnContent += this.walkJson(footPar, options)
755
784
  })
756
785
  end += fnContent.replace(/^\s+|\s+$/g, "")
@@ -769,10 +798,15 @@ export class LatexExporterConvert {
769
798
  return start + content + end
770
799
  }
771
800
 
801
+ convertText(text: string): string {
802
+ return text
803
+ }
804
+
772
805
  // The database doesn't ensure that citation keys are unique.
773
806
  // So here we need to make sure that the same key is not used twice in one
774
807
  // document.
775
- createUniqueCitationKey(suggestedKey) {
808
+ createUniqueCitationKey(suggestedKey: string | undefined): string {
809
+ suggestedKey = suggestedKey || "key"
776
810
  const usedKeys = Object.keys(this.usedBibDB).map(key => {
777
811
  return this.usedBibDB[key].entry_key
778
812
  })
@@ -784,12 +818,12 @@ export class LatexExporterConvert {
784
818
  }
785
819
  }
786
820
 
787
- postProcess(latex) {
821
+ postProcess(latex: string): string {
788
822
  return (
789
823
  latex
790
824
  // join blocks of the same type that follow oneanother.
791
- .replace(/\\end{code}\n\n\\begin{code}\n\n/g, "")
792
- .replace(/\\end{quote}\n\n\\begin{quote}\n\n/g, "")
825
+ .replace(/\\end\{code\}\n\n\\begin\{code\}\n\n/g, "")
826
+ .replace(/\\end\{quote\}\n\n\\begin\{quote\}\n\n/g, "")
793
827
  // Remove the last divider in any any table row.
794
828
  .replace(/& {2}\\\\/g, "\\\\")
795
829
  // Remove new lines between table cells.
@@ -799,25 +833,26 @@ export class LatexExporterConvert {
799
833
  )
800
834
  }
801
835
 
802
- assembleEpilogue() {
836
+ assembleEpilogue(): string {
803
837
  let epilogue = ""
804
838
  if (this.features.citations) {
839
+ const lang = this.settings.language as string
805
840
  const bibliographyHeader =
806
- this.settings.bibliography_header[this.settings.language] ||
807
- BIBLIOGRAPHY_HEADERS[this.settings.language]
841
+ (this.settings.bibliography_header as Record<string, string> | undefined)?.[lang] ||
842
+ (BIBLIOGRAPHY_HEADERS as Record<string, string>)[lang]
808
843
  epilogue += `\n\n\\printbibliography[title={${escapeLatexText(bibliographyHeader)}}]`
809
844
  }
810
845
  return epilogue
811
846
  }
812
847
 
813
- assembleCopyright() {
848
+ assembleCopyright(): string {
814
849
  let note = ""
815
850
  if (this.settings.copyright) {
816
851
  if (this.settings.copyright.holder) {
817
852
  note += `% © ${this.settings.copyright.year ? this.settings.copyright.year : new Date().getFullYear()} ${this.settings.copyright.holder}\n`
818
853
  }
819
854
  if (this.settings.copyright.licenses.length) {
820
- this.settings.copyright.licenses.forEach(license => {
855
+ this.settings.copyright.licenses.forEach((license: any) => {
821
856
  note += `% ${license.url}${license.start ? ` (${license.start})` : ""}\n`
822
857
  })
823
858
  }
@@ -829,7 +864,7 @@ export class LatexExporterConvert {
829
864
  return note
830
865
  }
831
866
 
832
- assemblePreamble() {
867
+ assemblePreamble(): string {
833
868
  let preamble = ""
834
869
 
835
870
  if (this.features.subtitle) {
@@ -1,4 +1,4 @@
1
- export const escapeLatexText = text =>
1
+ export const escapeLatexText = (text: string): string =>
2
2
  text
3
3
  // Remove line breaks
4
4
  .replace(/\r|\n/g, "")