<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://yanjie128.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://yanjie128.github.io/" rel="alternate" type="text/html" /><updated>2026-05-25T17:17:35+08:00</updated><id>https://yanjie128.github.io/feed.xml</id><title type="html">Eyengeol Site</title><subtitle>Personal website and blog for Mi Yanjie, covering engineering, backend development, AI, and learning notes.</subtitle><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><entry><title type="html">How To Resume Codex Session</title><link href="https://yanjie128.github.io/how-to-resume-codex-session/" rel="alternate" type="text/html" title="How To Resume Codex Session" /><published>2026-05-25T00:00:00+08:00</published><updated>2026-05-25T00:00:00+08:00</updated><id>https://yanjie128.github.io/how-to-resume-codex-session</id><content type="html" xml:base="https://yanjie128.github.io/how-to-resume-codex-session/"><![CDATA[<hr />
<p>## 
在 WSL 里面继续之前的 Codex CLI 对话，通常直接用下面几个命令即可：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex resume
</code></pre></div></div>

<p>会打开历史会话选择器，你可以选之前的对话继续。 (<a href="https://www.verdent.ai/zh-CN/guides/codex-cli-resume-continue-save-chat?utm_source=chatgpt.com" title="Codex CLI Resume, Continue, and Save Chat Explained ...">Verdent AI</a>)</p>

<p>如果想直接继续最近一次会话：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex resume <span class="nt">--last</span>
</code></pre></div></div>

<p>或者新版也支持：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex <span class="k">continue</span>
</code></pre></div></div>

<p>继续当前目录最近的会话。 (<a href="https://www.verdent.ai/zh-CN/guides/codex-cli-resume-continue-save-chat?utm_source=chatgpt.com" title="Codex CLI Resume, Continue, and Save Chat Explained ...">Verdent AI</a>)</p>

<p>如果发现“看不到之前的会话”，尤其是在 WSL 下，通常是下面几个原因：</p>

<h3 id="1-当前目录不对最常见">1. 当前目录不对（最常见）</h3>

<p>新版 Codex 会按当前工作目录过滤历史会话。</p>

<p>解决：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex resume <span class="nt">--all</span>
</code></pre></div></div>

<p>这样会显示所有历史会话，不管在哪个目录创建的。 (<a href="https://github.com/openai/codex/issues/6927?utm_source=chatgpt.com" title="Resume a previous session not working on WSL Ubuntu #6927">GitHub</a>)</p>

<hr />

<h3 id="2-windows-和-wsl-的会话不共享">2. Windows 和 WSL 的会话不共享</h3>

<p>Windows 原生安装的 Codex 和 WSL 中安装的 Codex：</p>

<ul>
  <li>会话目录不同</li>
  <li>配置不同</li>
  <li>登录状态也可能不同</li>
</ul>

<p>WSL 默认会话目录：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>~/.codex/sessions/
</code></pre></div></div>

<p>里面保存了所有聊天记录（jsonl 文件）。 (<a href="https://blog.csdn.net/m0_63223824/article/details/160217414?utm_source=chatgpt.com" title="Windows 通过 WSL 配置 Codex CLI - CSDN博客">CSDN博客</a>)</p>

<p>你可以查看：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">ls</span> ~/.codex/sessions/
</code></pre></div></div>

<hr />

<h3 id="3-指定-session-id-继续">3. 指定 session id 继续</h3>

<p>如果你知道 session id：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex <span class="k">continue</span> &lt;session-id&gt;
</code></pre></div></div>

<p>或者：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>codex resume &lt;session-id&gt;
</code></pre></div></div>

<p>session id 可以在：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>~/.codex/sessions/
</code></pre></div></div>

<p>里找到。 (<a href="https://www.verdent.ai/zh-CN/guides/codex-cli-resume-continue-save-chat?utm_source=chatgpt.com" title="Codex CLI Resume, Continue, and Save Chat Explained ...">Verdent AI</a>)</p>

<hr />

<h3 id="推荐工作流wsl">推荐工作流（WSL）</h3>

<p>平时建议：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>你的项目目录
codex
</code></pre></div></div>

<p>下次继续：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>同一个项目目录
codex <span class="k">continue</span>
</code></pre></div></div>

<p>这样最稳定。</p>

<hr />

<!-- 另外，如果你想，我还可以教你： -->

<ul>
  <li>如何让 VS Code + WSL 共用 Codex 会话</li>
  <li>如何把 Windows 的 Codex 会话迁移到 WSL</li>
  <li>如何搜索历史聊天内容</li>
  <li>如何导出 Codex 对话为 markdown</li>
  <li>如何自动恢复上次 session</li>
</ul>

