@wentorai/research-plugins 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +204 -0
- package/curated/analysis/README.md +64 -0
- package/curated/domains/README.md +104 -0
- package/curated/literature/README.md +53 -0
- package/curated/research/README.md +62 -0
- package/curated/tools/README.md +87 -0
- package/curated/writing/README.md +61 -0
- package/index.ts +39 -0
- package/mcp-configs/academic-db/ChatSpatial.json +17 -0
- package/mcp-configs/academic-db/academia-mcp.json +17 -0
- package/mcp-configs/academic-db/academic-paper-explorer.json +17 -0
- package/mcp-configs/academic-db/academic-search-mcp-server.json +17 -0
- package/mcp-configs/academic-db/agentinterviews-mcp.json +17 -0
- package/mcp-configs/academic-db/all-in-mcp.json +17 -0
- package/mcp-configs/academic-db/apple-health-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-latex-mcp.json +17 -0
- package/mcp-configs/academic-db/arxiv-mcp-server.json +17 -0
- package/mcp-configs/academic-db/bgpt-mcp.json +17 -0
- package/mcp-configs/academic-db/biomcp.json +17 -0
- package/mcp-configs/academic-db/biothings-mcp.json +17 -0
- package/mcp-configs/academic-db/catalysishub-mcp-server.json +17 -0
- package/mcp-configs/academic-db/clinicaltrialsgov-mcp-server.json +17 -0
- package/mcp-configs/academic-db/deep-research-mcp.json +17 -0
- package/mcp-configs/academic-db/dicom-mcp.json +17 -0
- package/mcp-configs/academic-db/enrichr-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fec-mcp-server.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp-server-themomentum.json +17 -0
- package/mcp-configs/academic-db/fhir-mcp.json +19 -0
- package/mcp-configs/academic-db/gget-mcp.json +17 -0
- package/mcp-configs/academic-db/google-researcher-mcp.json +17 -0
- package/mcp-configs/academic-db/idea-reality-mcp.json +17 -0
- package/mcp-configs/academic-db/legiscan-mcp.json +19 -0
- package/mcp-configs/academic-db/lex.json +17 -0
- package/mcp-configs/ai-platform/Adaptive-Graph-of-Thoughts-MCP-server.json +17 -0
- package/mcp-configs/ai-platform/ai-counsel.json +17 -0
- package/mcp-configs/ai-platform/atlas-mcp-server.json +17 -0
- package/mcp-configs/ai-platform/counsel-mcp.json +17 -0
- package/mcp-configs/ai-platform/cross-llm-mcp.json +17 -0
- package/mcp-configs/ai-platform/gptr-mcp.json +17 -0
- package/mcp-configs/browser/decipher-research-agent.json +17 -0
- package/mcp-configs/browser/deep-research.json +17 -0
- package/mcp-configs/browser/everything-claude-code.json +17 -0
- package/mcp-configs/browser/gpt-researcher.json +17 -0
- package/mcp-configs/browser/heurist-agent-framework.json +17 -0
- package/mcp-configs/data-platform/4everland-hosting-mcp.json +17 -0
- package/mcp-configs/data-platform/context-keeper.json +17 -0
- package/mcp-configs/data-platform/context7.json +19 -0
- package/mcp-configs/data-platform/contextstream-mcp.json +17 -0
- package/mcp-configs/data-platform/email-mcp.json +17 -0
- package/mcp-configs/note-knowledge/ApeRAG.json +17 -0
- package/mcp-configs/note-knowledge/In-Memoria.json +17 -0
- package/mcp-configs/note-knowledge/agent-memory.json +17 -0
- package/mcp-configs/note-knowledge/aimemo.json +17 -0
- package/mcp-configs/note-knowledge/biel-mcp.json +19 -0
- package/mcp-configs/note-knowledge/cognee.json +17 -0
- package/mcp-configs/note-knowledge/context-awesome.json +17 -0
- package/mcp-configs/note-knowledge/context-mcp.json +17 -0
- package/mcp-configs/note-knowledge/conversation-handoff-mcp.json +17 -0
- package/mcp-configs/note-knowledge/cortex.json +17 -0
- package/mcp-configs/note-knowledge/devrag.json +17 -0
- package/mcp-configs/note-knowledge/easy-obsidian-mcp.json +17 -0
- package/mcp-configs/note-knowledge/engram.json +17 -0
- package/mcp-configs/note-knowledge/gnosis-mcp.json +17 -0
- package/mcp-configs/note-knowledge/graphlit-mcp-server.json +19 -0
- package/mcp-configs/reference-mgr/arxiv-cli.json +17 -0
- package/mcp-configs/reference-mgr/arxiv-search-mcp.json +17 -0
- package/mcp-configs/reference-mgr/chiken.json +17 -0
- package/mcp-configs/reference-mgr/claude-scholar.json +17 -0
- package/mcp-configs/reference-mgr/devonthink-mcp.json +17 -0
- package/mcp-configs/registry.json +447 -0
- package/openclaw.plugin.json +21 -0
- package/package.json +61 -0
- package/skills/analysis/dataviz/color-accessibility-guide/SKILL.md +230 -0
- package/skills/analysis/dataviz/geospatial-viz-guide/SKILL.md +218 -0
- package/skills/analysis/dataviz/interactive-viz-guide/SKILL.md +287 -0
- package/skills/analysis/dataviz/network-visualization-guide/SKILL.md +195 -0
- package/skills/analysis/dataviz/publication-figures-guide/SKILL.md +238 -0
- package/skills/analysis/dataviz/python-dataviz-guide/SKILL.md +195 -0
- package/skills/analysis/econometrics/causal-inference-guide/SKILL.md +197 -0
- package/skills/analysis/econometrics/iv-regression-guide/SKILL.md +198 -0
- package/skills/analysis/econometrics/panel-data-guide/SKILL.md +274 -0
- package/skills/analysis/econometrics/robustness-checks/SKILL.md +250 -0
- package/skills/analysis/econometrics/stata-regression/SKILL.md +117 -0
- package/skills/analysis/econometrics/time-series-guide/SKILL.md +235 -0
- package/skills/analysis/statistics/bayesian-statistics-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/hypothesis-testing-guide/SKILL.md +210 -0
- package/skills/analysis/statistics/meta-analysis-guide/SKILL.md +206 -0
- package/skills/analysis/statistics/nonparametric-tests-guide/SKILL.md +221 -0
- package/skills/analysis/statistics/power-analysis-guide/SKILL.md +240 -0
- package/skills/analysis/statistics/sem-guide/SKILL.md +231 -0
- package/skills/analysis/statistics/survival-analysis-guide/SKILL.md +195 -0
- package/skills/analysis/wrangling/missing-data-handling/SKILL.md +224 -0
- package/skills/analysis/wrangling/pandas-data-wrangling/SKILL.md +242 -0
- package/skills/analysis/wrangling/questionnaire-design-guide/SKILL.md +234 -0
- package/skills/analysis/wrangling/text-mining-guide/SKILL.md +225 -0
- package/skills/domains/ai-ml/computer-vision-guide/SKILL.md +213 -0
- package/skills/domains/ai-ml/deep-learning-papers-guide/SKILL.md +200 -0
- package/skills/domains/ai-ml/llm-evaluation-guide/SKILL.md +194 -0
- package/skills/domains/ai-ml/prompt-engineering-research/SKILL.md +233 -0
- package/skills/domains/ai-ml/reinforcement-learning-guide/SKILL.md +254 -0
- package/skills/domains/ai-ml/transformer-architecture-guide/SKILL.md +233 -0
- package/skills/domains/biomedical/clinical-research-guide/SKILL.md +232 -0
- package/skills/domains/biomedical/clinicaltrials-api/SKILL.md +177 -0
- package/skills/domains/biomedical/epidemiology-guide/SKILL.md +200 -0
- package/skills/domains/biomedical/genomics-analysis-guide/SKILL.md +270 -0
- package/skills/domains/business/market-analysis-guide/SKILL.md +112 -0
- package/skills/domains/business/strategic-management-guide/SKILL.md +154 -0
- package/skills/domains/chemistry/computational-chemistry-guide/SKILL.md +266 -0
- package/skills/domains/chemistry/retrosynthesis-guide/SKILL.md +215 -0
- package/skills/domains/cs/algorithms-complexity-guide/SKILL.md +194 -0
- package/skills/domains/cs/dblp-api/SKILL.md +129 -0
- package/skills/domains/cs/software-engineering-research/SKILL.md +218 -0
- package/skills/domains/ecology/biodiversity-data-guide/SKILL.md +296 -0
- package/skills/domains/ecology/conservation-biology-guide/SKILL.md +198 -0
- package/skills/domains/ecology/gbif-api/SKILL.md +158 -0
- package/skills/domains/ecology/inaturalist-api/SKILL.md +173 -0
- package/skills/domains/economics/behavioral-economics-guide/SKILL.md +239 -0
- package/skills/domains/economics/development-economics-guide/SKILL.md +181 -0
- package/skills/domains/economics/fred-api/SKILL.md +189 -0
- package/skills/domains/education/curriculum-design-guide/SKILL.md +144 -0
- package/skills/domains/education/learning-science-guide/SKILL.md +150 -0
- package/skills/domains/finance/financial-data-analysis/SKILL.md +152 -0
- package/skills/domains/finance/quantitative-finance-guide/SKILL.md +151 -0
- package/skills/domains/geoscience/climate-science-guide/SKILL.md +158 -0
- package/skills/domains/geoscience/gis-remote-sensing-guide/SKILL.md +129 -0
- package/skills/domains/humanities/digital-humanities-guide/SKILL.md +181 -0
- package/skills/domains/humanities/philosophy-research-guide/SKILL.md +148 -0
- package/skills/domains/law/courtlistener-api/SKILL.md +213 -0
- package/skills/domains/law/legal-research-guide/SKILL.md +250 -0
- package/skills/domains/math/linear-algebra-applications/SKILL.md +227 -0
- package/skills/domains/math/numerical-methods-guide/SKILL.md +236 -0
- package/skills/domains/math/oeis-api/SKILL.md +158 -0
- package/skills/domains/pharma/clinical-pharmacology-guide/SKILL.md +165 -0
- package/skills/domains/pharma/drug-development-guide/SKILL.md +177 -0
- package/skills/domains/physics/computational-physics-guide/SKILL.md +300 -0
- package/skills/domains/physics/nasa-ads-api/SKILL.md +150 -0
- package/skills/domains/physics/quantum-computing-guide/SKILL.md +234 -0
- package/skills/domains/social-science/social-research-methods/SKILL.md +194 -0
- package/skills/domains/social-science/survey-research-guide/SKILL.md +182 -0
- package/skills/literature/discovery/citation-alert-guide/SKILL.md +154 -0
- package/skills/literature/discovery/conference-proceedings-guide/SKILL.md +142 -0
- package/skills/literature/discovery/literature-mapping-guide/SKILL.md +175 -0
- package/skills/literature/discovery/paper-tracking-guide/SKILL.md +211 -0
- package/skills/literature/discovery/rss-paper-feeds/SKILL.md +214 -0
- package/skills/literature/discovery/semantic-scholar-recs-guide/SKILL.md +164 -0
- package/skills/literature/fulltext/doaj-api/SKILL.md +120 -0
- package/skills/literature/fulltext/interlibrary-loan-guide/SKILL.md +163 -0
- package/skills/literature/fulltext/open-access-guide/SKILL.md +183 -0
- package/skills/literature/fulltext/pmc-oai-api/SKILL.md +184 -0
- package/skills/literature/fulltext/preprint-servers-guide/SKILL.md +128 -0
- package/skills/literature/fulltext/repository-harvesting-guide/SKILL.md +207 -0
- package/skills/literature/fulltext/unpaywall-api/SKILL.md +113 -0
- package/skills/literature/metadata/altmetrics-guide/SKILL.md +132 -0
- package/skills/literature/metadata/citation-network-guide/SKILL.md +236 -0
- package/skills/literature/metadata/crossref-api/SKILL.md +133 -0
- package/skills/literature/metadata/datacite-api/SKILL.md +126 -0
- package/skills/literature/metadata/doi-resolution-guide/SKILL.md +168 -0
- package/skills/literature/metadata/h-index-guide/SKILL.md +183 -0
- package/skills/literature/metadata/journal-metrics-guide/SKILL.md +188 -0
- package/skills/literature/metadata/opencitations-api/SKILL.md +128 -0
- package/skills/literature/metadata/orcid-api/SKILL.md +136 -0
- package/skills/literature/metadata/orcid-integration-guide/SKILL.md +178 -0
- package/skills/literature/search/arxiv-api/SKILL.md +95 -0
- package/skills/literature/search/biorxiv-api/SKILL.md +123 -0
- package/skills/literature/search/boolean-search-guide/SKILL.md +199 -0
- package/skills/literature/search/citation-chaining-guide/SKILL.md +148 -0
- package/skills/literature/search/database-comparison-guide/SKILL.md +100 -0
- package/skills/literature/search/europe-pmc-api/SKILL.md +120 -0
- package/skills/literature/search/google-scholar-guide/SKILL.md +182 -0
- package/skills/literature/search/mesh-terms-guide/SKILL.md +164 -0
- package/skills/literature/search/openalex-api/SKILL.md +134 -0
- package/skills/literature/search/pubmed-api/SKILL.md +130 -0
- package/skills/literature/search/scientify-literature-survey/SKILL.md +203 -0
- package/skills/literature/search/semantic-scholar-api/SKILL.md +134 -0
- package/skills/literature/search/systematic-search-strategy/SKILL.md +214 -0
- package/skills/research/automation/ai-scientist-guide/SKILL.md +228 -0
- package/skills/research/automation/data-collection-automation/SKILL.md +248 -0
- package/skills/research/automation/research-workflow-automation/SKILL.md +266 -0
- package/skills/research/deep-research/meta-synthesis-guide/SKILL.md +174 -0
- package/skills/research/deep-research/research-cog/SKILL.md +153 -0
- package/skills/research/deep-research/scoping-review-guide/SKILL.md +217 -0
- package/skills/research/deep-research/systematic-review-guide/SKILL.md +250 -0
- package/skills/research/funding/figshare-api/SKILL.md +163 -0
- package/skills/research/funding/grant-writing-guide/SKILL.md +233 -0
- package/skills/research/funding/nsf-grant-guide/SKILL.md +206 -0
- package/skills/research/funding/open-science-guide/SKILL.md +255 -0
- package/skills/research/funding/zenodo-api/SKILL.md +174 -0
- package/skills/research/methodology/action-research-guide/SKILL.md +201 -0
- package/skills/research/methodology/experimental-design-guide/SKILL.md +236 -0
- package/skills/research/methodology/grad-school-guide/SKILL.md +182 -0
- package/skills/research/methodology/grounded-theory-guide/SKILL.md +171 -0
- package/skills/research/methodology/mixed-methods-guide/SKILL.md +208 -0
- package/skills/research/methodology/qualitative-research-guide/SKILL.md +234 -0
- package/skills/research/methodology/scientify-idea-generation/SKILL.md +222 -0
- package/skills/research/paper-review/paper-reading-assistant/SKILL.md +266 -0
- package/skills/research/paper-review/peer-review-guide/SKILL.md +227 -0
- package/skills/research/paper-review/rebuttal-writing-guide/SKILL.md +185 -0
- package/skills/research/paper-review/scientify-write-review-paper/SKILL.md +209 -0
- package/skills/tools/code-exec/jupyter-notebook-guide/SKILL.md +178 -0
- package/skills/tools/code-exec/python-reproducibility-guide/SKILL.md +341 -0
- package/skills/tools/code-exec/r-reproducibility-guide/SKILL.md +236 -0
- package/skills/tools/code-exec/sandbox-execution-guide/SKILL.md +221 -0
- package/skills/tools/diagram/mermaid-diagram-guide/SKILL.md +269 -0
- package/skills/tools/diagram/plantuml-guide/SKILL.md +397 -0
- package/skills/tools/diagram/scientific-illustration-guide/SKILL.md +225 -0
- package/skills/tools/document/anystyle-api/SKILL.md +199 -0
- package/skills/tools/document/grobid-pdf-parsing/SKILL.md +294 -0
- package/skills/tools/document/markdown-academic-guide/SKILL.md +217 -0
- package/skills/tools/document/pdf-extraction-guide/SKILL.md +321 -0
- package/skills/tools/knowledge-graph/knowledge-graph-construction/SKILL.md +306 -0
- package/skills/tools/knowledge-graph/ontology-design-guide/SKILL.md +214 -0
- package/skills/tools/knowledge-graph/rag-methodology-guide/SKILL.md +325 -0
- package/skills/tools/ocr-translate/formula-recognition-guide/SKILL.md +367 -0
- package/skills/tools/ocr-translate/handwriting-recognition-guide/SKILL.md +211 -0
- package/skills/tools/ocr-translate/latex-ocr-guide/SKILL.md +204 -0
- package/skills/tools/ocr-translate/multilingual-research-guide/SKILL.md +234 -0
- package/skills/tools/scraping/academic-web-scraping/SKILL.md +326 -0
- package/skills/tools/scraping/api-data-collection-guide/SKILL.md +301 -0
- package/skills/tools/scraping/web-scraping-ethics-guide/SKILL.md +250 -0
- package/skills/writing/citation/bibtex-management-guide/SKILL.md +246 -0
- package/skills/writing/citation/citation-style-guide/SKILL.md +248 -0
- package/skills/writing/citation/reference-manager-comparison/SKILL.md +208 -0
- package/skills/writing/citation/zotero-api/SKILL.md +188 -0
- package/skills/writing/composition/abstract-writing-guide/SKILL.md +188 -0
- package/skills/writing/composition/discussion-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/introduction-writing-guide/SKILL.md +194 -0
- package/skills/writing/composition/literature-review-writing/SKILL.md +196 -0
- package/skills/writing/composition/methods-section-guide/SKILL.md +185 -0
- package/skills/writing/composition/response-to-reviewers/SKILL.md +215 -0
- package/skills/writing/composition/scientific-writing-guide/SKILL.md +152 -0
- package/skills/writing/latex/bibliography-management-guide/SKILL.md +206 -0
- package/skills/writing/latex/latex-drawing-guide/SKILL.md +234 -0
- package/skills/writing/latex/latex-ecosystem-guide/SKILL.md +240 -0
- package/skills/writing/latex/math-typesetting-guide/SKILL.md +231 -0
- package/skills/writing/latex/overleaf-collaboration-guide/SKILL.md +211 -0
- package/skills/writing/latex/tikz-diagrams-guide/SKILL.md +211 -0
- package/skills/writing/polish/academic-translation-guide/SKILL.md +175 -0
- package/skills/writing/polish/academic-writing-refiner/SKILL.md +143 -0
- package/skills/writing/polish/ai-writing-humanizer/SKILL.md +178 -0
- package/skills/writing/polish/grammar-checker-guide/SKILL.md +184 -0
- package/skills/writing/polish/plagiarism-detection-guide/SKILL.md +167 -0
- package/skills/writing/templates/beamer-presentation-guide/SKILL.md +263 -0
- package/skills/writing/templates/conference-paper-template/SKILL.md +219 -0
- package/skills/writing/templates/thesis-template-guide/SKILL.md +200 -0
- package/skills/writing/templates/thesis-writing-guide/SKILL.md +220 -0
- package/src/tools/arxiv.ts +131 -0
- package/src/tools/crossref.ts +112 -0
- package/src/tools/openalex.ts +174 -0
- package/src/tools/pubmed.ts +166 -0
- package/src/tools/semantic-scholar.ts +108 -0
- package/src/tools/unpaywall.ts +58 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: scientific-writing-guide
|
|
3
|
+
description: "Curated tools and techniques for scientific writing beyond LaTeX"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🖊"
|
|
7
|
+
category: "writing"
|
|
8
|
+
subcategory: "composition"
|
|
9
|
+
keywords: ["academic writing style", "scientific writing", "formal English", "paper title writing", "abstract writing"]
|
|
10
|
+
source: "https://github.com/writing-resources/awesome-scientific-writing"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Scientific Writing Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Scientific writing is a specialized skill that demands clarity, precision, and adherence to disciplinary conventions. Whether you are drafting a journal article, conference paper, or grant proposal, the quality of your prose directly influences how reviewers and readers perceive your research.
|
|
18
|
+
|
|
19
|
+
This guide distills best practices from the awesome-scientific-writing community (920+ stars) and supplements them with actionable techniques for structuring papers, writing compelling titles and abstracts, choosing the right authoring tools, and polishing manuscripts to publication quality. The focus is on practical, tool-agnostic advice that works across STEM and social-science disciplines.
|
|
20
|
+
|
|
21
|
+
Modern scientific writing extends well beyond LaTeX. Markdown-based workflows (Pandoc, Quarto, Jupyter Book), collaborative platforms (Overleaf, HackMD), and reference managers (Zotero, Paperpile) have reshaped how researchers draft and publish. This skill helps you navigate these options and adopt a workflow that fits your team.
|
|
22
|
+
|
|
23
|
+
## Structuring a Research Paper
|
|
24
|
+
|
|
25
|
+
A well-structured paper guides the reader from problem to contribution with minimal friction. The standard IMRaD (Introduction, Methods, Results, and Discussion) skeleton remains the default for empirical work, but variations exist for theoretical, review, and systems papers.
|
|
26
|
+
|
|
27
|
+
### The IMRaD Skeleton
|
|
28
|
+
|
|
29
|
+
| Section | Purpose | Typical Length |
|
|
30
|
+
|---------|---------|---------------|
|
|
31
|
+
| Title | Concise summary of contribution | 8-15 words |
|
|
32
|
+
| Abstract | Self-contained overview | 150-300 words |
|
|
33
|
+
| Introduction | Context, gap, contribution | 1-2 pages |
|
|
34
|
+
| Related Work | Position within the field | 1-2 pages |
|
|
35
|
+
| Methods | Reproducible description | 2-4 pages |
|
|
36
|
+
| Results | Empirical findings | 2-3 pages |
|
|
37
|
+
| Discussion | Interpretation and limitations | 1-2 pages |
|
|
38
|
+
| Conclusion | Takeaways and future work | 0.5-1 page |
|
|
39
|
+
|
|
40
|
+
### Step-by-Step Drafting Process
|
|
41
|
+
|
|
42
|
+
1. **Outline first.** Write one sentence per section summarizing its core message.
|
|
43
|
+
2. **Draft figures and tables early.** These anchor your results and drive the narrative.
|
|
44
|
+
3. **Write Methods before Results.** Describing what you did is easier than interpreting outcomes.
|
|
45
|
+
4. **Draft the Introduction last.** By then you know exactly what contribution to advertise.
|
|
46
|
+
5. **Iterate on the Abstract.** It is the single most-read part of any paper.
|
|
47
|
+
|
|
48
|
+
## Writing Titles and Abstracts
|
|
49
|
+
|
|
50
|
+
### Titles
|
|
51
|
+
|
|
52
|
+
A strong title is specific, informative, and free of jargon abbreviations. Compare:
|
|
53
|
+
|
|
54
|
+
- Weak: "A Study of Neural Networks for NLP"
|
|
55
|
+
- Strong: "Attention Is All You Need: Replacing Recurrence with Self-Attention for Sequence Transduction"
|
|
56
|
+
|
|
57
|
+
Rules of thumb:
|
|
58
|
+
|
|
59
|
+
- Include the method and the domain.
|
|
60
|
+
- Avoid questions unless the answer is surprising.
|
|
61
|
+
- Keep it under 15 words for most venues.
|
|
62
|
+
|
|
63
|
+
### Abstracts
|
|
64
|
+
|
|
65
|
+
Use the four-sentence abstract formula:
|
|
66
|
+
|
|
67
|
+
1. **Context** -- What is the broad problem area?
|
|
68
|
+
2. **Gap** -- What specific problem remains unsolved?
|
|
69
|
+
3. **Approach** -- What did you do?
|
|
70
|
+
4. **Result** -- What did you find, and why does it matter?
|
|
71
|
+
|
|
72
|
+
Example template:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
[Domain] faces the challenge of [problem]. Existing approaches [limitation].
|
|
76
|
+
We propose [method], which [key innovation]. Experiments on [benchmarks]
|
|
77
|
+
show that [method] achieves [metric improvements], demonstrating [significance].
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Authoring Tools and Workflows
|
|
81
|
+
|
|
82
|
+
### Markdown + Pandoc Pipeline
|
|
83
|
+
|
|
84
|
+
For researchers who prefer plain text and version control:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Convert Markdown to PDF via LaTeX
|
|
88
|
+
pandoc paper.md \
|
|
89
|
+
--citeproc \
|
|
90
|
+
--bibliography refs.bib \
|
|
91
|
+
--csl ieee.csl \
|
|
92
|
+
--pdf-engine=xelatex \
|
|
93
|
+
-o paper.pdf
|
|
94
|
+
|
|
95
|
+
# Convert to DOCX for collaborators
|
|
96
|
+
pandoc paper.md \
|
|
97
|
+
--citeproc \
|
|
98
|
+
--bibliography refs.bib \
|
|
99
|
+
-o paper.docx
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Quarto for Reproducible Documents
|
|
103
|
+
|
|
104
|
+
Quarto extends R Markdown to Python, Julia, and Observable JS:
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
# _quarto.yml
|
|
108
|
+
project:
|
|
109
|
+
type: manuscript
|
|
110
|
+
|
|
111
|
+
manuscript:
|
|
112
|
+
article: paper.qmd
|
|
113
|
+
|
|
114
|
+
format:
|
|
115
|
+
html: default
|
|
116
|
+
pdf:
|
|
117
|
+
template: elsevier.tex
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Tool Comparison
|
|
121
|
+
|
|
122
|
+
| Tool | Best For | Collaboration | Version Control |
|
|
123
|
+
|------|----------|---------------|-----------------|
|
|
124
|
+
| Overleaf | LaTeX teams | Real-time | Git integration |
|
|
125
|
+
| Quarto | Code + prose | Git | Native |
|
|
126
|
+
| Google Docs | Non-technical coauthors | Real-time | Suggest mode |
|
|
127
|
+
| Typst | Fast typesetting | Git | Native |
|
|
128
|
+
|
|
129
|
+
## Common Pitfalls and How to Avoid Them
|
|
130
|
+
|
|
131
|
+
1. **Passive voice overuse.** "The experiment was conducted" vs. "We conducted the experiment." Active voice is shorter and clearer.
|
|
132
|
+
2. **Hedging inflation.** One "may" per paragraph is enough. Stacking "might potentially possibly" weakens your claims.
|
|
133
|
+
3. **Undefined acronyms.** Always expand on first use: "Large Language Model (LLM)."
|
|
134
|
+
4. **Figure-text mismatch.** Every figure must be referenced in the text, and the text must add interpretation beyond what the figure shows.
|
|
135
|
+
5. **Citation dumps.** "[1-15]" without commentary is unhelpful. Group citations by contribution type: "Prior work on X [1,2] addressed Y, while [3,4] focused on Z."
|
|
136
|
+
|
|
137
|
+
## Best Practices
|
|
138
|
+
|
|
139
|
+
- **Write every day.** Even 30 minutes of daily writing accumulates faster than weekend marathons.
|
|
140
|
+
- **Use a reference manager.** Zotero or Paperpile with browser extensions save hours of manual BibTeX entry.
|
|
141
|
+
- **Get feedback early.** Share outlines and rough drafts before polishing prose.
|
|
142
|
+
- **Read your paper aloud.** Awkward phrasing becomes obvious when spoken.
|
|
143
|
+
- **Check venue requirements before submission.** Page limits, formatting templates, and supplementary material policies vary widely.
|
|
144
|
+
- **Use grammar tools as a second pass.** Grammarly, LanguageTool, or Writefull catch errors humans miss, but do not replace human review.
|
|
145
|
+
|
|
146
|
+
## References
|
|
147
|
+
|
|
148
|
+
- [awesome-scientific-writing](https://github.com/writing-resources/awesome-scientific-writing) -- Curated list of tools and resources (920+ stars)
|
|
149
|
+
- [How to Write a Great Research Paper](https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/) -- Simon Peyton Jones, Microsoft Research
|
|
150
|
+
- [The Science of Scientific Writing](https://www.americanscientist.org/blog/the-long-view/the-science-of-scientific-writing) -- Gopen and Swan, American Scientist
|
|
151
|
+
- [Improving Your Scientific Writing](https://lijunsun.github.io/files/ScientificWritingV39.pdf) -- Lijun Sun, McGill University
|
|
152
|
+
- [Three Sins of Authors in CS and Math](http://www.cs.cmu.edu/~jrs/sins.html) -- Jonathan Shewchuk, UC Berkeley
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bibliography-management-guide
|
|
3
|
+
description: "Manage references with BibLaTeX, natbib, and LaTeX bibliography styles"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "bookmark_tabs"
|
|
7
|
+
category: "writing"
|
|
8
|
+
subcategory: "latex"
|
|
9
|
+
keywords: ["BibLaTeX", "natbib", "bibliography", "BibTeX", "citation styles", "reference management"]
|
|
10
|
+
source: "wentor-research-plugins"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Bibliography Management Guide
|
|
14
|
+
|
|
15
|
+
A skill for managing references in LaTeX using BibLaTeX, natbib, and traditional BibTeX. Covers bibliography database setup, citation commands, style selection, and troubleshooting common bibliography compilation issues.
|
|
16
|
+
|
|
17
|
+
## Choosing a Bibliography System
|
|
18
|
+
|
|
19
|
+
### BibLaTeX vs. natbib vs. Traditional BibTeX
|
|
20
|
+
|
|
21
|
+
| Feature | BibLaTeX + Biber | natbib + BibTeX | Traditional BibTeX |
|
|
22
|
+
|---------|-----------------|----------------|-------------------|
|
|
23
|
+
| Backend | Biber | BibTeX | BibTeX |
|
|
24
|
+
| Unicode support | Full | Limited | Limited |
|
|
25
|
+
| Citation styles | Highly customizable | Style-dependent | .bst files |
|
|
26
|
+
| Multi-bibliography | Built-in | Requires hacks | Difficult |
|
|
27
|
+
| Date handling | Advanced (circa, ranges) | Basic | Basic |
|
|
28
|
+
| Recommended for | New projects | Legacy journals | Minimal setups |
|
|
29
|
+
|
|
30
|
+
## BibLaTeX Setup
|
|
31
|
+
|
|
32
|
+
### Basic Configuration
|
|
33
|
+
|
|
34
|
+
```latex
|
|
35
|
+
\documentclass{article}
|
|
36
|
+
\usepackage[
|
|
37
|
+
backend=biber,
|
|
38
|
+
style=authoryear, % or numeric, apa, ieee, chem-acs, etc.
|
|
39
|
+
sorting=nyt, % name, year, title
|
|
40
|
+
maxcitenames=2, % "Author et al." after 2 names
|
|
41
|
+
giveninits=true % First name initials
|
|
42
|
+
]{biblatex}
|
|
43
|
+
|
|
44
|
+
\addbibresource{references.bib}
|
|
45
|
+
|
|
46
|
+
\begin{document}
|
|
47
|
+
Some claim \parencite{smith2024}.
|
|
48
|
+
\textcite{jones2023} disagrees.
|
|
49
|
+
|
|
50
|
+
\printbibliography
|
|
51
|
+
\end{document}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Common BibLaTeX Citation Commands
|
|
55
|
+
|
|
56
|
+
```latex
|
|
57
|
+
\parencite{key} % (Author, 2024)
|
|
58
|
+
\textcite{key} % Author (2024)
|
|
59
|
+
\autocite{key} % Context-dependent (adapts to style)
|
|
60
|
+
\cite{key} % Basic cite (style-dependent)
|
|
61
|
+
\footcite{key} % Citation in footnote
|
|
62
|
+
\cites{k1}{k2} % Multiple sources: (Author1; Author2)
|
|
63
|
+
\parencite[p.~42]{key} % With page number: (Author, 2024, p. 42)
|
|
64
|
+
\parencite[see][]{key} % With prefix: (see Author, 2024)
|
|
65
|
+
\nocite{key} % Add to bibliography without citing in text
|
|
66
|
+
\nocite{*} % Include ALL entries from .bib file
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Popular BibLaTeX Styles
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
authoryear -- Smith (2024), standard humanities/social science
|
|
73
|
+
numeric -- [1], standard science/engineering
|
|
74
|
+
apa -- APA 7th edition (requires biblatex-apa package)
|
|
75
|
+
ieee -- IEEE numbered style
|
|
76
|
+
chem-acs -- American Chemical Society
|
|
77
|
+
phys -- Physical Review style
|
|
78
|
+
chicago -- Chicago Manual of Style
|
|
79
|
+
mla -- Modern Language Association
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## The .bib Database
|
|
83
|
+
|
|
84
|
+
### Entry Types and Fields
|
|
85
|
+
|
|
86
|
+
```bibtex
|
|
87
|
+
@article{smith2024attention,
|
|
88
|
+
author = {Smith, Jane A. and Doe, John B.},
|
|
89
|
+
title = {Attention Mechanisms in Transformer Models},
|
|
90
|
+
journal = {Journal of Machine Learning Research},
|
|
91
|
+
year = {2024},
|
|
92
|
+
volume = {25},
|
|
93
|
+
number = {3},
|
|
94
|
+
pages = {1--45},
|
|
95
|
+
doi = {10.1234/jmlr.2024.001}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@inproceedings{jones2023deep,
|
|
99
|
+
author = {Jones, Robert and Lee, Min},
|
|
100
|
+
title = {Deep Reinforcement Learning for Robotics},
|
|
101
|
+
booktitle = {Proceedings of the International Conference on Robotics},
|
|
102
|
+
year = {2023},
|
|
103
|
+
pages = {112--120},
|
|
104
|
+
publisher = {IEEE}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@book{garcia2022methods,
|
|
108
|
+
author = {Garcia, Maria},
|
|
109
|
+
title = {Research Methods in Social Science},
|
|
110
|
+
publisher = {Academic Press},
|
|
111
|
+
year = {2022},
|
|
112
|
+
edition = {4th},
|
|
113
|
+
address = {New York}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@phdthesis{chen2023optimization,
|
|
117
|
+
author = {Chen, Wei},
|
|
118
|
+
title = {Optimization Algorithms for Large-Scale Systems},
|
|
119
|
+
school = {Massachusetts Institute of Technology},
|
|
120
|
+
year = {2023}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## natbib Setup
|
|
125
|
+
|
|
126
|
+
### Configuration for Journals That Require natbib
|
|
127
|
+
|
|
128
|
+
```latex
|
|
129
|
+
\documentclass{article}
|
|
130
|
+
\usepackage[round, sort&compress]{natbib}
|
|
131
|
+
\bibliographystyle{plainnat} % or abbrvnat, unsrtnat, agsm, etc.
|
|
132
|
+
|
|
133
|
+
\begin{document}
|
|
134
|
+
Results were significant \citep{smith2024}.
|
|
135
|
+
\citet{jones2023} proposed a new framework.
|
|
136
|
+
|
|
137
|
+
\bibliography{references}
|
|
138
|
+
\end{document}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### natbib Commands
|
|
142
|
+
|
|
143
|
+
```latex
|
|
144
|
+
\citet{key} % Author (2024) -- textual
|
|
145
|
+
\citep{key} % (Author, 2024) -- parenthetical
|
|
146
|
+
\citet*{key} % All authors in text
|
|
147
|
+
\citep*{key} % All authors in parens
|
|
148
|
+
\citealt{key} % Author 2024 -- no parentheses
|
|
149
|
+
\citealp{key} % Author, 2024 -- no parentheses
|
|
150
|
+
\citep[p.~5]{key} % (Author, 2024, p. 5)
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Compilation Workflow
|
|
154
|
+
|
|
155
|
+
### Build Commands
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# BibLaTeX with Biber:
|
|
159
|
+
pdflatex manuscript.tex
|
|
160
|
+
biber manuscript
|
|
161
|
+
pdflatex manuscript.tex
|
|
162
|
+
pdflatex manuscript.tex
|
|
163
|
+
|
|
164
|
+
# natbib/BibTeX:
|
|
165
|
+
pdflatex manuscript.tex
|
|
166
|
+
bibtex manuscript
|
|
167
|
+
pdflatex manuscript.tex
|
|
168
|
+
pdflatex manuscript.tex
|
|
169
|
+
|
|
170
|
+
# With latexmk (handles all passes automatically):
|
|
171
|
+
latexmk -pdf manuscript.tex
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Troubleshooting Common Issues
|
|
175
|
+
|
|
176
|
+
### Frequent Errors and Fixes
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
Problem: "Citation undefined" warning
|
|
180
|
+
Cause: Biber/BibTeX has not been run, or key is misspelled
|
|
181
|
+
Fix: Run the full compilation chain; check .bib for matching key
|
|
182
|
+
|
|
183
|
+
Problem: Bibliography not appearing
|
|
184
|
+
Cause: Missing \printbibliography or \bibliography command
|
|
185
|
+
Fix: Add the appropriate command at the end of the document
|
|
186
|
+
|
|
187
|
+
Problem: "I found no \citation commands"
|
|
188
|
+
Cause: .aux file is stale or no \cite commands in the document
|
|
189
|
+
Fix: Delete .aux, .bbl, .bcf files and recompile from scratch
|
|
190
|
+
|
|
191
|
+
Problem: Unicode characters causing errors with BibTeX
|
|
192
|
+
Cause: BibTeX does not support Unicode natively
|
|
193
|
+
Fix: Switch to BibLaTeX + Biber, or use LaTeX escapes (\"o, \'{e})
|
|
194
|
+
|
|
195
|
+
Problem: Wrong citation style
|
|
196
|
+
Cause: Conflicting style options or wrong .bst file
|
|
197
|
+
Fix: Verify style= option matches your target journal requirements
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Best Practices
|
|
201
|
+
|
|
202
|
+
- Keep one master .bib file per project (or use your reference manager's export)
|
|
203
|
+
- Use consistent citation keys (authorYEARfirstword is a common convention)
|
|
204
|
+
- Always include DOIs -- many styles now render them as hyperlinks
|
|
205
|
+
- Validate your .bib file with `biber --validate-datamodel manuscript` before submission
|
|
206
|
+
- Export from Zotero or Mendeley rather than hand-typing entries to reduce errors
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: latex-drawing-guide
|
|
3
|
+
description: "TikZ and PGFPlots techniques for publication-quality scientific figures"
|
|
4
|
+
metadata:
|
|
5
|
+
openclaw:
|
|
6
|
+
emoji: "🎨"
|
|
7
|
+
category: "writing"
|
|
8
|
+
subcategory: "latex"
|
|
9
|
+
keywords: ["LaTeX typesetting", "LaTeX figure insertion", "LaTeX custom style", "scientific figure creation"]
|
|
10
|
+
source: "https://github.com/xinychen/awesome-latex-drawing"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# LaTeX Drawing Guide
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
|
|
17
|
+
Publication-quality figures are a critical component of scientific papers. While external tools like matplotlib or Inkscape can produce good results, drawing figures directly in LaTeX using TikZ and PGFPlots offers unique advantages: figures share the same fonts and styling as the document, scale perfectly at any resolution, and remain fully version-controllable as plain text.
|
|
18
|
+
|
|
19
|
+
This guide draws from the awesome-latex-drawing repository (2,000+ stars), which provides 30+ complete examples of LaTeX-drawn figures covering Bayesian networks, neural network architectures, function plots, tensor diagrams, and machine learning frameworks. The techniques here apply broadly to any discipline that needs diagrams, flowcharts, or data plots embedded in LaTeX documents.
|
|
20
|
+
|
|
21
|
+
Learning TikZ has a steep initial curve, but the investment pays off substantially for researchers who publish frequently. Once you build a library of reusable components, creating new figures becomes fast and consistent.
|
|
22
|
+
|
|
23
|
+
## TikZ Fundamentals
|
|
24
|
+
|
|
25
|
+
### Basic Setup
|
|
26
|
+
|
|
27
|
+
```latex
|
|
28
|
+
\usepackage{tikz}
|
|
29
|
+
\usetikzlibrary{arrows.meta, positioning, calc, shapes.geometric, fit}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Coordinate System and Basic Shapes
|
|
33
|
+
|
|
34
|
+
```latex
|
|
35
|
+
\begin{tikzpicture}
|
|
36
|
+
% Rectangle
|
|
37
|
+
\draw[fill=blue!20, rounded corners] (0,0) rectangle (3,2);
|
|
38
|
+
|
|
39
|
+
% Circle
|
|
40
|
+
\draw[fill=red!20] (5,1) circle (1cm);
|
|
41
|
+
|
|
42
|
+
% Arrow
|
|
43
|
+
\draw[-{Stealth[length=3mm]}, thick] (3.2,1) -- (3.8,1);
|
|
44
|
+
|
|
45
|
+
% Text node
|
|
46
|
+
\node at (1.5,1) {Input};
|
|
47
|
+
\node at (5,1) {Output};
|
|
48
|
+
\end{tikzpicture}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Node-Based Diagrams
|
|
52
|
+
|
|
53
|
+
Nodes are the building blocks of most scientific diagrams:
|
|
54
|
+
|
|
55
|
+
```latex
|
|
56
|
+
\begin{tikzpicture}[
|
|
57
|
+
block/.style={
|
|
58
|
+
rectangle, draw, fill=blue!10,
|
|
59
|
+
minimum width=2.5cm, minimum height=1cm,
|
|
60
|
+
rounded corners, font=\small
|
|
61
|
+
},
|
|
62
|
+
arrow/.style={-{Stealth[length=2.5mm]}, thick}
|
|
63
|
+
]
|
|
64
|
+
\node[block] (input) {Data Input};
|
|
65
|
+
\node[block, right=2cm of input] (process) {Processing};
|
|
66
|
+
\node[block, right=2cm of process] (output) {Results};
|
|
67
|
+
|
|
68
|
+
\draw[arrow] (input) -- (process);
|
|
69
|
+
\draw[arrow] (process) -- (output);
|
|
70
|
+
\end{tikzpicture>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Neural Network Diagrams
|
|
74
|
+
|
|
75
|
+
### Fully Connected Layer
|
|
76
|
+
|
|
77
|
+
```latex
|
|
78
|
+
\begin{tikzpicture}[
|
|
79
|
+
neuron/.style={circle, draw, fill=orange!30, minimum size=8mm},
|
|
80
|
+
conn/.style={->, gray!70}
|
|
81
|
+
]
|
|
82
|
+
% Input layer
|
|
83
|
+
\foreach \i in {1,...,3}
|
|
84
|
+
\node[neuron] (I\i) at (0, -\i*1.2) {$x_{\i}$};
|
|
85
|
+
|
|
86
|
+
% Hidden layer
|
|
87
|
+
\foreach \j in {1,...,4}
|
|
88
|
+
\node[neuron, fill=blue!20] (H\j) at (3, -\j*1.2+0.6) {$h_{\j}$};
|
|
89
|
+
|
|
90
|
+
% Output layer
|
|
91
|
+
\foreach \k in {1,...,2}
|
|
92
|
+
\node[neuron, fill=green!20] (O\k) at (6, -\k*1.2-0.6) {$y_{\k}$};
|
|
93
|
+
|
|
94
|
+
% Connections
|
|
95
|
+
\foreach \i in {1,...,3}
|
|
96
|
+
\foreach \j in {1,...,4}
|
|
97
|
+
\draw[conn] (I\i) -- (H\j);
|
|
98
|
+
\foreach \j in {1,...,4}
|
|
99
|
+
\foreach \k in {1,...,2}
|
|
100
|
+
\draw[conn] (H\j) -- (O\k);
|
|
101
|
+
|
|
102
|
+
% Labels
|
|
103
|
+
\node[above=0.3cm of I1] {\small Input};
|
|
104
|
+
\node[above=0.3cm of H1] {\small Hidden};
|
|
105
|
+
\node[above=0.3cm of O1] {\small Output};
|
|
106
|
+
\end{tikzpicture}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Transformer Block
|
|
110
|
+
|
|
111
|
+
```latex
|
|
112
|
+
\begin{tikzpicture}[
|
|
113
|
+
block/.style={rectangle, draw, rounded corners, minimum width=3cm,
|
|
114
|
+
minimum height=0.8cm, fill=#1, font=\small},
|
|
115
|
+
block/.default=gray!10,
|
|
116
|
+
arr/.style={-{Stealth}, thick}
|
|
117
|
+
]
|
|
118
|
+
\node[block=yellow!20] (attn) at (0,0) {Multi-Head Attention};
|
|
119
|
+
\node[block=blue!10] (norm1) at (0,1.3) {Add \& LayerNorm};
|
|
120
|
+
\node[block=green!20] (ffn) at (0,2.6) {Feed-Forward Network};
|
|
121
|
+
\node[block=blue!10] (norm2) at (0,3.9) {Add \& LayerNorm};
|
|
122
|
+
|
|
123
|
+
\draw[arr] (attn) -- (norm1);
|
|
124
|
+
\draw[arr] (norm1) -- (ffn);
|
|
125
|
+
\draw[arr] (ffn) -- (norm2);
|
|
126
|
+
|
|
127
|
+
% Residual connections
|
|
128
|
+
\draw[arr, dashed, gray] (attn.west) -- ++(-0.8,0) |- (norm1.west);
|
|
129
|
+
\draw[arr, dashed, gray] (ffn.west) -- ++(-0.8,0) |- (norm2.west);
|
|
130
|
+
\end{tikzpicture}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## PGFPlots for Data Visualization
|
|
134
|
+
|
|
135
|
+
### Setup
|
|
136
|
+
|
|
137
|
+
```latex
|
|
138
|
+
\usepackage{pgfplots}
|
|
139
|
+
\pgfplotsset{compat=1.18}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### Line Plot with Error Bars
|
|
143
|
+
|
|
144
|
+
```latex
|
|
145
|
+
\begin{tikzpicture}
|
|
146
|
+
\begin{axis}[
|
|
147
|
+
width=0.8\textwidth,
|
|
148
|
+
height=6cm,
|
|
149
|
+
xlabel={Epoch},
|
|
150
|
+
ylabel={Accuracy (\%)},
|
|
151
|
+
legend pos=south east,
|
|
152
|
+
grid=major,
|
|
153
|
+
grid style={gray!30},
|
|
154
|
+
tick label style={font=\small}
|
|
155
|
+
]
|
|
156
|
+
\addplot+[mark=o, thick, error bars/.cd, y dir=both, y explicit]
|
|
157
|
+
coordinates {
|
|
158
|
+
(1,72) +- (0,1.5)
|
|
159
|
+
(5,85) +- (0,1.2)
|
|
160
|
+
(10,91) +- (0,0.8)
|
|
161
|
+
(20,94) +- (0,0.5)
|
|
162
|
+
(50,96) +- (0,0.3)
|
|
163
|
+
};
|
|
164
|
+
\addlegendentry{Our Method}
|
|
165
|
+
|
|
166
|
+
\addplot+[mark=square, thick, dashed]
|
|
167
|
+
coordinates {(1,68) (5,79) (10,85) (20,89) (50,91)};
|
|
168
|
+
\addlegendentry{Baseline}
|
|
169
|
+
\end{axis}
|
|
170
|
+
\end{tikzpicture}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Bar Chart Comparing Methods
|
|
174
|
+
|
|
175
|
+
```latex
|
|
176
|
+
\begin{tikzpicture}
|
|
177
|
+
\begin{axis}[
|
|
178
|
+
ybar,
|
|
179
|
+
width=10cm, height=6cm,
|
|
180
|
+
symbolic x coords={BLEU, ROUGE-L, METEOR},
|
|
181
|
+
xtick=data,
|
|
182
|
+
ylabel={Score},
|
|
183
|
+
ymin=0, ymax=100,
|
|
184
|
+
bar width=12pt,
|
|
185
|
+
legend style={at={(0.5,1.05)}, anchor=south, legend columns=3},
|
|
186
|
+
nodes near coords,
|
|
187
|
+
nodes near coords style={font=\tiny}
|
|
188
|
+
]
|
|
189
|
+
\addplot coordinates {(BLEU,45.2) (ROUGE-L,62.1) (METEOR,38.7)};
|
|
190
|
+
\addplot coordinates {(BLEU,52.8) (ROUGE-L,68.4) (METEOR,44.3)};
|
|
191
|
+
\addplot coordinates {(BLEU,58.1) (ROUGE-L,71.9) (METEOR,49.6)};
|
|
192
|
+
\legend{Baseline, +Pretraining, +Fine-tuning}
|
|
193
|
+
\end{axis}
|
|
194
|
+
\end{tikzpicture}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Bayesian Network and Graphical Models
|
|
198
|
+
|
|
199
|
+
```latex
|
|
200
|
+
\begin{tikzpicture}[
|
|
201
|
+
latent/.style={circle, draw, minimum size=1cm, fill=gray!20},
|
|
202
|
+
observed/.style={circle, draw, minimum size=1cm, fill=white, thick},
|
|
203
|
+
plate/.style={rectangle, draw, dashed, rounded corners, inner sep=10pt},
|
|
204
|
+
arr/.style={-{Stealth}, thick}
|
|
205
|
+
]
|
|
206
|
+
\node[latent] (theta) at (0,2) {$\theta$};
|
|
207
|
+
\node[latent] (z) at (2,2) {$z_n$};
|
|
208
|
+
\node[observed] (x) at (2,0) {$x_n$};
|
|
209
|
+
\node[latent] (alpha) at (-1.5,2) {$\alpha$};
|
|
210
|
+
|
|
211
|
+
\draw[arr] (alpha) -- (theta);
|
|
212
|
+
\draw[arr] (theta) -- (z);
|
|
213
|
+
\draw[arr] (z) -- (x);
|
|
214
|
+
|
|
215
|
+
\node[plate, fit=(z)(x), label=below right:$N$] {};
|
|
216
|
+
\end{tikzpicture}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## Best Practices
|
|
220
|
+
|
|
221
|
+
- **Define styles globally.** Use `\tikzset{}` in the preamble so all figures share consistent colors and shapes.
|
|
222
|
+
- **Use relative positioning.** `right=2cm of nodeA` is more maintainable than absolute coordinates.
|
|
223
|
+
- **Externalize figures.** For large documents, use `\usetikzlibrary{external}` to cache compiled figures and speed up builds.
|
|
224
|
+
- **Match document fonts.** TikZ inherits the document font automatically -- this is a key advantage over external tools.
|
|
225
|
+
- **Export standalone figures.** Use the `standalone` document class to compile figures individually for reuse in presentations.
|
|
226
|
+
- **Keep source readable.** One node or drawing command per line, with comments explaining the visual structure.
|
|
227
|
+
|
|
228
|
+
## References
|
|
229
|
+
|
|
230
|
+
- [awesome-latex-drawing](https://github.com/xinychen/awesome-latex-drawing) -- 30+ LaTeX drawing examples (2,000+ stars)
|
|
231
|
+
- [TikZ and PGF Manual](https://tikz.dev/) -- Official documentation
|
|
232
|
+
- [PGFPlots Manual](https://pgfplots.net/) -- Data visualization in LaTeX
|
|
233
|
+
- [TikZ Examples](https://texample.net/tikz/examples/) -- Community gallery
|
|
234
|
+
- [LaTeX Drawing Tutorial](https://www.overleaf.com/learn/latex/TikZ_package) -- Overleaf tutorial
|