scitex 2.13.0__py3-none-any.whl → 2.15.1__py3-none-any.whl

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 (1429) hide show
  1. scitex/__init__.py +80 -2
  2. scitex/__version__.py +11 -8
  3. scitex/_env_loader.py +156 -0
  4. scitex/_mcp_resources/__init__.py +37 -0
  5. scitex/_mcp_resources/_cheatsheet.py +135 -0
  6. scitex/_mcp_resources/_figrecipe.py +138 -0
  7. scitex/_mcp_resources/_formats.py +102 -0
  8. scitex/_mcp_resources/_modules.py +337 -0
  9. scitex/_mcp_resources/_session.py +149 -0
  10. scitex/_mcp_tools/__init__.py +40 -0
  11. scitex/_mcp_tools/audio.py +200 -0
  12. scitex/_mcp_tools/canvas.py +128 -0
  13. scitex/_mcp_tools/capture.py +174 -0
  14. scitex/_mcp_tools/diagram.py +22 -0
  15. scitex/_mcp_tools/introspect.py +191 -0
  16. scitex/_mcp_tools/plt.py +305 -0
  17. scitex/_mcp_tools/scholar.py +447 -0
  18. scitex/_mcp_tools/social.py +244 -0
  19. scitex/_mcp_tools/stats.py +206 -0
  20. scitex/_mcp_tools/template.py +66 -0
  21. scitex/_mcp_tools/ui.py +80 -0
  22. scitex/_mcp_tools/writer.py +37 -0
  23. scitex/ai/_gen_ai/_PARAMS.py +10 -7
  24. scitex/ai/classification/reporters/_ClassificationReporter.py +0 -0
  25. scitex/ai/classification/reporters/_SingleClassificationReporter.py +45 -1603
  26. scitex/ai/classification/reporters/_mixins/__init__.py +36 -0
  27. scitex/ai/classification/reporters/_mixins/_constants.py +67 -0
  28. scitex/ai/classification/reporters/_mixins/_cv_summary.py +387 -0
  29. scitex/ai/classification/reporters/_mixins/_feature_importance.py +119 -0
  30. scitex/ai/classification/reporters/_mixins/_metrics.py +275 -0
  31. scitex/ai/classification/reporters/_mixins/_plotting.py +179 -0
  32. scitex/ai/classification/reporters/_mixins/_reports.py +153 -0
  33. scitex/ai/classification/reporters/_mixins/_storage.py +160 -0
  34. scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +0 -0
  35. scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +0 -0
  36. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +0 -0
  37. scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +0 -0
  38. scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +0 -0
  39. scitex/ai/classification/timeseries/_normalize_timestamp.py +0 -0
  40. scitex/ai/metrics/_calc_seizure_prediction_metrics.py +0 -0
  41. scitex/ai/plt/_plot_feature_importance.py +0 -0
  42. scitex/ai/plt/_plot_learning_curve.py +0 -0
  43. scitex/ai/plt/_plot_optuna_study.py +0 -0
  44. scitex/ai/plt/_plot_pre_rec_curve.py +0 -0
  45. scitex/ai/plt/_plot_roc_curve.py +0 -0
  46. scitex/ai/plt/_stx_conf_mat.py +0 -0
  47. scitex/ai/training/_LearningCurveLogger.py +0 -0
  48. scitex/audio/README.md +88 -7
  49. scitex/audio/__init__.py +127 -60
  50. scitex/audio/__main__.py +17 -21
  51. scitex/audio/_branding.py +185 -0
  52. scitex/audio/_mcp/__init__.py +36 -0
  53. scitex/audio/_mcp/handlers.py +419 -0
  54. scitex/audio/_mcp/speak_handlers.py +238 -0
  55. scitex/audio/_mcp/tool_schemas.py +203 -0
  56. scitex/audio/_relay.py +225 -0
  57. scitex/audio/engines/elevenlabs_engine.py +6 -1
  58. scitex/audio/mcp_server.py +355 -337
  59. scitex/bridge/_figrecipe.py +40 -8
  60. scitex/bridge/_stats_plt.py +2 -4
  61. scitex/bridge/_stats_vis.py +7 -5
  62. scitex/browser/automation/CookieHandler.py +0 -0
  63. scitex/browser/collaboration/__init__.py +0 -1
  64. scitex/browser/core/BrowserMixin.py +0 -0
  65. scitex/browser/core/ChromeProfileManager.py +10 -3
  66. scitex/browser/debugging/_browser_logger.py +6 -9
  67. scitex/browser/debugging/_highlight_element.py +0 -0
  68. scitex/browser/debugging/_show_grid.py +0 -0
  69. scitex/browser/interaction/click_center.py +0 -0
  70. scitex/browser/interaction/click_with_fallbacks.py +0 -0
  71. scitex/browser/interaction/close_popups.py +0 -0
  72. scitex/browser/interaction/fill_with_fallbacks.py +0 -0
  73. scitex/browser/pdf/click_download_for_chrome_pdf_viewer.py +0 -0
  74. scitex/browser/pdf/detect_chrome_pdf_viewer.py +0 -0
  75. scitex/browser/stealth/HumanBehavior.py +0 -0
  76. scitex/browser/stealth/StealthManager.py +0 -0
  77. scitex/canvas/README.md +1 -1
  78. scitex/canvas/_mcp/__init__.py +4 -0
  79. scitex/canvas/_mcp/handlers.py +372 -0
  80. scitex/canvas/_mcp/tool_schemas.py +219 -0
  81. scitex/canvas/editor/_dearpygui/__init__.py +25 -0
  82. scitex/canvas/editor/_dearpygui/_editor.py +147 -0
  83. scitex/canvas/editor/_dearpygui/_handlers.py +476 -0
  84. scitex/canvas/editor/_dearpygui/_panels/__init__.py +17 -0
  85. scitex/canvas/editor/_dearpygui/_panels/_control.py +119 -0
  86. scitex/canvas/editor/_dearpygui/_panels/_element_controls.py +190 -0
  87. scitex/canvas/editor/_dearpygui/_panels/_preview.py +43 -0
  88. scitex/canvas/editor/_dearpygui/_panels/_sections.py +390 -0
  89. scitex/canvas/editor/_dearpygui/_plotting.py +187 -0
  90. scitex/canvas/editor/_dearpygui/_rendering.py +504 -0
  91. scitex/canvas/editor/_dearpygui/_selection.py +295 -0
  92. scitex/canvas/editor/_dearpygui/_state.py +93 -0
  93. scitex/canvas/editor/_dearpygui/_utils.py +61 -0
  94. scitex/canvas/editor/flask_editor/templates/__init__.py +32 -70
  95. scitex/canvas/mcp_server.py +2 -2
  96. scitex/capture/__init__.py +0 -1
  97. scitex/capture/_mcp/__init__.py +11 -0
  98. scitex/capture/_mcp/handlers.py +438 -0
  99. scitex/capture/_mcp/tool_schemas.py +270 -0
  100. scitex/cli/__init__.py +44 -2
  101. scitex/cli/audio.py +150 -3
  102. scitex/cli/browser.py +310 -0
  103. scitex/cli/capture.py +14 -3
  104. scitex/cli/introspect.py +443 -0
  105. scitex/cli/main.py +230 -103
  106. scitex/cli/mcp.py +362 -0
  107. scitex/cli/repro.py +18 -0
  108. scitex/cli/resource.py +18 -0
  109. scitex/cli/scholar/__init__.py +97 -0
  110. scitex/cli/scholar/_crossref_scitex.py +296 -0
  111. scitex/cli/scholar/_fetch.py +369 -0
  112. scitex/cli/scholar/_jobs.py +306 -0
  113. scitex/cli/scholar/_library.py +152 -0
  114. scitex/cli/scholar/_utils.py +35 -0
  115. scitex/cli/social.py +314 -0
  116. scitex/cli/stats.py +18 -0
  117. scitex/cli/template.py +18 -0
  118. scitex/cli/tex.py +18 -0
  119. scitex/cli/writer.py +190 -20
  120. scitex/compat/__init__.py +74 -0
  121. scitex/config/README.md +1 -1
  122. scitex/config/__init__.py +16 -2
  123. scitex/config/_env_registry.py +191 -0
  124. scitex/config/default.yaml +31 -0
  125. scitex/cv/__init__.py +87 -0
  126. scitex/cv/_draw.py +236 -0
  127. scitex/cv/_filters.py +217 -0
  128. scitex/cv/_io.py +157 -0
  129. scitex/cv/_transform.py +184 -0
  130. scitex/dev/__init__.py +2 -0
  131. scitex/dev/cv/__init__.py +60 -0
  132. scitex/dev/cv/_compose.py +330 -0
  133. scitex/dev/cv/_title_card.py +351 -0
  134. scitex/dev/plt/__init__.py +0 -0
  135. scitex/dev/plt/demo_plotters/__init__.py +0 -0
  136. scitex/dev/plt/mpl/get_dir_ax.py +0 -0
  137. scitex/dev/plt/mpl/get_signatures.py +0 -0
  138. scitex/dev/plt/mpl/get_signatures_details.py +0 -0
  139. scitex/diagram/__init__.py +42 -19
  140. scitex/diagram/mcp_server.py +13 -125
  141. scitex/dt/_normalize_timestamp.py +0 -0
  142. scitex/gen/__init__.py +0 -0
  143. scitex/gen/misc.py +0 -0
  144. scitex/git/_init.py +2 -2
  145. scitex/git/_session.py +0 -0
  146. scitex/introspect/__init__.py +75 -0
  147. scitex/introspect/_call_graph.py +303 -0
  148. scitex/introspect/_class_hierarchy.py +163 -0
  149. scitex/introspect/_core.py +42 -0
  150. scitex/introspect/_docstring.py +131 -0
  151. scitex/introspect/_examples.py +113 -0
  152. scitex/introspect/_imports.py +271 -0
  153. scitex/introspect/_mcp/__init__.py +37 -0
  154. scitex/introspect/_mcp/handlers.py +208 -0
  155. scitex/introspect/_members.py +151 -0
  156. scitex/introspect/_resolve.py +89 -0
  157. scitex/introspect/_signature.py +131 -0
  158. scitex/introspect/_source.py +80 -0
  159. scitex/introspect/_type_hints.py +172 -0
  160. scitex/io/bundle/README.md +1 -1
  161. scitex/io/bundle/kinds/__init__.py +0 -0
  162. scitex/io/bundle/kinds/_figure/__init__.py +0 -0
  163. scitex/io/bundle/kinds/_plot/__init__.py +0 -0
  164. scitex/io/bundle/kinds/_shape/__init__.py +0 -0
  165. scitex/io/bundle/kinds/_text/__init__.py +0 -0
  166. scitex/logging/_context.py +5 -4
  167. scitex/mcp_server.py +170 -145
  168. scitex/plt/__init__.py +249 -548
  169. scitex/plt/_figrecipe_integration.py +121 -0
  170. scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_wrappers.py +5 -10
  171. scitex/plt/_subplots/_FigWrapper.py +139 -88
  172. scitex/plt/_subplots/_export_as_csv_formatters/_format_pcolormesh.py +0 -0
  173. scitex/plt/_subplots/_export_as_csv_formatters/_format_stackplot.py +0 -0
  174. scitex/plt/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
  175. scitex/plt/gallery/README.md +1 -1
  176. scitex/plt/styles/_plot_postprocess.py +35 -117
  177. scitex/plt/styles/_postprocess_helpers.py +158 -0
  178. scitex/plt/utils/_hitmap/__init__.py +82 -0
  179. scitex/plt/utils/_hitmap/_artist_extraction.py +343 -0
  180. scitex/plt/utils/_hitmap/_color_application.py +346 -0
  181. scitex/plt/utils/_hitmap/_color_conversion.py +121 -0
  182. scitex/plt/utils/_hitmap/_constants.py +40 -0
  183. scitex/plt/utils/_hitmap/_hitmap_core.py +334 -0
  184. scitex/plt/utils/_hitmap/_path_extraction.py +357 -0
  185. scitex/plt/utils/_hitmap/_query.py +113 -0
  186. scitex/plt/utils/_hitmap.py +46 -1616
  187. scitex/plt/utils/_metadata/__init__.py +80 -0
  188. scitex/plt/utils/_metadata/_artists/__init__.py +25 -0
  189. scitex/plt/utils/_metadata/_artists/_base.py +195 -0
  190. scitex/plt/utils/_metadata/_artists/_collections.py +356 -0
  191. scitex/plt/utils/_metadata/_artists/_extract.py +57 -0
  192. scitex/plt/utils/_metadata/_artists/_images.py +80 -0
  193. scitex/plt/utils/_metadata/_artists/_lines.py +261 -0
  194. scitex/plt/utils/_metadata/_artists/_patches.py +247 -0
  195. scitex/plt/utils/_metadata/_artists/_text.py +106 -0
  196. scitex/plt/utils/_metadata/_csv.py +416 -0
  197. scitex/plt/utils/_metadata/_detect.py +225 -0
  198. scitex/plt/utils/_metadata/_legend.py +127 -0
  199. scitex/plt/utils/_metadata/_rounding.py +117 -0
  200. scitex/plt/utils/_metadata/_verification.py +202 -0
  201. scitex/repro/_RandomStateManager.py +0 -0
  202. scitex/repro/_gen_ID.py +0 -0
  203. scitex/repro/_gen_timestamp.py +0 -0
  204. scitex/repro/_hash_array.py +0 -0
  205. scitex/schema/README.md +1 -1
  206. scitex/scholar/__init__.py +8 -0
  207. scitex/scholar/_mcp/__init__.py +4 -0
  208. scitex/scholar/_mcp/all_handlers.py +74 -0
  209. scitex/scholar/_mcp/crossref_handlers.py +265 -0
  210. scitex/scholar/_mcp/handlers.py +1478 -0
  211. scitex/scholar/_mcp/job_handlers.py +172 -0
  212. scitex/scholar/_mcp/job_tool_schemas.py +166 -0
  213. scitex/scholar/_mcp/tool_schemas.py +505 -0
  214. scitex/scholar/auth/core/BrowserAuthenticator.py +126 -9
  215. scitex/scholar/auth/providers/OpenAthensAuthenticator.py +55 -210
  216. scitex/scholar/auth/providers/_notifications.py +417 -0
  217. scitex/scholar/auth/sso/BaseSSOAutomator.py +36 -17
  218. scitex/scholar/auth/sso/UniversityOfMelbourneSSOAutomator.py +8 -15
  219. scitex/scholar/citation_graph/__init__.py +0 -1
  220. scitex/scholar/config/core/_PathManager.py +5 -1
  221. scitex/scholar/config/default.yaml +1 -1
  222. scitex/scholar/core/Paper.py +19 -41
  223. scitex/scholar/core/Scholar.py +64 -1688
  224. scitex/scholar/core/_mixins/__init__.py +36 -0
  225. scitex/scholar/core/_mixins/_enrichers.py +270 -0
  226. scitex/scholar/core/_mixins/_library_handlers.py +100 -0
  227. scitex/scholar/core/_mixins/_loaders.py +103 -0
  228. scitex/scholar/core/_mixins/_pdf_download.py +375 -0
  229. scitex/scholar/core/_mixins/_pipeline.py +312 -0
  230. scitex/scholar/core/_mixins/_project_handlers.py +125 -0
  231. scitex/scholar/core/_mixins/_savers.py +69 -0
  232. scitex/scholar/core/_mixins/_search.py +103 -0
  233. scitex/scholar/core/_mixins/_services.py +88 -0
  234. scitex/scholar/core/_mixins/_url_finding.py +105 -0
  235. scitex/scholar/core/journal_normalizer.py +36 -25
  236. scitex/scholar/crossref_scitex.py +367 -0
  237. scitex/scholar/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
  238. scitex/scholar/examples/00_run_all.sh +120 -0
  239. scitex/scholar/examples/07_storage_integration.py +0 -0
  240. scitex/scholar/impact_factor/estimation/__init__.py +0 -1
  241. scitex/scholar/impact_factor/jcr/ImpactFactorJCREngine.py +19 -6
  242. scitex/scholar/impact_factor/jcr/build_database.py +0 -0
  243. scitex/scholar/jobs/_Job.py +266 -0
  244. scitex/scholar/jobs/_JobManager.py +458 -0
  245. scitex/scholar/jobs/__init__.py +74 -0
  246. scitex/scholar/jobs/_errors.py +346 -0
  247. scitex/scholar/jobs/_executors.py +397 -0
  248. scitex/scholar/mcp_server.py +52 -2
  249. scitex/scholar/pdf_download/ScholarPDFDownloader.py +38 -416
  250. scitex/scholar/pdf_download/_cli.py +154 -0
  251. scitex/scholar/pdf_download/strategies/__init__.py +11 -8
  252. scitex/scholar/pdf_download/strategies/chrome_pdf_viewer.py +11 -11
  253. scitex/scholar/pdf_download/strategies/manual_download_fallback.py +80 -3
  254. scitex/scholar/pipelines/ScholarPipelineBibTeX.py +73 -121
  255. scitex/scholar/pipelines/ScholarPipelineParallel.py +83 -140
  256. scitex/scholar/pipelines/ScholarPipelineSearchParallel.py +11 -13
  257. scitex/scholar/pipelines/ScholarPipelineSingle.py +83 -656
  258. scitex/scholar/pipelines/_single_steps.py +465 -0
  259. scitex/scholar/storage/BibTeXHandler.py +71 -23
  260. scitex/scholar/storage/PaperIO.py +53 -18
  261. scitex/scholar/storage/_BibTeXValidator.py +571 -0
  262. scitex/scholar/storage/_LibraryManager.py +97 -1695
  263. scitex/scholar/storage/__init__.py +17 -3
  264. scitex/scholar/storage/_mixins/__init__.py +30 -0
  265. scitex/scholar/storage/_mixins/_bibtex_handlers.py +128 -0
  266. scitex/scholar/storage/_mixins/_library_operations.py +218 -0
  267. scitex/scholar/storage/_mixins/_metadata_conversion.py +226 -0
  268. scitex/scholar/storage/_mixins/_paper_saving.py +456 -0
  269. scitex/scholar/storage/_mixins/_resolution.py +376 -0
  270. scitex/scholar/storage/_mixins/_storage_helpers.py +121 -0
  271. scitex/scholar/storage/_mixins/_symlink_handlers.py +226 -0
  272. scitex/scholar/url_finder/translators/individual/cell_press.py +131 -4
  273. scitex/security/README.md +3 -3
  274. scitex/security/__init__.py +0 -1
  275. scitex/session/README.md +1 -1
  276. scitex/session/__init__.py +0 -0
  277. scitex/session/_decorator.py +0 -0
  278. scitex/session/_lifecycle.py +0 -0
  279. scitex/sh/README.md +1 -1
  280. scitex/social/__init__.py +153 -0
  281. scitex/social/docs/EXTERNAL_PACKAGE_BRANDING.md +149 -0
  282. scitex/stats/__init__.py +14 -2
  283. scitex/stats/__main__.py +2 -2
  284. scitex/stats/_figrecipe_integration.py +116 -0
  285. scitex/stats/_mcp/__init__.py +4 -0
  286. scitex/stats/_mcp/handlers.py +1191 -0
  287. scitex/stats/_mcp/tool_schemas.py +384 -0
  288. scitex/stats/auto/__init__.py +0 -1
  289. scitex/stats/correct/_correct_bonferroni.py +0 -0
  290. scitex/stats/correct/_correct_fdr.py +0 -0
  291. scitex/stats/correct/_correct_fdr_.py +0 -0
  292. scitex/stats/correct/_correct_holm.py +0 -0
  293. scitex/stats/correct/_correct_sidak.py +0 -0
  294. scitex/stats/effect_sizes/_cliffs_delta.py +0 -0
  295. scitex/stats/effect_sizes/_cohens_d.py +0 -0
  296. scitex/stats/effect_sizes/_epsilon_squared.py +0 -0
  297. scitex/stats/effect_sizes/_eta_squared.py +0 -0
  298. scitex/stats/effect_sizes/_prob_superiority.py +0 -0
  299. scitex/stats/mcp_server.py +2 -2
  300. scitex/stats/posthoc/_dunnett.py +0 -0
  301. scitex/stats/posthoc/_games_howell.py +0 -0
  302. scitex/stats/posthoc/_tukey_hsd.py +0 -0
  303. scitex/stats/power/_power.py +0 -0
  304. scitex/stats/utils/_effect_size.py +0 -0
  305. scitex/stats/utils/_formatters.py +0 -0
  306. scitex/stats/utils/_power.py +0 -0
  307. scitex/template/README.md +1 -1
  308. scitex/template/_mcp/__init__.py +4 -0
  309. scitex/template/_mcp/handlers.py +259 -0
  310. scitex/template/_mcp/tool_schemas.py +112 -0
  311. scitex/template/clone_writer_directory.py +6 -6
  312. scitex/template/mcp_server.py +2 -2
  313. scitex/ui/__init__.py +173 -0
  314. scitex/ui/_backends/__init__.py +66 -0
  315. scitex/ui/_backends/_audio.py +86 -0
  316. scitex/ui/_backends/_config.py +250 -0
  317. scitex/ui/_backends/_desktop.py +184 -0
  318. scitex/ui/_backends/_emacs.py +210 -0
  319. scitex/ui/_backends/_email.py +78 -0
  320. scitex/ui/_backends/_matplotlib.py +118 -0
  321. scitex/ui/_backends/_playwright.py +109 -0
  322. scitex/ui/_backends/_types.py +58 -0
  323. scitex/ui/_backends/_webhook.py +77 -0
  324. scitex/ui/_backends.py +37 -0
  325. scitex/ui/_mcp/__init__.py +23 -0
  326. scitex/ui/_mcp/handlers.py +260 -0
  327. scitex/ui/_mcp/tool_schemas.py +107 -0
  328. scitex/ui/mcp_server.py +151 -0
  329. scitex/utils/_email.py +85 -7
  330. scitex/utils/_notify.py +16 -5
  331. scitex/utils/_search.py +11 -9
  332. scitex/utils/_verify_scitex_format.py +0 -0
  333. scitex/writer/README.md +1 -1
  334. scitex/writer/Writer.py +110 -111
  335. scitex/writer/__init__.py +26 -48
  336. scitex/writer/_clone_writer_project.py +0 -0
  337. scitex/writer/_compile/__init__.py +5 -4
  338. scitex/writer/_compile/_compile_async.py +130 -0
  339. scitex/writer/_compile/_compile_unified.py +148 -0
  340. scitex/writer/_compile/_runner.py +2 -2
  341. scitex/writer/_compile/_validator.py +3 -3
  342. scitex/writer/_compile/manuscript.py +1 -1
  343. scitex/writer/_compile/revision.py +1 -1
  344. scitex/writer/_compile/supplementary.py +1 -1
  345. scitex/writer/_dataclasses/config/_WriterConfig.py +175 -0
  346. scitex/writer/_dataclasses/contents/_ManuscriptContents.py +236 -0
  347. scitex/writer/_dataclasses/core/_Document.py +146 -0
  348. scitex/writer/_dataclasses/core/_DocumentSection.py +546 -0
  349. scitex/writer/_dataclasses/results/_CompilationResult.py +165 -0
  350. scitex/writer/_dataclasses/results/_LaTeXIssue.py +102 -0
  351. scitex/writer/_dataclasses/tree/MINIMUM_FILES.md +121 -0
  352. scitex/writer/_mcp/__init__.py +4 -0
  353. scitex/writer/_mcp/handlers.py +32 -0
  354. scitex/writer/_mcp/tool_schemas.py +33 -0
  355. scitex/writer/_project/_trees.py +2 -2
  356. scitex/writer/utils/__init__.py +19 -2
  357. scitex/writer/utils/_converters.py +635 -0
  358. scitex/writer/utils/_parse_latex_logs.py +1 -1
  359. scitex/writer/utils/_verify_tree_structure.py +205 -0
  360. scitex-2.15.1.dist-info/METADATA +648 -0
  361. scitex-2.15.1.dist-info/RECORD +2553 -0
  362. scitex-2.15.1.dist-info/entry_points.txt +12 -0
  363. scitex/audio/_mcp_handlers.py +0 -256
  364. scitex/audio/_mcp_tool_schemas.py +0 -203
  365. scitex/canvas/_mcp_handlers.py +0 -372
  366. scitex/canvas/_mcp_tool_schemas.py +0 -219
  367. scitex/canvas/editor/flask_editor/templates/_scripts.py +0 -4933
  368. scitex/canvas/editor/flask_editor/templates/_styles.py +0 -1658
  369. scitex/capture/mcp_handlers.py +0 -401
  370. scitex/capture/mcp_tool_defs.py +0 -192
  371. scitex/capture/mcp_tools.py +0 -241
  372. scitex/capture/mcp_utils.py +0 -30
  373. scitex/cli/scholar.py +0 -313
  374. scitex/diagram/_compile.py +0 -312
  375. scitex/diagram/_diagram.py +0 -355
  376. scitex/diagram/_mcp_handlers.py +0 -400
  377. scitex/diagram/_mcp_tool_schemas.py +0 -157
  378. scitex/diagram/_presets.py +0 -173
  379. scitex/diagram/_schema.py +0 -182
  380. scitex/diagram/_split.py +0 -278
  381. scitex/plt/_mcp_handlers.py +0 -361
  382. scitex/plt/_mcp_tool_schemas.py +0 -169
  383. scitex/plt/mcp_server.py +0 -205
  384. scitex/scholar/.legacy/Scholar.py +0 -400
  385. scitex/scholar/.legacy/_Scholar.py +0 -1763
  386. scitex/scholar/.legacy/_ScholarAPI.py +0 -316
  387. scitex/scholar/.legacy/_tmp/search_engine/_BaseSearchEngine.py +0 -101
  388. scitex/scholar/.legacy/_tmp/search_engine/_UnifiedSearcher.py +0 -392
  389. scitex/scholar/.legacy/_tmp/search_engine/__init__.py +0 -53
  390. scitex/scholar/.legacy/_tmp/search_engine/local/_LocalSearchEngine.py +0 -134
  391. scitex/scholar/.legacy/_tmp/search_engine/local/_VectorSearchEngine.py +0 -129
  392. scitex/scholar/.legacy/_tmp/search_engine/web/_ArxivSearchEngine.py +0 -279
  393. scitex/scholar/.legacy/_tmp/search_engine/web/_CrossRefSearchEngine.py +0 -319
  394. scitex/scholar/.legacy/_tmp/search_engine/web/_GoogleScholarSearchEngine.py +0 -209
  395. scitex/scholar/.legacy/_tmp/search_engine/web/_PubMedSearchEngine.py +0 -374
  396. scitex/scholar/.legacy/_tmp/search_engine/web/_SemanticScholarSearchEngine.py +0 -362
  397. scitex/scholar/.legacy/database/README.md +0 -121
  398. scitex/scholar/.legacy/database/README_CONCURRENT_ACCESS.md +0 -103
  399. scitex/scholar/.legacy/database/_DatabaseEntry.py +0 -232
  400. scitex/scholar/.legacy/database/_DatabaseIndex.py +0 -426
  401. scitex/scholar/.legacy/database/_LibraryManager.py +0 -276
  402. scitex/scholar/.legacy/database/_PaperDatabase.py +0 -543
  403. scitex/scholar/.legacy/database/_ScholarDatabaseIntegration.py +0 -391
  404. scitex/scholar/.legacy/database/_StorageIntegratedDB.py +0 -619
  405. scitex/scholar/.legacy/database/_ZoteroCompatibleDB.py +0 -1194
  406. scitex/scholar/.legacy/database/__init__.py +0 -28
  407. scitex/scholar/.legacy/database/manage.py +0 -274
  408. scitex/scholar/.legacy/lookup/_LookupIndex.py +0 -470
  409. scitex/scholar/.legacy/lookup/__init__.py +0 -22
  410. scitex/scholar/.legacy/metadata/README.md +0 -62
  411. scitex/scholar/.legacy/metadata/__init__.py +0 -1
  412. scitex/scholar/.legacy/metadata/doi/README.md +0 -368
  413. scitex/scholar/.legacy/metadata/doi/__init__.py +0 -7
  414. scitex/scholar/.legacy/metadata/doi/batch/_MetadataHandlerForBatchDOIResolution.py +0 -304
  415. scitex/scholar/.legacy/metadata/doi/batch/_ProgressManagerForBatchDOIResolution.py +0 -304
  416. scitex/scholar/.legacy/metadata/doi/batch/_SourceStatsManagerForBatchDOIResolution.py +0 -299
  417. scitex/scholar/.legacy/metadata/doi/batch/__init__.py +0 -26
  418. scitex/scholar/.legacy/metadata/doi/resolvers/_BatchDOIResolver.py +0 -586
  419. scitex/scholar/.legacy/metadata/doi/resolvers/_BibTeXDOIResolver.py +0 -609
  420. scitex/scholar/.legacy/metadata/doi/resolvers/_DOIResolver.py +0 -192
  421. scitex/scholar/.legacy/metadata/doi/resolvers/_SingleDOIResolver.py +0 -395
  422. scitex/scholar/.legacy/metadata/doi/resolvers/__init__.py +0 -2
  423. scitex/scholar/.legacy/metadata/doi/sources/.combined-SemanticScholarSource/_SemanticScholarSource.py +0 -289
  424. scitex/scholar/.legacy/metadata/doi/sources/.combined-SemanticScholarSource/_SemanticScholarSourceEnhanced.py +0 -229
  425. scitex/scholar/.legacy/metadata/doi/sources/_ArXivSource.py +0 -306
  426. scitex/scholar/.legacy/metadata/doi/sources/_BaseDOISource.py +0 -347
  427. scitex/scholar/.legacy/metadata/doi/sources/_CrossRefLocalSource.py +0 -79
  428. scitex/scholar/.legacy/metadata/doi/sources/_CrossRefSource.py +0 -225
  429. scitex/scholar/.legacy/metadata/doi/sources/_OpenAlexSource.py +0 -306
  430. scitex/scholar/.legacy/metadata/doi/sources/_PubMedSource.py +0 -302
  431. scitex/scholar/.legacy/metadata/doi/sources/_SemanticScholarSource.py +0 -341
  432. scitex/scholar/.legacy/metadata/doi/sources/_SourceManager.py +0 -317
  433. scitex/scholar/.legacy/metadata/doi/sources/_SourceResolutionStrategy.py +0 -595
  434. scitex/scholar/.legacy/metadata/doi/sources/_SourceRotationManager.py +0 -585
  435. scitex/scholar/.legacy/metadata/doi/sources/_URLDOISource.py +0 -394
  436. scitex/scholar/.legacy/metadata/doi/sources/_UnifiedSource.py +0 -412
  437. scitex/scholar/.legacy/metadata/doi/sources/__init__.py +0 -38
  438. scitex/scholar/.legacy/metadata/doi/utils/_PubMedConverter.py +0 -465
  439. scitex/scholar/.legacy/metadata/doi/utils/_RateLimitHandler.py +0 -707
  440. scitex/scholar/.legacy/metadata/doi/utils/_TextNormalizer.py +0 -587
  441. scitex/scholar/.legacy/metadata/doi/utils/_URLDOIExtractor.py +0 -278
  442. scitex/scholar/.legacy/metadata/doi/utils/__init__.py +0 -40
  443. scitex/scholar/.legacy/metadata/doi/utils/_to_complete_metadata_structure.py +0 -315
  444. scitex/scholar/.legacy/metadata/enrichment/README.md +0 -51
  445. scitex/scholar/.legacy/metadata/enrichment/_LibraryEnricher.py +0 -99
  446. scitex/scholar/.legacy/metadata/enrichment/__init__.py +0 -2
  447. scitex/scholar/.legacy/metadata/enrichment/enrichers/_ImpactFactorEnricher.py +0 -107
  448. scitex/scholar/.legacy/metadata/enrichment/enrichers/_SmartEnricher.py +0 -164
  449. scitex/scholar/.legacy/metadata/enrichment/enrichers/__init__.py +0 -4
  450. scitex/scholar/.legacy/metadata/enrichment/sources/_UnifiedMetadataSource.py +0 -126
  451. scitex/scholar/.legacy/metadata/enrichment/sources/__init__.py +0 -3
  452. scitex/scholar/.legacy/metadata/query_to_full_meta_json.py +0 -184
  453. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/KNOWN_RESOLVERS.py +0 -462
  454. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/README.md +0 -223
  455. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_DOIToURLResolver.py +0 -694
  456. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_OpenURLResolver.py +0 -1160
  457. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/_ResolverLinkFinder.py +0 -344
  458. scitex/scholar/.legacy/metadata/urls/.tmp/open_url/__init__.py +0 -24
  459. scitex/scholar/.legacy/metadata/urls/README.md +0 -142
  460. scitex/scholar/.legacy/metadata/urls/_URLMetadataHandler.py +0 -383
  461. scitex/scholar/.legacy/metadata/urls/_ZoteroTranslatorRunner.py +0 -294
  462. scitex/scholar/.legacy/metadata/urls/__init__.py +0 -39
  463. scitex/scholar/.legacy/metadata/urls/_finder.py +0 -319
  464. scitex/scholar/.legacy/metadata/urls/_handler.py +0 -326
  465. scitex/scholar/.legacy/metadata/urls/_resolver.py +0 -287
  466. scitex/scholar/.legacy/metadata/urls/docs/CORE_URL_TYPES.md +0 -187
  467. scitex/scholar/.legacy/metadata/urls/docs/URL_SCHEMA.md +0 -223
  468. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/.eslintrc +0 -11
  469. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/AGPL +0 -22
  470. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/checkDeletedTxt.sh +0 -46
  471. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/bin/teslint.js +0 -9
  472. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/index.js +0 -15
  473. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/package-lock.json +0 -151
  474. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/package.json +0 -21
  475. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/eslint-plugin-zotero-translator/processor.js +0 -257
  476. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/helper.sh +0 -29
  477. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/lint.sh +0 -12
  478. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/check-pull-request.sh +0 -39
  479. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/selenium-test.js +0 -147
  480. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/pull-request-check/translator-server.js +0 -72
  481. scitex/scholar/.legacy/metadata/urls/zotero_translators/.ci/updateTypes.mjs +0 -75
  482. scitex/scholar/.legacy/metadata/urls/zotero_translators/.editorconfig +0 -8
  483. scitex/scholar/.legacy/metadata/urls/zotero_translators/.eslintrc +0 -70
  484. scitex/scholar/.legacy/metadata/urls/zotero_translators/ABC News Australia.js +0 -224
  485. scitex/scholar/.legacy/metadata/urls/zotero_translators/ACLS Humanities EBook.js +0 -165
  486. scitex/scholar/.legacy/metadata/urls/zotero_translators/ACLWeb.js +0 -600
  487. scitex/scholar/.legacy/metadata/urls/zotero_translators/ACM Digital Library.js +0 -710
  488. scitex/scholar/.legacy/metadata/urls/zotero_translators/ACS Publications.js +0 -633
  489. scitex/scholar/.legacy/metadata/urls/zotero_translators/ADS Bibcode.js +0 -664
  490. scitex/scholar/.legacy/metadata/urls/zotero_translators/AEA Web.js +0 -450
  491. scitex/scholar/.legacy/metadata/urls/zotero_translators/AGRIS.js +0 -311
  492. scitex/scholar/.legacy/metadata/urls/zotero_translators/AIP.js +0 -295
  493. scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS Journals.js +0 -136
  494. scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS MathSciNet (Legacy).js +0 -313
  495. scitex/scholar/.legacy/metadata/urls/zotero_translators/AMS MathSciNet.js +0 -288
  496. scitex/scholar/.legacy/metadata/urls/zotero_translators/APA PsycNET.js +0 -915
  497. scitex/scholar/.legacy/metadata/urls/zotero_translators/APN.ru.js +0 -132
  498. scitex/scholar/.legacy/metadata/urls/zotero_translators/APS-Physics.js +0 -204
  499. scitex/scholar/.legacy/metadata/urls/zotero_translators/APS.js +0 -542
  500. scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTFL Encyclopedie.js +0 -283
  501. scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTnews.js +0 -155
  502. scitex/scholar/.legacy/metadata/urls/zotero_translators/ARTstor.js +0 -619
  503. scitex/scholar/.legacy/metadata/urls/zotero_translators/ASCE.js +0 -199
  504. scitex/scholar/.legacy/metadata/urls/zotero_translators/ASCO Meeting Library.js +0 -153
  505. scitex/scholar/.legacy/metadata/urls/zotero_translators/ASTIS.js +0 -337
  506. scitex/scholar/.legacy/metadata/urls/zotero_translators/ATS International Journal.js +0 -290
  507. scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Engineering.js +0 -384
  508. scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Medicine.js +0 -343
  509. scitex/scholar/.legacy/metadata/urls/zotero_translators/Access Science.js +0 -391
  510. scitex/scholar/.legacy/metadata/urls/zotero_translators/Adam Matthew Digital.js +0 -405
  511. scitex/scholar/.legacy/metadata/urls/zotero_translators/Agencia del ISBN.js +0 -77
  512. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ahval News.js +0 -309
  513. scitex/scholar/.legacy/metadata/urls/zotero_translators/Air University Journals.js +0 -236
  514. scitex/scholar/.legacy/metadata/urls/zotero_translators/Airiti.js +0 -423
  515. scitex/scholar/.legacy/metadata/urls/zotero_translators/Alexander Street Press.js +0 -198
  516. scitex/scholar/.legacy/metadata/urls/zotero_translators/AllAfrica.js +0 -291
  517. scitex/scholar/.legacy/metadata/urls/zotero_translators/Alsharekh.js +0 -242
  518. scitex/scholar/.legacy/metadata/urls/zotero_translators/AlterNet.js +0 -134
  519. scitex/scholar/.legacy/metadata/urls/zotero_translators/Aluka.js +0 -261
  520. scitex/scholar/.legacy/metadata/urls/zotero_translators/Amazon.js +0 -1043
  521. scitex/scholar/.legacy/metadata/urls/zotero_translators/American Archive of Public Broadcasting.js +0 -592
  522. scitex/scholar/.legacy/metadata/urls/zotero_translators/American Institute of Aeronautics and Astronautics.js +0 -210
  523. scitex/scholar/.legacy/metadata/urls/zotero_translators/American Prospect.js +0 -114
  524. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ancestry.com US Federal Census.js +0 -164
  525. scitex/scholar/.legacy/metadata/urls/zotero_translators/Annual Reviews.js +0 -329
  526. scitex/scholar/.legacy/metadata/urls/zotero_translators/Antikvarium.hu.js +0 -280
  527. scitex/scholar/.legacy/metadata/urls/zotero_translators/AquaDocs.js +0 -390
  528. scitex/scholar/.legacy/metadata/urls/zotero_translators/Archeion.js +0 -249
  529. scitex/scholar/.legacy/metadata/urls/zotero_translators/Archiv fuer Sozialgeschichte.js +0 -157
  530. scitex/scholar/.legacy/metadata/urls/zotero_translators/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +0 -179
  531. scitex/scholar/.legacy/metadata/urls/zotero_translators/Archives Canada.js +0 -142
  532. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ariana News.js +0 -203
  533. scitex/scholar/.legacy/metadata/urls/zotero_translators/Art Institute of Chicago.js +0 -279
  534. scitex/scholar/.legacy/metadata/urls/zotero_translators/Artefacts Canada.js +0 -192
  535. scitex/scholar/.legacy/metadata/urls/zotero_translators/Artforum.js +0 -438
  536. scitex/scholar/.legacy/metadata/urls/zotero_translators/Atlanta Journal-Constitution.js +0 -311
  537. scitex/scholar/.legacy/metadata/urls/zotero_translators/Atypon Journals.js +0 -1204
  538. scitex/scholar/.legacy/metadata/urls/zotero_translators/AustLII and NZLII.js +0 -604
  539. scitex/scholar/.legacy/metadata/urls/zotero_translators/Australian Dictionary of Biography.js +0 -196
  540. scitex/scholar/.legacy/metadata/urls/zotero_translators/BAILII.js +0 -176
  541. scitex/scholar/.legacy/metadata/urls/zotero_translators/BBC Genome.js +0 -254
  542. scitex/scholar/.legacy/metadata/urls/zotero_translators/BBC.js +0 -430
  543. scitex/scholar/.legacy/metadata/urls/zotero_translators/BIBSYS.js +0 -112
  544. scitex/scholar/.legacy/metadata/urls/zotero_translators/BOCC.js +0 -217
  545. scitex/scholar/.legacy/metadata/urls/zotero_translators/BOE.js +0 -229
  546. scitex/scholar/.legacy/metadata/urls/zotero_translators/BOFiP-Impots.js +0 -132
  547. scitex/scholar/.legacy/metadata/urls/zotero_translators/Baidu Scholar.js +0 -276
  548. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bangkok Post.js +0 -216
  549. scitex/scholar/.legacy/metadata/urls/zotero_translators/Baruch Foundation.js +0 -175
  550. scitex/scholar/.legacy/metadata/urls/zotero_translators/Beobachter.js +0 -175
  551. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bezneng Gajit.js +0 -92
  552. scitex/scholar/.legacy/metadata/urls/zotero_translators/BibLaTeX.js +0 -888
  553. scitex/scholar/.legacy/metadata/urls/zotero_translators/BibTeX.js +0 -4236
  554. scitex/scholar/.legacy/metadata/urls/zotero_translators/Biblio.com.js +0 -216
  555. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliontology RDF.js +0 -1166
  556. scitex/scholar/.legacy/metadata/urls/zotero_translators/Biblioteca Nacional de Maestros.js +0 -213
  557. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque et Archives Nationale du Quebec (Pistard).js +0 -147
  558. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque et Archives Nationales du Quebec.js +0 -266
  559. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bibliotheque nationale de France.js +0 -872
  560. scitex/scholar/.legacy/metadata/urls/zotero_translators/BioMed Central.js +0 -585
  561. scitex/scholar/.legacy/metadata/urls/zotero_translators/BioOne.js +0 -233
  562. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bioconductor.js +0 -343
  563. scitex/scholar/.legacy/metadata/urls/zotero_translators/Blaetter.js +0 -192
  564. scitex/scholar/.legacy/metadata/urls/zotero_translators/Blogger.js +0 -244
  565. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bloomberg.js +0 -205
  566. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bloomsbury Food Library.js +0 -296
  567. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bluesky.js +0 -195
  568. scitex/scholar/.legacy/metadata/urls/zotero_translators/BnF ISBN.js +0 -129
  569. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bookmarks.js +0 -282
  570. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bookshop.org.js +0 -223
  571. scitex/scholar/.legacy/metadata/urls/zotero_translators/Boston Review.js +0 -332
  572. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bosworth Toller's Anglo-Saxon Dictionary Online.js +0 -496
  573. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bracero History Archive.js +0 -200
  574. scitex/scholar/.legacy/metadata/urls/zotero_translators/Brill.js +0 -434
  575. scitex/scholar/.legacy/metadata/urls/zotero_translators/Brukerhandboken.js +0 -153
  576. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bryn Mawr Classical Review.js +0 -303
  577. scitex/scholar/.legacy/metadata/urls/zotero_translators/Bundesgesetzblatt.js +0 -231
  578. scitex/scholar/.legacy/metadata/urls/zotero_translators/Business Standard.js +0 -151
  579. scitex/scholar/.legacy/metadata/urls/zotero_translators/CABI - CAB Abstracts.js +0 -317
  580. scitex/scholar/.legacy/metadata/urls/zotero_translators/CAOD.js +0 -260
  581. scitex/scholar/.legacy/metadata/urls/zotero_translators/CBC.js +0 -439
  582. scitex/scholar/.legacy/metadata/urls/zotero_translators/CCfr (BnF).js +0 -162
  583. scitex/scholar/.legacy/metadata/urls/zotero_translators/CERN Document Server.js +0 -277
  584. scitex/scholar/.legacy/metadata/urls/zotero_translators/CEUR Workshop Proceedings.js +0 -145
  585. scitex/scholar/.legacy/metadata/urls/zotero_translators/CFF References.js +0 -170
  586. scitex/scholar/.legacy/metadata/urls/zotero_translators/CFF.js +0 -113
  587. scitex/scholar/.legacy/metadata/urls/zotero_translators/CIA World Factbook.js +0 -128
  588. scitex/scholar/.legacy/metadata/urls/zotero_translators/CLACSO.js +0 -226
  589. scitex/scholar/.legacy/metadata/urls/zotero_translators/CLASE.js +0 -135
  590. scitex/scholar/.legacy/metadata/urls/zotero_translators/CNKI.js +0 -731
  591. scitex/scholar/.legacy/metadata/urls/zotero_translators/COBISS.js +0 -1945
  592. scitex/scholar/.legacy/metadata/urls/zotero_translators/COinS.js +0 -336
  593. scitex/scholar/.legacy/metadata/urls/zotero_translators/CQ Press.js +0 -418
  594. scitex/scholar/.legacy/metadata/urls/zotero_translators/CROSBI.js +0 -227
  595. scitex/scholar/.legacy/metadata/urls/zotero_translators/CSIRO Publishing.js +0 -139
  596. scitex/scholar/.legacy/metadata/urls/zotero_translators/CSL JSON.js +0 -203
  597. scitex/scholar/.legacy/metadata/urls/zotero_translators/CSV.js +0 -294
  598. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cairn.info.js +0 -368
  599. scitex/scholar/.legacy/metadata/urls/zotero_translators/CalMatters.js +0 -228
  600. scitex/scholar/.legacy/metadata/urls/zotero_translators/Calisphere.js +0 -355
  601. scitex/scholar/.legacy/metadata/urls/zotero_translators/Camara Brasileira do Livro ISBN.js +0 -842
  602. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cambridge Core.js +0 -580
  603. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cambridge Engage Preprints.js +0 -276
  604. scitex/scholar/.legacy/metadata/urls/zotero_translators/CanLII.js +0 -284
  605. scitex/scholar/.legacy/metadata/urls/zotero_translators/Canada.com.js +0 -171
  606. scitex/scholar/.legacy/metadata/urls/zotero_translators/Canadian Letters and Images.js +0 -148
  607. scitex/scholar/.legacy/metadata/urls/zotero_translators/Canadiana.ca.js +0 -196
  608. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cascadilla Proceedings Project.js +0 -390
  609. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cell Press.js +0 -516
  610. scitex/scholar/.legacy/metadata/urls/zotero_translators/Central and Eastern European Online Library Journals.js +0 -313
  611. scitex/scholar/.legacy/metadata/urls/zotero_translators/Champlain Society - Collection.js +0 -220
  612. scitex/scholar/.legacy/metadata/urls/zotero_translators/Chicago Journal of Theoretical Computer Science.js +0 -203
  613. scitex/scholar/.legacy/metadata/urls/zotero_translators/Christian Science Monitor.js +0 -148
  614. scitex/scholar/.legacy/metadata/urls/zotero_translators/Chronicling America.js +0 -131
  615. scitex/scholar/.legacy/metadata/urls/zotero_translators/CiNii Research.js +0 -168
  616. scitex/scholar/.legacy/metadata/urls/zotero_translators/Citavi 5 XML.js +0 -516
  617. scitex/scholar/.legacy/metadata/urls/zotero_translators/CiteSeer.js +0 -196
  618. scitex/scholar/.legacy/metadata/urls/zotero_translators/Citizen Lab.js +0 -347
  619. scitex/scholar/.legacy/metadata/urls/zotero_translators/Civilization.ca.js +0 -146
  620. scitex/scholar/.legacy/metadata/urls/zotero_translators/Climate Change and Human Health Literature Portal.js +0 -283
  621. scitex/scholar/.legacy/metadata/urls/zotero_translators/Clinical Key.js +0 -367
  622. scitex/scholar/.legacy/metadata/urls/zotero_translators/Code4Lib Journal.js +0 -143
  623. scitex/scholar/.legacy/metadata/urls/zotero_translators/Colorado State Legislature.js +0 -215
  624. scitex/scholar/.legacy/metadata/urls/zotero_translators/Columbia University Press.js +0 -238
  625. scitex/scholar/.legacy/metadata/urls/zotero_translators/Common-Place.js +0 -218
  626. scitex/scholar/.legacy/metadata/urls/zotero_translators/Computer History Museum Archive.js +0 -1319
  627. scitex/scholar/.legacy/metadata/urls/zotero_translators/Copernicus.js +0 -461
  628. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cornell LII.js +0 -252
  629. scitex/scholar/.legacy/metadata/urls/zotero_translators/Cornell University Press.js +0 -235
  630. scitex/scholar/.legacy/metadata/urls/zotero_translators/CourtListener.js +0 -265
  631. scitex/scholar/.legacy/metadata/urls/zotero_translators/Crossref REST.js +0 -1757
  632. scitex/scholar/.legacy/metadata/urls/zotero_translators/Crossref Unixref XML.js +0 -965
  633. scitex/scholar/.legacy/metadata/urls/zotero_translators/Current Affairs.js +0 -160
  634. scitex/scholar/.legacy/metadata/urls/zotero_translators/DABI.js +0 -476
  635. scitex/scholar/.legacy/metadata/urls/zotero_translators/DAI-Zenon.js +0 -392
  636. scitex/scholar/.legacy/metadata/urls/zotero_translators/DART-Europe.js +0 -176
  637. scitex/scholar/.legacy/metadata/urls/zotero_translators/DBLP Computer Science Bibliography.js +0 -462
  638. scitex/scholar/.legacy/metadata/urls/zotero_translators/DBpia.js +0 -233
  639. scitex/scholar/.legacy/metadata/urls/zotero_translators/DEPATISnet.js +0 -373
  640. scitex/scholar/.legacy/metadata/urls/zotero_translators/DOAJ.js +0 -242
  641. scitex/scholar/.legacy/metadata/urls/zotero_translators/DOI Content Negotiation.js +0 -352
  642. scitex/scholar/.legacy/metadata/urls/zotero_translators/DOI.js +0 -322
  643. scitex/scholar/.legacy/metadata/urls/zotero_translators/DPLA.js +0 -425
  644. scitex/scholar/.legacy/metadata/urls/zotero_translators/DSpace Intermediate Metadata.js +0 -208
  645. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dagens Nyheter.js +0 -369
  646. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dagstuhl Research Online Publication Server.js +0 -278
  647. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dar Almandumah.js +0 -253
  648. scitex/scholar/.legacy/metadata/urls/zotero_translators/Data.gov.js +0 -225
  649. scitex/scholar/.legacy/metadata/urls/zotero_translators/Databrary.js +0 -184
  650. scitex/scholar/.legacy/metadata/urls/zotero_translators/Datacite JSON.js +0 -1182
  651. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dataverse.js +0 -418
  652. scitex/scholar/.legacy/metadata/urls/zotero_translators/Daum News.js +0 -139
  653. scitex/scholar/.legacy/metadata/urls/zotero_translators/De Gruyter Brill.js +0 -674
  654. scitex/scholar/.legacy/metadata/urls/zotero_translators/Defense Technical Information Center.js +0 -146
  655. scitex/scholar/.legacy/metadata/urls/zotero_translators/Delpher.js +0 -413
  656. scitex/scholar/.legacy/metadata/urls/zotero_translators/Demographic Research.js +0 -164
  657. scitex/scholar/.legacy/metadata/urls/zotero_translators/Denik CZ.js +0 -273
  658. scitex/scholar/.legacy/metadata/urls/zotero_translators/Der Freitag.js +0 -236
  659. scitex/scholar/.legacy/metadata/urls/zotero_translators/Der Spiegel.js +0 -479
  660. scitex/scholar/.legacy/metadata/urls/zotero_translators/Desiring God.js +0 -216
  661. scitex/scholar/.legacy/metadata/urls/zotero_translators/Deutsche Fotothek.js +0 -364
  662. scitex/scholar/.legacy/metadata/urls/zotero_translators/Deutsche Nationalbibliothek.js +0 -594
  663. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dialnet.js +0 -258
  664. scitex/scholar/.legacy/metadata/urls/zotero_translators/Die Zeit.js +0 -378
  665. scitex/scholar/.legacy/metadata/urls/zotero_translators/DigiZeitschriften.js +0 -269
  666. scitex/scholar/.legacy/metadata/urls/zotero_translators/Digital Humanities Quarterly.js +0 -207
  667. scitex/scholar/.legacy/metadata/urls/zotero_translators/Digital Spy.js +0 -215
  668. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dimensions.js +0 -233
  669. scitex/scholar/.legacy/metadata/urls/zotero_translators/Douban.js +0 -316
  670. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dreier Neuerscheinungsdienst.js +0 -209
  671. scitex/scholar/.legacy/metadata/urls/zotero_translators/DrugBank.ca.js +0 -209
  672. scitex/scholar/.legacy/metadata/urls/zotero_translators/Dryad Digital Repository.js +0 -323
  673. scitex/scholar/.legacy/metadata/urls/zotero_translators/Duke University Press Books.js +0 -250
  674. scitex/scholar/.legacy/metadata/urls/zotero_translators/E-periodica Switzerland.js +0 -347
  675. scitex/scholar/.legacy/metadata/urls/zotero_translators/EBSCO Discovery Layer.js +0 -147
  676. scitex/scholar/.legacy/metadata/urls/zotero_translators/EBSCOhost.js +0 -592
  677. scitex/scholar/.legacy/metadata/urls/zotero_translators/EIDR.js +0 -184
  678. scitex/scholar/.legacy/metadata/urls/zotero_translators/EPA National Library Catalog.js +0 -245
  679. scitex/scholar/.legacy/metadata/urls/zotero_translators/ERIC.js +0 -986
  680. scitex/scholar/.legacy/metadata/urls/zotero_translators/ESpacenet.js +0 -465
  681. scitex/scholar/.legacy/metadata/urls/zotero_translators/EUR-Lex.js +0 -423
  682. scitex/scholar/.legacy/metadata/urls/zotero_translators/Eastview.js +0 -336
  683. scitex/scholar/.legacy/metadata/urls/zotero_translators/Edinburgh University Press Journals.js +0 -178
  684. scitex/scholar/.legacy/metadata/urls/zotero_translators/Education Week.js +0 -197
  685. scitex/scholar/.legacy/metadata/urls/zotero_translators/El Comercio (Peru).js +0 -347
  686. scitex/scholar/.legacy/metadata/urls/zotero_translators/El Pais.js +0 -262
  687. scitex/scholar/.legacy/metadata/urls/zotero_translators/Electronic Colloquium on Computational Complexity.js +0 -230
  688. scitex/scholar/.legacy/metadata/urls/zotero_translators/Elicit.js +0 -120
  689. scitex/scholar/.legacy/metadata/urls/zotero_translators/Elsevier Health Journals.js +0 -531
  690. scitex/scholar/.legacy/metadata/urls/zotero_translators/Elsevier Pure.js +0 -420
  691. scitex/scholar/.legacy/metadata/urls/zotero_translators/Embedded Metadata.js +0 -1951
  692. scitex/scholar/.legacy/metadata/urls/zotero_translators/Emerald Insight.js +0 -626
  693. scitex/scholar/.legacy/metadata/urls/zotero_translators/Encyclopedia of Chicago.js +0 -162
  694. scitex/scholar/.legacy/metadata/urls/zotero_translators/Encyclopedia of Korean Culture.js +0 -221
  695. scitex/scholar/.legacy/metadata/urls/zotero_translators/Endnote XML.js +0 -1407
  696. scitex/scholar/.legacy/metadata/urls/zotero_translators/Engineering Village.js +0 -139
  697. scitex/scholar/.legacy/metadata/urls/zotero_translators/Envidat.js +0 -331
  698. scitex/scholar/.legacy/metadata/urls/zotero_translators/Epicurious.js +0 -144
  699. scitex/scholar/.legacy/metadata/urls/zotero_translators/Erudit.js +0 -272
  700. scitex/scholar/.legacy/metadata/urls/zotero_translators/Euclid.js +0 -220
  701. scitex/scholar/.legacy/metadata/urls/zotero_translators/EurasiaNet.js +0 -109
  702. scitex/scholar/.legacy/metadata/urls/zotero_translators/EurogamerUSgamer.js +0 -380
  703. scitex/scholar/.legacy/metadata/urls/zotero_translators/Europe PMC.js +0 -448
  704. scitex/scholar/.legacy/metadata/urls/zotero_translators/Evernote.js +0 -104
  705. scitex/scholar/.legacy/metadata/urls/zotero_translators/F1000 Research.js +0 -655
  706. scitex/scholar/.legacy/metadata/urls/zotero_translators/FAO Publications.js +0 -1139
  707. scitex/scholar/.legacy/metadata/urls/zotero_translators/FAZ.NET.js +0 -231
  708. scitex/scholar/.legacy/metadata/urls/zotero_translators/Fachportal Padagogik.js +0 -839
  709. scitex/scholar/.legacy/metadata/urls/zotero_translators/Factiva.js +0 -302
  710. scitex/scholar/.legacy/metadata/urls/zotero_translators/Failed Architecture.js +0 -114
  711. scitex/scholar/.legacy/metadata/urls/zotero_translators/Fairfax Australia.js +0 -200
  712. scitex/scholar/.legacy/metadata/urls/zotero_translators/Fatcat.js +0 -425
  713. scitex/scholar/.legacy/metadata/urls/zotero_translators/Figshare.js +0 -191
  714. scitex/scholar/.legacy/metadata/urls/zotero_translators/Financial Times.js +0 -187
  715. scitex/scholar/.legacy/metadata/urls/zotero_translators/Finna.js +0 -357
  716. scitex/scholar/.legacy/metadata/urls/zotero_translators/Flickr.js +0 -318
  717. scitex/scholar/.legacy/metadata/urls/zotero_translators/Foreign Affairs.js +0 -485
  718. scitex/scholar/.legacy/metadata/urls/zotero_translators/Foreign Policy.js +0 -146
  719. scitex/scholar/.legacy/metadata/urls/zotero_translators/FreeCite.js +0 -95
  720. scitex/scholar/.legacy/metadata/urls/zotero_translators/FreePatentsOnline.js +0 -265
  721. scitex/scholar/.legacy/metadata/urls/zotero_translators/Frieze.js +0 -243
  722. scitex/scholar/.legacy/metadata/urls/zotero_translators/Frontiers.js +0 -667
  723. scitex/scholar/.legacy/metadata/urls/zotero_translators/GMS German Medical Science.js +0 -319
  724. scitex/scholar/.legacy/metadata/urls/zotero_translators/GPO Access e-CFR.js +0 -134
  725. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gale Databases.js +0 -324
  726. scitex/scholar/.legacy/metadata/urls/zotero_translators/GaleGDC.js +0 -189
  727. scitex/scholar/.legacy/metadata/urls/zotero_translators/Galegroup.js +0 -327
  728. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gallica.js +0 -194
  729. scitex/scholar/.legacy/metadata/urls/zotero_translators/Game Studies.js +0 -155
  730. scitex/scholar/.legacy/metadata/urls/zotero_translators/GameSpot.js +0 -199
  731. scitex/scholar/.legacy/metadata/urls/zotero_translators/GameStar GamePro.js +0 -198
  732. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gasyrlar Awazy.js +0 -156
  733. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gemeinsamer Bibliotheksverbund ISBN.js +0 -23
  734. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gene Ontology.js +0 -128
  735. scitex/scholar/.legacy/metadata/urls/zotero_translators/GitHub.js +0 -501
  736. scitex/scholar/.legacy/metadata/urls/zotero_translators/Globes.js +0 -243
  737. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gmail.js +0 -64
  738. scitex/scholar/.legacy/metadata/urls/zotero_translators/Goodreads.js +0 -219
  739. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Books.js +0 -552
  740. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Patents.js +0 -959
  741. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Play.js +0 -186
  742. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Presentation.js +0 -104
  743. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Research.js +0 -221
  744. scitex/scholar/.legacy/metadata/urls/zotero_translators/Google Scholar.js +0 -1361
  745. scitex/scholar/.legacy/metadata/urls/zotero_translators/Gulag Many Days, Many Lives.js +0 -179
  746. scitex/scholar/.legacy/metadata/urls/zotero_translators/HAL Archives Ouvertes.js +0 -429
  747. scitex/scholar/.legacy/metadata/urls/zotero_translators/HCSP.js +0 -312
  748. scitex/scholar/.legacy/metadata/urls/zotero_translators/HUDOC.js +0 -650
  749. scitex/scholar/.legacy/metadata/urls/zotero_translators/Haaretz.js +0 -562
  750. scitex/scholar/.legacy/metadata/urls/zotero_translators/Habr.js +0 -232
  751. scitex/scholar/.legacy/metadata/urls/zotero_translators/Handelszeitung.js +0 -273
  752. scitex/scholar/.legacy/metadata/urls/zotero_translators/Hanrei Watch.js +0 -123
  753. scitex/scholar/.legacy/metadata/urls/zotero_translators/Harper's Magazine.js +0 -365
  754. scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard Business Review.js +0 -326
  755. scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard Caselaw Access Project.js +0 -244
  756. scitex/scholar/.legacy/metadata/urls/zotero_translators/Harvard University Press Books.js +0 -286
  757. scitex/scholar/.legacy/metadata/urls/zotero_translators/HathiTrust.js +0 -311
  758. scitex/scholar/.legacy/metadata/urls/zotero_translators/HeinOnline.js +0 -266
  759. scitex/scholar/.legacy/metadata/urls/zotero_translators/Heise.js +0 -200
  760. scitex/scholar/.legacy/metadata/urls/zotero_translators/Herder.js +0 -236
  761. scitex/scholar/.legacy/metadata/urls/zotero_translators/HighBeam.js +0 -198
  762. scitex/scholar/.legacy/metadata/urls/zotero_translators/HighWire 2.0.js +0 -1355
  763. scitex/scholar/.legacy/metadata/urls/zotero_translators/HighWire.js +0 -209
  764. scitex/scholar/.legacy/metadata/urls/zotero_translators/Hindawi Publishers.js +0 -177
  765. scitex/scholar/.legacy/metadata/urls/zotero_translators/Hispanic-American Periodical Index.js +0 -236
  766. scitex/scholar/.legacy/metadata/urls/zotero_translators/Homeland Security Digital Library.js +0 -426
  767. scitex/scholar/.legacy/metadata/urls/zotero_translators/Huff Post.js +0 -223
  768. scitex/scholar/.legacy/metadata/urls/zotero_translators/Human Rights Watch.js +0 -450
  769. scitex/scholar/.legacy/metadata/urls/zotero_translators/IBISWorld.js +0 -171
  770. scitex/scholar/.legacy/metadata/urls/zotero_translators/IDEA ALM.js +0 -536
  771. scitex/scholar/.legacy/metadata/urls/zotero_translators/IEEE Computer Society.js +0 -429
  772. scitex/scholar/.legacy/metadata/urls/zotero_translators/IEEE Xplore.js +0 -1000
  773. scitex/scholar/.legacy/metadata/urls/zotero_translators/IETF.js +0 -451
  774. scitex/scholar/.legacy/metadata/urls/zotero_translators/IGN.js +0 -136
  775. scitex/scholar/.legacy/metadata/urls/zotero_translators/IMDb.js +0 -566
  776. scitex/scholar/.legacy/metadata/urls/zotero_translators/INSPIRE.js +0 -247
  777. scitex/scholar/.legacy/metadata/urls/zotero_translators/IPCC.js +0 -757
  778. scitex/scholar/.legacy/metadata/urls/zotero_translators/ISTC.js +0 -181
  779. scitex/scholar/.legacy/metadata/urls/zotero_translators/Idref.js +0 -179
  780. scitex/scholar/.legacy/metadata/urls/zotero_translators/In These Times.js +0 -196
  781. scitex/scholar/.legacy/metadata/urls/zotero_translators/InfoTrac.js +0 -279
  782. scitex/scholar/.legacy/metadata/urls/zotero_translators/Informationssystem Medienpaedagogik.js +0 -305
  783. scitex/scholar/.legacy/metadata/urls/zotero_translators/IngentaConnect.js +0 -312
  784. scitex/scholar/.legacy/metadata/urls/zotero_translators/Inside Higher Ed.js +0 -167
  785. scitex/scholar/.legacy/metadata/urls/zotero_translators/Insignia OPAC.js +0 -114
  786. scitex/scholar/.legacy/metadata/urls/zotero_translators/Institute of Contemporary Art.js +0 -180
  787. scitex/scholar/.legacy/metadata/urls/zotero_translators/Institute of Physics.js +0 -340
  788. scitex/scholar/.legacy/metadata/urls/zotero_translators/Integrum.js +0 -173
  789. scitex/scholar/.legacy/metadata/urls/zotero_translators/Intellixir.js +0 -264
  790. scitex/scholar/.legacy/metadata/urls/zotero_translators/Inter-Research Science Center.js +0 -185
  791. scitex/scholar/.legacy/metadata/urls/zotero_translators/International Nuclear Information System.js +0 -285
  792. scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive Scholar.js +0 -106
  793. scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive Wayback Machine.js +0 -152
  794. scitex/scholar/.legacy/metadata/urls/zotero_translators/Internet Archive.js +0 -552
  795. scitex/scholar/.legacy/metadata/urls/zotero_translators/InvenioRDM.js +0 -1260
  796. scitex/scholar/.legacy/metadata/urls/zotero_translators/Isidore.js +0 -235
  797. scitex/scholar/.legacy/metadata/urls/zotero_translators/J-Stage.js +0 -272
  798. scitex/scholar/.legacy/metadata/urls/zotero_translators/JETS.js +0 -122
  799. scitex/scholar/.legacy/metadata/urls/zotero_translators/JISC Historical Texts.js +0 -273
  800. scitex/scholar/.legacy/metadata/urls/zotero_translators/JRC Publications Repository.js +0 -569
  801. scitex/scholar/.legacy/metadata/urls/zotero_translators/JSTOR.js +0 -821
  802. scitex/scholar/.legacy/metadata/urls/zotero_translators/Jahrbuch.js +0 -213
  803. scitex/scholar/.legacy/metadata/urls/zotero_translators/Japan Times Online.js +0 -138
  804. scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Electronic Publishing.js +0 -147
  805. scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Extension.js +0 -288
  806. scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Machine Learning Research.js +0 -441
  807. scitex/scholar/.legacy/metadata/urls/zotero_translators/Journal of Religion and Society.js +0 -174
  808. scitex/scholar/.legacy/metadata/urls/zotero_translators/JurPC.js +0 -274
  809. scitex/scholar/.legacy/metadata/urls/zotero_translators/Juricaf.js +0 -141
  810. scitex/scholar/.legacy/metadata/urls/zotero_translators/Juris.js +0 -728
  811. scitex/scholar/.legacy/metadata/urls/zotero_translators/K10plus ISBN.js +0 -386
  812. scitex/scholar/.legacy/metadata/urls/zotero_translators/KStudy.js +0 -632
  813. scitex/scholar/.legacy/metadata/urls/zotero_translators/Kanopy.js +0 -358
  814. scitex/scholar/.legacy/metadata/urls/zotero_translators/Khaama Press.js +0 -249
  815. scitex/scholar/.legacy/metadata/urls/zotero_translators/KitapYurdu.com.js +0 -376
  816. scitex/scholar/.legacy/metadata/urls/zotero_translators/Kommersant.js +0 -174
  817. scitex/scholar/.legacy/metadata/urls/zotero_translators/Korean National Library.js +0 -621
  818. scitex/scholar/.legacy/metadata/urls/zotero_translators/L'Annee Philologique.js +0 -267
  819. scitex/scholar/.legacy/metadata/urls/zotero_translators/LA Times.js +0 -239
  820. scitex/scholar/.legacy/metadata/urls/zotero_translators/LIBRIS ISBN.js +0 -103
  821. scitex/scholar/.legacy/metadata/urls/zotero_translators/LIVIVO.js +0 -260
  822. scitex/scholar/.legacy/metadata/urls/zotero_translators/LWN.net.js +0 -315
  823. scitex/scholar/.legacy/metadata/urls/zotero_translators/La Croix.js +0 -237
  824. scitex/scholar/.legacy/metadata/urls/zotero_translators/La Nacion (Argentina).js +0 -231
  825. scitex/scholar/.legacy/metadata/urls/zotero_translators/La Presse.js +0 -218
  826. scitex/scholar/.legacy/metadata/urls/zotero_translators/La Republica (Peru).js +0 -174
  827. scitex/scholar/.legacy/metadata/urls/zotero_translators/Lagen.nu.js +0 -214
  828. scitex/scholar/.legacy/metadata/urls/zotero_translators/Landesbibliographie Baden-Wurttemberg.js +0 -324
  829. scitex/scholar/.legacy/metadata/urls/zotero_translators/Lapham's Quarterly.js +0 -1062
  830. scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Devoir.js +0 -167
  831. scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Figaro.js +0 -225
  832. scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Maitron.js +0 -484
  833. scitex/scholar/.legacy/metadata/urls/zotero_translators/Le Monde.js +0 -258
  834. scitex/scholar/.legacy/metadata/urls/zotero_translators/Le monde diplomatique.js +0 -200
  835. scitex/scholar/.legacy/metadata/urls/zotero_translators/Legifrance.js +0 -641
  836. scitex/scholar/.legacy/metadata/urls/zotero_translators/Legislative Insight.js +0 -406
  837. scitex/scholar/.legacy/metadata/urls/zotero_translators/Lexis+.js +0 -264
  838. scitex/scholar/.legacy/metadata/urls/zotero_translators/LexisNexis.js +0 -505
  839. scitex/scholar/.legacy/metadata/urls/zotero_translators/Libraries Tasmania.js +0 -778
  840. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Aleph).js +0 -385
  841. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Amicus).js +0 -254
  842. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Aquabrowser).js +0 -253
  843. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (BiblioCommons).js +0 -249
  844. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Blacklight).js +0 -341
  845. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Capita Prism).js +0 -162
  846. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (DRA).js +0 -203
  847. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Dynix).js +0 -315
  848. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Encore).js +0 -211
  849. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (InnoPAC).js +0 -305
  850. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Koha).js +0 -225
  851. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Mango).js +0 -285
  852. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (OPALS).js +0 -200
  853. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (PICA).js +0 -2120
  854. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (PICA2).js +0 -331
  855. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Pika).js +0 -488
  856. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Polaris).js +0 -183
  857. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Quolto).js +0 -320
  858. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (RERO ILS).js +0 -754
  859. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SIRSI eLibrary).js +0 -407
  860. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SIRSI).js +0 -452
  861. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (SLIMS).js +0 -146
  862. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TIND ILS).js +0 -773
  863. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TLCYouSeeMore).js +0 -132
  864. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (TinREAD).js +0 -277
  865. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (VTLS).js +0 -125
  866. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Visual Library 2021).js +0 -765
  867. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Voyager 7).js +0 -199
  868. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Catalog (Voyager).js +0 -212
  869. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Genesis.js +0 -337
  870. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library Hub Discover.js +0 -359
  871. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library of Congress Digital Collections.js +0 -869
  872. scitex/scholar/.legacy/metadata/urls/zotero_translators/Library of Congress ISBN.js +0 -86
  873. scitex/scholar/.legacy/metadata/urls/zotero_translators/LingBuzz.js +0 -359
  874. scitex/scholar/.legacy/metadata/urls/zotero_translators/Lippincott Williams and Wilkins.js +0 -341
  875. scitex/scholar/.legacy/metadata/urls/zotero_translators/Literary Hub.js +0 -950
  876. scitex/scholar/.legacy/metadata/urls/zotero_translators/Litres.js +0 -236
  877. scitex/scholar/.legacy/metadata/urls/zotero_translators/LiveJournal.js +0 -219
  878. scitex/scholar/.legacy/metadata/urls/zotero_translators/London Review of Books.js +0 -291
  879. scitex/scholar/.legacy/metadata/urls/zotero_translators/LookUs.js +0 -260
  880. scitex/scholar/.legacy/metadata/urls/zotero_translators/Lulu.js +0 -264
  881. scitex/scholar/.legacy/metadata/urls/zotero_translators/MAB2.js +0 -373
  882. scitex/scholar/.legacy/metadata/urls/zotero_translators/MARC.js +0 -1080
  883. scitex/scholar/.legacy/metadata/urls/zotero_translators/MARCXML.js +0 -489
  884. scitex/scholar/.legacy/metadata/urls/zotero_translators/MCV.js +0 -258
  885. scitex/scholar/.legacy/metadata/urls/zotero_translators/MDPI Journals.js +0 -356
  886. scitex/scholar/.legacy/metadata/urls/zotero_translators/MEDLINEnbib.js +0 -1561
  887. scitex/scholar/.legacy/metadata/urls/zotero_translators/METS.js +0 -384
  888. scitex/scholar/.legacy/metadata/urls/zotero_translators/MIDAS Journals.js +0 -343
  889. scitex/scholar/.legacy/metadata/urls/zotero_translators/MIT Press Books.js +0 -637
  890. scitex/scholar/.legacy/metadata/urls/zotero_translators/MODS.js +0 -2545
  891. scitex/scholar/.legacy/metadata/urls/zotero_translators/MPG PuRe.js +0 -541
  892. scitex/scholar/.legacy/metadata/urls/zotero_translators/Mailman.js +0 -136
  893. scitex/scholar/.legacy/metadata/urls/zotero_translators/Mainichi Daily News.js +0 -189
  894. scitex/scholar/.legacy/metadata/urls/zotero_translators/Mastodon.js +0 -198
  895. scitex/scholar/.legacy/metadata/urls/zotero_translators/Matbugat.ru.js +0 -110
  896. scitex/scholar/.legacy/metadata/urls/zotero_translators/Max Planck Institute for the History of Science Virtual Laboratory Library.js +0 -136
  897. scitex/scholar/.legacy/metadata/urls/zotero_translators/Medium.js +0 -208
  898. scitex/scholar/.legacy/metadata/urls/zotero_translators/MetaLib.js +0 -126
  899. scitex/scholar/.legacy/metadata/urls/zotero_translators/Microbiology Society Journals.js +0 -343
  900. scitex/scholar/.legacy/metadata/urls/zotero_translators/Microsoft Academic.js +0 -424
  901. scitex/scholar/.legacy/metadata/urls/zotero_translators/Mikromarc.js +0 -207
  902. scitex/scholar/.legacy/metadata/urls/zotero_translators/Milli Kutuphane.js +0 -244
  903. scitex/scholar/.legacy/metadata/urls/zotero_translators/Musee du Louvre.js +0 -265
  904. scitex/scholar/.legacy/metadata/urls/zotero_translators/NASA ADS.js +0 -889
  905. scitex/scholar/.legacy/metadata/urls/zotero_translators/NASA NTRS.js +0 -610
  906. scitex/scholar/.legacy/metadata/urls/zotero_translators/NCBI Nucleotide.js +0 -227
  907. scitex/scholar/.legacy/metadata/urls/zotero_translators/NPR.js +0 -341
  908. scitex/scholar/.legacy/metadata/urls/zotero_translators/NRC Research Press.js +0 -181
  909. scitex/scholar/.legacy/metadata/urls/zotero_translators/NRC.nl.js +0 -226
  910. scitex/scholar/.legacy/metadata/urls/zotero_translators/NTSB Accident Reports.js +0 -226
  911. scitex/scholar/.legacy/metadata/urls/zotero_translators/NYPL Menus.js +0 -275
  912. scitex/scholar/.legacy/metadata/urls/zotero_translators/NYPL Research Catalog.js +0 -458
  913. scitex/scholar/.legacy/metadata/urls/zotero_translators/NYTimes.com.js +0 -858
  914. scitex/scholar/.legacy/metadata/urls/zotero_translators/NZZ.ch.js +0 -272
  915. scitex/scholar/.legacy/metadata/urls/zotero_translators/Nagoya University OPAC.js +0 -336
  916. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Academies Press.js +0 -243
  917. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Agriculture Library.js +0 -524
  918. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Archives of Australia.js +0 -522
  919. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Archives of South Africa.js +0 -122
  920. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Bureau of Economic Research.js +0 -363
  921. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Diet Library Catalogue.js +0 -333
  922. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Gallery of Art - USA.js +0 -149
  923. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Gallery of Australia.js +0 -252
  924. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Australia (new catalog).js +0 -223
  925. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Belarus.js +0 -171
  926. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Norway.js +0 -310
  927. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Library of Poland ISBN.js +0 -140
  928. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Post.js +0 -186
  929. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Technical Reports Library.js +0 -276
  930. scitex/scholar/.legacy/metadata/urls/zotero_translators/National Transportation Library ROSA P.js +0 -562
  931. scitex/scholar/.legacy/metadata/urls/zotero_translators/Nature Publishing Group.js +0 -3394
  932. scitex/scholar/.legacy/metadata/urls/zotero_translators/Neural Information Processing Systems.js +0 -385
  933. scitex/scholar/.legacy/metadata/urls/zotero_translators/New Left Review.js +0 -245
  934. scitex/scholar/.legacy/metadata/urls/zotero_translators/New Zealand Herald.js +0 -282
  935. scitex/scholar/.legacy/metadata/urls/zotero_translators/Newlines Magazine.js +0 -190
  936. scitex/scholar/.legacy/metadata/urls/zotero_translators/News Corp Australia.js +0 -251
  937. scitex/scholar/.legacy/metadata/urls/zotero_translators/NewsBank.js +0 -202
  938. scitex/scholar/.legacy/metadata/urls/zotero_translators/NewsnetTamedia.js +0 -509
  939. scitex/scholar/.legacy/metadata/urls/zotero_translators/Noor Digital Library.js +0 -267
  940. scitex/scholar/.legacy/metadata/urls/zotero_translators/Note HTML.js +0 -206
  941. scitex/scholar/.legacy/metadata/urls/zotero_translators/Note Markdown.js +0 -1638
  942. scitex/scholar/.legacy/metadata/urls/zotero_translators/Notre Dame Philosophical Reviews.js +0 -201
  943. scitex/scholar/.legacy/metadata/urls/zotero_translators/OAPEN.js +0 -331
  944. scitex/scholar/.legacy/metadata/urls/zotero_translators/OCLC WorldCat FirstSearch.js +0 -213
  945. scitex/scholar/.legacy/metadata/urls/zotero_translators/OECD.js +0 -216
  946. scitex/scholar/.legacy/metadata/urls/zotero_translators/ORCID.js +0 -104
  947. scitex/scholar/.legacy/metadata/urls/zotero_translators/OSF Preprints.js +0 -417
  948. scitex/scholar/.legacy/metadata/urls/zotero_translators/OSTI Energy Citations.js +0 -202
  949. scitex/scholar/.legacy/metadata/urls/zotero_translators/OVID Tagged.js +0 -1226
  950. scitex/scholar/.legacy/metadata/urls/zotero_translators/OZON.ru.js +0 -465
  951. scitex/scholar/.legacy/metadata/urls/zotero_translators/OhioLINK.js +0 -43
  952. scitex/scholar/.legacy/metadata/urls/zotero_translators/Old Bailey Online.js +0 -315
  953. scitex/scholar/.legacy/metadata/urls/zotero_translators/Open Conf.js +0 -172
  954. scitex/scholar/.legacy/metadata/urls/zotero_translators/Open Knowledge Repository.js +0 -811
  955. scitex/scholar/.legacy/metadata/urls/zotero_translators/Open WorldCat.js +0 -1401
  956. scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenAlex JSON.js +0 -740
  957. scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenAlex.js +0 -444
  958. scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenEdition Books.js +0 -155
  959. scitex/scholar/.legacy/metadata/urls/zotero_translators/OpenEdition Journals.js +0 -432
  960. scitex/scholar/.legacy/metadata/urls/zotero_translators/Optical Society of America.js +0 -562
  961. scitex/scholar/.legacy/metadata/urls/zotero_translators/Optimization Online.js +0 -418
  962. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ovid.js +0 -302
  963. scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Dictionaries Premium.js +0 -194
  964. scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford English Dictionary.js +0 -122
  965. scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Music and Art Online.js +0 -120
  966. scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford Reference.js +0 -202
  967. scitex/scholar/.legacy/metadata/urls/zotero_translators/Oxford University Press.js +0 -277
  968. scitex/scholar/.legacy/metadata/urls/zotero_translators/PC Gamer.js +0 -302
  969. scitex/scholar/.legacy/metadata/urls/zotero_translators/PC Games.js +0 -128
  970. scitex/scholar/.legacy/metadata/urls/zotero_translators/PEI Archival Information Network.js +0 -242
  971. scitex/scholar/.legacy/metadata/urls/zotero_translators/PEP Web.js +0 -165
  972. scitex/scholar/.legacy/metadata/urls/zotero_translators/PKP Catalog Systems.js +0 -1455
  973. scitex/scholar/.legacy/metadata/urls/zotero_translators/PLoS Journals.js +0 -284
  974. scitex/scholar/.legacy/metadata/urls/zotero_translators/PRC History Review.js +0 -298
  975. scitex/scholar/.legacy/metadata/urls/zotero_translators/Pajhwok Afghan News.js +0 -198
  976. scitex/scholar/.legacy/metadata/urls/zotero_translators/Papers Past.js +0 -297
  977. scitex/scholar/.legacy/metadata/urls/zotero_translators/Paris Review.js +0 -227
  978. scitex/scholar/.legacy/metadata/urls/zotero_translators/Pastebin.js +0 -199
  979. scitex/scholar/.legacy/metadata/urls/zotero_translators/Patents - USPTO.js +0 -210
  980. scitex/scholar/.legacy/metadata/urls/zotero_translators/Peeters.js +0 -587
  981. scitex/scholar/.legacy/metadata/urls/zotero_translators/Perceiving Systems.js +0 -350
  982. scitex/scholar/.legacy/metadata/urls/zotero_translators/Perlego.js +0 -416
  983. scitex/scholar/.legacy/metadata/urls/zotero_translators/PhilPapers.js +0 -249
  984. scitex/scholar/.legacy/metadata/urls/zotero_translators/Philosopher's Imprint.js +0 -169
  985. scitex/scholar/.legacy/metadata/urls/zotero_translators/Pleade.js +0 -329
  986. scitex/scholar/.legacy/metadata/urls/zotero_translators/Polygon.js +0 -270
  987. scitex/scholar/.legacy/metadata/urls/zotero_translators/Potsdamer Neueste Nachrichten.js +0 -188
  988. scitex/scholar/.legacy/metadata/urls/zotero_translators/Preprints.org.js +0 -305
  989. scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo 2018.js +0 -126
  990. scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo Normalized XML.js +0 -987
  991. scitex/scholar/.legacy/metadata/urls/zotero_translators/Primo.js +0 -322
  992. scitex/scholar/.legacy/metadata/urls/zotero_translators/ProMED.js +0 -66
  993. scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest Ebook Central.js +0 -226
  994. scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest PolicyFile.js +0 -115
  995. scitex/scholar/.legacy/metadata/urls/zotero_translators/ProQuest.js +0 -2210
  996. scitex/scholar/.legacy/metadata/urls/zotero_translators/Probing the Past.js +0 -151
  997. scitex/scholar/.legacy/metadata/urls/zotero_translators/Project Gutenberg.js +0 -191
  998. scitex/scholar/.legacy/metadata/urls/zotero_translators/Project MUSE.js +0 -451
  999. scitex/scholar/.legacy/metadata/urls/zotero_translators/Protein Data Bank.js +0 -445
  1000. scitex/scholar/.legacy/metadata/urls/zotero_translators/PubFactory Journals.js +0 -712
  1001. scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed Central.js +0 -577
  1002. scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed XML.js +0 -1139
  1003. scitex/scholar/.legacy/metadata/urls/zotero_translators/PubMed.js +0 -1317
  1004. scitex/scholar/.legacy/metadata/urls/zotero_translators/PubPub.js +0 -530
  1005. scitex/scholar/.legacy/metadata/urls/zotero_translators/Public Record Office Victoria.js +0 -252
  1006. scitex/scholar/.legacy/metadata/urls/zotero_translators/Publications Office of the European Union.js +0 -540
  1007. scitex/scholar/.legacy/metadata/urls/zotero_translators/Publications du Quebec.js +0 -225
  1008. scitex/scholar/.legacy/metadata/urls/zotero_translators/PyPI.js +0 -288
  1009. scitex/scholar/.legacy/metadata/urls/zotero_translators/Qatar Digital Library.js +0 -802
  1010. scitex/scholar/.legacy/metadata/urls/zotero_translators/Queensland State Archives.js +0 -303
  1011. scitex/scholar/.legacy/metadata/urls/zotero_translators/R-Packages.js +0 -410
  1012. scitex/scholar/.legacy/metadata/urls/zotero_translators/RAND.js +0 -283
  1013. scitex/scholar/.legacy/metadata/urls/zotero_translators/RDF.js +0 -1777
  1014. scitex/scholar/.legacy/metadata/urls/zotero_translators/REDALYC.js +0 -196
  1015. scitex/scholar/.legacy/metadata/urls/zotero_translators/RIS.js +0 -7265
  1016. scitex/scholar/.legacy/metadata/urls/zotero_translators/RSC Publishing.js +0 -250
  1017. scitex/scholar/.legacy/metadata/urls/zotero_translators/Radio Free Europe Radio Liberty.js +0 -706
  1018. scitex/scholar/.legacy/metadata/urls/zotero_translators/RePEc - Econpapers.js +0 -725
  1019. scitex/scholar/.legacy/metadata/urls/zotero_translators/RePEc - IDEAS.js +0 -337
  1020. scitex/scholar/.legacy/metadata/urls/zotero_translators/Rechtspraak.nl.js +0 -295
  1021. scitex/scholar/.legacy/metadata/urls/zotero_translators/RefWorks Tagged.js +0 -1185
  1022. scitex/scholar/.legacy/metadata/urls/zotero_translators/ReferBibIX.js +0 -463
  1023. scitex/scholar/.legacy/metadata/urls/zotero_translators/Regeringskansliet.js +0 -89
  1024. scitex/scholar/.legacy/metadata/urls/zotero_translators/Research Square.js +0 -335
  1025. scitex/scholar/.legacy/metadata/urls/zotero_translators/ResearchGate.js +0 -394
  1026. scitex/scholar/.legacy/metadata/urls/zotero_translators/Retsinformation.js +0 -348
  1027. scitex/scholar/.legacy/metadata/urls/zotero_translators/Reuters.js +0 -255
  1028. scitex/scholar/.legacy/metadata/urls/zotero_translators/Rock, Paper, Shotgun.js +0 -304
  1029. scitex/scholar/.legacy/metadata/urls/zotero_translators/Roll Call.js +0 -173
  1030. scitex/scholar/.legacy/metadata/urls/zotero_translators/Russian State Library.js +0 -1517
  1031. scitex/scholar/.legacy/metadata/urls/zotero_translators/SAE Papers.js +0 -241
  1032. scitex/scholar/.legacy/metadata/urls/zotero_translators/SAGE Journals.js +0 -427
  1033. scitex/scholar/.legacy/metadata/urls/zotero_translators/SAGE Knowledge.js +0 -505
  1034. scitex/scholar/.legacy/metadata/urls/zotero_translators/SAILDART.js +0 -364
  1035. scitex/scholar/.legacy/metadata/urls/zotero_translators/SALT Research Archives.js +0 -196
  1036. scitex/scholar/.legacy/metadata/urls/zotero_translators/SFU IPinCH.js +0 -946
  1037. scitex/scholar/.legacy/metadata/urls/zotero_translators/SIPRI.js +0 -256
  1038. scitex/scholar/.legacy/metadata/urls/zotero_translators/SIRS Knowledge Source.js +0 -546
  1039. scitex/scholar/.legacy/metadata/urls/zotero_translators/SLUB Dresden.js +0 -300
  1040. scitex/scholar/.legacy/metadata/urls/zotero_translators/SORA.js +0 -340
  1041. scitex/scholar/.legacy/metadata/urls/zotero_translators/SSOAR.js +0 -399
  1042. scitex/scholar/.legacy/metadata/urls/zotero_translators/SSRN.js +0 -235
  1043. scitex/scholar/.legacy/metadata/urls/zotero_translators/SVT Nyheter.js +0 -381
  1044. scitex/scholar/.legacy/metadata/urls/zotero_translators/Sacramento Bee.js +0 -274
  1045. scitex/scholar/.legacy/metadata/urls/zotero_translators/Safari Books Online.js +0 -391
  1046. scitex/scholar/.legacy/metadata/urls/zotero_translators/Scholars Portal Journals.js +0 -220
  1047. scitex/scholar/.legacy/metadata/urls/zotero_translators/Scholia.js +0 -189
  1048. scitex/scholar/.legacy/metadata/urls/zotero_translators/Schweizer Radio und Fernsehen SRF.js +0 -152
  1049. scitex/scholar/.legacy/metadata/urls/zotero_translators/SciELO.js +0 -440
  1050. scitex/scholar/.legacy/metadata/urls/zotero_translators/ScienceDirect.js +0 -1304
  1051. scitex/scholar/.legacy/metadata/urls/zotero_translators/Scopus.js +0 -418
  1052. scitex/scholar/.legacy/metadata/urls/zotero_translators/Semantic Scholar.js +0 -513
  1053. scitex/scholar/.legacy/metadata/urls/zotero_translators/Silverchair.js +0 -886
  1054. scitex/scholar/.legacy/metadata/urls/zotero_translators/Slate.js +0 -228
  1055. scitex/scholar/.legacy/metadata/urls/zotero_translators/SlideShare.js +0 -112
  1056. scitex/scholar/.legacy/metadata/urls/zotero_translators/Springer Link.js +0 -696
  1057. scitex/scholar/.legacy/metadata/urls/zotero_translators/Stack Exchange.js +0 -134
  1058. scitex/scholar/.legacy/metadata/urls/zotero_translators/Standard Ebooks.js +0 -198
  1059. scitex/scholar/.legacy/metadata/urls/zotero_translators/Stanford Encyclopedia of Philosophy.js +0 -285
  1060. scitex/scholar/.legacy/metadata/urls/zotero_translators/Stanford University Press.js +0 -343
  1061. scitex/scholar/.legacy/metadata/urls/zotero_translators/State Records Office of Western Australia.js +0 -439
  1062. scitex/scholar/.legacy/metadata/urls/zotero_translators/Stitcher.js +0 -141
  1063. scitex/scholar/.legacy/metadata/urls/zotero_translators/Store norske leksikon.js +0 -291
  1064. scitex/scholar/.legacy/metadata/urls/zotero_translators/Stuff.co.nz.js +0 -446
  1065. scitex/scholar/.legacy/metadata/urls/zotero_translators/Substack.js +0 -237
  1066. scitex/scholar/.legacy/metadata/urls/zotero_translators/Sud Ouest.js +0 -181
  1067. scitex/scholar/.legacy/metadata/urls/zotero_translators/Sueddeutsche.de.js +0 -205
  1068. scitex/scholar/.legacy/metadata/urls/zotero_translators/Summon 2.js +0 -117
  1069. scitex/scholar/.legacy/metadata/urls/zotero_translators/Superlib.js +0 -647
  1070. scitex/scholar/.legacy/metadata/urls/zotero_translators/Svenska Dagbladet.js +0 -274
  1071. scitex/scholar/.legacy/metadata/urls/zotero_translators/Sveriges radio.js +0 -416
  1072. scitex/scholar/.legacy/metadata/urls/zotero_translators/TEI.js +0 -648
  1073. scitex/scholar/.legacy/metadata/urls/zotero_translators/TV by the Numbers.js +0 -194
  1074. scitex/scholar/.legacy/metadata/urls/zotero_translators/TVNZ.js +0 -165
  1075. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tagesspiegel.js +0 -249
  1076. scitex/scholar/.legacy/metadata/urls/zotero_translators/Talis Aspire.js +0 -316
  1077. scitex/scholar/.legacy/metadata/urls/zotero_translators/TalisPrism.js +0 -445
  1078. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tatknigafund.js +0 -174
  1079. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tatpressa.ru.js +0 -121
  1080. scitex/scholar/.legacy/metadata/urls/zotero_translators/Taylor & Francis eBooks.js +0 -334
  1081. scitex/scholar/.legacy/metadata/urls/zotero_translators/Taylor and Francis+NEJM.js +0 -813
  1082. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tesis Doctorals en Xarxa.js +0 -233
  1083. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Art Newspaper.js +0 -268
  1084. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Atlantic.js +0 -535
  1085. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Boston Globe.js +0 -285
  1086. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Chronicle of Higher Education.js +0 -308
  1087. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Daily Beast.js +0 -183
  1088. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Economic Times - The Times of India.js +0 -305
  1089. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Economist.js +0 -207
  1090. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Free Dictionary.js +0 -58
  1091. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Globe and Mail.js +0 -241
  1092. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Guardian.js +0 -717
  1093. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Hamilton Spectator.js +0 -129
  1094. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Hindu.js +0 -318
  1095. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Independent.js +0 -184
  1096. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Intercept.js +0 -258
  1097. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Met.js +0 -300
  1098. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Microfinance Gateway.js +0 -174
  1099. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Nation.js +0 -188
  1100. scitex/scholar/.legacy/metadata/urls/zotero_translators/The National Archives (UK).js +0 -242
  1101. scitex/scholar/.legacy/metadata/urls/zotero_translators/The New Republic.js +0 -160
  1102. scitex/scholar/.legacy/metadata/urls/zotero_translators/The New York Review of Books.js +0 -467
  1103. scitex/scholar/.legacy/metadata/urls/zotero_translators/The New Yorker.js +0 -360
  1104. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Open Library.js +0 -220
  1105. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Straits Times.js +0 -528
  1106. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Telegraph.js +0 -337
  1107. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Times and Sunday Times.js +0 -180
  1108. scitex/scholar/.legacy/metadata/urls/zotero_translators/The Times of Israel.js +0 -151
  1109. scitex/scholar/.legacy/metadata/urls/zotero_translators/TheMarker.js +0 -108
  1110. scitex/scholar/.legacy/metadata/urls/zotero_translators/Theory of Computing.js +0 -488
  1111. scitex/scholar/.legacy/metadata/urls/zotero_translators/ThesesFR.js +0 -298
  1112. scitex/scholar/.legacy/metadata/urls/zotero_translators/Thieme.js +0 -326
  1113. scitex/scholar/.legacy/metadata/urls/zotero_translators/Time.com.js +0 -557
  1114. scitex/scholar/.legacy/metadata/urls/zotero_translators/TimesMachine.js +0 -222
  1115. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tony Blair Institute for Global Change.js +0 -195
  1116. scitex/scholar/.legacy/metadata/urls/zotero_translators/Toronto Star.js +0 -331
  1117. scitex/scholar/.legacy/metadata/urls/zotero_translators/Transportation Research Board.js +0 -253
  1118. scitex/scholar/.legacy/metadata/urls/zotero_translators/Treesearch.js +0 -535
  1119. scitex/scholar/.legacy/metadata/urls/zotero_translators/Trove.js +0 -616
  1120. scitex/scholar/.legacy/metadata/urls/zotero_translators/Tumblr.js +0 -179
  1121. scitex/scholar/.legacy/metadata/urls/zotero_translators/Twitter.js +0 -413
  1122. scitex/scholar/.legacy/metadata/urls/zotero_translators/UChicago VuFind.js +0 -907
  1123. scitex/scholar/.legacy/metadata/urls/zotero_translators/UNZ Print Archive.js +0 -276
  1124. scitex/scholar/.legacy/metadata/urls/zotero_translators/UPCommons.js +0 -227
  1125. scitex/scholar/.legacy/metadata/urls/zotero_translators/US National Archives Research Catalog.js +0 -275
  1126. scitex/scholar/.legacy/metadata/urls/zotero_translators/USENIX.js +0 -151
  1127. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ubiquity Journals.js +0 -228
  1128. scitex/scholar/.legacy/metadata/urls/zotero_translators/University Press Scholarship.js +0 -301
  1129. scitex/scholar/.legacy/metadata/urls/zotero_translators/University of California Press Books.js +0 -403
  1130. scitex/scholar/.legacy/metadata/urls/zotero_translators/University of Chicago Press Books.js +0 -378
  1131. scitex/scholar/.legacy/metadata/urls/zotero_translators/University of Wisconsin-Madison Libraries Catalog.js +0 -298
  1132. scitex/scholar/.legacy/metadata/urls/zotero_translators/Unqualified Dublin Core RDF.js +0 -153
  1133. scitex/scholar/.legacy/metadata/urls/zotero_translators/UpToDate References.js +0 -203
  1134. scitex/scholar/.legacy/metadata/urls/zotero_translators/Vanity Fair.js +0 -242
  1135. scitex/scholar/.legacy/metadata/urls/zotero_translators/Verniana-Jules Verne Studies.js +0 -190
  1136. scitex/scholar/.legacy/metadata/urls/zotero_translators/Verso Books.js +0 -311
  1137. scitex/scholar/.legacy/metadata/urls/zotero_translators/Vice.js +0 -445
  1138. scitex/scholar/.legacy/metadata/urls/zotero_translators/Victoria & Albert Museum.js +0 -277
  1139. scitex/scholar/.legacy/metadata/urls/zotero_translators/Vimeo.js +0 -188
  1140. scitex/scholar/.legacy/metadata/urls/zotero_translators/VoxEU.js +0 -151
  1141. scitex/scholar/.legacy/metadata/urls/zotero_translators/WHO.js +0 -458
  1142. scitex/scholar/.legacy/metadata/urls/zotero_translators/WIPO.js +0 -189
  1143. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wall Street Journal.js +0 -525
  1144. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wanfang Data.js +0 -310
  1145. scitex/scholar/.legacy/metadata/urls/zotero_translators/Washington Monthly.js +0 -195
  1146. scitex/scholar/.legacy/metadata/urls/zotero_translators/Washington Post.js +0 -447
  1147. scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science Nextgen.js +0 -715
  1148. scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science Tagged.js +0 -1242
  1149. scitex/scholar/.legacy/metadata/urls/zotero_translators/Web of Science.js +0 -228
  1150. scitex/scholar/.legacy/metadata/urls/zotero_translators/Welt Online.js +0 -161
  1151. scitex/scholar/.legacy/metadata/urls/zotero_translators/WestLaw UK.js +0 -190
  1152. scitex/scholar/.legacy/metadata/urls/zotero_translators/WikiLeaks PlusD.js +0 -182
  1153. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikidata QuickStatements.js +0 -306
  1154. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikidata.js +0 -911
  1155. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikimedia Commons.js +0 -285
  1156. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikipedia Citation Templates.js +0 -432
  1157. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikipedia.js +0 -385
  1158. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikisource.js +0 -399
  1159. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wikiwand.js +0 -122
  1160. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wiktionary.js +0 -141
  1161. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wildlife Biology in Practice.js +0 -172
  1162. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wiley Online Library.js +0 -1412
  1163. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wilson Center Digital Archive.js +0 -321
  1164. scitex/scholar/.legacy/metadata/urls/zotero_translators/Winnipeg Free Press.js +0 -204
  1165. scitex/scholar/.legacy/metadata/urls/zotero_translators/Wired.js +0 -249
  1166. scitex/scholar/.legacy/metadata/urls/zotero_translators/Womennews.js +0 -230
  1167. scitex/scholar/.legacy/metadata/urls/zotero_translators/World Digital Library.js +0 -403
  1168. scitex/scholar/.legacy/metadata/urls/zotero_translators/World History Connected.js +0 -185
  1169. scitex/scholar/.legacy/metadata/urls/zotero_translators/World Shakespeare Bibliography Online.js +0 -595
  1170. scitex/scholar/.legacy/metadata/urls/zotero_translators/WorldCat Discovery Service.js +0 -630
  1171. scitex/scholar/.legacy/metadata/urls/zotero_translators/XML ContextObject.js +0 -274
  1172. scitex/scholar/.legacy/metadata/urls/zotero_translators/YPSF.js +0 -224
  1173. scitex/scholar/.legacy/metadata/urls/zotero_translators/Yandex Books.js +0 -265
  1174. scitex/scholar/.legacy/metadata/urls/zotero_translators/Ynet.js +0 -171
  1175. scitex/scholar/.legacy/metadata/urls/zotero_translators/YouTube.js +0 -209
  1176. scitex/scholar/.legacy/metadata/urls/zotero_translators/ZIPonline.js +0 -267
  1177. scitex/scholar/.legacy/metadata/urls/zotero_translators/ZOBODAT.js +0 -341
  1178. scitex/scholar/.legacy/metadata/urls/zotero_translators/Zotero RDF.js +0 -583
  1179. scitex/scholar/.legacy/metadata/urls/zotero_translators/ZoteroBib.js +0 -94
  1180. scitex/scholar/.legacy/metadata/urls/zotero_translators/arXiv.org.js +0 -1099
  1181. scitex/scholar/.legacy/metadata/urls/zotero_translators/artnet.js +0 -207
  1182. scitex/scholar/.legacy/metadata/urls/zotero_translators/beck-online.js +0 -1339
  1183. scitex/scholar/.legacy/metadata/urls/zotero_translators/clinicaltrials.gov.js +0 -331
  1184. scitex/scholar/.legacy/metadata/urls/zotero_translators/dLibra.js +0 -367
  1185. scitex/scholar/.legacy/metadata/urls/zotero_translators/dejure.org.js +0 -242
  1186. scitex/scholar/.legacy/metadata/urls/zotero_translators/deleted.txt +0 -132
  1187. scitex/scholar/.legacy/metadata/urls/zotero_translators/dhistory.js +0 -103
  1188. scitex/scholar/.legacy/metadata/urls/zotero_translators/digibib.net.js +0 -245
  1189. scitex/scholar/.legacy/metadata/urls/zotero_translators/eLibrary.ru.js +0 -867
  1190. scitex/scholar/.legacy/metadata/urls/zotero_translators/eLife.js +0 -462
  1191. scitex/scholar/.legacy/metadata/urls/zotero_translators/eMJA.js +0 -246
  1192. scitex/scholar/.legacy/metadata/urls/zotero_translators/eMedicine.js +0 -123
  1193. scitex/scholar/.legacy/metadata/urls/zotero_translators/ePrint IACR.js +0 -608
  1194. scitex/scholar/.legacy/metadata/urls/zotero_translators/ebrary.js +0 -140
  1195. scitex/scholar/.legacy/metadata/urls/zotero_translators/etatar.ru.js +0 -104
  1196. scitex/scholar/.legacy/metadata/urls/zotero_translators/feb-web.ru.js +0 -167
  1197. scitex/scholar/.legacy/metadata/urls/zotero_translators/fishpond.co.nz.js +0 -224
  1198. scitex/scholar/.legacy/metadata/urls/zotero_translators/fr-online.de.js +0 -209
  1199. scitex/scholar/.legacy/metadata/urls/zotero_translators/govinfo.js +0 -189
  1200. scitex/scholar/.legacy/metadata/urls/zotero_translators/index.d.ts +0 -1646
  1201. scitex/scholar/.legacy/metadata/urls/zotero_translators/informIT database.js +0 -248
  1202. scitex/scholar/.legacy/metadata/urls/zotero_translators/io-port.js +0 -68
  1203. scitex/scholar/.legacy/metadata/urls/zotero_translators/jsconfig.json +0 -10
  1204. scitex/scholar/.legacy/metadata/urls/zotero_translators/jurion.js +0 -377
  1205. scitex/scholar/.legacy/metadata/urls/zotero_translators/mEDRA.js +0 -597
  1206. scitex/scholar/.legacy/metadata/urls/zotero_translators/magazines.russ.ru.js +0 -120
  1207. scitex/scholar/.legacy/metadata/urls/zotero_translators/medes.js +0 -284
  1208. scitex/scholar/.legacy/metadata/urls/zotero_translators/newshub.co.nz.js +0 -206
  1209. scitex/scholar/.legacy/metadata/urls/zotero_translators/newspapers.com.js +0 -335
  1210. scitex/scholar/.legacy/metadata/urls/zotero_translators/openJur.js +0 -161
  1211. scitex/scholar/.legacy/metadata/urls/zotero_translators/package-lock.json +0 -2345
  1212. scitex/scholar/.legacy/metadata/urls/zotero_translators/package.json +0 -24
  1213. scitex/scholar/.legacy/metadata/urls/zotero_translators/reddit.js +0 -275
  1214. scitex/scholar/.legacy/metadata/urls/zotero_translators/sbn.it.js +0 -186
  1215. scitex/scholar/.legacy/metadata/urls/zotero_translators/scinapse.js +0 -273
  1216. scitex/scholar/.legacy/metadata/urls/zotero_translators/semantics Visual Library.js +0 -643
  1217. scitex/scholar/.legacy/metadata/urls/zotero_translators/taz.de.js +0 -200
  1218. scitex/scholar/.legacy/metadata/urls/zotero_translators/unAPI.js +0 -481
  1219. scitex/scholar/.legacy/metadata/urls/zotero_translators/wiso.js +0 -314
  1220. scitex/scholar/.legacy/metadata/urls/zotero_translators/zbMATH.js +0 -278
  1221. scitex/scholar/.legacy/metadata/urls/zotero_translators/zotero.org.js +0 -311
  1222. scitex/scholar/.legacy/search/README.md +0 -205
  1223. scitex/scholar/.legacy/search/_Embedder.py +0 -329
  1224. scitex/scholar/.legacy/search/_SemanticSearch.py +0 -278
  1225. scitex/scholar/.legacy/search/_SemanticSearchEngine.py +0 -452
  1226. scitex/scholar/.legacy/search/_UnifiedSearcher.py +0 -1353
  1227. scitex/scholar/.legacy/search/_VectorDatabase.py +0 -443
  1228. scitex/scholar/.legacy/search/__init__.py +0 -25
  1229. scitex/scholar/.legacy/storage/_EnhancedStorageManager.py +0 -617
  1230. scitex/scholar/.legacy/storage/__init__.py +0 -19
  1231. scitex/scholar/CLAUDE.md +0 -257
  1232. scitex/scholar/TODO.md +0 -174
  1233. scitex/scholar/_mcp_handlers.py +0 -685
  1234. scitex/scholar/_mcp_tool_schemas.py +0 -339
  1235. scitex/scholar/docs/backup/papers-orig.bib +0 -698
  1236. scitex/scholar/docs/backup/papers.bib.zip +0 -0
  1237. scitex/scholar/docs/to_claude/bin/elisp/check_parens.sh +0 -56
  1238. scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/README.md +0 -412
  1239. scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/elisp-ci +0 -622
  1240. scitex/scholar/docs/to_claude/bin/elisp/elisp-ci/elisp-ci-simple +0 -105
  1241. scitex/scholar/docs/to_claude/bin/elisp/find_incorrect_require_provide_statements.sh +0 -113
  1242. scitex/scholar/docs/to_claude/bin/elisp/run_tests_elisp.sh +0 -532
  1243. scitex/scholar/docs/to_claude/bin/elisp/run_tests_elisp_v02.sh +0 -555
  1244. scitex/scholar/docs/to_claude/bin/elisp/sync_elisp_tdd.sh +0 -626
  1245. scitex/scholar/docs/to_claude/bin/general/claude_emacs_server.sh +0 -192
  1246. scitex/scholar/docs/to_claude/bin/general/create_github_release.sh +0 -36
  1247. scitex/scholar/docs/to_claude/bin/general/find_errors.sh +0 -75
  1248. scitex/scholar/docs/to_claude/bin/general/rename.sh +0 -145
  1249. scitex/scholar/docs/to_claude/bin/general/render_mermaid.sh +0 -116
  1250. scitex/scholar/docs/to_claude/bin/general/safe_rm.sh +0 -75
  1251. scitex/scholar/docs/to_claude/bin/general/view_repo.sh +0 -4
  1252. scitex/scholar/docs/to_claude/bin/general/wsl2-buzzer.sh +0 -73
  1253. scitex/scholar/docs/to_claude/bin/python/black_all.sh +0 -41
  1254. scitex/scholar/docs/to_claude/bin/python/run_tests_python_pip_package.sh +0 -291
  1255. scitex/scholar/docs/to_claude/bin/safe_rm.sh +0 -3
  1256. scitex/scholar/docs/to_claude/bin/slurm/README.md +0 -54
  1257. scitex/scholar/docs/to_claude/bin/slurm/login.sh +0 -23
  1258. scitex/scholar/docs/to_claude/bin/slurm/request.sh +0 -62
  1259. scitex/scholar/docs/to_claude/bin/slurm/run.sh +0 -73
  1260. scitex/scholar/docs/to_claude/examples/README.md +0 -9
  1261. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/ELISP-TEST-REPORT-20250513-012234-48-PASSED-49-TOTAL-97-PERCENT.org +0 -105
  1262. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/LATEST-ELISP-REPORT.org +0 -105
  1263. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/README.md +0 -11
  1264. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/run_tests.sh +0 -652
  1265. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-core/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -25
  1266. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-friends/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-34-TOTAL-0-PERCENT.org +0 -66
  1267. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-prep/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-5-TOTAL-0-PERCENT.org +0 -26
  1268. scitex/scholar/docs/to_claude/examples/example-elisp-project-emacs-hello-world/tests/test-ehw-utils/ELISP-TEST-REPORT-20250512-235622-0-SUCCESS-4-TOTAL-0-PERCENT.org +0 -25
  1269. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/.gitignore +0 -626
  1270. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/README.md +0 -155
  1271. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/config/MNIST.yaml +0 -24
  1272. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/config/PATH.yaml +0 -30
  1273. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/data/.gitkeep +0 -0
  1274. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/clf_svm.py +0 -124
  1275. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/download.py +0 -165
  1276. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/main.sh +0 -26
  1277. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_conf_mat.py +0 -86
  1278. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_digits.py +0 -118
  1279. scitex/scholar/docs/to_claude/examples/example-python-project-scitex/scripts/mnist/plot_umap_space.py +0 -110
  1280. scitex/scholar/docs/to_claude/guidelines/README.md +0 -9
  1281. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/01_DEVELOPMENT_CYCLE.md +0 -47
  1282. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/02_NAMING_CONVENSIONS.md +0 -91
  1283. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/03_ARCHITECTUAL_AGREEMENT_PROCESS.md +0 -86
  1284. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/04_ARCHITECTURE_PREDEFINED.md +0 -77
  1285. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/05_PRIORITY_CONFIG.md +0 -22
  1286. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/06_MULTIPLE_SPECIAL_AGENTS.md +0 -35
  1287. scitex/scholar/docs/to_claude/guidelines/USER_PHILOSOPHY/07_DEBUGGING_TECHNIQUES.md +0 -153
  1288. scitex/scholar/docs/to_claude/guidelines/command/IMPORTANT-rm.md +0 -69
  1289. scitex/scholar/docs/to_claude/guidelines/command/IMPORTANT-tree.md +0 -162
  1290. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-01-basic.md +0 -65
  1291. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-02-project-structure.md +0 -97
  1292. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-03-file-template.md +0 -70
  1293. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-04-coding-style.md +0 -42
  1294. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-05-testing-guide.md +0 -190
  1295. scitex/scholar/docs/to_claude/guidelines/elisp/IMPORTANT-ELISP-99-example-project.md +0 -15
  1296. scitex/scholar/docs/to_claude/guidelines/elisp/ci.md +0 -650
  1297. scitex/scholar/docs/to_claude/guidelines/elisp/testing-with-docker.md +0 -243
  1298. scitex/scholar/docs/to_claude/guidelines/programming_common/EXAMPLE-README-MODULE-ROOT.md +0 -32
  1299. scitex/scholar/docs/to_claude/guidelines/programming_common/EXAMPLE-README-REPOSITORY-ROOT.md +0 -60
  1300. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-readable-code.md +0 -1317
  1301. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-art-of-testing.md +0 -799
  1302. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-cleanliness.md +0 -18
  1303. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-documentation-performance-claims.md +0 -163
  1304. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-general.md +0 -156
  1305. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-refactoring.md +0 -32
  1306. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-regression-prevention.md +0 -14
  1307. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-slurm.md +0 -73
  1308. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-start-from-small.md +0 -30
  1309. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-test-driven-workflow.md +0 -80
  1310. scitex/scholar/docs/to_claude/guidelines/programming_common/IMPORTANT-version-control.md +0 -47
  1311. scitex/scholar/docs/to_claude/guidelines/programming_common/clean-code.md +0 -305
  1312. scitex/scholar/docs/to_claude/guidelines/programming_common/debugging-message.md +0 -52
  1313. scitex/scholar/docs/to_claude/guidelines/programming_common/do-not-repeat-yourself.md +0 -27
  1314. scitex/scholar/docs/to_claude/guidelines/programming_common/emacs-server.md +0 -39
  1315. scitex/scholar/docs/to_claude/guidelines/programming_common/keep-it-simple-stupid.md +0 -19
  1316. scitex/scholar/docs/to_claude/guidelines/programming_common/renaming-and-cleaning-workflow.md +0 -311
  1317. scitex/scholar/docs/to_claude/guidelines/programming_common/screen.md +0 -32
  1318. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-CLAUDE_ID.md +0 -15
  1319. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-beyond-control.md +0 -14
  1320. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-bug-report.md +0 -43
  1321. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-cleanliness.md +0 -162
  1322. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-communication.md +0 -13
  1323. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-do-not-create-any-new-file-nor-directory-in-project-root.md +0 -9
  1324. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-documentation.md +0 -11
  1325. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-feature-request.md +0 -33
  1326. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-general-multi-agent-coordination.md +0 -311
  1327. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-multi-agent-protocol.md +0 -97
  1328. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-bulletin-board.md +0 -48
  1329. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-markdown.md +0 -156
  1330. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-project-management-org.org +0 -161
  1331. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-tools.md +0 -10
  1332. scitex/scholar/docs/to_claude/guidelines/project/IMPORTANT-understand-message-in-filename.md +0 -12
  1333. scitex/scholar/docs/to_claude/guidelines/project/general.md +0 -7
  1334. scitex/scholar/docs/to_claude/guidelines/project/report.md +0 -50
  1335. scitex/scholar/docs/to_claude/guidelines/project/timeline-gantt-chart.md +0 -49
  1336. scitex/scholar/docs/to_claude/guidelines/python/CHECKLIST.md +0 -51
  1337. scitex/scholar/docs/to_claude/guidelines/python/HOW-TO-DEBUG-with-MULTIPLE_AGENTS.md +0 -191
  1338. scitex/scholar/docs/to_claude/guidelines/python/Machine-Learning.md +0 -15
  1339. scitex/scholar/docs/to_claude/guidelines/python/NOT-FULL-PYTEST-BUT-PARTIAL-PYTEST.md +0 -21
  1340. scitex/scholar/docs/to_claude/guidelines/python/django.md +0 -217
  1341. scitex/scholar/docs/to_claude/guidelines/python/env.md +0 -10
  1342. scitex/scholar/docs/to_claude/guidelines/python/general.md +0 -55
  1343. scitex/scholar/docs/to_claude/guidelines/python/official/cipdb-README.md +0 -219
  1344. scitex/scholar/docs/to_claude/guidelines/python/official/fastmcp-README.md +0 -442
  1345. scitex/scholar/docs/to_claude/guidelines/python/official/fastmcp-TESTING.md +0 -146
  1346. scitex/scholar/docs/to_claude/guidelines/python/official/icecream-README.md +0 -433
  1347. scitex/scholar/docs/to_claude/guidelines/python/official/priority_config-README.md +0 -126
  1348. scitex/scholar/docs/to_claude/guidelines/python/scitex/01-basic.md +0 -42
  1349. scitex/scholar/docs/to_claude/guidelines/python/scitex/02-file-template.md +0 -132
  1350. scitex/scholar/docs/to_claude/guidelines/python/scitex/03-configuration.md +0 -53
  1351. scitex/scholar/docs/to_claude/guidelines/python/scitex/04-coding-style.md +0 -126
  1352. scitex/scholar/docs/to_claude/guidelines/python/scitex/05-testing-guide.md +0 -56
  1353. scitex/scholar/docs/to_claude/guidelines/python/scitex/06-examples-guide.md +0 -42
  1354. scitex/scholar/docs/to_claude/guidelines/python/scitex/11-gen-module.md +0 -15
  1355. scitex/scholar/docs/to_claude/guidelines/python/scitex/11-session-module.md +0 -24
  1356. scitex/scholar/docs/to_claude/guidelines/python/scitex/12-io-module.md +0 -112
  1357. scitex/scholar/docs/to_claude/guidelines/python/scitex/13-plt-module.md +0 -101
  1358. scitex/scholar/docs/to_claude/guidelines/python/scitex/14-dsp-module.md +0 -78
  1359. scitex/scholar/docs/to_claude/guidelines/python/scitex/15-pd-module.md +0 -24
  1360. scitex/scholar/docs/to_claude/guidelines/python/scitex/16-stats-module.md +0 -79
  1361. scitex/scholar/docs/to_claude/guidelines/python/scitex/17-other-modules.md +0 -23
  1362. scitex/scholar/docs/to_claude/guidelines/python/scitex/17-str-module.md +0 -24
  1363. scitex/scholar/docs/to_claude/guidelines/python/scitex/18-directory-structure-for-scientific-work.md +0 -48
  1364. scitex/scholar/docs/to_claude/guidelines/python/scitex/19-directory-structure-for-pip-package.md +0 -234
  1365. scitex/scholar/docs/to_claude/guidelines/python/scitex/99-example-project.md +0 -19
  1366. scitex/scholar/docs/to_claude/guidelines/python/zen_of_python.md +0 -82
  1367. scitex/scholar/docs/to_claude/guidelines/science/IMPORTANT-general.md +0 -16
  1368. scitex/scholar/docs/to_claude/guidelines/science/IMPORTANT-scientific-attitude.md +0 -25
  1369. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-abstract.md +0 -93
  1370. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-discussion.md +0 -116
  1371. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-general-1.md +0 -157
  1372. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-general-2.md +0 -83
  1373. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-introduction.md +0 -123
  1374. scitex/scholar/docs/to_claude/guidelines/science/scientific-writing-methods.md +0 -88
  1375. scitex/scholar/docs/to_claude/guidelines/shell/IMPORTANT-general.md +0 -196
  1376. scitex/scholar/examples/SUGGESTIONS.md +0 -865
  1377. scitex/scholar/examples/dev.py +0 -38
  1378. scitex/scholar/library/neurovista/info/bibtex/seizure_prediction_enriched.bib +0 -1092
  1379. scitex/stats/_mcp_handlers.py +0 -1191
  1380. scitex/stats/_mcp_tool_schemas.py +0 -384
  1381. scitex/template/.legacy/_clone_project.py +0 -267
  1382. scitex/template/_mcp_handlers.py +0 -259
  1383. scitex/template/_mcp_tool_schemas.py +0 -112
  1384. scitex/writer/.legacy/Writer_v01-refactored.py +0 -189
  1385. scitex/writer/.legacy/_compile.py +0 -342
  1386. scitex/writer/_compile_async.py +0 -126
  1387. scitex/writer/_validate_tree_structures.py +0 -197
  1388. scitex/writer/dataclasses/config/_WriterConfig.py +0 -175
  1389. scitex/writer/dataclasses/contents/_ManuscriptContents.py +0 -236
  1390. scitex/writer/dataclasses/core/_Document.py +0 -146
  1391. scitex/writer/dataclasses/core/_DocumentSection.py +0 -546
  1392. scitex/writer/dataclasses/results/_CompilationResult.py +0 -165
  1393. scitex/writer/dataclasses/results/_LaTeXIssue.py +0 -102
  1394. scitex/writer/dataclasses/tree/MINIMUM_FILES.md +0 -121
  1395. scitex/writer/tests/__init__.py +0 -3
  1396. scitex/writer/tests/test_diff_between.py +0 -451
  1397. scitex/writer/tests/test_document_section.py +0 -311
  1398. scitex/writer/tests/test_document_workflow.py +0 -393
  1399. scitex/writer/tests/test_writer.py +0 -361
  1400. scitex/writer/tests/test_writer_integration.py +0 -303
  1401. scitex-2.13.0.dist-info/METADATA +0 -1231
  1402. scitex-2.13.0.dist-info/RECORD +0 -3402
  1403. scitex-2.13.0.dist-info/entry_points.txt +0 -11
  1404. /scitex/scholar/docs/{SUMMARY.md → 00_SUMMARY.md} +0 -0
  1405. /scitex/scholar/docs/{STORAGE_ARCHITECTURE.md → 01_STORAGE_ARCHITECTURE.md} +0 -0
  1406. /scitex/scholar/docs/{PIPELINE_ORGANIZATION.md → 02_PIPELINE_ORGANIZATION.md} +0 -0
  1407. /scitex/scholar/docs/{PIPELINE_IMPLEMENTATION_PLAN.md → 03_PIPELINE_IMPLEMENTATION_PLAN.md} +0 -0
  1408. /scitex/scholar/docs/{PIPELINE_IMPLEMENTATION_COMPLETE.md → 04_PIPELINE_IMPLEMENTATION_COMPLETE.md} +0 -0
  1409. /scitex/scholar/docs/{DETAILS_FOR_DEVELOPERS.md → 05_DETAILS_FOR_DEVELOPERS.md} +0 -0
  1410. /scitex/scholar/docs/{IMPACT_FACTOR_CITATION_INTEGRATION.md → 06_IMPACT_FACTOR_CITATION_INTEGRATION.md} +0 -0
  1411. /scitex/writer/{dataclasses → _dataclasses}/__init__.py +0 -0
  1412. /scitex/writer/{dataclasses → _dataclasses}/config/_CONSTANTS.py +0 -0
  1413. /scitex/writer/{dataclasses → _dataclasses}/config/__init__.py +0 -0
  1414. /scitex/writer/{dataclasses → _dataclasses}/contents/_RevisionContents.py +0 -0
  1415. /scitex/writer/{dataclasses → _dataclasses}/contents/_SupplementaryContents.py +0 -0
  1416. /scitex/writer/{dataclasses → _dataclasses}/contents/__init__.py +0 -0
  1417. /scitex/writer/{dataclasses → _dataclasses}/core/__init__.py +0 -0
  1418. /scitex/writer/{dataclasses → _dataclasses}/results/_SaveSectionsResponse.py +0 -0
  1419. /scitex/writer/{dataclasses → _dataclasses}/results/_SectionReadResponse.py +0 -0
  1420. /scitex/writer/{dataclasses → _dataclasses}/results/__init__.py +0 -0
  1421. /scitex/writer/{dataclasses → _dataclasses}/tree/_ConfigTree.py +0 -0
  1422. /scitex/writer/{dataclasses → _dataclasses}/tree/_ManuscriptTree.py +0 -0
  1423. /scitex/writer/{dataclasses → _dataclasses}/tree/_RevisionTree.py +0 -0
  1424. /scitex/writer/{dataclasses → _dataclasses}/tree/_ScriptsTree.py +0 -0
  1425. /scitex/writer/{dataclasses → _dataclasses}/tree/_SharedTree.py +0 -0
  1426. /scitex/writer/{dataclasses → _dataclasses}/tree/_SupplementaryTree.py +0 -0
  1427. /scitex/writer/{dataclasses → _dataclasses}/tree/__init__.py +0 -0
  1428. {scitex-2.13.0.dist-info → scitex-2.15.1.dist-info}/WHEEL +0 -0
  1429. {scitex-2.13.0.dist-info → scitex-2.15.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,4236 +0,0 @@
1
- {
2
- "translatorID": "9cb70025-a888-4a29-a210-93ec52da40d4",
3
- "label": "BibTeX",
4
- "creator": "Simon Kornblith, Richard Karnesky and Emiliano heyns",
5
- "target": "bib",
6
- "minVersion": "2.1.9",
7
- "maxVersion": "",
8
- "priority": 200,
9
- "configOptions": {
10
- "async": true,
11
- "getCollections": true
12
- },
13
- "displayOptions": {
14
- "exportCharset": "UTF-8",
15
- "exportNotes": true,
16
- "exportFileData": false,
17
- "useJournalAbbreviation": false
18
- },
19
- "inRepository": true,
20
- "translatorType": 3,
21
- "lastUpdated": "2024-03-25 14:51:02"
22
- }
23
-
24
- /*
25
- BibTeX Translator
26
- Copyright (C) 2019 CHNM, Simon Kornblith, Richard Karnesky and Emiliano heyns
27
-
28
- This program is free software: you can redistribute it and/or modify
29
- it under the terms of the GNU Affero General Public License as published by
30
- the Free Software Foundation, either version 3 of the License, or
31
- (at your option) any later version.
32
-
33
- This program is distributed in the hope that it will be useful,
34
- but WITHOUT ANY WARRANTY; without even the implied warranty of
35
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
36
- GNU Affero General Public License for more details.
37
-
38
- You should have received a copy of the GNU Affero General Public License
39
- along with this program. If not, see <http://www.gnu.org/licenses/>.
40
- */
41
-
42
- function detectImport() {
43
- var maxChars = 1048576; // 1MB
44
-
45
- var inComment = false;
46
- var block = "";
47
- var buffer = "";
48
- var chr = "";
49
- var charsRead = 0;
50
-
51
- var re = /^\s*@[a-zA-Z]+[\(\{]/;
52
- while ((buffer = Zotero.read(4096)) && charsRead < maxChars) {
53
- Zotero.debug("Scanning " + buffer.length + " characters for BibTeX");
54
- charsRead += buffer.length;
55
- for (var i=0; i<buffer.length; i++) {
56
- chr = buffer[i];
57
-
58
- if (inComment && chr != "\r" && chr != "\n") {
59
- continue;
60
- }
61
- inComment = false;
62
-
63
- if (chr == "%") {
64
- // read until next newline
65
- block = "";
66
- inComment = true;
67
- } else if ((chr == "\n" || chr == "\r"
68
- // allow one-line entries
69
- || i == (buffer.length - 1))
70
- && block) {
71
- // check if this is a BibTeX entry
72
- if (re.test(block)) {
73
- return true;
74
- }
75
-
76
- block = "";
77
- } else if (!" \n\r\t".includes(chr)) {
78
- block += chr;
79
- }
80
- }
81
- }
82
- }
83
-
84
- //%a = first listed creator surname
85
- //%y = year
86
- //%t = first word of title
87
- var citeKeyFormat = "%a_%t_%y";
88
-
89
- var fieldMap = {
90
- address:"place",
91
- chapter:"section",
92
- edition:"edition",
93
- type:"type",
94
- series:"series",
95
- title:"title",
96
- volume:"volume",
97
- copyright:"rights",
98
- isbn:"ISBN",
99
- issn:"ISSN",
100
- shorttitle:"shortTitle",
101
- url:"url",
102
- doi:"DOI",
103
- abstract:"abstractNote",
104
- nationality: "country",
105
- language:"language",
106
- assignee:"assignee"
107
- };
108
-
109
- // Fields for which upper case letters will be protected on export
110
- var caseProtectedFields = [
111
- "title",
112
- "type",
113
- "shorttitle",
114
- "booktitle",
115
- "series"
116
- ];
117
-
118
- // Import/export in BibTeX
119
- var extraIdentifiers = {
120
- lccn: 'LCCN',
121
- mrnumber: 'MR',
122
- zmnumber: 'Zbl',
123
- pmid: 'PMID',
124
- pmcid: 'PMCID'
125
-
126
- //Mostly from Wikipedia citation templates
127
- //asin - Amazon ID
128
- //bibcode/refcode - used in astronomy, but haven't seen any Bib(La)TeX examples
129
- //jfm - Jahrbuch ID, but it seems to be part of Zentralblatt MATH, so Zbl
130
- //oclc
131
- //ol - openlibrary.org ID
132
- //osti
133
- //rfc
134
- //ssrn? http://cyber.law.harvard.edu/cybersecurity/Guidelines_for_adding_Bibliography_entries
135
- };
136
-
137
- // Make a reverse map for convenience with additional DOI handling
138
- var revExtraIds = {'DOI': 'doi'};
139
- for (var field in extraIdentifiers) {
140
- revExtraIds[extraIdentifiers[field]] = field;
141
- }
142
-
143
- // Import only. Exported by BibLaTeX
144
- var eprintIds = {
145
- // eprinttype: Zotero label
146
-
147
- // From BibLaTeX manual
148
- 'arxiv': 'arXiv', // Sorry, but no support for eprintclass yet
149
- 'jstor': 'JSTOR',
150
- 'pubmed': 'PMID',
151
- 'hdl': 'HDL',
152
- 'googlebooks': 'GoogleBooksID'
153
- };
154
-
155
- function dateFieldsToDate(year, month, day) {
156
- // per the latest ISO 8601 standard, you can't have a month/day without a
157
- // year (and it would be silly anyway)
158
- if (year) {
159
- let date = year;
160
- if (month) {
161
- if (month.includes(date)) {
162
- date = month;
163
- }
164
- else {
165
- date += `-${month}`;
166
- }
167
-
168
- if (day) {
169
- date += `-${day}`;
170
- }
171
- }
172
- return ZU.strToISO(date);
173
- }
174
- return false;
175
- }
176
-
177
- function parseExtraFields(extra) {
178
- var lines = extra.split(/[\r\n]+/);
179
- var fields = [];
180
- for (var i=0; i<lines.length; i++) {
181
- var rec = { raw: lines[i] };
182
- var line = lines[i].trim();
183
- var splitAt = line.indexOf(':');
184
- if (splitAt > 1) {
185
- rec.field = line.substr(0,splitAt).trim();
186
- rec.value = line.substr(splitAt + 1).trim();
187
- }
188
- fields.push(rec);
189
- }
190
- return fields;
191
- }
192
-
193
- function extraFieldsToString(extra) {
194
- var str = '';
195
- for (var i=0; i<extra.length; i++) {
196
- if (!extra[i].raw) {
197
- str += '\n' + extra[i].field + ': ' + extra[i].value;
198
- } else {
199
- str += '\n' + extra[i].raw;
200
- }
201
- }
202
-
203
- return str.substr(1);
204
- }
205
-
206
- var inputFieldMap = {
207
- booktitle :"publicationTitle",
208
- school:"publisher",
209
- publisher:"publisher",
210
- issue:"issue",
211
- // import also BibLaTeX fields:
212
- journaltitle:"publicationTitle",
213
- shortjournal:"journalAbbreviation",
214
- eventtitle:"conferenceName",
215
- pagetotal:"numPages",
216
- version:"version"
217
- };
218
-
219
- var zotero2bibtexTypeMap = {
220
- "book":"book",
221
- "bookSection":"incollection",
222
- "journalArticle":"article",
223
- "magazineArticle":"article",
224
- "newspaperArticle":"article",
225
- "thesis":"phdthesis",
226
- "letter":"misc",
227
- "manuscript":"unpublished",
228
- "patent" :"patent",
229
- "interview":"misc",
230
- "film":"misc",
231
- "artwork":"misc",
232
- "webpage":"misc",
233
- "conferencePaper":"inproceedings",
234
- "report":"techreport"
235
- };
236
-
237
- var bibtex2zoteroTypeMap = {
238
- "book":"book", // or booklet, proceedings
239
- "inbook":"bookSection",
240
- "incollection":"bookSection",
241
- "article":"journalArticle", // or magazineArticle or newspaperArticle
242
- "patent" :"patent",
243
- "phdthesis":"thesis",
244
- "unpublished":"manuscript",
245
- "inproceedings":"conferencePaper", // check for conference also
246
- "conference":"conferencePaper",
247
- "techreport":"report",
248
- "booklet":"book",
249
- "manual":"book",
250
- "mastersthesis":"thesis",
251
- "misc":"document",
252
- "proceedings":"book",
253
- "online":"webpage",
254
- // alias for online from BibLaTeX:
255
- "electronic":"webpage",
256
- // from BibLaTeX translator:
257
- "thesis":"thesis",
258
- "letter":"letter",
259
- "movie":"film",
260
- "artwork":"artwork",
261
- "report":"report",
262
- "legislation":"bill",
263
- "jurisdiction":"case",
264
- "audio":"audioRecording",
265
- "video":"videoRecording",
266
- "software":"computerProgram",
267
- "inreference":"encyclopediaArticle",
268
- "collection":"book",
269
- "mvbook":"book"
270
- };
271
-
272
- /*
273
- * three-letter month abbreviations. i assume these are the same ones that the
274
- * docs say are defined in some appendix of the LaTeX book. (i don't have the
275
- * LaTeX book.)
276
- */
277
- var months = ["jan", "feb", "mar", "apr", "may", "jun",
278
- "jul", "aug", "sep", "oct", "nov", "dec"];
279
-
280
- var jabref = {
281
- format: null,
282
- root: {}
283
- };
284
-
285
- var alwaysMap = {
286
- "|":"{\\textbar}",
287
- "<":"{\\textless}",
288
- ">":"{\\textgreater}",
289
- "~":"{\\textasciitilde}",
290
- "^":"{\\textasciicircum}",
291
- "\\":"{\\textbackslash}",
292
- // See http://tex.stackexchange.com/questions/230750/open-brace-in-bibtex-fields/230754
293
- "{" : "\\{\\vphantom{\\}}",
294
- "}" : "\\vphantom{\\{}\\}"
295
- };
296
-
297
-
298
- var strings = {};
299
- var keyRe = /[a-zA-Z0-9\-]/;
300
-
301
- // Split keywords on space by default when called from another translator
302
- // This is purely for historical reasons. Otherwise we risk breaking tag import
303
- // from some websites
304
- var keywordSplitOnSpace = !!Zotero.parentTranslator;
305
- var keywordDelimRe = /\s*[,;]\s*/;
306
-
307
- function setKeywordSplitOnSpace( val ) {
308
- keywordSplitOnSpace = val;
309
- }
310
-
311
- function setKeywordDelimRe( val, flags ) {
312
- //expect string, but it could be RegExp
313
- if (typeof(val) != 'string') {
314
- val = val.toString();
315
- flags = val.slice(val.lastIndexOf('/')+1);
316
- val = val.slice(1, val.lastIndexOf('/'));
317
- }
318
-
319
- keywordDelimRe = new RegExp(val, flags);
320
- }
321
-
322
- function processField(item, field, value, rawValue) {
323
- if (Zotero.Utilities.trim(value) == '') return null;
324
- if (fieldMap[field]) {
325
- //map DOIs + Label to Extra for unsupported item types
326
- if (field == "doi" &&!ZU.fieldIsValidForType("DOI", item.itemType) && ZU.cleanDOI(value)) {
327
- item._extraFields.push({field: "DOI", value: ZU.cleanDOI(value)});
328
- }
329
- if (field == "url") { // pass raw values for URL
330
- item.url = rawValue;
331
- }
332
- else {
333
- item[fieldMap[field]] = value;
334
- }
335
- } else if (inputFieldMap[field]) {
336
- item[inputFieldMap[field]] = value;
337
- } else if (field == "subtitle") {
338
- if (!item.title) item.title = '';
339
- item.title = item.title.trim();
340
- value = value.trim();
341
-
342
- if (!/[-–—:!?.;]$/.test(item.title)
343
- && !/^[-–—:.;¡¿]/.test(value)
344
- ) {
345
- item.title += ': ';
346
- } else if (item.title.length) {
347
- item.title += ' ';
348
- }
349
-
350
- item.title += value;
351
- } else if (field == "journal") {
352
- if (item.publicationTitle) {
353
- item.journalAbbreviation = value;
354
- } else {
355
- item.publicationTitle = value;
356
- }
357
- } else if (field == "fjournal") {
358
- if (item.publicationTitle) {
359
- // move publicationTitle to abbreviation, since it probably came from 'journal'
360
- item.journalAbbreviation = item.publicationTitle;
361
- }
362
- item.publicationTitle = value;
363
- } else if (field == "author" || field == "editor" || field == "translator") {
364
- // parse authors/editors/translators
365
- var names = splitUnprotected(rawValue.trim(), /\s+and\s+/gi);
366
- for (var i in names) {
367
- var name = names[i];
368
- // skip empty names
369
- if (!name) continue;
370
-
371
- // Names in BibTeX can have three commas
372
- var pieces = splitUnprotected(name, /\s*,\s*/g);
373
- var creator = {};
374
- if (pieces.length > 1) {
375
- creator.firstName = pieces.pop();
376
- creator.lastName = unescapeBibTeX(pieces.shift());
377
- if (pieces.length) {
378
- // If anything is left, it should only be the 'Jr' part
379
- creator.firstName += ', ' + pieces.join(', ');
380
- }
381
- creator.firstName = unescapeBibTeX(creator.firstName);
382
- creator.creatorType = field;
383
- } else if (splitUnprotected(name, / +/g).length > 1){
384
- creator = Zotero.Utilities.cleanAuthor(unescapeBibTeX(name), field, false);
385
- } else {
386
- creator = {
387
- lastName: unescapeBibTeX(name),
388
- creatorType: field,
389
- fieldMode: 1
390
- };
391
- }
392
- item.creators.push(creator);
393
- }
394
- } else if (field == "institution" || field == "organization") {
395
- item.backupPublisher = value;
396
- } else if (field == "location") {
397
- item.backupLocation = value;
398
- } else if (field == "number") { // fix for techreport
399
- if (item.itemType == "report") {
400
- item.reportNumber = value;
401
- } else if (item.itemType == "book" || item.itemType == "bookSection") {
402
- item.seriesNumber = value;
403
- } else if (item.itemType == "patent"){
404
- item.patentNumber = value;
405
- } else {
406
- item.issue = value;
407
- }
408
- } else if (field == "day") {
409
- // this and the following two blocks assign to temporary fields that
410
- // are cleared before the item is completed. "day" isn't an official
411
- // field, but some sites use it.
412
- item.day = value;
413
- } else if (field == "month") {
414
- var monthIndex = months.indexOf(value.toLowerCase());
415
- if (monthIndex != -1) {
416
- value = Zotero.Utilities.formatDate({month:monthIndex});
417
- }
418
-
419
- item.month = value;
420
- } else if (field == "year") {
421
- item.year = value;
422
- } else if (field == "date") {
423
- //We're going to assume that "date" and the date parts don't occur together. If they do, we pick date, which should hold all.
424
- item.date = value;
425
- } else if (field == "pages") {
426
- if (item.itemType == "book" || item.itemType == "thesis" || item.itemType == "manuscript") {
427
- item.numPages = value;
428
- }
429
- else {
430
- item.pages = value.replace(/--/g, "-");
431
- }
432
- } else if (field == "note") {
433
- var isExtraId = false;
434
- for (var element in extraIdentifiers) {
435
- if (value.trim().startsWith(extraIdentifiers[element])) {
436
- isExtraId = true;
437
- }
438
- }
439
- if (isExtraId) {
440
- item._extraFields.push({raw: value.trim()});
441
- } else {
442
- item.notes.push({note:Zotero.Utilities.text2html(value)});
443
- }
444
- } else if (field == "howpublished") {
445
- if (value.length >= 7) {
446
- var str = value.substr(0, 7);
447
- if (str == "http://" || str == "https:/" || str == "mailto:") {
448
- item.url = value;
449
- } else {
450
- item._extraFields.push({field: 'Published', value: value});
451
- }
452
- }
453
-
454
- }
455
- //accept lastchecked or urldate for access date. These should never both occur.
456
- //If they do we don't know which is better so we might as well just take the second one
457
- else if (field == "lastchecked"|| field == "urldate"){
458
- item.accessDate = value;
459
- } else if (field == "keywords" || field == "keyword") {
460
- item.tags = value.split(keywordDelimRe);
461
- if (item.tags.length == 1 && keywordSplitOnSpace) {
462
- item.tags = value.split(/\s+/);
463
- }
464
- } else if (field == "comment" || field == "annote" || field == "review" || field == "notes") {
465
- item.notes.push({note:Zotero.Utilities.text2html(value)});
466
- } else if (field == "pdf" || field == "path" /*Papers2 compatibility*/) {
467
- item.attachments.push({path:value, mimeType:"application/pdf"});
468
- } else if (field == "sentelink") { // the reference manager 'Sente' has a unique file scheme in exported BibTeX; it can occur multiple times
469
- item.attachments.push({path:value.split(",")[0], mimeType:"application/pdf"});
470
- } else if (field == "file") {
471
- var start = 0, attachment;
472
- rawValue = rawValue.replace(/\$\\backslash\$/g, '\\') // Mendeley invention?
473
- .replace(/([^\\](?:\\\\)*)\\(.){}/g, '$1$2'); // part of Mendeley's escaping (e.g. \~{} = ~)
474
- for (var i=0; i<rawValue.length; i++) {
475
- if (rawValue[i] == '\\') {
476
- i++; //skip next char
477
- continue;
478
- }
479
- if (rawValue[i] == ';') {
480
- attachment = parseFilePathRecord(rawValue.slice(start, i));
481
- if (attachment) item.attachments.push(attachment);
482
- start = i+1;
483
- }
484
- }
485
-
486
- attachment = parseFilePathRecord(rawValue.slice(start));
487
- if (attachment) item.attachments.push(attachment);
488
- } else if (field == "eprint" || field == "eprinttype") {
489
- // Support for IDs exported by BibLaTeX
490
- if (field == 'eprint') item._eprint = value;
491
- else item._eprinttype = value;
492
-
493
- var eprint = item._eprint;
494
- var eprinttype = item._eprinttype;
495
- // If we don't have both yet, continue
496
- if (!eprint || !eprinttype) return;
497
-
498
- var label = eprintIds[eprinttype.trim().toLowerCase()];
499
- if (!label) return;
500
-
501
- item._extraFields.push({field: label, value: eprint.trim()});
502
-
503
- delete item._eprinttype;
504
- delete item._eprint;
505
- } else if (extraIdentifiers[field]) {
506
- var label = extraIdentifiers[field];
507
- item._extraFields.push({field: label, value: value.trim()});
508
- }
509
- }
510
-
511
- /**
512
- * Split a string on a provided delimiter, but not if delimiter appears inside { }
513
- * @param {String} str String to split
514
- * @param {RegExp} delim RegExp object for the split delimiter. Use g flag to split on each
515
- * @return {String[]} Array of strings without delimiters
516
- */
517
- function splitUnprotected(str, delim) {
518
- delim.lastIndex = 0; // In case we're reusing a regexp
519
- var nextPossibleSplit = delim.exec(str);
520
- if (!nextPossibleSplit) return [str];
521
-
522
- var parts = [], open = 0, nextPartStart = 0;
523
- for (var i=0; i<str.length; i++) {
524
- if (i>nextPossibleSplit.index) {
525
- // Must have been inside braces
526
- nextPossibleSplit = delim.exec(str);
527
- if (!nextPossibleSplit) {
528
- parts.push(str.substr(nextPartStart));
529
- return parts;
530
- }
531
- }
532
-
533
- if (str[i] == '\\') {
534
- // Skip next character
535
- i++;
536
- continue;
537
- }
538
-
539
- if (str[i] == '{') {
540
- open++;
541
- continue;
542
- }
543
-
544
- if (str[i] == '}') {
545
- open--;
546
- if (open < 0) open = 0; // Shouldn't happen, but...
547
- continue;
548
- }
549
-
550
- if (open) continue;
551
-
552
- if (i == nextPossibleSplit.index) {
553
- parts.push(str.substring(nextPartStart, i));
554
- i += nextPossibleSplit[0].length - 1; // We can jump past the split delim
555
- nextPartStart = i + 1;
556
- nextPossibleSplit = delim.exec(str);
557
- if (!nextPossibleSplit) {
558
- parts.push(str.substr(nextPartStart));
559
- return parts;
560
- }
561
- }
562
- }
563
-
564
- // I don't think we should ever get here*, but just to be safe
565
- // *we should always be returning from the for loop
566
- var last = str.substr(nextPartStart).trim();
567
- if (last) parts.push(last);
568
-
569
- return parts;
570
- }
571
-
572
- function parseFilePathRecord(record) {
573
- var start = 0, fields = [];
574
- for (var i=0; i<record.length; i++) {
575
- if (record[i] == '\\') {
576
- i++;
577
- continue;
578
- }
579
- if (record[i] == ':') {
580
- fields.push(decodeFilePathComponent(record.slice(start, i)));
581
- start = i+1;
582
- }
583
- }
584
-
585
- fields.push(decodeFilePathComponent(record.slice(start)));
586
-
587
- if (fields.length != 3 && fields.length != 1) {
588
- Zotero.debug("Unknown file path record format: " + record);
589
- return;
590
- }
591
-
592
- var attachment = {};
593
- if (fields.length == 3) {
594
- attachment.title = fields[0].trim() || 'Attachment';
595
- attachment.path = fields[1];
596
- attachment.mimeType = fields[2];
597
- if (attachment.mimeType.search(/pdf/i) != -1) {
598
- attachment.mimeType = 'application/pdf';
599
- }
600
- } else {
601
- attachment.title = 'Attachment';
602
- attachment.path = fields[0];
603
- }
604
-
605
- attachment.path = attachment.path.trim();
606
- if (!attachment.path) return;
607
-
608
- return attachment;
609
- }
610
-
611
- function getFieldValue(read) {
612
- var value = "";
613
- // now, we have the first character of the field
614
- if (read == "{") {
615
- // character is a brace
616
- var openBraces = 1, nextAsLiteral = false;
617
- while (read = Zotero.read(1)) {
618
- if (nextAsLiteral) { // Previous character was a backslash
619
- value += read;
620
- nextAsLiteral = false;
621
- continue;
622
- }
623
-
624
- if (read == "\\") {
625
- value += read;
626
- nextAsLiteral = true;
627
- continue;
628
- }
629
-
630
- if (read == "{") {
631
- openBraces++;
632
- value += "{";
633
- } else if (read == "}") {
634
- openBraces--;
635
- if (openBraces == 0) {
636
- break;
637
- } else {
638
- value += "}";
639
- }
640
- } else {
641
- value += read;
642
- }
643
- }
644
-
645
- } else if (read == '"') {
646
- var openBraces = 0;
647
- while (read = Zotero.read(1)) {
648
- if (read == "{" && value[value.length-1] != "\\") {
649
- openBraces++;
650
- value += "{";
651
- } else if (read == "}" && value[value.length-1] != "\\") {
652
- openBraces--;
653
- value += "}";
654
- } else if (read == '"' && openBraces == 0) {
655
- break;
656
- } else {
657
- value += read;
658
- }
659
- }
660
- }
661
-
662
- return value;
663
- }
664
-
665
- function unescapeBibTeX(value) {
666
- if (value.length < 2) return value;
667
-
668
- // replace accented characters (yucky slow)
669
- value = value.replace(/{?(\\[`"'^~=]){?\\?([A-Za-z])}/g, "{$1$2}");
670
- // normalize some special characters, e.g. caron \v{c} -> {\v c}
671
- value = value.replace(/(\\[a-z]){(\\?[A-Za-z])}/g, "{$1 $2}");
672
- //convert tex markup into permitted HTML
673
- value = mapTeXmarkup(value);
674
- for (var mapped in reversemappingTable) { // really really slow!
675
- var unicode = reversemappingTable[mapped];
676
- while (value.includes(mapped)) {
677
- Zotero.debug("Replace " + mapped + " in " + value + " with " + unicode);
678
- value = value.replace(mapped, unicode);
679
- }
680
- mapped = mapped.replace(/[{}]/g, "");
681
- while (value.includes(mapped)) {
682
- //Z.debug(value)
683
- Zotero.debug("Replace(2) " + mapped + " in " + value + " with " + unicode);
684
- value = value.replace(mapped, unicode);
685
- }
686
- }
687
- value = value.replace(/\$([^$]+)\$/g, '$1')
688
-
689
- // kill braces
690
- value = value.replace(/([^\\])[{}]+/g, "$1");
691
- if (value[0] == "{") {
692
- value = value.substr(1);
693
- }
694
-
695
- // chop off backslashes
696
- value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
697
- value = value.replace(/([^\\])\\([#$%&~_^\\{}])/g, "$1$2");
698
- if (value[0] == "\\" && "#$%&~_^\\{}".includes(value[1])) {
699
- value = value.substr(1);
700
- }
701
- if (value[value.length-1] == "\\" && "#$%&~_^\\{}".includes(value[value.length-2])) {
702
- value = value.substr(0, value.length-1);
703
- }
704
- value = value.replace(/\\\\/g, "\\");
705
- value = value.replace(/\s+/g, " ");
706
-
707
- // Unescape HTML entities coming from web translators
708
- if (Zotero.parentTranslator && value.includes('&')) {
709
- value = value.replace(/&#?\w+;/g, function(entity) {
710
- var char = ZU.unescapeHTML(entity);
711
- if (char == entity) char = ZU.unescapeHTML(entity.toLowerCase()); // Sometimes case can be incorrect and entities are case-sensitive
712
-
713
- return char;
714
- });
715
- }
716
-
717
- return value;
718
- }
719
-
720
- function jabrefSplit(str, sep) {
721
- var quoted = false;
722
- var result = [];
723
-
724
- str = str.split('');
725
- while (str.length > 0) {
726
- if (result.length == 0) { result = ['']; }
727
-
728
- if (str[0] == sep) {
729
- str.shift();
730
- result.push('');
731
- } else {
732
- if (str[0] == '\\') { str.shift(); }
733
- result[result.length - 1] += str.shift();
734
- }
735
- }
736
- return result;
737
- }
738
-
739
- function jabrefCollect(arr, func) {
740
- if (arr == null) { return []; }
741
-
742
- var result = [];
743
-
744
- for (var i = 0; i < arr.length; i++) {
745
- if (func(arr[i])) {
746
- result.push(arr[i]);
747
- }
748
- }
749
- return result;
750
- }
751
-
752
- function processComment() {
753
- var comment = "";
754
- var read;
755
- var collectionPath = [];
756
- var parentCollection, collection;
757
-
758
- while (read = Zotero.read(1)) {
759
- if (read == "}") { break; } // JabRef ought to escape '}' but doesn't; embedded '}' chars will break the import just as it will on JabRef itself
760
- comment += read;
761
- }
762
-
763
- if (comment == 'jabref-meta: groupsversion:3;') {
764
- jabref.format = 3;
765
- return;
766
- }
767
-
768
- if (comment.startsWith('jabref-meta: groupstree:')) {
769
- if (jabref.format != 3) {
770
- Zotero.debug("jabref: fatal: unsupported group format: " + jabref.format);
771
- return;
772
- }
773
- comment = comment.replace(/^jabref-meta: groupstree:/, '').replace(/[\r\n]/gm, '');
774
-
775
- var records = jabrefSplit(comment, ';');
776
- while (records.length > 0) {
777
- var record = records.shift();
778
- var keys = jabrefSplit(record, ';');
779
- if (keys.length < 2) { continue; }
780
-
781
- var record = {id: keys.shift()};
782
- record.data = record.id.match(/^([0-9]) ([^:]*):(.*)/);
783
- if (record.data == null) {
784
- Zotero.debug("jabref: fatal: unexpected non-match for group " + record.id);
785
- return;
786
- }
787
- record.level = parseInt(record.data[1]);
788
- record.type = record.data[2];
789
- record.name = record.data[3];
790
- record.intersection = keys.shift(); // 0 = independent, 1 = intersection, 2 = union
791
-
792
- if (isNaN(record.level)) {
793
- Zotero.debug("jabref: fatal: unexpected record level in " + record.id);
794
- return;
795
- }
796
-
797
- if (record.level == 0) { continue; }
798
- if (record.type != 'ExplicitGroup') {
799
- Zotero.debug("jabref: fatal: group type " + record.type + " is not supported");
800
- return;
801
- }
802
-
803
- collectionPath = collectionPath.slice(0, record.level - 1).concat([record.name]);
804
- Zotero.debug("jabref: locating level " + record.level + ": " + collectionPath.join('/'));
805
-
806
- if (jabref.root.hasOwnProperty(collectionPath[0])) {
807
- collection = jabref.root[collectionPath[0]];
808
- Zotero.debug("jabref: root " + collection.name + " found");
809
- } else {
810
- collection = new Zotero.Collection();
811
- collection.name = collectionPath[0];
812
- collection.type = 'collection';
813
- collection.children = [];
814
- jabref.root[collectionPath[0]] = collection;
815
- Zotero.debug("jabref: root " + collection.name + " created");
816
- }
817
- parentCollection = null;
818
-
819
- for (var i = 1; i < collectionPath.length; i++) {
820
- var path = collectionPath[i];
821
- Zotero.debug("jabref: looking for child " + path + " under " + collection.name);
822
-
823
- var child = jabrefCollect(collection.children, function(n) { return (n.name == path); });
824
- if (child.length != 0) {
825
- child = child[0];
826
- Zotero.debug("jabref: child " + child.name + " found under " + collection.name);
827
- } else {
828
- child = new Zotero.Collection();
829
- child.name = path;
830
- child.type = 'collection';
831
- child.children = [];
832
-
833
- collection.children.push(child);
834
- Zotero.debug("jabref: child " + child.name + " created under " + collection.name);
835
- }
836
-
837
- parentCollection = collection;
838
- collection = child;
839
- }
840
-
841
- if (parentCollection) {
842
- parentCollection = jabrefCollect(parentCollection.children, function(n) { return (n.type == 'item'); });
843
- }
844
-
845
- if (record.intersection == '2' && parentCollection) { // union with parent
846
- collection.children = parentCollection;
847
- }
848
-
849
- while (keys.length > 0) {
850
- var key = keys.shift();
851
- if (key != '') {
852
- Zotero.debug('jabref: adding ' + key + ' to ' + collection.name);
853
- collection.children.push({type: 'item', id: key});
854
- }
855
- }
856
-
857
- if (parentCollection && record.intersection == '1') { // intersection with parent
858
- collection.children = jabrefMap(collection.children, function(n) { parentCollection.includes(n); });
859
- }
860
- }
861
- }
862
- }
863
-
864
- function beginRecord(type, closeChar) {
865
- type = Zotero.Utilities.trimInternal(type.toLowerCase());
866
- if (type !== "string" && type !== "preamble") {
867
- var zoteroType = bibtex2zoteroTypeMap[type];
868
- if (!zoteroType) {
869
- Zotero.debug("discarded item from BibTeX; type was "+type);
870
- return;
871
- }
872
- var item = new Zotero.Item(zoteroType);
873
- item._extraFields = [];
874
- }
875
- else if (type == "preamble") { // Preamble (keeping separate in case we want to do something with these)
876
- Zotero.debug("discarded preamble from BibTeX");
877
- return;
878
- }
879
-
880
- // For theses write the thesisType determined by the BibTeX type.
881
- if (type == "mastersthesis" && item) item.type = "Master's Thesis";
882
- if (type == "phdthesis" && item) item.type = "PhD Thesis";
883
-
884
- var field = "";
885
-
886
- // by setting dontRead to true, we can skip a read on the next iteration
887
- // of this loop. this is useful after we read past the end of a string.
888
- var dontRead = false;
889
-
890
- var value, rawValue;
891
- while (dontRead || (read = Zotero.read(1))) {
892
- dontRead = false;
893
-
894
- // the equal sign indicate the start of the value
895
- // which will be handled in the following part
896
- // possible formats are:
897
- // = 42,
898
- // = "42",
899
- // = {42},
900
- // = name, (where this is defined as a string)
901
- if (read == "=") {
902
- var valueArray = [];
903
- var rawValueArray = [];
904
- // concatenation is possible with # and for that we
905
- // do this do-while-loop here, e.g.
906
- // = name # " and " # "Adam Smith",
907
- do {
908
- var read = Zotero.read(1);
909
- // skip whitespaces
910
- while (" \n\r\t".includes(read)) {
911
- read = Zotero.read(1);
912
- }
913
-
914
- if (keyRe.test(read)) {
915
- // read numeric data here, since we might get an end bracket
916
- // that we should care about
917
- value = "";
918
- value += read;
919
-
920
- // character is a number or part of a string name
921
- while ((read = Zotero.read(1)) && /[a-zA-Z0-9\-:_]/.test(read)) {
922
- value += read;
923
- }
924
-
925
- // don't read the next char; instead, process the character
926
- // we already read past the end of the string
927
- dontRead = true;
928
-
929
- // see if there's a defined string
930
- if (strings[value.toLowerCase()]) value = strings[value.toLowerCase()];
931
-
932
- // rawValue has to be set for some fields to process
933
- // thus, in this case, we set it equal to value
934
- rawValue = value;
935
- } else {
936
- rawValue = getFieldValue(read);
937
- value = unescapeBibTeX(rawValue);
938
- }
939
-
940
- valueArray.push(value);
941
- rawValueArray.push(rawValue);
942
-
943
- while (" \n\r\t".includes(read)) {
944
- read = Zotero.read(1);
945
- }
946
-
947
- } while (read === "#");
948
-
949
- value = valueArray.join('');
950
- rawValue = rawValueArray.join('');
951
-
952
- if (item) {
953
- processField(item, field.toLowerCase(), value, rawValue);
954
- } else if (type == "string") {
955
- strings[field.toLowerCase()] = value;
956
- }
957
- field = "";
958
- }
959
- // commas reset, i.e. we are not reading a field
960
- // but rather we are reading the bibkey
961
- else if (read == ",") {
962
- if (item.itemID == null) {
963
- item.itemID = field; // itemID = citekey
964
- }
965
- field = "";
966
-
967
- }
968
- // closing character
969
- else if (read == closeChar) {
970
- if (item) {
971
- if (item.backupLocation) {
972
- if (item.itemType=="conferencePaper") {
973
- item._extraFields.push({field: "event-place", value: item.backupLocation});
974
- } else if (!item.place) {
975
- item.place = item.backupLocation;
976
- }
977
- delete item.backupLocation;
978
- }
979
-
980
- if (!item.date) {
981
- item.date = dateFieldsToDate(item.year, item.month, item.day);
982
- }
983
- delete item.year;
984
- delete item.month;
985
- delete item.day;
986
-
987
- item.extra = extraFieldsToString(item._extraFields);
988
- delete item._extraFields;
989
-
990
- if (!item.publisher && item.backupPublisher){
991
- item.publisher=item.backupPublisher;
992
- delete item.backupPublisher;
993
- }
994
- return item.complete();
995
- }
996
- return;
997
- }
998
- // skip whitespaces; the rest will become
999
- // the field name (or bibkey)
1000
- else if (!" \n\r\t".includes(read)) {
1001
- field += read;
1002
- }
1003
- }
1004
- }
1005
-
1006
- function doImport() {
1007
- if (typeof Promise == 'undefined') {
1008
- readString(
1009
- function () {},
1010
- function (e) {
1011
- throw e;
1012
- }
1013
- );
1014
- }
1015
- else {
1016
- return new Promise(function (resolve, reject) {
1017
- readString(resolve, reject);
1018
- });
1019
- }
1020
- }
1021
-
1022
- function readString(resolve, reject) {
1023
- var read = "";
1024
- var type = false;
1025
-
1026
- var next = function () {
1027
- readString(resolve, reject);
1028
- };
1029
-
1030
- try {
1031
- while (read = Zotero.read(1)) {
1032
- if (read == "@") {
1033
- type = "";
1034
- } else if (type !== false) {
1035
- if (type == "comment") {
1036
- processComment();
1037
- type = false;
1038
- } else if (read == "{") { // possible open character
1039
- // This might return a promise if an item was saved
1040
- // TODO: When 5.0-only, make sure this always returns a promise
1041
- var maybePromise = beginRecord(type, "}");
1042
- if (maybePromise) {
1043
- maybePromise.then(next);
1044
- return;
1045
- }
1046
- } else if (read == "(") { // possible open character
1047
- var maybePromise = beginRecord(type, ")");
1048
- if (maybePromise) {
1049
- maybePromise.then(next);
1050
- return;
1051
- }
1052
- } else if (/[a-zA-Z0-9-_]/.test(read)) {
1053
- type += read;
1054
- }
1055
- }
1056
- }
1057
- for (var key in jabref.root) {
1058
- // TODO: Handle promise?
1059
- if (jabref.root.hasOwnProperty(key)) { jabref.root[key].complete(); }
1060
- }
1061
- }
1062
- catch (e) {
1063
- reject(e);
1064
- return;
1065
- }
1066
-
1067
- resolve();
1068
- }
1069
-
1070
- // some fields are, in fact, macros. If that is the case then we should not put the
1071
- // data in the braces as it will cause the macros to not expand properly
1072
- function writeField(field, value, isMacro) {
1073
- if (!value && typeof value != "number") return;
1074
- value = value + ""; // convert integers to strings
1075
-
1076
- Zotero.write(",\n\t" + field + " = ");
1077
- if (!isMacro) Zotero.write("{");
1078
- // url field is preserved, for use with \href and \url
1079
- // Other fields (DOI?) may need similar treatment
1080
- if (!isMacro && !(field == "url" || field == "doi" || field == "file" || field == "lccn" )) {
1081
- // I hope these are all the escape characters!
1082
- value = escapeSpecialCharacters(value);
1083
-
1084
- if (caseProtectedFields.includes(field)) {
1085
- value = ZU.XRegExp.replace(value, protectCapsRE, "$1{$2$3}"); // only $2 or $3 will have a value, not both
1086
- }
1087
- }
1088
- var exportCharset = Zotero.getOption("exportCharset");
1089
- if (exportCharset && !exportCharset.startsWith("UTF-8")) {
1090
- value = value.replace(/[\u0080-\uFFFF]/g, mapAccent);
1091
- }
1092
- //convert the HTML markup allowed in Zotero for rich text to TeX; excluding doi/url/file shouldn't be necessary, but better to be safe;
1093
- if (!((field == "url") || (field == "doi") || (field == "file"))) value = mapHTMLmarkup(value);
1094
- Zotero.write(value);
1095
- if (!isMacro) Zotero.write("}");
1096
- }
1097
-
1098
- function mapHTMLmarkup(characters){
1099
- //converts the HTML markup allowed in Zotero for rich text to TeX
1100
- //since < and > have already been escaped, we need this rather hideous code - I couldn't see a way around it though.
1101
- //italics and bold
1102
- characters = characters.replace(/\{\\textless\}i\{\\textgreater\}(.+?)\{\\textless\}\/i{\\textgreater\}/g, "\\textit{$1}")
1103
- .replace(/\{\\textless\}b\{\\textgreater\}(.+?)\{\\textless\}\/b{\\textgreater\}/g, "\\textbf{$1}");
1104
- //sub and superscript
1105
- characters = characters.replace(/\{\\textless\}sup\{\\textgreater\}(.+?)\{\\textless\}\/sup{\\textgreater\}/g, "\$^{\\textrm{$1}}\$")
1106
- .replace(/\{\\textless\}sub\{\\textgreater\}(.+?)\{\\textless\}\/sub\{\\textgreater\}/g, "\$_{\\textrm{$1}}\$");
1107
- //two variants of small caps
1108
- characters = characters.replace(/\{\\textless\}span\sstyle=\"small\-caps\"\{\\textgreater\}(.+?)\{\\textless\}\/span{\\textgreater\}/g, "\\textsc{$1}")
1109
- .replace(/\{\\textless\}sc\{\\textgreater\}(.+?)\{\\textless\}\/sc\{\\textgreater\}/g, "\\textsc{$1}");
1110
- return characters;
1111
- }
1112
-
1113
- function xcase(prefix, cased, tag, tex) {
1114
- return (prefix ? `$${prefix}$` : '') + (reversemappingTable[`$${tex}{${cased}}$`] || `<${tag}>${cased}</${tag}>`)
1115
- }
1116
- function sup(match, prefix, cased) {
1117
- return xcase(prefix, cased, 'sup', '^');
1118
- }
1119
- function sub(match, prefix, cased) {
1120
- return xcase(prefix, cased, 'sub', '_');
1121
- }
1122
- function mapTeXmarkup(tex){
1123
- //reverse of the above - converts tex mark-up into html mark-up permitted by Zotero
1124
- //italics and bold
1125
- tex = tex.replace(/\\textit\{([^\}]+\})/g, "<i>$1</i>").replace(/\\textbf\{([^\}]+\})/g, "<b>$1</b>");
1126
- //two versions of subscript the .* after $ is necessary because people m
1127
- tex = tex.replace(/\$([^\{\$]*)_\{([^\}]+)\}\$/g, sub).replace(/\$([^\{\$]*)_\{\\textrm\{([^\}\$]+)\}\}\$/g, sub);
1128
- //two version of superscript
1129
- tex = tex.replace(/\$([^\{\$]*)\^\{([^\}]+)\}\$/g, sup).replace(/\$([^\{\$]*)\^\{\\textrm\{([^\}]+)\}\}\$/g, sup);
1130
- //small caps
1131
- tex = tex.replace(/\\textsc\{([^\}]+)/g, "<span style=\"small-caps\">$1</span>");
1132
- return tex;
1133
- }
1134
- //Disable the isTitleCase function until we decide what to do with it.
1135
- /* const skipWords = ["but", "or", "yet", "so", "for", "and", "nor",
1136
- "a", "an", "the", "at", "by", "from", "in", "into", "of", "on",
1137
- "to", "with", "up", "down", "as", "while", "aboard", "about",
1138
- "above", "across", "after", "against", "along", "amid", "among",
1139
- "anti", "around", "as", "before", "behind", "below", "beneath",
1140
- "beside", "besides", "between", "beyond", "but", "despite",
1141
- "down", "during", "except", "for", "inside", "like", "near",
1142
- "off", "onto", "over", "past", "per", "plus", "round", "save",
1143
- "since", "than", "through", "toward", "towards", "under",
1144
- "underneath", "unlike", "until", "upon", "versus", "via",
1145
- "within", "without"];
1146
-
1147
- function isTitleCase(string) {
1148
- const wordRE = /[\s[(]([^\s,\.:?!\])]+)/g;
1149
-
1150
- var word;
1151
- while (word = wordRE.exec(string)) {
1152
- word = word[1];
1153
- if (word.search(/\d/) != -1 //ignore words with numbers (including just numbers)
1154
- || skipWords.includes(word.toLowerCase())) {
1155
- continue;
1156
- }
1157
-
1158
- if (word.toLowerCase() == word) return false;
1159
- }
1160
- return true;
1161
- }
1162
- */
1163
-
1164
- // See http://tex.stackexchange.com/questions/230750/open-brace-in-bibtex-fields/230754
1165
- var vphantomRe = /\\vphantom{\\}}((?:.(?!\\vphantom{\\}}))*)\\vphantom{\\{}/g;
1166
- function escapeSpecialCharacters(str) {
1167
- var newStr = str.replace(/[|\<\>\~\^\\\{\}]/g, function(c) { return alwaysMap[c]; })
1168
- .replace(/([\#\$\%\&\_])/g, "\\$1");
1169
-
1170
- // We escape each brace in the text by making sure that it has a counterpart,
1171
- // but sometimes this is overkill if the brace already has a counterpart in
1172
- // the text.
1173
- if (newStr.includes('\\vphantom')) {
1174
- var m;
1175
- while (m = vphantomRe.exec(newStr)) {
1176
- // Can't use a simple replace, because we want to match up inner with inner
1177
- // and outer with outer
1178
- newStr = newStr.substr(0,m.index) + m[1] + newStr.substr(m.index + m[0].length);
1179
- vphantomRe.lastIndex = 0; // Start over, because the previous replacement could have created a new pair
1180
- }
1181
- }
1182
-
1183
- return newStr;
1184
- }
1185
-
1186
- function mapAccent(character) {
1187
- return (mappingTable[character] ? mappingTable[character] : "?");
1188
- }
1189
-
1190
- var filePathSpecialChars = '\\\\:;$'; // $ for Mendeley (see cleanFilePath for {})
1191
- var encodeFilePathRE = new RegExp('[' + filePathSpecialChars + ']', 'g');
1192
-
1193
- // We strip out {} in general, because \{ and \} still break BibTeX (0.99d)
1194
- function cleanFilePath(str) {
1195
- if (!str) return '';
1196
- return str.replace(/(?:\s*[{}]+)+\s*/g, ' ');
1197
- }
1198
-
1199
- function encodeFilePathComponent(value) {
1200
- if (!value) return '';
1201
- return value.replace(encodeFilePathRE, "\\$&");
1202
- }
1203
-
1204
- function decodeFilePathComponent(value) {
1205
- if (!value) return '';
1206
- return value.replace(/\\([^A-Za-z0-9.])/g, "$1");
1207
- }
1208
-
1209
- // a little substitution function for BibTeX keys, where we don't want LaTeX
1210
- // escaping, but we do want to preserve the base characters
1211
-
1212
- function tidyAccents(s) {
1213
- var r=s.toLowerCase();
1214
-
1215
- // XXX Remove conditional when we drop Zotero 2.1.x support
1216
- // This is supported in Zotero 3.0 and higher
1217
- if (ZU.removeDiacritics !== undefined)
1218
- r = ZU.removeDiacritics(r, true);
1219
- else {
1220
- // We fall back on the replacement list we used previously
1221
- r = r.replace(new RegExp("[ä]", 'g'),"ae");
1222
- r = r.replace(new RegExp("[ö]", 'g'),"oe");
1223
- r = r.replace(new RegExp("[ü]", 'g'),"ue");
1224
- r = r.replace(new RegExp("[àáâãå]", 'g'),"a");
1225
- r = r.replace(new RegExp("æ", 'g'),"ae");
1226
- r = r.replace(new RegExp("ç", 'g'),"c");
1227
- r = r.replace(new RegExp("[èéêë]", 'g'),"e");
1228
- r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
1229
- r = r.replace(new RegExp("ñ", 'g'),"n");
1230
- r = r.replace(new RegExp("[òóôõ]", 'g'),"o");
1231
- r = r.replace(new RegExp("œ", 'g'),"oe");
1232
- r = r.replace(new RegExp("[ùúû]", 'g'),"u");
1233
- r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
1234
- }
1235
-
1236
- return r;
1237
- };
1238
-
1239
- var numberRe = /^[0-9]+/;
1240
- // Below is a list of words that should not appear as part of the citation key
1241
- // it includes the indefinite articles of English, German, French and Spanish, as well as a small set of English prepositions whose
1242
- // force is more grammatical than lexical, i.e. which are likely to strike many as 'insignificant'.
1243
- // The assumption is that most who want a title word in their key would prefer the first word of significance.
1244
- // Also remove markup
1245
- var citeKeyTitleBannedRe = /\b(a|an|the|some|from|on|in|to|of|do|with|der|die|das|ein|eine|einer|eines|einem|einen|un|une|la|le|l\'|les|el|las|los|al|uno|una|unos|unas|de|des|del|d\')(\s+|\b)|(<\/?(i|b|sup|sub|sc|span style=\"small-caps\"|span)>)/g;
1246
- var citeKeyConversionsRe = /%([a-zA-Z])/;
1247
-
1248
- var citeKeyConversions = {
1249
- "a":function (flags, item) {
1250
- if (item.creators && item.creators[0] && item.creators[0].lastName) {
1251
- return item.creators[0].lastName.toLowerCase().replace(/ /g,"_").replace(/,/g,"");
1252
- }
1253
- return "noauthor";
1254
- },
1255
- "t":function (flags, item) {
1256
- if (item["title"]) {
1257
- return item["title"].toLowerCase().replace(citeKeyTitleBannedRe, "").split(/\s+/g)[0];
1258
- }
1259
- return "notitle";
1260
- },
1261
- "y":function (flags, item) {
1262
- if (item.date) {
1263
- var date = Zotero.Utilities.strToDate(item.date);
1264
- if (date.year && numberRe.test(date.year)) {
1265
- return date.year;
1266
- }
1267
- }
1268
- return "nodate";
1269
- }
1270
- };
1271
-
1272
-
1273
- function buildCiteKey (item, extraFields, citekeys) {
1274
- if (extraFields) {
1275
- const citationKey = extraFields.findIndex(field => field.field && field.value && field.field.toLowerCase() === 'citation key');
1276
- if (citationKey >= 0) return extraFields.splice(citationKey, 1)[0].value;
1277
- }
1278
-
1279
- if (item.citationKey) return item.citationKey;
1280
-
1281
- var basekey = "";
1282
- var counter = 0;
1283
- var citeKeyFormatRemaining = citeKeyFormat;
1284
- while (citeKeyConversionsRe.test(citeKeyFormatRemaining)) {
1285
- if (counter > 100) {
1286
- Zotero.debug("Pathological BibTeX format: " + citeKeyFormat);
1287
- break;
1288
- }
1289
- var m = citeKeyFormatRemaining.match(citeKeyConversionsRe);
1290
- if (m.index > 0) {
1291
- //add data before the conversion match to basekey
1292
- basekey = basekey + citeKeyFormatRemaining.substr(0, m.index);
1293
- }
1294
- var flags = ""; // for now
1295
- var f = citeKeyConversions[m[1]];
1296
- if (typeof(f) == "function") {
1297
- var value = f(flags, item);
1298
- Zotero.debug("Got value " + value + " for %" + m[1]);
1299
- //add conversion to basekey
1300
- basekey = basekey + value;
1301
- }
1302
- citeKeyFormatRemaining = citeKeyFormatRemaining.substr(m.index + m.length);
1303
- counter++;
1304
- }
1305
- if (citeKeyFormatRemaining.length > 0) {
1306
- basekey = basekey + citeKeyFormatRemaining;
1307
- }
1308
-
1309
- // for now, remove any characters not explicitly known to be allowed;
1310
- // we might want to allow UTF-8 citation keys in the future, depending
1311
- // on implementation support.
1312
- //
1313
- // no matter what, we want to make sure we exclude
1314
- // " # % ' ( ) , = { } ~ and backslash
1315
- // however, we want to keep the base characters
1316
-
1317
- basekey = tidyAccents(basekey);
1318
- // use legacy pattern for all old items to not break existing usages
1319
- var citeKeyCleanRe = /[^a-z0-9\!\$\&\*\+\-\.\/\:\;\<\>\?\[\]\^\_\`\|]+/g;
1320
- // but use the simple pattern for all newly added items
1321
- // or always if the hiddenPref is set
1322
- // extensions.zotero.translators.BibTeX.export.simpleCitekey
1323
- if ((Zotero.getHiddenPref && Zotero.getHiddenPref('BibTeX.export.simpleCitekey'))
1324
- || (item.dateAdded && parseInt(item.dateAdded.substr(0, 4)) >= 2020)) {
1325
- citeKeyCleanRe = /[^a-z0-9_-]/g;
1326
- }
1327
- basekey = basekey.replace(citeKeyCleanRe, "");
1328
- var citekey = basekey;
1329
- var i = 0;
1330
- while (citekeys[citekey]) {
1331
- i++;
1332
- citekey = basekey + "-" + i;
1333
- }
1334
- citekeys[citekey] = true;
1335
- return citekey;
1336
- }
1337
-
1338
- var protectCapsRE;
1339
- function doExport() {
1340
- if (Zotero.getHiddenPref && Zotero.getHiddenPref('BibTeX.export.dontProtectInitialCase')) {
1341
- // Case of words with uppercase characters in non-initial positions is
1342
- // preserved with braces.
1343
- // Two extra captures because of the other regexp below
1344
- protectCapsRE = new ZU.XRegExp("()()\\b([\\p{Letter}\\d]+\\p{Uppercase_Letter}[\\p{Letter}\\d]*)", 'g');
1345
- } else {
1346
- // Protect all upper case letters, even if the uppercase letter is only in
1347
- // initial position of the word.
1348
- // Don't protect first word if only first letter is capitalized
1349
- protectCapsRE = new ZU.XRegExp(
1350
- "(.)\\b([\\p{Letter}\\d]*\\p{Uppercase_Letter}[\\p{Letter}\\d]*)" // Non-initial words with capital letter anywhere
1351
- + "|^([\\p{Letter}\\d]+\\p{Uppercase_Letter}[\\p{Letter}\\d]*)" // Initial word with capital in non-initial position
1352
- , 'g');
1353
- }
1354
-
1355
- //Zotero.write("% BibTeX export generated by Zotero "+Zotero.Utilities.getVersion());
1356
- // to make sure the BOM gets ignored
1357
- Zotero.write("\n");
1358
-
1359
- var first = true;
1360
- var citekeys = new Object();
1361
- var item;
1362
- while (item = Zotero.nextItem()) {
1363
- //don't export standalone notes and attachments
1364
- if (item.itemType == "note" || item.itemType == "attachment") continue;
1365
-
1366
- // determine type
1367
- var type = zotero2bibtexTypeMap[item.itemType];
1368
- if (typeof(type) == "function") { type = type(item); }
1369
-
1370
- // For theses BibTeX distinguish between @mastersthesis and @phdthesis
1371
- // and the default mapping will map all Zotero thesis items to a
1372
- // BibTeX phdthesis item. Here we try to fix this by examining the
1373
- // Zotero thesisType field.
1374
- if (type == "phdthesis") {
1375
- // In practice, we just want to separate out masters theses,
1376
- // and will assume everything else maps to @phdthesis. Better to
1377
- // err on the side of caution.
1378
- var thesisType = item.type && item.type.toLowerCase().replace(/[\s.]+|thesis|unpublished/g, '');
1379
- if (thesisType && (thesisType == 'master' || thesisType == 'masters' || thesisType == "master's" || thesisType == 'ms' || thesisType == 'msc' || thesisType == 'ma')) {
1380
- type = "mastersthesis";
1381
- item["type"] = "";
1382
- }
1383
- }
1384
-
1385
- if (!type) type = "misc";
1386
-
1387
- // create a unique citation key
1388
- var extraFields = item.extra ? parseExtraFields(item.extra) : null;
1389
- var citekey = buildCiteKey(item, extraFields, citekeys);
1390
-
1391
- // write citation key
1392
- Zotero.write((first ? "" : "\n\n") + "@"+type+"{"+citekey);
1393
- first = false;
1394
-
1395
- for (var field in fieldMap) {
1396
- if (item[fieldMap[field]]) {
1397
- writeField(field, item[fieldMap[field]]);
1398
- }
1399
- }
1400
-
1401
- if (item.reportNumber || item.issue || item.seriesNumber || item.patentNumber) {
1402
- writeField("number", item.reportNumber || item.issue || item.seriesNumber|| item.patentNumber);
1403
- }
1404
-
1405
- if (item.accessDate){
1406
- var accessYMD = item.accessDate.replace(/\s*\d+:\d+:\d+/, "");
1407
- writeField("urldate", accessYMD);
1408
- }
1409
-
1410
- if (item.publicationTitle) {
1411
- if (item.itemType == "bookSection" || item.itemType == "conferencePaper") {
1412
- writeField("booktitle", item.publicationTitle);
1413
- } else if (Zotero.getOption("useJournalAbbreviation") && item.journalAbbreviation){
1414
- writeField("journal", item.journalAbbreviation);
1415
- } else {
1416
- writeField("journal", item.publicationTitle);
1417
- }
1418
- }
1419
-
1420
- if (item.publisher) {
1421
- if (item.itemType == "thesis") {
1422
- writeField("school", item.publisher);
1423
- } else if (item.itemType =="report") {
1424
- writeField("institution", item.publisher);
1425
- } else {
1426
- writeField("publisher", item.publisher);
1427
- }
1428
- }
1429
-
1430
- if (item.creators && item.creators.length) {
1431
- // split creators into subcategories
1432
- var author = "";
1433
- var editor = "";
1434
- var translator = "";
1435
- var collaborator = "";
1436
- var primaryCreatorType = Zotero.Utilities.getCreatorsForType(item.itemType)[0];
1437
- for (var i in item.creators) {
1438
- var creator = item.creators[i];
1439
- var creatorString;
1440
-
1441
- if (creator.firstName) {
1442
- var fname = creator.firstName.split(/\s*,!?\s*/);
1443
- fname.push(fname.shift()); // If we have a Jr. part(s), it should precede first name
1444
- creatorString = creator.lastName + ", " + fname.join(', ');
1445
- } else {
1446
- creatorString = creator.lastName;
1447
- }
1448
-
1449
- creatorString = escapeSpecialCharacters(creatorString);
1450
-
1451
- if (creator.fieldMode == true) { // fieldMode true, assume corporate author
1452
- creatorString = "{" + creatorString + "}";
1453
- } else {
1454
- creatorString = creatorString.replace(/ (and) /gi, ' {$1} ');
1455
- }
1456
-
1457
- if (creator.creatorType == "editor" || creator.creatorType == "seriesEditor") {
1458
- editor += " and "+creatorString;
1459
- } else if (creator.creatorType == "translator") {
1460
- translator += " and "+creatorString;
1461
- } else if (creator.creatorType == primaryCreatorType) {
1462
- author += " and "+creatorString;
1463
- } else {
1464
- collaborator += " and "+creatorString;
1465
- }
1466
- }
1467
-
1468
- if (author) {
1469
- writeField("author", "{" + author.substr(5) + "}", true);
1470
- }
1471
- if (editor) {
1472
- writeField("editor", "{" + editor.substr(5) + "}", true);
1473
- }
1474
- if (translator) {
1475
- writeField("translator", "{" + translator.substr(5) + "}", true);
1476
- }
1477
- if (collaborator) {
1478
- writeField("collaborator", "{" + collaborator.substr(5) + "}", true);
1479
- }
1480
- }
1481
-
1482
- if (item.date) {
1483
- var date = Zotero.Utilities.strToDate(item.date);
1484
- // need to use non-localized abbreviation
1485
- if (typeof date.month == "number") {
1486
- writeField("month", months[date.month], true);
1487
- }
1488
- if (date.year) {
1489
- writeField("year", date.year);
1490
- }
1491
- }
1492
-
1493
- if (extraFields) {
1494
- // Export identifiers
1495
- for (var i=0; i<extraFields.length; i++) {
1496
- var rec = extraFields[i];
1497
- if (!rec.field || !revExtraIds[rec.field]) continue;
1498
- var value = rec.value.trim();
1499
- if (value) {
1500
- writeField(revExtraIds[rec.field], '{'+value+'}', true);
1501
- extraFields.splice(i, 1);
1502
- i--;
1503
- }
1504
- }
1505
- var extra = extraFieldsToString(extraFields); // Make sure we join exactly with what we split
1506
- if (extra) writeField("note", extra);
1507
- }
1508
-
1509
- if (item.tags && item.tags.length) {
1510
- var tagString = "";
1511
- for (var i in item.tags) {
1512
- var tag = item.tags[i];
1513
- tagString += ", "+tag.tag;
1514
- }
1515
- writeField("keywords", tagString.substr(2));
1516
- }
1517
-
1518
- if (item.pages) {
1519
- writeField("pages", item.pages.replace(/[-\u2012-\u2015\u2053]+/g,"--"));
1520
- }
1521
-
1522
- // Commented out, because we don't want a books number of pages in the BibTeX "pages" field for books.
1523
- //if (item.numPages) {
1524
- // writeField("pages", item.numPages);
1525
- //}
1526
-
1527
- /* We'll prefer url over howpublished see
1528
- https://forums.zotero.org/discussion/24554/bibtex-doubled-url/#Comment_157802
1529
-
1530
- if (item.itemType == "webpage") {
1531
- writeField("howpublished", item.url);
1532
- }*/
1533
- if (item.notes && Zotero.getOption("exportNotes")) {
1534
- for (var i in item.notes) {
1535
- var note = item.notes[i];
1536
- writeField("annote", Zotero.Utilities.unescapeHTML(note["note"]));
1537
- }
1538
- }
1539
-
1540
- if (item.attachments) {
1541
- var attachmentString = "";
1542
-
1543
- for (var i in item.attachments) {
1544
- var attachment = item.attachments[i];
1545
- // Unfortunately, it looks like \{ in file field breaks BibTeX (0.99d)
1546
- // even if properly backslash escaped, so we have to make sure that
1547
- // it doesn't make it into this field at all
1548
- var title = cleanFilePath(attachment.title),
1549
- path = null;
1550
-
1551
- if (Zotero.getOption("exportFileData") && attachment.saveFile) {
1552
- path = cleanFilePath(attachment.defaultPath);
1553
- attachment.saveFile(path, true);
1554
- } else if (attachment.localPath) {
1555
- path = cleanFilePath(attachment.localPath);
1556
- }
1557
-
1558
- if (path) {
1559
- attachmentString += ";" + encodeFilePathComponent(title)
1560
- + ":" + encodeFilePathComponent(path)
1561
- + ":" + encodeFilePathComponent(attachment.mimeType);
1562
- }
1563
- }
1564
-
1565
- if (attachmentString) {
1566
- writeField("file", attachmentString.substr(1));
1567
- }
1568
- }
1569
-
1570
- Zotero.write(",\n}");
1571
- }
1572
-
1573
- Zotero.write("\n");
1574
- }
1575
-
1576
- var exports = {
1577
- "doExport": doExport,
1578
- "doImport": doImport,
1579
- "setKeywordDelimRe": setKeywordDelimRe,
1580
- "setKeywordSplitOnSpace": setKeywordSplitOnSpace
1581
- };
1582
-
1583
- /*
1584
- * new mapping table based on that from Matthias Steffens,
1585
- * then enhanced with some fields generated from the unicode table.
1586
- */
1587
-
1588
- var mappingTable = {
1589
- "\u00A0":"~", // NO-BREAK SPACE
1590
- "\u00A1":"{\\textexclamdown}", // INVERTED EXCLAMATION MARK
1591
- "\u00A2":"{\\textcent}", // CENT SIGN
1592
- "\u00A3":"{\\textsterling}", // POUND SIGN
1593
- "\u00A5":"{\\textyen}", // YEN SIGN
1594
- "\u00A6":"{\\textbrokenbar}", // BROKEN BAR
1595
- "\u00A7":"{\\textsection}", // SECTION SIGN
1596
- "\u00A8":"{\\textasciidieresis}", // DIAERESIS
1597
- "\u00A9":"{\\textcopyright}", // COPYRIGHT SIGN
1598
- "\u00AA":"{\\textordfeminine}", // FEMININE ORDINAL INDICATOR
1599
- "\u00AB":"{\\guillemotleft}", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
1600
- "\u00AC":"{\\textlnot}", // NOT SIGN
1601
- "\u00AD":"-", // SOFT HYPHEN
1602
- "\u00AE":"{\\textregistered}", // REGISTERED SIGN
1603
- "\u00AF":"{\\textasciimacron}", // MACRON
1604
- "\u00B0":"{\\textdegree}", // DEGREE SIGN
1605
- "\u00B1":"{\\textpm}", // PLUS-MINUS SIGN
1606
- "\u00B2":"{\\texttwosuperior}", // SUPERSCRIPT TWO
1607
- "\u00B3":"{\\textthreesuperior}", // SUPERSCRIPT THREE
1608
- "\u00B4":"{\\textasciiacute}", // ACUTE ACCENT
1609
- "\u00B5":"{\\textmu}", // MICRO SIGN
1610
- "\u00B6":"{\\textparagraph}", // PILCROW SIGN
1611
- "\u00B7":"{\\textperiodcentered}", // MIDDLE DOT
1612
- "\u00B8":"{\\c\\ }", // CEDILLA
1613
- "\u00B9":"{\\textonesuperior}", // SUPERSCRIPT ONE
1614
- "\u00BA":"{\\textordmasculine}", // MASCULINE ORDINAL INDICATOR
1615
- "\u00BB":"{\\guillemotright}", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
1616
- "\u00BC":"{\\textonequarter}", // VULGAR FRACTION ONE QUARTER
1617
- "\u00BD":"{\\textonehalf}", // VULGAR FRACTION ONE HALF
1618
- "\u00BE":"{\\textthreequarters}", // VULGAR FRACTION THREE QUARTERS
1619
- "\u00BF":"{\\textquestiondown}", // INVERTED QUESTION MARK
1620
- "\u00C6":"{\\AE}", // LATIN CAPITAL LETTER AE
1621
- "\u00D0":"{\\DH}", // LATIN CAPITAL LETTER ETH
1622
- "\u00D7":"{\\texttimes}", // MULTIPLICATION SIGN
1623
- "\u00D8":"{\\O}", // LATIN CAPITAL LETTER O WITH STROKE
1624
- "\u00DE":"{\\TH}", // LATIN CAPITAL LETTER THORN
1625
- "\u00DF":"{\\ss}", // LATIN SMALL LETTER SHARP S
1626
- "\u00E6":"{\\ae}", // LATIN SMALL LETTER AE
1627
- "\u00F0":"{\\dh}", // LATIN SMALL LETTER ETH
1628
- "\u00F7":"{\\textdiv}", // DIVISION SIGN
1629
- "\u00F8":"{\\o}", // LATIN SMALL LETTER O WITH STROKE
1630
- "\u00FE":"{\\th}", // LATIN SMALL LETTER THORN
1631
- "\u0131":"{\\i}", // LATIN SMALL LETTER DOTLESS I
1632
- "\u0132":"IJ", // LATIN CAPITAL LIGATURE IJ
1633
- "\u0133":"ij", // LATIN SMALL LIGATURE IJ
1634
- "\u0138":"k", // LATIN SMALL LETTER KRA
1635
- "\u0149":"'n", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
1636
- "\u014A":"{\\NG}", // LATIN CAPITAL LETTER ENG
1637
- "\u014B":"{\\ng}", // LATIN SMALL LETTER ENG
1638
- "\u0152":"{\\OE}", // LATIN CAPITAL LIGATURE OE
1639
- "\u0153":"{\\oe}", // LATIN SMALL LIGATURE OE
1640
- "\u017F":"s", // LATIN SMALL LETTER LONG S
1641
- "\u02B9":"'", // MODIFIER LETTER PRIME
1642
- "\u02BB":"'", // MODIFIER LETTER TURNED COMMA
1643
- "\u02BC":"'", // MODIFIER LETTER APOSTROPHE
1644
- "\u02BD":"'", // MODIFIER LETTER REVERSED COMMA
1645
- "\u02C6":"{\\textasciicircum}", // MODIFIER LETTER CIRCUMFLEX ACCENT
1646
- "\u02C8":"'", // MODIFIER LETTER VERTICAL LINE
1647
- "\u02C9":"-", // MODIFIER LETTER MACRON
1648
- "\u02CC":",", // MODIFIER LETTER LOW VERTICAL LINE
1649
- "\u02D0":":", // MODIFIER LETTER TRIANGULAR COLON
1650
- "\u02DA":"o", // RING ABOVE
1651
- "\u02DC":"\\~{}", // SMALL TILDE
1652
- "\u02DD":"{\\textacutedbl}", // DOUBLE ACUTE ACCENT
1653
- "\u0374":"'", // GREEK NUMERAL SIGN
1654
- "\u0375":",", // GREEK LOWER NUMERAL SIGN
1655
- "\u037E":";", // GREEK QUESTION MARK
1656
- //Greek letters courtesy of spartanroc
1657
- "\u0393":"$\\Gamma$", // GREEK Gamma
1658
- "\u0394":"$\\Delta$", // GREEK Delta
1659
- "\u0398":"$\\Theta$", // GREEK Theta
1660
- "\u039B":"$\\Lambda$", // GREEK Lambda
1661
- "\u039E":"$\\Xi$", // GREEK Xi
1662
- "\u03A0":"$\\Pi$", // GREEK Pi
1663
- "\u03A3":"$\\Sigma$", // GREEK Sigma
1664
- "\u03A6":"$\\Phi$", // GREEK Phi
1665
- "\u03A8":"$\\Psi$", // GREEK Psi
1666
- "\u03A9":"$\\Omega$", // GREEK Omega
1667
- "\u03B1":"$\\alpha$", // GREEK alpha
1668
- "\u03B2":"$\\beta$", // GREEK beta
1669
- "\u03B3":"$\\gamma$", // GREEK gamma
1670
- "\u03B4":"$\\delta$", // GREEK delta
1671
- "\u03B5":"$\\varepsilon$", // GREEK var-epsilon
1672
- "\u03B6":"$\\zeta$", // GREEK zeta
1673
- "\u03B7":"$\\eta$", // GREEK eta
1674
- "\u03B8":"$\\theta$", // GREEK theta
1675
- "\u03B9":"$\\iota$", // GREEK iota
1676
- "\u03BA":"$\\kappa$", // GREEK kappa
1677
- "\u03BB":"$\\lambda$", // GREEK lambda
1678
- "\u03BC":"$\\mu$", // GREEK mu
1679
- "\u03BD":"$\\nu$", // GREEK nu
1680
- "\u03BE":"$\\xi$", // GREEK xi
1681
- "\u03C0":"$\\pi$", // GREEK pi
1682
- "\u03C1":"$\\rho$", // GREEK rho
1683
- "\u03C2":"$\\varsigma$", // GREEK var-sigma
1684
- "\u03C3":"$\\sigma$", // GREEK sigma
1685
- "\u03C4":"$\\tau$", // GREEK tau
1686
- "\u03C5":"$\\upsilon$", // GREEK upsilon
1687
- "\u03C6":"$\\varphi$", // GREEK var-phi
1688
- "\u03C7":"$\\chi$", // GREEK chi
1689
- "\u03C8":"$\\psi$", // GREEK psi
1690
- "\u03C9":"$\\omega$", // GREEK omega
1691
- "\u03D1":"$\\vartheta$", // GREEK var-theta
1692
- "\u03D2":"$\\Upsilon$", // GREEK Upsilon
1693
- "\u03D5":"$\\phi$", // GREEK phi
1694
- "\u03D6":"$\\varpi$", // GREEK var-pi
1695
- "\u03F1":"$\\varrho$", // GREEK var-rho
1696
- "\u03F5":"$\\epsilon$", // GREEK epsilon
1697
- //Greek letters end
1698
- "\u2000":" ", // EN QUAD
1699
- "\u2001":" ", // EM QUAD
1700
- "\u2002":" ", // EN SPACE
1701
- "\u2003":" ", // EM SPACE
1702
- "\u2004":" ", // THREE-PER-EM SPACE
1703
- "\u2005":" ", // FOUR-PER-EM SPACE
1704
- "\u2006":" ", // SIX-PER-EM SPACE
1705
- "\u2007":" ", // FIGURE SPACE
1706
- "\u2008":" ", // PUNCTUATION SPACE
1707
- "\u2009":" ", // THIN SPACE
1708
- "\u2010":"-", // HYPHEN
1709
- "\u2011":"-", // NON-BREAKING HYPHEN
1710
- "\u2012":"-", // FIGURE DASH
1711
- "\u2013":"{\\textendash}", // EN DASH
1712
- "\u2014":"{\\textemdash}", // EM DASH
1713
- "\u2015":"{\\textemdash}", // HORIZONTAL BAR or QUOTATION DASH (not in LaTeX -- use EM DASH)
1714
- "\u2016":"{\\textbardbl}", // DOUBLE VERTICAL LINE
1715
- "\u2017":"{\\textunderscore}", // DOUBLE LOW LINE
1716
- "\u2018":"{\\textquoteleft}", // LEFT SINGLE QUOTATION MARK
1717
- "\u2019":"{\\textquoteright}", // RIGHT SINGLE QUOTATION MARK
1718
- "`" : "\u2018", // LEFT SINGLE QUOTATION MARK
1719
- "'" : "\u2019", // RIGHT SINGLE QUOTATION MARK
1720
- "\u201A":"{\\quotesinglbase}", // SINGLE LOW-9 QUOTATION MARK
1721
- "\u201B":"'", // SINGLE HIGH-REVERSED-9 QUOTATION MARK
1722
- "\u201C":"{\\textquotedblleft}", // LEFT DOUBLE QUOTATION MARK
1723
- "\u201D":"{\\textquotedblright}", // RIGHT DOUBLE QUOTATION MARK
1724
- "\u201E":"{\\quotedblbase}", // DOUBLE LOW-9 QUOTATION MARK
1725
- "\u201F":"{\\quotedblbase}", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
1726
- "\u2020":"{\\textdagger}", // DAGGER
1727
- "\u2021":"{\\textdaggerdbl}", // DOUBLE DAGGER
1728
- "\u2022":"{\\textbullet}", // BULLET
1729
- "\u2023":">", // TRIANGULAR BULLET
1730
- "\u2024":".", // ONE DOT LEADER
1731
- "\u2025":"..", // TWO DOT LEADER
1732
- "\u2026":"{\\textellipsis}", // HORIZONTAL ELLIPSIS
1733
- "\u2027":"-", // HYPHENATION POINT
1734
- "\u202F":" ", // NARROW NO-BREAK SPACE
1735
- "\u2030":"{\\textperthousand}", // PER MILLE SIGN
1736
- "\u2032":"'", // PRIME
1737
- "\u2033":"'", // DOUBLE PRIME
1738
- "\u2034":"'''", // TRIPLE PRIME
1739
- "\u2035":"`", // REVERSED PRIME
1740
- "\u2036":"``", // REVERSED DOUBLE PRIME
1741
- "\u2037":"```", // REVERSED TRIPLE PRIME
1742
- "\u2039":"{\\guilsinglleft}", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
1743
- "\u203A":"{\\guilsinglright}", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
1744
- "\u203C":"!!", // DOUBLE EXCLAMATION MARK
1745
- "\u203E":"-", // OVERLINE
1746
- "\u2043":"-", // HYPHEN BULLET
1747
- "\u2044":"{\\textfractionsolidus}", // FRACTION SLASH
1748
- "\u2048":"?!", // QUESTION EXCLAMATION MARK
1749
- "\u2049":"!?", // EXCLAMATION QUESTION MARK
1750
- "\u204A":"7", // TIRONIAN SIGN ET
1751
- "\u2070":"$^{0}$", // SUPERSCRIPT ZERO
1752
- "\u2074":"$^{4}$", // SUPERSCRIPT FOUR
1753
- "\u2075":"$^{5}$", // SUPERSCRIPT FIVE
1754
- "\u2076":"$^{6}$", // SUPERSCRIPT SIX
1755
- "\u2077":"$^{7}$", // SUPERSCRIPT SEVEN
1756
- "\u2078":"$^{8}$", // SUPERSCRIPT EIGHT
1757
- "\u2079":"$^{9}$", // SUPERSCRIPT NINE
1758
- "\u207A":"$^{+}$", // SUPERSCRIPT PLUS SIGN
1759
- "\u207B":"$^{-}$", // SUPERSCRIPT MINUS
1760
- "\u207C":"$^{=}$", // SUPERSCRIPT EQUALS SIGN
1761
- "\u207D":"$^{(}$", // SUPERSCRIPT LEFT PARENTHESIS
1762
- "\u207E":"$^{)}$", // SUPERSCRIPT RIGHT PARENTHESIS
1763
- "\u207F":"$^{n}$", // SUPERSCRIPT LATIN SMALL LETTER N
1764
- "\u2080":"$_{0}$", // SUBSCRIPT ZERO
1765
- "\u2081":"$_{1}$", // SUBSCRIPT ONE
1766
- "\u2082":"$_{2}$", // SUBSCRIPT TWO
1767
- "\u2083":"$_{3}$", // SUBSCRIPT THREE
1768
- "\u2084":"$_{4}$", // SUBSCRIPT FOUR
1769
- "\u2085":"$_{5}$", // SUBSCRIPT FIVE
1770
- "\u2086":"$_{6}$", // SUBSCRIPT SIX
1771
- "\u2087":"$_{7}$", // SUBSCRIPT SEVEN
1772
- "\u2088":"$_{8}$", // SUBSCRIPT EIGHT
1773
- "\u2089":"$_{9}$", // SUBSCRIPT NINE
1774
- "\u208A":"$_{+}$", // SUBSCRIPT PLUS SIGN
1775
- "\u208B":"$_{-}$", // SUBSCRIPT MINUS
1776
- "\u208C":"$_{=}$", // SUBSCRIPT EQUALS SIGN
1777
- "\u208D":"$_{(}$", // SUBSCRIPT LEFT PARENTHESIS
1778
- "\u208E":"$_{)}$", // SUBSCRIPT RIGHT PARENTHESIS
1779
- "\u20AC":"{\\texteuro}", // EURO SIGN
1780
- "\u2100":"a/c", // ACCOUNT OF
1781
- "\u2101":"a/s", // ADDRESSED TO THE SUBJECT
1782
- "\u2103":"{\\textcelsius}", // DEGREE CELSIUS
1783
- "\u2105":"c/o", // CARE OF
1784
- "\u2106":"c/u", // CADA UNA
1785
- "\u2109":"F", // DEGREE FAHRENHEIT
1786
- "\u2113":"l", // SCRIPT SMALL L
1787
- "\u2116":"{\\textnumero}", // NUMERO SIGN
1788
- "\u2117":"{\\textcircledP}", // SOUND RECORDING COPYRIGHT
1789
- "\u2120":"{\\textservicemark}", // SERVICE MARK
1790
- "\u2121":"TEL", // TELEPHONE SIGN
1791
- "\u2122":"{\\texttrademark}", // TRADE MARK SIGN
1792
- "\u2126":"{\\textohm}", // OHM SIGN
1793
- "\u212A":"K", // KELVIN SIGN
1794
- "\u212B":"A", // ANGSTROM SIGN
1795
- "\u212E":"{\\textestimated}", // ESTIMATED SYMBOL
1796
- "\u2153":" 1/3", // VULGAR FRACTION ONE THIRD
1797
- "\u2154":" 2/3", // VULGAR FRACTION TWO THIRDS
1798
- "\u2155":" 1/5", // VULGAR FRACTION ONE FIFTH
1799
- "\u2156":" 2/5", // VULGAR FRACTION TWO FIFTHS
1800
- "\u2157":" 3/5", // VULGAR FRACTION THREE FIFTHS
1801
- "\u2158":" 4/5", // VULGAR FRACTION FOUR FIFTHS
1802
- "\u2159":" 1/6", // VULGAR FRACTION ONE SIXTH
1803
- "\u215A":" 5/6", // VULGAR FRACTION FIVE SIXTHS
1804
- "\u215B":" 1/8", // VULGAR FRACTION ONE EIGHTH
1805
- "\u215C":" 3/8", // VULGAR FRACTION THREE EIGHTHS
1806
- "\u215D":" 5/8", // VULGAR FRACTION FIVE EIGHTHS
1807
- "\u215E":" 7/8", // VULGAR FRACTION SEVEN EIGHTHS
1808
- "\u215F":" 1/", // FRACTION NUMERATOR ONE
1809
- "\u2160":"I", // ROMAN NUMERAL ONE
1810
- "\u2161":"II", // ROMAN NUMERAL TWO
1811
- "\u2162":"III", // ROMAN NUMERAL THREE
1812
- "\u2163":"IV", // ROMAN NUMERAL FOUR
1813
- "\u2164":"V", // ROMAN NUMERAL FIVE
1814
- "\u2165":"VI", // ROMAN NUMERAL SIX
1815
- "\u2166":"VII", // ROMAN NUMERAL SEVEN
1816
- "\u2167":"VIII", // ROMAN NUMERAL EIGHT
1817
- "\u2168":"IX", // ROMAN NUMERAL NINE
1818
- "\u2169":"X", // ROMAN NUMERAL TEN
1819
- "\u216A":"XI", // ROMAN NUMERAL ELEVEN
1820
- "\u216B":"XII", // ROMAN NUMERAL TWELVE
1821
- "\u216C":"L", // ROMAN NUMERAL FIFTY
1822
- "\u216D":"C", // ROMAN NUMERAL ONE HUNDRED
1823
- "\u216E":"D", // ROMAN NUMERAL FIVE HUNDRED
1824
- "\u216F":"M", // ROMAN NUMERAL ONE THOUSAND
1825
- "\u2170":"i", // SMALL ROMAN NUMERAL ONE
1826
- "\u2171":"ii", // SMALL ROMAN NUMERAL TWO
1827
- "\u2172":"iii", // SMALL ROMAN NUMERAL THREE
1828
- "\u2173":"iv", // SMALL ROMAN NUMERAL FOUR
1829
- "\u2174":"v", // SMALL ROMAN NUMERAL FIVE
1830
- "\u2175":"vi", // SMALL ROMAN NUMERAL SIX
1831
- "\u2176":"vii", // SMALL ROMAN NUMERAL SEVEN
1832
- "\u2177":"viii", // SMALL ROMAN NUMERAL EIGHT
1833
- "\u2178":"ix", // SMALL ROMAN NUMERAL NINE
1834
- "\u2179":"x", // SMALL ROMAN NUMERAL TEN
1835
- "\u217A":"xi", // SMALL ROMAN NUMERAL ELEVEN
1836
- "\u217B":"xii", // SMALL ROMAN NUMERAL TWELVE
1837
- "\u217C":"l", // SMALL ROMAN NUMERAL FIFTY
1838
- "\u217D":"c", // SMALL ROMAN NUMERAL ONE HUNDRED
1839
- "\u217E":"d", // SMALL ROMAN NUMERAL FIVE HUNDRED
1840
- "\u217F":"m", // SMALL ROMAN NUMERAL ONE THOUSAND
1841
- "\u2190":"{\\textleftarrow}", // LEFTWARDS ARROW
1842
- "\u2191":"{\\textuparrow}", // UPWARDS ARROW
1843
- "\u2192":"{\\textrightarrow}", // RIGHTWARDS ARROW
1844
- "\u2193":"{\\textdownarrow}", // DOWNWARDS ARROW
1845
- "\u2194":"<->", // LEFT RIGHT ARROW
1846
- "\u21D0":"<=", // LEFTWARDS DOUBLE ARROW
1847
- "\u21D2":"=>", // RIGHTWARDS DOUBLE ARROW
1848
- "\u21D4":"<=>", // LEFT RIGHT DOUBLE ARROW
1849
- "\u2212":"-", // MINUS SIGN
1850
- "\u2215":"/", // DIVISION SLASH
1851
- "\u2216":"\\", // SET MINUS
1852
- "\u2217":"*", // ASTERISK OPERATOR
1853
- "\u2218":"o", // RING OPERATOR
1854
- "\u2219":".", // BULLET OPERATOR
1855
- "\u221E":"$\\infty$", // INFINITY
1856
- "\u2223":"|", // DIVIDES
1857
- "\u2225":"||", // PARALLEL TO
1858
- "\u2236":":", // RATIO
1859
- "\u223C":"\\~{}", // TILDE OPERATOR
1860
- "\u2260":"/=", // NOT EQUAL TO
1861
- "\u2261":"=", // IDENTICAL TO
1862
- "\u2264":"<=", // LESS-THAN OR EQUAL TO
1863
- "\u2265":">=", // GREATER-THAN OR EQUAL TO
1864
- "\u226A":"<<", // MUCH LESS-THAN
1865
- "\u226B":">>", // MUCH GREATER-THAN
1866
- "\u2295":"(+)", // CIRCLED PLUS
1867
- "\u2296":"(-)", // CIRCLED MINUS
1868
- "\u2297":"(x)", // CIRCLED TIMES
1869
- "\u2298":"(/)", // CIRCLED DIVISION SLASH
1870
- "\u22A2":"|-", // RIGHT TACK
1871
- "\u22A3":"-|", // LEFT TACK
1872
- "\u22A6":"|-", // ASSERTION
1873
- "\u22A7":"|=", // MODELS
1874
- "\u22A8":"|=", // TRUE
1875
- "\u22A9":"||-", // FORCES
1876
- "\u22C5":".", // DOT OPERATOR
1877
- "\u22C6":"*", // STAR OPERATOR
1878
- "\u22D5":"$\\#$", // EQUAL AND PARALLEL TO
1879
- "\u22D8":"<<<", // VERY MUCH LESS-THAN
1880
- "\u22D9":">>>", // VERY MUCH GREATER-THAN
1881
- "\u2329":"{\\textlangle}", // LEFT-POINTING ANGLE BRACKET
1882
- "\u232A":"{\\textrangle}", // RIGHT-POINTING ANGLE BRACKET
1883
- "\u2400":"NUL", // SYMBOL FOR NULL
1884
- "\u2401":"SOH", // SYMBOL FOR START OF HEADING
1885
- "\u2402":"STX", // SYMBOL FOR START OF TEXT
1886
- "\u2403":"ETX", // SYMBOL FOR END OF TEXT
1887
- "\u2404":"EOT", // SYMBOL FOR END OF TRANSMISSION
1888
- "\u2405":"ENQ", // SYMBOL FOR ENQUIRY
1889
- "\u2406":"ACK", // SYMBOL FOR ACKNOWLEDGE
1890
- "\u2407":"BEL", // SYMBOL FOR BELL
1891
- "\u2408":"BS", // SYMBOL FOR BACKSPACE
1892
- "\u2409":"HT", // SYMBOL FOR HORIZONTAL TABULATION
1893
- "\u240A":"LF", // SYMBOL FOR LINE FEED
1894
- "\u240B":"VT", // SYMBOL FOR VERTICAL TABULATION
1895
- "\u240C":"FF", // SYMBOL FOR FORM FEED
1896
- "\u240D":"CR", // SYMBOL FOR CARRIAGE RETURN
1897
- "\u240E":"SO", // SYMBOL FOR SHIFT OUT
1898
- "\u240F":"SI", // SYMBOL FOR SHIFT IN
1899
- "\u2410":"DLE", // SYMBOL FOR DATA LINK ESCAPE
1900
- "\u2411":"DC1", // SYMBOL FOR DEVICE CONTROL ONE
1901
- "\u2412":"DC2", // SYMBOL FOR DEVICE CONTROL TWO
1902
- "\u2413":"DC3", // SYMBOL FOR DEVICE CONTROL THREE
1903
- "\u2414":"DC4", // SYMBOL FOR DEVICE CONTROL FOUR
1904
- "\u2415":"NAK", // SYMBOL FOR NEGATIVE ACKNOWLEDGE
1905
- "\u2416":"SYN", // SYMBOL FOR SYNCHRONOUS IDLE
1906
- "\u2417":"ETB", // SYMBOL FOR END OF TRANSMISSION BLOCK
1907
- "\u2418":"CAN", // SYMBOL FOR CANCEL
1908
- "\u2419":"EM", // SYMBOL FOR END OF MEDIUM
1909
- "\u241A":"SUB", // SYMBOL FOR SUBSTITUTE
1910
- "\u241B":"ESC", // SYMBOL FOR ESCAPE
1911
- "\u241C":"FS", // SYMBOL FOR FILE SEPARATOR
1912
- "\u241D":"GS", // SYMBOL FOR GROUP SEPARATOR
1913
- "\u241E":"RS", // SYMBOL FOR RECORD SEPARATOR
1914
- "\u241F":"US", // SYMBOL FOR UNIT SEPARATOR
1915
- "\u2420":"SP", // SYMBOL FOR SPACE
1916
- "\u2421":"DEL", // SYMBOL FOR DELETE
1917
- "\u2423":"{\\textvisiblespace}", // OPEN BOX
1918
- "\u2424":"NL", // SYMBOL FOR NEWLINE
1919
- "\u2425":"///", // SYMBOL FOR DELETE FORM TWO
1920
- "\u2426":"?", // SYMBOL FOR SUBSTITUTE FORM TWO
1921
- "\u2460":"(1)", // CIRCLED DIGIT ONE
1922
- "\u2461":"(2)", // CIRCLED DIGIT TWO
1923
- "\u2462":"(3)", // CIRCLED DIGIT THREE
1924
- "\u2463":"(4)", // CIRCLED DIGIT FOUR
1925
- "\u2464":"(5)", // CIRCLED DIGIT FIVE
1926
- "\u2465":"(6)", // CIRCLED DIGIT SIX
1927
- "\u2466":"(7)", // CIRCLED DIGIT SEVEN
1928
- "\u2467":"(8)", // CIRCLED DIGIT EIGHT
1929
- "\u2468":"(9)", // CIRCLED DIGIT NINE
1930
- "\u2469":"(10)", // CIRCLED NUMBER TEN
1931
- "\u246A":"(11)", // CIRCLED NUMBER ELEVEN
1932
- "\u246B":"(12)", // CIRCLED NUMBER TWELVE
1933
- "\u246C":"(13)", // CIRCLED NUMBER THIRTEEN
1934
- "\u246D":"(14)", // CIRCLED NUMBER FOURTEEN
1935
- "\u246E":"(15)", // CIRCLED NUMBER FIFTEEN
1936
- "\u246F":"(16)", // CIRCLED NUMBER SIXTEEN
1937
- "\u2470":"(17)", // CIRCLED NUMBER SEVENTEEN
1938
- "\u2471":"(18)", // CIRCLED NUMBER EIGHTEEN
1939
- "\u2472":"(19)", // CIRCLED NUMBER NINETEEN
1940
- "\u2473":"(20)", // CIRCLED NUMBER TWENTY
1941
- "\u2474":"(1)", // PARENTHESIZED DIGIT ONE
1942
- "\u2475":"(2)", // PARENTHESIZED DIGIT TWO
1943
- "\u2476":"(3)", // PARENTHESIZED DIGIT THREE
1944
- "\u2477":"(4)", // PARENTHESIZED DIGIT FOUR
1945
- "\u2478":"(5)", // PARENTHESIZED DIGIT FIVE
1946
- "\u2479":"(6)", // PARENTHESIZED DIGIT SIX
1947
- "\u247A":"(7)", // PARENTHESIZED DIGIT SEVEN
1948
- "\u247B":"(8)", // PARENTHESIZED DIGIT EIGHT
1949
- "\u247C":"(9)", // PARENTHESIZED DIGIT NINE
1950
- "\u247D":"(10)", // PARENTHESIZED NUMBER TEN
1951
- "\u247E":"(11)", // PARENTHESIZED NUMBER ELEVEN
1952
- "\u247F":"(12)", // PARENTHESIZED NUMBER TWELVE
1953
- "\u2480":"(13)", // PARENTHESIZED NUMBER THIRTEEN
1954
- "\u2481":"(14)", // PARENTHESIZED NUMBER FOURTEEN
1955
- "\u2482":"(15)", // PARENTHESIZED NUMBER FIFTEEN
1956
- "\u2483":"(16)", // PARENTHESIZED NUMBER SIXTEEN
1957
- "\u2484":"(17)", // PARENTHESIZED NUMBER SEVENTEEN
1958
- "\u2485":"(18)", // PARENTHESIZED NUMBER EIGHTEEN
1959
- "\u2486":"(19)", // PARENTHESIZED NUMBER NINETEEN
1960
- "\u2487":"(20)", // PARENTHESIZED NUMBER TWENTY
1961
- "\u2488":"1.", // DIGIT ONE FULL STOP
1962
- "\u2489":"2.", // DIGIT TWO FULL STOP
1963
- "\u248A":"3.", // DIGIT THREE FULL STOP
1964
- "\u248B":"4.", // DIGIT FOUR FULL STOP
1965
- "\u248C":"5.", // DIGIT FIVE FULL STOP
1966
- "\u248D":"6.", // DIGIT SIX FULL STOP
1967
- "\u248E":"7.", // DIGIT SEVEN FULL STOP
1968
- "\u248F":"8.", // DIGIT EIGHT FULL STOP
1969
- "\u2490":"9.", // DIGIT NINE FULL STOP
1970
- "\u2491":"10.", // NUMBER TEN FULL STOP
1971
- "\u2492":"11.", // NUMBER ELEVEN FULL STOP
1972
- "\u2493":"12.", // NUMBER TWELVE FULL STOP
1973
- "\u2494":"13.", // NUMBER THIRTEEN FULL STOP
1974
- "\u2495":"14.", // NUMBER FOURTEEN FULL STOP
1975
- "\u2496":"15.", // NUMBER FIFTEEN FULL STOP
1976
- "\u2497":"16.", // NUMBER SIXTEEN FULL STOP
1977
- "\u2498":"17.", // NUMBER SEVENTEEN FULL STOP
1978
- "\u2499":"18.", // NUMBER EIGHTEEN FULL STOP
1979
- "\u249A":"19.", // NUMBER NINETEEN FULL STOP
1980
- "\u249B":"20.", // NUMBER TWENTY FULL STOP
1981
- "\u249C":"(a)", // PARENTHESIZED LATIN SMALL LETTER A
1982
- "\u249D":"(b)", // PARENTHESIZED LATIN SMALL LETTER B
1983
- "\u249E":"(c)", // PARENTHESIZED LATIN SMALL LETTER C
1984
- "\u249F":"(d)", // PARENTHESIZED LATIN SMALL LETTER D
1985
- "\u24A0":"(e)", // PARENTHESIZED LATIN SMALL LETTER E
1986
- "\u24A1":"(f)", // PARENTHESIZED LATIN SMALL LETTER F
1987
- "\u24A2":"(g)", // PARENTHESIZED LATIN SMALL LETTER G
1988
- "\u24A3":"(h)", // PARENTHESIZED LATIN SMALL LETTER H
1989
- "\u24A4":"(i)", // PARENTHESIZED LATIN SMALL LETTER I
1990
- "\u24A5":"(j)", // PARENTHESIZED LATIN SMALL LETTER J
1991
- "\u24A6":"(k)", // PARENTHESIZED LATIN SMALL LETTER K
1992
- "\u24A7":"(l)", // PARENTHESIZED LATIN SMALL LETTER L
1993
- "\u24A8":"(m)", // PARENTHESIZED LATIN SMALL LETTER M
1994
- "\u24A9":"(n)", // PARENTHESIZED LATIN SMALL LETTER N
1995
- "\u24AA":"(o)", // PARENTHESIZED LATIN SMALL LETTER O
1996
- "\u24AB":"(p)", // PARENTHESIZED LATIN SMALL LETTER P
1997
- "\u24AC":"(q)", // PARENTHESIZED LATIN SMALL LETTER Q
1998
- "\u24AD":"(r)", // PARENTHESIZED LATIN SMALL LETTER R
1999
- "\u24AE":"(s)", // PARENTHESIZED LATIN SMALL LETTER S
2000
- "\u24AF":"(t)", // PARENTHESIZED LATIN SMALL LETTER T
2001
- "\u24B0":"(u)", // PARENTHESIZED LATIN SMALL LETTER U
2002
- "\u24B1":"(v)", // PARENTHESIZED LATIN SMALL LETTER V
2003
- "\u24B2":"(w)", // PARENTHESIZED LATIN SMALL LETTER W
2004
- "\u24B3":"(x)", // PARENTHESIZED LATIN SMALL LETTER X
2005
- "\u24B4":"(y)", // PARENTHESIZED LATIN SMALL LETTER Y
2006
- "\u24B5":"(z)", // PARENTHESIZED LATIN SMALL LETTER Z
2007
- "\u24B6":"(A)", // CIRCLED LATIN CAPITAL LETTER A
2008
- "\u24B7":"(B)", // CIRCLED LATIN CAPITAL LETTER B
2009
- "\u24B8":"(C)", // CIRCLED LATIN CAPITAL LETTER C
2010
- "\u24B9":"(D)", // CIRCLED LATIN CAPITAL LETTER D
2011
- "\u24BA":"(E)", // CIRCLED LATIN CAPITAL LETTER E
2012
- "\u24BB":"(F)", // CIRCLED LATIN CAPITAL LETTER F
2013
- "\u24BC":"(G)", // CIRCLED LATIN CAPITAL LETTER G
2014
- "\u24BD":"(H)", // CIRCLED LATIN CAPITAL LETTER H
2015
- "\u24BE":"(I)", // CIRCLED LATIN CAPITAL LETTER I
2016
- "\u24BF":"(J)", // CIRCLED LATIN CAPITAL LETTER J
2017
- "\u24C0":"(K)", // CIRCLED LATIN CAPITAL LETTER K
2018
- "\u24C1":"(L)", // CIRCLED LATIN CAPITAL LETTER L
2019
- "\u24C2":"(M)", // CIRCLED LATIN CAPITAL LETTER M
2020
- "\u24C3":"(N)", // CIRCLED LATIN CAPITAL LETTER N
2021
- "\u24C4":"(O)", // CIRCLED LATIN CAPITAL LETTER O
2022
- "\u24C5":"(P)", // CIRCLED LATIN CAPITAL LETTER P
2023
- "\u24C6":"(Q)", // CIRCLED LATIN CAPITAL LETTER Q
2024
- "\u24C7":"(R)", // CIRCLED LATIN CAPITAL LETTER R
2025
- "\u24C8":"(S)", // CIRCLED LATIN CAPITAL LETTER S
2026
- "\u24C9":"(T)", // CIRCLED LATIN CAPITAL LETTER T
2027
- "\u24CA":"(U)", // CIRCLED LATIN CAPITAL LETTER U
2028
- "\u24CB":"(V)", // CIRCLED LATIN CAPITAL LETTER V
2029
- "\u24CC":"(W)", // CIRCLED LATIN CAPITAL LETTER W
2030
- "\u24CD":"(X)", // CIRCLED LATIN CAPITAL LETTER X
2031
- "\u24CE":"(Y)", // CIRCLED LATIN CAPITAL LETTER Y
2032
- "\u24CF":"(Z)", // CIRCLED LATIN CAPITAL LETTER Z
2033
- "\u24D0":"(a)", // CIRCLED LATIN SMALL LETTER A
2034
- "\u24D1":"(b)", // CIRCLED LATIN SMALL LETTER B
2035
- "\u24D2":"(c)", // CIRCLED LATIN SMALL LETTER C
2036
- "\u24D3":"(d)", // CIRCLED LATIN SMALL LETTER D
2037
- "\u24D4":"(e)", // CIRCLED LATIN SMALL LETTER E
2038
- "\u24D5":"(f)", // CIRCLED LATIN SMALL LETTER F
2039
- "\u24D6":"(g)", // CIRCLED LATIN SMALL LETTER G
2040
- "\u24D7":"(h)", // CIRCLED LATIN SMALL LETTER H
2041
- "\u24D8":"(i)", // CIRCLED LATIN SMALL LETTER I
2042
- "\u24D9":"(j)", // CIRCLED LATIN SMALL LETTER J
2043
- "\u24DA":"(k)", // CIRCLED LATIN SMALL LETTER K
2044
- "\u24DB":"(l)", // CIRCLED LATIN SMALL LETTER L
2045
- "\u24DC":"(m)", // CIRCLED LATIN SMALL LETTER M
2046
- "\u24DD":"(n)", // CIRCLED LATIN SMALL LETTER N
2047
- "\u24DE":"(o)", // CIRCLED LATIN SMALL LETTER O
2048
- "\u24DF":"(p)", // CIRCLED LATIN SMALL LETTER P
2049
- "\u24E0":"(q)", // CIRCLED LATIN SMALL LETTER Q
2050
- "\u24E1":"(r)", // CIRCLED LATIN SMALL LETTER R
2051
- "\u24E2":"(s)", // CIRCLED LATIN SMALL LETTER S
2052
- "\u24E3":"(t)", // CIRCLED LATIN SMALL LETTER T
2053
- "\u24E4":"(u)", // CIRCLED LATIN SMALL LETTER U
2054
- "\u24E5":"(v)", // CIRCLED LATIN SMALL LETTER V
2055
- "\u24E6":"(w)", // CIRCLED LATIN SMALL LETTER W
2056
- "\u24E7":"(x)", // CIRCLED LATIN SMALL LETTER X
2057
- "\u24E8":"(y)", // CIRCLED LATIN SMALL LETTER Y
2058
- "\u24E9":"(z)", // CIRCLED LATIN SMALL LETTER Z
2059
- "\u24EA":"(0)", // CIRCLED DIGIT ZERO
2060
- "\u2500":"-", // BOX DRAWINGS LIGHT HORIZONTAL
2061
- "\u2501":"=", // BOX DRAWINGS HEAVY HORIZONTAL
2062
- "\u2502":"|", // BOX DRAWINGS LIGHT VERTICAL
2063
- "\u2503":"|", // BOX DRAWINGS HEAVY VERTICAL
2064
- "\u2504":"-", // BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
2065
- "\u2505":"=", // BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
2066
- "\u2506":"|", // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
2067
- "\u2507":"|", // BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
2068
- "\u2508":"-", // BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
2069
- "\u2509":"=", // BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
2070
- "\u250A":"|", // BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
2071
- "\u250B":"|", // BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
2072
- "\u250C":"+", // BOX DRAWINGS LIGHT DOWN AND RIGHT
2073
- "\u250D":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
2074
- "\u250E":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
2075
- "\u250F":"+", // BOX DRAWINGS HEAVY DOWN AND RIGHT
2076
- "\u2510":"+", // BOX DRAWINGS LIGHT DOWN AND LEFT
2077
- "\u2511":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
2078
- "\u2512":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
2079
- "\u2513":"+", // BOX DRAWINGS HEAVY DOWN AND LEFT
2080
- "\u2514":"+", // BOX DRAWINGS LIGHT UP AND RIGHT
2081
- "\u2515":"+", // BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
2082
- "\u2516":"+", // BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
2083
- "\u2517":"+", // BOX DRAWINGS HEAVY UP AND RIGHT
2084
- "\u2518":"+", // BOX DRAWINGS LIGHT UP AND LEFT
2085
- "\u2519":"+", // BOX DRAWINGS UP LIGHT AND LEFT HEAVY
2086
- "\u251A":"+", // BOX DRAWINGS UP HEAVY AND LEFT LIGHT
2087
- "\u251B":"+", // BOX DRAWINGS HEAVY UP AND LEFT
2088
- "\u251C":"+", // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
2089
- "\u251D":"+", // BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
2090
- "\u251E":"+", // BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
2091
- "\u251F":"+", // BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
2092
- "\u2520":"+", // BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
2093
- "\u2521":"+", // BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
2094
- "\u2522":"+", // BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
2095
- "\u2523":"+", // BOX DRAWINGS HEAVY VERTICAL AND RIGHT
2096
- "\u2524":"+", // BOX DRAWINGS LIGHT VERTICAL AND LEFT
2097
- "\u2525":"+", // BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
2098
- "\u2526":"+", // BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
2099
- "\u2527":"+", // BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
2100
- "\u2528":"+", // BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
2101
- "\u2529":"+", // BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
2102
- "\u252A":"+", // BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
2103
- "\u252B":"+", // BOX DRAWINGS HEAVY VERTICAL AND LEFT
2104
- "\u252C":"+", // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
2105
- "\u252D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
2106
- "\u252E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
2107
- "\u252F":"+", // BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
2108
- "\u2530":"+", // BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
2109
- "\u2531":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
2110
- "\u2532":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
2111
- "\u2533":"+", // BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
2112
- "\u2534":"+", // BOX DRAWINGS LIGHT UP AND HORIZONTAL
2113
- "\u2535":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
2114
- "\u2536":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
2115
- "\u2537":"+", // BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
2116
- "\u2538":"+", // BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
2117
- "\u2539":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
2118
- "\u253A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
2119
- "\u253B":"+", // BOX DRAWINGS HEAVY UP AND HORIZONTAL
2120
- "\u253C":"+", // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
2121
- "\u253D":"+", // BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
2122
- "\u253E":"+", // BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
2123
- "\u253F":"+", // BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
2124
- "\u2540":"+", // BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
2125
- "\u2541":"+", // BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
2126
- "\u2542":"+", // BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
2127
- "\u2543":"+", // BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
2128
- "\u2544":"+", // BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
2129
- "\u2545":"+", // BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
2130
- "\u2546":"+", // BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
2131
- "\u2547":"+", // BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
2132
- "\u2548":"+", // BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
2133
- "\u2549":"+", // BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
2134
- "\u254A":"+", // BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
2135
- "\u254B":"+", // BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
2136
- "\u254C":"-", // BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
2137
- "\u254D":"=", // BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
2138
- "\u254E":"|", // BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
2139
- "\u254F":"|", // BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
2140
- "\u2550":"=", // BOX DRAWINGS DOUBLE HORIZONTAL
2141
- "\u2551":"|", // BOX DRAWINGS DOUBLE VERTICAL
2142
- "\u2552":"+", // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
2143
- "\u2553":"+", // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
2144
- "\u2554":"+", // BOX DRAWINGS DOUBLE DOWN AND RIGHT
2145
- "\u2555":"+", // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
2146
- "\u2556":"+", // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
2147
- "\u2557":"+", // BOX DRAWINGS DOUBLE DOWN AND LEFT
2148
- "\u2558":"+", // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
2149
- "\u2559":"+", // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
2150
- "\u255A":"+", // BOX DRAWINGS DOUBLE UP AND RIGHT
2151
- "\u255B":"+", // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
2152
- "\u255C":"+", // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
2153
- "\u255D":"+", // BOX DRAWINGS DOUBLE UP AND LEFT
2154
- "\u255E":"+", // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
2155
- "\u255F":"+", // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
2156
- "\u2560":"+", // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
2157
- "\u2561":"+", // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
2158
- "\u2562":"+", // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
2159
- "\u2563":"+", // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
2160
- "\u2564":"+", // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
2161
- "\u2565":"+", // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
2162
- "\u2566":"+", // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
2163
- "\u2567":"+", // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
2164
- "\u2568":"+", // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
2165
- "\u2569":"+", // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
2166
- "\u256A":"+", // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
2167
- "\u256B":"+", // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
2168
- "\u256C":"+", // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
2169
- "\u256D":"+", // BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
2170
- "\u256E":"+", // BOX DRAWINGS LIGHT ARC DOWN AND LEFT
2171
- "\u256F":"+", // BOX DRAWINGS LIGHT ARC UP AND LEFT
2172
- "\u2570":"+", // BOX DRAWINGS LIGHT ARC UP AND RIGHT
2173
- "\u2571":"/", // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
2174
- "\u2572":"\\", // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
2175
- "\u2573":"X", // BOX DRAWINGS LIGHT DIAGONAL CROSS
2176
- "\u257C":"-", // BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
2177
- "\u257D":"|", // BOX DRAWINGS LIGHT UP AND HEAVY DOWN
2178
- "\u257E":"-", // BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
2179
- "\u257F":"|", // BOX DRAWINGS HEAVY UP AND LIGHT DOWN
2180
- "\u25CB":"o", // WHITE CIRCLE
2181
- "\u25E6":"{\\textopenbullet}", // WHITE BULLET
2182
- "\u2605":"*", // BLACK STAR
2183
- "\u2606":"*", // WHITE STAR
2184
- "\u2612":"X", // BALLOT BOX WITH X
2185
- "\u2613":"X", // SALTIRE
2186
- "\u2639":":-(", // WHITE FROWNING FACE
2187
- "\u263A":":-)", // WHITE SMILING FACE
2188
- "\u263B":"(-:", // BLACK SMILING FACE
2189
- "\u266D":"b", // MUSIC FLAT SIGN
2190
- "\u266F":"$\\#$", // MUSIC SHARP SIGN
2191
- "\u2701":"$\\%<$", // UPPER BLADE SCISSORS
2192
- "\u2702":"$\\%<$", // BLACK SCISSORS
2193
- "\u2703":"$\\%<$", // LOWER BLADE SCISSORS
2194
- "\u2704":"$\\%<$", // WHITE SCISSORS
2195
- "\u270C":"V", // VICTORY HAND
2196
- "\u2713":"v", // CHECK MARK
2197
- "\u2714":"V", // HEAVY CHECK MARK
2198
- "\u2715":"x", // MULTIPLICATION X
2199
- "\u2716":"x", // HEAVY MULTIPLICATION X
2200
- "\u2717":"X", // BALLOT X
2201
- "\u2718":"X", // HEAVY BALLOT X
2202
- "\u2719":"+", // OUTLINED GREEK CROSS
2203
- "\u271A":"+", // HEAVY GREEK CROSS
2204
- "\u271B":"+", // OPEN CENTRE CROSS
2205
- "\u271C":"+", // HEAVY OPEN CENTRE CROSS
2206
- "\u271D":"+", // LATIN CROSS
2207
- "\u271E":"+", // SHADOWED WHITE LATIN CROSS
2208
- "\u271F":"+", // OUTLINED LATIN CROSS
2209
- "\u2720":"+", // MALTESE CROSS
2210
- "\u2721":"*", // STAR OF DAVID
2211
- "\u2722":"+", // FOUR TEARDROP-SPOKED ASTERISK
2212
- "\u2723":"+", // FOUR BALLOON-SPOKED ASTERISK
2213
- "\u2724":"+", // HEAVY FOUR BALLOON-SPOKED ASTERISK
2214
- "\u2725":"+", // FOUR CLUB-SPOKED ASTERISK
2215
- "\u2726":"+", // BLACK FOUR POINTED STAR
2216
- "\u2727":"+", // WHITE FOUR POINTED STAR
2217
- "\u2729":"*", // STRESS OUTLINED WHITE STAR
2218
- "\u272A":"*", // CIRCLED WHITE STAR
2219
- "\u272B":"*", // OPEN CENTRE BLACK STAR
2220
- "\u272C":"*", // BLACK CENTRE WHITE STAR
2221
- "\u272D":"*", // OUTLINED BLACK STAR
2222
- "\u272E":"*", // HEAVY OUTLINED BLACK STAR
2223
- "\u272F":"*", // PINWHEEL STAR
2224
- "\u2730":"*", // SHADOWED WHITE STAR
2225
- "\u2731":"*", // HEAVY ASTERISK
2226
- "\u2732":"*", // OPEN CENTRE ASTERISK
2227
- "\u2733":"*", // EIGHT SPOKED ASTERISK
2228
- "\u2734":"*", // EIGHT POINTED BLACK STAR
2229
- "\u2735":"*", // EIGHT POINTED PINWHEEL STAR
2230
- "\u2736":"*", // SIX POINTED BLACK STAR
2231
- "\u2737":"*", // EIGHT POINTED RECTILINEAR BLACK STAR
2232
- "\u2738":"*", // HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
2233
- "\u2739":"*", // TWELVE POINTED BLACK STAR
2234
- "\u273A":"*", // SIXTEEN POINTED ASTERISK
2235
- "\u273B":"*", // TEARDROP-SPOKED ASTERISK
2236
- "\u273C":"*", // OPEN CENTRE TEARDROP-SPOKED ASTERISK
2237
- "\u273D":"*", // HEAVY TEARDROP-SPOKED ASTERISK
2238
- "\u273E":"*", // SIX PETALLED BLACK AND WHITE FLORETTE
2239
- "\u273F":"*", // BLACK FLORETTE
2240
- "\u2740":"*", // WHITE FLORETTE
2241
- "\u2741":"*", // EIGHT PETALLED OUTLINED BLACK FLORETTE
2242
- "\u2742":"*", // CIRCLED OPEN CENTRE EIGHT POINTED STAR
2243
- "\u2743":"*", // HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
2244
- "\u2744":"*", // SNOWFLAKE
2245
- "\u2745":"*", // TIGHT TRIFOLIATE SNOWFLAKE
2246
- "\u2746":"*", // HEAVY CHEVRON SNOWFLAKE
2247
- "\u2747":"*", // SPARKLE
2248
- "\u2748":"*", // HEAVY SPARKLE
2249
- "\u2749":"*", // BALLOON-SPOKED ASTERISK
2250
- "\u274A":"*", // EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
2251
- "\u274B":"*", // HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
2252
- "\uFB00":"ff", // LATIN SMALL LIGATURE FF
2253
- "\uFB01":"fi", // LATIN SMALL LIGATURE FI
2254
- "\uFB02":"fl", // LATIN SMALL LIGATURE FL
2255
- "\uFB03":"ffi", // LATIN SMALL LIGATURE FFI
2256
- "\uFB04":"ffl", // LATIN SMALL LIGATURE FFL
2257
- "\uFB05":"st", // LATIN SMALL LIGATURE LONG S T
2258
- "\uFB06":"st", // LATIN SMALL LIGATURE ST
2259
- /* Derived accented characters */
2260
-
2261
- /* These two require the "semtrans" package to work; uncomment to enable */
2262
- /* "\u02BF":"\{\\Ayn}", // MGR Ayn
2263
- "\u02BE":"\{\\Alif}", // MGR Alif/Hamza
2264
- */
2265
- "\u00C0":"{\\`A}", // LATIN CAPITAL LETTER A WITH GRAVE
2266
- "\u00C1":"{\\'A}", // LATIN CAPITAL LETTER A WITH ACUTE
2267
- "\u00C2":"{\\^A}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
2268
- "\u00C3":"{\\~A}", // LATIN CAPITAL LETTER A WITH TILDE
2269
- "\u00C4":"{\\\"A}", // LATIN CAPITAL LETTER A WITH DIAERESIS
2270
- "\u00C5":"{\\r A}", // LATIN CAPITAL LETTER A WITH RING ABOVE
2271
- "\u00C7":"{\\c C}", // LATIN CAPITAL LETTER C WITH CEDILLA
2272
- "\u00C8":"{\\`E}", // LATIN CAPITAL LETTER E WITH GRAVE
2273
- "\u00C9":"{\\'E}", // LATIN CAPITAL LETTER E WITH ACUTE
2274
- "\u00CA":"{\\^E}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
2275
- "\u00CB":"{\\\"E}", // LATIN CAPITAL LETTER E WITH DIAERESIS
2276
- "\u00CC":"{\\`I}", // LATIN CAPITAL LETTER I WITH GRAVE
2277
- "\u00CD":"{\\'I}", // LATIN CAPITAL LETTER I WITH ACUTE
2278
- "\u00CE":"{\\^I}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
2279
- "\u00CF":"{\\\"I}", // LATIN CAPITAL LETTER I WITH DIAERESIS
2280
- "\u00D1":"{\\~N}", // LATIN CAPITAL LETTER N WITH TILDE
2281
- "\u00D2":"{\\`O}", // LATIN CAPITAL LETTER O WITH GRAVE
2282
- "\u00D3":"{\\'O}", // LATIN CAPITAL LETTER O WITH ACUTE
2283
- "\u00D4":"{\\^O}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
2284
- "\u00D5":"{\\~O}", // LATIN CAPITAL LETTER O WITH TILDE
2285
- "\u00D6":"{\\\"O}", // LATIN CAPITAL LETTER O WITH DIAERESIS
2286
- "\u00D9":"{\\`U}", // LATIN CAPITAL LETTER U WITH GRAVE
2287
- "\u00DA":"{\\'U}", // LATIN CAPITAL LETTER U WITH ACUTE
2288
- "\u00DB":"{\\^U}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
2289
- "\u00DC":"{\\\"U}", // LATIN CAPITAL LETTER U WITH DIAERESIS
2290
- "\u00DD":"{\\'Y}", // LATIN CAPITAL LETTER Y WITH ACUTE
2291
- "\u00E0":"{\\`a}", // LATIN SMALL LETTER A WITH GRAVE
2292
- "\u00E1":"{\\'a}", // LATIN SMALL LETTER A WITH ACUTE
2293
- "\u00E2":"{\\^a}", // LATIN SMALL LETTER A WITH CIRCUMFLEX
2294
- "\u00E3":"{\\~a}", // LATIN SMALL LETTER A WITH TILDE
2295
- "\u00E4":"{\\\"a}", // LATIN SMALL LETTER A WITH DIAERESIS
2296
- "\u00E5":"{\\r a}", // LATIN SMALL LETTER A WITH RING ABOVE
2297
- "\u00E7":"{\\c c}", // LATIN SMALL LETTER C WITH CEDILLA
2298
- "\u00E8":"{\\`e}", // LATIN SMALL LETTER E WITH GRAVE
2299
- "\u00E9":"{\\'e}", // LATIN SMALL LETTER E WITH ACUTE
2300
- "\u00EA":"{\\^e}", // LATIN SMALL LETTER E WITH CIRCUMFLEX
2301
- "\u00EB":"{\\\"e}", // LATIN SMALL LETTER E WITH DIAERESIS
2302
- "\u00EC":"{\\`i}", // LATIN SMALL LETTER I WITH GRAVE
2303
- "\u00ED":"{\\'i}", // LATIN SMALL LETTER I WITH ACUTE
2304
- "\u00EE":"{\\^i}", // LATIN SMALL LETTER I WITH CIRCUMFLEX
2305
- "\u00EF":"{\\\"i}", // LATIN SMALL LETTER I WITH DIAERESIS
2306
- "\u00F1":"{\\~n}", // LATIN SMALL LETTER N WITH TILDE
2307
- "\u00F2":"{\\`o}", // LATIN SMALL LETTER O WITH GRAVE
2308
- "\u00F3":"{\\'o}", // LATIN SMALL LETTER O WITH ACUTE
2309
- "\u00F4":"{\\^o}", // LATIN SMALL LETTER O WITH CIRCUMFLEX
2310
- "\u00F5":"{\\~o}", // LATIN SMALL LETTER O WITH TILDE
2311
- "\u00F6":"{\\\"o}", // LATIN SMALL LETTER O WITH DIAERESIS
2312
- "\u00F9":"{\\`u}", // LATIN SMALL LETTER U WITH GRAVE
2313
- "\u00FA":"{\\'u}", // LATIN SMALL LETTER U WITH ACUTE
2314
- "\u00FB":"{\\^u}", // LATIN SMALL LETTER U WITH CIRCUMFLEX
2315
- "\u00FC":"{\\\"u}", // LATIN SMALL LETTER U WITH DIAERESIS
2316
- "\u00FD":"{\\'y}", // LATIN SMALL LETTER Y WITH ACUTE
2317
- "\u00FF":"{\\\"y}", // LATIN SMALL LETTER Y WITH DIAERESIS
2318
- "\u0100":"{\\=A}", // LATIN CAPITAL LETTER A WITH MACRON
2319
- "\u0101":"{\\=a}", // LATIN SMALL LETTER A WITH MACRON
2320
- "\u0102":"{\\u A}", // LATIN CAPITAL LETTER A WITH BREVE
2321
- "\u0103":"{\\u a}", // LATIN SMALL LETTER A WITH BREVE
2322
- "\u0104":"{\\k A}", // LATIN CAPITAL LETTER A WITH OGONEK
2323
- "\u0105":"{\\k a}", // LATIN SMALL LETTER A WITH OGONEK
2324
- "\u0106":"{\\'C}", // LATIN CAPITAL LETTER C WITH ACUTE
2325
- "\u0107":"{\\'c}", // LATIN SMALL LETTER C WITH ACUTE
2326
- "\u0108":"{\\^C}", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
2327
- "\u0109":"{\\^c}", // LATIN SMALL LETTER C WITH CIRCUMFLEX
2328
- "\u010A":"{\\.C}", // LATIN CAPITAL LETTER C WITH DOT ABOVE
2329
- "\u010B":"{\\.c}", // LATIN SMALL LETTER C WITH DOT ABOVE
2330
- "\u010C":"{\\v C}", // LATIN CAPITAL LETTER C WITH CARON
2331
- "\u010D":"{\\v c}", // LATIN SMALL LETTER C WITH CARON
2332
- "\u010E":"{\\v D}", // LATIN CAPITAL LETTER D WITH CARON
2333
- "\u010F":"{\\v d}", // LATIN SMALL LETTER D WITH CARON
2334
- "\u0112":"{\\=E}", // LATIN CAPITAL LETTER E WITH MACRON
2335
- "\u0113":"{\\=e}", // LATIN SMALL LETTER E WITH MACRON
2336
- "\u0114":"{\\u E}", // LATIN CAPITAL LETTER E WITH BREVE
2337
- "\u0115":"{\\u e}", // LATIN SMALL LETTER E WITH BREVE
2338
- "\u0116":"{\\.E}", // LATIN CAPITAL LETTER E WITH DOT ABOVE
2339
- "\u0117":"{\\.e}", // LATIN SMALL LETTER E WITH DOT ABOVE
2340
- "\u0118":"{\\k E}", // LATIN CAPITAL LETTER E WITH OGONEK
2341
- "\u0119":"{\\k e}", // LATIN SMALL LETTER E WITH OGONEK
2342
- "\u011A":"{\\v E}", // LATIN CAPITAL LETTER E WITH CARON
2343
- "\u011B":"{\\v e}", // LATIN SMALL LETTER E WITH CARON
2344
- "\u011C":"{\\^G}", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
2345
- "\u011D":"{\\^g}", // LATIN SMALL LETTER G WITH CIRCUMFLEX
2346
- "\u011E":"{\\u G}", // LATIN CAPITAL LETTER G WITH BREVE
2347
- "\u011F":"{\\u g}", // LATIN SMALL LETTER G WITH BREVE
2348
- "\u0120":"{\\.G}", // LATIN CAPITAL LETTER G WITH DOT ABOVE
2349
- "\u0121":"{\\.g}", // LATIN SMALL LETTER G WITH DOT ABOVE
2350
- "\u0122":"{\\c G}", // LATIN CAPITAL LETTER G WITH CEDILLA
2351
- "\u0123":"{\\c g}", // LATIN SMALL LETTER G WITH CEDILLA
2352
- "\u0124":"{\\^H}", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
2353
- "\u0125":"{\\^h}", // LATIN SMALL LETTER H WITH CIRCUMFLEX
2354
- "\u0128":"{\\~I}", // LATIN CAPITAL LETTER I WITH TILDE
2355
- "\u0129":"{\\~i}", // LATIN SMALL LETTER I WITH TILDE
2356
- "\u012A":"{\\=I}", // LATIN CAPITAL LETTER I WITH MACRON
2357
- "\u012B":"{\\=\\i}", // LATIN SMALL LETTER I WITH MACRON
2358
- "\u012C":"{\\u I}", // LATIN CAPITAL LETTER I WITH BREVE
2359
- "\u012D":"{\\u i}", // LATIN SMALL LETTER I WITH BREVE
2360
- "\u012E":"{\\k I}", // LATIN CAPITAL LETTER I WITH OGONEK
2361
- "\u012F":"{\\k i}", // LATIN SMALL LETTER I WITH OGONEK
2362
- "\u0130":"{\\.I}", // LATIN CAPITAL LETTER I WITH DOT ABOVE
2363
- "\u0134":"{\\^J}", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
2364
- "\u0135":"{\\^j}", // LATIN SMALL LETTER J WITH CIRCUMFLEX
2365
- "\u0136":"{\\c K}", // LATIN CAPITAL LETTER K WITH CEDILLA
2366
- "\u0137":"{\\c k}", // LATIN SMALL LETTER K WITH CEDILLA
2367
- "\u0139":"{\\'L}", // LATIN CAPITAL LETTER L WITH ACUTE
2368
- "\u013A":"{\\'l}", // LATIN SMALL LETTER L WITH ACUTE
2369
- "\u013B":"{\\c L}", // LATIN CAPITAL LETTER L WITH CEDILLA
2370
- "\u013C":"{\\c l}", // LATIN SMALL LETTER L WITH CEDILLA
2371
- "\u013D":"{\\v L}", // LATIN CAPITAL LETTER L WITH CARON
2372
- "\u013E":"{\\v l}", // LATIN SMALL LETTER L WITH CARON
2373
- "\u0141":"{\\L }", //LATIN CAPITAL LETTER L WITH STROKE
2374
- "\u0142":"{\\l }", //LATIN SMALL LETTER L WITH STROKE
2375
- "\u0143":"{\\'N}", // LATIN CAPITAL LETTER N WITH ACUTE
2376
- "\u0144":"{\\'n}", // LATIN SMALL LETTER N WITH ACUTE
2377
- "\u0145":"{\\c N}", // LATIN CAPITAL LETTER N WITH CEDILLA
2378
- "\u0146":"{\\c n}", // LATIN SMALL LETTER N WITH CEDILLA
2379
- "\u0147":"{\\v N}", // LATIN CAPITAL LETTER N WITH CARON
2380
- "\u0148":"{\\v n}", // LATIN SMALL LETTER N WITH CARON
2381
- "\u014C":"{\\=O}", // LATIN CAPITAL LETTER O WITH MACRON
2382
- "\u014D":"{\\=o}", // LATIN SMALL LETTER O WITH MACRON
2383
- "\u014E":"{\\u O}", // LATIN CAPITAL LETTER O WITH BREVE
2384
- "\u014F":"{\\u o}", // LATIN SMALL LETTER O WITH BREVE
2385
- "\u0150":"{\\H O}", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
2386
- "\u0151":"{\\H o}", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
2387
- "\u0154":"{\\'R}", // LATIN CAPITAL LETTER R WITH ACUTE
2388
- "\u0155":"{\\'r}", // LATIN SMALL LETTER R WITH ACUTE
2389
- "\u0156":"{\\c R}", // LATIN CAPITAL LETTER R WITH CEDILLA
2390
- "\u0157":"{\\c r}", // LATIN SMALL LETTER R WITH CEDILLA
2391
- "\u0158":"{\\v R}", // LATIN CAPITAL LETTER R WITH CARON
2392
- "\u0159":"{\\v r}", // LATIN SMALL LETTER R WITH CARON
2393
- "\u015A":"{\\'S}", // LATIN CAPITAL LETTER S WITH ACUTE
2394
- "\u015B":"{\\'s}", // LATIN SMALL LETTER S WITH ACUTE
2395
- "\u015C":"{\\^S}", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
2396
- "\u015D":"{\\^s}", // LATIN SMALL LETTER S WITH CIRCUMFLEX
2397
- "\u015E":"{\\c S}", // LATIN CAPITAL LETTER S WITH CEDILLA
2398
- "\u015F":"{\\c s}", // LATIN SMALL LETTER S WITH CEDILLA
2399
- "\u0160":"{\\v S}", // LATIN CAPITAL LETTER S WITH CARON
2400
- "\u0161":"{\\v s}", // LATIN SMALL LETTER S WITH CARON
2401
- "\u0162":"{\\c T}", // LATIN CAPITAL LETTER T WITH CEDILLA
2402
- "\u0163":"{\\c t}", // LATIN SMALL LETTER T WITH CEDILLA
2403
- "\u0164":"{\\v T}", // LATIN CAPITAL LETTER T WITH CARON
2404
- "\u0165":"{\\v t}", // LATIN SMALL LETTER T WITH CARON
2405
- "\u0168":"{\\~U}", // LATIN CAPITAL LETTER U WITH TILDE
2406
- "\u0169":"{\\~u}", // LATIN SMALL LETTER U WITH TILDE
2407
- "\u016A":"{\\=U}", // LATIN CAPITAL LETTER U WITH MACRON
2408
- "\u016B":"{\\=u}", // LATIN SMALL LETTER U WITH MACRON
2409
- "\u016C":"{\\u U}", // LATIN CAPITAL LETTER U WITH BREVE
2410
- "\u016D":"{\\u u}", // LATIN SMALL LETTER U WITH BREVE
2411
- "\u016E":"{\\r U}", // LATIN CAPITAL U WITH A RING ABOVE
2412
- "\u016F":"{\\r u}", // LATIN SMALL U WITH A RING ABOVE
2413
- "\u0170":"{\\H U}", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
2414
- "\u0171":"{\\H u}", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
2415
- "\u0172":"{\\k U}", // LATIN CAPITAL LETTER U WITH OGONEK
2416
- "\u0173":"{\\k u}", // LATIN SMALL LETTER U WITH OGONEK
2417
- "\u0174":"{\\^W}", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
2418
- "\u0175":"{\\^w}", // LATIN SMALL LETTER W WITH CIRCUMFLEX
2419
- "\u0176":"{\\^Y}", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
2420
- "\u0177":"{\\^y}", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
2421
- "\u0178":"{\\\"Y}", // LATIN CAPITAL LETTER Y WITH DIAERESIS
2422
- "\u0179":"{\\'Z}", // LATIN CAPITAL LETTER Z WITH ACUTE
2423
- "\u017A":"{\\'z}", // LATIN SMALL LETTER Z WITH ACUTE
2424
- "\u017B":"{\\.Z}", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
2425
- "\u017C":"{\\.z}", // LATIN SMALL LETTER Z WITH DOT ABOVE
2426
- "\u017D":"{\\v Z}", // LATIN CAPITAL LETTER Z WITH CARON
2427
- "\u017E":"{\\v z}", // LATIN SMALL LETTER Z WITH CARON
2428
- "\u01CD":"{\\v A}", // LATIN CAPITAL LETTER A WITH CARON
2429
- "\u01CE":"{\\v a}", // LATIN SMALL LETTER A WITH CARON
2430
- "\u01CF":"{\\v I}", // LATIN CAPITAL LETTER I WITH CARON
2431
- "\u01D0":"{\\v i}", // LATIN SMALL LETTER I WITH CARON
2432
- "\u01D1":"{\\v O}", // LATIN CAPITAL LETTER O WITH CARON
2433
- "\u01D2":"{\\v o}", // LATIN SMALL LETTER O WITH CARON
2434
- "\u01D3":"{\\v U}", // LATIN CAPITAL LETTER U WITH CARON
2435
- "\u01D4":"{\\v u}", // LATIN SMALL LETTER U WITH CARON
2436
- "\u01E6":"{\\v G}", // LATIN CAPITAL LETTER G WITH CARON
2437
- "\u01E7":"{\\v g}", // LATIN SMALL LETTER G WITH CARON
2438
- "\u01E8":"{\\v K}", // LATIN CAPITAL LETTER K WITH CARON
2439
- "\u01E9":"{\\v k}", // LATIN SMALL LETTER K WITH CARON
2440
- "\u01EA":"{\\k O}", // LATIN CAPITAL LETTER O WITH OGONEK
2441
- "\u01EB":"{\\k o}", // LATIN SMALL LETTER O WITH OGONEK
2442
- "\u01F0":"{\\v j}", // LATIN SMALL LETTER J WITH CARON
2443
- "\u01F4":"{\\'G}", // LATIN CAPITAL LETTER G WITH ACUTE
2444
- "\u01F5":"{\\'g}", // LATIN SMALL LETTER G WITH ACUTE
2445
- "\u1E02":"{\\.B}", // LATIN CAPITAL LETTER B WITH DOT ABOVE
2446
- "\u1E03":"{\\.b}", // LATIN SMALL LETTER B WITH DOT ABOVE
2447
- "\u1E04":"{\\d B}", // LATIN CAPITAL LETTER B WITH DOT BELOW
2448
- "\u1E05":"{\\d b}", // LATIN SMALL LETTER B WITH DOT BELOW
2449
- "\u1E06":"{\\b B}", // LATIN CAPITAL LETTER B WITH LINE BELOW
2450
- "\u1E07":"{\\b b}", // LATIN SMALL LETTER B WITH LINE BELOW
2451
- "\u1E0A":"{\\.D}", // LATIN CAPITAL LETTER D WITH DOT ABOVE
2452
- "\u1E0B":"{\\.d}", // LATIN SMALL LETTER D WITH DOT ABOVE
2453
- "\u1E0C":"{\\d D}", // LATIN CAPITAL LETTER D WITH DOT BELOW
2454
- "\u1E0D":"{\\d d}", // LATIN SMALL LETTER D WITH DOT BELOW
2455
- "\u1E0E":"{\\b D}", // LATIN CAPITAL LETTER D WITH LINE BELOW
2456
- "\u1E0F":"{\\b d}", // LATIN SMALL LETTER D WITH LINE BELOW
2457
- "\u1E10":"{\\c D}", // LATIN CAPITAL LETTER D WITH CEDILLA
2458
- "\u1E11":"{\\c d}", // LATIN SMALL LETTER D WITH CEDILLA
2459
- "\u1E1E":"{\\.F}", // LATIN CAPITAL LETTER F WITH DOT ABOVE
2460
- "\u1E1F":"{\\.f}", // LATIN SMALL LETTER F WITH DOT ABOVE
2461
- "\u1E20":"{\\=G}", // LATIN CAPITAL LETTER G WITH MACRON
2462
- "\u1E21":"{\\=g}", // LATIN SMALL LETTER G WITH MACRON
2463
- "\u1E22":"{\\.H}", // LATIN CAPITAL LETTER H WITH DOT ABOVE
2464
- "\u1E23":"{\\.h}", // LATIN SMALL LETTER H WITH DOT ABOVE
2465
- "\u1E24":"{\\d H}", // LATIN CAPITAL LETTER H WITH DOT BELOW
2466
- "\u1E25":"{\\d h}", // LATIN SMALL LETTER H WITH DOT BELOW
2467
- "\u1E26":"{\\\"H}", // LATIN CAPITAL LETTER H WITH DIAERESIS
2468
- "\u1E27":"{\\\"h}", // LATIN SMALL LETTER H WITH DIAERESIS
2469
- "\u1E28":"{\\c H}", // LATIN CAPITAL LETTER H WITH CEDILLA
2470
- "\u1E29":"{\\c h}", // LATIN SMALL LETTER H WITH CEDILLA
2471
- "\u1E30":"{\\'K}", // LATIN CAPITAL LETTER K WITH ACUTE
2472
- "\u1E31":"{\\'k}", // LATIN SMALL LETTER K WITH ACUTE
2473
- "\u1E32":"{\\d K}", // LATIN CAPITAL LETTER K WITH DOT BELOW
2474
- "\u1E33":"{\\d k}", // LATIN SMALL LETTER K WITH DOT BELOW
2475
- "\u1E34":"{\\b K}", // LATIN CAPITAL LETTER K WITH LINE BELOW
2476
- "\u1E35":"{\\b k}", // LATIN SMALL LETTER K WITH LINE BELOW
2477
- "\u1E36":"{\\d L}", // LATIN CAPITAL LETTER L WITH DOT BELOW
2478
- "\u1E37":"{\\d l}", // LATIN SMALL LETTER L WITH DOT BELOW
2479
- "\u1E3A":"{\\b L}", // LATIN CAPITAL LETTER L WITH LINE BELOW
2480
- "\u1E3B":"{\\b l}", // LATIN SMALL LETTER L WITH LINE BELOW
2481
- "\u1E3E":"{\\'M}", // LATIN CAPITAL LETTER M WITH ACUTE
2482
- "\u1E3F":"{\\'m}", // LATIN SMALL LETTER M WITH ACUTE
2483
- "\u1E40":"{\\.M}", // LATIN CAPITAL LETTER M WITH DOT ABOVE
2484
- "\u1E41":"{\\.m}", // LATIN SMALL LETTER M WITH DOT ABOVE
2485
- "\u1E42":"{\\d M}", // LATIN CAPITAL LETTER M WITH DOT BELOW
2486
- "\u1E43":"{\\d m}", // LATIN SMALL LETTER M WITH DOT BELOW
2487
- "\u1E44":"{\\.N}", // LATIN CAPITAL LETTER N WITH DOT ABOVE
2488
- "\u1E45":"{\\.n}", // LATIN SMALL LETTER N WITH DOT ABOVE
2489
- "\u1E46":"{\\d N}", // LATIN CAPITAL LETTER N WITH DOT BELOW
2490
- "\u1E47":"{\\d n}", // LATIN SMALL LETTER N WITH DOT BELOW
2491
- "\u1E48":"{\\b N}", // LATIN CAPITAL LETTER N WITH LINE BELOW
2492
- "\u1E49":"{\\b n}", // LATIN SMALL LETTER N WITH LINE BELOW
2493
- "\u1E54":"{\\'P}", // LATIN CAPITAL LETTER P WITH ACUTE
2494
- "\u1E55":"{\\'p}", // LATIN SMALL LETTER P WITH ACUTE
2495
- "\u1E56":"{\\.P}", // LATIN CAPITAL LETTER P WITH DOT ABOVE
2496
- "\u1E57":"{\\.p}", // LATIN SMALL LETTER P WITH DOT ABOVE
2497
- "\u1E58":"{\\.R}", // LATIN CAPITAL LETTER R WITH DOT ABOVE
2498
- "\u1E59":"{\\.r}", // LATIN SMALL LETTER R WITH DOT ABOVE
2499
- "\u1E5A":"{\\d R}", // LATIN CAPITAL LETTER R WITH DOT BELOW
2500
- "\u1E5B":"{\\d r}", // LATIN SMALL LETTER R WITH DOT BELOW
2501
- "\u1E5E":"{\\b R}", // LATIN CAPITAL LETTER R WITH LINE BELOW
2502
- "\u1E5F":"{\\b r}", // LATIN SMALL LETTER R WITH LINE BELOW
2503
- "\u1E60":"{\\.S}", // LATIN CAPITAL LETTER S WITH DOT ABOVE
2504
- "\u1E61":"{\\.s}", // LATIN SMALL LETTER S WITH DOT ABOVE
2505
- "\u1E62":"{\\d S}", // LATIN CAPITAL LETTER S WITH DOT BELOW
2506
- "\u1E63":"{\\d s}", // LATIN SMALL LETTER S WITH DOT BELOW
2507
- "\u1E6A":"{\\.T}", // LATIN CAPITAL LETTER T WITH DOT ABOVE
2508
- "\u1E6B":"{\\.t}", // LATIN SMALL LETTER T WITH DOT ABOVE
2509
- "\u1E6C":"{\\d T}", // LATIN CAPITAL LETTER T WITH DOT BELOW
2510
- "\u1E6D":"{\\d t}", // LATIN SMALL LETTER T WITH DOT BELOW
2511
- "\u1E6E":"{\\b T}", // LATIN CAPITAL LETTER T WITH LINE BELOW
2512
- "\u1E6F":"{\\b t}", // LATIN SMALL LETTER T WITH LINE BELOW
2513
- "\u1E7C":"{\\~V}", // LATIN CAPITAL LETTER V WITH TILDE
2514
- "\u1E7D":"{\\~v}", // LATIN SMALL LETTER V WITH TILDE
2515
- "\u1E7E":"{\\d V}", // LATIN CAPITAL LETTER V WITH DOT BELOW
2516
- "\u1E7F":"{\\d v}", // LATIN SMALL LETTER V WITH DOT BELOW
2517
- "\u1E80":"{\\`W}", // LATIN CAPITAL LETTER W WITH GRAVE
2518
- "\u1E81":"{\\`w}", // LATIN SMALL LETTER W WITH GRAVE
2519
- "\u1E82":"{\\'W}", // LATIN CAPITAL LETTER W WITH ACUTE
2520
- "\u1E83":"{\\'w}", // LATIN SMALL LETTER W WITH ACUTE
2521
- "\u1E84":"{\\\"W}", // LATIN CAPITAL LETTER W WITH DIAERESIS
2522
- "\u1E85":"{\\\"w}", // LATIN SMALL LETTER W WITH DIAERESIS
2523
- "\u1E86":"{\\.W}", // LATIN CAPITAL LETTER W WITH DOT ABOVE
2524
- "\u1E87":"{\\.w}", // LATIN SMALL LETTER W WITH DOT ABOVE
2525
- "\u1E88":"{\\d W}", // LATIN CAPITAL LETTER W WITH DOT BELOW
2526
- "\u1E89":"{\\d w}", // LATIN SMALL LETTER W WITH DOT BELOW
2527
- "\u1E8A":"{\\.X}", // LATIN CAPITAL LETTER X WITH DOT ABOVE
2528
- "\u1E8B":"{\\.x}", // LATIN SMALL LETTER X WITH DOT ABOVE
2529
- "\u1E8C":"{\\\"X}", // LATIN CAPITAL LETTER X WITH DIAERESIS
2530
- "\u1E8D":"{\\\"x}", // LATIN SMALL LETTER X WITH DIAERESIS
2531
- "\u1E8E":"{\\.Y}", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
2532
- "\u1E8F":"{\\.y}", // LATIN SMALL LETTER Y WITH DOT ABOVE
2533
- "\u1E90":"{\\^Z}", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
2534
- "\u1E91":"{\\^z}", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
2535
- "\u1E92":"{\\d Z}", // LATIN CAPITAL LETTER Z WITH DOT BELOW
2536
- "\u1E93":"{\\d z}", // LATIN SMALL LETTER Z WITH DOT BELOW
2537
- "\u1E94":"{\\b Z}", // LATIN CAPITAL LETTER Z WITH LINE BELOW
2538
- "\u1E95":"{\\b z}", // LATIN SMALL LETTER Z WITH LINE BELOW
2539
- "\u1E96":"{\\b h}", // LATIN SMALL LETTER H WITH LINE BELOW
2540
- "\u1E97":"{\\\"t}", // LATIN SMALL LETTER T WITH DIAERESIS
2541
- "\u1E98":"{\\r w}", // LATIN SMALL W WITH A RING ABOVE
2542
- "\u1E99":"{\\r y}", // LATIN SMALL Y WITH A RING ABOVE
2543
- "\u1EA0":"{\\d A}", // LATIN CAPITAL LETTER A WITH DOT BELOW
2544
- "\u1EA1":"{\\d a}", // LATIN SMALL LETTER A WITH DOT BELOW
2545
- "\u1EB8":"{\\d E}", // LATIN CAPITAL LETTER E WITH DOT BELOW
2546
- "\u1EB9":"{\\d e}", // LATIN SMALL LETTER E WITH DOT BELOW
2547
- "\u1EBC":"{\\~E}", // LATIN CAPITAL LETTER E WITH TILDE
2548
- "\u1EBD":"{\\~e}", // LATIN SMALL LETTER E WITH TILDE
2549
- "\u1ECA":"{\\d I}", // LATIN CAPITAL LETTER I WITH DOT BELOW
2550
- "\u1ECB":"{\\d i}", // LATIN SMALL LETTER I WITH DOT BELOW
2551
- "\u1ECC":"{\\d O}", // LATIN CAPITAL LETTER O WITH DOT BELOW
2552
- "\u1ECD":"{\\d o}", // LATIN SMALL LETTER O WITH DOT BELOW
2553
- "\u1EE4":"{\\d U}", // LATIN CAPITAL LETTER U WITH DOT BELOW
2554
- "\u1EE5":"{\\d u}", // LATIN SMALL LETTER U WITH DOT BELOW
2555
- "\u1EF2":"{\\`Y}", // LATIN CAPITAL LETTER Y WITH GRAVE
2556
- "\u1EF3":"{\\`y}", // LATIN SMALL LETTER Y WITH GRAVE
2557
- "\u1EF4":"{\\d Y}", // LATIN CAPITAL LETTER Y WITH DOT BELOW
2558
- "\u1EF5":"{\\d y}", // LATIN SMALL LETTER Y WITH DOT BELOW
2559
- "\u1EF8":"{\\~Y}", // LATIN CAPITAL LETTER Y WITH TILDE
2560
- "\u1EF9":"{\\~y}" // LATIN SMALL LETTER Y WITH TILDE
2561
- };
2562
-
2563
- /* unfortunately the mapping isn't reversible - hence this second table - sigh! */
2564
- var reversemappingTable = {
2565
- "\\url" : "", // strip 'url'
2566
- "\\href" : "", // strip 'href'
2567
- "{\\textexclamdown}" : "\u00A1", // INVERTED EXCLAMATION MARK
2568
- "{\\textcent}" : "\u00A2", // CENT SIGN
2569
- "{\\textsterling}" : "\u00A3", // POUND SIGN
2570
- "{\\textyen}" : "\u00A5", // YEN SIGN
2571
- "{\\textbrokenbar}" : "\u00A6", // BROKEN BAR
2572
- "{\\textsection}" : "\u00A7", // SECTION SIGN
2573
- "{\\textasciidieresis}" : "\u00A8", // DIAERESIS
2574
- "{\\textcopyright}" : "\u00A9", // COPYRIGHT SIGN
2575
- "{\\textordfeminine}" : "\u00AA", // FEMININE ORDINAL INDICATOR
2576
- "{\\guillemotleft}" : "\u00AB", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
2577
- "{\\textlnot}" : "\u00AC", // NOT SIGN
2578
- "{\\textregistered}" : "\u00AE", // REGISTERED SIGN
2579
- "{\\textasciimacron}" : "\u00AF", // MACRON
2580
- "{\\textdegree}" : "\u00B0", // DEGREE SIGN
2581
- "{\\textpm}" : "\u00B1", // PLUS-MINUS SIGN
2582
- "{\\texttwosuperior}" : "\u00B2", // SUPERSCRIPT TWO
2583
- "{\\textthreesuperior}" : "\u00B3", // SUPERSCRIPT THREE
2584
- "{\\textasciiacute}" : "\u00B4", // ACUTE ACCENT
2585
- "{\\textmu}" : "\u00B5", // MICRO SIGN
2586
- "{\\textparagraph}" : "\u00B6", // PILCROW SIGN
2587
- "{\\textperiodcentered}" : "\u00B7", // MIDDLE DOT
2588
- "{\\c\\ }" : "\u00B8", // CEDILLA
2589
- "{\\textonesuperior}" : "\u00B9", // SUPERSCRIPT ONE
2590
- "{\\textordmasculine}" : "\u00BA", // MASCULINE ORDINAL INDICATOR
2591
- "{\\guillemotright}" : "\u00BB", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
2592
- "{\\textonequarter}" : "\u00BC", // VULGAR FRACTION ONE QUARTER
2593
- "{\\textonehalf}" : "\u00BD", // VULGAR FRACTION ONE HALF
2594
- "{\\textthreequarters}" : "\u00BE", // VULGAR FRACTION THREE QUARTERS
2595
- "{\\textquestiondown}" : "\u00BF", // INVERTED QUESTION MARK
2596
- "{\\AE}" : "\u00C6", // LATIN CAPITAL LETTER AE
2597
- "{\\DH}" : "\u00D0", // LATIN CAPITAL LETTER ETH
2598
- "{\\texttimes}" : "\u00D7", // MULTIPLICATION SIGN
2599
- "{\\O}" : "\u00D8", // LATIN SMALL LETTER O WITH STROKE
2600
- "{\\TH}" : "\u00DE", // LATIN CAPITAL LETTER THORN
2601
- "{\\ss}" : "\u00DF", // LATIN SMALL LETTER SHARP S
2602
- "{\\ae}" : "\u00E6", // LATIN SMALL LETTER AE
2603
- "{\\dh}" : "\u00F0", // LATIN SMALL LETTER ETH
2604
- "{\\textdiv}" : "\u00F7", // DIVISION SIGN
2605
- "{\\o}" : "\u00F8", // LATIN SMALL LETTER O WITH STROKE
2606
- "{\\th}" : "\u00FE", // LATIN SMALL LETTER THORN
2607
- "{\\i}" : "\u0131", // LATIN SMALL LETTER DOTLESS I
2608
- //"'n" : "\u0149", // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
2609
- "{\\NG}" : "\u014A", // LATIN CAPITAL LETTER ENG
2610
- "{\\ng}" : "\u014B", // LATIN SMALL LETTER ENG
2611
- "{\\OE}" : "\u0152", // LATIN CAPITAL LIGATURE OE
2612
- "{\\oe}" : "\u0153", // LATIN SMALL LIGATURE OE
2613
- "{\\textasciicircum}" : "\u02C6", // MODIFIER LETTER CIRCUMFLEX ACCENT
2614
- // "\\~{}" : "\u02DC", // SMALL TILDE
2615
- "{\\textacutedbl}" : "\u02DD", // DOUBLE ACUTE ACCENT
2616
-
2617
- //Greek Letters Courtesy of Spartanroc
2618
- "$\\Gamma$" : "\u0393", // GREEK Gamma
2619
- "$\\Delta$" : "\u0394", // GREEK Delta
2620
- "$\\Theta$" : "\u0398", // GREEK Theta
2621
- "$\\Lambda$" : "\u039B", // GREEK Lambda
2622
- "$\\Xi$" : "\u039E", // GREEK Xi
2623
- "$\\Pi$" : "\u03A0", // GREEK Pi
2624
- "$\\Sigma$" : "\u03A3", // GREEK Sigma
2625
- "$\\Phi$" : "\u03A6", // GREEK Phi
2626
- "$\\Psi$" : "\u03A8", // GREEK Psi
2627
- "$\\Omega$" : "\u03A9", // GREEK Omega
2628
- "$\\alpha$" : "\u03B1", // GREEK alpha
2629
- "$\\beta$" : "\u03B2", // GREEK beta
2630
- "$\\gamma$" : "\u03B3", // GREEK gamma
2631
- "$\\delta$" : "\u03B4", // GREEK delta
2632
- "$\\varepsilon$": "\u03B5", // GREEK var-epsilon
2633
- "$\\zeta$" : "\u03B6", // GREEK zeta
2634
- "$\\eta$" : "\u03B7", // GREEK eta
2635
- "$\\theta$" : "\u03B8", // GREEK theta
2636
- "$\\iota$" : "\u03B9", // GREEK iota
2637
- "$\\kappa$" : "\u03BA", // GREEK kappa
2638
- "$\\lambda$" : "\u03BB", // GREEK lambda
2639
- "$\\mu$" : "\u03BC", // GREEK mu
2640
- "$\\nu$" : "\u03BD", // GREEK nu
2641
- "$\\xi$" : "\u03BE", // GREEK xi
2642
- "$\\pi$" : "\u03C0", // GREEK pi
2643
- "$\\rho$" : "\u03C1", // GREEK rho
2644
- "$\\varsigma$" : "\u03C2", // GREEK var-sigma
2645
- "$\\sigma$" : "\u03C3", // GREEK sigma
2646
- "$\\tau$" : "\u03C4", // GREEK tau
2647
- "$\\upsilon$" : "\u03C5", // GREEK upsilon
2648
- "$\\varphi$" : "\u03C6", // GREEK var-phi
2649
- "$\\chi$" : "\u03C7", // GREEK chi
2650
- "$\\psi$" : "\u03C8", // GREEK psi
2651
- "$\\omega$" : "\u03C9", // GREEK omega
2652
- "$\\vartheta$" : "\u03D1", // GREEK var-theta
2653
- "$\\Upsilon$" : "\u03D2", // GREEK Upsilon
2654
- "$\\phi$" : "\u03D5", // GREEK phi
2655
- "$\\varpi$" : "\u03D6", // GREEK var-pi
2656
- "$\\varrho$" : "\u03F1", // GREEK var-rho
2657
- "$\\epsilon$" : "\u03F5", // GREEK epsilon
2658
- //Greek letters end
2659
- "{\\textendash}" : "\u2013", // EN DASH
2660
- "{\\textemdash}" : "\u2014", // EM DASH
2661
- "---" : "\u2014", // EM DASH
2662
- "--" : "\u2013", // EN DASH
2663
- "{\\textbardbl}" : "\u2016", // DOUBLE VERTICAL LINE
2664
- "{\\textunderscore}" : "\u2017", // DOUBLE LOW LINE
2665
- "{\\textquoteleft}" : "\u2018", // LEFT SINGLE QUOTATION MARK
2666
- "{\\textquoteright}" : "\u2019", // RIGHT SINGLE QUOTATION MARK
2667
- "{\\textquotesingle}" : "'", // APOSTROPHE / NEUTRAL SINGLE QUOTATION MARK
2668
- "{\\quotesinglbase}" : "\u201A", // SINGLE LOW-9 QUOTATION MARK
2669
- "{\\textquotedblleft}" : "\u201C", // LEFT DOUBLE QUOTATION MARK
2670
- "{\\textquotedblright}" : "\u201D", // RIGHT DOUBLE QUOTATION MARK
2671
- "{\\quotedblbase}" : "\u201E", // DOUBLE LOW-9 QUOTATION MARK
2672
- // "{\\quotedblbase}" : "\u201F", // DOUBLE HIGH-REVERSED-9 QUOTATION MARK
2673
- "{\\textdagger}" : "\u2020", // DAGGER
2674
- "{\\textdaggerdbl}" : "\u2021", // DOUBLE DAGGER
2675
- "{\\textbullet}" : "\u2022", // BULLET
2676
- "{\\textellipsis}" : "\u2026", // HORIZONTAL ELLIPSIS
2677
- "{\\textperthousand}" : "\u2030", // PER MILLE SIGN
2678
- "'''" : "\u2034", // TRIPLE PRIME
2679
- "''" : "\u201D", // RIGHT DOUBLE QUOTATION MARK (could be a double prime)
2680
- "``" : "\u201C", // LEFT DOUBLE QUOTATION MARK (could be a reversed double prime)
2681
- "```" : "\u2037", // REVERSED TRIPLE PRIME
2682
- "{\\guilsinglleft}" : "\u2039", // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
2683
- "{\\guilsinglright}" : "\u203A", // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
2684
- "!!" : "\u203C", // DOUBLE EXCLAMATION MARK
2685
- "{\\textfractionsolidus}" : "\u2044", // FRACTION SLASH
2686
- "?!" : "\u2048", // QUESTION EXCLAMATION MARK
2687
- "!?" : "\u2049", // EXCLAMATION QUESTION MARK
2688
- "$^{0}$" : "\u2070", // SUPERSCRIPT ZERO
2689
- "$^{4}$" : "\u2074", // SUPERSCRIPT FOUR
2690
- "$^{5}$" : "\u2075", // SUPERSCRIPT FIVE
2691
- "$^{6}$" : "\u2076", // SUPERSCRIPT SIX
2692
- "$^{7}$" : "\u2077", // SUPERSCRIPT SEVEN
2693
- "$^{8}$" : "\u2078", // SUPERSCRIPT EIGHT
2694
- "$^{9}$" : "\u2079", // SUPERSCRIPT NINE
2695
- "$^{+}$" : "\u207A", // SUPERSCRIPT PLUS SIGN
2696
- "$^{-}$" : "\u207B", // SUPERSCRIPT MINUS
2697
- "$^{=}$" : "\u207C", // SUPERSCRIPT EQUALS SIGN
2698
- "$^{(}$" : "\u207D", // SUPERSCRIPT LEFT PARENTHESIS
2699
- "$^{)}$" : "\u207E", // SUPERSCRIPT RIGHT PARENTHESIS
2700
- "$^{n}$" : "\u207F", // SUPERSCRIPT LATIN SMALL LETTER N
2701
- "$_{0}$" : "\u2080", // SUBSCRIPT ZERO
2702
- "$_{1}$" : "\u2081", // SUBSCRIPT ONE
2703
- "$_{2}$" : "\u2082", // SUBSCRIPT TWO
2704
- "$_{3}$" : "\u2083", // SUBSCRIPT THREE
2705
- "$_{4}$" : "\u2084", // SUBSCRIPT FOUR
2706
- "$_{5}$" : "\u2085", // SUBSCRIPT FIVE
2707
- "$_{6}$" : "\u2086", // SUBSCRIPT SIX
2708
- "$_{7}$" : "\u2087", // SUBSCRIPT SEVEN
2709
- "$_{8}$" : "\u2088", // SUBSCRIPT EIGHT
2710
- "$_{9}$" : "\u2089", // SUBSCRIPT NINE
2711
- "$_{+}$" : "\u208A", // SUBSCRIPT PLUS SIGN
2712
- "$_{-}$" : "\u208B", // SUBSCRIPT MINUS
2713
- "$_{=}$" : "\u208C", // SUBSCRIPT EQUALS SIGN
2714
- "$_{(}$" : "\u208D", // SUBSCRIPT LEFT PARENTHESIS
2715
- "$_{)}$" : "\u208E", // SUBSCRIPT RIGHT PARENTHESIS
2716
- "{\\texteuro}" : "\u20AC", // EURO SIGN
2717
- //"a/c" : "\u2100", // ACCOUNT OF
2718
- //"a/s" : "\u2101", // ADDRESSED TO THE SUBJECT
2719
- "{\\textcelsius}" : "\u2103", // DEGREE CELSIUS
2720
- //"c/o" : "\u2105", // CARE OF
2721
- //"c/u" : "\u2106", // CADA UNA
2722
- "{\\textnumero}" : "\u2116", // NUMERO SIGN
2723
- "{\\textcircledP}" : "\u2117", // SOUND RECORDING COPYRIGHT
2724
- "{\\textservicemark}" : "\u2120", // SERVICE MARK
2725
- "{TEL}" : "\u2121", // TELEPHONE SIGN
2726
- "{\\texttrademark}" : "\u2122", // TRADE MARK SIGN
2727
- "{\\textohm}" : "\u2126", // OHM SIGN
2728
- "{\\textestimated}" : "\u212E", // ESTIMATED SYMBOL
2729
-
2730
- /*" 1/3" : "\u2153", // VULGAR FRACTION ONE THIRD
2731
- " 2/3" : "\u2154", // VULGAR FRACTION TWO THIRDS
2732
- " 1/5" : "\u2155", // VULGAR FRACTION ONE FIFTH
2733
- " 2/5" : "\u2156", // VULGAR FRACTION TWO FIFTHS
2734
- " 3/5" : "\u2157", // VULGAR FRACTION THREE FIFTHS
2735
- " 4/5" : "\u2158", // VULGAR FRACTION FOUR FIFTHS
2736
- " 1/6" : "\u2159", // VULGAR FRACTION ONE SIXTH
2737
- " 5/6" : "\u215A", // VULGAR FRACTION FIVE SIXTHS
2738
- " 1/8" : "\u215B", // VULGAR FRACTION ONE EIGHTH
2739
- " 3/8" : "\u215C", // VULGAR FRACTION THREE EIGHTHS
2740
- " 5/8" : "\u215D", // VULGAR FRACTION FIVE EIGHTHS
2741
- " 7/8" : "\u215E", // VULGAR FRACTION SEVEN EIGHTHS
2742
- " 1/" : "\u215F", // FRACTION NUMERATOR ONE */
2743
-
2744
- "{\\textleftarrow}" : "\u2190", // LEFTWARDS ARROW
2745
- "{\\textuparrow}" : "\u2191", // UPWARDS ARROW
2746
- "{\\textrightarrow}" : "\u2192", // RIGHTWARDS ARROW
2747
- "{\\textdownarrow}" : "\u2193", // DOWNWARDS ARROW
2748
- /*"<->" : "\u2194", // LEFT RIGHT ARROW
2749
- "<=" : "\u21D0", // LEFTWARDS DOUBLE ARROW
2750
- "=>" : "\u21D2", // RIGHTWARDS DOUBLE ARROW
2751
- "<=>" : "\u21D4", // LEFT RIGHT DOUBLE ARROW */
2752
- "$\\infty$" : "\u221E", // INFINITY
2753
-
2754
- /*"||" : "\u2225", // PARALLEL TO
2755
- "/=" : "\u2260", // NOT EQUAL TO
2756
- "<=" : "\u2264", // LESS-THAN OR EQUAL TO
2757
- ">=" : "\u2265", // GREATER-THAN OR EQUAL TO
2758
- "<<" : "\u226A", // MUCH LESS-THAN
2759
- ">>" : "\u226B", // MUCH GREATER-THAN
2760
- "(+)" : "\u2295", // CIRCLED PLUS
2761
- "(-)" : "\u2296", // CIRCLED MINUS
2762
- "(x)" : "\u2297", // CIRCLED TIMES
2763
- "(/)" : "\u2298", // CIRCLED DIVISION SLASH
2764
- "|-" : "\u22A2", // RIGHT TACK
2765
- "-|" : "\u22A3", // LEFT TACK
2766
- "|-" : "\u22A6", // ASSERTION
2767
- "|=" : "\u22A7", // MODELS
2768
- "|=" : "\u22A8", // TRUE
2769
- "||-" : "\u22A9", // FORCES */
2770
-
2771
- "$\\#$" : "\u22D5", // EQUAL AND PARALLEL TO
2772
- //"<<<" : "\u22D8", // VERY MUCH LESS-THAN
2773
- //">>>" : "\u22D9", // VERY MUCH GREATER-THAN
2774
- "{\\textlangle}" : "\u2329", // LEFT-POINTING ANGLE BRACKET
2775
- "{\\textrangle}" : "\u232A", // RIGHT-POINTING ANGLE BRACKET
2776
- "{\\textvisiblespace}" : "\u2423", // OPEN BOX
2777
- //"///" : "\u2425", // SYMBOL FOR DELETE FORM TWO
2778
- "{\\textopenbullet}" : "\u25E6", // WHITE BULLET
2779
- //":-(" : "\u2639", // WHITE FROWNING FACE
2780
- //":-)" : "\u263A", // WHITE SMILING FACE
2781
- //"(-: " : "\u263B", // BLACK SMILING FACE
2782
- // "$\\#$" : "\u266F", // MUSIC SHARP SIGN
2783
- "$\\%<$" : "\u2701", // UPPER BLADE SCISSORS
2784
- /* "$\\%<$" : "\u2702", // BLACK SCISSORS
2785
- "$\\%<$" : "\u2703", // LOWER BLADE SCISSORS
2786
- "$\\%<$" : "\u2704", // WHITE SCISSORS */
2787
- /* Derived accented characters */
2788
- "{\\`A}" : "\u00C0", // LATIN CAPITAL LETTER A WITH GRAVE
2789
- "{\\'A}" : "\u00C1", // LATIN CAPITAL LETTER A WITH ACUTE
2790
- "{\\^A}" : "\u00C2", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
2791
- "{\\~A}" : "\u00C3", // LATIN CAPITAL LETTER A WITH TILDE
2792
- "{\\\"A}" : "\u00C4", // LATIN CAPITAL LETTER A WITH DIAERESIS
2793
- "{\\r A}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
2794
- "{\\AA}" : "\u00C5", // LATIN CAPITAL LETTER A WITH RING ABOVE
2795
- "{\\c C}" : "\u00C7", // LATIN CAPITAL LETTER C WITH CEDILLA
2796
- "{\\`E}" : "\u00C8", // LATIN CAPITAL LETTER E WITH GRAVE
2797
- "{\\'E}" : "\u00C9", // LATIN CAPITAL LETTER E WITH ACUTE
2798
- "{\\^E}" : "\u00CA", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
2799
- "{\\\"E}" : "\u00CB", // LATIN CAPITAL LETTER E WITH DIAERESIS
2800
- "{\\`I}" : "\u00CC", // LATIN CAPITAL LETTER I WITH GRAVE
2801
- "{\\'I}" : "\u00CD", // LATIN CAPITAL LETTER I WITH ACUTE
2802
- "{\\^I}" : "\u00CE", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
2803
- "{\\\"I}" : "\u00CF", // LATIN CAPITAL LETTER I WITH DIAERESIS
2804
- "{\\~N}" : "\u00D1", // LATIN CAPITAL LETTER N WITH TILDE
2805
- "{\\`O}" : "\u00D2", // LATIN CAPITAL LETTER O WITH GRAVE
2806
- "{\\'O}" : "\u00D3", // LATIN CAPITAL LETTER O WITH ACUTE
2807
- "{\\^O}" : "\u00D4", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
2808
- "{\\~O}" : "\u00D5", // LATIN CAPITAL LETTER O WITH TILDE
2809
- "{\\\"O}" : "\u00D6", // LATIN CAPITAL LETTER O WITH DIAERESIS
2810
- "{\\`U}" : "\u00D9", // LATIN CAPITAL LETTER U WITH GRAVE
2811
- "{\\'U}" : "\u00DA", // LATIN CAPITAL LETTER U WITH ACUTE
2812
- "{\\^U}" : "\u00DB", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
2813
- "{\\\"U}" : "\u00DC", // LATIN CAPITAL LETTER U WITH DIAERESIS
2814
- "{\\'Y}" : "\u00DD", // LATIN CAPITAL LETTER Y WITH ACUTE
2815
- "{\\`a}" : "\u00E0", // LATIN SMALL LETTER A WITH GRAVE
2816
- "{\\'a}" : "\u00E1", // LATIN SMALL LETTER A WITH ACUTE
2817
- "{\\^a}" : "\u00E2", // LATIN SMALL LETTER A WITH CIRCUMFLEX
2818
- "{\\~a}" : "\u00E3", // LATIN SMALL LETTER A WITH TILDE
2819
- "{\\\"a}" : "\u00E4", // LATIN SMALL LETTER A WITH DIAERESIS
2820
- "{\\r a}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
2821
- "{\\aa}" : "\u00E5", // LATIN SMALL LETTER A WITH RING ABOVE
2822
- "{\\c c}" : "\u00E7", // LATIN SMALL LETTER C WITH CEDILLA
2823
- "{\\`e}" : "\u00E8", // LATIN SMALL LETTER E WITH GRAVE
2824
- "{\\'e}" : "\u00E9", // LATIN SMALL LETTER E WITH ACUTE
2825
- "{\\^e}" : "\u00EA", // LATIN SMALL LETTER E WITH CIRCUMFLEX
2826
- "{\\\"e}" : "\u00EB", // LATIN SMALL LETTER E WITH DIAERESIS
2827
- "{\\`i}" : "\u00EC", // LATIN SMALL LETTER I WITH GRAVE
2828
- "{\\'i}" : "\u00ED", // LATIN SMALL LETTER I WITH ACUTE
2829
- "{\\^i}" : "\u00EE", // LATIN SMALL LETTER I WITH CIRCUMFLEX
2830
- "{\\\"i}" : "\u00EF", // LATIN SMALL LETTER I WITH DIAERESIS
2831
- "{\\~n}" : "\u00F1", // LATIN SMALL LETTER N WITH TILDE
2832
- "{\\`o}" : "\u00F2", // LATIN SMALL LETTER O WITH GRAVE
2833
- "{\\'o}" : "\u00F3", // LATIN SMALL LETTER O WITH ACUTE
2834
- "{\\^o}" : "\u00F4", // LATIN SMALL LETTER O WITH CIRCUMFLEX
2835
- "{\\~o}" : "\u00F5", // LATIN SMALL LETTER O WITH TILDE
2836
- "{\\\"o}" : "\u00F6", // LATIN SMALL LETTER O WITH DIAERESIS
2837
- "{\\`u}" : "\u00F9", // LATIN SMALL LETTER U WITH GRAVE
2838
- "{\\'u}" : "\u00FA", // LATIN SMALL LETTER U WITH ACUTE
2839
- "{\\^u}" : "\u00FB", // LATIN SMALL LETTER U WITH CIRCUMFLEX
2840
- "{\\\"u}" : "\u00FC", // LATIN SMALL LETTER U WITH DIAERESIS
2841
- "{\\'y}" : "\u00FD", // LATIN SMALL LETTER Y WITH ACUTE
2842
- "{\\\"y}" : "\u00FF", // LATIN SMALL LETTER Y WITH DIAERESIS
2843
- "{\\=A}" : "\u0100", // LATIN CAPITAL LETTER A WITH MACRON
2844
- "{\\=a}" : "\u0101", // LATIN SMALL LETTER A WITH MACRON
2845
- "{\\u A}" : "\u0102", // LATIN CAPITAL LETTER A WITH BREVE
2846
- "{\\u a}" : "\u0103", // LATIN SMALL LETTER A WITH BREVE
2847
- "{\\k A}" : "\u0104", // LATIN CAPITAL LETTER A WITH OGONEK
2848
- "{\\k a}" : "\u0105", // LATIN SMALL LETTER A WITH OGONEK
2849
- "{\\'C}" : "\u0106", // LATIN CAPITAL LETTER C WITH ACUTE
2850
- "{\\'c}" : "\u0107", // LATIN SMALL LETTER C WITH ACUTE
2851
- "{\\^C}" : "\u0108", // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
2852
- "{\\^c}" : "\u0109", // LATIN SMALL LETTER C WITH CIRCUMFLEX
2853
- "{\\.C}" : "\u010A", // LATIN CAPITAL LETTER C WITH DOT ABOVE
2854
- "{\\.c}" : "\u010B", // LATIN SMALL LETTER C WITH DOT ABOVE
2855
- "{\\v C}" : "\u010C", // LATIN CAPITAL LETTER C WITH CARON
2856
- "{\\v c}" : "\u010D", // LATIN SMALL LETTER C WITH CARON
2857
- "{\\v D}" : "\u010E", // LATIN CAPITAL LETTER D WITH CARON
2858
- "{\\v d}" : "\u010F", // LATIN SMALL LETTER D WITH CARON
2859
- "{\\=E}" : "\u0112", // LATIN CAPITAL LETTER E WITH MACRON
2860
- "{\\=e}" : "\u0113", // LATIN SMALL LETTER E WITH MACRON
2861
- "{\\u E}" : "\u0114", // LATIN CAPITAL LETTER E WITH BREVE
2862
- "{\\u e}" : "\u0115", // LATIN SMALL LETTER E WITH BREVE
2863
- "{\\.E}" : "\u0116", // LATIN CAPITAL LETTER E WITH DOT ABOVE
2864
- "{\\.e}" : "\u0117", // LATIN SMALL LETTER E WITH DOT ABOVE
2865
- "{\\k E}" : "\u0118", // LATIN CAPITAL LETTER E WITH OGONEK
2866
- "{\\k e}" : "\u0119", // LATIN SMALL LETTER E WITH OGONEK
2867
- "{\\v E}" : "\u011A", // LATIN CAPITAL LETTER E WITH CARON
2868
- "{\\v e}" : "\u011B", // LATIN SMALL LETTER E WITH CARON
2869
- "{\\^G}" : "\u011C", // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
2870
- "{\\^g}" : "\u011D", // LATIN SMALL LETTER G WITH CIRCUMFLEX
2871
- "{\\u G}" : "\u011E", // LATIN CAPITAL LETTER G WITH BREVE
2872
- "{\\u g}" : "\u011F", // LATIN SMALL LETTER G WITH BREVE
2873
- "{\\.G}" : "\u0120", // LATIN CAPITAL LETTER G WITH DOT ABOVE
2874
- "{\\.g}" : "\u0121", // LATIN SMALL LETTER G WITH DOT ABOVE
2875
- "{\\c G}" : "\u0122", // LATIN CAPITAL LETTER G WITH CEDILLA
2876
- "{\\c g}" : "\u0123", // LATIN SMALL LETTER G WITH CEDILLA
2877
- "{\\^H}" : "\u0124", // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
2878
- "{\\^h}" : "\u0125", // LATIN SMALL LETTER H WITH CIRCUMFLEX
2879
- "{\\~I}" : "\u0128", // LATIN CAPITAL LETTER I WITH TILDE
2880
- "{\\~i}" : "\u0129", // LATIN SMALL LETTER I WITH TILDE
2881
- "{\\=I}" : "\u012A", // LATIN CAPITAL LETTER I WITH MACRON
2882
- "{\\=i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
2883
- "{\\=\\i}" : "\u012B", // LATIN SMALL LETTER I WITH MACRON
2884
- "{\\u I}" : "\u012C", // LATIN CAPITAL LETTER I WITH BREVE
2885
- "{\\u i}" : "\u012D", // LATIN SMALL LETTER I WITH BREVE
2886
- "{\\k I}" : "\u012E", // LATIN CAPITAL LETTER I WITH OGONEK
2887
- "{\\k i}" : "\u012F", // LATIN SMALL LETTER I WITH OGONEK
2888
- "{\\.I}" : "\u0130", // LATIN CAPITAL LETTER I WITH DOT ABOVE
2889
- "{\\^J}" : "\u0134", // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
2890
- "{\\^j}" : "\u0135", // LATIN SMALL LETTER J WITH CIRCUMFLEX
2891
- "{\\c K}" : "\u0136", // LATIN CAPITAL LETTER K WITH CEDILLA
2892
- "{\\c k}" : "\u0137", // LATIN SMALL LETTER K WITH CEDILLA
2893
- "{\\'L}" : "\u0139", // LATIN CAPITAL LETTER L WITH ACUTE
2894
- "{\\'l}" : "\u013A", // LATIN SMALL LETTER L WITH ACUTE
2895
- "{\\c L}" : "\u013B", // LATIN CAPITAL LETTER L WITH CEDILLA
2896
- "{\\c l}" : "\u013C", // LATIN SMALL LETTER L WITH CEDILLA
2897
- "{\\v L}" : "\u013D", // LATIN CAPITAL LETTER L WITH CARON
2898
- "{\\v l}" : "\u013E", // LATIN SMALL LETTER L WITH CARON
2899
- "{\\L}" : "\u0141", //LATIN CAPITAL LETTER L WITH STROKE
2900
- "{\\l}" : "\u0142", //LATIN SMALL LETTER L WITH STROKE
2901
- "{\\'N}" : "\u0143", // LATIN CAPITAL LETTER N WITH ACUTE
2902
- "{\\'n}" : "\u0144", // LATIN SMALL LETTER N WITH ACUTE
2903
- "{\\c N}" : "\u0145", // LATIN CAPITAL LETTER N WITH CEDILLA
2904
- "{\\c n}" : "\u0146", // LATIN SMALL LETTER N WITH CEDILLA
2905
- "{\\v N}" : "\u0147", // LATIN CAPITAL LETTER N WITH CARON
2906
- "{\\v n}" : "\u0148", // LATIN SMALL LETTER N WITH CARON
2907
- "{\\=O}" : "\u014C", // LATIN CAPITAL LETTER O WITH MACRON
2908
- "{\\=o}" : "\u014D", // LATIN SMALL LETTER O WITH MACRON
2909
- "{\\u O}" : "\u014E", // LATIN CAPITAL LETTER O WITH BREVE
2910
- "{\\u o}" : "\u014F", // LATIN SMALL LETTER O WITH BREVE
2911
- "{\\H O}" : "\u0150", // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
2912
- "{\\H o}" : "\u0151", // LATIN SMALL LETTER O WITH DOUBLE ACUTE
2913
- "{\\'R}" : "\u0154", // LATIN CAPITAL LETTER R WITH ACUTE
2914
- "{\\'r}" : "\u0155", // LATIN SMALL LETTER R WITH ACUTE
2915
- "{\\c R}" : "\u0156", // LATIN CAPITAL LETTER R WITH CEDILLA
2916
- "{\\c r}" : "\u0157", // LATIN SMALL LETTER R WITH CEDILLA
2917
- "{\\v R}" : "\u0158", // LATIN CAPITAL LETTER R WITH CARON
2918
- "{\\v r}" : "\u0159", // LATIN SMALL LETTER R WITH CARON
2919
- "{\\'S}" : "\u015A", // LATIN CAPITAL LETTER S WITH ACUTE
2920
- "{\\'s}" : "\u015B", // LATIN SMALL LETTER S WITH ACUTE
2921
- "{\\^S}" : "\u015C", // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
2922
- "{\\^s}" : "\u015D", // LATIN SMALL LETTER S WITH CIRCUMFLEX
2923
- "{\\c S}" : "\u015E", // LATIN CAPITAL LETTER S WITH CEDILLA
2924
- "{\\c s}" : "\u015F", // LATIN SMALL LETTER S WITH CEDILLA
2925
- "{\\v S}" : "\u0160", // LATIN CAPITAL LETTER S WITH CARON
2926
- "{\\v s}" : "\u0161", // LATIN SMALL LETTER S WITH CARON
2927
- "{\\c T}" : "\u0162", // LATIN CAPITAL LETTER T WITH CEDILLA
2928
- "{\\c t}" : "\u0163", // LATIN SMALL LETTER T WITH CEDILLA
2929
- "{\\v T}" : "\u0164", // LATIN CAPITAL LETTER T WITH CARON
2930
- "{\\v t}" : "\u0165", // LATIN SMALL LETTER T WITH CARON
2931
- "{\\~U}" : "\u0168", // LATIN CAPITAL LETTER U WITH TILDE
2932
- "{\\~u}" : "\u0169", // LATIN SMALL LETTER U WITH TILDE
2933
- "{\\=U}" : "\u016A", // LATIN CAPITAL LETTER U WITH MACRON
2934
- "{\\=u}" : "\u016B", // LATIN SMALL LETTER U WITH MACRON
2935
- "{\\u U}" : "\u016C", // LATIN CAPITAL LETTER U WITH BREVE
2936
- "{\\u u}" : "\u016D", // LATIN SMALL LETTER U WITH BREVE
2937
- "{\\r U}" : "\u016E", // LATIN CAPITAL LETTER U WITH RING ABOVE
2938
- "{\\r u}" : "\u016F", // LATIN SMALL LETTER U WITH RING ABOVE
2939
- "{\\H U}" : "\u0170", // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
2940
- "{\\H u}" : "\u0171", // LATIN SMALL LETTER U WITH DOUBLE ACUTE
2941
- "{\\k U}" : "\u0172", // LATIN CAPITAL LETTER U WITH OGONEK
2942
- "{\\k u}" : "\u0173", // LATIN SMALL LETTER U WITH OGONEK
2943
- "{\\^W}" : "\u0174", // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
2944
- "{\\^w}" : "\u0175", // LATIN SMALL LETTER W WITH CIRCUMFLEX
2945
- "{\\^Y}" : "\u0176", // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
2946
- "{\\^y}" : "\u0177", // LATIN SMALL LETTER Y WITH CIRCUMFLEX
2947
- "{\\\"Y}" : "\u0178", // LATIN CAPITAL LETTER Y WITH DIAERESIS
2948
- "{\\'Z}" : "\u0179", // LATIN CAPITAL LETTER Z WITH ACUTE
2949
- "{\\'z}" : "\u017A", // LATIN SMALL LETTER Z WITH ACUTE
2950
- "{\\.Z}" : "\u017B", // LATIN CAPITAL LETTER Z WITH DOT ABOVE
2951
- "{\\.z}" : "\u017C", // LATIN SMALL LETTER Z WITH DOT ABOVE
2952
- "{\\v Z}" : "\u017D", // LATIN CAPITAL LETTER Z WITH CARON
2953
- "{\\v z}" : "\u017E", // LATIN SMALL LETTER Z WITH CARON
2954
- "{\\v A}" : "\u01CD", // LATIN CAPITAL LETTER A WITH CARON
2955
- "{\\v a}" : "\u01CE", // LATIN SMALL LETTER A WITH CARON
2956
- "{\\v I}" : "\u01CF", // LATIN CAPITAL LETTER I WITH CARON
2957
- "{\\v i}" : "\u01D0", // LATIN SMALL LETTER I WITH CARON
2958
- "{\\v O}" : "\u01D1", // LATIN CAPITAL LETTER O WITH CARON
2959
- "{\\v o}" : "\u01D2", // LATIN SMALL LETTER O WITH CARON
2960
- "{\\v U}" : "\u01D3", // LATIN CAPITAL LETTER U WITH CARON
2961
- "{\\v u}" : "\u01D4", // LATIN SMALL LETTER U WITH CARON
2962
- "{\\v G}" : "\u01E6", // LATIN CAPITAL LETTER G WITH CARON
2963
- "{\\v g}" : "\u01E7", // LATIN SMALL LETTER G WITH CARON
2964
- "{\\v K}" : "\u01E8", // LATIN CAPITAL LETTER K WITH CARON
2965
- "{\\v k}" : "\u01E9", // LATIN SMALL LETTER K WITH CARON
2966
- "{\\k O}" : "\u01EA", // LATIN CAPITAL LETTER O WITH OGONEK
2967
- "{\\k o}" : "\u01EB", // LATIN SMALL LETTER O WITH OGONEK
2968
- "{\\v j}" : "\u01F0", // LATIN SMALL LETTER J WITH CARON
2969
- "{\\'G}" : "\u01F4", // LATIN CAPITAL LETTER G WITH ACUTE
2970
- "{\\'g}" : "\u01F5", // LATIN SMALL LETTER G WITH ACUTE
2971
- "{\\.B}" : "\u1E02", // LATIN CAPITAL LETTER B WITH DOT ABOVE
2972
- "{\\.b}" : "\u1E03", // LATIN SMALL LETTER B WITH DOT ABOVE
2973
- "{\\d B}" : "\u1E04", // LATIN CAPITAL LETTER B WITH DOT BELOW
2974
- "{\\d b}" : "\u1E05", // LATIN SMALL LETTER B WITH DOT BELOW
2975
- "{\\b B}" : "\u1E06", // LATIN CAPITAL LETTER B WITH LINE BELOW
2976
- "{\\b b}" : "\u1E07", // LATIN SMALL LETTER B WITH LINE BELOW
2977
- "{\\.D}" : "\u1E0A", // LATIN CAPITAL LETTER D WITH DOT ABOVE
2978
- "{\\.d}" : "\u1E0B", // LATIN SMALL LETTER D WITH DOT ABOVE
2979
- "{\\d D}" : "\u1E0C", // LATIN CAPITAL LETTER D WITH DOT BELOW
2980
- "{\\d d}" : "\u1E0D", // LATIN SMALL LETTER D WITH DOT BELOW
2981
- "{\\b D}" : "\u1E0E", // LATIN CAPITAL LETTER D WITH LINE BELOW
2982
- "{\\b d}" : "\u1E0F", // LATIN SMALL LETTER D WITH LINE BELOW
2983
- "{\\c D}" : "\u1E10", // LATIN CAPITAL LETTER D WITH CEDILLA
2984
- "{\\c d}" : "\u1E11", // LATIN SMALL LETTER D WITH CEDILLA
2985
- "{\\.F}" : "\u1E1E", // LATIN CAPITAL LETTER F WITH DOT ABOVE
2986
- "{\\.f}" : "\u1E1F", // LATIN SMALL LETTER F WITH DOT ABOVE
2987
- "{\\=G}" : "\u1E20", // LATIN CAPITAL LETTER G WITH MACRON
2988
- "{\\=g}" : "\u1E21", // LATIN SMALL LETTER G WITH MACRON
2989
- "{\\.H}" : "\u1E22", // LATIN CAPITAL LETTER H WITH DOT ABOVE
2990
- "{\\.h}" : "\u1E23", // LATIN SMALL LETTER H WITH DOT ABOVE
2991
- "{\\d H}" : "\u1E24", // LATIN CAPITAL LETTER H WITH DOT BELOW
2992
- "{\\d h}" : "\u1E25", // LATIN SMALL LETTER H WITH DOT BELOW
2993
- "{\\\"H}" : "\u1E26", // LATIN CAPITAL LETTER H WITH DIAERESIS
2994
- "{\\\"h}" : "\u1E27", // LATIN SMALL LETTER H WITH DIAERESIS
2995
- "{\\c H}" : "\u1E28", // LATIN CAPITAL LETTER H WITH CEDILLA
2996
- "{\\c h}" : "\u1E29", // LATIN SMALL LETTER H WITH CEDILLA
2997
- "{\\'K}" : "\u1E30", // LATIN CAPITAL LETTER K WITH ACUTE
2998
- "{\\'k}" : "\u1E31", // LATIN SMALL LETTER K WITH ACUTE
2999
- "{\\d K}" : "\u1E32", // LATIN CAPITAL LETTER K WITH DOT BELOW
3000
- "{\\d k}" : "\u1E33", // LATIN SMALL LETTER K WITH DOT BELOW
3001
- "{\\b K}" : "\u1E34", // LATIN CAPITAL LETTER K WITH LINE BELOW
3002
- "{\\b k}" : "\u1E35", // LATIN SMALL LETTER K WITH LINE BELOW
3003
- "{\\d L}" : "\u1E36", // LATIN CAPITAL LETTER L WITH DOT BELOW
3004
- "{\\d l}" : "\u1E37", // LATIN SMALL LETTER L WITH DOT BELOW
3005
- "{\\b L}" : "\u1E3A", // LATIN CAPITAL LETTER L WITH LINE BELOW
3006
- "{\\b l}" : "\u1E3B", // LATIN SMALL LETTER L WITH LINE BELOW
3007
- "{\\'M}" : "\u1E3E", // LATIN CAPITAL LETTER M WITH ACUTE
3008
- "{\\'m}" : "\u1E3F", // LATIN SMALL LETTER M WITH ACUTE
3009
- "{\\.M}" : "\u1E40", // LATIN CAPITAL LETTER M WITH DOT ABOVE
3010
- "{\\.m}" : "\u1E41", // LATIN SMALL LETTER M WITH DOT ABOVE
3011
- "{\\d M}" : "\u1E42", // LATIN CAPITAL LETTER M WITH DOT BELOW
3012
- "{\\d m}" : "\u1E43", // LATIN SMALL LETTER M WITH DOT BELOW
3013
- "{\\.N}" : "\u1E44", // LATIN CAPITAL LETTER N WITH DOT ABOVE
3014
- "{\\.n}" : "\u1E45", // LATIN SMALL LETTER N WITH DOT ABOVE
3015
- "{\\d N}" : "\u1E46", // LATIN CAPITAL LETTER N WITH DOT BELOW
3016
- "{\\d n}" : "\u1E47", // LATIN SMALL LETTER N WITH DOT BELOW
3017
- "{\\b N}" : "\u1E48", // LATIN CAPITAL LETTER N WITH LINE BELOW
3018
- "{\\b n}" : "\u1E49", // LATIN SMALL LETTER N WITH LINE BELOW
3019
- "{\\'P}" : "\u1E54", // LATIN CAPITAL LETTER P WITH ACUTE
3020
- "{\\'p}" : "\u1E55", // LATIN SMALL LETTER P WITH ACUTE
3021
- "{\\.P}" : "\u1E56", // LATIN CAPITAL LETTER P WITH DOT ABOVE
3022
- "{\\.p}" : "\u1E57", // LATIN SMALL LETTER P WITH DOT ABOVE
3023
- "{\\.R}" : "\u1E58", // LATIN CAPITAL LETTER R WITH DOT ABOVE
3024
- "{\\.r}" : "\u1E59", // LATIN SMALL LETTER R WITH DOT ABOVE
3025
- "{\\d R}" : "\u1E5A", // LATIN CAPITAL LETTER R WITH DOT BELOW
3026
- "{\\d r}" : "\u1E5B", // LATIN SMALL LETTER R WITH DOT BELOW
3027
- "{\\b R}" : "\u1E5E", // LATIN CAPITAL LETTER R WITH LINE BELOW
3028
- "{\\b r}" : "\u1E5F", // LATIN SMALL LETTER R WITH LINE BELOW
3029
- "{\\.S}" : "\u1E60", // LATIN CAPITAL LETTER S WITH DOT ABOVE
3030
- "{\\.s}" : "\u1E61", // LATIN SMALL LETTER S WITH DOT ABOVE
3031
- "{\\d S}" : "\u1E62", // LATIN CAPITAL LETTER S WITH DOT BELOW
3032
- "{\\d s}" : "\u1E63", // LATIN SMALL LETTER S WITH DOT BELOW
3033
- "{\\.T}" : "\u1E6A", // LATIN CAPITAL LETTER T WITH DOT ABOVE
3034
- "{\\.t}" : "\u1E6B", // LATIN SMALL LETTER T WITH DOT ABOVE
3035
- "{\\d T}" : "\u1E6C", // LATIN CAPITAL LETTER T WITH DOT BELOW
3036
- "{\\d t}" : "\u1E6D", // LATIN SMALL LETTER T WITH DOT BELOW
3037
- "{\\b T}" : "\u1E6E", // LATIN CAPITAL LETTER T WITH LINE BELOW
3038
- "{\\b t}" : "\u1E6F", // LATIN SMALL LETTER T WITH LINE BELOW
3039
- "{\\~V}" : "\u1E7C", // LATIN CAPITAL LETTER V WITH TILDE
3040
- "{\\~v}" : "\u1E7D", // LATIN SMALL LETTER V WITH TILDE
3041
- "{\\d V}" : "\u1E7E", // LATIN CAPITAL LETTER V WITH DOT BELOW
3042
- "{\\d v}" : "\u1E7F", // LATIN SMALL LETTER V WITH DOT BELOW
3043
- "{\\`W}" : "\u1E80", // LATIN CAPITAL LETTER W WITH GRAVE
3044
- "{\\`w}" : "\u1E81", // LATIN SMALL LETTER W WITH GRAVE
3045
- "{\\'W}" : "\u1E82", // LATIN CAPITAL LETTER W WITH ACUTE
3046
- "{\\'w}" : "\u1E83", // LATIN SMALL LETTER W WITH ACUTE
3047
- "{\\\"W}" : "\u1E84", // LATIN CAPITAL LETTER W WITH DIAERESIS
3048
- "{\\\"w}" : "\u1E85", // LATIN SMALL LETTER W WITH DIAERESIS
3049
- "{\\.W}" : "\u1E86", // LATIN CAPITAL LETTER W WITH DOT ABOVE
3050
- "{\\.w}" : "\u1E87", // LATIN SMALL LETTER W WITH DOT ABOVE
3051
- "{\\d W}" : "\u1E88", // LATIN CAPITAL LETTER W WITH DOT BELOW
3052
- "{\\d w}" : "\u1E89", // LATIN SMALL LETTER W WITH DOT BELOW
3053
- "{\\.X}" : "\u1E8A", // LATIN CAPITAL LETTER X WITH DOT ABOVE
3054
- "{\\.x}" : "\u1E8B", // LATIN SMALL LETTER X WITH DOT ABOVE
3055
- "{\\\"X}" : "\u1E8C", // LATIN CAPITAL LETTER X WITH DIAERESIS
3056
- "{\\\"x}" : "\u1E8D", // LATIN SMALL LETTER X WITH DIAERESIS
3057
- "{\\.Y}" : "\u1E8E", // LATIN CAPITAL LETTER Y WITH DOT ABOVE
3058
- "{\\.y}" : "\u1E8F", // LATIN SMALL LETTER Y WITH DOT ABOVE
3059
- "{\\^Z}" : "\u1E90", // LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
3060
- "{\\^z}" : "\u1E91", // LATIN SMALL LETTER Z WITH CIRCUMFLEX
3061
- "{\\d Z}" : "\u1E92", // LATIN CAPITAL LETTER Z WITH DOT BELOW
3062
- "{\\d z}" : "\u1E93", // LATIN SMALL LETTER Z WITH DOT BELOW
3063
- "{\\b Z}" : "\u1E94", // LATIN CAPITAL LETTER Z WITH LINE BELOW
3064
- "{\\b z}" : "\u1E95", // LATIN SMALL LETTER Z WITH LINE BELOW
3065
- "{\\b h}" : "\u1E96", // LATIN SMALL LETTER H WITH LINE BELOW
3066
- "{\\\"t}" : "\u1E97", // LATIN SMALL LETTER T WITH DIAERESIS
3067
- "{\\r w}" : "\u1E98", // LATIN SMALL LETTER W WITH RING ABOVE
3068
- "{\\r y}" : "\u1e99", // LATIN SMALL LETTER Y WITH RING ABOVE
3069
- "{\\d A}" : "\u1EA0", // LATIN CAPITAL LETTER A WITH DOT BELOW
3070
- "{\\d a}" : "\u1EA1", // LATIN SMALL LETTER A WITH DOT BELOW
3071
- "{\\d E}" : "\u1EB8", // LATIN CAPITAL LETTER E WITH DOT BELOW
3072
- "{\\d e}" : "\u1EB9", // LATIN SMALL LETTER E WITH DOT BELOW
3073
- "{\\~E}" : "\u1EBC", // LATIN CAPITAL LETTER E WITH TILDE
3074
- "{\\~e}" : "\u1EBD", // LATIN SMALL LETTER E WITH TILDE
3075
- "{\\d I}" : "\u1ECA", // LATIN CAPITAL LETTER I WITH DOT BELOW
3076
- "{\\d i}" : "\u1ECB", // LATIN SMALL LETTER I WITH DOT BELOW
3077
- "{\\d O}" : "\u1ECC", // LATIN CAPITAL LETTER O WITH DOT BELOW
3078
- "{\\d o}" : "\u1ECD", // LATIN SMALL LETTER O WITH DOT BELOW
3079
- "{\\d U}" : "\u1EE4", // LATIN CAPITAL LETTER U WITH DOT BELOW
3080
- "{\\d u}" : "\u1EE5", // LATIN SMALL LETTER U WITH DOT BELOW
3081
- "{\\`Y}" : "\u1EF2", // LATIN CAPITAL LETTER Y WITH GRAVE
3082
- "{\\`y}" : "\u1EF3", // LATIN SMALL LETTER Y WITH GRAVE
3083
- "{\\d Y}" : "\u1EF4", // LATIN CAPITAL LETTER Y WITH DOT BELOW
3084
- "{\\d y}" : "\u1EF5", // LATIN SMALL LETTER Y WITH DOT BELOW
3085
- "{\\~Y}" : "\u1EF8", // LATIN CAPITAL LETTER Y WITH TILDE
3086
- "{\\~y}" : "\u1EF9", // LATIN SMALL LETTER Y WITH TILDE
3087
- "{\\~}" : "\u223C", // TILDE OPERATOR
3088
- "~" : "\u00A0" // NO-BREAK SPACE
3089
- };/** BEGIN TEST CASES **/
3090
- var testCases = [
3091
- {
3092
- "type": "import",
3093
- "input": "@article{Adams2001,\nauthor = {Adams, Nancy K and DeSilva, Shanaka L and Self, Steven and Salas, Guido and Schubring, Steven and Permenter, Jason L and Arbesman, Kendra},\nfile = {:Users/heatherwright/Documents/Scientific Papers/Adams\\_Huaynaputina.pdf:pdf;::},\njournal = {Bulletin of Volcanology},\nkeywords = {Vulcanian eruptions,breadcrust,plinian},\npages = {493--518},\ntitle = {{The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru}},\nvolume = {62},\nyear = {2001}\n}",
3094
- "items": [
3095
- {
3096
- "itemType": "journalArticle",
3097
- "title": "The physical volcanology of the 1600 eruption of Huaynaputina, southern Peru",
3098
- "creators": [
3099
- {
3100
- "firstName": "Nancy K",
3101
- "lastName": "Adams",
3102
- "creatorType": "author"
3103
- },
3104
- {
3105
- "firstName": "Shanaka L",
3106
- "lastName": "DeSilva",
3107
- "creatorType": "author"
3108
- },
3109
- {
3110
- "firstName": "Steven",
3111
- "lastName": "Self",
3112
- "creatorType": "author"
3113
- },
3114
- {
3115
- "firstName": "Guido",
3116
- "lastName": "Salas",
3117
- "creatorType": "author"
3118
- },
3119
- {
3120
- "firstName": "Steven",
3121
- "lastName": "Schubring",
3122
- "creatorType": "author"
3123
- },
3124
- {
3125
- "firstName": "Jason L",
3126
- "lastName": "Permenter",
3127
- "creatorType": "author"
3128
- },
3129
- {
3130
- "firstName": "Kendra",
3131
- "lastName": "Arbesman",
3132
- "creatorType": "author"
3133
- }
3134
- ],
3135
- "date": "2001",
3136
- "itemID": "Adams2001",
3137
- "pages": "493–518",
3138
- "publicationTitle": "Bulletin of Volcanology",
3139
- "volume": "62",
3140
- "attachments": [
3141
- {
3142
- "path": "Users/heatherwright/Documents/Scientific Papers/Adams_Huaynaputina.pdf",
3143
- "mimeType": "application/pdf",
3144
- "title": "Attachment"
3145
- }
3146
- ],
3147
- "tags": [
3148
- "Vulcanian eruptions",
3149
- "breadcrust",
3150
- "plinian"
3151
- ],
3152
- "notes": [],
3153
- "seeAlso": []
3154
- }
3155
- ]
3156
- },
3157
- {
3158
- "type": "import",
3159
- "input": "@Book{abramowitz+stegun,\n author = \"Milton {Abramowitz} and Irene A. {Stegun}\",\n title = \"Handbook of Mathematical Functions with\n Formulas, Graphs, and Mathematical Tables\",\n publisher = \"Dover\",\n year = 1964,\n address = \"New York\",\n edition = \"ninth Dover printing, tenth GPO printing\"\n}\n\n@Book{Torre2008,\n author = \"Joe Torre and Tom Verducci\",\n publisher = \"Doubleday\",\n title = \"The Yankee Years\",\n year = 2008,\n isbn = \"0385527403\"\n}\n",
3160
- "items": [
3161
- {
3162
- "itemType": "book",
3163
- "title": "Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables",
3164
- "creators": [
3165
- {
3166
- "firstName": "Milton",
3167
- "lastName": "Abramowitz",
3168
- "creatorType": "author"
3169
- },
3170
- {
3171
- "firstName": "Irene A.",
3172
- "lastName": "Stegun",
3173
- "creatorType": "author"
3174
- }
3175
- ],
3176
- "date": "1964",
3177
- "edition": "ninth Dover printing, tenth GPO printing",
3178
- "itemID": "abramowitz+stegun",
3179
- "place": "New York",
3180
- "publisher": "Dover",
3181
- "attachments": [],
3182
- "tags": [],
3183
- "notes": [],
3184
- "seeAlso": []
3185
- },
3186
- {
3187
- "itemType": "book",
3188
- "title": "The Yankee Years",
3189
- "creators": [
3190
- {
3191
- "firstName": "Joe",
3192
- "lastName": "Torre",
3193
- "creatorType": "author"
3194
- },
3195
- {
3196
- "firstName": "Tom",
3197
- "lastName": "Verducci",
3198
- "creatorType": "author"
3199
- }
3200
- ],
3201
- "date": "2008",
3202
- "ISBN": "0385527403",
3203
- "itemID": "Torre2008",
3204
- "publisher": "Doubleday",
3205
- "attachments": [],
3206
- "tags": [],
3207
- "notes": [],
3208
- "seeAlso": []
3209
- }
3210
- ]
3211
- },
3212
- {
3213
- "type": "import",
3214
- "input": "@INPROCEEDINGS {author:06,\n title = {Some publication title},\n author = {First Author and Second Author},\n crossref = {conference:06},\n pages = {330—331},\n}\n@PROCEEDINGS {conference:06,\n editor = {First Editor and Second Editor},\n title = {Proceedings of the Xth Conference on XYZ},\n booktitle = {Proceedings of the Xth Conference on XYZ},\n year = {2006},\n month = oct,\n}",
3215
- "items": [
3216
- {
3217
- "itemType": "conferencePaper",
3218
- "title": "Some publication title",
3219
- "creators": [
3220
- {
3221
- "firstName": "First",
3222
- "lastName": "Author",
3223
- "creatorType": "author"
3224
- },
3225
- {
3226
- "firstName": "Second",
3227
- "lastName": "Author",
3228
- "creatorType": "author"
3229
- }
3230
- ],
3231
- "itemID": "author:06",
3232
- "pages": "330—331",
3233
- "attachments": [],
3234
- "tags": [],
3235
- "notes": [],
3236
- "seeAlso": []
3237
- },
3238
- {
3239
- "itemType": "book",
3240
- "title": "Proceedings of the Xth Conference on XYZ",
3241
- "creators": [
3242
- {
3243
- "firstName": "First",
3244
- "lastName": "Editor",
3245
- "creatorType": "editor"
3246
- },
3247
- {
3248
- "firstName": "Second",
3249
- "lastName": "Editor",
3250
- "creatorType": "editor"
3251
- }
3252
- ],
3253
- "date": "2006-10",
3254
- "itemID": "conference:06",
3255
- "attachments": [],
3256
- "tags": [],
3257
- "notes": [],
3258
- "seeAlso": []
3259
- }
3260
- ]
3261
- },
3262
- {
3263
- "type": "import",
3264
- "input": "@Book{hicks2001,\n author = \"von Hicks, III, Michael\",\n title = \"Design of a Carbon Fiber Composite Grid Structure for the GLAST\n Spacecraft Using a Novel Manufacturing Technique\",\n publisher = \"Stanford Press\",\n year = 2001,\n address = \"Palo Alto\",\n edition = \"1st,\",\n isbn = \"0-69-697269-4\"\n}",
3265
- "items": [
3266
- {
3267
- "itemType": "book",
3268
- "title": "Design of a Carbon Fiber Composite Grid Structure for the GLAST Spacecraft Using a Novel Manufacturing Technique",
3269
- "creators": [
3270
- {
3271
- "firstName": "Michael, III",
3272
- "lastName": "von Hicks",
3273
- "creatorType": "author"
3274
- }
3275
- ],
3276
- "date": "2001",
3277
- "ISBN": "0-69-697269-4",
3278
- "edition": "1st,",
3279
- "itemID": "hicks2001",
3280
- "place": "Palo Alto",
3281
- "publisher": "Stanford Press",
3282
- "attachments": [],
3283
- "tags": [],
3284
- "notes": [],
3285
- "seeAlso": []
3286
- }
3287
- ]
3288
- },
3289
- {
3290
- "type": "import",
3291
- "input": "@article{Oliveira_2009, title={USGS monitoring ecological impacts}, volume={107}, number={29}, journal={Oil & Gas Journal}, author={Oliveira, A}, year={2009}, pages={29}}",
3292
- "items": [
3293
- {
3294
- "itemType": "journalArticle",
3295
- "title": "USGS monitoring ecological impacts",
3296
- "creators": [
3297
- {
3298
- "firstName": "A",
3299
- "lastName": "Oliveira",
3300
- "creatorType": "author"
3301
- }
3302
- ],
3303
- "date": "2009",
3304
- "issue": "29",
3305
- "itemID": "Oliveira_2009",
3306
- "pages": "29",
3307
- "publicationTitle": "Oil & Gas Journal",
3308
- "volume": "107",
3309
- "attachments": [],
3310
- "tags": [],
3311
- "notes": [],
3312
- "seeAlso": []
3313
- }
3314
- ]
3315
- },
3316
- {
3317
- "type": "import",
3318
- "input": "@article{test-ticket1661,\ntitle={non-braking space: ~; accented characters: {\\~n} and \\~{n}; tilde operator: \\~},\n} ",
3319
- "items": [
3320
- {
3321
- "itemType": "journalArticle",
3322
- "title": "non-braking space: ; accented characters: ñ and ñ; tilde operator: ∼",
3323
- "creators": [],
3324
- "itemID": "test-ticket1661",
3325
- "attachments": [],
3326
- "tags": [],
3327
- "notes": [],
3328
- "seeAlso": []
3329
- }
3330
- ]
3331
- },
3332
- {
3333
- "type": "import",
3334
- "input": "@ARTICLE{Frit2,\n author = {Fritz, U. and Corti, C. and P\\\"{a}ckert, M.},\n title = {Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA$_{\\textrm{2}}$ sequences suggest unexpected phylogenetic position\n of Corso-Sardinian grass snakes (\\textit{Natrix cetti}) and \\textbf{do not}\n support their \\textsc{species status}, with notes on phylogeography and subspecies\n delineation of grass snakes.},\n journal = {Actes du $4^{\\textrm{ème}}$ Congrès Français d'Acoustique},\n year = {2012},\n volume = {12},\n pages = {71-80},\n doi = {10.1007/s13127-011-0069-8}\n}\n",
3335
- "items": [
3336
- {
3337
- "itemType": "journalArticle",
3338
- "title": "Test of markupconversion: Italics, bold, superscript, subscript, and small caps: Mitochondrial DNA₂ sequences suggest unexpected phylogenetic position of Corso-Sardinian grass snakes (<i>Natrix cetti</i>) and <b>do not</b> support their <span style=\"small-caps\">species status</span>, with notes on phylogeography and subspecies delineation of grass snakes.",
3339
- "creators": [
3340
- {
3341
- "firstName": "U.",
3342
- "lastName": "Fritz",
3343
- "creatorType": "author"
3344
- },
3345
- {
3346
- "firstName": "C.",
3347
- "lastName": "Corti",
3348
- "creatorType": "author"
3349
- },
3350
- {
3351
- "firstName": "M.",
3352
- "lastName": "Päckert",
3353
- "creatorType": "author"
3354
- }
3355
- ],
3356
- "date": "2012",
3357
- "DOI": "10.1007/s13127-011-0069-8",
3358
- "itemID": "Frit2",
3359
- "pages": "71-80",
3360
- "publicationTitle": "Actes du 4<sup>ème</sup> Congrès Français d'Acoustique",
3361
- "volume": "12",
3362
- "attachments": [],
3363
- "tags": [],
3364
- "notes": [],
3365
- "seeAlso": []
3366
- }
3367
- ]
3368
- },
3369
- {
3370
- "type": "import",
3371
- "input": "@misc{american_rights_at_work_public_2012,\n title = {Public Service Research Foundation},\n\turl = {http://www.americanrightsatwork.org/blogcategory-275/},\n\turldate = {2012-07-27},\n\tauthor = {American Rights at Work},\n\tyear = {2012},\n\thowpublished = {http://www.americanrightsatwork.org/blogcategory-275/},\n}",
3372
- "items": [
3373
- {
3374
- "itemType": "document",
3375
- "title": "Public Service Research Foundation",
3376
- "creators": [
3377
- {
3378
- "firstName": "American Rights at",
3379
- "lastName": "Work",
3380
- "creatorType": "author"
3381
- }
3382
- ],
3383
- "date": "2012",
3384
- "itemID": "american_rights_at_work_public_2012",
3385
- "url": "http://www.americanrightsatwork.org/blogcategory-275/",
3386
- "attachments": [],
3387
- "tags": [],
3388
- "notes": [],
3389
- "seeAlso": []
3390
- }
3391
- ]
3392
- },
3393
- {
3394
- "type": "import",
3395
- "input": "@article{zoteroFilePath1,\n title = {Zotero: single attachment},\n file = {Test:files/47/test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths2,\n title = {Zotero: multiple attachments},\n file = {Test1:files/47/test2.pdf:application/pdf;Test2:files/46/test2-min.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths3,\n title = {Zotero: linked attachments (old)},\n file = {Test:E:\\some\\random\\folder\\test2.pdf:application/pdf}\n}\n\n@article{zoteroFilePaths4,\n title = {Zotero: linked attachments},\n file = {Test:E\\:\\\\some\\\\random\\\\folder\\\\test2.pdf:application/pdf}\n}\n\n@article{mendeleyFilePaths1,\n title = {Mendeley: single attachment},\n url = {https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/},\n file = {:C$\\backslash$:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf:pdf}\n}\n\n@article{mendeleyFilePaths2,\ntitle = {Mendeley: escaped characters}\nfile = {:C$\\backslash$:/some/path/,.$\\backslash$;'[]\\{\\}`-=\\~{}!@\\#\\$\\%\\^{}\\&()\\_+.pdf:pdf},\n}\n\n@article{citaviFilePaths1,\n title = {Citavi: single attachment},\n url = {https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/},\n file = {Test:Q\\:\\\\some\\\\random\\\\folder\\\\test.pdf:pdf}\n}",
3396
- "items": [
3397
- {
3398
- "itemType": "journalArticle",
3399
- "title": "Zotero: single attachment",
3400
- "creators": [],
3401
- "itemID": "zoteroFilePath1",
3402
- "attachments": [
3403
- {
3404
- "title": "Test",
3405
- "path": "files/47/test2.pdf",
3406
- "mimeType": "application/pdf"
3407
- }
3408
- ],
3409
- "tags": [],
3410
- "notes": [],
3411
- "seeAlso": []
3412
- },
3413
- {
3414
- "itemType": "journalArticle",
3415
- "title": "Zotero: multiple attachments",
3416
- "creators": [],
3417
- "itemID": "zoteroFilePaths2",
3418
- "attachments": [
3419
- {
3420
- "title": "Test1",
3421
- "path": "files/47/test2.pdf",
3422
- "mimeType": "application/pdf"
3423
- },
3424
- {
3425
- "title": "Test2",
3426
- "path": "files/46/test2-min.pdf",
3427
- "mimeType": "application/pdf"
3428
- }
3429
- ],
3430
- "tags": [],
3431
- "notes": [],
3432
- "seeAlso": []
3433
- },
3434
- {
3435
- "itemType": "journalArticle",
3436
- "title": "Zotero: linked attachments (old)",
3437
- "creators": [],
3438
- "itemID": "zoteroFilePaths3",
3439
- "attachments": [],
3440
- "tags": [],
3441
- "notes": [],
3442
- "seeAlso": []
3443
- },
3444
- {
3445
- "itemType": "journalArticle",
3446
- "title": "Zotero: linked attachments",
3447
- "creators": [],
3448
- "itemID": "zoteroFilePaths4",
3449
- "attachments": [
3450
- {
3451
- "title": "Test",
3452
- "path": "E:\\some\\random\\folder\\test2.pdf",
3453
- "mimeType": "application/pdf"
3454
- }
3455
- ],
3456
- "tags": [],
3457
- "notes": [],
3458
- "seeAlso": []
3459
- },
3460
- {
3461
- "itemType": "journalArticle",
3462
- "title": "Mendeley: single attachment",
3463
- "creators": [],
3464
- "itemID": "mendeleyFilePaths1",
3465
- "url": "https://forums.zotero.org/discussion/28347/unable-to-get-pdfs-stored-on-computer-into-zotero-standalone/",
3466
- "attachments": [
3467
- {
3468
- "title": "Attachment",
3469
- "path": "C:/Users/somewhere/AppData/Local/Mendeley Ltd./Mendeley Desktop/Downloaded/test.pdf",
3470
- "mimeType": "application/pdf"
3471
- }
3472
- ],
3473
- "tags": [],
3474
- "notes": [],
3475
- "seeAlso": []
3476
- },
3477
- {
3478
- "itemType": "journalArticle",
3479
- "title": "Mendeley: escaped characters",
3480
- "creators": [],
3481
- "itemID": "mendeleyFilePaths2",
3482
- "attachments": [
3483
- {
3484
- "title": "Attachment",
3485
- "path": "C:/some/path/,.;'[]{}`-=~!@#$%^&()_+.pdf",
3486
- "mimeType": "application/pdf"
3487
- }
3488
- ],
3489
- "tags": [],
3490
- "notes": [],
3491
- "seeAlso": []
3492
- },
3493
- {
3494
- "itemType": "journalArticle",
3495
- "title": "Citavi: single attachment",
3496
- "creators": [],
3497
- "itemID": "citaviFilePaths1",
3498
- "url": "https://forums.zotero.org/discussion/35909/bibtex-import-from-citavi-including-pdf-attachments/",
3499
- "attachments": [
3500
- {
3501
- "title": "Test",
3502
- "path": "Q:\\some\\random\\folder\\test.pdf",
3503
- "mimeType": "application/pdf"
3504
- }
3505
- ],
3506
- "tags": [],
3507
- "notes": [],
3508
- "seeAlso": []
3509
- }
3510
- ]
3511
- },
3512
- {
3513
- "type": "import",
3514
- "input": "@article{BibTeXEscapeTest1,\n title = {\textbackslash\textbackslash\\{\\}: \\\\{}}\n}",
3515
- "items": [
3516
- {
3517
- "itemType": "journalArticle",
3518
- "title": "extbackslash extbackslash{}: {",
3519
- "creators": [],
3520
- "itemID": "BibTeXEscapeTest1",
3521
- "attachments": [],
3522
- "tags": [],
3523
- "notes": [],
3524
- "seeAlso": []
3525
- }
3526
- ]
3527
- },
3528
- {
3529
- "type": "import",
3530
- "input": "@article{sasson_increasing_2013,\n title = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders},\n\tvolume = {127},\n\tissn = {1524-4539},\n\tshorttitle = {Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates},\n\tdoi = {10.1161/CIR.0b013e318288b4dd},\n\tlanguage = {eng},\n\tnumber = {12},\n\tjournal = {Circulation},\n\tauthor = {Sasson, Comilla and Meischke, Hendrika and Abella, Benjamin S and Berg, Robert A and Bobrow, Bentley J and Chan, Paul S and Root, Elisabeth Dowling and Heisler, Michele and Levy, Jerrold H and Link, Mark and Masoudi, Frederick and Ong, Marcus and Sayre, Michael R and Rumsfeld, John S and Rea, Thomas D and {American Heart Association Council on Quality of Care and Outcomes Research} and {Emergency Cardiovascular Care Committee} and {Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation} and {Council on Clinical Cardiology} and {Council on Cardiovascular Surgery and Anesthesia}},\n\tmonth = mar,\n\tyear = {2013},\n\tnote = {{PMID:} 23439512},\n\tkeywords = {Administrative Personnel, American Heart Association, Cardiopulmonary Resuscitation, Community Health Services, Health Personnel, Heart Arrest, Humans, Leadership, Public Health, United States},\n\tpages = {1342--1350}\n}",
3531
- "items": [
3532
- {
3533
- "itemType": "journalArticle",
3534
- "title": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates: a science advisory from the American Heart Association for healthcare providers, policymakers, public health departments, and community leaders",
3535
- "creators": [
3536
- {
3537
- "firstName": "Comilla",
3538
- "lastName": "Sasson",
3539
- "creatorType": "author"
3540
- },
3541
- {
3542
- "firstName": "Hendrika",
3543
- "lastName": "Meischke",
3544
- "creatorType": "author"
3545
- },
3546
- {
3547
- "firstName": "Benjamin S",
3548
- "lastName": "Abella",
3549
- "creatorType": "author"
3550
- },
3551
- {
3552
- "firstName": "Robert A",
3553
- "lastName": "Berg",
3554
- "creatorType": "author"
3555
- },
3556
- {
3557
- "firstName": "Bentley J",
3558
- "lastName": "Bobrow",
3559
- "creatorType": "author"
3560
- },
3561
- {
3562
- "firstName": "Paul S",
3563
- "lastName": "Chan",
3564
- "creatorType": "author"
3565
- },
3566
- {
3567
- "firstName": "Elisabeth Dowling",
3568
- "lastName": "Root",
3569
- "creatorType": "author"
3570
- },
3571
- {
3572
- "firstName": "Michele",
3573
- "lastName": "Heisler",
3574
- "creatorType": "author"
3575
- },
3576
- {
3577
- "firstName": "Jerrold H",
3578
- "lastName": "Levy",
3579
- "creatorType": "author"
3580
- },
3581
- {
3582
- "firstName": "Mark",
3583
- "lastName": "Link",
3584
- "creatorType": "author"
3585
- },
3586
- {
3587
- "firstName": "Frederick",
3588
- "lastName": "Masoudi",
3589
- "creatorType": "author"
3590
- },
3591
- {
3592
- "firstName": "Marcus",
3593
- "lastName": "Ong",
3594
- "creatorType": "author"
3595
- },
3596
- {
3597
- "firstName": "Michael R",
3598
- "lastName": "Sayre",
3599
- "creatorType": "author"
3600
- },
3601
- {
3602
- "firstName": "John S",
3603
- "lastName": "Rumsfeld",
3604
- "creatorType": "author"
3605
- },
3606
- {
3607
- "firstName": "Thomas D",
3608
- "lastName": "Rea",
3609
- "creatorType": "author"
3610
- },
3611
- {
3612
- "lastName": "American Heart Association Council on Quality of Care and Outcomes Research",
3613
- "creatorType": "author",
3614
- "fieldMode": 1
3615
- },
3616
- {
3617
- "lastName": "Emergency Cardiovascular Care Committee",
3618
- "creatorType": "author",
3619
- "fieldMode": 1
3620
- },
3621
- {
3622
- "lastName": "Council on Cardiopulmonary, Critical Care, Perioperative and Resuscitation",
3623
- "creatorType": "author",
3624
- "fieldMode": 1
3625
- },
3626
- {
3627
- "lastName": "Council on Clinical Cardiology",
3628
- "creatorType": "author",
3629
- "fieldMode": 1
3630
- },
3631
- {
3632
- "lastName": "Council on Cardiovascular Surgery and Anesthesia",
3633
- "creatorType": "author",
3634
- "fieldMode": 1
3635
- }
3636
- ],
3637
- "date": "2013-03",
3638
- "DOI": "10.1161/CIR.0b013e318288b4dd",
3639
- "ISSN": "1524-4539",
3640
- "extra": "PMID: 23439512",
3641
- "issue": "12",
3642
- "itemID": "sasson_increasing_2013",
3643
- "language": "eng",
3644
- "pages": "1342–1350",
3645
- "publicationTitle": "Circulation",
3646
- "shortTitle": "Increasing cardiopulmonary resuscitation provision in communities with low bystander cardiopulmonary resuscitation rates",
3647
- "volume": "127",
3648
- "attachments": [],
3649
- "tags": [
3650
- {
3651
- "tag": "Administrative Personnel"
3652
- },
3653
- {
3654
- "tag": "American Heart Association"
3655
- },
3656
- {
3657
- "tag": "Cardiopulmonary Resuscitation"
3658
- },
3659
- {
3660
- "tag": "Community Health Services"
3661
- },
3662
- {
3663
- "tag": "Health Personnel"
3664
- },
3665
- {
3666
- "tag": "Heart Arrest"
3667
- },
3668
- {
3669
- "tag": "Humans"
3670
- },
3671
- {
3672
- "tag": "Leadership"
3673
- },
3674
- {
3675
- "tag": "Public Health"
3676
- },
3677
- {
3678
- "tag": "United States"
3679
- }
3680
- ],
3681
- "notes": [],
3682
- "seeAlso": []
3683
- }
3684
- ]
3685
- },
3686
- {
3687
- "type": "import",
3688
- "input": "@article{smith_testing_????,\n title = {Testing identifier import},\n\tauthor = {Smith, John},\n\tdoi = {10.12345/123456},\n\tlccn = {L123456},\n\tmrnumber = {MR123456},\n\tzmnumber = {ZM123456},\n\tpmid = {P123456},\n\tpmcid = {PMC123456},\n\teprinttype = {arxiv},\n\teprint = {AX123456}\n}",
3689
- "items": [
3690
- {
3691
- "itemType": "journalArticle",
3692
- "title": "Testing identifier import",
3693
- "creators": [
3694
- {
3695
- "firstName": "John",
3696
- "lastName": "Smith",
3697
- "creatorType": "author"
3698
- }
3699
- ],
3700
- "DOI": "10.12345/123456",
3701
- "extra": "LCCN: L123456\nMR: MR123456\nZbl: ZM123456\nPMID: P123456\nPMCID: PMC123456\narXiv: AX123456",
3702
- "itemID": "smith_testing_????",
3703
- "attachments": [],
3704
- "tags": [],
3705
- "notes": [],
3706
- "seeAlso": []
3707
- }
3708
- ]
3709
- },
3710
- {
3711
- "type": "import",
3712
- "input": "@inbook{smith_testing_????,\n title = {Testing identifier import chapter},\n\tauthor = {Smith, John},\n\tdoi = {10.12345/123456},\n\tlccn = {L123456},\n\tmrnumber = {MR123456},\n\tzmnumber = {ZM123456},\n\tpmid = {P123456},\n\tpmcid = {PMC123456},\n\teprinttype = {arxiv},\n\teprint = {AX123456}\n}",
3713
- "items": [
3714
- {
3715
- "itemType": "bookSection",
3716
- "title": "Testing identifier import chapter",
3717
- "creators": [
3718
- {
3719
- "firstName": "John",
3720
- "lastName": "Smith",
3721
- "creatorType": "author"
3722
- }
3723
- ],
3724
- "extra": "DOI: 10.12345/123456\nLCCN: L123456\nMR: MR123456\nZbl: ZM123456\nPMID: P123456\nPMCID: PMC123456\narXiv: AX123456",
3725
- "itemID": "smith_testing_????",
3726
- "attachments": [],
3727
- "tags": [],
3728
- "notes": [],
3729
- "seeAlso": []
3730
- }
3731
- ]
3732
- },
3733
- {
3734
- "type": "import",
3735
- "input": "@mastersthesis{DBLP:ms/Hoffmann2008,\n author = {Oliver Hoffmann},\n title = {Regelbasierte Extraktion und asymmetrische Fusion bibliographischer\n Informationen},\n school = {Diplomarbeit, Universit{\\\"{a}}t Trier, {FB} IV, {DBIS/DBLP}},\n year = {2009},\n url = {http://dblp.uni-trier.de/papers/DiplomarbeitOliverHoffmann.pdf},\n timestamp = {Wed, 03 Aug 2011 15:40:21 +0200},\n biburl = {http://dblp.org/rec/bib/ms/Hoffmann2008},\n bibsource = {dblp computer science bibliography, http://dblp.org}\n}\n\n@phdthesis{DBLP:phd/Ackermann2009,\n author = {Marcel R. Ackermann},\n title = {Algorithms for the Bregman k-Median problem},\n school = {University of Paderborn},\n year = {2009},\n url = {http://digital.ub.uni-paderborn.de/hs/content/titleinfo/1561},\n urn = {urn:nbn:de:hbz:466-20100407029},\n timestamp = {Thu, 01 Dec 2016 16:33:49 +0100},\n biburl = {http://dblp.org/rec/bib/phd/Ackermann2009},\n bibsource = {dblp computer science bibliography, http://dblp.org}\n}",
3736
- "items": [
3737
- {
3738
- "itemType": "thesis",
3739
- "title": "Regelbasierte Extraktion und asymmetrische Fusion bibliographischer Informationen",
3740
- "creators": [
3741
- {
3742
- "firstName": "Oliver",
3743
- "lastName": "Hoffmann",
3744
- "creatorType": "author"
3745
- }
3746
- ],
3747
- "date": "2009",
3748
- "itemID": "DBLP:ms/Hoffmann2008",
3749
- "thesisType": "Master's Thesis",
3750
- "university": "Diplomarbeit, Universität Trier, FB IV, DBIS/DBLP",
3751
- "url": "http://dblp.uni-trier.de/papers/DiplomarbeitOliverHoffmann.pdf",
3752
- "attachments": [],
3753
- "tags": [],
3754
- "notes": [],
3755
- "seeAlso": []
3756
- },
3757
- {
3758
- "itemType": "thesis",
3759
- "title": "Algorithms for the Bregman k-Median problem",
3760
- "creators": [
3761
- {
3762
- "firstName": "Marcel R.",
3763
- "lastName": "Ackermann",
3764
- "creatorType": "author"
3765
- }
3766
- ],
3767
- "date": "2009",
3768
- "itemID": "DBLP:phd/Ackermann2009",
3769
- "thesisType": "PhD Thesis",
3770
- "university": "University of Paderborn",
3771
- "url": "http://digital.ub.uni-paderborn.de/hs/content/titleinfo/1561",
3772
- "attachments": [],
3773
- "tags": [],
3774
- "notes": [],
3775
- "seeAlso": []
3776
- }
3777
- ]
3778
- },
3779
- {
3780
- "type": "import",
3781
- "input": "@inproceedings{Giannotti:2007:TPM:1281192.1281230,\n author = {Giannotti, Fosca and Nanni, Mirco and Pinelli, Fabio and Pedreschi, Dino},\n title = {Trajectory Pattern Mining},\n booktitle = {Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining},\n series = {KDD '07},\n year = {2007},\n isbn = {978-1-59593-609-7},\n location = {San Jose, California, USA},\n pages = {330--339},\n numpages = {10},\n url = {http://doi.acm.org/10.1145/1281192.1281230},\n doi = {10.1145/1281192.1281230},\n acmid = {1281230},\n publisher = {ACM},\n address = {New York, NY, USA},\n keywords = {spatio-temporal data mining, trajectory patterns},\n }",
3782
- "items": [
3783
- {
3784
- "itemType": "conferencePaper",
3785
- "title": "Trajectory Pattern Mining",
3786
- "creators": [
3787
- {
3788
- "firstName": "Fosca",
3789
- "lastName": "Giannotti",
3790
- "creatorType": "author"
3791
- },
3792
- {
3793
- "firstName": "Mirco",
3794
- "lastName": "Nanni",
3795
- "creatorType": "author"
3796
- },
3797
- {
3798
- "firstName": "Fabio",
3799
- "lastName": "Pinelli",
3800
- "creatorType": "author"
3801
- },
3802
- {
3803
- "firstName": "Dino",
3804
- "lastName": "Pedreschi",
3805
- "creatorType": "author"
3806
- }
3807
- ],
3808
- "date": "2007",
3809
- "DOI": "10.1145/1281192.1281230",
3810
- "ISBN": "978-1-59593-609-7",
3811
- "extra": "event-place: San Jose, California, USA",
3812
- "itemID": "Giannotti:2007:TPM:1281192.1281230",
3813
- "pages": "330–339",
3814
- "place": "New York, NY, USA",
3815
- "proceedingsTitle": "Proceedings of the 13th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining",
3816
- "publisher": "ACM",
3817
- "series": "KDD '07",
3818
- "url": "http://doi.acm.org/10.1145/1281192.1281230",
3819
- "attachments": [],
3820
- "tags": [
3821
- {
3822
- "tag": "spatio-temporal data mining"
3823
- },
3824
- {
3825
- "tag": "trajectory patterns"
3826
- }
3827
- ],
3828
- "notes": [],
3829
- "seeAlso": []
3830
- }
3831
- ]
3832
- },
3833
- {
3834
- "type": "import",
3835
- "input": "@article{madoc40756,\n author = {Elias Naumann and Moritz He{\\ss} and Leander Steinkopf},\n number = {6},\n language = {Deutsch},\n volume = {44},\n publisher = {Lucius \\& Lucius},\n address = {Stuttgart},\n pages = {426--446},\n journal = {Zeitschrift f{\\\"u}r Soziologie : ZfS},\n year = {2015},\n doi = {10.1515/zfsoz-2015-0604},\n title = {Die Alterung der Gesellschaft und der Generationenkonflikt in Europa},\n url = {https://madoc.bib.uni-mannheim.de/40756/}\n}\n\n@article {MR3077863,\nAUTHOR = {Eli{\\'a}{\\v{s}}, Marek and Matou{\\v{s}}ek, Ji{\\v{r}}{\\'{\\i}}},\nTITLE = {Higher-order {E}rd{\\H o}s-{S}zekeres theorems},\nJOURNAL = {Adv. Math.},\nFJOURNAL = {Advances in Mathematics},\nVOLUME = {244},\nYEAR = {2013},\nPAGES = {1--15},\nISSN = {0001-8708},\nMRCLASS = {05C65 (05C55 52C10)},\nMRNUMBER = {3077863},\nMRREVIEWER = {David Conlon},\nDOI = {10.1016/j.aim.2013.04.020},\nURL = {http://dx.doi.org/10.1016/j.aim.2013.04.020},\n}",
3836
- "items": [
3837
- {
3838
- "itemType": "journalArticle",
3839
- "title": "Die Alterung der Gesellschaft und der Generationenkonflikt in Europa",
3840
- "creators": [
3841
- {
3842
- "firstName": "Elias",
3843
- "lastName": "Naumann",
3844
- "creatorType": "author"
3845
- },
3846
- {
3847
- "firstName": "Moritz",
3848
- "lastName": "Heß",
3849
- "creatorType": "author"
3850
- },
3851
- {
3852
- "firstName": "Leander",
3853
- "lastName": "Steinkopf",
3854
- "creatorType": "author"
3855
- }
3856
- ],
3857
- "date": "2015",
3858
- "DOI": "10.1515/zfsoz-2015-0604",
3859
- "issue": "6",
3860
- "itemID": "madoc40756",
3861
- "language": "Deutsch",
3862
- "pages": "426–446",
3863
- "publicationTitle": "Zeitschrift für Soziologie : ZfS",
3864
- "url": "https://madoc.bib.uni-mannheim.de/40756/",
3865
- "volume": "44",
3866
- "attachments": [],
3867
- "tags": [],
3868
- "notes": [],
3869
- "seeAlso": []
3870
- },
3871
- {
3872
- "itemType": "journalArticle",
3873
- "title": "Higher-order Erdős-Szekeres theorems",
3874
- "creators": [
3875
- {
3876
- "firstName": "Marek",
3877
- "lastName": "Eliáš",
3878
- "creatorType": "author"
3879
- },
3880
- {
3881
- "firstName": "Jiří",
3882
- "lastName": "Matoušek",
3883
- "creatorType": "author"
3884
- }
3885
- ],
3886
- "date": "2013",
3887
- "DOI": "10.1016/j.aim.2013.04.020",
3888
- "ISSN": "0001-8708",
3889
- "extra": "MR: 3077863",
3890
- "itemID": "MR3077863",
3891
- "journalAbbreviation": "Adv. Math.",
3892
- "pages": "1–15",
3893
- "publicationTitle": "Advances in Mathematics",
3894
- "url": "http://dx.doi.org/10.1016/j.aim.2013.04.020",
3895
- "volume": "244",
3896
- "attachments": [],
3897
- "tags": [],
3898
- "notes": [],
3899
- "seeAlso": []
3900
- }
3901
- ]
3902
- },
3903
- {
3904
- "type": "import",
3905
- "input": "@incollection{madoc44942,\n language = {isl},\n author = {Eva H. {\\\"O}nnud{\\'o}ttir},\n title = {B{\\'u}s{\\'a}haldabyltingin : P{\\'o}lit{\\'i}skt jafnr{\\ae}{\\dh}i og {\\th}{\\'a}tttaka almennings {\\'i} m{\\'o}tm{\\ae}lum},\n year = {2011},\n publisher = {F{\\'e}lagsv{\\'i}sindastofnun H{\\'a}sk{\\'o}la {\\'I}slands},\n address = {Reykjavik},\n pages = {36--44}\n}\n",
3906
- "items": [
3907
- {
3908
- "itemType": "bookSection",
3909
- "title": "Búsáhaldabyltingin : Pólitískt jafnræði og þátttaka almennings í mótmælum",
3910
- "creators": [
3911
- {
3912
- "firstName": "Eva H.",
3913
- "lastName": "Önnudóttir",
3914
- "creatorType": "author"
3915
- }
3916
- ],
3917
- "date": "2011",
3918
- "itemID": "madoc44942",
3919
- "language": "isl",
3920
- "pages": "36–44",
3921
- "place": "Reykjavik",
3922
- "publisher": "Félagsvísindastofnun Háskóla Íslands",
3923
- "attachments": [],
3924
- "tags": [],
3925
- "notes": [],
3926
- "seeAlso": []
3927
- }
3928
- ]
3929
- },
3930
- {
3931
- "type": "import",
3932
- "input": "@String {zotero-url = {https://www.zotero.org/}}\n@string(zotero-creator = \"Corporation for Digital Scholarship\"))\n\n@Electronic{example-electronic-string,\n author = zotero-creator,\n title= {Zotero's Homepage},\n year = 2019,\n url =zotero-url,\n urldate=\"2019-10-12\"\n}\n",
3933
- "items": [
3934
- {
3935
- "itemType": "webpage",
3936
- "title": "Zotero's Homepage",
3937
- "creators": [
3938
- {
3939
- "firstName": "Corporation for Digital",
3940
- "lastName": "Scholarship",
3941
- "creatorType": "author"
3942
- }
3943
- ],
3944
- "date": "2019",
3945
- "itemID": "example-electronic-string",
3946
- "url": "https://www.zotero.org/",
3947
- "attachments": [],
3948
- "tags": [],
3949
- "notes": [],
3950
- "seeAlso": []
3951
- }
3952
- ]
3953
- },
3954
- {
3955
- "type": "import",
3956
- "input": "@String {meta:maintainer = \"Xavier D\\\\'ecoret\"}\n\n@\n %a\npreamble\n %a\n{ \"Maintained by \" # meta:maintainer }\n@String(Stefan = \"Stefan Swe{\\\\i}g\")\n@String(and = \" and \")\n\n@Book{sweig42,\n Author =\t stefan # And # meta:maintainer,\n title =\t { The {impossible} TEL---book },\n publisher =\t { D\\\\\"ead Po$_{eee}$t Society},\n yEAr =\t 1942,\n month = mar\n}",
3957
- "items": [
3958
- {
3959
- "itemType": "book",
3960
- "title": "The impossible ℡—book",
3961
- "creators": [
3962
- {
3963
- "firstName": "Stefan",
3964
- "lastName": "Swe\\ıg",
3965
- "creatorType": "author"
3966
- },
3967
- {
3968
- "firstName": "Xavier",
3969
- "lastName": "D\\écoret",
3970
- "creatorType": "author"
3971
- }
3972
- ],
3973
- "date": "1942-03",
3974
- "itemID": "sweig42",
3975
- "publisher": "D\\ëad Po<sub>eee</sub>t Society",
3976
- "attachments": [],
3977
- "tags": [],
3978
- "notes": [],
3979
- "seeAlso": []
3980
- }
3981
- ]
3982
- },
3983
- {
3984
- "type": "import",
3985
- "input": "@preamble{BibTeX for papers by David Kotz; for complete/updated list see\nhttps://www.cs.dartmouth.edu/~kotz/research/papers.html}\n\n@Article{batsis:rural,\n author = {John A. Batsis and Curtis L. Petersen and Matthew M. Clark and Summer B. Cook and David Kotz and Tyler L. Gooding and Meredith N. Roderka and Rima I. Al-Nimr and Dawna M. Pidgeon and Ann Haedrich and KC Wright and Christina Aquila and Todd A. Mackenzie},\n title = {A Rural Mobile Health Obesity Wellness Intervention for Older Adults with Obesity},\n journal = {BMC Geriatrics},\n year = 2020,\n month = {December},\n copyright = {the authors},\n URL = {https://www.cs.dartmouth.edu/~kotz/research/batsis-rural/index.html},\n note = {Accepted for publication},\n}\n",
3986
- "items": [
3987
- {
3988
- "itemType": "journalArticle",
3989
- "title": "A Rural Mobile Health Obesity Wellness Intervention for Older Adults with Obesity",
3990
- "creators": [
3991
- {
3992
- "firstName": "John A.",
3993
- "lastName": "Batsis",
3994
- "creatorType": "author"
3995
- },
3996
- {
3997
- "firstName": "Curtis L.",
3998
- "lastName": "Petersen",
3999
- "creatorType": "author"
4000
- },
4001
- {
4002
- "firstName": "Matthew M.",
4003
- "lastName": "Clark",
4004
- "creatorType": "author"
4005
- },
4006
- {
4007
- "firstName": "Summer B.",
4008
- "lastName": "Cook",
4009
- "creatorType": "author"
4010
- },
4011
- {
4012
- "firstName": "David",
4013
- "lastName": "Kotz",
4014
- "creatorType": "author"
4015
- },
4016
- {
4017
- "firstName": "Tyler L.",
4018
- "lastName": "Gooding",
4019
- "creatorType": "author"
4020
- },
4021
- {
4022
- "firstName": "Meredith N.",
4023
- "lastName": "Roderka",
4024
- "creatorType": "author"
4025
- },
4026
- {
4027
- "firstName": "Rima I.",
4028
- "lastName": "Al-Nimr",
4029
- "creatorType": "author"
4030
- },
4031
- {
4032
- "firstName": "Dawna M.",
4033
- "lastName": "Pidgeon",
4034
- "creatorType": "author"
4035
- },
4036
- {
4037
- "firstName": "Ann",
4038
- "lastName": "Haedrich",
4039
- "creatorType": "author"
4040
- },
4041
- {
4042
- "firstName": "K. C.",
4043
- "lastName": "Wright",
4044
- "creatorType": "author"
4045
- },
4046
- {
4047
- "firstName": "Christina",
4048
- "lastName": "Aquila",
4049
- "creatorType": "author"
4050
- },
4051
- {
4052
- "firstName": "Todd A.",
4053
- "lastName": "Mackenzie",
4054
- "creatorType": "author"
4055
- }
4056
- ],
4057
- "date": "2020-12",
4058
- "itemID": "batsis:rural",
4059
- "publicationTitle": "BMC Geriatrics",
4060
- "rights": "the authors",
4061
- "url": "https://www.cs.dartmouth.edu/~kotz/research/batsis-rural/index.html",
4062
- "attachments": [],
4063
- "tags": [],
4064
- "notes": [
4065
- {
4066
- "note": "<p>Accepted for publication</p>"
4067
- }
4068
- ],
4069
- "seeAlso": []
4070
- }
4071
- ]
4072
- },
4073
- {
4074
- "type": "import",
4075
- "input": "@techreport{ietf-bmwg-evpntest-09,\n\tnumber =\t{draft-ietf-bmwg-evpntest-09},\n\ttype =\t\t{Internet-Draft},\n\tinstitution =\t{Internet Engineering Task Force},\n\tpublisher =\t{Internet Engineering Task Force},\n\tnote =\t\t{Work in Progress},\n\turl =\t\t{https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-evpntest-09},\n author =\t{sudhin jacob and Kishore Tiruveedhula},\n\ttitle =\t\t{{Benchmarking Methodology for EVPN and PBB-EVPN}},\n\tpagetotal =\t28,\n\tyear =\t\t2021,\n\tmonth =\t\tjun,\n\tday =\t\t18,\n\tabstract =\t{This document defines methodologies for benchmarking EVPN and PBB- EVPN performance. EVPN is defined in RFC 7432, and is being deployed in Service Provider networks. Specifically, this document defines the methodologies for benchmarking EVPN/PBB-EVPN convergence, data plane performance, and control plane performance.},\n}\n",
4076
- "items": [
4077
- {
4078
- "itemType": "report",
4079
- "title": "Benchmarking Methodology for EVPN and PBB-EVPN",
4080
- "creators": [
4081
- {
4082
- "firstName": "sudhin",
4083
- "lastName": "jacob",
4084
- "creatorType": "author"
4085
- },
4086
- {
4087
- "firstName": "Kishore",
4088
- "lastName": "Tiruveedhula",
4089
- "creatorType": "author"
4090
- }
4091
- ],
4092
- "date": "2021-06-18",
4093
- "abstractNote": "This document defines methodologies for benchmarking EVPN and PBB- EVPN performance. EVPN is defined in RFC 7432, and is being deployed in Service Provider networks. Specifically, this document defines the methodologies for benchmarking EVPN/PBB-EVPN convergence, data plane performance, and control plane performance.",
4094
- "institution": "Internet Engineering Task Force",
4095
- "itemID": "ietf-bmwg-evpntest-09",
4096
- "reportNumber": "draft-ietf-bmwg-evpntest-09",
4097
- "reportType": "Internet-Draft",
4098
- "url": "https://datatracker.ietf.org/doc/html/draft-ietf-bmwg-evpntest-09",
4099
- "attachments": [],
4100
- "tags": [],
4101
- "notes": [
4102
- {
4103
- "note": "<p>Work in Progress</p>"
4104
- }
4105
- ],
4106
- "seeAlso": []
4107
- }
4108
- ]
4109
- },
4110
- {
4111
- "type": "import",
4112
- "input": "@inproceedings{NIPS2009_0188e8b8,\n author = {Cuturi, Marco and Vert, Jean-philippe and D\\textquotesingle aspremont, Alexandre},\n booktitle = {Advances in Neural Information Processing Systems},\n editor = {Y. Bengio and D. Schuurmans and J. Lafferty and C. Williams and A. Culotta},\n pages = {},\n publisher = {Curran Associates, Inc.},\n title = {White Functionals for Anomaly Detection in Dynamical Systems},\n url = {https://proceedings.neurips.cc/paper/2009/file/0188e8b8b014829e2fa0f430f0a95961-Paper.pdf},\n volume = {22},\n year = {2009}\n}",
4113
- "items": [
4114
- {
4115
- "itemType": "conferencePaper",
4116
- "title": "White Functionals for Anomaly Detection in Dynamical Systems",
4117
- "creators": [
4118
- {
4119
- "firstName": "Marco",
4120
- "lastName": "Cuturi",
4121
- "creatorType": "author"
4122
- },
4123
- {
4124
- "firstName": "Jean-philippe",
4125
- "lastName": "Vert",
4126
- "creatorType": "author"
4127
- },
4128
- {
4129
- "firstName": "Alexandre",
4130
- "lastName": "D' aspremont",
4131
- "creatorType": "author"
4132
- },
4133
- {
4134
- "firstName": "Y.",
4135
- "lastName": "Bengio",
4136
- "creatorType": "editor"
4137
- },
4138
- {
4139
- "firstName": "D.",
4140
- "lastName": "Schuurmans",
4141
- "creatorType": "editor"
4142
- },
4143
- {
4144
- "firstName": "J.",
4145
- "lastName": "Lafferty",
4146
- "creatorType": "editor"
4147
- },
4148
- {
4149
- "firstName": "C.",
4150
- "lastName": "Williams",
4151
- "creatorType": "editor"
4152
- },
4153
- {
4154
- "firstName": "A.",
4155
- "lastName": "Culotta",
4156
- "creatorType": "editor"
4157
- }
4158
- ],
4159
- "date": "2009",
4160
- "itemID": "NIPS2009_0188e8b8",
4161
- "proceedingsTitle": "Advances in Neural Information Processing Systems",
4162
- "publisher": "Curran Associates, Inc.",
4163
- "url": "https://proceedings.neurips.cc/paper/2009/file/0188e8b8b014829e2fa0f430f0a95961-Paper.pdf",
4164
- "volume": "22",
4165
- "attachments": [],
4166
- "tags": [],
4167
- "notes": [],
4168
- "seeAlso": []
4169
- }
4170
- ]
4171
- },
4172
- {
4173
- "type": "import",
4174
- "input": "@article{Borissov:2855446,\r\n author = \"Borissov, Alexander and Solokhin, Sergei\",\r\n collaboration = \"ALICE\",\r\n title = \"{Production of $\\Sigma^{0}$ Hyperon and Search of\r\n $\\Sigma^{0}$ Hypernuclei at LHC with ALICE}\",\r\n journal = \"Phys. At. Nucl.\",\r\n volume = \"85\",\r\n number = \"6\",\r\n pages = \"970-975\",\r\n year = \"2023\",\r\n url = \"https://cds.cern.ch/record/2855446\",\r\n doi = \"10.1134/S1063778823010131\",\r\n }",
4175
- "items": [
4176
- {
4177
- "itemType": "journalArticle",
4178
- "title": "Production of Σ⁰ Hyperon and Search of Σ⁰ Hypernuclei at LHC with ALICE",
4179
- "creators": [
4180
- {
4181
- "firstName": "Alexander",
4182
- "lastName": "Borissov",
4183
- "creatorType": "author"
4184
- },
4185
- {
4186
- "firstName": "Sergei",
4187
- "lastName": "Solokhin",
4188
- "creatorType": "author"
4189
- }
4190
- ],
4191
- "date": "2023",
4192
- "DOI": "10.1134/S1063778823010131",
4193
- "issue": "6",
4194
- "itemID": "Borissov:2855446",
4195
- "pages": "970-975",
4196
- "publicationTitle": "Phys. At. Nucl.",
4197
- "url": "https://cds.cern.ch/record/2855446",
4198
- "volume": "85",
4199
- "attachments": [],
4200
- "tags": [],
4201
- "notes": [],
4202
- "seeAlso": []
4203
- }
4204
- ]
4205
- },
4206
- {
4207
- "type": "import",
4208
- "input": "@book{derbis1998poczucie,\r\ntitle={Poczucie jako{\\'s}ci {\\.z}ycia a swoboda dzia{\\l}ania i odpowiedzialno{\\'s}{\\'c}},\r\nauthor={Derbis, Romuald and Ba{\\'n}ka, Augustyn},\r\nyear={1998},\r\npublisher={Stowarzyszenie Psychologia i Architektura}\r\n}",
4209
- "items": [
4210
- {
4211
- "itemType": "book",
4212
- "title": "Poczucie jakości życia a swoboda działania i odpowiedzialność",
4213
- "creators": [
4214
- {
4215
- "firstName": "Romuald",
4216
- "lastName": "Derbis",
4217
- "creatorType": "author"
4218
- },
4219
- {
4220
- "firstName": "Augustyn",
4221
- "lastName": "Bańka",
4222
- "creatorType": "author"
4223
- }
4224
- ],
4225
- "date": "1998",
4226
- "itemID": "derbis1998poczucie",
4227
- "publisher": "Stowarzyszenie Psychologia i Architektura",
4228
- "attachments": [],
4229
- "tags": [],
4230
- "notes": [],
4231
- "seeAlso": []
4232
- }
4233
- ]
4234
- }
4235
- ]
4236
- /** END TEST CASES **/