编译与预览
Markdown 项目
Markdown 项目没有编译步骤,右侧预览随输入实时刷新,编辑器与预览同步滚动。
- 预览工具栏的 普通 / 数学 切换 Markdown 标准,该选择对整个项目生效,查看者不能修改。
- 普通:标准 Markdown,支持
$…$、$$…$$、\(…\)、\[…\]数学公式。 - 数学:在此基础上支持
equation、align、alignat、aligned、gather及带星号的多行公式环境。
- 普通:标准 Markdown,支持
```mermaid代码块渲染为图表,深色模式下自动使用深色主题;渲染失败时保留源码。- Markdown 中的原始 HTML 按文字显示,不会被渲染。
- 预览字号可用工具栏的 缩小预览字号 / 放大预览字号 调整。
LaTeX 与 Typst 项目
编译
- 点击预览区上方的 编译 LaTeX / 编译 Typst,或按 Ctrl/Cmd+Enter、Ctrl/Cmd+S。
- 编译在服务器上进行,所有用户共用队列,状态行依次显示“排队中”“正在编译”,结束后显示“编译完成”“已生成 PDF,但存在错误”或“编译失败”。有未编译的修改时显示“修改待编译”。
- 打开项目时会先加载上次编译的 PDF;如果没有,会自动编译一次。
- 默认编译主文件。如果当前打开的
.tex文件包含\documentclass或\begin{document},或当前.typ文件包含#set page(、#set document(或#show:,则编译当前文件,方便处理独立的小文档。
编译设置
点击编译按钮旁的 编译设置 展开,设置对整个项目生效:
| 设置 | 说明 |
|---|---|
| TeX 引擎 | pdfLaTeX(默认)/ XeLaTeX / LuaLaTeX。仅 LaTeX。中文文档通常选 XeLaTeX 并使用 ctex |
| 自动编译 | 修改停止约 1 秒后自动编译。默认关闭 |
| 源码定位 | 生成 PDF 与源码的对应关系,用于从 PDF 跳回源码;会增加编译时间。LaTeX 默认开启,Typst 由管理员设置默认值 |
| 编译模式 | 普通:完整的 latexmk 多遍编译并处理参考文献;快速:单遍编译,不处理参考文献。仅 LaTeX |
| 错误处理 | 第一次错误即停止 或 尽量完成编译(默认,有错误也尝试生成 PDF)。仅 LaTeX |
日志与错误
- 日志 按钮切换到编译日志视图,按钮上的数字是解析到的问题数量。日志视图可以 复制编译日志,点 返回 PDF 回到预览。
- 编译失败时会自动打开日志。
- AI 面板的“修复编译错误”任务可以依据日志诊断并提出修复建议,见AI 写作助手。
PDF 预览
- 缩小 / 放大:50% 到 200%,步长 10%。
- 下载 PDF:文件名使用项目标题。
- PDF 内的 http、https、mailto、tel 链接在新标签页打开;目录、交叉引用等内部链接在预览内跳转。
- 在新标签页打开 PDF:打开一个只显示 PDF 的独立页面,主标签页每次编译完成后它会自动刷新,自己不会发起编译。适合双显示器。
从 PDF 定位源码
在 PDF 上 双击 某处,编辑器跳到对应文件和行,高亮约 2 秒并提示“已定位到 文件:第 N 行”。多文件项目也支持。
前提是最近一次编译开启了“源码定位”。否则会提示“请重新编译后再从此 PDF 定位源码”;点击位置没有对应源码时提示“未在此位置找到对应源码”。目前只支持从 PDF 到源码,不支持从源码跳到 PDF。
中文与字体
- LaTeX:服务器安装了
texlive-lang-chinese,使用ctex宏包并选择 XeLaTeX 即可。 - Typst:项目内的
.otf、.ttf、.ttc字体会自动加载。中文文档必须在#set text(font: (...))中显式写出中文字体族名,例如("Libertinus Serif", "Noto Serif CJK SC"),否则 Typst 的缺字回退顺序不可控,中文可能渲染成日文或繁体字形。服务器提供的中文字体包括 Noto Serif CJK SC、Noto Sans CJK SC、LXGW WenKai、AR PL UMing CN、AR PL UKai CN、文泉驿黑体和 Fandol 系列。自动补全提供了中文字体设置片段。
限制与注意事项
| 项目 | 值 |
|---|---|
| 单次编译时长 | 默认 180 秒 |
| 编译日志 | 最多保留 512 KB |
| 输出 PDF | 最大 100 MiB |
| Typst 源码定位 | 项目超过 1000 个文件时跳过 |
- LaTeX 编译禁用了 shell escape,依赖它的宏包(如
minted)无法使用。 - 已保存项目的编译缓存保留在服务器上,后续编译是增量的,通常更快。
- 编译并行数由管理员设置,高峰期可能需要排队。