KloseDoc

编译与预览

Markdown 项目

Markdown 项目没有编译步骤,右侧预览随输入实时刷新,编辑器与预览同步滚动。

  • 预览工具栏的 普通 / 数学 切换 Markdown 标准,该选择对整个项目生效,查看者不能修改。
    • 普通:标准 Markdown,支持 $…$、$$…$$、\(…\)、\[…\] 数学公式。
    • 数学:在此基础上支持 equation、align、alignat、aligned、gather 及带星号的多行公式环境。
  • ```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)无法使用。
  • 已保存项目的编译缓存保留在服务器上,后续编译是增量的,通常更快。
  • 编译并行数由管理员设置,高峰期可能需要排队。