<p>这些在 WSL 开发里都挺实用。</p>]]></content><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><summary type="html"><![CDATA[## 在 WSL 里面继续之前的 Codex CLI 对话，通常直接用下面几个命令即可：]]></summary></entry><entry><title type="html">How To Git Your First Commit Using Cli</title><link href="https://yanjie128.github.io/how-to-git-your-first-commit-using-cli/" rel="alternate" type="text/html" title="How To Git Your First Commit Using Cli" /><published>2026-04-05T00:00:00+08:00</published><updated>2026-04-05T00:00:00+08:00</updated><id>https://yanjie128.github.io/how-to-git-your-first-commit-using-cli</id><content type="html" xml:base="https://yanjie128.github.io/how-to-git-your-first-commit-using-cli/"><![CDATA[<p>We often meet a situation like this:</p>

<p>So how to fix it.</p>

<p>The content below can be a good reference for you. hoping it works😊</p>

<hr />

<h2 id="-optimized-git-workflow">✅ Optimized Git Workflow</h2>

<h3 id="step-1-check-current-remote-url-verify-before-modifying">Step 1: Check Current Remote URL (Verify Before Modifying)</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git remote <span class="nt">-v</span>
</code></pre></div></div>
<blockquote>
  <p>View existing remote addresses first to avoid blind overwriting.</p>
</blockquote>

<hr />

<h3 id="step-2-set-ssh-remote-url-precision-entry">Step 2: Set SSH Remote URL (Precision Entry)</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git remote set-url origin git@github.com:xxxxxxxxxxxx<span class="o">(</span>get from the previous step output<span class="o">)</span>
</code></pre></div></div>
<blockquote>
  <p>Update the origin URL directly to the correct SSH address.</p>
</blockquote>

<hr />

<h3 id="step-3-verify-the-update">Step 3: Verify the Update</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git remote <span class="nt">-v</span>
</code></pre></div></div>
<p><strong>Expected Output:</strong></p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>origin  git@github.com:xxxxxxxx(your name)/xxxxxxxxxxxxxx(your respository address) (fetch)
origin  git@github.com:xxxxxxxx(your name)/xxxxxxxxxxxxxx(your respository address) (push)
</code></pre></div></div>
<blockquote>
  <p>Confirm the address has been correctly updated.</p>
</blockquote>

<hr />

<h3 id="step-4-verify-ssh-connection--crucial-missing-step">Step 4: Verify SSH Connection ⭐ (Crucial Missing Step)</h3>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh <span class="nt">-T</span> git@github.com
</code></pre></div></div>
<p><strong>Expected Output:</strong></p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Hi xxxxxxxx(your name)! You've successfully authenticated, but GitHub does not provide shell access.
</code></pre></div></div>

<blockquote>
  <p>This step is vital! Confirm your SSH key is properly configured <strong>before</strong> pushing to avoid connection failures later.</p>
</blockquote>

<hr />

<h3 id="step-5-check-workspace-status">Step 5: Check Workspace Status</h3>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git status
</code></pre></div></div>

<hr />

<h3 id="step-6-push-code">Step 6: Push Code</h3>
<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git push origin main
</code></pre></div></div>

<hr />

<h2 id="comparison-summary">Comparison Summary</h2>

<table>
  <thead>
    <tr>
      <th>Feature</th>
      <th>Original Workflow</th>
      <th>Optimized Workflow</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Command Retries</td>
      <td>3 incomplete attempts</td>
      <td>0</td>
    </tr>
    <tr>
      <td>SSH Verification</td>
      <td>❌ None</td>
      <td>✅ Verified before push</td>
    </tr>
    <tr>
      <td>Pre-mod Confirmation</td>
      <td>❌ Direct overwrite</td>
      <td>✅ View before change</td>
    </tr>
    <tr>
      <td>Post-mod Confirmation</td>
      <td>❌ No check</td>
      <td>✅ <code class="language-plaintext highlighter-rouge">git remote -v</code> validation</td>
    </tr>
  </tbody>
</table>

<p><strong>Core Principle: Inspect → Modify → Verify Connection → Push.</strong> By validating each stage, you ensure that the final <code class="language-plaintext highlighter-rouge">push</code> succeeds without surprises.</p>]]></content><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><summary type="html"><![CDATA[We often meet a situation like this:]]></summary></entry><entry><title type="html">Windows_wsl_intro</title><link href="https://yanjie128.github.io/windows_wsl_intro/" rel="alternate" type="text/html" title="Windows_wsl_intro" /><published>2026-03-29T00:00:00+08:00</published><updated>2026-03-29T00:00:00+08:00</updated><id>https://yanjie128.github.io/windows_wsl_intro</id><content type="html" xml:base="https://yanjie128.github.io/windows_wsl_intro/"><![CDATA[<hr />
<!-- # 从 Windows 到 WSL🙌 -->

<blockquote>
  <p>记录我从零开始搭建开发环境、踩坑、理解工具的一段真实过程。</p>
</blockquote>

<hr />

<h2 id="一为什么我要折腾-wsl">一、为什么我要折腾 WSL？</h2>

<p>目前正处在编程入门阶段，主要在学习 Python，后续学习Java后端，最终希望能完成一个完整的项目。</p>

<p>一开始我是在 Windows 上直接写代码的，但很快就遇到一些问题：</p>

<ul>
  <li>环境不统一（教程很多是 Linux）</li>
  <li>一些工具在 Windows 上体验不好</li>
  <li>命令行操作和服务器环境差距大</li>
