撰写 研究论文简历学位论文基金申请书研究论文 少些繁琐杂务。
Oleafly 是一个免费的桌面工作区,可用 LaTeX、Typst 和 Markdown 撰写论文。在同一处查找文献、管理引用,看着论文逐步成形。让 AI 助手修改某一节、制作插图或修复失败的构建,所有改动都可以先审阅。你的项目保存为你自己拥有的普通文件,编辑器可以搭配 AI 使用,也可以完全不用。
\[ E = h\nu \]\[ E = h\nu \]\[ \int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi} \]\[ \Delta G = \Delta H - T\Delta S \]\[ \Delta G = \Delta H - T\Delta S \]\[ a^2 + b^2 = c^2 \]

- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
ibitem{legoues2015manybugs}
main.tex:956
- Steps
- 1
- Input
- 5,144
- Output
- 467
- Runs
- 1
- Steps
- 3
- Tokens
- 39,035
Costs are estimates based on public model pricing, not billing totals.
Bring your own API key (OpenAI, Anthropic, Groq, and more) or run a model locally with Ollama. The assistant can read and edit files, compile your project, and verify the PDF.
Connect a providerRun a local model with Ollama
What would you like to do today?Working on "TeXFix-Bench: LaTeX Repair Bench..."
Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.
Perform bounded, local exploratory analysis of explicitly supported scientific files. Use for redacted CSV/TSV/JSON profiles; optional NumPy, HDF5, FASTA/FASTQ, and basic image metadata inspection; missingness/leakage audits; outlier and transformation sensitivity; and rigorous EDA report scaffolds. Other domain formats are reference-only and unknown formats fail closed.
Formulate evidence-bounded scientific questions, candidate hypotheses, rival explanations, causal or associational claims, discriminating predictions, measurements, and preregistration-ready analysis plans. Use when turning observations or preliminary findings into transparent, testable research plans without treating hypotheses as facts.
Working on "TeXFix-Bench: LaTeX Repair Bench..."
Claude Code
The energy-use comparison needs a supporting source. I found the claim in the introduction, but its citation covers detection accuracy. Your files are unchanged.
- satellite fire detection
- low-power sensor networks
- TinyML and quantized inference
I'll keep only results with verifiable DOI metadata.
write_filereferences.bibline 1
references.bibfirst change · L1@article{open_science2015, title = {Estimating the Reproducibility of Psychological Science},@article{giglio2003, author = {Giglio, Louis and Descloitres, Jacques and Justice, Christopher O.}, title = {An Enhanced Contextual Fire Detection Algorithm for {MODIS}}, journal = {Remote Sensing of Environment}, year = {2003}, doi = {10.1016/S0034-4257(03)00184-6}}replace_in_filemain.texline 21
main.texfirst change · L21Program repair benchmarks pair a defect with an executable oracle and afixed harness~\cite{just2014defects4j,legoues2015manybug}. SWE-bench extendsfixed harness~\cite{just2014defects4j,legoues2015manybugs}. SWE-bench extendsthe contract to repository-scale issues~\cite{jimenez2024swebench}.TeXFix-Bench studies a narrower contract: a system receives an existingTeXFix-Bench studies a narrower contract~\cite{zhu2022eqfix}: a system receivesSingle-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
@article{giglio2003, title = {An Enhanced Contextual Fire Detection Algorithm for MODIS}, year = {2003},}@article{schroeder2014, title = {The New VIIRS 375 m Active Fire Detection Data Product}, year = {2014},}@article{dampage2022, title = {Forest Fire Detection System Using Wireless Sensor Networks}, year = {2022},}@article{adumanu2018, title = {Energy-Harvesting Wireless Sensor Networks: A Review}, year = {2018},}@article{adelantado2017, title = {Understanding the Limits of LoRaWAN}, year = {2017},}@article{bai2018, title = {An Empirical Evaluation of Generic Convolutional Networks}, year = {2018},}@article{jacob2018, title = {Quantization and Training of Neural Networks}, year = {2018},}@article{ray2022, title = {A Review on TinyML}, year = {2022},}@article{geifman2017, title = {Selective Classification for Deep Neural Networks}, year = {2017},}Connect any providers you use below. Keys are stored locally only. Saving one sets it as the default.
You can switch between configured providers and models from the dropdown in the chat panel.
Used whenever you start a new chat. You can still switch models for an individual conversation from the chat panel.
Added to every AI request as your personal style and preferences. The assistant follows these on top of its built-in behavior. They can't override its tools or safety rules.
Allow PDF page capture for AILets the agent rasterize compiled pages for vision layout checks. Disable if you prefer not to send page images to your provider.
- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
Work stays in a separate workspace until you review and apply it.
Find papers on low-power wildfire sensing. Save a reading list with verified DOIs.
The original project stays unchanged until you apply reviewed files.
Preview every selected file before applying it.
research/reading-list.mdAddedPreview+ # Wildfire sensing: reading list + + ## Satellite fire detection + Giglio et al. (2003). An Enhanced Contextual Fire + Detection Algorithm for MODIS. + DOI: 10.1016/S0034-4257(03)00184-6 + + Use: background on satellite detection methods. + Check separately: claims about ground-sensor energy use.
Attention
\definecolor{c0F172A}{HTML}{0F172A}\definecolor{c1E293B}{HTML}{1E293B}\definecolor{cC7C7CC}{HTML}{C7C7CC}\definecolor{cCDEDD0}{HTML}{CDEDD0}\definecolor{cCFE8F8}{HTML}{CFE8F8}\definecolor{cDAD2F0}{HTML}{DAD2F0}\definecolor{cE9E9EC}{HTML}{E9E9EC}\definecolor{cEEF2C3}{HTML}{EEF2C3}\definecolor{cF9D7D9}{HTML}{F9D7D9}\definecolor{cFDE3C7}{HTML}{FDE3C7}\definecolor{cFFFFFF}{HTML}{FFFFFF}\begin{tikzpicture}[>={Triangle[length=0.313cm,width=0.313cm]}] \node (n1_mds37) at (6.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Inputs}; \node (n2_hnw3j) at (6.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Input Embedding}; \node (n3_x9vjf) at (4.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n4_aa0b6) at (6.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n5_lbeum) at (2.625,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n6_gr85r) at (6.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n7_it3d0) at (6.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n8_0ae9p) at (6.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n9_31jhg) at (6.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n11_3mv5b) at (1.875,-13.575) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n12_y6hil) at (16.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Outputs (shifted right)}; \node (n13_oukbf) at (16.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Output Embedding}; \node (n14_e6m10) at (16.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n15_te7fn) at (18.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n16_otz7n) at (19.875,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n17_nw4kz) at (16.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Masked Multi-Head Attention}; \node (n18_feep8) at (16.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n19_9lw0g) at (16.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n20_lz6h6) at (16.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n21_iyi8d) at (16.25,-8.825) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n22_hapki) at (16.25,-7.075) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n24_qwbl3) at (19.375,-11.825) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n25_isnp1) at (16.25,-4.8) [draw=c1E293B, line width=0.025cm, fill=cDAD2F0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Linear}; \node (n26_ggail) at (16.25,-2.8) [draw=c1E293B, line width=0.025cm, fill=cCDEDD0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Softmax}; \node (n27_76g5v) at (16.25,-0.875) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.5cm, minimum height=1.25cm] {Output Probabilities}; \begin{scope}[on background layer] \node (n10_ma9el) at (6.25,-13.575) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=7.65cm] {}; \node (n23_egiii) at (16.25,-11.7) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=11.4cm] {}; \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-21.25) -- (6.25,-20.75) -- (6.25,-21.15) -- (6.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-19.5) -- (6.25,-19) -- (6.25,-19.1) -- (6.25,-18.6); \draw[->, line width=0.05cm] (n3_x9vjf.east) to[out=0, in=180] (n4_aa0b6.west); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-17.75) -- (6.25,-17.25) -- (6.25,-17.4) -- (6.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-15.75) -- (6.25,-15.25) -- (6.25,-15.65) -- (6.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-14) -- (6.25,-13.5) -- (6.25,-13.65) -- (6.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-12) -- (6.25,-11.5) -- (6.25,-11.9) -- (6.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-21.25) -- (16.25,-20.75) -- (16.25,-21.15) -- (16.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-19.5) -- (16.25,-19) -- (16.25,-19.1) -- (16.25,-18.6); \draw[->, line width=0.05cm] (n15_te7fn.west) to[out=180, in=0] (n14_e6m10.east); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-17.75) -- (16.25,-17.25) -- (16.25,-17.4) -- (16.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-15.75) -- (16.25,-15.25) -- (16.25,-15.65) -- (16.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-14) -- (16.25,-13.5) -- (16.25,-13.65) -- (16.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-12) -- (16.25,-11.5) -- (16.25,-11.9) -- (16.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-10.25) -- (16.25,-9.75) -- (16.25,-9.9) -- (16.25,-9.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-8.25) -- (16.25,-7.75) -- (16.25,-8.15) -- (16.25,-7.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-6.5) -- (16.25,-6) -- (16.25,-5.925) -- (16.25,-5.85) -- (16.25,-5.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-4.25) -- (16.25,-3.75) -- (16.25,-3.85) -- (16.25,-3.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-2.25) -- (16.25,-1.75) -- (16.25,-2) -- (16.25,-1.5); \draw[->, line width=0.05cm, rounded corners=0.125cm] (8.375,-10.825) -- (8.875,-10.825) -- (11.25,-10.825) -- (11.25,-12.575) -- (13.625,-12.575) -- (14.125,-12.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (5.825,-18.175) -- (5.325,-18.175) -- (3.625,-18.175) -- (3.625,-14.575) -- (4.125,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (4.125,-14.575) -- (4.1,-14.575) -- (3.625,-14.575) -- (3.625,-10.825) -- (4.125,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.675,-18.175) -- (17.175,-18.175) -- (18.875,-18.175) -- (18.875,-14.575) -- (18.375,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-14.575) -- (18.875,-14.575) -- (18.875,-10.825) -- (18.4,-10.825) -- (18.375,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-10.825) -- (18.875,-10.825) -- (18.875,-7.075) -- (18.4,-7.075) -- (18.375,-7.075); \end{scope}\end{tikzpicture}Attention
\definecolor{c0F172A}{HTML}{0F172A}\definecolor{c1E293B}{HTML}{1E293B}\definecolor{cC7C7CC}{HTML}{C7C7CC}\definecolor{cCDEDD0}{HTML}{CDEDD0}\definecolor{cCFE8F8}{HTML}{CFE8F8}\definecolor{cDAD2F0}{HTML}{DAD2F0}\definecolor{cE9E9EC}{HTML}{E9E9EC}\definecolor{cEEF2C3}{HTML}{EEF2C3}\definecolor{cF9D7D9}{HTML}{F9D7D9}\definecolor{cFDE3C7}{HTML}{FDE3C7}\definecolor{cFFFFFF}{HTML}{FFFFFF}\begin{tikzpicture}[>={Triangle[length=0.313cm,width=0.313cm]}] \node (n1_mds37) at (6.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Inputs}; \node (n2_hnw3j) at (6.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Input Embedding}; \node (n3_x9vjf) at (4.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n4_aa0b6) at (6.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n5_lbeum) at (2.625,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n6_gr85r) at (6.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n7_it3d0) at (6.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n8_0ae9p) at (6.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n9_31jhg) at (6.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n11_3mv5b) at (1.875,-13.575) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n12_y6hil) at (16.25,-21.75) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1cm] {Outputs (shifted right)}; \node (n13_oukbf) at (16.25,-20.075) [draw=c1E293B, line width=0.025cm, fill=cF9D7D9, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Output Embedding}; \node (n14_e6m10) at (16.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {+}; \node (n15_te7fn) at (18.25,-18.175) [circle, draw=c1E293B, line width=0.025cm, fill=cFFFFFF, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=0.85cm, minimum height=0.85cm] {}; \node (n16_otz7n) at (19.875,-19.375) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=3.5cm, minimum height=1cm] {Positional Encoding}; \node (n17_nw4kz) at (16.25,-16.325) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Masked Multi-Head Attention}; \node (n18_feep8) at (16.25,-14.575) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n19_9lw0g) at (16.25,-12.575) [draw=c1E293B, line width=0.025cm, fill=cFDE3C7, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Multi-Head Attention}; \node (n20_lz6h6) at (16.25,-10.825) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n21_iyi8d) at (16.25,-8.825) [draw=c1E293B, line width=0.025cm, fill=cCFE8F8, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Feed Forward}; \node (n22_hapki) at (16.25,-7.075) [draw=c1E293B, line width=0.025cm, fill=cEEF2C3, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.15cm] {Add \& Norm}; \node (n24_qwbl3) at (19.375,-11.825) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=1.25cm, minimum height=0.75cm] {N×}; \node (n25_isnp1) at (16.25,-4.8) [draw=c1E293B, line width=0.025cm, fill=cDAD2F0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Linear}; \node (n26_ggail) at (16.25,-2.8) [draw=c1E293B, line width=0.025cm, fill=cCDEDD0, rounded corners=0.1cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.25cm, minimum height=1.1cm] {Softmax}; \node (n27_76g5v) at (16.25,-0.875) [text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=4.5cm, minimum height=1.25cm] {Output Probabilities}; \begin{scope}[on background layer] \node (n10_ma9el) at (6.25,-13.575) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=7.65cm] {}; \node (n23_egiii) at (16.25,-11.7) [draw=cC7C7CC, line width=0.025cm, fill=cE9E9EC, rounded corners=0.4cm, text=c0F172A, font=\rmfamily\fontsize{10}{12}\selectfont, inner sep=0pt, outer sep=0pt, minimum width=5.5cm, minimum height=11.4cm] {}; \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-21.25) -- (6.25,-20.75) -- (6.25,-21.15) -- (6.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-19.5) -- (6.25,-19) -- (6.25,-19.1) -- (6.25,-18.6); \draw[->, line width=0.05cm] (n3_x9vjf.east) to[out=0, in=180] (n4_aa0b6.west); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-17.75) -- (6.25,-17.25) -- (6.25,-17.4) -- (6.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-15.75) -- (6.25,-15.25) -- (6.25,-15.65) -- (6.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-14) -- (6.25,-13.5) -- (6.25,-13.65) -- (6.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (6.25,-12) -- (6.25,-11.5) -- (6.25,-11.9) -- (6.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-21.25) -- (16.25,-20.75) -- (16.25,-21.15) -- (16.25,-20.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-19.5) -- (16.25,-19) -- (16.25,-19.1) -- (16.25,-18.6); \draw[->, line width=0.05cm] (n15_te7fn.west) to[out=180, in=0] (n14_e6m10.east); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-17.75) -- (16.25,-17.25) -- (16.25,-17.4) -- (16.25,-16.9); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-15.75) -- (16.25,-15.25) -- (16.25,-15.65) -- (16.25,-15.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-14) -- (16.25,-13.5) -- (16.25,-13.65) -- (16.25,-13.15); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-12) -- (16.25,-11.5) -- (16.25,-11.9) -- (16.25,-11.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-10.25) -- (16.25,-9.75) -- (16.25,-9.9) -- (16.25,-9.4); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-8.25) -- (16.25,-7.75) -- (16.25,-8.15) -- (16.25,-7.65); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-6.5) -- (16.25,-6) -- (16.25,-5.925) -- (16.25,-5.85) -- (16.25,-5.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-4.25) -- (16.25,-3.75) -- (16.25,-3.85) -- (16.25,-3.35); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.25,-2.25) -- (16.25,-1.75) -- (16.25,-2) -- (16.25,-1.5); \draw[->, line width=0.05cm, rounded corners=0.125cm] (8.375,-10.825) -- (8.875,-10.825) -- (11.25,-10.825) -- (11.25,-12.575) -- (13.625,-12.575) -- (14.125,-12.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (5.825,-18.175) -- (5.325,-18.175) -- (3.625,-18.175) -- (3.625,-14.575) -- (4.125,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (4.125,-14.575) -- (4.1,-14.575) -- (3.625,-14.575) -- (3.625,-10.825) -- (4.125,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (16.675,-18.175) -- (17.175,-18.175) -- (18.875,-18.175) -- (18.875,-14.575) -- (18.375,-14.575); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-14.575) -- (18.875,-14.575) -- (18.875,-10.825) -- (18.4,-10.825) -- (18.375,-10.825); \draw[->, line width=0.05cm, rounded corners=0.125cm] (18.375,-10.825) -- (18.875,-10.825) -- (18.875,-7.075) -- (18.4,-7.075) -- (18.375,-7.075); \end{scope}\end{tikzpicture}Attention
Attention
@article{venkateshmurthy2026etb, author = {Venkateshmurthy, Prajwal S.}, title = {Engine-Transfer-Bench: An Evidence-Based Benchmark for Document Compilation Engine Selection}, journal = {arXiv preprint}, year = 2026, eprint = {2608.18329}, }
LaTeX (latexmk) · main.tex
9/13/2026, 4:57:36 PM
7 files · 183.8 KB · ded1c2ae
LaTeX (latexmk) · main.tex
9/13/2026, 3:52:03 PM
7 files · 183.8 KB · 157c1ffb
LaTeX (latexmk) · main.tex
9/6/2026, 4:22:40 PM
7 files · 183.7 KB · 891b7ee7
Filters apply to the project shelf immediately
Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Choose how this manuscript begins. Every part of it stays yours to change.

A study folder with sections, sources and review notes, and a first task that frames the question.

Continue a manuscript you already have: an archive, a Word or Markdown draft, or a GitHub repository.

Begin from a prepared layout for a journal article, thesis, report, poster or talk.
Data scientist focused on trustworthy machine learning, experimentation, and decision systems used by product and research teams.
- Built evaluation systems for large language models across safety and product quality.
- Designed experiments used to guide high-impact model launches.
- Developed ranking models and reliable offline evaluation pipelines.
- Partnered with product teams to improve marketplace search quality.
- Created retention models and executive experimentation dashboards.
Open evaluation templates for production ML systems.
Python package for reproducible causal inference workflows.
Languages: Python, R, SQL, PyTorch, JAX
Systems: Spark, dbt, BigQuery, Airflow, MLflow, Kubernetes
Data scientist focused on trustworthy machine learning, experimentation, and decision systems used by product and research teams.
- Built evaluation systems for large language models across safety and product quality.
- Designed experiments used to guide high-impact model launches.
- Developed ranking models and reliable offline evaluation pipelines.
- Partnered with product teams to improve marketplace search quality.
- Created retention models and executive experimentation dashboards.
Open evaluation templates for production ML systems.
Python package for reproducible causal inference workflows.
Languages: Python, R, SQL, PyTorch, JAX
Systems: Spark, dbt, BigQuery, Airflow, MLflow, Kubernetes
Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Product engineer bridging design systems and frontend infrastructure to build accessible, high-craft tools for creative teams.
- Led architecture for collaborative prototyping workflows used by millions.
- Created an accessible component platform shared across six product teams.
- Shipped core editor interactions and improved canvas rendering performance 42%.
- Partnered with design to establish product-wide interaction standards.
- Prototyped service experiences for health and education clients.
Open-source accessible color and typography toolkit.
Patterns for resilient collaborative interfaces.
Languages: TypeScript, React, Rust, Swift, Figma
Systems: WebGL, Canvas, design systems, accessibility, prototyping
Product engineer bridging design systems and frontend infrastructure to build accessible, high-craft tools for creative teams.
- Led architecture for collaborative prototyping workflows used by millions.
- Created an accessible component platform shared across six product teams.
- Shipped core editor interactions and improved canvas rendering performance 42%.
- Partnered with design to establish product-wide interaction standards.
- Prototyped service experiences for health and education clients.
Open-source accessible color and typography toolkit.
Patterns for resilient collaborative interfaces.
Languages: TypeScript, React, Rust, Swift, Figma
Systems: WebGL, Canvas, design systems, accessibility, prototyping
Research engineer building fast, expressive systems for scientific communication and reproducible technical publishing.
- Built incremental layout and diagnostics for a modern typesetting engine.
- Improved large-document render latency and editor feedback loops.
- Worked on text shaping, browser layout, and developer tooling.
- Published work on interactive document systems.
A small language server for technical documents.
Experiments in high-performance text layout.
Languages: Rust, C++, TypeScript, Python
Systems: Compilers, text layout, language servers, WebAssembly
\documentclass[11pt,letterpaper]{article}\usepackage[T1]{fontenc}\usepackage[margin=0.5in]{geometry}\usepackage{titlesec}\usepackage{enumitem}\usepackage{hyperref}% ATS-friendly: single column, real selectable text, no tables-for-layout,% embedded subset fonts. Linear reading order so parsers extract cleanly.\setlength{\parindent}{0pt}\pagenumbering{gobble}\hypersetup{colorlinks=true, urlcolor=black, linkcolor=black}\titleformat{\section}{\large\bfseries\uppercase}{}{0em}{}[\vspace{2pt}\titlerule]\titlespacing*{\section}{0pt}{8pt}{4pt}\setlist[itemize]{leftmargin=14pt, itemsep=1pt, topsep=2pt, parsep=0pt}% role{Title}{Company}{Location}{Dates}\newcommand{\role}[4]{% \textbf{#1} \hfill #2 \\ \textit{#3} \hfill \textit{#4}%}\begin{document}\begin{center} {\Huge \textbf{Alex Chen}}\\[3pt] \small Senior Software Engineer\\[2pt] \href{mailto:[email protected]}{[email protected]}\,$\cdot$\, (650) 555-0142\,$\cdot$\, Mountain View, CA\,$\cdot$\, \href{https://alexchen.dev}{alexchen.dev}\,$\cdot$\, \href{https://github.com/alexchen}{github.com/alexchen}\,$\cdot$\, \href{https://linkedin.com/in/alexchen}{linkedin.com/in/alexchen}\end{center}\vspace{2pt}\section*{Summary}Senior Software Engineer (L5) with 9+ years designing and operating large-scaledistributed systems. Deep experience in backend infrastructure, performance, andreliability, with a track record of shipping products used by hundreds ofmillions of users and mentoring engineers toward senior roles.\section*{Experience}\role{Senior Software Engineer (L5)}{Google}{Mountain View, CA}{Mar 2020 -- Present}\begin{itemize} \item Tech lead for a Search serving component handling 2M+ queries/second; drove a redesign that cut p99 latency 38\% and saved an estimated \$14M/year in compute. \item Designed and launched a globally-replicated feature store on Spanner backing 40+ ML models, adopted by 12 teams across Search and Ads. \item Led migration of a 300-service fleet to a new RPC framework, improving tail latency and reducing on-call pages by 45\%. \item Mentored 6 engineers (2 promoted to senior); ran the team's design-review and readability programs.\end{itemize}\vspace{3pt}\role{Software Engineer (L4)}{Google}{Mountain View, CA}{Jul 2017 -- Mar 2020}\begin{itemize} \item Built a real-time aggregation pipeline (C++, Flume) processing 8B events/day for a Search-quality dashboard used org-wide. \item Cut batch-job cost 30\% by reworking sharding and introducing incremental recomputation.\end{itemize}\vspace{3pt}\role{Software Engineer}{Stripe}{San Francisco, CA}{Aug 2015 -- Jun 2017}\begin{itemize} \item Shipped core ledger and reconciliation services for a payments platform processing \$60B+/year. \item Reduced a reconciliation run from 6 hours to 25 minutes via parallelization and a columnar store.\end{itemize}\section*{Selected Projects}\textbf{Ratel} \hfill \href{https://github.com/alexchen/ratel}{github.com/alexchen/ratel} \\\textit{Go, Raft, gRPC} --- open-source distributed rate limiter doing 4M+ decisions/sec/node; 1.5k GitHub stars.\par\vspace{4pt}\textbf{tql} \hfill \href{https://github.com/alexchen/tql}{github.com/alexchen/tql} \\\textit{Rust} --- a typed query builder for Postgres with compile-time-checked SQL.\section*{Education}\textbf{M.S. Computer Science} \hfill Stanford University \\\textit{2013 -- 2015} \hfill \textit{Focus: Distributed Systems}\par\vspace{4pt}\textbf{B.S. Computer Science} \hfill University of Illinois Urbana-Champaign \\\textit{2009 -- 2013} \hfill \textit{GPA: 3.9 / 4.0}\section*{Skills}\textbf{Languages:} C++, Go, Rust, Python, Java, SQL \\\textbf{Systems:} Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis \\\textbf{Focus:} Distributed systems, performance, reliability (SLOs), system design, mentoring\end{document}Senior Software Engineer (L5) with 9+ years designing and operating large-scale distributed systems. Deep experience in backend infrastructure, performance, and reliability.
- Tech lead for a Search serving component handling 2M+ queries/second; cut p99 latency 38%.
- Designed a globally replicated feature store on Spanner backing 40+ ML models.
- Led migration of a 300-service fleet to a new RPC framework; reduced on-call pages 45%.
- Mentored six engineers and ran the team’s design-review program.
- Built a real-time aggregation pipeline processing 8B events/day.
- Cut batch-job cost 30% with sharding and incremental computation.
- Shipped ledger and reconciliation services processing $60B+/year.
- Reduced a reconciliation run from six hours to 25 minutes.
Go, Raft, gRPC — distributed rate limiter doing 4M+ decisions/sec/node.
Rust — typed query builder for Postgres with compile-time-checked SQL.
Languages: C++, Go, Rust, Python, Java, SQL
Systems: Spanner, Bigtable, Kubernetes, Kafka, gRPC / Protobuf, Redis
Results
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 just2014defects4j.
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Evaluation method
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion.
Discussion and limitations
These results show why compilation and edit precision should be reported together, but they do not establish a universal model ranking jimenez2024swebench.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice.
Conclusion
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
- Language analysisCurrent project revision analyzed
- CompilingProducing and verifying PDF output
- Rendering PDFWaiting for verified compile output
Single-Fault LATEX Compilation Repair
Independent Researcher
San Jose, CA, USA
Abstract—Compilation repair for LaTeX is easy to score badly. A candidate may compile after deleting or hiding content, while exact source equality rejects valid alternative repairs. We present TeXFix-Bench, a controlled benchmark for repairing complete, broken LaTeX sources under a pinned engine. The generator applies 12 deterministic single-fault operators to 13 hand-authored seed documents. It retains 627 engine-validated rows, comprising 300 unique hard-track inputs and 67 unique warning-only inputs after hash deduplication.
Index Terms—automated program repair, LaTeX, benchmark, compilation, large language models, reproducibility
LaTeX compilation failures are a practical target for automated repair. A missing delimiter or misspelled control sequence can prevent a complete document from building, and the first reported diagnostic may be distant from the underlying fault. LLM-assisted writing systems now operate inside LaTeX editors , but their publications do not provide a public, engine-pinned evaluation of compilation-failure repair.
Program repair benchmarks pair a defect with an executable oracle and a fixed harness . TeXFix-Bench studies a narrower contract: a broken source document in, a repaired full source out, under a specified engine.
TexOCR-Bench evaluates page-image-to-LaTeX reconstruction , and EqFix repairs errors in individual equations by synthesizing rules from examples . Overfitting to a weak oracle is a known hazard .
A system receives one broken source file and returns one repaired source file. The engine, its version, and the build command are fixed for every attempt.
Every generated row passes an engine gate before it is retained, and duplicate broken sources are removed by SHA-256 so that no input is scored twice .
Compile Recovery requires a successful Tectonic 0.17.0 run and at least 0.80 token-level LCS similarity between text extracted from the candidate and reference PDFs. Normalized exact match sits beside it, because compilation alone cannot separate a faithful repair from a deletion .
Version 0.2 results on 86 distinct hard-track inputs. CR is intention-to-treat.
| System | CR | CR % | NEM | Fail |
| Identity | 0/86 | 0.0 | 0/86 | 0 |
| Rule | 34/86 | 39.5 | 28/86 | 0 |
| Qwen-7B + fb | 57/86 | 66.3 | 17/86 | 0 |
| MiniMax M3 | 75/86 | 87.2 | 50/86 | 2 |
| DeepSeek V4 | 81/86 | 94.2 | 38/86 | 2 |
| Gemini 3.5 | 82/86 | 95.3 | 26/86 | 0 |
| Claude S5 | 85/86 | 98.8 | 52/86 | 0 |
| GPT-5.6 Sol | 85/86 | 98.8 | 66/86 | 1 |
| Grok 4.5 | 85/86 | 98.8 | 59/86 | 0 |
Claude Sonnet 5, GPT-5.6 Sol, and Grok 4.5 each recover 85 of 86 inputs, yet their normalized exact-match counts are 52, 66, and 59 . Compilation and edit precision must be reported together.
The contribution is an auditable task definition, an executable oracle, a fixed cohort, and a replayable candidate ledger.
[1]R. Just, D. Jalali, and M. D. Ernst, “Defects4J: A database of existing faults to enable controlled testing studies for Java programs,” in Proc. ISSTA, 2014, pp. 437–440.
[2]C. Le Goues, N. Holtschulte, E. K. Smith, Y. Brun, P. Devanbu, S. Forrest, and W. Weimer, “The ManyBugs and IntroClass benchmarks for automated repair of C programs,” IEEE Trans. Softw. Eng., vol. 41, no. 12, pp. 1236–1256, 2015.
[3]C. E. Jimenez, J. Yang, A. Wettig, S. Yao, K. Pei, O. Press, and K. Narasimhan, “SWE-bench: Can language models resolve real-world GitHub issues?” in Proc. ICLR, 2024.
[4]M. Chen et al., “Evaluating large language models trained on code,” arXiv:2107.03374, 2021.
[5]E. K. Smith, E. T. Barr, C. Le Goues, and Y. Brun, “Is the cure worse than the disease? Overfitting in automated program repair,” in Proc. ESEC/FSE, 2015, pp. 532–543.
[6]R. A. DeMillo, R. J. Lipton, and F. G. Sayward, “Hints on test data selection: Help for the practicing programmer,” Computer, vol. 11, no. 4, pp. 34–41, 1978.
[7]Y. Jia and M. Harman, “An analysis and survey of the development of mutation testing,” IEEE Trans. Softw. Eng., vol. 37, no. 5, pp. 649–678, 2011.
[8]R. Gupta, S. Pal, A. Kanade, and S. Shevade, “DeepFix: Fixing common C language errors by deep learning,” in Proc. AAAI, vol. 31, no. 1, pp. 1345–1351, 2017.
[9]M. Yasunaga and P. Liang, “Graph-based, self-supervised program repair from diagnostic feedback,” in Proc. ICML, PMLR, vol. 119, pp. 10799–10808, 2020.
[10]F. Zhu, Z. Liu, G. Yang, J. Li, and S. Cheung, “EqFix: Fixing LaTeX equation errors by examples,” in SETTA 2022, LNCS 13649, pp. 89–109.
[11]K. Wang et al., “TexOCR-Bench: Benchmarking page-image-to-LaTeX reconstruction,” in Proc. 64th ACL, Vol. 1, 2026.
[12]H. Wen, Z. Zhang, and Y. Li, “OverleafCopilot: Empowering academic writing in Overleaf with large language models,” arXiv:2403.09733, 2024.
[13]S. Hou et al., “PaperDebugger: Assisting scientific writing, review, and editing,” in Companion Proc. ACM Web Conf., 2026.
[14]J. Tan, K. Zhang, and X. Chen, “Inconsistencies in TeX-produced documents,” in Proc. ISSTA, 2024.
[15]L. Zheng et al., “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena,” Adv. Neural Inf. Process. Syst., vol. 36, pp. 46595–46623, 2023.
[16]A. Panickssery, S. R. Bowman, and S. Feng, “LLM evaluators recognize and favor their own generations,” Adv. Neural Inf. Process. Syst., vol. 37, 2024.
[17]B. Hui et al., “Qwen2.5-Coder technical report,” arXiv:2409.12186, 2024.
[18]Meta AI, “Llama 3.2 model card,” 2024.
[19]E. Kassis et al., “Agent skills for reproducible research agents,” arXiv:2609.00065, 2026.
Inside the app
This is what you'll be working in.
Every picture on this page is a screenshot of the app as it ships. No mockups.
New in this release
Write the paper together, in the same file.
Share a project with your co-authors and you'll see their cursors move as they type, each one labelled with a name. Comments sit next to the line they're about. If your train loses Wi-Fi, keep writing. Your edits go through when you reconnect.
How to set up a server
Named cursors
You can tell at a glance who is in the methods section and who is fixing Table 1.
Comments on the line
Ask a question on a sentence and mark it resolved when it's fixed.
See who's here
Avatars show who's in the project and which file they're working in.
Run your own server
Install Oleafly Server on a machine your group controls with one command.
Write and compile
Source on one side, the PDF on the other.
Tectonic and Typst are bundled, so most projects compile the first time you open them. Click a spot in the PDF and the editor jumps to the line behind it. If a build breaks, the last good PDF stays on screen while you fix it.
- Completion for commands, labels and citation keys
- Spelling and grammar checks that never leave your computer
- Switch between Code and Visual view

AI assistant
Ask for help. Read the diff. Then decide.
The assistant can read your project, run a compile, fix the error it finds or draft a TikZ figure. Each edit shows up as a diff you can review and undo. Bring a hosted model or your own endpoint, or run Ollama and keep it all on your machine.
- Plan mode reads the project before it writes anything
- Turn AI off and the rest of the app works the same

Citations
Find the paper and cite it without opening a browser.
Citation Search looks through arXiv, Semantic Scholar, Crossref, PubMed and OpenAlex at once. Save a result and its BibTeX goes into your .bib file. Got a DOI or an arXiv ID? Paste it and Oleafly fills in the rest.
- Imports Zotero, EndNote, RIS and BibTeX
- Flags undefined and duplicate keys as you type

Version history
Git in the sidebar, and checkpoints when you don't want Git.
Stage, diff, commit, push and pull without leaving the editor. Separately, Oleafly saves a local checkpoint after each successful compile, so going back an hour doesn't need a commit.
- Unified or side-by-side diffs
- Publish a project to GitHub from the app

LaTeX, Typst and Markdown
Write in the format your venue asks for.
LaTeX compiles with the bundled Tectonic or your own TeX install. Typst has its own bundled compiler, and Markdown goes through Pandoc. The outline, the structure map and the live preview work the same way in all three.
- Compilers come with the app, so there's no TeX install to fight
- Convert between LaTeX, Typst and Word from the Tools gallery

And the rest
The parts you notice on deadline day.

Preflight
Before you submit, check the layout, accessibility, references and anything that would break blind review.

Draw it, get TikZ
Put boxes and arrows on a canvas, then switch to the TikZ source and keep editing.

Cite as you type
Type \cite{ and pick from your .bib file and Zotero library, with authors and year beside each key.

A version for every compile
Each successful compile that changed the source is kept. Go back to any of them in one click.

Template packs
Download a pack of conference, journal or thesis templates. Once it's on your machine, every template compiles offline.

Bring your work in
Start from a .zip, a Word or Markdown file, an arXiv paper or a GitHub repo. The original stays untouched.

Bring your own agent
Connect Claude Code, Codex CLI, Gemini CLI and other command-line agents through ACP.

47 free tools
PDF to LaTeX, arXiv to Typst, spreadsheets to tables, BibTeX checks and more. No project needed.

Keyboard first
Jump to a file, run a command or open a tool without touching the mouse.

Projects are folders
Every project is a normal folder on disk. Open it in anything.

An admin console for your server
Add people, set roles and see their devices on the collaboration server your group runs.

Back up to Dropbox
Keep your Library in your own Dropbox and open it on your other computers. Keys and AI chats stay on this one.
强大的研究工作台
从第一条引用到最终 PDF。
起草、编译、校对、检索、引用、审阅与发表,无需拼凑多个工具。Oleafly 把源码、预览、参考文献、AI 与 Git 历史放在一个由你掌控的工作区里。
导入已有内容
在本地将许多基于文本的 PDF 重建为可编辑 LaTeX,经托管 Pandoc 转换 DOCX,或用视觉模型转录页面照片。之后可选 AI 润色。
导出到目标格式
通过上下文菜单导出 PDF、DOCX、HTML、Markdown 等格式。也可以将整个项目下载为源码 ZIP。
按你的习惯定制
Vim 模式、浅色与深色主题、强调色、七种布局预设与可编辑快捷键。编辑器应适合你的双手。
代码或可视化写作
将任意 LaTeX 或 Markdown 切到可视化编辑:标题、列表、粗体、链接直接编辑,两种模式共享撤销。不支持的命令以原始块显示而非静默丢弃,回源无损。
词级 SyncTeX
在 PDF 中 ⌘-点击一词即可跳到源码中的对应位置。⌘⇧J 跳回。
代码智能
转到定义、查找引用,并在所有文件中重命名标签、引用键或宏。
斜杠命令
输入 / 打开 Notion 风格插入菜单:/figure、/table、/section、/cite、/math。
title = {Raft-based KV stores}, …
按 DOI 引用
粘贴 DOI、arXiv id 或 URL。Oleafly 获取 BibTeX、去重并插入 \cite。
导入整库文献
批量导入 BibTeX、RIS、EndNote XML 与 Zotero RDF。写入 .bib 前会与项目去重。
命令面板
⌘K 模糊搜索应用中的所有操作:项目、文件、设置等。
不限模型的 AI
连接你偏好的模型提供商、在本地运行 Ollama,或使用自带账号的已安装 CLI 智能体。根据手头的工作设置审批模式。不用 AI,编辑器也照常可用。
随时调研
代理搜索 alphaXiv 与 OpenAlex,拉取论文内容,并在写入文献前用 Crossref 校验引用。
内置校对
借助 Hunspell 和 Harper 在本地校对拼写与语法。Oleafly 会忽略 LaTeX 命令和数学公式,让检查专注于你的正文。
给研究一个独立的工作区
写下任务说明,选择一个代理,它在隔离副本中工作时你可以继续写作。跟进它的活动,预览更改的文件,并应用你想要的结果。
从一页到六百页
无论是一页简历还是书级学位论文,编辑器与虚拟化 PDF 预览都保持流畅。
适合真正阅读的 PDF 查看器
将预览拆到第二显示器、双页对开、夜间反色,或全屏演示。
图表编排器
描述图表,AI 编写 TikZ、单独编译并据渲染修复重叠。或自行在画布上绘制形状与边,与生成的 TikZ 往返。导出透明高分辨率 PNG,完全离线。
三引擎,一工作区
把 LaTeX、Typst 和 Markdown 项目放在同一个项目库里。为每个项目选择编译器,并使用同样的预览、参考文献、版本管理和 AI 工具。
LaTeX 编辑器
用 LaTeX、Typst 或 Markdown 写作,配备实时 PDF 预览与词级 SyncTeX。编译器随应用附带,无需配置 TeX,也没有编译队列。
AI 助手
让助手编辑源码、编译项目并检查 PDF。可连接模型提供商、Ollama 或已安装的 CLI 智能体。较长的工作交给独立的研究任务,你继续写作。
文献管理器
导入 BibTeX、RIS、EndNote 或 Zotero,自动去重。粘贴 DOI 或 arXiv ID,即可创建经 Crossref 校验的文献。
简历生成器
从面向 ATS 的简历模板开始,检查提取的文本,为每次申请分叉一份定制副本,且不丢失早前版本。
版本控制
每次成功编译后,为变更的源码打检查点。用 Git 从容提交、对比版本,并在同一工作区推送到 GitHub。
PDF 工具箱
阅读长 PDF,把许多基于文本的 PDF 重建为 LaTeX,并导出 PDF、DOCX、HTML 或投稿用的源码压缩包。
研究工作区
一个研究任务,从头到尾。
给代理一个聚焦的任务,阅读它提议的修改,准备好了就编译。成果始终留在你的项目里。
$ theta_(t+1) = theta_t - eta nabla_theta cal(L) $- 01创建研究项目先为你的手稿、资料与研究任务安一个家。
- 02给代理一个任务选择它需要的文件,说明你想改什么。
- 03审阅提议的修改阅读差异,判断哪些修改应留在手稿里。
- 04编译并保留成果检查 PDF,之后随时继续,任务仍留在项目里。
开始一项新工作
选择这份手稿从何开始。每个部分都由你掌控,随时可改。

研究项目
一个研究文件夹,含章节、资料与审阅笔记,以及一个框定研究问题的首个任务。

导入项目
继续你已有的手稿:压缩包、Word 或 Markdown 草稿,或 GitHub 仓库。

使用模板
从现成版式开始:期刊论文、学位论文、报告、海报或演讲。
新建研究任务
成果先留在独立工作区,待你审阅并应用。
main.tex…\section{方法}我们排除了缺少主要结果的回复。 \end{document}睡眠与记忆
方法
我们排除了缺少主要结果的回复。
研究闭环
调研、写作、验证、发表。
从文献检索到投稿,全程不丢失上下文。Oleafly 把你的资料、参考文献、插图、编译输出和历史记录集中在一个可检查的工作流中。
$ bold(tau) = bold(J)^T bold(F) $- doi:10.1145/3576915@article{gatto24} ✓1
调研
检索开放的研究资源,把 DOI 和 arXiv ID 转换为 BibTeX,并在引用写入参考文献表之前完成校验。
- \section{Results}2
写作
用 LaTeX、Typst 或 Markdown 写作,配合模板、全项目代码智能,以及带审批控制的可选 AI 助手。
- compiled · 0 errors ✓3
验证
在本地编译,查看清晰的错误信息,并在源码与 PDF 之间跳转。预检会展示解析器和读屏软件将提取的内容。
- PDFarXivGitHub ↑4
发表
导出 PDF、DOCX 或 HTML,打包源码用于投稿,并从工作开始的同一个文件夹推送到 GitHub。
产品对比
一个研究工作区,取代其余所有工具。
在一个地方完成写作、编译、校对、文献检索、引文管理、PDF 审阅、修改自动化和论文交付。Oleafly 将整套研究工具整合进一个免费开源应用。看看下方这些替代产品还缺少什么。 文档.
| Oleafly | OpenAI Prism | Overleaf | Typst Web App | Curvenote | LyX | TeXstudio | Texifier | VS Code + LaTeX | Paperpal | Writefull | 简历生成器 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 所有权与访问 | 价格 | 免费开源,无需订阅 Oleafly | 拥有 ChatGPT 账户即可免费使用 | 提供免费版,付费方案可解锁更多功能 | 提供免费版,Pro 版需额外付费 | 提供免费版,付费方案支持私有项目 | 免费开源 | 免费,采用 GPL 许可证 | 付费,提供免费试用版 | 免费;AI 有用量限制或需购买付费方案 | 提供免费版,Prime 版需额外付费 | 提供免费版,Premium 版需额外付费 | 视产品而定,大多采用订阅制 |
| 无需账户 | 是 | 否 | 否 | 否 | 否 | 是 | 是 | 是 | 是 | 否 | 否 | 视产品而定 | |
| Platforms | macOS, Windows and Linux desktop apps | Web only | Web, plus self-hosted Server Pro | Web, plus an on-premises plan | Web editor plus open-source CLI | Windows, macOS and Linux | Windows, macOS and Linux | macOS and iOS. Windows coming | Windows, macOS and Linux | Web, Word, Google Docs, Overleaf | Word, Overleaf and web | Mostly web | |
| 支持离线使用 | 可离线写作、校对、预览和编译 | 否,采用云端工作区 | 否,属于云服务 | 否,Web 应用需要联网 | 否,编辑器属于云服务 | 是 | 是 | 是 | 是 | 否 | 否 | 很少支持 | |
| Interface languages | 21 interface languages | Not documented | 18 | Not documented | Not documented | 26, varying completeness | About 30 community translations | 8 | 15 | Not documented | Not documented | Varies by product | |
| 文件保留在本地磁盘 | 你拥有的普通本地文件夹 | 云存储 | 云存储 | 使用云存储;编译器可在本地运行 | 云存储 | 是 | 是 | 本地文件与文件服务商 | 是 | 云服务与编辑器集成 | 文件保留在 Word 或 Overleaf 中 | 通常采用云存储 | |
| Collaboration and sync | 实时协作 | 即将推出。支持不限人数协作和自托管 | 协作者人数不限 | 内置支持,人数限制取决于方案 | 内置支持 | 实时编辑与评论 | 不支持实时共同编辑 | 不支持实时共同编辑 | 不支持实时共同编辑 | 通过 Live Share 实现 | 依托 Word、Google Docs 或 Overleaf | 依托 Word 或 Overleaf | 视产品而定 |
| Live comments | Threads with replies, @mentions and resolve | Yes | Yes | Yes, owner needs Pro | Yes | No | No | Not documented | Via extensions only | In the host editor only | In the host editor only | Rarely | |
| Your own server | Oleafly Server: one-command install, admin console, SSO | No | Yes | On-premises plan | Not documented | No | Peer-to-peer, one user hosts | Not documented | No. Live Share is Microsoft-hosted | Not documented | Not documented | Rarely | |
| 云同步 | 即将推出。文件仍保留在您的设备上,同时可通过浏览器访问 | 云端工作区 | 云端工作区,另提供付费 Git 和 Dropbox 同步 | 云端工作区,Pro 版另支持 Git 同步 | 云端项目与互联发布 | 使用 Git 或自选同步服务 | 使用 Git 或自选同步服务 | 通过 Texifier Connect 实时同步 | 使用 Git 或自选同步服务 | 云端工作区 | 在 Word 或 Overleaf 内使用 | 通常采用云存储 | |
| 团队空间 | 即将推出。共享模板、文献库和审阅流程 | 共享项目,协作者人数不限 | 团队与机构方案 | 共享项目,并为组织提供本地部署 | 团队工作区与访问控制 | 无内置团队空间 | 无内置团队空间 | 通过 Texifier Connect 共享项目 | GitHub 组织与 Live Share | 机构控制面板与许可证管理 | 机构访问 | 视产品而定 | |
| 版本历史 | 保存的编译检查点,以及 Git 提交、差异对比与恢复 | 云端修订记录 | 付费方案提供完整历史记录 | Pro 版支持 Git 同步 | 内置版本历史 | Git 及其他版本控制工具 | 手动管理或使用 SVN | 使用文件服务商或 Git 工具 | 内置 Git,需自行配置 | 官方资料未说明 | 使用宿主应用的历史记录 | 视产品而定 | |
| Git and GitHub | Built-in Git panel. Publish, push and pull to GitHub | Not yet. Planned | Git and GitHub on paid plans | GitHub and GitLab sync on Pro, experimental | GitHub integration and CLI | Basic, local only | Built-in Git panel and SVN | Not documented | Built in | Not documented | Not documented | No | |
| 写作与发布 | 文档引擎 | 在同一工作区使用 LaTeX、Typst 和 Markdown | 仅支持 LaTeX | 仅支持 LaTeX | 仅支持 Typst | MyST Markdown 与 Jupyter | LaTeX 与 DocBook | 仅支持 LaTeX | LaTeX 与 Markdown | 通过扩展支持 | Word、Google Docs、Web 和 Overleaf | Word 与 Overleaf LaTeX | 仅支持简历格式 |
| TeX 配置 | 内置 Tectonic 和 Typst,无需安装 TeX | 无需安装,在云端编译 | 无需安装,在云端编译 | 无需安装 TeX | 无需安装 TeX | 需要安装 TeX 发行版 | 需要安装 TeX 发行版 | 内置排版引擎与软件包管理器 | 需要安装扩展和 TeX | 使用 Overleaf 处理 LaTeX | 使用 Overleaf 处理 LaTeX | 无需配置 TeX | |
| 代码与可视化编辑 | 源代码与可视化编辑并用,双向转换不丢失内容 | 源代码与预览 | 源代码与富文本模式 | 源代码与实时预览 | 支持 LaTeX 数学公式的可视化编辑器 | 结构化可视化编辑器 | 仅源代码 | 源代码与 PDF 预览 | 仅源代码 | 可视化写作助手 | 行内写作建议 | 仅可视化编辑 | |
| 项目级代码智能 | 自动补全,并支持定义跳转、引用查找和项目级重命名 | 编辑器与 AI 辅助 | 自动补全与引用检索 | 错误提示、自动补全与 Assists | 结构化引用与公式 | 标签、引用、大纲与自动补全 | 结构与引用检查器 | 自动补全、大纲、引用与搜索 | LaTeX Workshop IntelliSense | 无 LaTeX 代码工具 | 用于 LaTeX 代码的 TeXGPT | 否 | |
| 源代码与 PDF 同步 | 源代码与 PDF 双向同步,精确到词级 | 即时 PDF 预览 | 源代码与 PDF 同步 | 实时预览 | 不支持源代码与 PDF 同步 | 源代码与输出预览 | 接近词级精度 | 源代码与 PDF 同步 | 正向与反向 SyncTeX | 否 | 使用 Overleaf 预览 | 否 | |
| PDF 阅读模式 | 内置查看器,并支持独立窗口、对页、深色和阅读模式 | 内置预览 | 内置预览 | 内置预览 | 文档预览 | 使用 PDF 查看器 | 集成查看器 | 集成式 PDF 查看器 | 扩展查看器,支持反色模式 | 与 PDF 对话 | 无 PDF 阅读器 | 文档预览 | |
| 文档模板 | 100 多个起始模板、可复用的自定义模板,以及 AI 模板生成 | 官方资料未说明 | 丰富的出版商模板库 | Typst Universe 与 Pro 版私有模板 | 付费方案提供专业模板 | 内置文档类 | 内置模板与用户模板 | 官方资料未说明 | 代码片段与社区模板 | 官方资料未说明 | 否 | 核心功能 | |
| 项目与文档导入 | 支持文件和 ZIP,以及 PDF、DOCX、Markdown、图片和文件夹 | 支持文件夹、ZIP 或拖放导入 | 支持文件和 ZIP,付费方案另提供集成功能 | 可转换 LaTeX、Word 和 Markdown | Jupyter 内容与参考文献导入 | LaTeX 及其他文本格式 | 打开本地源文件 | 本地文件夹与云端文件 | 打开本地源文件 | 上传 PDF 与文档 | Word 与 Overleaf 文档 | 通常支持 PDF 或 DOCX | |
| 导出格式 | 支持 PDF、源文件 ZIP、DOCX、HTML 和 Markdown | PDF 与项目文件 | PDF 与源文件 ZIP | PDF、PNG 和 SVG | PDF、Word、LaTeX、Typst 和 MyST | PDF、HTML、Word、RTF、ePub 等 | PDF 与源文件 | PDF 与源文件 | 取决于本地工具 | Word 工作流 | 带修订记录的 Word 更改 | 通常支持 PDF 和 DOCX | |
| 可视化与 AI 图表工具 | 可视化画布,以及带渲染检查的 AI 生成 TikZ | 将图片和语音转换为代码 | 手写 TikZ 与 AI 工具 | Typst 软件包与原生绘图 | 交互式图表与插图 | 可视化表格与图片工具 | 手写 TikZ,并提供编辑辅助 | 手写 TikZ | 手动编写或使用扩展 | 否 | AI 生成表格、公式与插图 | 否 | |
| Built-in tools | 47 converters plus citation and math tools | Image and voice to LaTeX | No dedicated gallery | Not documented | Not documented | No | Table, figure and quick-start wizards | Not documented | Via extensions | Paraphraser, translator, citations, PDF chat | Paraphraser, academizer, title and abstract generators | ATS checkers and cover letter generators | |
| 研究与 AI | AI 模型选择 | +4托管服务商、Ollama、自定义端点和已安装的 CLI 智能体 | 内置 OpenAI 模型 | 内置研究 AI,每日额度因方案而异 | 编译器 Assists | 官方资料未说明 | 无 | 无 | 无 | Copilot、自带密钥或扩展 | Paperpal AI | Writefull 模型与 GPT | 内置支持,可选模型因产品而异 |
| 编辑器内的 CLI 智能体 | +7Claude Code、Codex、Gemini CLI 等 | 官方资料未说明 | 官方资料未说明 | 官方资料未说明 | 官方资料未说明 | 官方资料未说明 | 官方资料未说明 | 官方资料未说明 | Copilot、Claude 和 Codex | 官方资料未说明 | 官方资料未说明 | 因产品而异 | |
| 本地 AI | 支持本地 Ollama,无需托管服务商 | 否 | 否 | 否 | 否 | 否 | 无内置 AI | 否 | 自带密钥或使用扩展 | 否 | 否 | 否 | |
| 应用前审阅 AI 修改 | 审批模式、行内修改预览,以及可审阅的任务结果 | 保留或撤销 | 审阅 AI 建议 | 逐项审阅 Assist | 官方资料未说明 | 无内置 AI | 无内置 AI | 无内置 AI | 审阅更改 | 审阅写作建议 | 修订模式 | 视产品而定 | |
| AI 检查渲染结果 | 修改源代码、编译,然后检查渲染后的 PDF | 需自行重新编译确认 | 需自行重新编译确认 | 编译预览 | 否 | 无内置 AI | 无内置 AI | 无内置 AI | 执行构建检查,但不审阅 PDF | 不审阅渲染后的 PDF | 不审阅渲染后的 PDF | 否 | |
| AI skills | 36 research skills built in, more to download | Built-in skills such as Paper Review | One built-in claim scan | No AI assistant | Not documented | No AI assistant | Editable prompt and AI macros | No AI assistant | Yes | Preset and custom prompts | Not documented | Custom prompts at most | |
| 文献与引文检索 | 跨 alphaXiv 和 OpenAlex 检索文献,并通过 Crossref 验证 | 内置文献检索 | 参考文献检索与 AI 引文建议 | 无内置检索 | DOI 引文查询 | 无内置检索 | 否 | 无内置检索 | 通过 AI 或扩展实现 | 检索超过 2.5 亿篇文章 | Writefull Cite 可查找缺失的引文 | 否 | |
| 研究工作区与任务 | 研究任务:隔离工作区、智能体活动、文件预览与选择性应用 | 官方资料未说明 | 官方资料未说明 | 否 | 官方资料未说明 | 否 | 否 | 否 | 通过 AI 扩展实现 | 否 | 否 | 否 | |
| 参考文献库导入 | 支持 BibTeX、RIS、EndNote 和 Zotero,导入前可去重 | Zotero 同步 | 付费方案提供参考文献集成 | Pro 版支持 Zotero 和 Mendeley 同步 | Zotero、Mendeley 和 EndNote | BibTeX 文件 | 支持 BibTeX 文件 | BibTeX 文件 | 通过扩展支持 | 引文生成器 | 不支持文献库导入 | 否 | |
| 面向外部 AI 智能体的 MCP | 将 MCP 工具接入助手,或向外部智能体开放项目工具 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | |
| 质量与投稿 | 投稿前检查 | 编译检查,以及投稿渠道、ATS、无障碍、参考文献和隐私检查 | 提供 AI 审阅,但无完整投稿检查套件 | 编译检查 | 编译器错误提示与 Assists | SCMS 合规工具 | 编译器日志与可选的 ChkTeX | 错误与警告 | 清晰的编译器错误提示 | 通过扩展进行代码检查 | 30 多项投稿检查 | 语言质量审查 | 仅提供简历检查 |
| 拼写与语法检查 | 私密的离线拼写与语法检查,并提供理解 LaTeX 的正文检查 | AI 校对 | 内置拼写检查,以及面向研究写作的 AI 反馈 | 官方资料未说明 | 官方资料未说明 | Hunspell、Aspell 与同义词词典 | 交互式拼写与语法检查 | 拼写检查 | 通过扩展或 AI 实现 | 学术语法与文风检查 | 学术语言反馈 | 基础检查能力因产品而异 | |
| ATS 简历检查 | 提供量化评分的 ATS 检查与文本提取预览 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 无内置检查 | 否 | 否 | 视产品而定,评分标准往往不透明 | |
| 无障碍预检 | 无障碍检查,并为带标签导出做好准备 | 否 | 否 | 官方资料未说明 | 结构化网页发布 | 支持结构化文档,但无预检 | 否 | 官方资料未说明 | 无内置检查 | 否 | 否 | 视产品而定 | |
| Blind-review checks | Flags author names, acknowledgements, PDF metadata and comments | Not documented | Not documented | Not documented | No | Not documented | Not documented | Not documented | Not documented | Not documented | Not documented | No | |
| Reference and file checks | Undefined refs, missing files, duplicate keys, uncited entries | AI error fixes and Paper Review | AI .bib and claim checks | Compiler errors on missing labels | DOI, link, cross-reference and image checks | Marks broken cross-references | Live reference checking | LaTeX error list only | ChkTeX and LaCheck linting | 30+ checks including references and figures | Flags uncited claims (institutions) | No | |
| Word count and insights | Word count plus headings, figures, tables, citations and TODOs | Not documented | Yes | Not documented | Abstract word-limit check | Yes | Yes | Yes | Yes, via TeXcount | Not documented | Not documented | Resume analysis scores |
隐私,说清楚
默认本地。联网由你选择。
你的项目保存在你的电脑上。Oleafly 只在你选择的功能中使用网络,并会在发送崩溃报告前先向你展示。不需要 Oleafly 账号,也没有遥测。 隐私.
始终本地
Works with the Wi-Fi off
- 项目文件、草稿、已保存的检查点和 Git 历史
- 写作、编译、PDF 审阅和预检
- 离线拼写检查、语法检查、图表,以及可选的 Ollama
仅在你操作时联网
Only when you click
- 托管的 AI 服务只会收到你选择发送的上下文
- GitHub 同步和文献检索仅在你发起时运行
- 宏包、模板、字体和应用更新按需下载
\[ v = \frac{V_{\max}[S]}{K_m + [S]} \]\[ p^2 + 2pq + q^2 = 1 \]理念
你的研究应当比创作它的工具更长久。你的研究应当比创作它的工具更长久。
\[ v = \frac{V_{\max}[S]}{K_m + [S]} \]\[ p^2 + 2pq + q^2 = 1 \]
认真做的开源
坚持独立,为社区打造。
Oleafly 公开开发。可靠性是产品的一部分:从可取消的编译、安全的文件路径,到 Git 恢复、PDF 回退,以及覆盖 macOS、Windows 和 Linux 的测试。
查看代码、报告问题、贡献修复或为 Oleafly 点 Star,欢迎前往 GitHub.
常见问题
切换前需要知道的事。
Didn't find your answer? Ask on Discord or GitHub Discussions.
01Oleafly 是什么?+
Oleafly 是一个免费的桌面工作区,用于论文、学位论文、简历与其他技术文档。用 LaTeX、Typst 或 Markdown 写作,预览 PDF,管理参考文献,并可选用 AI 助手。你的项目以普通文件保存在你的电脑上。
02真的免费吗?+
是。Oleafly 免费且开源,桌面应用不另收订阅费。如果你连接付费 AI 提供商,该提供商可能按用量收费。通过 Ollama 使用的本地模型不需要付费 API。
03支持哪些 AI 模型?+
可连接托管模型提供商、本地 Ollama 或自定义的 OpenAI 兼容端点。你也可以运行受支持的 CLI 智能体(包括 Claude Code 与 Codex),使用它们各自安装的工具与账号。在助手中选择运行时与模型。
04需要注册账号吗?+
不需要。桌面应用没有 Oleafly 账号,也无需登录。你的项目保存在普通的本地文件夹中。所连接的 AI 与 Git 托管服务可能需要各自的凭据。
05它可以取代哪些工具?+
对许多工作流而言,Oleafly 可以取代独立的写作、校对、编译、引用、PDF、简历、AI 与 Git 客户端。它照常使用普通文件与 GitHub,因此采用它不会把你的工作锁进专有格式。
06可以导入已有的论文或简历吗?+
可以。打开已有文件夹或导入 ZIP,包括在线 LaTeX 编辑器的导出。Oleafly 会检测主文档。它可以在本地把基于文本的 PDF 转换为 LaTeX,让 DOCX 经 Pandoc 处理,并用视觉模型转录扫描件或照片。
07PDF 输出对 ATS 友好吗?+
ATS 就绪程度取决于模板与内容,因此 Oleafly 不承诺评分。其简历模板使用可选中的 Unicode 文本、嵌入字体、单栏版式与线性阅读顺序。预检会在你发送 PDF 前,展示解析器实际提取的内容。
08协作与同步呢?+
目前,协作通过 Git 进行:发布到 GitHub,然后在 Oleafly 内推送与拉取。实时共同编辑、评论与托管同步已在计划中,但尚未进入应用。
09可以离线写作或不用 AI 吗?+
可以。写作、本地编译、PDF 审阅与校对均不需要 AI。离线前,请先下载项目所需的宏包、字体与工具。本地 AI 方面,在 Ollama 中下载模型并连接其本地服务器即可。
10我继续写作时,代理能同时工作吗?+
可以。打开研究任务,写下任务说明并选择一个代理。它在隔离副本中工作,你继续写论文。之后跟进活动动态,预览更改的文件,并应用你选择的结果。
\[ E = h\nu \]下载
免费。开源。属于你。
从最新 release 获取预编译安装包,或 从源码构建。无需账号,无遥测。
部分构建在首次启动时可能触发操作系统警告。安装指南会说明需要检查哪些内容以及如何继续。