@wentorai/research-plugins 1.1.0 → 1.2.0

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 (261) hide show
  1. package/README.md +18 -18
  2. package/curated/analysis/README.md +12 -1
  3. package/curated/domains/README.md +48 -1
  4. package/curated/literature/README.md +46 -1
  5. package/curated/research/README.md +16 -1
  6. package/curated/tools/README.md +20 -1
  7. package/curated/writing/README.md +13 -1
  8. package/mcp-configs/academic-db/alphafold-mcp.json +20 -0
  9. package/mcp-configs/academic-db/brightspace-mcp.json +21 -0
  10. package/mcp-configs/academic-db/climatiq-mcp.json +20 -0
  11. package/mcp-configs/academic-db/gibs-mcp.json +20 -0
  12. package/mcp-configs/academic-db/gis-mcp-server.json +22 -0
  13. package/mcp-configs/academic-db/google-earth-engine-mcp.json +21 -0
  14. package/mcp-configs/academic-db/m4-clinical-mcp.json +21 -0
  15. package/mcp-configs/academic-db/medical-mcp.json +21 -0
  16. package/mcp-configs/academic-db/nexonco-mcp.json +20 -0
  17. package/mcp-configs/academic-db/omop-mcp.json +20 -0
  18. package/mcp-configs/academic-db/onekgpd-mcp.json +20 -0
  19. package/mcp-configs/academic-db/openedu-mcp.json +20 -0
  20. package/mcp-configs/academic-db/opengenes-mcp.json +20 -0
  21. package/mcp-configs/academic-db/openstax-mcp.json +21 -0
  22. package/mcp-configs/academic-db/openstreetmap-mcp.json +21 -0
  23. package/mcp-configs/academic-db/opentargets-mcp.json +21 -0
  24. package/mcp-configs/academic-db/pdb-mcp.json +21 -0
  25. package/mcp-configs/academic-db/smithsonian-mcp.json +20 -0
  26. package/mcp-configs/ai-platform/magi-researchers.json +21 -0
  27. package/mcp-configs/ai-platform/mcp-academic-researcher.json +22 -0
  28. package/mcp-configs/ai-platform/open-paper-machine.json +21 -0
  29. package/mcp-configs/ai-platform/paper-intelligence.json +21 -0
  30. package/mcp-configs/ai-platform/paper-reader.json +21 -0
  31. package/mcp-configs/ai-platform/paperdebugger.json +21 -0
  32. package/mcp-configs/browser/exa-mcp.json +20 -0
  33. package/mcp-configs/browser/mcp-searxng.json +21 -0
  34. package/mcp-configs/browser/mcp-webresearch.json +20 -0
  35. package/mcp-configs/communication/discourse-mcp.json +21 -0
  36. package/mcp-configs/data-platform/automl-stat-mcp.json +21 -0
  37. package/mcp-configs/data-platform/jefferson-stats-mcp.json +22 -0
  38. package/mcp-configs/data-platform/mcp-excel-server.json +21 -0
  39. package/mcp-configs/data-platform/mcp-stata.json +21 -0
  40. package/mcp-configs/data-platform/mcpstack-jupyter.json +21 -0
  41. package/mcp-configs/data-platform/ml-mcp.json +21 -0
  42. package/mcp-configs/data-platform/nasdaq-data-link-mcp.json +20 -0
  43. package/mcp-configs/data-platform/numpy-mcp.json +21 -0
  44. package/mcp-configs/dev-platform/geogebra-mcp.json +21 -0
  45. package/mcp-configs/dev-platform/latex-mcp-server.json +21 -0
  46. package/mcp-configs/dev-platform/manim-mcp.json +20 -0
  47. package/mcp-configs/dev-platform/mcp-echarts.json +20 -0
  48. package/mcp-configs/dev-platform/panel-viz-mcp.json +20 -0
  49. package/mcp-configs/dev-platform/paperbanana.json +20 -0
  50. package/mcp-configs/dev-platform/texflow-mcp.json +20 -0
  51. package/mcp-configs/dev-platform/texmcp.json +20 -0
  52. package/mcp-configs/dev-platform/typst-mcp.json +21 -0
  53. package/mcp-configs/dev-platform/vizro-mcp.json +20 -0
  54. package/mcp-configs/note-knowledge/local-faiss-mcp.json +21 -0
  55. package/mcp-configs/note-knowledge/mcp-memory-service.json +21 -0
  56. package/mcp-configs/note-knowledge/mcp-obsidian.json +23 -0
  57. package/mcp-configs/note-knowledge/mcp-ragdocs.json +20 -0
  58. package/mcp-configs/note-knowledge/mcp-summarizer.json +21 -0
  59. package/mcp-configs/note-knowledge/mediawiki-mcp.json +21 -0
  60. package/mcp-configs/note-knowledge/openzim-mcp.json +20 -0
  61. package/mcp-configs/note-knowledge/zettelkasten-mcp.json +21 -0
  62. package/mcp-configs/reference-mgr/academic-paper-mcp-http.json +20 -0
  63. package/mcp-configs/reference-mgr/academix.json +20 -0
  64. package/mcp-configs/reference-mgr/arxiv-research-mcp.json +21 -0
  65. package/mcp-configs/reference-mgr/google-scholar-abstract-mcp.json +19 -0
  66. package/mcp-configs/reference-mgr/google-scholar-mcp.json +20 -0
  67. package/mcp-configs/reference-mgr/mcp-paperswithcode.json +21 -0
  68. package/mcp-configs/reference-mgr/mcp-scholarly.json +20 -0
  69. package/mcp-configs/reference-mgr/mcp-simple-arxiv.json +20 -0
  70. package/mcp-configs/reference-mgr/mcp-simple-pubmed.json +20 -0
  71. package/mcp-configs/reference-mgr/mcp-zotero.json +21 -0
  72. package/mcp-configs/reference-mgr/mendeley-mcp.json +20 -0
  73. package/mcp-configs/reference-mgr/ncbi-mcp-server.json +22 -0
  74. package/mcp-configs/reference-mgr/onecite.json +21 -0
  75. package/mcp-configs/reference-mgr/paper-search-mcp.json +21 -0
  76. package/mcp-configs/reference-mgr/pubmed-search-mcp.json +21 -0
  77. package/mcp-configs/reference-mgr/scholar-mcp.json +21 -0
  78. package/mcp-configs/reference-mgr/scholar-multi-mcp.json +21 -0
  79. package/mcp-configs/reference-mgr/seerai.json +21 -0
  80. package/mcp-configs/reference-mgr/semantic-scholar-fastmcp.json +21 -0
  81. package/mcp-configs/reference-mgr/sourcelibrary.json +20 -0
  82. package/openclaw.plugin.json +2 -2
  83. package/package.json +2 -2
  84. package/skills/analysis/dataviz/citation-map-guide/SKILL.md +184 -0
  85. package/skills/analysis/dataviz/data-visualization-principles/SKILL.md +171 -0
  86. package/skills/analysis/econometrics/econml-causal-guide/SKILL.md +2 -2
  87. package/skills/analysis/econometrics/empirical-paper-analysis/SKILL.md +192 -0
  88. package/skills/analysis/econometrics/mostly-harmless-guide/SKILL.md +2 -2
  89. package/skills/analysis/econometrics/panel-data-regression-workflow/SKILL.md +267 -0
  90. package/skills/analysis/econometrics/python-causality-guide/SKILL.md +2 -2
  91. package/skills/analysis/econometrics/stata-reference-guide/SKILL.md +293 -0
  92. package/skills/analysis/statistics/general-statistics-guide/SKILL.md +226 -0
  93. package/skills/analysis/statistics/infiagent-benchmark-guide/SKILL.md +106 -0
  94. package/skills/analysis/wrangling/claude-data-analysis-guide/SKILL.md +100 -0
  95. package/skills/analysis/wrangling/open-data-scientist-guide/SKILL.md +197 -0
  96. package/skills/analysis/wrangling/streamline-analyst-guide/SKILL.md +119 -0
  97. package/skills/domains/ai-ml/ai-agent-papers-guide/SKILL.md +146 -0
  98. package/skills/domains/ai-ml/anomaly-detection-papers-guide/SKILL.md +167 -0
  99. package/skills/domains/ai-ml/autonomous-agents-papers-guide/SKILL.md +178 -0
  100. package/skills/domains/ai-ml/domain-adaptation-papers-guide/SKILL.md +173 -0
  101. package/skills/domains/ai-ml/generative-ai-guide/SKILL.md +2 -2
  102. package/skills/domains/ai-ml/graph-learning-papers-guide/SKILL.md +125 -0
  103. package/skills/domains/ai-ml/kolmogorov-arnold-networks-guide/SKILL.md +185 -0
  104. package/skills/domains/ai-ml/npcpy-research-guide/SKILL.md +137 -0
  105. package/skills/domains/ai-ml/responsible-ai-guide/SKILL.md +126 -0
  106. package/skills/domains/ai-ml/vmas-simulator-guide/SKILL.md +129 -0
  107. package/skills/domains/biomedical/clawbio-guide/SKILL.md +167 -0
  108. package/skills/domains/biomedical/clinical-dialogue-agents-guide/SKILL.md +145 -0
  109. package/skills/domains/biomedical/ena-sequence-api/SKILL.md +175 -0
  110. package/skills/domains/biomedical/genomas-guide/SKILL.md +126 -0
  111. package/skills/domains/biomedical/genotex-benchmark-guide/SKILL.md +125 -0
  112. package/skills/domains/biomedical/med-researcher-guide/SKILL.md +161 -0
  113. package/skills/domains/biomedical/med-researcher-r1-guide/SKILL.md +146 -0
  114. package/skills/domains/biomedical/ncbi-blast-api/SKILL.md +195 -0
  115. package/skills/domains/biomedical/ncbi-datasets-api/SKILL.md +220 -0
  116. package/skills/domains/biomedical/quickgo-api/SKILL.md +181 -0
  117. package/skills/domains/business/xpert-bi-guide/SKILL.md +84 -0
  118. package/skills/domains/chemistry/cactus-cheminformatics-guide/SKILL.md +89 -0
  119. package/skills/domains/chemistry/chemeagle-guide/SKILL.md +147 -0
  120. package/skills/domains/chemistry/chemgraph-agent-guide/SKILL.md +120 -0
  121. package/skills/domains/cs/ai-security-papers-guide/SKILL.md +103 -0
  122. package/skills/domains/cs/code-llm-papers-guide/SKILL.md +131 -0
  123. package/skills/domains/cs/gaussian-splatting-papers-guide/SKILL.md +158 -0
  124. package/skills/domains/cs/llm-aiops-guide/SKILL.md +70 -0
  125. package/skills/domains/cs/software-heritage-api/SKILL.md +200 -0
  126. package/skills/domains/economics/nber-working-papers-api/SKILL.md +177 -0
  127. package/skills/domains/economics/repec-economics-api/SKILL.md +188 -0
  128. package/skills/domains/education/academic-study-methods/SKILL.md +228 -0
  129. package/skills/domains/education/edumcp-guide/SKILL.md +74 -0
  130. package/skills/domains/education/open-syllabus-api/SKILL.md +171 -0
  131. package/skills/domains/finance/akshare-finance-data/SKILL.md +207 -0
  132. package/skills/domains/finance/finsight-research-guide/SKILL.md +113 -0
  133. package/skills/domains/finance/options-analytics-agent-guide/SKILL.md +117 -0
  134. package/skills/domains/geoscience/pangaea-data-api/SKILL.md +197 -0
  135. package/skills/domains/humanities/digital-humanities-methods/SKILL.md +232 -0
  136. package/skills/domains/law/caselaw-access-api/SKILL.md +149 -0
  137. package/skills/domains/law/legal-agent-skills-guide/SKILL.md +132 -0
  138. package/skills/domains/law/legal-research-methods/SKILL.md +190 -0
  139. package/skills/domains/law/opencontracts-guide/SKILL.md +168 -0
  140. package/skills/domains/math/lean-theorem-proving-guide/SKILL.md +140 -0
  141. package/skills/domains/pharma/madd-drug-discovery-guide/SKILL.md +153 -0
  142. package/skills/domains/social-science/ipums-microdata-api/SKILL.md +211 -0
  143. package/skills/domains/social-science/sociology-research-methods/SKILL.md +181 -0
  144. package/skills/literature/discovery/arxiv-paper-monitoring/SKILL.md +233 -0
  145. package/skills/literature/discovery/papers-we-love-guide/SKILL.md +169 -0
  146. package/skills/literature/discovery/zotero-arxiv-daily-guide/SKILL.md +2 -2
  147. package/skills/literature/fulltext/bioc-pmc-api/SKILL.md +146 -0
  148. package/skills/literature/fulltext/dataverse-api/SKILL.md +215 -0
  149. package/skills/literature/fulltext/hal-archive-api/SKILL.md +218 -0
  150. package/skills/literature/fulltext/osf-api/SKILL.md +212 -0
  151. package/skills/literature/fulltext/pmc-ftp-bulk-download/SKILL.md +182 -0
  152. package/skills/literature/fulltext/zotero-ai-butler-guide/SKILL.md +166 -0
  153. package/skills/literature/fulltext/zotero-scihub-guide/SKILL.md +168 -0
  154. package/skills/literature/metadata/bibliometrix-guide/SKILL.md +164 -0
  155. package/skills/literature/metadata/crossref-event-data-api/SKILL.md +183 -0
  156. package/skills/literature/metadata/doi-content-negotiation/SKILL.md +202 -0
  157. package/skills/literature/metadata/orkg-api/SKILL.md +153 -0
  158. package/skills/literature/metadata/plumx-metrics-api/SKILL.md +188 -0
  159. package/skills/literature/metadata/ror-organization-api/SKILL.md +208 -0
  160. package/skills/literature/metadata/sophosia-reference-guide/SKILL.md +110 -0
  161. package/skills/literature/metadata/viaf-authority-api/SKILL.md +209 -0
  162. package/skills/literature/metadata/zoplicate-dedup-guide/SKILL.md +147 -0
  163. package/skills/literature/metadata/zotero-actions-tags-guide/SKILL.md +212 -0
  164. package/skills/literature/metadata/zotmoov-guide/SKILL.md +120 -0
  165. package/skills/literature/metadata/zutilo-guide/SKILL.md +140 -0
  166. package/skills/literature/search/arxiv-cli-tools/SKILL.md +172 -0
  167. package/skills/literature/search/arxiv-osiris/SKILL.md +199 -0
  168. package/skills/literature/search/base-academic-search/SKILL.md +196 -0
  169. package/skills/literature/search/chatpaper-guide/SKILL.md +2 -2
  170. package/skills/literature/search/citeseerx-api/SKILL.md +183 -0
  171. package/skills/literature/search/deepgit-search-guide/SKILL.md +2 -2
  172. package/skills/literature/search/eric-education-api/SKILL.md +199 -0
  173. package/skills/literature/search/findpapers-guide/SKILL.md +177 -0
  174. package/skills/literature/search/ieee-xplore-api/SKILL.md +177 -0
  175. package/skills/literature/search/lens-scholarly-api/SKILL.md +211 -0
  176. package/skills/literature/search/multi-database-literature-search/SKILL.md +198 -0
  177. package/skills/literature/search/open-library-api/SKILL.md +196 -0
  178. package/skills/literature/search/open-semantic-search-guide/SKILL.md +190 -0
  179. package/skills/literature/search/openaire-api/SKILL.md +141 -0
  180. package/skills/literature/search/paper-search-mcp-guide/SKILL.md +107 -0
  181. package/skills/literature/search/papers-chat-guide/SKILL.md +194 -0
  182. package/skills/literature/search/pasa-paper-search-guide/SKILL.md +2 -2
  183. package/skills/literature/search/plos-open-access-api/SKILL.md +203 -0
  184. package/skills/literature/search/scielo-api/SKILL.md +182 -0
  185. package/skills/literature/search/share-research-api/SKILL.md +129 -0
  186. package/skills/literature/search/worldcat-search-api/SKILL.md +224 -0
  187. package/skills/research/automation/aim-experiment-guide/SKILL.md +2 -2
  188. package/skills/research/automation/claude-academic-workflow-guide/SKILL.md +202 -0
  189. package/skills/research/automation/coexist-ai-guide/SKILL.md +149 -0
  190. package/skills/research/automation/datagen-research-guide/SKILL.md +2 -2
  191. package/skills/research/automation/foam-agent-guide/SKILL.md +203 -0
  192. package/skills/research/automation/kedro-pipeline-guide/SKILL.md +2 -2
  193. package/skills/research/automation/mle-agent-guide/SKILL.md +2 -2
  194. package/skills/research/automation/paper-to-agent-guide/SKILL.md +2 -2
  195. package/skills/research/deep-research/auto-deep-research-guide/SKILL.md +2 -2
  196. package/skills/research/deep-research/cognitive-kernel-guide/SKILL.md +200 -0
  197. package/skills/research/deep-research/corvus-research-guide/SKILL.md +132 -0
  198. package/skills/research/deep-research/in-depth-research-guide/SKILL.md +205 -0
  199. package/skills/research/deep-research/kosmos-scientist-guide/SKILL.md +185 -0
  200. package/skills/research/deep-research/llm-scientific-discovery-guide/SKILL.md +178 -0
  201. package/skills/research/deep-research/open-researcher-guide/SKILL.md +138 -0
  202. package/skills/research/methodology/claude-scientific-guide/SKILL.md +2 -2
  203. package/skills/research/methodology/parsifal-slr-guide/SKILL.md +154 -0
  204. package/skills/research/methodology/research-pipeline-units-guide/SKILL.md +169 -0
  205. package/skills/research/methodology/slr-automation-guide/SKILL.md +235 -0
  206. package/skills/research/paper-review/latte-review-guide/SKILL.md +175 -0
  207. package/skills/research/paper-review/paper-critique-framework/SKILL.md +181 -0
  208. package/skills/tools/code-exec/contextplus-mcp-guide/SKILL.md +110 -0
  209. package/skills/tools/diagram/clawphd-guide/SKILL.md +149 -0
  210. package/skills/tools/diagram/kroki-diagram-api/SKILL.md +198 -0
  211. package/skills/tools/diagram/scientific-graphical-abstract/SKILL.md +201 -0
  212. package/skills/tools/document/docsgpt-guide/SKILL.md +2 -2
  213. package/skills/tools/document/md2pdf-xelatex/SKILL.md +212 -0
  214. package/skills/tools/document/openpaper-guide/SKILL.md +232 -0
  215. package/skills/tools/document/weknora-guide/SKILL.md +216 -0
  216. package/skills/tools/document/zotero-addon-market-guide/SKILL.md +108 -0
  217. package/skills/tools/document/zotero-night-theme-guide/SKILL.md +142 -0
  218. package/skills/tools/document/zotero-style-guide/SKILL.md +217 -0
  219. package/skills/tools/knowledge-graph/graphiti-guide/SKILL.md +2 -2
  220. package/skills/tools/knowledge-graph/mimir-memory-guide/SKILL.md +135 -0
  221. package/skills/tools/knowledge-graph/notero-zotero-notion-guide/SKILL.md +187 -0
  222. package/skills/tools/knowledge-graph/open-webui-tools-guide/SKILL.md +156 -0
  223. package/skills/tools/knowledge-graph/openspg-guide/SKILL.md +210 -0
  224. package/skills/tools/knowledge-graph/paperpile-notion-guide/SKILL.md +84 -0
  225. package/skills/tools/knowledge-graph/zotero-markdb-connect-guide/SKILL.md +162 -0
  226. package/skills/tools/ocr-translate/latex-translation-guide/SKILL.md +176 -0
  227. package/skills/tools/ocr-translate/math-equation-renderer/SKILL.md +198 -0
  228. package/skills/tools/ocr-translate/pdf-math-translate-guide/SKILL.md +2 -2
  229. package/skills/tools/ocr-translate/zotero-pdf-translate-guide/SKILL.md +2 -2
  230. package/skills/tools/ocr-translate/zotero-pdf2zh-guide/SKILL.md +2 -2
  231. package/skills/writing/citation/academic-citation-manager-guide/SKILL.md +182 -0
  232. package/skills/writing/citation/citation-assistant-skill/SKILL.md +192 -0
  233. package/skills/writing/citation/jabref-reference-guide/SKILL.md +2 -2
  234. package/skills/writing/citation/jasminum-zotero-guide/SKILL.md +2 -2
  235. package/skills/writing/citation/mendeley-api/SKILL.md +231 -0
  236. package/skills/writing/citation/obsidian-citation-guide/SKILL.md +2 -2
  237. package/skills/writing/citation/obsidian-zotero-guide/SKILL.md +2 -2
  238. package/skills/writing/citation/onecite-reference-guide/SKILL.md +168 -0
  239. package/skills/writing/citation/papersgpt-zotero-guide/SKILL.md +2 -2
  240. package/skills/writing/citation/papis-cli-guide/SKILL.md +2 -2
  241. package/skills/writing/citation/zotero-better-bibtex-guide/SKILL.md +2 -2
  242. package/skills/writing/citation/zotero-better-notes-guide/SKILL.md +2 -2
  243. package/skills/writing/citation/zotero-gpt-guide/SKILL.md +2 -2
  244. package/skills/writing/citation/zotero-mcp-guide/SKILL.md +2 -2
  245. package/skills/writing/citation/zotero-mdnotes-guide/SKILL.md +2 -2
  246. package/skills/writing/citation/zotero-reference-guide/SKILL.md +2 -2
  247. package/skills/writing/citation/zotfile-attachment-guide/SKILL.md +2 -2
  248. package/skills/writing/composition/opendraft-thesis-guide/SKILL.md +200 -0
  249. package/skills/writing/composition/paper-debugger-guide/SKILL.md +2 -2
  250. package/skills/writing/composition/paperforge-guide/SKILL.md +205 -0
  251. package/skills/writing/composition/research-paper-writer/SKILL.md +226 -0
  252. package/skills/writing/composition/scientific-writing-resources/SKILL.md +2 -2
  253. package/skills/writing/latex/academic-writing-latex/SKILL.md +285 -0
  254. package/skills/writing/latex/latex-drawing-collection/SKILL.md +2 -2
  255. package/skills/writing/latex/latex-templates-collection/SKILL.md +2 -2
  256. package/skills/writing/polish/chinese-text-humanizer/SKILL.md +140 -0
  257. package/skills/writing/templates/arxiv-preprint-template/SKILL.md +184 -0
  258. package/skills/writing/templates/elegant-paper-template/SKILL.md +141 -0
  259. package/skills/writing/templates/novathesis-guide/SKILL.md +2 -2
  260. package/skills/writing/templates/sjtuthesis-guide/SKILL.md +2 -2
  261. package/skills/writing/templates/thuthesis-guide/SKILL.md +2 -2