</ul>

<p>于是我开始接触一个东西：<strong>WSL（Windows Subsystem for Linux）</strong></p>

<p>简单来说，它可以让我在 Windows 上直接运行一个 Linux 系统（比如 Ubuntu）。</p>

<hr />

<h2 id="二第一次安装-wsl一切并不顺利">二、第一次安装 WSL：一切并不顺利</h2>

<h3 id="1-用户名直接卡住了我">1. 用户名直接卡住了我</h3>

<p>在安装 Ubuntu 的时候，系统让我创建一个 Linux 用户：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
Create a default Unix user account:

</code></pre></div></div>

<p>我当时输入的是：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
MiYanjie

</code></pre></div></div>

<p>结果直接报错：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
Invalid username. A valid username must start with a lowercase letter or underscore

</code></pre></div></div>

<p>👉 这里是我踩的第一个坑：</p>

<p><strong>Linux 用户名必须是小写字母开头！</strong></p>

<p>后来改成：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mie
</code></pre></div></div>
<p>就好了</p>

<hr />

<h3 id="2-我是不是没进-linux-目录">2. “我是不是没进 Linux 目录？”</h3>

<p>安装完成后，我输入：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wsl
</code></pre></div></div>

<p>结果看到路径是：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>/mnt/c/Users/MiYanjie
</code></pre></div></div>

<p>我当时非常困惑：</p>

<blockquote>
  <p>❓ 不是说 Linux 有自己的文件系统吗？为什么我还在 C 盘？🙂</p>
</blockquote>

<p>后来才明白：</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">/mnt/c</code> 是 Windows 磁盘挂载到 Linux 的路径</li>
  <li>我其实还在访问 Windows 文件</li>
</ul>

<p>真正的 Linux 家目录应该是：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
~
或者
/home/mie
</code></pre></div></div>

<p>👉 所以我学会了一个很重要的命令：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cd ~
</code></pre></div></div>

<p>这才算“真正进入 Linux 的系统磁盘😂</p>

<hr />

<h3 id="3-代理警告看不懂但很吓人">3. 代理警告（看不懂但很吓人）</h3>

<p>我还看到这样一段提示：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wsl: 检测到 localhost 代理配置，但未镜像到 WSL。
</code></pre></div></div>

<p>当时完全看不懂，以为出大问题了。</p>

<p>后来才知道：</p>

<p>👉 这是 <strong>Windows 有代理，但 WSL 没同步</strong></p>

<p><strong>可以先忽略，不影响学习</strong></p>

<hr />

<h2 id="三wsl-到底值不值得">三、WSL 到底值不值得？</h2>

<p>在折腾过程中，我也问了自己一个问题：</p>

<blockquote>
  <p>作为新手，我真的需要 WSL 吗？</p>
</blockquote>

<h3 id="我的结论是">我的结论是：</h3>

<p>✅ <strong>越早越好</strong></p>

<p>原因很现实：</p>

<ul>
  <li>做后端基本都在 Linux 上部署</li>
  <li>Docker、服务器、云环境都是 Linux</li>
  <li>提前适应命令行非常重要, 现在结合AI用CLI感觉更方便了, 而且非常快</li>
</ul>

<hr />

<h2 id="四ubuntu-还是-debian">四、Ubuntu 还是 Debian</h2>

<p>安装的时候我还纠结过选哪个发行版：</p>

<table>
  <thead>
    <tr>
      <th>对比项</th>
      <th>Ubuntu</th>
      <th>Debian</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>上手难度</td>
      <td>⭐ 简单</td>
      <td>稍难</td>
    </tr>
    <tr>
      <td>稳定性</td>
      <td>高</td>
      <td>更高</td>
    </tr>
    <tr>
      <td>软件新旧</td>
      <td>较新</td>
      <td>偏旧</td>
    </tr>
    <tr>
      <td>社区支持</td>
      <td>很强</td>
      <td>强</td>
    </tr>
  </tbody>
</table>

<p>👉 最终我选择了：</p>

<blockquote>
  <p><strong>Ubuntu</strong></p>
</blockquote>

<hr />

<h2 id="五vscode--wsl让我理解开发环境这件事">五、VSCode + WSL：让我理解“开发环境”这件事</h2>

<p>我还思考过一个问题：</p>

<blockquote>
  <p>VSCode 直接在 Windows 用，和 VSCode + WSL 有什么区别？</p>
</blockquote>

<h3 id="直接-windows">直接 Windows：</h3>
<ul>
  <li>简单</li>
  <li>适合初学</li>
</ul>

<h3 id="vscode--wsl">VSCode + WSL：</h3>
<ul>
  <li>代码运行在 Linux</li>
  <li>更接近真实服务器环境</li>
  <li>适合后端开发</li>
</ul>

<p>👉 这让我第一次理解：</p>

<blockquote>
  <p><strong>开发环境 ≠ 编辑器，而是“代码运行在哪”</strong></p>
</blockquote>

<hr />

