
简介这是一款面向中文写作与学术排版场景的 Typora 主题资源适合习惯用 Markdown 撰写论文、报告、笔记的学生与研究者。主题在官方 Academic 基础上做了本地化调整正文字体采用华文中宋等宽字体选用 CamingoCode并针对代码块加入更醒目的外边框样式兼顾中文阅读舒适度与代码展示清晰度。压缩包共 14 个文件约 15.46MB包含 8 个 woff 字体文件、2 个 css 样式表、2 个 pdf 说明与许可文档以及 txt、md 各一份字体与样式分离便于按需替换。安装时只需将 academic-zh 目录与 academic-zh.css 解压至 Typora 主题文件夹即可启用。资源还附带右对齐、居中对齐等排版写法说明方便快速调整版式。目前已有 451 人学习下载适合希望提升中文文档排版质感的用户参考使用。1. 中文学术写作在 Typora 里为什么总差点意思用 Typora 写论文、开题报告、课程作业的人多半都经历过同一个瞬间内容敲完了导出 PDF 一看字距松垮、行距发飘、中文标点挤在一起标题层级和正文几乎糊成一片。英文 Markdown 主题在中文语境下天生水土不服——西文字体度量小、字重层次靠字号拉开而中文方块字一旦行高不够就闷、字距不调就散。Typora-Academic-Zh 这个方向要解决的就是让 Typora 在中文长文写作场景下输出接近学术排版规范的观感正文用衬线或准衬线字体、标题层级清晰、行距 1.6 到 1.8、段首缩进可选、引用与代码块不喧宾夺主。它适合写论文、报告、技术文档的人也适合想把 Typora 当主力写作工具、又不想每次手动调格式的从业者。下面按「主题怎么装、CSS 怎么写、参数怎么调、坑在哪」一路讲透能直接抄去改。2. Typora 主题机制与中文学术排版的选型逻辑2.1 Typora 主题到底加载了什么Typora 的主题本质是一个 CSS 文件加一份配置声明放在主题目录下通过「偏好设置 → 外观 → 打开主题文件夹」定位。它不像 VS Code 那样有复杂的扩展宿主Typora 只做一件事把当前主题的 CSS 注入到渲染进程覆盖默认样式。这意味着你能改的东西非常直接——字体族、字号、行高、颜色、间距、边框全部落在 CSS 选择器上。学术风格主题和普通美化主题的分水岭在于前者优先保证「长时间阅读不累、打印/导出不失真」后者优先「截图好看」。所以选型时先明确用途。如果最终要导出 PDF 交作业或投稿字体必须考虑系统是否装了对应字库否则导出时静默回退到默认字体你本地看着好看别人打开就翻车。常见做法是正文优先用「思源宋体 / Noto Serif CJK SC」这类开源可嵌入字体标题用「思源黑体 / Noto Sans CJK SC」保证跨机器一致。2.2 中文学术排版的四个硬指标第一是行高。中文没有西文那样明显的 x-height 和升降部行高低于 1.5 就会显得拥挤学术长文建议 1.7 到 1.8。第二是字距中文默认字距偏紧正文可加 0.02em 到 0.05em 的 letter-spacing但标题不要加否则松散。第三是段首缩进中文学术规范通常要求首行缩进两字符对应text-indent: 2em但 Markdown 里列表、引用、代码块不能缩进需要单独排除。第四是标题层级一级标题和正文的字号差要拉开同时用字重和上下间距共同区分不能只靠字号。下面这段是主题 CSS 的核心骨架可以直接作为起点/* Typora 中文学术主题核心样式 */ :root { --body-font: Noto Serif CJK SC, Source Han Serif SC, serif; --title-font: Noto Sans CJK SC, Source Han Sans SC, sans-serif; --body-size: 16px; --line-height: 1.75; --text-color: #1a1a1a; } #write { font-family: var(--body-font); font-size: var(--body-size); line-height: var(--line-height); color: var(--text-color); letter-spacing: 0.02em; max-width: 820px; /* 控制正文行宽避免一行过长 */ margin: 0 auto; padding: 40px 32px; } /* 正文段落首行缩进排除列表/引用/代码 */ #write p { text-indent: 2em; margin: 0.6em 0; } #write li p, #write blockquote p, #write pre p { text-indent: 0; } /* 标题层级字重 间距共同区分 */ #write h1, #write h2, #write h3 { font-family: var(--title-font); font-weight: 600; line-height: 1.4; margin-top: 1.6em; margin-bottom: 0.6em; } #write h1 { font-size: 1.8em; } #write h2 { font-size: 1.45em; } #write h3 { font-size: 1.2em; }逻辑说明:root里定义变量方便一处改全局#write是 Typora 正文容器的固定 id所有正文样式挂在它下面max-width控制行宽在 40 到 45 个中文字符这是学术阅读的舒适区text-indent只作用于p再用后代选择器把列表、引用、代码块里的段落缩进清零避免格式错乱。参数上--body-size16px 是屏幕阅读下限打印可调到 12pt 对应值--line-height1.75 是中文长文经验值低于 1.6 会闷。2.3 主题目录结构与安装步骤Typora 主题文件夹里通常有一个themes子目录每个主题一个.css文件文件名即主题名。安装步骤打开 Typora菜单「偏好设置 → 外观 → 打开主题文件夹」。在打开的目录里新建academic-zh.css把上面的骨架粘进去。重启 Typora在「主题」菜单里选中academic-zh。打开一篇中文长文检查行高、缩进、标题层级。如果主题菜单里没出现多半是文件名和 CSS 里的注释名不一致或者文件放错了层级。Typora 只认主题文件夹根目录下的.css放进子目录不会被扫描。这一步是新手最常卡的地方别急着怀疑 CSS 写错。3. 把学术规范写进 CSS字体、行距与标题层级3.1 字体回退链怎么排才不翻车中文字体在不同系统上差异极大。Windows 自带宋体、微软雅黑macOS 自带苹方、宋体-简Linux 上则依赖发行版预装。学术主题必须写完整的回退链让每台机器都能落到一个可接受的字体上:root { --body-font: Noto Serif CJK SC, /* 首选开源可嵌入跨平台一致 */ Source Han Serif SC, /* 思源宋体Adobe 版命名 */ Songti SC, /* macOS 宋体 */ SimSun, /* Windows 宋体 */ serif; /* 最终兜底 */ }逻辑说明CSS 字体族按顺序匹配找到第一个系统可用的就停。把开源字体放最前是为了在装了字库的机器上获得一致观感把系统字体放后面保证没装字库的机器不至于回退到无衬线。参数上正文用衬线serif符合学术印刷传统标题用无衬线sans-serif形成对比。注意别把「微软雅黑」放正文首选它是无衬线长文阅读偏累且字重偏粗。提示导出 PDF 前先在目标机器上确认字体是否安装。Typora 导出不会嵌入系统未安装的字体缺失时静默替换这是最常见的「本地好看、导出变样」原因。3.2 行距、字距与段距的联动调参行距、字距、段距三者要联动调单独调一个往往按下葫芦浮起瓢。经验组合是行高 1.75、字距 0.02em、段间距 0.6em。如果行高拉到 1.8 以上段间距要相应减小到 0.4em否则整页显得松散如果字距加到 0.05em行高可以略降到 1.7因为字距本身增加了横向呼吸感。#write { line-height: 1.75; letter-spacing: 0.02em; } #write p { margin: 0.6em 0; } /* 引用块学术场景弱化装饰保留左侧竖线 */ #write blockquote { border-left: 3px solid #c8c8c8; padding-left: 1em; margin: 1em 0; color: #444; font-style: normal; /* 中文不用斜体斜体在中文里是伪斜体 */ }逻辑说明中文没有真正的斜体字形浏览器会用倾斜变换伪造观感很差所以引用块强制font-style: normal靠颜色和左边框区分。参数上引用块左边框 3px 是可见但不抢眼的下限颜色用中灰而非纯黑。段间距 0.6em 配合行高 1.75视觉上段落分隔清晰又不至于断裂。3.3 标题层级与编号的视觉处理学术文档的标题往往带编号1、1.1、1.1.1Typora 不会自动生成编号需要手动写或借助 CSS 计数器。如果想让标题自动编号可以用 CSS counter但要注意它只影响显示不影响 Markdown 源文导出时行为取决于导出引擎。#write { counter-reset: h2counter; } #write h2 { counter-reset: h3counter; } #write h2::before { counter-increment: h2counter; content: counter(h2counter) . ; } #write h3::before { counter-increment: h3counter; content: counter(h2counter) . counter(h3counter) ; }逻辑说明counter-reset在父容器初始化计数器counter-increment每遇到一个标题自增content把编号插到标题前。参数上h2 重置 h3 计数器保证每个二级标题下的三级编号从 1 开始。注意这套方案在 Typora 编辑区生效但导出 PDF 时部分版本不保留伪元素编号稳妥做法是手动写编号CSS 只做样式。4. 导出 PDF 与打印样式学术交付的最后一公里4.1 打印媒体查询要单独写屏幕样式和打印样式是两套逻辑。屏幕讲究对比度和舒适行宽打印讲究墨量、分页和边距。学术主题必须写media print否则导出 PDF 会出现背景色块、链接变色、分页断裂等问题。media print { #write { max-width: none; padding: 0; font-size: 12pt; /* 打印用 pt12pt 约等于小四 */ line-height: 1.6; /* 打印行距可比屏幕略紧 */ color: #000; } #write h1, #write h2, #write h3 { page-break-after: avoid; /* 标题后不分页避免孤行 */ } #write pre, #write blockquote { page-break-inside: avoid; } a { color: #000; text-decoration: none; } }逻辑说明page-break-after: avoid防止标题落在页尾、正文翻页这是学术排版的基本要求page-break-inside: avoid防止代码块和引用被拦腰截断。参数上打印字号用 pt 而非 px12pt 对应中文小四是论文正文常见规格。链接去色去下划线避免打印出彩色。4.2 导出参数与常见导出问题Typora 导出 PDF 走的是内置引擎页面大小、边距在导出对话框里设置。学术交付建议 A4、边距上下 2.5cm、左右 3cm留出装订空间。如果导出后发现中文字体变了回到 3.1 检查字体回退链如果公式渲染异常检查是否用了 Typora 支持的数学语法如果分页位置不对用page-break系列属性微调。导出项学术推荐值说明页面大小A4国际通用投稿多要求上下边距2.5cm留页眉页脚空间左右边距3cm装订侧可再加 0.5cm正文字号12pt对应中文小四行距1.6打印比屏幕略紧注意Typora 不同版本导出引擎有差异升级后建议重新导出一份样张核对别默认旧配置一直有效。5. 避坑与排查主题改完没生效的五个真实原因现象一改了 CSSTypora 里毫无变化。原因通常是没重启 Typora或者改的不是当前选中主题的文件。解决确认「主题」菜单里选中的名字和文件名一致改完重启必要时在「偏好设置 → 外观」里重新点一次主题。现象二正文缩进了但列表和引用也跟着缩进。原因是text-indent写在了#write上而不是#write p上继承到了所有子元素。解决缩进只作用于p再用后代选择器把li p、blockquote p、pre p清零参考 2.2 的写法。现象三导出 PDF 后字体全变了。原因是目标机器没装 CSS 里首选的中文字体回退到了兜底字体。解决字体回退链写全或改用系统自带字体交付前在目标机器上导出一份核对。现象四标题编号在编辑区有、导出后没了。原因是 CSS 伪元素::before在导出引擎里不被保留。解决学术交付场景手动写编号CSS 只负责样式别依赖计数器。现象五代码块在 PDF 里被分页截断。原因是没写打印媒体查询。解决加media print里的page-break-inside: avoid同时给pre设置合理max-height超长代码块考虑拆分。6. 进阶让主题适配多场景与长期维护主题写到能用只是起点长期维护才是分水岭。我一般会把主题拆成三层变量层字体、字号、颜色、基础层正文、标题、列表、场景层打印、暗色、宽屏。变量层集中改场景层用媒体查询覆盖这样换字体或调行距只动一处。暗色模式是很多人忽略的场景。学术写作常在夜间进行纯白背景刺眼。可以加一段media (prefers-color-scheme: dark)把背景换成深灰、正文换成浅灰但注意别用纯黑纯白对比度过高反而累眼。media (prefers-color-scheme: dark) { :root { --text-color: #d8d8d8; } #write { background: #1e1e1e; color: var(--text-color); } #write blockquote { border-left-color: #555; color: #aaa; } }逻辑说明用系统偏好自动切换不用手动改主题背景 #1e1e1e 是深灰而非纯黑正文 #d8d8d8 是浅灰而非纯白降低对比疲劳。参数上暗色下引用块边框和文字都要相应调暗否则会突兀。验证主题是否达标我有个笨办法但很管用找一篇一万字以上的中文长文通读一遍记录眼睛累的位置再对照行高、字距、段距逐项微调。别一次改五个参数改一个、看一段、再改下一个否则你永远不知道是哪个参数起了作用。这套主题我前后调了十几版最大的教训是学术排版的克制比花哨重要能让人忘记排版、专心读内容才算成了。希望帮到你。本文还有配套的精品资源点击获取