@@ -0,0 +1,198 @@
1
+ ---
2
+ name: math-equation-renderer
3
+ description: "Render LaTeX math equations as publication-ready PNG and SVG images"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "🔢"
7
+ category: "tools"
8
+ subcategory: "ocr-translate"
9
+ keywords: ["latex math", "equation rendering", "math images", "formula to png", "math typesetting", "tex rendering"]
10
+ source: "https://clawhub.ai/huaruoji/math-images"
11
+ ---
12
+
13
+ # Math Equation Renderer — LaTeX to Image
14
+
15
+ ## Overview
16
+
17
+ Rendering LaTeX math equations as standalone images (PNG, SVG, PDF) is essential for presentations, social media, documentation, and any context where native LaTeX rendering is unavailable. This guide covers multiple methods: command-line tools, Python libraries, and web APIs. Choose based on your workflow: batch processing favors CLI tools, while one-off equations work well with web APIs.
18
+
19
+ ## Method 1: TeX + dvipng (Command Line)
20
+
21
+ The classic approach using a minimal LaTeX document:
22
+
23
+ ```bash
24
+ # Install prerequisites
25
+ # macOS: brew install --cask mactex
26
+ # Ubuntu: sudo apt install texlive-latex-base dvipng
27
+
28
+ # Create a minimal .tex file
29
+ cat > equation.tex << 'EOF'
30
+ \documentclass[border=2pt]{standalone}
31
+ \usepackage{amsmath,amssymb}
32
+ \begin{document}
33
+ $\displaystyle E = mc^2$
34
+ \end{document}
35
+ EOF
36
+
37
+ # Compile to DVI then PNG
38
+ latex equation.tex
39
+ dvipng -D 300 -bg Transparent -T tight equation.dvi -o equation.png
40
+
41
+ # Or compile directly to PDF
42
+ pdflatex equation.tex
43
+ ```
44
+
45
+ ### Batch Rendering Script
46
+
47
+ ```bash
48
+ #!/bin/bash
49
+ # Render multiple equations from a text file (one per line)
50
+ INPUT="equations.txt"
51
+ OUTPUT_DIR="./rendered"
52
+ DPI=300
53
+ mkdir -p "$OUTPUT_DIR"
54
+
55
+ i=1
56
+ while IFS= read -r eq; do
57
+ cat > "/tmp/eq_${i}.tex" << EOF
58
+ \documentclass[border=2pt]{standalone}
59
+ \usepackage{amsmath,amssymb}
60
+ \begin{document}
61
+ \$\displaystyle ${eq}\$
62
+ \end{document}
63
+ EOF
64
+ (cd /tmp && latex -interaction=batchmode "eq_${i}.tex" && \
65
+ dvipng -D "$DPI" -bg Transparent -T tight "eq_${i}.dvi" \
66
+ -o "${OLDPWD}/${OUTPUT_DIR}/eq_${i}.png") 2>/dev/null
67
+ echo "Rendered equation $i: $eq"
68
+ ((i++))
69
+ done < "$INPUT"
70
+ echo "Done. $((i-1)) equations rendered to $OUTPUT_DIR/"
71
+ ```
72
+
73
+ ## Method 2: matplotlib (Python)
74
+
75
+ ```python
76
+ import matplotlib.pyplot as plt
77
+ import matplotlib
78
+ matplotlib.use('Agg') # Non-interactive backend
79
+
80
+ def render_equation(latex_str: str, output_path: str, dpi: int = 300,
81
+ fontsize: int = 20, color: str = "black"):
82
+ """Render a LaTeX equation to PNG."""
83
+ fig, ax = plt.subplots(figsize=(0.1, 0.1))
84
+ ax.axis('off')
85
+ text = ax.text(0.5, 0.5, f"${latex_str}$",
86
+ fontsize=fontsize, color=color,
87
+ ha='center', va='center',
88
+ transform=ax.transAxes)
89
+
90
+ # Auto-size the figure to fit the equation
91
+ fig.savefig(output_path, dpi=dpi, bbox_inches='tight',
92
+ pad_inches=0.1, transparent=True)
93
+ plt.close(fig)
94
+ print(f"Saved: {output_path}")
95
+
96
+ # Usage
97
+ render_equation(r"\nabla \times \mathbf{E} = -\frac{\partial \mathbf{B}}{\partial t}",
98
+ "maxwell.png")
99
+ render_equation(r"\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}",
100
+ "gaussian.png")
101
+ ```
102
+
103
+ ### Batch Rendering with matplotlib
104
+
105
+ ```python
106
+ equations = {
107
+ "schrodinger": r"i\hbar\frac{\partial}{\partial t}\Psi = \hat{H}\Psi",
108
+ "einstein": r"R_{\mu\nu} - \frac{1}{2}Rg_{\mu\nu} = \frac{8\pi G}{c^4}T_{\mu\nu}",
109
+ "euler": r"e^{i\pi} + 1 = 0",
110
+ "bayes": r"P(A|B) = \frac{P(B|A)\,P(A)}{P(B)}",
111
+ "fourier": r"\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x)\,e^{-2\pi ix\xi}\,dx",
112
+ }
113
+
114
+ for name, eq in equations.items():
115
+ render_equation(eq, f"equations/{name}.png", dpi=300, fontsize=24)
116
+ ```
117
+
118
+ ## Method 3: sympy (Python — Symbolic Math)
119
+
120
+ ```python
121
+ from sympy import *
122
+ from sympy.printing.preview import preview
123
+
124
+ x, y, z = symbols('x y z')
125
+ f = Function('f')
126
+
127
+ # Render symbolic expression
128
+ expr = Integral(exp(-x**2), (x, -oo, oo))
129
+ preview(expr, viewer='file', filename='integral.png',
130
+ dvioptions=['-D', '300', '-bg', 'Transparent'])
131
+
132
+ # Render matrix
133
+ M = Matrix([[1, x], [y, x*y]])
134
+ preview(M, viewer='file', filename='matrix.png',
135
+ dvioptions=['-D', '300', '-bg', 'Transparent'])
136
+ ```
137
+
138
+ ## Method 4: Web APIs (No Local TeX Required)
139
+
140
+ ### Codecogs API
141
+
142
+ ```bash
143
+ # URL-encoded LaTeX → PNG
144
+ curl -o equation.png \
145
+ "https://latex.codecogs.com/png.image?\dpi{300}\bg{transparent}E=mc^2"
146
+
147
+ # SVG output
148
+ curl -o equation.svg \
149
+ "https://latex.codecogs.com/svg.image?E=mc^2"
150
+ ```
151
+
152
+ ### MathJax (HTML to Image)
153
+
154
+ ```python
155
+ # Using Playwright to render MathJax equations
156
+ from playwright.sync_api import sync_playwright
157
+
158
+ def mathjax_to_png(latex: str, output: str):
159
+ html = f"""<!DOCTYPE html>
160
+ <html><head>
161
+ <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js"></script>
162
+ </head><body>
163
+ <div id="eq">$$\\displaystyle {latex}$$</div>
164
+ </body></html>"""
165
+
166
+ with sync_playwright() as p:
167
+ browser = p.chromium.launch()
168
+ page = browser.new_page()
169
+ page.set_content(html)
170
+ page.wait_for_function("() => window.MathJax && MathJax.startup.promise")
171
+ element = page.query_selector("#eq")
172
+ element.screenshot(path=output)
173
+ browser.close()
174
+ ```
175
+
176
+ ## Output Format Comparison
177
+
178
+ | Format | Best For | Scalable? | Transparent BG? |
179
+ |--------|----------|-----------|-----------------|
180
+ | PNG | Presentations, docs, web | No (raster) | Yes (with `-bg Transparent`) |
181
+ | SVG | Web, scalable contexts | Yes (vector) | Yes |
182
+ | PDF | LaTeX inclusion, print | Yes (vector) | Yes |
183
+ | EPS | Legacy LaTeX workflows | Yes (vector) | No |
184
+
185
+ ## Tips
186
+
187
+ - **DPI**: Use 300 for print, 150 for screen, 96 for web thumbnails
188
+ - **Font consistency**: Match the equation font to your document's body font
189
+ - **Dark mode**: Render with white text color for dark backgrounds: `color="white"`
190
+ - **Accessibility**: Always provide alt-text describing the equation when embedding images
191
+ - **Version control**: Store the LaTeX source alongside rendered images for reproducibility
192
+
193
+ ## References
194
+
195
+ - [dvipng Documentation](https://ctan.org/pkg/dvipng)
196
+ - [matplotlib mathtext](https://matplotlib.org/stable/gallery/text_labels_and_annotations/mathtext_examples.html)
197
+ - [CodeCogs Equation Editor](https://latex.codecogs.com/)
198
+ - [MathJax Documentation](https://docs.mathjax.org/)
@@ -4,8 +4,8 @@ description: "Translate scientific PDFs with preserved math formatting via PDFMa
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "📄"
7
- category: tools
8
- subcategory: ocr-translate
7
+ category: "tools"
8
+ subcategory: "ocr-translate"
9
9
  keywords: ["pdf-translation", "math-formatting", "scientific-papers", "multilingual", "latex-preservation"]
10
10
  source: "https://github.com/Byaidu/PDFMathTranslate"
11
11
  ---
@@ -4,8 +4,8 @@ description: "Guide to Zotero PDF Translate for multilingual PDF and annotation
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "🌐"
7
- category: tools
8
- subcategory: ocr-translate
7
+ category: "tools"
8
+ subcategory: "ocr-translate"
9
9
  keywords: ["zotero", "pdf-translate", "multilingual", "annotation", "academic-translation"]
10
10
  source: "https://github.com/windingwind/zotero-pdf-translate"
11
11
  ---
@@ -6,8 +6,8 @@ author: wentor-community
6
6
  source: https://github.com/guaguastandup/zotero-pdf2zh
7
7
  metadata:
8
8
  openclaw:
9
- category: tools
10
- subcategory: ocr-translate
9
+ category: "tools"
10
+ subcategory: "ocr-translate"
11
11
  keywords:
12
12
  - pdf-translation
13
13
  - zotero-plugin
@@ -0,0 +1,182 @@
1
+ ---
2
+ name: academic-citation-manager-guide
3
+ description: "Comparison and workflow guide for academic citation management tools"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📎"
7
+ category: "writing"
8
+ subcategory: "citation"
9
+ keywords: ["citation management", "reference manager", "zotero", "mendeley", "bibliography", "bibtex"]
10
+ source: "https://clawhub.com/YouStudyeveryday/academic-citation-manager"
11
+ ---
12
+
13
+ # Academic Citation Management Guide
14
+
15
+ ## Overview
16
+
17
+ Citation managers are essential tools for collecting, organizing, annotating, and citing academic references. This guide compares the major options (Zotero, Mendeley, EndNote, JabRef, Paperpile), covers core workflows, and provides best practices for building and maintaining a well-organized reference library.
18
+
19
+ ## Tool Comparison
20
+
21
+ | Feature | Zotero | Mendeley | EndNote | JabRef | Paperpile |
22
+ |---------|--------|----------|---------|--------|-----------|
23
+ | **Price** | Free (open source) | Free (Elsevier) | $250+ | Free (open source) | $3/mo (students) |
24
+ | **Storage** | 300 MB free, $20/yr for 2GB | 2 GB free | Unlimited (desktop) | Local files | 10 GB |
25
+ | **PDF Management** | Yes + annotations | Yes + annotations | Yes | Basic | Yes |
26
+ | **Browser Extension** | Excellent (Connector) | Good (Importer) | Average | Manual | Google Docs native |
27
+ | **Word Plugin** | Word + LibreOffice | Word | Word | — | Google Docs + Word |
28
+ | **LaTeX/BibTeX** | Export + Better BibTeX plugin | Export | Export | Native BibTeX editor | Export |
29
+ | **Collaboration** | Group libraries (free) | Teams | Share libraries | Git-friendly files | Shared folders |
30
+ | **Open Source** | Yes (GPL) | No | No | Yes (MIT) | No |
31
+ | **Offline Use** | Full offline | Full offline | Full offline | Full offline | Limited |
32
+
33
+ ### Recommendation by Workflow
34
+
35
+ | If You... | Use |
36
+ |-----------|-----|
37
+ | Write in LaTeX primarily | **JabRef** (native BibTeX) or **Zotero + Better BibTeX** |
38
+ | Write in Word/LibreOffice | **Zotero** (best free plugin) |
39
+ | Write in Google Docs | **Paperpile** (native integration) |
40
+ | Need Elsevier integration | **Mendeley** (same company) |
41
+ | Need institutional license | **EndNote** (common in universities) |
42
+ | Want maximum flexibility | **Zotero** (open source, 600+ plugins) |
43
+
44
+ ## Core Workflow
45
+
46
+ ### 1. Collecting References
47
+
48
+ **Browser Extension** (Zotero Connector example):
49
+ 1. Install Zotero Connector for Chrome/Firefox
50
+ 2. Browse to any paper page (journal, arXiv, Google Scholar)
51
+ 3. Click the Zotero icon → metadata + PDF saved automatically
52
+ 4. Works on: journal websites, arXiv, PubMed, Google Scholar, Amazon (books)
53
+
54
+ **Import from DOI**:
55
+ ```
56
+ Zotero: "Add Item(s) by Identifier" → paste DOI → auto-import
57
+ Mendeley: "Add" → "Import DOI" → paste
58
+ JabRef: "New Entry" → "ID-based entry generator" → paste DOI
59
+ ```
60
+
61
+ **Import from BibTeX**:
62
+ ```bibtex
63
+ % Save as references.bib, then import
64
+ @article{vaswani2017attention,
65
+ title={Attention is all you need},
66
+ author={Vaswani, Ashish and others},
67
+ journal={NeurIPS},
68
+ year={2017}
69
+ }
70
+ ```
71
+
72
+ **Batch Import from Google Scholar**:
73
+ ```
74
+ 1. Search Google Scholar for your topic
75
+ 2. Select papers (checkbox) → Export → BibTeX
76
+ 3. Import .bib file into your citation manager
77
+ 4. Merge duplicates
78
+ ```
79
+
80
+ ### 2. Organizing References
81
+
82
+ **Folder/Collection Structure** (recommended):
83
+
84
+ ```
85
+ My Library/
86
+ ├── By Project/
87
+ │ ├── Dissertation/
88
+ │ │ ├── Chapter 1 - Introduction/
89
+ │ │ ├── Chapter 2 - Literature Review/
90
+ │ │ └── Chapter 3 - Methods/
91
+ │ └── ICML 2026 Paper/
92
+ ├── By Topic/
93
+ │ ├── Attention Mechanisms/
94
+ │ ├── Retrieval-Augmented Generation/
95
+ │ └── Code Generation/
96
+ └── Reading Queue/
97
+ ├── To Read/
98
+ ├── In Progress/
99
+ └── Read + Annotated/
100
+ ```
101
+
102
+ **Tagging Strategy**:
103
+ ```
104
+ Tags by reading status: #to-read, #reading, #done
105
+ Tags by relevance: #core, #supporting, #background
106
+ Tags by content: #methodology, #dataset, #benchmark, #survey
107
+ Tags by quality: #seminal, #highly-cited, #controversial
108
+ ```
109
+
110
+ ### 3. Annotating and Note-Taking
111
+
112
+ ```markdown
113
+ ## Per-Paper Note Template
114
+
115
+ ### Quick Reference
116
+ - **One-line summary**: [What this paper does in one sentence]
117
+ - **Key contribution**: [The novel idea]
118
+ - **Method**: [Technique used]
119
+ - **Dataset**: [What data they use]
120
+ - **Result**: [Main quantitative finding]
121
+
122
+ ### Detailed Notes
123
+ - Strengths: [What's convincing]
124
+ - Weaknesses: [What's questionable]
125
+ - Relevance to my work: [How does this connect?]
126
+ - Follow-up: [What to read next based on this paper]
127
+ ```
128
+
129
+ ### 4. Citing in Documents
130
+
131
+ **In Word/LibreOffice** (Zotero):
132
+ 1. Place cursor where citation goes
133
+ 2. Zotero toolbar → "Add Citation"
134
+ 3. Search by author, title, or year
135
+ 4. Select citation → insert
136
+ 5. At end: "Add Bibliography" to generate reference list
137
+
138
+ **In LaTeX** (Better BibTeX for Zotero):
139
+ ```bash
140
+ # Install Better BibTeX plugin for Zotero
141
+ # Set up auto-export:
142
+ # Zotero → File → Export Library → Better BibTeX → Keep updated
143
+
144
+ # In your .tex file:
145
+ \bibliography{exported_library}
146
+ \bibliographystyle{apalike}
147
+
148
+ # Cite: \cite{vaswani2017attention}
149
+ # Textual: \citet{vaswani2017attention} → Vaswani et al. (2017)
150
+ # Parenthetical: \citep{vaswani2017attention} → (Vaswani et al., 2017)
151
+ ```
152
+
153
+ ### 5. Maintaining Your Library
154
+
155
+ ```markdown
156
+ ## Monthly Maintenance Checklist
157
+
158
+ □ Merge duplicate entries (Zotero: right-click → Merge)
159
+ □ Fix incomplete metadata (missing year, venue, DOI)
160
+ □ Update "In Press" papers to final published versions
161
+ □ Clean up tags (remove unused, consolidate synonyms)
162
+ □ Back up library (export to BibTeX or Zotero Backup)
163
+ □ Check for retracted papers (Retraction Watch database)
164
+ ```
165
+
166
+ ## Citation Style Quick Reference
167
+
168
+ | Style | Disciplines | In-Text | Bibliography |
169
+ |-------|------------|---------|-------------|
170
+ | **APA 7th** | Psychology, Social Sciences | (Author, Year) | Author, A. A. (Year). Title. *Journal*, *Vol*(Issue), pages. DOI |
171
+ | **IEEE** | Engineering, CS | [1] | [1] A. Author, "Title," *Journal*, vol. X, pp. Y-Z, Year. |
172
+ | **Chicago Author-Date** | Humanities, Social Sciences | (Author Year) | Author, First. Year. *Title*. Place: Publisher. |
173
+ | **Harvard** | Business, Social Sciences | (Author Year) | Author, F. (Year) 'Title', *Journal*, Vol(Issue), pp. X-Y. |
174
+ | **Vancouver** | Biomedical, Medicine | (1) | 1. Author AB. Title. Journal. Year;Vol(Issue):pages. |
175
+ | **MLA 9th** | Humanities, Literature | (Author Page) | Author. "Title." *Journal*, vol. X, no. Y, Year, pp. Z. |
176
+
177
+ ## References
178
+
179
+ - [Zotero Documentation](https://www.zotero.org/support/)
180
+ - [Better BibTeX for Zotero](https://retorque.re/zotero-better-bibtex/)
181
+ - [JabRef Documentation](https://docs.jabref.org/)
182
+ - [Citation Style Language](https://citationstyles.org/)
@@ -0,0 +1,192 @@
1
+ ---
2
+ name: citation-assistant-skill
3
+ description: "Claude Code skill for citation workflow via Semantic Scholar"
4
+ metadata:
5
+ openclaw:
6
+ emoji: "📎"
7
+ category: "writing"
8
+ subcategory: "citation"
9
+ keywords: ["citation assistant", "Semantic Scholar", "Claude Code skill", "reference lookup", "academic citation"]
10
+ source: "https://github.com/ZhangNy301/citation-assistant"
11
+ ---
12
+
13
+ # Citation Assistant Skill Guide
14
+
15
+ ## Overview
16
+
17
+ Citation Assistant is a Claude Code skill that integrates Semantic Scholar API into the coding workflow for instant paper lookup, citation formatting, and reference management. Search for papers by title or keyword, get formatted BibTeX entries, find related works, and insert citations — all without leaving the terminal. Designed for researchers writing papers in LaTeX or Markdown.
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ # Add as Claude Code skill
23
+ # Copy SKILL.md to your Claude Code skills directory
24
+ # Or install via OpenClaw:
25
+ openclaw skills install citation-assistant
26
+ ```
27
+
28
+ ## Core Features
29
+
30
+ ### Paper Search
31
+
32
+ ```python
33
+ import requests
34
+
35
+ S2_API = "https://api.semanticscholar.org/graph/v1"
36
+
37
+ def search_papers(query, limit=5):
38
+ """Search Semantic Scholar for papers."""
39
+ resp = requests.get(
40
+ f"{S2_API}/paper/search",
41
+ params={
42
+ "query": query,
43
+ "limit": limit,
44
+ "fields": "title,authors,year,citationCount,"
45
+ "externalIds,abstract,venue",
46
+ },
47
+ )
48
+ return resp.json().get("data", [])
49
+
50
+ papers = search_papers("attention mechanism transformer")
51
+ for p in papers:
52
+ authors = ", ".join(a["name"] for a in p["authors"][:3])
53
+ print(f"[{p['year']}] {p['title']}")
54
+ print(f" {authors} — Citations: {p['citationCount']}")
55
+ print(f" DOI: {p.get('externalIds', {}).get('DOI', 'N/A')}")
56
+ ```
57
+
58
+ ### BibTeX Generation
59
+
60
+ ```python
61
+ def get_bibtex(paper_id):
62
+ """Get BibTeX for a Semantic Scholar paper."""
63
+ resp = requests.get(
64
+ f"{S2_API}/paper/{paper_id}",
65
+ params={
66
+ "fields": "title,authors,year,venue,externalIds,"
67
+ "journal,publicationTypes",
68
+ },
69
+ )
70
+ paper = resp.json()
71
+
72
+ # Generate citation key
73
+ first_author = paper["authors"][0]["name"].split()[-1].lower()
74
+ key = f"{first_author}{paper['year']}"
75
+
76
+ # Build BibTeX
77
+ authors_str = " and ".join(a["name"] for a in paper["authors"])
78
+ doi = paper.get("externalIds", {}).get("DOI", "")
79
+
80
+ bibtex = f"""@article{{{key},
81
+ title = {{{paper['title']}}},
82
+ author = {{{authors_str}}},
83
+ year = {{{paper['year']}}},
84
+ journal = {{{paper.get('venue', '')}}},
85
+ doi = {{{doi}}},
86
+ }}"""
87
+ return bibtex
88
+
89
+ # Example
90
+ bibtex = get_bibtex("204e3073870fae3d05bcbc2f6a8e263d9b72e776")
91
+ print(bibtex)
92
+ ```
93
+
94
+ ### Citation Context
95
+
96
+ ```python
97
+ def get_citation_context(paper_id, limit=10):
98
+ """Get papers that cite this work with context."""
99
+ resp = requests.get(
100
+ f"{S2_API}/paper/{paper_id}/citations",
101
+ params={
102
+ "fields": "title,year,contexts,intents",
103
+ "limit": limit,
104
+ },
105
+ )
106
+ citations = resp.json().get("data", [])
107
+
108
+ for cit in citations:
109
+ paper = cit["citingPaper"]
110
+ print(f"\n{paper['title']} ({paper.get('year', '?')})")
111
+ for ctx in cit.get("contexts", [])[:2]:
112
+ print(f" Context: ...{ctx[:100]}...")
113
+ print(f" Intent: {cit.get('intents', ['unknown'])}")
114
+
115
+ get_citation_context("204e3073870fae3d05bcbc2f6a8e263d9b72e776")
116
+ ```
117
+
118
+ ### Related Paper Discovery
119
+
120
+ ```python
121
+ def find_related(paper_id, limit=10):
122
+ """Find papers related to a given paper."""
123
+ resp = requests.get(
124
+ f"{S2_API}/paper/{paper_id}/recommendations",
125
+ params={
126
+ "fields": "title,authors,year,citationCount",
127
+ "limit": limit,
128
+ },
129
+ )
130
+ return resp.json().get("recommendedPapers", [])
131
+
132
+ related = find_related("204e3073870fae3d05bcbc2f6a8e263d9b72e776")
133
+ for p in related:
134
+ print(f"[{p['year']}] {p['title']} ({p['citationCount']} cites)")
135
+ ```
136
+
137
+ ## Workflow Integration
138
+
139
+ ```markdown
140
+ ### LaTeX Workflow
141
+ 1. Search: "Find papers on transformer efficiency"
142
+ 2. Select relevant papers from results
143
+ 3. Generate BibTeX entries → append to references.bib
144
+ 4. Insert \cite{key} in your .tex file
145
+
146
+ ### Markdown Workflow
147
+ 1. Search for papers while writing
148
+ 2. Get formatted citation (APA, MLA, etc.)
149
+ 3. Insert inline: (Author, Year) or [1]
150
+ 4. Generate reference list at document end
151
+ ```
152
+
153
+ ## Batch Operations
154
+
155
+ ```python
156
+ def build_bibliography(queries, output_file="refs.bib"):
157
+ """Build BibTeX file from multiple search queries."""
158
+ all_bibtex = []
159
+ seen_ids = set()
160
+
161
+ for query in queries:
162
+ papers = search_papers(query, limit=3)
163
+ for paper in papers:
164
+ pid = paper.get("paperId")
165
+ if pid and pid not in seen_ids:
166
+ seen_ids.add(pid)
167
+ bibtex = get_bibtex(pid)
168
+ all_bibtex.append(bibtex)
169
+
170
+ with open(output_file, "w") as f:
171
+ f.write("\n\n".join(all_bibtex))
172
+ print(f"Wrote {len(all_bibtex)} entries to {output_file}")
173
+
174
+ build_bibliography([
175
+ "attention mechanism",
176
+ "transformer architecture",
177
+ "BERT pre-training",
178
+ ])
179
+ ```
180
+
181
+ ## Use Cases
182
+
183
+ 1. **Paper writing**: Look up and format citations inline
184
+ 2. **Literature review**: Discover related papers from seed papers
185
+ 3. **Reference management**: Build BibTeX files from searches
186
+ 4. **Citation analysis**: Explore how papers cite each other
187
+ 5. **Quick lookup**: Find DOI, venue, citation count for any paper
188
+
189
+ ## References
190
+
191
+ - [Citation Assistant GitHub](https://github.com/ZhangNy301/citation-assistant)
192
+ - [Semantic Scholar API](https://api.semanticscholar.org/)
@@ -4,8 +4,8 @@ description: "Guide to JabRef open-source BibTeX and BibLaTeX reference manager"
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "📖"
7
- category: writing
8
- subcategory: citation
7
+ category: "writing"
8
+ subcategory: "citation"
9
9
  keywords: ["jabref", "bibtex", "biblatex", "reference-manager", "latex", "bibliography"]
10
10
  source: "https://github.com/JabRef/jabref"
11
11
  ---
@@ -4,8 +4,8 @@ description: "Guide to Jasminum for retrieving CNKI Chinese academic metadata in
4
4
  metadata:
5
5
  openclaw:
6
6
  emoji: "🌸"
7
- category: writing
8
- subcategory: citation
7
+ category: "writing"
8
+ subcategory: "citation"
9
9
  keywords: ["zotero", "cnki", "chinese-academic", "jasminum", "metadata", "bibliography"]
10
10
  source: "https://github.com/l0o0/jasminum"
11
11
  ---