쓰세요 연구 논문이력서학위논문연구비 제안서연구 논문 잡무는 줄이고.
Oleafly는 LaTeX, Typst, Markdown으로 논문을 쓰기 위한 무료 데스크톱 워크스페이스입니다. 자료를 찾고, 인용을 관리하고, 논문이 모양을 갖춰 가는 과정을 한곳에서 확인하세요. AI 어시스턴트에게 섹션 수정, 그림 제작, 깨진 빌드 수리를 맡기고 그 변경 사항을 검토할 수 있습니다. 프로젝트는 당신이 소유한 일반 파일로 남으며, 에디터는 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 모드, 라이트·다크, 액센트 색, 레이아웃 7종, 편집 가능한 단축키. 에디터는 손에 맞아야 합니다.
코드 또는 비주얼로 쓰기
LaTeX·Markdown을 비주얼 편집으로: 제목, 목록, 굵게, 링크를 직접. 두 모드 연동 실행 취소. 미지원 명령은 조용히 지우지 않고 raw 블록으로 남겨 소스 왕복이 비파괴.
단어 단위 SyncTeX
PDF 단어를 ⌘-클릭하면 소스의 그 단어로. ⌘⇧J로 돌아감.
코드 인텔리전스
정의로 이동, 참조 찾기, 레이블·인용 키·매크로를 모든 파일에서 이름 바꾸기.
슬래시 명령
/ 로 Notion 스타일 메뉴: /figure, /table, /section, /cite, /math.
title = {Raft-based KV stores}, …
DOI로 인용
DOI, arXiv id, URL 붙여넣기. 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제안된 변경 검토하기diff를 읽고, 어떤 편집이 원고에 들어갈지 정하세요.
- 04컴파일하고 결과 남기기PDF를 확인하세요. 작업은 프로젝트에 남아 나중에 이어서 할 수 있습니다.
새 작업 시작하기
원고를 어떻게 시작할지 고르세요. 모든 부분은 당신의 것이며 언제든 바꿀 수 있습니다.

연구 프로젝트
섹션과 출처, 검토 노트, 연구 질문을 세워 주는 첫 작업이 담긴 연구용 폴더.

프로젝트 가져오기
이미 있던 원고를 이어서 작업하세요: 아카이브, Word 또는 Markdown 초고, GitHub 저장소.

템플릿 사용
저널 논문, 학위논문, 보고서, 포스터, 발표용으로 준비된 레이아웃으로 시작하세요.
새 연구 프로젝트
시작 구조를 고르고, Oleafly가 만들기 전에 모든 파일을 하나하나 확인하세요.
연구 질문을 정의하고 논문 개요 초안을 작성합니다.
- analysis
- figures
- research
- review
- main.tex
- references.bib
\documentclass{article}
\begin{document}
\section{방법}
…
\end{document}새 연구 작업
작업 결과는 검토하고 적용할 때까지 별도의 워크스페이스에 머뭅니다.
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
작성
템플릿, 프로젝트 전체 코드 인텔리전스, 승인 제어가 있는 선택적 AI 어시스턴트와 함께 LaTeX, Typst, Markdown으로 작성합니다.
- 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 | |
| 오프라인 작동 | 오프라인에서 작성, 교정, 미리보기 및 컴파일 가능 | 아니요. 클라우드 작업 공간 | 아니요. 클라우드 서비스 | 아니요. 웹 앱은 인터넷 연결 필요 | 아니요. 편집기는 클라우드 서비스 | 예 | 예 | 예 | 예 | 아니요 | 아니요 | 거의 지원하지 않음 | |
| 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 커밋, diff, 복원 | 클라우드 수정 기록 | 유료 요금제에서 전체 기록 제공 | 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, 웹 및 Overleaf | Word 및 Overleaf LaTeX | 이력서 형식만 지원 |
| TeX 설정 | Tectonic 및 Typst 포함. TeX 설치 불필요 | 설치 불필요. 클라우드에서 컴파일 | 설치 불필요. 클라우드에서 컴파일 | TeX 설치 불필요 | TeX 설치 불필요 | TeX 배포판 설치 필요 | TeX 배포판 설치 필요 | 조판 엔진 및 패키지 관리자 내장 | 확장 프로그램 및 TeX 설치 필요 | LaTeX 작업에 Overleaf 이용 | LaTeX 작업에 Overleaf 이용 | 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, BYOK 또는 확장 프로그램 | Paperpal AI | Writefull 모델 및 GPT | 내장. 모델 선택지는 서비스별로 다름 |
| 편집기 안의 CLI 에이전트 | +7Claude Code, Codex, Gemini CLI 등 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | Copilot, Claude, Codex | 공식 문서에 명시되지 않음 | 공식 문서에 명시되지 않음 | 제품에 따라 다름 | |
| 로컬 AI | 로컬 Ollama. 호스팅 제공업체 불필요 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 내장 AI 없음 | 아니요 | BYOK 또는 확장 프로그램 | 아니요 | 아니요 | 아니요 | |
| 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 호환 커스텀 엔드포인트를 연결하세요. Claude Code와 Codex를 포함한 지원 CLI 에이전트를 각자 설치된 도구와 계정으로 실행할 수도 있습니다. 런타임과 모델은 어시스턴트에서 고르세요.
04계정이 필요한가요?+
아니요. 데스크톱 앱에는 Oleafly 계정이나 로그인이 없습니다. 프로젝트는 일반 로컬 폴더에 남습니다. 연결한 AI 및 Git 호스팅 서비스에는 각자의 자격 증명이 필요할 수 있습니다.
05어떤 도구를 대체할 수 있나요?+
많은 워크플로에서 Oleafly는 글쓰기, 교정, 컴파일, 인용, PDF, 이력서, AI, Git 클라이언트를 각각 따로 두는 것을 대체할 수 있습니다. 일반 파일과 GitHub도 그대로 함께 쓰므로, 작업을 독점 형식에 가두지 않고도 도입할 수 있습니다.
06이미 있는 논문이나 이력서를 가져올 수 있나요?+
네. 기존 폴더를 열거나 온라인 LaTeX 에디터에서 내보낸 것을 포함해 ZIP을 가져오세요. 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 \]다운로드
무료. 오픈 소스. 당신의 것.
최신 릴리스의 프리빌드 설치 파일을 받거나 소스에서 빌드. 계정 없음, 원격 측정 없음.
일부 빌드는 처음 실행할 때 운영 체제 경고가 나타날 수 있습니다. 확인할 사항과 계속 진행하는 방법은 설치 가이드에서 설명합니다.