<h2 id="六我逐渐建立的认知">六、我逐渐建立的认知</h2>

<p>通过这次折腾，我慢慢搞清楚了一些关键概念：</p>

<h3 id="1-windows--linux">1. Windows ≠ Linux</h3>

<ul>
  <li>Windows 是桌面系统</li>
  <li>Linux 更偏开发/服务器</li>
</ul>

<hr />

<h3 id="2-wsl-是桥梁">2. WSL 是桥梁</h3>

<p>它让我：</p>

<ul>
  <li>不用放弃 Windows</li>
  <li>又能使用 Linux</li>
</ul>

<hr />

<h3 id="3-文件系统是分开的">3. 文件系统是分开的</h3>

<ul>
  <li>Windows：<code class="language-plaintext highlighter-rouge">C:\</code></li>
  <li>Linux：<code class="language-plaintext highlighter-rouge">/home/...</code></li>
  <li>连接点：<code class="language-plaintext highlighter-rouge">/mnt/c</code></li>
</ul>

<hr />

<h3 id="4-命令行不是高级操作而是基础能力">4. 命令行不是“高级操作”，而是基础能力</h3>

<p>一开始我很抗拒命令行，但现在慢慢发现：</p>

<p>👉 <strong>它其实是程序员的“母语”</strong>, 而且能看明白还是非常有用的</p>

<hr />

<h2 id="七给未来的自己">七、给未来的自己</h2>

<p>我现在的规划是：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
Python基础
↓
Linux命令 &amp; 开发环境
↓
Java后端（Spring Boot）
↓
数据库（MySQL）
↓
前端基础（HTML/CSS/JS）
↓
做一个完整项目

</code></pre></div></div>

<p>WSL 是这个路线里的一个关键起点。</p>

<hr />

<h2 id="八总结这次折腾的意义">八、总结：这次折腾的意义</h2>

<p>这次安装 WSL，看起来只是一个环境配置，但对我来说意义挺大的：</p>

<ul>
  <li>第一次真正接触 Linux</li>
  <li>第一次理解开发环境的区别</li>
  <li>第一次解决真实报错</li>
  <li>
    <h2 id="从照着做变成开始理解为什么">从“照着做”变成“开始理解为什么”</h2>
  </li>
</ul>]]></content><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">在VScode中设置javascript和typescript项目环境</title><link href="https://yanjie128.github.io/blog/js-ts-vscode-setting/" rel="alternate" type="text/html" title="在VScode中设置javascript和typescript项目环境" /><published>2026-03-13T00:00:00+08:00</published><updated>2026-03-13T00:00:00+08:00</updated><id>https://yanjie128.github.io/blog/js-ts-vscode-setting</id><content type="html" xml:base="https://yanjie128.github.io/blog/js-ts-vscode-setting/"><![CDATA[<!-- # Windows 下 JavaScript / TypeScript 开发环境配置（VSCode） -->

<h2 id="一环境背景">一、环境背景</h2>

<p>在学习 <strong>JavaScript / TypeScript</strong> 时，需要配置以下开发环境：</p>

<ul>
  <li>Node.js</li>
  <li>npm</li>
  <li>TypeScript</li>
  <li>VSCode</li>
</ul>

<p>本文记录在 <strong>Windows + VSCode</strong> 环境下，从 <strong>Node.js 安装到 TypeScript 项目创建与测试</strong> 的完整过程。</p>

<hr />

<h1 id="二安装-nodejs">二、安装 Node.js</h1>

<p>首先安装 <strong>Node.js</strong>。</p>

<p>官网：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>https://nodejs.org
</code></pre></div></div>

<p>安装完成后，在终端测试：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>node <span class="nt">-v</span>
</code></pre></div></div>

<p>输出示例：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>v24.14.0
</code></pre></div></div>

<p>再测试 npm：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nt">-v</span>
</code></pre></div></div>

<p>输出示例：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>11.9.0
</code></pre></div></div>

<p>如果两个命令都能正常输出版本号，说明 Node 环境安装成功。</p>

<hr />

<h1 id="三创建-typescript-项目">三、创建 TypeScript 项目</h1>
<p><img src="/assets/blog_picture/image3.png" alt="alt text" /></p>

<p>在项目目录中创建一个 TypeScript 项目。</p>

<h2 id="1-创建项目文件夹">1 创建项目文件夹</h2>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">mkdir </span>ts_project
<span class="nb">cd </span>ts_project
</code></pre></div></div>

<p>目录结构：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ts_project
</code></pre></div></div>

<hr />

<h2 id="2-初始化-npm-项目">2 初始化 npm 项目</h2>

<p>执行：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm init <span class="nt">-y</span>
</code></pre></div></div>

<p>该命令会自动生成 <code class="language-plaintext highlighter-rouge">package.json</code>。</p>

<p>示例：</p>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ts_project"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"version"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1.0.0"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"description"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
  </span><span class="nl">"main"</span><span class="p">:</span><span class="w"> </span><span class="s2">"index.js"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"scripts"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"test"</span><span class="p">:</span><span class="w"> </span><span class="s2">"echo </span><span class="se">\"</span><span class="s2">Error: no test specified</span><span class="se">\"</span><span class="s2"> &amp;&amp; exit 1"</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"license"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ISC"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"commonjs"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<p><code class="language-plaintext highlighter-rouge">package.json</code> 是 Node 项目的配置文件。</p>

