scientific-writer 2.3.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 (315) hide show
  1. scientific_writer/.claude/WRITER.md +822 -0
  2. scientific_writer/.claude/settings.local.json +30 -0
  3. scientific_writer/.claude/skills/citation-management/SKILL.md +1046 -0
  4. scientific_writer/.claude/skills/citation-management/assets/bibtex_template.bib +264 -0
  5. scientific_writer/.claude/skills/citation-management/assets/citation_checklist.md +386 -0
  6. scientific_writer/.claude/skills/citation-management/references/bibtex_formatting.md +908 -0
  7. scientific_writer/.claude/skills/citation-management/references/citation_validation.md +794 -0
  8. scientific_writer/.claude/skills/citation-management/references/google_scholar_search.md +725 -0
  9. scientific_writer/.claude/skills/citation-management/references/metadata_extraction.md +870 -0
  10. scientific_writer/.claude/skills/citation-management/references/pubmed_search.md +839 -0
  11. scientific_writer/.claude/skills/citation-management/scripts/doi_to_bibtex.py +204 -0
  12. scientific_writer/.claude/skills/citation-management/scripts/extract_metadata.py +569 -0
  13. scientific_writer/.claude/skills/citation-management/scripts/format_bibtex.py +349 -0
  14. scientific_writer/.claude/skills/citation-management/scripts/search_google_scholar.py +282 -0
  15. scientific_writer/.claude/skills/citation-management/scripts/search_pubmed.py +398 -0
  16. scientific_writer/.claude/skills/citation-management/scripts/validate_citations.py +497 -0
  17. scientific_writer/.claude/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
  18. scientific_writer/.claude/skills/clinical-reports/README.md +236 -0
  19. scientific_writer/.claude/skills/clinical-reports/SKILL.md +1088 -0
  20. scientific_writer/.claude/skills/clinical-reports/assets/case_report_template.md +352 -0
  21. scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
  22. scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
  23. scientific_writer/.claude/skills/clinical-reports/assets/consult_note_template.md +305 -0
  24. scientific_writer/.claude/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
  25. scientific_writer/.claude/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
  26. scientific_writer/.claude/skills/clinical-reports/assets/history_physical_template.md +305 -0
  27. scientific_writer/.claude/skills/clinical-reports/assets/lab_report_template.md +309 -0
  28. scientific_writer/.claude/skills/clinical-reports/assets/pathology_report_template.md +249 -0
  29. scientific_writer/.claude/skills/clinical-reports/assets/quality_checklist.md +338 -0
  30. scientific_writer/.claude/skills/clinical-reports/assets/radiology_report_template.md +318 -0
  31. scientific_writer/.claude/skills/clinical-reports/assets/soap_note_template.md +253 -0
  32. scientific_writer/.claude/skills/clinical-reports/references/case_report_guidelines.md +570 -0
  33. scientific_writer/.claude/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
  34. scientific_writer/.claude/skills/clinical-reports/references/data_presentation.md +530 -0
  35. scientific_writer/.claude/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
  36. scientific_writer/.claude/skills/clinical-reports/references/medical_terminology.md +588 -0
  37. scientific_writer/.claude/skills/clinical-reports/references/patient_documentation.md +744 -0
  38. scientific_writer/.claude/skills/clinical-reports/references/peer_review_standards.md +585 -0
  39. scientific_writer/.claude/skills/clinical-reports/references/regulatory_compliance.md +577 -0
  40. scientific_writer/.claude/skills/clinical-reports/scripts/check_deidentification.py +346 -0
  41. scientific_writer/.claude/skills/clinical-reports/scripts/compliance_checker.py +78 -0
  42. scientific_writer/.claude/skills/clinical-reports/scripts/extract_clinical_data.py +102 -0
  43. scientific_writer/.claude/skills/clinical-reports/scripts/format_adverse_events.py +103 -0
  44. scientific_writer/.claude/skills/clinical-reports/scripts/generate_report_template.py +163 -0
  45. scientific_writer/.claude/skills/clinical-reports/scripts/terminology_validator.py +133 -0
  46. scientific_writer/.claude/skills/clinical-reports/scripts/validate_case_report.py +334 -0
  47. scientific_writer/.claude/skills/clinical-reports/scripts/validate_trial_report.py +89 -0
  48. scientific_writer/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  49. scientific_writer/.claude/skills/document-skills/docx/SKILL.md +197 -0
  50. scientific_writer/.claude/skills/document-skills/docx/docx-js.md +350 -0
  51. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  52. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  53. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  54. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  55. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  56. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  57. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  58. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  59. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  60. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  61. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  62. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  63. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  64. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  65. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  66. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  67. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  68. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  69. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  70. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  71. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  72. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  73. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  74. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  75. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  76. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  77. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  78. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  79. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  80. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  81. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  82. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  83. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  84. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  85. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  86. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  87. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  88. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  89. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  90. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  91. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  92. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  93. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  94. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  95. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  96. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  97. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  98. scientific_writer/.claude/skills/document-skills/docx/ooxml.md +610 -0
  99. scientific_writer/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  100. scientific_writer/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  101. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  102. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  103. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  104. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  105. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  106. scientific_writer/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  107. scientific_writer/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  108. scientific_writer/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  109. scientific_writer/.claude/skills/document-skills/pdf/forms.md +205 -0
  110. scientific_writer/.claude/skills/document-skills/pdf/reference.md +612 -0
  111. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  112. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  113. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  114. scientific_writer/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  115. scientific_writer/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  116. scientific_writer/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  117. scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  118. scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  119. scientific_writer/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  120. scientific_writer/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  121. scientific_writer/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  122. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  123. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  124. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  125. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  126. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  127. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  128. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  129. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  130. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  131. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  132. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  133. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  134. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  135. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  136. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  137. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  138. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  139. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  140. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  141. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  142. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  143. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  144. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  145. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  146. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  147. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  148. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  149. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  150. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  151. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  152. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  153. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  154. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  155. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  156. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  157. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  158. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  159. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  160. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  161. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  162. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  163. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  164. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  165. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  166. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  167. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  168. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  169. scientific_writer/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  170. scientific_writer/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  171. scientific_writer/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  172. scientific_writer/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  173. scientific_writer/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  174. scientific_writer/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  175. scientific_writer/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  176. scientific_writer/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  177. scientific_writer/.claude/skills/document-skills/xlsx/recalc.py +178 -0
  178. scientific_writer/.claude/skills/hypothesis-generation/SKILL.md +155 -0
  179. scientific_writer/.claude/skills/hypothesis-generation/assets/hypothesis_output_template.md +302 -0
  180. scientific_writer/.claude/skills/hypothesis-generation/references/experimental_design_patterns.md +327 -0
  181. scientific_writer/.claude/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +196 -0
  182. scientific_writer/.claude/skills/hypothesis-generation/references/literature_search_strategies.md +505 -0
  183. scientific_writer/.claude/skills/latex-posters/README.md +417 -0
  184. scientific_writer/.claude/skills/latex-posters/SKILL.md +919 -0
  185. scientific_writer/.claude/skills/latex-posters/assets/baposter_template.tex +257 -0
  186. scientific_writer/.claude/skills/latex-posters/assets/beamerposter_template.tex +244 -0
  187. scientific_writer/.claude/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
  188. scientific_writer/.claude/skills/latex-posters/assets/tikzposter_template.tex +251 -0
  189. scientific_writer/.claude/skills/latex-posters/references/latex_poster_packages.md +745 -0
  190. scientific_writer/.claude/skills/latex-posters/references/poster_content_guide.md +748 -0
  191. scientific_writer/.claude/skills/latex-posters/references/poster_design_principles.md +806 -0
  192. scientific_writer/.claude/skills/latex-posters/references/poster_layout_design.md +900 -0
  193. scientific_writer/.claude/skills/latex-posters/scripts/review_poster.sh +214 -0
  194. scientific_writer/.claude/skills/literature-review/SKILL.md +546 -0
  195. scientific_writer/.claude/skills/literature-review/assets/review_template.md +412 -0
  196. scientific_writer/.claude/skills/literature-review/references/citation_styles.md +166 -0
  197. scientific_writer/.claude/skills/literature-review/references/database_strategies.md +381 -0
  198. scientific_writer/.claude/skills/literature-review/scripts/generate_pdf.py +176 -0
  199. scientific_writer/.claude/skills/literature-review/scripts/search_databases.py +303 -0
  200. scientific_writer/.claude/skills/literature-review/scripts/verify_citations.py +222 -0
  201. scientific_writer/.claude/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
  202. scientific_writer/.claude/skills/markitdown/LICENSE.txt +22 -0
  203. scientific_writer/.claude/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
  204. scientific_writer/.claude/skills/markitdown/QUICK_REFERENCE.md +309 -0
  205. scientific_writer/.claude/skills/markitdown/README.md +184 -0
  206. scientific_writer/.claude/skills/markitdown/SKILL.md +450 -0
  207. scientific_writer/.claude/skills/markitdown/SKILL_SUMMARY.md +307 -0
  208. scientific_writer/.claude/skills/markitdown/assets/example_usage.md +463 -0
  209. scientific_writer/.claude/skills/markitdown/references/api_reference.md +399 -0
  210. scientific_writer/.claude/skills/markitdown/references/file_formats.md +542 -0
  211. scientific_writer/.claude/skills/markitdown/scripts/batch_convert.py +228 -0
  212. scientific_writer/.claude/skills/markitdown/scripts/convert_literature.py +283 -0
  213. scientific_writer/.claude/skills/markitdown/scripts/convert_with_ai.py +243 -0
  214. scientific_writer/.claude/skills/paper-2-web/SKILL.md +455 -0
  215. scientific_writer/.claude/skills/paper-2-web/references/installation.md +141 -0
  216. scientific_writer/.claude/skills/paper-2-web/references/paper2poster.md +346 -0
  217. scientific_writer/.claude/skills/paper-2-web/references/paper2video.md +305 -0
  218. scientific_writer/.claude/skills/paper-2-web/references/paper2web.md +187 -0
  219. scientific_writer/.claude/skills/paper-2-web/references/usage_examples.md +436 -0
  220. scientific_writer/.claude/skills/peer-review/SKILL.md +375 -0
  221. scientific_writer/.claude/skills/peer-review/references/common_issues.md +552 -0
  222. scientific_writer/.claude/skills/peer-review/references/reporting_standards.md +290 -0
  223. scientific_writer/.claude/skills/research-grants/README.md +285 -0
  224. scientific_writer/.claude/skills/research-grants/SKILL.md +896 -0
  225. scientific_writer/.claude/skills/research-grants/assets/budget_justification_template.md +453 -0
  226. scientific_writer/.claude/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
  227. scientific_writer/.claude/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
  228. scientific_writer/.claude/skills/research-grants/references/broader_impacts.md +392 -0
  229. scientific_writer/.claude/skills/research-grants/references/darpa_guidelines.md +636 -0
  230. scientific_writer/.claude/skills/research-grants/references/doe_guidelines.md +586 -0
  231. scientific_writer/.claude/skills/research-grants/references/nih_guidelines.md +851 -0
  232. scientific_writer/.claude/skills/research-grants/references/nsf_guidelines.md +570 -0
  233. scientific_writer/.claude/skills/research-grants/references/specific_aims_guide.md +458 -0
  234. scientific_writer/.claude/skills/research-lookup/README.md +116 -0
  235. scientific_writer/.claude/skills/research-lookup/SKILL.md +443 -0
  236. scientific_writer/.claude/skills/research-lookup/examples.py +174 -0
  237. scientific_writer/.claude/skills/research-lookup/lookup.py +93 -0
  238. scientific_writer/.claude/skills/research-lookup/research_lookup.py +335 -0
  239. scientific_writer/.claude/skills/research-lookup/scripts/research_lookup.py +261 -0
  240. scientific_writer/.claude/skills/scholar-evaluation/SKILL.md +254 -0
  241. scientific_writer/.claude/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
  242. scientific_writer/.claude/skills/scholar-evaluation/scripts/calculate_scores.py +378 -0
  243. scientific_writer/.claude/skills/scientific-critical-thinking/SKILL.md +530 -0
  244. scientific_writer/.claude/skills/scientific-critical-thinking/references/common_biases.md +364 -0
  245. scientific_writer/.claude/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
  246. scientific_writer/.claude/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
  247. scientific_writer/.claude/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
  248. scientific_writer/.claude/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
  249. scientific_writer/.claude/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
  250. scientific_writer/.claude/skills/scientific-schematics/SKILL.md +2035 -0
  251. scientific_writer/.claude/skills/scientific-schematics/assets/block_diagram_template.tex +199 -0
  252. scientific_writer/.claude/skills/scientific-schematics/assets/circuit_template.tex +159 -0
  253. scientific_writer/.claude/skills/scientific-schematics/assets/flowchart_template.tex +161 -0
  254. scientific_writer/.claude/skills/scientific-schematics/assets/pathway_template.tex +162 -0
  255. scientific_writer/.claude/skills/scientific-schematics/assets/tikz_styles.tex +422 -0
  256. scientific_writer/.claude/skills/scientific-schematics/references/best_practices.md +562 -0
  257. scientific_writer/.claude/skills/scientific-schematics/references/diagram_types.md +637 -0
  258. scientific_writer/.claude/skills/scientific-schematics/references/python_libraries.md +791 -0
  259. scientific_writer/.claude/skills/scientific-schematics/references/tikz_guide.md +734 -0
  260. scientific_writer/.claude/skills/scientific-schematics/scripts/circuit_generator.py +307 -0
  261. scientific_writer/.claude/skills/scientific-schematics/scripts/compile_tikz.py +292 -0
  262. scientific_writer/.claude/skills/scientific-schematics/scripts/generate_flowchart.py +281 -0
  263. scientific_writer/.claude/skills/scientific-schematics/scripts/pathway_diagram.py +406 -0
  264. scientific_writer/.claude/skills/scientific-writing/SKILL.md +443 -0
  265. scientific_writer/.claude/skills/scientific-writing/references/citation_styles.md +720 -0
  266. scientific_writer/.claude/skills/scientific-writing/references/figures_tables.md +806 -0
  267. scientific_writer/.claude/skills/scientific-writing/references/imrad_structure.md +658 -0
  268. scientific_writer/.claude/skills/scientific-writing/references/reporting_guidelines.md +748 -0
  269. scientific_writer/.claude/skills/scientific-writing/references/writing_principles.md +824 -0
  270. scientific_writer/.claude/skills/treatment-plans/README.md +488 -0
  271. scientific_writer/.claude/skills/treatment-plans/SKILL.md +1536 -0
  272. scientific_writer/.claude/skills/treatment-plans/assets/STYLING_QUICK_REFERENCE.md +185 -0
  273. scientific_writer/.claude/skills/treatment-plans/assets/chronic_disease_management_plan.tex +665 -0
  274. scientific_writer/.claude/skills/treatment-plans/assets/general_medical_treatment_plan.tex +547 -0
  275. scientific_writer/.claude/skills/treatment-plans/assets/medical_treatment_plan.sty +222 -0
  276. scientific_writer/.claude/skills/treatment-plans/assets/mental_health_treatment_plan.tex +774 -0
  277. scientific_writer/.claude/skills/treatment-plans/assets/one_page_treatment_plan.tex +193 -0
  278. scientific_writer/.claude/skills/treatment-plans/assets/pain_management_plan.tex +799 -0
  279. scientific_writer/.claude/skills/treatment-plans/assets/perioperative_care_plan.tex +753 -0
  280. scientific_writer/.claude/skills/treatment-plans/assets/quality_checklist.md +471 -0
  281. scientific_writer/.claude/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +756 -0
  282. scientific_writer/.claude/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
  283. scientific_writer/.claude/skills/treatment-plans/references/intervention_guidelines.md +507 -0
  284. scientific_writer/.claude/skills/treatment-plans/references/regulatory_compliance.md +476 -0
  285. scientific_writer/.claude/skills/treatment-plans/references/specialty_specific_guidelines.md +655 -0
  286. scientific_writer/.claude/skills/treatment-plans/references/treatment_plan_standards.md +485 -0
  287. scientific_writer/.claude/skills/treatment-plans/scripts/check_completeness.py +318 -0
  288. scientific_writer/.claude/skills/treatment-plans/scripts/generate_template.py +244 -0
  289. scientific_writer/.claude/skills/treatment-plans/scripts/timeline_generator.py +369 -0
  290. scientific_writer/.claude/skills/treatment-plans/scripts/validate_treatment_plan.py +367 -0
  291. scientific_writer/.claude/skills/venue-templates/SKILL.md +590 -0
  292. scientific_writer/.claude/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
  293. scientific_writer/.claude/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
  294. scientific_writer/.claude/skills/venue-templates/assets/journals/nature_article.tex +171 -0
  295. scientific_writer/.claude/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
  296. scientific_writer/.claude/skills/venue-templates/assets/journals/plos_one.tex +317 -0
  297. scientific_writer/.claude/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
  298. scientific_writer/.claude/skills/venue-templates/references/conferences_formatting.md +564 -0
  299. scientific_writer/.claude/skills/venue-templates/references/grants_requirements.md +787 -0
  300. scientific_writer/.claude/skills/venue-templates/references/journals_formatting.md +486 -0
  301. scientific_writer/.claude/skills/venue-templates/references/posters_guidelines.md +628 -0
  302. scientific_writer/.claude/skills/venue-templates/scripts/customize_template.py +206 -0
  303. scientific_writer/.claude/skills/venue-templates/scripts/query_template.py +260 -0
  304. scientific_writer/.claude/skills/venue-templates/scripts/validate_format.py +255 -0
  305. scientific_writer/__init__.py +43 -0
  306. scientific_writer/api.py +393 -0
  307. scientific_writer/cli.py +326 -0
  308. scientific_writer/core.py +275 -0
  309. scientific_writer/models.py +76 -0
  310. scientific_writer/utils.py +289 -0
  311. scientific_writer-2.3.1.dist-info/METADATA +272 -0
  312. scientific_writer-2.3.1.dist-info/RECORD +315 -0
  313. scientific_writer-2.3.1.dist-info/WHEEL +4 -0
  314. scientific_writer-2.3.1.dist-info/entry_points.txt +2 -0
  315. scientific_writer-2.3.1.dist-info/licenses/LICENSE +22 -0
