<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: reopio</title>
    <description>The latest articles on DEV Community by reopio (@reopio_ed7e345a1347c163b6).</description>
    <link>https://dev.to/reopio_ed7e345a1347c163b6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3684266%2Fc618d047-c4ba-410c-9276-d1d8899fd599.jpg</url>
      <title>DEV Community: reopio</title>
      <link>https://dev.to/reopio_ed7e345a1347c163b6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/reopio_ed7e345a1347c163b6"/>
    <language>en</language>
    <item>
      <title>Paper2PPT: Let AI Handle Your Academic Presentation Slides, Say Goodbye to All-Nighters!</title>
      <dc:creator>reopio</dc:creator>
      <pubDate>Mon, 29 Dec 2025 12:13:52 +0000</pubDate>
      <link>https://dev.to/reopio_ed7e345a1347c163b6/paper2ppt-let-ai-handle-your-academic-presentation-slides-say-goodbye-to-all-nighters-57ee</link>
      <guid>https://dev.to/reopio_ed7e345a1347c163b6/paper2ppt-let-ai-handle-your-academic-presentation-slides-say-goodbye-to-all-nighters-57ee</guid>
      <description>&lt;p&gt;Hello everyone! Today I want to introduce an open-source tool I recently developed —— &lt;strong&gt;Paper2PPT&lt;/strong&gt;(&lt;a href="https://github.com/gejifeng/Paper2PPT" rel="noopener noreferrer"&gt;https://github.com/gejifeng/Paper2PPT&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;As an "academic laborer" who often needs to read papers and give presentations, have you ever experienced such pain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Just finished reading an obscure paper, haven't had time to digest it, and have to prepare a group meeting PPT.&lt;/li&gt;
&lt;li&gt;  Staring at a blank PPT template, not knowing how to condense dozens of pages of papers into a 10-minute speech.&lt;/li&gt;
&lt;li&gt;  Finally wrote the content, spent half a day on typesetting, only to find that the font is too small and the picture overflows when projected...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Wouldn't it be cool if there was an AI assistant that could read your paper, automatically plan your speech ideas, and even directly generate beautifully typeset PDF slides?&lt;/p&gt;

&lt;p&gt;This is the original intention of &lt;strong&gt;Paper2PPT&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Paper2PPT?
&lt;/h2&gt;

&lt;p&gt;Simply put, Paper2PPT is a &lt;strong&gt;fully automated paper-to-PPT intelligent Agent&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It is not just a simple "summary tool", but an "AI producer" with a complete workflow. You just need to throw a paper (PDF or LaTeX source code) to it, tell it how long you want to talk (for example, 10 minutes), and leave the rest - reading, conceiving, writing, typesetting, and retouching - to it.&lt;/p&gt;

&lt;p&gt;In the end, you will get a &lt;strong&gt;professional PDF presentation&lt;/strong&gt; and &lt;strong&gt;complete LaTeX source code&lt;/strong&gt;. This means you can manually fine-tune it at any time to ensure the final effect perfectly meets your needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  🖼️ Showcase
&lt;/h2&gt;

&lt;p&gt;Seeing is believing. Here are screenshots of real presentations generated by Paper2PPT:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;th colspan="4"&gt;Attention Is All You Need&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fatt1.png" width="800" height="436"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fatt2.png" width="800" height="463"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fatt3.png" width="800" height="461"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fatt4.png" width="800" height="459"&gt;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;th colspan="4"&gt;IR3 (Mixed Precision GMRES)&lt;/th&gt;
  &lt;/tr&gt;
  &lt;tr&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fir1.png" width="800" height="463"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fir2.png" width="800" height="467"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fir3.png" width="800" height="465"&gt;&lt;/td&gt;
    &lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fgejifeng%2FPaper2PPT%2Frefs%2Fheads%2Fmain%2Fimage%2Fir4.png" width="800" height="467"&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;All generated results can be found in the &lt;code&gt;output/&lt;/code&gt; directory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What makes it special?
&lt;/h2&gt;

&lt;p&gt;There are some PPT generation tools on the market, but Paper2PPT has made many special optimizations for academic scenarios:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Flexible Input&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;PDF&lt;/strong&gt;: Throw it in directly, and it will automatically call tools like &lt;code&gt;mineru&lt;/code&gt; to extract text and structure.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;LaTeX Source&lt;/strong&gt;: This is its specialty! It can directly read the paper source code and understand the deeper structure.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Thinking Like a Human&lt;/strong&gt;:&lt;br&gt;
It doesn't mechanically copy and paste the abstract into the PPT, but takes three steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Planner&lt;/strong&gt;: Read the full text first and plan the script like a director. This page talks about the background, that page talks about the method, a comparison table is needed here, and an architecture diagram is needed there.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Generator&lt;/strong&gt;: According to the script, start writing the LaTeX code for each page. It knows when to use a list, when to split columns, and when to highlight key points.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Refiner&lt;/strong&gt;: This is the coolest part! It will try to compile the PPT. If it finds that there is too much text "overflowing the box", or the typesetting is ugly, it will automatically adjust the font size, spacing, and even rewrite the content like a designer until it is perfect.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;WYSIWYG LaTeX&lt;/strong&gt;:&lt;br&gt;
What is generated is not a rigid picture, but standard Beamer LaTeX code. This means the formulas are extremely beautiful, the typesetting is absolutely professional, and you have 100% modification rights.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Agent's Thinking Framework: How does it work?
&lt;/h2&gt;

&lt;p&gt;To help everyone understand the internal operation mechanism of Paper2PPT more intuitively, I drew a workflow diagram of its "brain".&lt;/p&gt;

&lt;p&gt;You can see that this is not just a linear process, but an intelligent system containing a &lt;strong&gt;feedback loop&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2zpbbdp2pwipbeouc5m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2zpbbdp2pwipbeouc5m.png" alt="Paper2PPT Workflow" width="800" height="289"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Core Process Analysis:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Ingestion&lt;/strong&gt;: Whether it is PDF or LaTeX, it is first converted into pure text and structured data that the Agent can understand.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Planning&lt;/strong&gt;: The Planner brain goes online. Based on the speech duration (e.g., 10 minutes = 7-8 PPT slides), it designs a Slide Plan. It decides the title, core goal, and best layout (left-right columns or text-image mix?) for each page.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Generation&lt;/strong&gt;: The Generator takes over the outline, combines it with the original paper, and starts "fleshing it out". It calls preset LaTeX templates to transform boring text into exquisite code.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Self-Reflection &amp;amp; Refinement Loop&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;  This is the most critical step. The system automatically compiles the generated code.&lt;/li&gt;
&lt;li&gt;  The &lt;strong&gt;Log Parser&lt;/strong&gt; checks the compilation log for warnings like "Overfull \vbox" (meaning content overflow).&lt;/li&gt;
&lt;li&gt;  If there is an overflow, the &lt;strong&gt;Refiner&lt;/strong&gt; intervenes. It analyzes the overflowing page, adopts strategies (such as simplifying text, adjusting spacing, using &lt;code&gt;adjustbox&lt;/code&gt; scaling), and then recompiles.&lt;/li&gt;
&lt;li&gt;  This process loops until all pages are perfectly presented.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;p&gt;Paper2PPT is completely open source and developed based on Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Installation
&lt;/h3&gt;

&lt;p&gt;It is recommended to use Conda:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;conda create &lt;span class="nt"&gt;-n&lt;/span&gt; paper2ppt &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3.12
conda activate paper2ppt
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: A GPU is recommended for optimal performance (Tested on V100 16G).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  2. Configure API
&lt;/h3&gt;

&lt;p&gt;Create a &lt;code&gt;.env&lt;/code&gt; file in the project root directory to configure LLM-related environment variables. You can refer to the &lt;code&gt;.env.example&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;This project was tested using the &lt;strong&gt;DeepSeek API&lt;/strong&gt;. The recommended configuration is as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;API_PROVIDER=deepseek
MODEL_NAME=deepseek-chat
LLM_API_KEY=your_api_key_here
LLM_API_BASE=https://api.deepseek.com
MAX_OUTPUT_TOKENS=6000
PDF_PARSE_METHOD=auto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Don't forget to install a LaTeX environment (such as TeX Live) because we need it to compile the final PDF.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Run
&lt;/h3&gt;

&lt;p&gt;Put your paper in the &lt;code&gt;paper/pdf&lt;/code&gt; or &lt;code&gt;paper/tex&lt;/code&gt; directory, then run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Interaction
&lt;/h3&gt;

&lt;p&gt;The terminal will list all found papers. You just need to choose which one to convert, enter the speech duration, and then watch it "think" and "type" quickly on the screen.&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Plans (Todo List)
&lt;/h2&gt;

&lt;p&gt;Although it is usable now, I still have many ideas to implement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] &lt;strong&gt;Automatic Chart Generation&lt;/strong&gt;: Current PPTs are still text-heavy. In the future, I want it to understand data and automatically draw academic-style charts.&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;AI Drawing&lt;/strong&gt;: Integrate Stable Diffusion or Midjourney to automatically add high-end illustrations to PPTs.&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;More Themes&lt;/strong&gt;: Currently there is only one template. More styles will be added in the future, and even custom templates will be supported.&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;GUI Interface&lt;/strong&gt;: Make a nice graphical interface so you don't have to type command lines anymore.&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;Windows Support&lt;/strong&gt;: Currently mainly running on Linux/Mac, Windows adaptation is also on the way.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Words
&lt;/h2&gt;

&lt;p&gt;Paper2PPT is currently in the Beta stage. Although it can run through most of the processes, there are definitely many places that can be optimized. For example, supporting more template styles, stronger image reading capabilities, etc.&lt;/p&gt;

&lt;p&gt;If you are also a fan of AI + academic tools, welcome to submit Issues or PRs on GitHub, let's make it better together!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Project Address: &lt;a href="https://github.com/gejifeng/Paper2PPT" rel="noopener noreferrer"&gt;https://github.com/gejifeng/Paper2PPT&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
