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,734 @@
1
+ # TikZ Guide for Scientific Diagrams
2
+
3
+ ## Overview
4
+
5
+ TikZ (TikZ ist kein Zeichenprogramm - "TikZ is not a drawing program") is a powerful LaTeX package for creating high-quality vector graphics. This guide focuses on using TikZ for scientific diagrams, flowcharts, and schematics in research publications.
6
+
7
+ ## Basic TikZ Structure
8
+
9
+ ### Minimal Example
10
+
11
+ ```latex
12
+ \documentclass{article}
13
+ \usepackage{tikz}
14
+
15
+ \begin{document}
16
+
17
+ \begin{tikzpicture}
18
+ % Your drawing commands here
19
+ \draw (0,0) -- (2,0); % Line from (0,0) to (2,0)
20
+ \node at (1,0.5) {Label}; % Text at position
21
+ \end{tikzpicture}
22
+
23
+ \end{document}
24
+ ```
25
+
26
+ ### Required Packages and Libraries
27
+
28
+ ```latex
29
+ \usepackage{tikz}
30
+ \usetikzlibrary{
31
+ shapes.geometric, % Rectangles, circles, diamonds, etc.
32
+ shapes.arrows, % Arrow shapes
33
+ arrows.meta, % Modern arrow tips
34
+ positioning, % Relative positioning (above, below, right of)
35
+ calc, % Coordinate calculations
36
+ fit, % Fitting boxes around multiple nodes
37
+ backgrounds, % Background layers
38
+ decorations.pathreplacing % Braces and decorations
39
+ }
40
+ ```
41
+
42
+ ## Coordinate Systems
43
+
44
+ ### Cartesian Coordinates
45
+
46
+ ```latex
47
+ \draw (0,0) -- (3,2); % From origin to (3,2)
48
+ \draw (1,1) circle (0.5); % Circle at (1,1) with radius 0.5
49
+ ```
50
+
51
+ ### Relative Coordinates
52
+
53
+ ```latex
54
+ \draw (0,0) -- ++(2,0) % Move 2 right from (0,0), update position
55
+ -- ++(0,2) % Move 2 up from current position
56
+ -- ++(-2,0); % Move 2 left from current position
57
+
58
+ \draw (0,0) -- +(1,1); % Move to (1,1) but don't update position
59
+ ```
60
+
61
+ ### Polar Coordinates
62
+
63
+ ```latex
64
+ \draw (0,0) -- (30:2); % Angle 30°, distance 2
65
+ \draw (0,0) -- (90:1.5); % Angle 90°, distance 1.5
66
+ ```
67
+
68
+ ### Named Coordinates
69
+
70
+ ```latex
71
+ \coordinate (A) at (0,0);
72
+ \coordinate (B) at (3,2);
73
+ \draw (A) -- (B);
74
+ ```
75
+
76
+ ## Drawing Basic Shapes
77
+
78
+ ### Lines and Paths
79
+
80
+ ```latex
81
+ % Straight line
82
+ \draw (0,0) -- (2,0);
83
+
84
+ % Multiple connected segments
85
+ \draw (0,0) -- (1,1) -- (2,0) -- (0,0);
86
+
87
+ % Closed path
88
+ \draw (0,0) -- (1,1) -- (2,0) -- cycle;
89
+
90
+ % Curved path (Bezier)
91
+ \draw (0,0) .. controls (1,1) and (2,1) .. (3,0);
92
+
93
+ % Smooth curve through points
94
+ \draw plot[smooth] coordinates {(0,0) (1,2) (2,1) (3,3)};
95
+ ```
96
+
97
+ ### Rectangles and Circles
98
+
99
+ ```latex
100
+ % Rectangle: (lower-left) rectangle (upper-right)
101
+ \draw (0,0) rectangle (2,1);
102
+
103
+ % Circle: (center) circle (radius)
104
+ \draw (1,1) circle (0.5);
105
+
106
+ % Ellipse: (center) ellipse (x-radius and y-radius)
107
+ \draw (1,1) ellipse (1 and 0.5);
108
+
109
+ % Rounded rectangle
110
+ \draw[rounded corners=5pt] (0,0) rectangle (2,1);
111
+ ```
112
+
113
+ ### Arcs and Curves
114
+
115
+ ```latex
116
+ % Arc: (start) arc (start-angle:end-angle:radius)
117
+ \draw (0,0) arc (0:90:1); % Quarter circle
118
+ \draw (0,0) arc (0:180:1.5); % Semicircle
119
+
120
+ % Partial ellipse arc
121
+ \draw (0,0) arc (0:270:1.5 and 1);
122
+ ```
123
+
124
+ ## Nodes - The Foundation of Diagrams
125
+
126
+ ### Basic Nodes
127
+
128
+ ```latex
129
+ % Simple node
130
+ \node at (0,0) {Text};
131
+
132
+ % Node with name for referencing
133
+ \node (A) at (0,0) {Node A};
134
+ \node (B) at (2,0) {Node B};
135
+ \draw (A) -- (B); % Connect nodes
136
+
137
+ % Node on a path
138
+ \draw (0,0) -- node {middle} (2,0);
139
+ ```
140
+
141
+ ### Node Shapes
142
+
143
+ ```latex
144
+ % Rectangle (default)
145
+ \node[draw, rectangle] at (0,0) {Rectangle};
146
+
147
+ % Circle
148
+ \node[draw, circle] at (2,0) {Circle};
149
+
150
+ % Ellipse
151
+ \node[draw, ellipse] at (4,0) {Ellipse};
152
+
153
+ % Diamond (requires shapes.geometric library)
154
+ \node[draw, diamond] at (6,0) {Diamond};
155
+
156
+ % Rounded rectangle
157
+ \node[draw, rounded corners] at (8,0) {Rounded};
158
+ ```
159
+
160
+ ### Node Styling
161
+
162
+ ```latex
163
+ % Size
164
+ \node[minimum width=3cm, minimum height=1cm] {Wide node};
165
+
166
+ % Colors
167
+ \node[fill=blue!20, draw=blue!80] {Colored};
168
+
169
+ % Line style
170
+ \node[draw, thick, dashed] {Dashed border};
171
+ \node[draw, ultra thick] {Thick border};
172
+
173
+ % Text styling
174
+ \node[font=\large\bfseries] {Bold Large Text};
175
+ ```
176
+
177
+ ### Node Anchors
178
+
179
+ Nodes have anchor points for precise connections:
180
+
181
+ ```latex
182
+ \node[draw] (A) at (0,0) {Node};
183
+
184
+ % Anchor points: north, south, east, west,
185
+ % north east, north west, south east, south west
186
+ % center
187
+
188
+ \draw[red] (A.north) -- ++(0,0.5); % From top of node
189
+ \draw[blue] (A.east) -- ++(0.5,0); % From right side
190
+ \draw[green] (A.south) -- ++(0,-0.5); % From bottom
191
+ ```
192
+
193
+ ## Positioning
194
+
195
+ ### Absolute Positioning
196
+
197
+ ```latex
198
+ \node[draw] at (0,0) {A};
199
+ \node[draw] at (3,2) {B};
200
+ ```
201
+
202
+ ### Relative Positioning (positioning library)
203
+
204
+ ```latex
205
+ \node[draw] (A) {Node A};
206
+ \node[draw, right=of A] (B) {Node B};
207
+ \node[draw, below=of A] (C) {Node C};
208
+ \node[draw, above right=of A] (D) {Node D};
209
+
210
+ % With custom distance
211
+ \node[draw] (A) {A};
212
+ \node[draw, right=2cm of A] (B) {B};
213
+ \node[draw, below=1.5cm of A] (C) {C};
214
+ ```
215
+
216
+ ### Positioning Patterns
217
+
218
+ ```latex
219
+ % Chained positioning
220
+ \node[draw] (A) {A};
221
+ \node[draw, right=of A] (B) {B};
222
+ \node[draw, right=of B] (C) {C};
223
+ \node[draw, right=of C] (D) {D};
224
+
225
+ % Grid layout
226
+ \node[draw] (A) at (0,2) {A};
227
+ \node[draw] (B) at (2,2) {B};
228
+ \node[draw] (C) at (0,0) {C};
229
+ \node[draw] (D) at (2,0) {D};
230
+
231
+ % Circular arrangement
232
+ \foreach \i in {0,1,...,7} {
233
+ \node[draw, circle] at ({360/8 * \i}:2) {\i};
234
+ }
235
+ ```
236
+
237
+ ## Arrows and Connections
238
+
239
+ ### Arrow Styles (arrows.meta library)
240
+
241
+ ```latex
242
+ % Modern arrow tips
243
+ \draw[-Stealth] (0,0) -- (2,0); % Stealth arrow tip
244
+ \draw[-Latex] (0,0.5) -- (2,0.5); % LaTeX arrow tip
245
+ \draw[-Triangle] (0,1) -- (2,1); % Triangle tip
246
+
247
+ % Both ends
248
+ \draw[Stealth-Stealth] (0,1.5) -- (2,1.5);
249
+
250
+ % Larger arrows
251
+ \draw[-{Stealth[length=5mm, width=3mm]}] (0,2) -- (2,2);
252
+
253
+ % Multiple arrows
254
+ \draw[-{Stealth}{Stealth}] (0,2.5) -- (2,2.5);
255
+ ```
256
+
257
+ ### Connection Paths
258
+
259
+ ```latex
260
+ \node[draw] (A) {A};
261
+ \node[draw, right=3cm of A] (B) {B};
262
+
263
+ % Straight arrow
264
+ \draw[-Stealth] (A) -- (B);
265
+
266
+ % Horizontal then vertical
267
+ \draw[-Stealth] (A) -| (B);
268
+
269
+ % Vertical then horizontal
270
+ \draw[-Stealth] (A) |- (B);
271
+
272
+ % Curved (Bezier)
273
+ \draw[-Stealth] (A) to[bend left=30] (B);
274
+ \draw[-Stealth] (A) to[bend right=30] (B);
275
+
276
+ % Out and in angles
277
+ \draw[-Stealth] (A) to[out=45, in=135] (B);
278
+ ```
279
+
280
+ ### Edge Labels
281
+
282
+ ```latex
283
+ \node[draw] (A) {A};
284
+ \node[draw, right=3cm of A] (B) {B};
285
+
286
+ % Label above
287
+ \draw[-Stealth] (A) -- node[above] {label} (B);
288
+
289
+ % Label below
290
+ \draw[-Stealth] (A) -- node[below] {label} (B);
291
+
292
+ % Label at specific position (0=start, 0.5=middle, 1=end)
293
+ \draw[-Stealth] (A) -- node[pos=0.25, above] {quarter} (B);
294
+
295
+ % Sloped text
296
+ \draw[-Stealth] (A) -- node[above, sloped] {sloped} (B);
297
+ ```
298
+
299
+ ## Styles and Customization
300
+
301
+ ### Defining Custom Styles
302
+
303
+ ```latex
304
+ \begin{tikzpicture}[
305
+ % Define styles within tikzpicture options
306
+ process/.style={rectangle, draw, fill=blue!20,
307
+ minimum width=3cm, minimum height=1cm},
308
+ decision/.style={diamond, draw, fill=orange!20, aspect=2},
309
+ arrow/.style={-Stealth, thick}
310
+ ]
311
+
312
+ \node[process] (p1) {Process};
313
+ \node[decision, below=of p1] (d1) {Decision?};
314
+ \draw[arrow] (p1) -- (d1);
315
+
316
+ \end{tikzpicture}
317
+ ```
318
+
319
+ ### Global Style Definitions
320
+
321
+ ```latex
322
+ % In preamble or separate file
323
+ \tikzset{
324
+ process/.style={
325
+ rectangle,
326
+ rounded corners,
327
+ draw=black,
328
+ thick,
329
+ fill=blue!20,
330
+ minimum width=3cm,
331
+ minimum height=1cm,
332
+ text width=2.5cm,
333
+ align=center
334
+ },
335
+ decision/.style={
336
+ diamond,
337
+ draw=black,
338
+ thick,
339
+ fill=orange!20,
340
+ minimum width=2cm,
341
+ aspect=2,
342
+ align=center
343
+ },
344
+ data/.style={
345
+ trapezium,
346
+ trapezium left angle=70,
347
+ trapezium right angle=110,
348
+ draw=black,
349
+ thick,
350
+ fill=green!20,
351
+ minimum width=2cm,
352
+ minimum height=1cm
353
+ }
354
+ }
355
+ ```
356
+
357
+ ### Color Definitions (Okabe-Ito Colorblind-Safe Palette)
358
+
359
+ ```latex
360
+ \definecolor{okabe-orange}{RGB}{230, 159, 0}
361
+ \definecolor{okabe-blue}{RGB}{86, 180, 233}
362
+ \definecolor{okabe-green}{RGB}{0, 158, 115}
363
+ \definecolor{okabe-yellow}{RGB}{240, 228, 66}
364
+ \definecolor{okabe-dblue}{RGB}{0, 114, 178}
365
+ \definecolor{okabe-vermillion}{RGB}{213, 94, 0}
366
+ \definecolor{okabe-purple}{RGB}{204, 121, 167}
367
+ \definecolor{okabe-black}{RGB}{0, 0, 0}
368
+
369
+ % Use in styles
370
+ \node[fill=okabe-blue!30, draw=okabe-dblue] {Text};
371
+ ```
372
+
373
+ ## Advanced Techniques
374
+
375
+ ### Loops and Repetition
376
+
377
+ ```latex
378
+ % Simple loop
379
+ \foreach \x in {0,1,2,3,4} {
380
+ \node[draw] at (\x,0) {\x};
381
+ }
382
+
383
+ % Loop with calculations
384
+ \foreach \x in {0,1,...,5} {
385
+ \draw (\x,0) circle (0.2);
386
+ }
387
+
388
+ % Multiple variables
389
+ \foreach \x/\y/\label in {0/0/A, 1/1/B, 2/0/C} {
390
+ \node[draw] at (\x,\y) {\label};
391
+ }
392
+
393
+ % Nested loops
394
+ \foreach \x in {0,1,2} {
395
+ \foreach \y in {0,1,2} {
396
+ \node[draw] at (\x,\y) {\x,\y};
397
+ }
398
+ }
399
+ ```
400
+
401
+ ### Calculations (calc library)
402
+
403
+ ```latex
404
+ % Midpoint
405
+ \coordinate (A) at (0,0);
406
+ \coordinate (B) at (4,3);
407
+ \coordinate (M) at ($(A)!0.5!(B)$); % Midpoint between A and B
408
+ \node[draw] at (M) {Middle};
409
+
410
+ % Point along path
411
+ \coordinate (C) at ($(A)!0.25!(B)$); % 25% from A to B
412
+
413
+ % Perpendicular point
414
+ \coordinate (P) at ($(A)!0.5!(B)$);
415
+ \coordinate (Q) at ($(P)!1cm!90:(B)$); % 1cm perpendicular to AB
416
+ ```
417
+
418
+ ### Backgrounds and Layers
419
+
420
+ ```latex
421
+ \begin{tikzpicture}
422
+ % Main content
423
+ \node[draw] (A) {Node A};
424
+ \node[draw, right=of A] (B) {Node B};
425
+
426
+ % Background layer
427
+ \begin{scope}[on background layer]
428
+ \node[fill=gray!20, rounded corners, fit=(A) (B),
429
+ inner sep=10pt] {};
430
+ \end{scope}
431
+ \end{tikzpicture}
432
+ ```
433
+
434
+ ### Scope for Local Styling
435
+
436
+ ```latex
437
+ \begin{tikzpicture}
438
+ % Normal drawing
439
+ \draw (0,0) -- (1,0);
440
+
441
+ % Apply style only within scope
442
+ \begin{scope}[thick, blue]
443
+ \draw (0,0.5) -- (1,0.5);
444
+ \draw (0,1) -- (1,1);
445
+ \end{scope}
446
+
447
+ % Back to normal
448
+ \draw (0,1.5) -- (1,1.5);
449
+ \end{tikzpicture}
450
+ ```
451
+
452
+ ## Common Scientific Diagram Patterns
453
+
454
+ ### Flowchart Pattern
455
+
456
+ ```latex
457
+ \begin{tikzpicture}[
458
+ node distance=1.5cm and 2cm,
459
+ process/.style={rectangle, rounded corners, draw, thick,
460
+ fill=blue!20, minimum width=3cm, minimum height=1cm},
461
+ decision/.style={diamond, draw, thick, fill=orange!20, aspect=2},
462
+ arrow/.style={-Stealth, thick}
463
+ ]
464
+
465
+ \node[process] (start) {Start};
466
+ \node[process, below=of start] (step1) {Process Step};
467
+ \node[decision, below=of step1] (decision) {Decision?};
468
+ \node[process, below left=of decision] (yes) {Yes Path};
469
+ \node[process, below right=of decision] (no) {No Path};
470
+ \node[process, below=3cm of decision] (end) {End};
471
+
472
+ \draw[arrow] (start) -- (step1);
473
+ \draw[arrow] (step1) -- (decision);
474
+ \draw[arrow] (decision) -| node[near start, above] {yes} (yes);
475
+ \draw[arrow] (decision) -| node[near start, above] {no} (no);
476
+ \draw[arrow] (yes) |- (end);
477
+ \draw[arrow] (no) |- (end);
478
+
479
+ \end{tikzpicture}
480
+ ```
481
+
482
+ ### Block Diagram Pattern
483
+
484
+ ```latex
485
+ \begin{tikzpicture}[
486
+ block/.style={rectangle, draw, thick, fill=blue!20,
487
+ minimum width=2.5cm, minimum height=1cm},
488
+ arrow/.style={-Stealth, thick}
489
+ ]
490
+
491
+ \node[block] (input) {Input};
492
+ \node[block, right=2cm of input] (process) {Process};
493
+ \node[block, right=2cm of process] (output) {Output};
494
+
495
+ \draw[arrow] (input) -- node[above] {data} (process);
496
+ \draw[arrow] (process) -- node[above] {result} (output);
497
+
498
+ % Feedback loop
499
+ \draw[arrow] (output.north) |- ++(0,1) -|
500
+ node[near end, above] {feedback} (process.north);
501
+
502
+ \end{tikzpicture}
503
+ ```
504
+
505
+ ### Network Diagram Pattern
506
+
507
+ ```latex
508
+ \begin{tikzpicture}[
509
+ node/.style={circle, draw, thick, fill=blue!20, minimum size=1cm},
510
+ edge/.style={-Stealth, thick}
511
+ ]
512
+
513
+ % Nodes
514
+ \node[node] (1) at (0,0) {1};
515
+ \node[node] (2) at (2,1.5) {2};
516
+ \node[node] (3) at (2,-1.5) {3};
517
+ \node[node] (4) at (4,0) {4};
518
+
519
+ % Edges
520
+ \draw[edge] (1) -- (2);
521
+ \draw[edge] (1) -- (3);
522
+ \draw[edge] (2) -- (4);
523
+ \draw[edge] (3) -- (4);
524
+ \draw[edge, bend left] (2) to (3);
525
+
526
+ \end{tikzpicture}
527
+ ```
528
+
529
+ ### Timeline Pattern
530
+
531
+ ```latex
532
+ \begin{tikzpicture}
533
+ % Timeline axis
534
+ \draw[thick, -Stealth] (0,0) -- (10,0) node[right] {Time};
535
+
536
+ % Events
537
+ \foreach \x/\label in {1/Baseline, 3/Week 4, 5/Week 8, 7/Week 12, 9/Final} {
538
+ \draw[thick] (\x,0.1) -- (\x,-0.1);
539
+ \node[below] at (\x,-0.1) {\label};
540
+ \node[circle, fill=blue!20, draw, inner sep=2pt] at (\x,0) {};
541
+ }
542
+
543
+ % Interventions as bars
544
+ \draw[thick, blue] (1,0.5) -- (5,0.5) node[midway, above] {Treatment A};
545
+ \draw[thick, red] (5,0.8) -- (9,0.8) node[midway, above] {Treatment B};
546
+
547
+ \end{tikzpicture}
548
+ ```
549
+
550
+ ## CircuitikZ for Circuit Diagrams
551
+
552
+ CircuitikZ extends TikZ specifically for electrical circuits:
553
+
554
+ ```latex
555
+ \usepackage{circuitikz}
556
+
557
+ \begin{circuitikz}[american]
558
+ % Voltage source
559
+ \draw (0,0) to[V, v=$V_s$] (0,2)
560
+
561
+ % Resistors
562
+ to[R, l=$R_1$] (2,2)
563
+ to[R, l=$R_2$] (4,2)
564
+
565
+ % Capacitor
566
+ to[C, l=$C_1$] (4,0)
567
+
568
+ % Close circuit
569
+ to[short] (0,0);
570
+
571
+ % Ground
572
+ \draw (0,0) node[ground] {};
573
+
574
+ \end{circuitikz}
575
+ ```
576
+
577
+ ## Best Practices for Scientific Diagrams
578
+
579
+ ### 1. Consistent Node Spacing
580
+
581
+ ```latex
582
+ % Define node distance globally
583
+ \begin{tikzpicture}[node distance=2cm and 3cm]
584
+ % All nodes will be spaced consistently
585
+ \end{tikzpicture}
586
+ ```
587
+
588
+ ### 2. Use Styles for Consistency
589
+
590
+ ```latex
591
+ % Define styles once, use everywhere
592
+ \tikzset{
593
+ myprocess/.style={/* styling */},
594
+ mydecision/.style={/* styling */}
595
+ }
596
+ ```
597
+
598
+ ### 3. Named Nodes for Flexibility
599
+
600
+ ```latex
601
+ % Always name nodes you'll reference
602
+ \node (A) {Node A}; % Good
603
+ \node at (0,0) {Node}; % Hard to reference later
604
+ ```
605
+
606
+ ### 4. Anchor Points for Precise Connections
607
+
608
+ ```latex
609
+ % Use anchors for clean connections
610
+ \draw (A.east) -- (B.west); % Good
611
+ \draw (A) -- (B); % May not connect cleanly
612
+ ```
613
+
614
+ ### 5. Layer Complex Diagrams
615
+
616
+ ```latex
617
+ % Draw in logical order: background -> main -> annotations
618
+ \begin{scope}[on background layer]
619
+ % Background elements
620
+ \end{scope}
621
+ % Main diagram
622
+ % Annotations on top
623
+ ```
624
+
625
+ ### 6. Modularity with \input
626
+
627
+ ```latex
628
+ % Main document
629
+ \begin{figure}
630
+ \centering
631
+ \input{figures/my_diagram.tikz}
632
+ \caption{My diagram}
633
+ \end{figure}
634
+
635
+ % my_diagram.tikz contains just the tikzpicture
636
+ \begin{tikzpicture}
637
+ % diagram code
638
+ \end{tikzpicture}
639
+ ```
640
+
641
+ ## Compilation and Optimization
642
+
643
+ ### Standalone Compilation
644
+
645
+ Create standalone TikZ documents for faster iteration:
646
+
647
+ ```latex
648
+ \documentclass[tikz, border=2mm]{standalone}
649
+ \usepackage{tikz}
650
+ \usetikzlibrary{shapes, arrows.meta, positioning}
651
+
652
+ \begin{document}
653
+ \begin{tikzpicture}
654
+ % Your diagram
655
+ \end{tikzpicture}
656
+ \end{document}
657
+ ```
658
+
659
+ Compile to PDF:
660
+ ```bash
661
+ pdflatex diagram.tex
662
+ ```
663
+
664
+ ### External Graphics (for large documents)
665
+
666
+ For complex diagrams, compile separately and include:
667
+
668
+ ```latex
669
+ % Enable externalization
670
+ \usetikzlibrary{external}
671
+ \tikzexternalize
672
+
673
+ % In document
674
+ \begin{tikzpicture}
675
+ % Complex diagram - compiled once, cached
676
+ \end{tikzpicture}
677
+ ```
678
+
679
+ ## Troubleshooting Common Issues
680
+
681
+ **Issue**: Nodes overlapping text
682
+ - **Solution**: Increase `minimum width` or `minimum height`, or use `text width` with `align=center`
683
+
684
+ **Issue**: Arrows not pointing to node edges
685
+ - **Solution**: Use anchor points: `\draw (A.east) -- (B.west);`
686
+
687
+ **Issue**: Inconsistent spacing
688
+ - **Solution**: Set `node distance` globally in tikzpicture options
689
+
690
+ **Issue**: Curved arrows going wrong direction
691
+ - **Solution**: Adjust `bend left/right` angle or use `out` and `in` angles
692
+
693
+ **Issue**: Text overflowing nodes
694
+ - **Solution**: Add `text width=Xcm, align=center` to node style
695
+
696
+ **Issue**: Compilation slow
697
+ - **Solution**: Use `\tikzexternalize` or compile diagrams separately
698
+
699
+ ## Quick Reference: Common Commands
700
+
701
+ ```latex
702
+ % Shapes
703
+ \node[draw, rectangle] {Text};
704
+ \node[draw, circle] {Text};
705
+ \node[draw, diamond] {Text};
706
+ \node[draw, ellipse] {Text};
707
+
708
+ % Positioning
709
+ \node[right=of A] (B) {B};
710
+ \node[below=2cm of A] (C) {C};
711
+ \node[above right=of A] (D) {D};
712
+
713
+ % Arrows
714
+ \draw[-Stealth] (A) -- (B);
715
+ \draw[-Stealth] (A) to[bend left] (B);
716
+ \draw[-Stealth] (A) -| (B);
717
+
718
+ % Styling
719
+ \node[fill=blue!20, draw=blue!80, thick] {Styled};
720
+ \draw[thick, dashed, red] (A) -- (B);
721
+
722
+ % Loops
723
+ \foreach \x in {0,1,2,3} { \node at (\x,0) {\x}; }
724
+ ```
725
+
726
+ ## Further Resources
727
+
728
+ - **TikZ & PGF Manual**: https://pgf-tikz.github.io/pgf/pgfmanual.pdf
729
+ - **TeXample.net**: http://www.texample.net/tikz/
730
+ - **CircuitikZ Manual**: https://ctan.org/pkg/circuitikz
731
+ - **TikZ Tutorial**: https://cremeronline.com/LaTeX/minimaltikz.pdf
732
+
733
+ This guide provides the foundation for creating scientific diagrams with TikZ. Combine these techniques with the templates in the `assets/` directory for publication-ready figures.
734
+