<hr />

<h2 id="3-本地安装-typescript">3 本地安装 TypeScript</h2>

<p>安装 TypeScript：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nb">install </span>typescript <span class="nt">--save-dev</span>
</code></pre></div></div>

<p>安装成功后终端显示：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>added 1 package in 1s
</code></pre></div></div>

<p>项目目录变成：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ts_project
│
├── node_modules
│   └── typescript
│
├── package.json
└── package-lock.json
</code></pre></div></div>

<p>说明 <strong>TypeScript 已经成功安装到当前项目中</strong>。</p>

<hr />

<h1 id="四验证-typescript-环境">四、验证 TypeScript 环境</h1>

<h2 id="1-查看-typescript-版本">1 查看 TypeScript 版本</h2>

<p>运行：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npx tsc <span class="nt">-v</span>
</code></pre></div></div>

<p>输出示例：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Version 5.x.x
</code></pre></div></div>

<p>说明 TypeScript 编译器可用。</p>

<hr />

<h2 id="2-创建-typescript-测试文件">2 创建 TypeScript 测试文件</h2>

<p>创建文件：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>index.ts
</code></pre></div></div>

<p>写入代码：</p>

<div class="language-ts highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">function</span> <span class="nx">add</span><span class="p">(</span><span class="nx">a</span><span class="p">:</span> <span class="kr">number</span><span class="p">,</span> <span class="nx">b</span><span class="p">:</span> <span class="kr">number</span><span class="p">):</span> <span class="kr">number</span> <span class="p">{</span>
  <span class="k">return</span> <span class="nx">a</span> <span class="o">+</span> <span class="nx">b</span><span class="p">;</span>
<span class="p">}</span>

<span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="nx">add</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">5</span><span class="p">));</span>
</code></pre></div></div>

<hr />

<h2 id="3-编译-typescript">3 编译 TypeScript</h2>

<p>运行：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npx tsc index.ts
</code></pre></div></div>

<p>成功后会生成：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>index.js
</code></pre></div></div>

<hr />

<h2 id="4-运行-javascript">4 运行 JavaScript</h2>

<p>运行：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>node index.js
</code></pre></div></div>

<p>输出：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>7
</code></pre></div></div>

<p>说明：</p>

<ul>
  <li>TypeScript 编译正常</li>
  <li>Node.js 运行正常</li>
  <li>项目环境配置成功</li>
</ul>

<hr />

<h1 id="五完整环境测试">五、完整环境测试</h1>

<p>如果以下命令全部运行成功，则说明环境配置完成：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>node <span class="nt">-v</span>
npm <span class="nt">-v</span>
npx tsc <span class="nt">-v</span>
node index.js
</code></pre></div></div>

<p>测试结果示例：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>v24.14.0
11.9.0
Version 5.x.x
7
</code></pre></div></div>

<hr />

<h1 id="六最终项目结构">六、最终项目结构</h1>

<p>完成配置后，项目结构如下：</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ts_project
│
├── node_modules
│
├── index.ts
├── index.js
│
├── package.json
├── package-lock.json
</code></pre></div></div>

<hr />

<h1 id="七-问题解决">七 问题解决</h1>

<p>你会在输入</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nb">install </span>typescript <span class="nt">--save-dev</span> 
</code></pre></div></div>

<p>有时可能会出现 EPERM 权限错误，类似如下问题：
<img src="/assets/blog_picture/image2.png" alt="alt text" /></p>

<p>出现该问题的原因通常是 当前用户没有 Program Files 目录的写入权限。
Windows 系统默认对该目录进行了权限限制，因此在安装 npm 依赖时可能会被拒绝访问。</p>

<p>以管理员模式打开powershell,进入 TypeScript 项目的目录,输入</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>D:<span class="se">\v</span>scode_project<span class="se">\J</span>avaScriptProject<span class="se">\j</span>sLearning<span class="se">\t</span>s_project
</code></pre></div></div>

<p>具体代码参考如下</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
Windows PowerShell
版权所有（C） Microsoft Corporation。保留所有权利。

安装最新的 PowerShell，了解新功能和改进！https://aka.ms/PSWindows

加载个人及系统配置文件用了 1835 毫秒。
(base) PS C:\WINDOWS\system32&gt; cd D:\vscode_project\JavaScriptProject\jsLearning\ts_project
(base) PS D:\vscode_project\JavaScriptProject\jsLearning\ts_project&gt; npm install typescript

added 1 package in 1s


</code></pre></div></div>

<h1 id="八总结">八、总结</h1>

<p>本文完成了以下环境配置：</p>

<ol>
  <li>安装 Node.js 和 npm</li>
  <li>创建 TypeScript 项目</li>
  <li>本地安装 TypeScript</li>
  <li>编译并运行 TypeScript 程序</li>
  <li>配置 VSCode 开发环境</li>