@@ -0,0 +1,870 @@
1
+ # Metadata Extraction Guide
2
+
3
+ Comprehensive guide to extracting accurate citation metadata from DOIs, PMIDs, arXiv IDs, and URLs using various APIs and services.
4
+
5
+ ## Overview
6
+
7
+ Accurate metadata is essential for proper citations. This guide covers:
8
+ - Identifying paper identifiers (DOI, PMID, arXiv ID)
9
+ - Querying metadata APIs (CrossRef, PubMed, arXiv, DataCite)
10
+ - Required BibTeX fields by entry type
11
+ - Handling edge cases and special situations
12
+ - Validating extracted metadata
13
+
14
+ ## Paper Identifiers
15
+
16
+ ### DOI (Digital Object Identifier)
17
+
18
+ **Format**: `10.XXXX/suffix`
19
+
20
+ **Examples**:
21
+ ```
22
+ 10.1038/s41586-021-03819-2 # Nature article
23
+ 10.1126/science.aam9317 # Science article
24
+ 10.1016/j.cell.2023.01.001 # Cell article
25
+ 10.1371/journal.pone.0123456 # PLOS ONE article
26
+ ```
27
+
28
+ **Properties**:
29
+ - Permanent identifier
30
+ - Most reliable for metadata
31
+ - Resolves to current location
32
+ - Publisher-assigned
33
+
34
+ **Where to find**:
35
+ - First page of article
36
+ - Article webpage
37
+ - CrossRef, Google Scholar, PubMed
38
+ - Usually prominent on publisher site
39
+
40
+ ### PMID (PubMed ID)
41
+
42
+ **Format**: 8-digit number (typically)
43
+
44
+ **Examples**:
45
+ ```
46
+ 34265844
47
+ 28445112
48
+ 35476778
49
+ ```
50
+
51
+ **Properties**:
52
+ - Specific to PubMed database
53
+ - Biomedical literature only
54
+ - Assigned by NCBI
55
+ - Permanent identifier
56
+
57
+ **Where to find**:
58
+ - PubMed search results
59
+ - Article page on PubMed
60
+ - Often in article PDF footer
61
+ - PMC (PubMed Central) pages
62
+
63
+ ### PMCID (PubMed Central ID)
64
+
65
+ **Format**: PMC followed by numbers
66
+
67
+ **Examples**:
68
+ ```
69
+ PMC8287551
70
+ PMC7456789
71
+ ```
72
+
73
+ **Properties**:
74
+ - Free full-text articles in PMC
75
+ - Subset of PubMed articles
76
+ - Open access or author manuscripts
77
+
78
+ ### arXiv ID
79
+
80
+ **Format**: YYMM.NNNNN or archive/YYMMNNN
81
+
82
+ **Examples**:
83
+ ```
84
+ 2103.14030 # New format (since 2007)
85
+ 2401.12345 # 2024 submission
86
+ arXiv:hep-th/9901001 # Old format
87
+ ```
88
+
89
+ **Properties**:
90
+ - Preprints (not peer-reviewed)
91
+ - Physics, math, CS, q-bio, etc.
92
+ - Version tracking (v1, v2, etc.)
93
+ - Free, open access
94
+
95
+ **Where to find**:
96
+ - arXiv.org
97
+ - Often cited before publication
98
+ - Paper PDF header
99
+
100
+ ### Other Identifiers
101
+
102
+ **ISBN** (Books):
103
+ ```
104
+ 978-0-12-345678-9
105
+ 0-123-45678-9
106
+ ```
107
+
108
+ **arXiv category**:
109
+ ```
110
+ cs.LG # Computer Science - Machine Learning
111
+ q-bio.QM # Quantitative Biology - Quantitative Methods
112
+ math.ST # Mathematics - Statistics
113
+ ```
114
+
115
+ ## Metadata APIs
116
+
117
+ ### CrossRef API
118
+
119
+ **Primary source for DOIs** - Most comprehensive metadata for journal articles.
120
+
121
+ **Base URL**: `https://api.crossref.org/works/`
122
+
123
+ **No API key required**, but polite pool recommended:
124
+ - Add email to User-Agent
125
+ - Gets better service
126
+ - No rate limits
127
+
128
+ #### Basic DOI Lookup
129
+
130
+ **Request**:
131
+ ```
132
+ GET https://api.crossref.org/works/10.1038/s41586-021-03819-2
133
+ ```
134
+
135
+ **Response** (simplified):
136
+ ```json
137
+ {
138
+ "message": {
139
+ "DOI": "10.1038/s41586-021-03819-2",
140
+ "title": ["Article title here"],
141
+ "author": [
142
+ {"given": "John", "family": "Smith"},
143
+ {"given": "Jane", "family": "Doe"}
144
+ ],
145
+ "container-title": ["Nature"],
146
+ "volume": "595",
147
+ "issue": "7865",
148
+ "page": "123-128",
149
+ "published-print": {"date-parts": [[2021, 7, 1]]},
150
+ "publisher": "Springer Nature",
151
+ "type": "journal-article",
152
+ "ISSN": ["0028-0836"]
153
+ }
154
+ }
155
+ ```
156
+
157
+ #### Fields Available
158
+
159
+ **Always present**:
160
+ - `DOI`: Digital Object Identifier
161
+ - `title`: Article title (array)
162
+ - `type`: Content type (journal-article, book-chapter, etc.)
163
+
164
+ **Usually present**:
165
+ - `author`: Array of author objects
166
+ - `container-title`: Journal/book title
167
+ - `published-print` or `published-online`: Publication date
168
+ - `volume`, `issue`, `page`: Publication details
169
+ - `publisher`: Publisher name
170
+
171
+ **Sometimes present**:
172
+ - `abstract`: Article abstract
173
+ - `subject`: Subject categories
174
+ - `ISSN`: Journal ISSN
175
+ - `ISBN`: Book ISBN
176
+ - `reference`: Reference list
177
+ - `is-referenced-by-count`: Citation count
178
+
179
+ #### Content Types
180
+
181
+ CrossRef `type` field values:
182
+ - `journal-article`: Journal articles
183
+ - `book-chapter`: Book chapters
184
+ - `book`: Books
185
+ - `proceedings-article`: Conference papers
186
+ - `posted-content`: Preprints
187
+ - `dataset`: Research datasets
188
+ - `report`: Technical reports
189
+ - `dissertation`: Theses/dissertations
190
+
191
+ ### PubMed E-utilities API
192
+
193
+ **Specialized for biomedical literature** - Curated metadata with MeSH terms.
194
+
195
+ **Base URL**: `https://eutils.ncbi.nlm.nih.gov/entrez/eutils/`
196
+
197
+ **API key recommended** (free):
198
+ - Higher rate limits
199
+ - Better performance
200
+
201
+ #### PMID to Metadata
202
+
203
+ **Step 1: EFetch for full record**
204
+
205
+ ```
206
+ GET https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?
207
+ db=pubmed&
208
+ id=34265844&
209
+ retmode=xml&
210
+ api_key=YOUR_KEY
211
+ ```
212
+
213
+ **Response**: XML with comprehensive metadata
214
+
215
+ **Step 2: Parse XML**
216
+
217
+ Key fields:
218
+ ```xml
219
+ <PubmedArticle>
220
+ <MedlineCitation>
221
+ <PMID>34265844</PMID>
222
+ <Article>
223
+ <ArticleTitle>Title here</ArticleTitle>
224
+ <AuthorList>
225
+ <Author><LastName>Smith</LastName><ForeName>John</ForeName></Author>
226
+ </AuthorList>
227
+ <Journal>
228
+ <Title>Nature</Title>
229
+ <JournalIssue>
230
+ <Volume>595</Volume>
231
+ <Issue>7865</Issue>
232
+ <PubDate><Year>2021</Year></PubDate>
233
+ </JournalIssue>
234
+ </Journal>
235
+ <Pagination><MedlinePgn>123-128</MedlinePgn></Pagination>
236
+ <Abstract><AbstractText>Abstract text here</AbstractText></Abstract>
237
+ </Article>
238
+ </MedlineCitation>
239
+ <PubmedData>
240
+ <ArticleIdList>
241
+ <ArticleId IdType="doi">10.1038/s41586-021-03819-2</ArticleId>
242
+ <ArticleId IdType="pmc">PMC8287551</ArticleId>
243
+ </ArticleIdList>
244
+ </PubmedData>
245
+ </PubmedArticle>
246
+ ```
247
+
248
+ #### Unique PubMed Fields
249
+
250
+ **MeSH Terms**: Controlled vocabulary
251
+ ```xml
252
+ <MeshHeadingList>
253
+ <MeshHeading>
254
+ <DescriptorName UI="D003920">Diabetes Mellitus</DescriptorName>
255
+ </MeshHeading>
256
+ </MeshHeadingList>
257
+ ```
258
+
259
+ **Publication Types**:
260
+ ```xml
261
+ <PublicationTypeList>
262
+ <PublicationType UI="D016428">Journal Article</PublicationType>
263
+ <PublicationType UI="D016449">Randomized Controlled Trial</PublicationType>
264
+ </PublicationTypeList>
265
+ ```
266
+
267
+ **Grant Information**:
268
+ ```xml
269
+ <GrantList>
270
+ <Grant>
271
+ <GrantID>R01-123456</GrantID>
272
+ <Agency>NIAID NIH HHS</Agency>
273
+ <Country>United States</Country>
274
+ </Grant>
275
+ </GrantList>
276
+ ```
277
+
278
+ ### arXiv API
279
+
280
+ **Preprints in physics, math, CS, q-bio** - Free, open access.
281
+
282
+ **Base URL**: `http://export.arxiv.org/api/query`
283
+
284
+ **No API key required**
285
+
286
+ #### arXiv ID to Metadata
287
+
288
+ **Request**:
289
+ ```
290
+ GET http://export.arxiv.org/api/query?id_list=2103.14030
291
+ ```
292
+
293
+ **Response**: Atom XML
294
+
295
+ ```xml
296
+ <entry>
297
+ <id>http://arxiv.org/abs/2103.14030v2</id>
298
+ <title>Highly accurate protein structure prediction with AlphaFold</title>
299
+ <author><name>John Jumper</name></author>
300
+ <author><name>Richard Evans</name></author>
301
+ <published>2021-03-26T17:47:17Z</published>
302
+ <updated>2021-07-01T16:51:46Z</updated>
303
+ <summary>Abstract text here...</summary>
304
+ <arxiv:doi>10.1038/s41586-021-03819-2</arxiv:doi>
305
+ <category term="q-bio.BM" scheme="http://arxiv.org/schemas/atom"/>
306
+ <category term="cs.LG" scheme="http://arxiv.org/schemas/atom"/>
307
+ </entry>
308
+ ```
309
+
310
+ #### Key Fields
311
+
312
+ - `id`: arXiv URL
313
+ - `title`: Preprint title
314
+ - `author`: Author list
315
+ - `published`: First version date
316
+ - `updated`: Latest version date
317
+ - `summary`: Abstract
318
+ - `arxiv:doi`: DOI if published
319
+ - `arxiv:journal_ref`: Journal reference if published
320
+ - `category`: arXiv categories
321
+
322
+ #### Version Tracking
323
+
324
+ arXiv tracks versions:
325
+ - `v1`: Initial submission
326
+ - `v2`, `v3`, etc.: Revisions
327
+
328
+ **Always check** if preprint has been published in journal (use DOI if available).
329
+
330
+ ### DataCite API
331
+
332
+ **Research datasets, software, other outputs** - Assigns DOIs to non-traditional scholarly works.
333
+
334
+ **Base URL**: `https://api.datacite.org/dois/`
335
+
336
+ **Similar to CrossRef** but for datasets, software, code, etc.
337
+
338
+ **Request**:
339
+ ```
340
+ GET https://api.datacite.org/dois/10.5281/zenodo.1234567
341
+ ```
342
+
343
+ **Response**: JSON with metadata for dataset/software
344
+
345
+ ## Required BibTeX Fields
346
+
347
+ ### @article (Journal Articles)
348
+
349
+ **Required**:
350
+ - `author`: Author names
351
+ - `title`: Article title
352
+ - `journal`: Journal name
353
+ - `year`: Publication year
354
+
355
+ **Optional but recommended**:
356
+ - `volume`: Volume number
357
+ - `number`: Issue number
358
+ - `pages`: Page range (e.g., 123--145)
359
+ - `doi`: Digital Object Identifier
360
+ - `url`: URL if no DOI
361
+ - `month`: Publication month
362
+
363
+ **Example**:
364
+ ```bibtex
365
+ @article{Smith2024,
366
+ author = {Smith, John and Doe, Jane},
367
+ title = {Novel Approach to Protein Folding},
368
+ journal = {Nature},
369
+ year = {2024},
370
+ volume = {625},
371
+ number = {8001},
372
+ pages = {123--145},
373
+ doi = {10.1038/nature12345}
374
+ }
375
+ ```
376
+
377
+ ### @book (Books)
378
+
379
+ **Required**:
380
+ - `author` or `editor`: Author(s) or editor(s)
381
+ - `title`: Book title
382
+ - `publisher`: Publisher name
383
+ - `year`: Publication year
384
+
385
+ **Optional but recommended**:
386
+ - `edition`: Edition number (if not first)
387
+ - `address`: Publisher location
388
+ - `isbn`: ISBN
389
+ - `url`: URL
390
+ - `series`: Series name
391
+
392
+ **Example**:
393
+ ```bibtex
394
+ @book{Kumar2021,
395
+ author = {Kumar, Vinay and Abbas, Abul K. and Aster, Jon C.},
396
+ title = {Robbins and Cotran Pathologic Basis of Disease},
397
+ publisher = {Elsevier},
398
+ year = {2021},
399
+ edition = {10},
400
+ isbn = {978-0-323-53113-9}
401
+ }
402
+ ```
403
+
404
+ ### @inproceedings (Conference Papers)
405
+
406
+ **Required**:
407
+ - `author`: Author names
408
+ - `title`: Paper title
409
+ - `booktitle`: Conference/proceedings name
410
+ - `year`: Year
411
+
412
+ **Optional but recommended**:
413
+ - `pages`: Page range
414
+ - `organization`: Organizing body
415
+ - `publisher`: Publisher
416
+ - `address`: Conference location
417
+ - `month`: Conference month
418
+ - `doi`: DOI if available
419
+
420
+ **Example**:
421
+ ```bibtex
422
+ @inproceedings{Vaswani2017,
423
+ author = {Vaswani, Ashish and Shazeer, Noam and others},
424
+ title = {Attention is All You Need},
425
+ booktitle = {Advances in Neural Information Processing Systems},
426
+ year = {2017},
427
+ pages = {5998--6008},
428
+ volume = {30}
429
+ }
430
+ ```
431
+
432
+ ### @incollection (Book Chapters)
433
+
434
+ **Required**:
435
+ - `author`: Chapter author(s)
436
+ - `title`: Chapter title
437
+ - `booktitle`: Book title
438
+ - `publisher`: Publisher name
439
+ - `year`: Publication year
440
+
441
+ **Optional but recommended**:
442
+ - `editor`: Book editor(s)
443
+ - `pages`: Chapter page range
444
+ - `chapter`: Chapter number
445
+ - `edition`: Edition
446
+ - `address`: Publisher location
447
+
448
+ **Example**:
449
+ ```bibtex
450
+ @incollection{Brown2020,
451
+ author = {Brown, Peter O. and Botstein, David},
452
+ title = {Exploring the New World of the Genome with {DNA} Microarrays},
453
+ booktitle = {DNA Microarrays: A Molecular Cloning Manual},
454
+ editor = {Eisen, Michael B. and Brown, Patrick O.},
455
+ publisher = {Cold Spring Harbor Laboratory Press},
456
+ year = {2020},
457
+ pages = {1--45}
458
+ }
459
+ ```
460
+
461
+ ### @phdthesis (Dissertations)
462
+
463
+ **Required**:
464
+ - `author`: Author name
465
+ - `title`: Thesis title
466
+ - `school`: Institution
467
+ - `year`: Year
468
+
469
+ **Optional**:
470
+ - `type`: Type (e.g., "PhD dissertation")
471
+ - `address`: Institution location
472
+ - `month`: Month
473
+ - `url`: URL
474
+
475
+ **Example**:
476
+ ```bibtex
477
+ @phdthesis{Johnson2023,
478
+ author = {Johnson, Mary L.},
479
+ title = {Novel Approaches to Cancer Immunotherapy},
480
+ school = {Stanford University},
481
+ year = {2023},
482
+ type = {{PhD} dissertation}
483
+ }
484
+ ```
485
+
486
+ ### @misc (Preprints, Software, Datasets)
487
+
488
+ **Required**:
489
+ - `author`: Author(s)
490
+ - `title`: Title
491
+ - `year`: Year
492
+
493
+ **For preprints, add**:
494
+ - `howpublished`: Repository (e.g., "bioRxiv")
495
+ - `doi`: Preprint DOI
496
+ - `note`: Preprint ID
497
+
498
+ **Example (preprint)**:
499
+ ```bibtex
500
+ @misc{Zhang2024,
501
+ author = {Zhang, Yi and Chen, Li and Wang, Hui},
502
+ title = {Novel Therapeutic Targets in Alzheimer's Disease},
503
+ year = {2024},
504
+ howpublished = {bioRxiv},
505
+ doi = {10.1101/2024.01.001},
506
+ note = {Preprint}
507
+ }
508
+ ```
509
+
510
+ **Example (software)**:
511
+ ```bibtex
512
+ @misc{AlphaFold2021,
513
+ author = {DeepMind},
514
+ title = {{AlphaFold} Protein Structure Database},
515
+ year = {2021},
516
+ howpublished = {Software},
517
+ url = {https://alphafold.ebi.ac.uk/},
518
+ doi = {10.5281/zenodo.5123456}
519
+ }
520
+ ```
521
+
522
+ ## Extraction Workflows
523
+
524
+ ### From DOI
525
+
526
+ **Best practice** - Most reliable source:
527
+
528
+ ```bash
529
+ # Single DOI
530
+ python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2
531
+
532
+ # Multiple DOIs
533
+ python scripts/extract_metadata.py \
534
+ --doi 10.1038/nature12345 \
535
+ --doi 10.1126/science.abc1234 \
536
+ --output refs.bib
537
+ ```
538
+
539
+ **Process**:
540
+ 1. Query CrossRef API with DOI
541
+ 2. Parse JSON response
542
+ 3. Extract required fields
543
+ 4. Determine entry type (@article, @book, etc.)
544
+ 5. Format as BibTeX
545
+ 6. Validate completeness
546
+
547
+ ### From PMID
548
+
549
+ **For biomedical literature**:
550
+
551
+ ```bash
552
+ # Single PMID
553
+ python scripts/extract_metadata.py --pmid 34265844
554
+
555
+ # Multiple PMIDs
556
+ python scripts/extract_metadata.py \
557
+ --pmid 34265844 \
558
+ --pmid 28445112 \
559
+ --output refs.bib
560
+ ```
561
+
562
+ **Process**:
563
+ 1. Query PubMed EFetch with PMID
564
+ 2. Parse XML response
565
+ 3. Extract metadata including MeSH terms
566
+ 4. Check for DOI in response
567
+ 5. If DOI exists, optionally query CrossRef for additional metadata
568
+ 6. Format as BibTeX
569
+
570
+ ### From arXiv ID
571
+
572
+ **For preprints**:
573
+
574
+ ```bash
575
+ python scripts/extract_metadata.py --arxiv 2103.14030
576
+ ```
577
+
578
+ **Process**:
579
+ 1. Query arXiv API with ID
580
+ 2. Parse Atom XML response
581
+ 3. Check for published version (DOI in response)
582
+ 4. If published: Use DOI and CrossRef
583
+ 5. If not published: Use preprint metadata
584
+ 6. Format as @misc with preprint note
585
+
586
+ **Important**: Always check if preprint has been published!
587
+
588
+ ### From URL
589
+
590
+ **When you only have URL**:
591
+
592
+ ```bash
593
+ python scripts/extract_metadata.py \
594
+ --url "https://www.nature.com/articles/s41586-021-03819-2"
595
+ ```
596
+
597
+ **Process**:
598
+ 1. Parse URL to extract identifier
599
+ 2. Identify type (DOI, PMID, arXiv)
600
+ 3. Extract identifier from URL
601
+ 4. Query appropriate API
602
+ 5. Format as BibTeX
603
+
604
+ **URL patterns**:
605
+ ```
606
+ # DOI URLs
607
+ https://doi.org/10.1038/nature12345
608
+ https://dx.doi.org/10.1126/science.abc123
609
+ https://www.nature.com/articles/s41586-021-03819-2
610
+
611
+ # PubMed URLs
612
+ https://pubmed.ncbi.nlm.nih.gov/34265844/
613
+ https://www.ncbi.nlm.nih.gov/pubmed/34265844
614
+
615
+ # arXiv URLs
616
+ https://arxiv.org/abs/2103.14030
617
+ https://arxiv.org/pdf/2103.14030.pdf
618
+ ```
619
+
620
+ ### Batch Processing
621
+
622
+ **From file with mixed identifiers**:
623
+
624
+ ```bash
625
+ # Create file with one identifier per line
626
+ # identifiers.txt:
627
+ # 10.1038/nature12345
628
+ # 34265844
629
+ # 2103.14030
630
+ # https://doi.org/10.1126/science.abc123
631
+
632
+ python scripts/extract_metadata.py \
633
+ --input identifiers.txt \
634
+ --output references.bib
635
+ ```
636
+
637
+ **Process**:
638
+ - Script auto-detects identifier type
639
+ - Queries appropriate API
640
+ - Combines all into single BibTeX file
641
+ - Handles errors gracefully
642
+
643
+ ## Special Cases and Edge Cases
644
+
645
+ ### Preprints Later Published
646
+
647
+ **Issue**: Preprint cited, but journal version now available.
648
+
649
+ **Solution**:
650
+ 1. Check arXiv metadata for DOI field
651
+ 2. If DOI present, use published version
652
+ 3. Update citation to journal article
653
+ 4. Note preprint version in comments if needed
654
+
655
+ **Example**:
656
+ ```bibtex
657
+ % Originally: arXiv:2103.14030
658
+ % Published as:
659
+ @article{Jumper2021,
660
+ author = {Jumper, John and Evans, Richard and others},
661
+ title = {Highly Accurate Protein Structure Prediction with {AlphaFold}},
662
+ journal = {Nature},
663
+ year = {2021},
664
+ volume = {596},
665
+ pages = {583--589},
666
+ doi = {10.1038/s41586-021-03819-2}
667
+ }
668
+ ```
669
+
670
+ ### Multiple Authors (et al.)
671
+
672
+ **Issue**: Many authors (10+).
673
+
674
+ **BibTeX practice**:
675
+ - Include all authors if <10
676
+ - Use "and others" for 10+
677
+ - Or list all (journals vary)
678
+
679
+ **Example**:
680
+ ```bibtex
681
+ @article{LargeCollaboration2024,
682
+ author = {First, Author and Second, Author and Third, Author and others},
683
+ ...
684
+ }
685
+ ```
686
+
687
+ ### Author Name Variations
688
+
689
+ **Issue**: Authors publish under different name formats.
690
+
691
+ **Standardization**:
692
+ ```
693
+ # Common variations
694
+ John Smith
695
+ John A. Smith
696
+ John Andrew Smith
697
+ J. A. Smith
698
+ Smith, J.
699
+ Smith, J. A.
700
+
701
+ # BibTeX format (recommended)
702
+ author = {Smith, John A.}
703
+ ```
704
+
705
+ **Extraction preference**:
706
+ 1. Use full name if available
707
+ 2. Include middle initial if available
708
+ 3. Format: Last, First Middle
709
+
710
+ ### No DOI Available
711
+
712
+ **Issue**: Older papers or books without DOIs.
713
+
714
+ **Solutions**:
715
+ 1. Use PMID if available (biomedical)
716
+ 2. Use ISBN for books
717
+ 3. Use URL to stable source
718
+ 4. Include full publication details
719
+
720
+ **Example**:
721
+ ```bibtex
722
+ @article{OldPaper1995,
723
+ author = {Author, Name},
724
+ title = {Title Here},
725
+ journal = {Journal Name},
726
+ year = {1995},
727
+ volume = {123},
728
+ pages = {45--67},
729
+ url = {https://stable-url-here},
730
+ note = {PMID: 12345678}
731
+ }
732
+ ```
733
+
734
+ ### Conference Papers vs Journal Articles
735
+
736
+ **Issue**: Same work published in both.
737
+
738
+ **Best practice**:
739
+ - Cite journal version if both available
740
+ - Journal version is archival
741
+ - Conference version for timeliness
742
+
743
+ **If citing conference**:
744
+ ```bibtex
745
+ @inproceedings{Smith2024conf,
746
+ author = {Smith, John},
747
+ title = {Title},
748
+ booktitle = {Proceedings of NeurIPS 2024},
749
+ year = {2024}
750
+ }
751
+ ```
752
+
753
+ **If citing journal**:
754
+ ```bibtex
755
+ @article{Smith2024journal,
756
+ author = {Smith, John},
757
+ title = {Title},
758
+ journal = {Journal of Machine Learning Research},
759
+ year = {2024}
760
+ }
761
+ ```
762
+
763
+ ### Book Chapters vs Edited Collections
764
+
765
+ **Extract correctly**:
766
+ - Chapter: Use `@incollection`
767
+ - Whole book: Use `@book`
768
+ - Book editor: List in `editor` field
769
+ - Chapter author: List in `author` field
770
+
771
+ ### Datasets and Software
772
+
773
+ **Use @misc** with appropriate fields:
774
+
775
+ ```bibtex
776
+ @misc{DatasetName2024,
777
+ author = {Author, Name},
778
+ title = {Dataset Title},
779
+ year = {2024},
780
+ howpublished = {Zenodo},
781
+ doi = {10.5281/zenodo.123456},
782
+ note = {Version 1.2}
783
+ }
784
+ ```
785
+
786
+ ## Validation After Extraction
787
+
788
+ Always validate extracted metadata:
789
+
790
+ ```bash
791
+ python scripts/validate_citations.py extracted_refs.bib
792
+ ```
793
+
794
+ **Check**:
795
+ - All required fields present
796
+ - DOI resolves correctly
797
+ - Author names formatted consistently
798
+ - Year is reasonable (4 digits)
799
+ - Journal/publisher names correct
800
+ - Page ranges use -- not -
801
+ - Special characters handled properly
802
+
803
+ ## Best Practices
804
+
805
+ ### 1. Prefer DOI When Available
806
+
807
+ DOIs provide:
808
+ - Permanent identifier
809
+ - Best metadata source
810
+ - Publisher-verified information
811
+ - Resolvable link
812
+
813
+ ### 2. Verify Automatically Extracted Metadata
814
+
815
+ Spot-check:
816
+ - Author names match publication
817
+ - Title matches (including capitalization)
818
+ - Year is correct
819
+ - Journal name is complete
820
+
821
+ ### 3. Handle Special Characters
822
+
823
+ **LaTeX special characters**:
824
+ - Protect capitalization: `{AlphaFold}`
825
+ - Handle accents: `M{\"u}ller` or use Unicode
826
+ - Chemical formulas: `H$_2$O` or `\ce{H2O}`
827
+
828
+ ### 4. Use Consistent Citation Keys
829
+
830
+ **Convention**: `FirstAuthorYEARkeyword`
831
+ ```
832
+ Smith2024protein
833
+ Doe2023machine
834
+ Johnson2024cancer
835
+ ```
836
+
837
+ ### 5. Include DOI for Modern Papers
838
+
839
+ All papers published after ~2000 should have DOI:
840
+ ```bibtex
841
+ doi = {10.1038/nature12345}
842
+ ```
843
+
844
+ ### 6. Document Source
845
+
846
+ For non-standard sources, add note:
847
+ ```bibtex
848
+ note = {Preprint, not peer-reviewed}
849
+ note = {Technical report}
850
+ note = {Dataset accompanying [citation]}
851
+ ```
852
+
853
+ ## Summary
854
+
855
+ Metadata extraction workflow:
856
+
857
+ 1. **Identify**: Determine identifier type (DOI, PMID, arXiv, URL)
858
+ 2. **Query**: Use appropriate API (CrossRef, PubMed, arXiv)
859
+ 3. **Extract**: Parse response for required fields
860
+ 4. **Format**: Create properly formatted BibTeX entry
861
+ 5. **Validate**: Check completeness and accuracy
862
+ 6. **Verify**: Spot-check critical citations
863
+
864
+ **Use scripts** to automate:
865
+ - `extract_metadata.py`: Universal extractor
866
+ - `doi_to_bibtex.py`: Quick DOI conversion
867
+ - `validate_citations.py`: Verify accuracy
868
+
869
+ **Always validate** extracted metadata before final submission!
870
+