</ol>

<p>通过这些步骤，可以搭建一个完整的 <strong>JavaScript / TypeScript 开发环境</strong>。</p>

<hr />

<p>运行效果图:</p>

<p><img src="/assets/blog_picture/image5.png" alt="alt text" /></p>

<hr />]]></content><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><category term="Blog" /><category term="Typescript" /><category term="Javascript" /><category term="VScode" /><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">使用 Latex 解决毕业设计问题</title><link href="https://yanjie128.github.io/blog/latex-bachelor-paper.md/" rel="alternate" type="text/html" title="使用 Latex 解决毕业设计问题" /><published>2026-03-12T00:00:00+08:00</published><updated>2026-03-12T00:00:00+08:00</updated><id>https://yanjie128.github.io/blog/latex-bachelor-paper.md</id><content type="html" xml:base="https://yanjie128.github.io/blog/latex-bachelor-paper.md/"><![CDATA[<p>2026.03.12</p>

<p>最近准备使用Latex完成本科毕业设计。但是发现学校提供的开源Latex模板不太容易入门，因此通过这一篇博客讲述一下如何初始化毕设模板。</p>

<p>需要准备的内容有:</p>

<ul>
  <li>VScode</li>
  <li>下载<a href="https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/">清华源texlive2026.iso</a></li>
  <li>VSCode的插件<a href="https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop">Latex Workshop</a></li>
  <li>获取学校的Latex模板，这里采用<a href="https://github.com/Li-Wenhui/HeuThesis.git">HEU-Latex-主题</a></li>
</ul>

<p>关于texlive2026.iso的安装，网上有很多参考资料，这里不过多赘述。需要注意:</p>

<ul>
  <li>修改安装根目录，我选择的是D盘</li>
  <li>取消勾选安装TeXwords前端</li>
  <li>在Advance中，选择中文，英文或者你需要的其他语言</li>
</ul>

<p>希望这一篇博客对你的毕业设计有所帮助</p>

<p>为了在VScode中配置LaTex设置,需要在setting中打开.json, 输入以下内容:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
  "latex-workshop.latex.autoBuild.run": "never",
  "latex-workshop.showContextMenu": true,
  "latex-workshop.intellisense.package.enabled": true,
  "latex-workshop.message.error.show": false,
  "latex-workshop.message.warning.show": false,
  "latex-workshop.latex.tools": [
      {
          "name": "xelatex",
          "command": "xelatex",
          "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "%DOCFILE%"
          ]
      },
      {
          "name": "pdflatex",
          "command": "pdflatex",
          "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "%DOCFILE%"
          ]
      },
      {
          "name": "latexmk",
          "command": "latexmk",
          "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "-pdf",
              "-outdir=%OUTDIR%",
              "%DOCFILE%"
          ]
      },
      {
          "name": "bibtex",
          "command": "bibtex",
          "args": [
              "%DOCFILE%"
          ]
      }
  ],
  "latex-workshop.latex.recipes": [
      {
          "name": "XeLaTeX",
          "tools": [
              "xelatex"
          ]
      },
      {
          "name": "PDFLaTeX",
          "tools": [
              "pdflatex"
          ]
      },
      {
          "name": "BibTeX",
          "tools": [
              "bibtex"
          ]
      },
      {
          "name": "LaTeXmk",
          "tools": [
              "latexmk"
          ]
      },
      {
          "name": "xelatex -&gt; bibtex -&gt; xelatex*2",
          "tools": [
              "xelatex",
              "bibtex",
              "xelatex",
              "xelatex"
          ]
      },
      {
          "name": "pdflatex -&gt; bibtex -&gt; pdflatex*2",
          "tools": [
              "pdflatex",
              "bibtex",
              "pdflatex",
              "pdflatex"
          ]
      },
  ],
  "latex-workshop.latex.clean.fileTypes": [
      "*.aux",
      "*.bbl",
      "*.blg",
      "*.idx",
      "*.ind",
      "*.lof",
      "*.lot",
      "*.out",
      "*.toc",
      "*.acn",
      "*.acr",
      "*.alg",
      "*.glg",
      "*.glo",
      "*.gls",
      "*.ist",
      "*.fls",
      "*.log",
      "*.fdb_latexmk"
  ],
  "latex-workshop.latex.autoClean.run": "onFailed",
  "latex-workshop.latex.recipe.default": "lastUsed",
  "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click"

</code></pre></div></div>

<hr />

<h4 id="heuthesis-模板初始化与编译教程">HeuThesis 模板初始化与编译教程</h4>

<p>在下载并解压 <strong>HeuThesis LaTeX 论文模板</strong>之后，需要进行一次初始化操作，才能正常编译毕业论文。下面介绍完整的初始化流程。</p>

<hr />

<h4 id="1-解压模板并打开项目">1 解压模板并打开项目</h4>

<p>首先下载 HeuThesis 模板压缩包，并将其解压到本地目录。</p>

<p>解压完成后，使用 VSCode 打开该文件夹：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">File</span> <span class="err">→</span> <span class="nt">Open</span> <span class="nt">Folder</span>
</code></pre></div></div>

<p>选择解压后的 <code class="language-plaintext highlighter-rouge">heuthesis-master</code> 目录。</p>

<hr />

<h4 id="2-打开终端">2 打开终端</h4>

<p>在 VSCode 中打开终端：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">Terminal</span> <span class="err">→</span> <span class="nt">New</span> <span class="nt">Terminal</span>
</code></pre></div></div>

<p>此时终端的工作目录应该位于项目根目录：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">heuthesis-master</span>
</code></pre></div></div>

<hr />

<h4 id="3-生成模板类文件">3 生成模板类文件</h4>

<p>在项目根目录中可以看到一个文件：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">heuthesis</span><span class="nc">.ins</span>
</code></pre></div></div>

<p>该文件用于生成论文模板的核心类文件 <code class="language-plaintext highlighter-rouge">heuthesisbook.cls</code>。</p>

<p>首先,新建一个terminal,在终端中输入:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>heuthesis-master
</code></pre></div></div>

<p>进入跟文件夹后, 在终端中运行:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex heuthesis.ins
</code></pre></div></div>

<p>执行完成后，会生成如下文件：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">heuthesisbook</span><span class="nc">.cls</span>
</code></pre></div></div>

<p>该 <code class="language-plaintext highlighter-rouge">.cls</code> 文件是论文模板正常编译所必需的。</p>

<hr />

<h4 id="4-进入示例论文目录">4 进入示例论文目录</h4>

<p>模板中提供了示例论文，路径为：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">examples</span><span class="o">/</span><span class="nt">book</span><span class="o">/</span><span class="nt">bachelor</span>
</code></pre></div></div>

<p>在终端中进入该目录：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>examples/book/bachelor
</code></pre></div></div>

<hr />

<h4 id="5-编译论文示例">5 编译论文示例</h4>

<p>在该目录下可以看到论文主文件：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">main</span><span class="nc">.tex</span>
</code></pre></div></div>

<p>使用 <code class="language-plaintext highlighter-rouge">xelatex</code> 进行编译：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex main.tex
</code></pre></div></div>

<p>如果编译成功，会生成以下文件：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">main</span><span class="nc">.pdf</span>
</code></pre></div></div>

<p>此时即可打开 PDF 预览论文效果。</p>

<hr />

<h4 id="6-预览论文">6 预览论文</h4>

<p>生成 PDF 后，可以直接在 VSCode 或 PDF 阅读器中打开：</p>

<div class="language-css highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">main</span><span class="nc">.pdf</span>
</code></pre></div></div>

<p>查看论文模板的排版效果。</p>

<hr />

<h4 id="7-初始化完成">7 初始化完成</h4>

<p>至此，HeuThesis 模板的初始化步骤基本完成。后续只需要在 <code class="language-plaintext highlighter-rouge">main.tex</code> 及相关章节文件中修改内容，即可开始撰写自己的毕业论文。</p>

<hr />

<h4 id="总结">总结</h4>

<p>整个初始化流程可以总结为以下几个步骤：</p>

<ol>
  <li>下载并解压 HeuThesis 模板</li>
  <li>使用 VSCode 打开项目目录</li>
  <li>在终端执行 <code class="language-plaintext highlighter-rouge">latex heuthesis.ins</code> 生成模板类文件</li>
  <li>进入 <code class="language-plaintext highlighter-rouge">examples/book/bachelor</code> 示例目录</li>
  <li>使用 <code class="language-plaintext highlighter-rouge">xelatex main.tex</code> 编译示例论文</li>
  <li>打开生成的 PDF 进行预览</li>
</ol>

<p>完成以上步骤后，LaTeX 论文模板即可正常使用。</p>

<hr />

<h3 id="vscode-编译-heuthesis-论文模板报错i-cant-find-file-maintex-解决方法">VSCode 编译 HEUThesis 论文模板报错：<code class="language-plaintext highlighter-rouge">I can't find file main.tex</code> 解决方法</h3>

<p>在使用HeuThesis时，很多人在 VSCode 终端编译会遇到类似报错😡:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>! I can't find file 'main.tex'.
</code></pre></div></div>

<p>或者</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>! I can't find file 'heuthesis.ins'.
</code></pre></div></div>

<p>本文记录问题原因及解决方案。</p>

<hr />

<h4 id="1问题现象">1、问题现象</h4>

<p>在 VSCode 终端运行：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex main.tex
</code></pre></div></div>

<p>终端报错：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>! I can't find file 'main.tex'.
</code></pre></div></div>

<p>或者：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>! I can't find file 'heuthesis.ins'.
</code></pre></div></div>

<p>如下图所示：</p>

<p><img src="/assets/blog_picture/image.png" alt="alt text" /></p>

<hr />

<h4 id="2问题原因">2、问题原因</h4>

<p>问题 <strong>几乎 100% 是因为当前终端路径不正确</strong>。</p>

<p>HeuThesis 模板的目录结构如下：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>HeuThesis-master
│
└─ heuthesis-master
    │
    ├─ heuthesis.ins
    │
    └─ examples
        ├─ art
        └─ book
            └─ bachelor
                ├─ main.tex
                ├─ thesis.tex
                ├─ reference.bib
                └─ figures
</code></pre></div></div>

<p>可以看到：</p>

<h4 id="maintex-实际位置">main.tex 实际位置</h4>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>heuthesis-master/examples/book/bachelor/main.tex
</code></pre></div></div>

<p>如果你在 <strong>上层目录执行编译</strong>：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex main.tex
</code></pre></div></div>

<p>LaTeX 自然找不到文件。</p>

<hr />

<h4 id="3解决方案">3、解决方案</h4>

<h4 id="方法一进入正确目录推荐">方法一：进入正确目录（推荐）</h4>

<p>先进入 <code class="language-plaintext highlighter-rouge">main.tex</code> 所在目录：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>examples/book/bachelor
</code></pre></div></div>

<p>然后编译：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex main.tex
</code></pre></div></div>

<p>完整示例：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>D:<span class="se">\M</span>i Yanjie<span class="se">\D</span>ocuments<span class="se">\H</span>euThesis-master<span class="se">\h</span>euthesis-master<span class="se">\e</span>xamples<span class="se">\b</span>ook<span class="se">\b</span>achelor
xelatex main.tex
</code></pre></div></div>

<p>参考这个terminal界面就是成功编译的状态</p>

<p><img src="/assets/blog_picture/image1.png" alt="参考这个terminal界面就是成功编译的状态" /></p>

<hr />

<h4 id="方法二直接指定路径">方法二：直接指定路径</h4>

<p>也可以直接编译指定路径：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex examples/book/bachelor/main.tex
</code></pre></div></div>

<p>但不推荐这种方式。</p>

<hr />

<h4 id="4heuthesis-正确编译流程">4、HEUThesis 正确编译流程</h4>

<p>论文模板一般需要 <strong>多次编译</strong>：</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex <span class="nt">-shell-escape</span> main.tex
bibtex main
xelatex <span class="nt">-shell-escape</span> main.tex
xelatex <span class="nt">-shell-escape</span> main.tex
splitindex main <span class="nt">--</span> <span class="nt">-s</span> heuthesis.ist  <span class="c"># 自动生成索引</span>
xelatex <span class="nt">-shell-escape</span> main.tex
</code></pre></div></div>

<hr />

<h4 id="5vscode-推荐配置一键编译">5、VSCode 推荐配置（一键编译）</h4>

<p>如果你安装了 <strong>LaTeX Workshop 插件</strong>，可以直接一键编译。</p>

<p>快捷键：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Ctrl + Alt + B
</code></pre></div></div>

<p>默认流程：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex → bibtex → xelatex → xelatex
</code></pre></div></div>

<p>这样就不用每次手动输入命令。</p>

<hr />

<h4 id="6常见错误总结">6、常见错误总结</h4>

<table>
  <thead>
    <tr>
      <th>错误</th>
      <th>原因</th>
      <th>解决</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">I can't find file main.tex</code></td>
      <td>终端路径不对</td>
      <td>进入 main.tex 所在目录</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">I can't find file heuthesis.ins</code></td>
      <td>不在模板根目录</td>
      <td>进入 heuthesis-master</td>
    </tr>
    <tr>
      <td>中文乱码</td>
      <td>没用 xelatex</td>
      <td>使用 xelatex 编译</td>
    </tr>
    <tr>
      <td>参考文献不显示</td>
      <td>没运行 biber</td>
      <td>按完整流程编译</td>
    </tr>
  </tbody>
</table>

<hr />

<h4 id="7最佳实践推荐流程">7、最佳实践（推荐流程）</h4>

<p>1️⃣ 进入论文目录</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">cd </span>examples/book/bachelor
</code></pre></div></div>

<p>2️⃣ 编译</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>xelatex main.tex
bibtex main
xelatex main.tex
xelatex main.tex
</code></pre></div></div>

<p>3️⃣ 或使用 VSCode</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Ctrl + Alt + B
</code></pre></div></div>

<hr />

<h4 id="8总结">8、总结</h4>

<p>HEUThesis 模板编译失败，大多数情况下不是 LaTeX 问题，而是 <strong>终端路径错误</strong>。</p>

<p>只要保证：</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>在 main.tex 所在目录执行 xelatex
</code></pre></div></div>

<p>基本都可以正常编译。</p>

<hr />

<h4 id="9参考">9、参考</h4>

<ul>
  <li>
    <p><a href="https://github.com/Li-Wenhui/HeuThesis.git">HeuThesis 官方仓库</a></p>
  </li>
  <li>
    <p>LaTeX Workshop 插件文档</p>
  </li>
</ul>]]></content><author><name>Mi Yanjie</name><email>yli413241@gmail.com</email></author><category term="Blog" /><category term="Latex" /><category term="Thesis" /><summary type="html"><![CDATA[2026.03.12]]></summary></entry></feed>