正式出版物: typst vs markdown(pandoc) vs latex

📅 2026/6/25 12:52:05
正式出版物: typst vs markdown(pandoc) vs latex
pandoc虽然支持格式广泛但如果要做到正式出版物的程度要折腾消耗很多精力找各种第三方插件还有各种坑。可能会出现我明明在写文章但我得先去修复插件的bug 。如果一定需要支持可编辑的doc/ppt再考虑pandocmarkdown吧。slidev支持从markdown生成网页交互式ppt也可以折腾一个slidev模板。latex 尾大不掉我没用过所以无法深入评价。typst性能新星官方云服务支持多人编辑排版够用但对中文支持欠缺。相对markdown要学更多是一种可编程的文章格式(mdx: 有人说我吗)。仍然需要用pandoc从typst转doc插件导出的ppt是烘焙图片的只读形式缺乏动态的交互。导出docppt:pandoc胜出楼主用过pandoc折腾过毕业论文所以必须要支持导出到docx给老师看如果支持ppt方便答辩展示则是一个加分项。pandoc: 双向转换支持最多的格式生成可编辑的pptx与docxtypst: 官方支持 PDF, PNG, SVG, HTML. 插件支持 图片烘焙的静态只读PPT, DOClatex: 貌似官方只能导出pdflatex与其他格式互转需要借助pandocTOC目录生成TODO: 不知道 自定义目录样式 谁的上限高不过应该都挺折腾的不评价。pandoc导出的 docx 还需要进 word 二次编辑。pandoc: 比较鸡肋, 见issue: 目录无法单开一页# pandoc --defaultsconf.yaml toc: true toc-depth: 4typst#outline()latex\tableofcontents引用:typst胜出联动生成参考文献typst和latex很方便pandoc折腾好了还行pandoc, 需2个独立文件.bib记录引用的文献.csl设置其格式这里引用AClon的文献。 [ref_2026] !-- 参考文献 -- ::: {#refs} :::typst, 参考文献这里引用AClon的文献。ref_2026 cite_id. 你也可以显式地调用cite命令: #cite(ref_2026) #bibliography(ref.bib)latex这里引用AClon的文献。\citet{ref_2026}脚注语法上都各有所好有的长点有的短点不评价。pandocHere is a footnote reference,[^1] and another.[^longnote] [^1]: Here is the footnote. [^longnote]: Heres one with multiple blocks.typstYou can edit Typst documents online. #footnote[https://typst.app/app] fn Checkout Typsts website. fn And the online app. #footnote(fn)latex\footnote[number]{text for footnote}图表自动标注:typst胜出pandoc这里完全依赖第三方插件不推荐很折腾。latex语法太冗长了。typst的表格没有markdown的表格语法直观但typst的表格排版更好控制。第三方插件 pandoc-crossref如果要将 mermaid, plantuml 的代码块变成标号图就需要自己折腾。我的方法是convert.py里的正则替换来自动给表与图区分开自动编号。需配合pandoc-figure-caption-patch--- ## pandoc-figure-caption-patch autoFigLabels: true ## crossref chapters: true chaptersDepth: 1 figureTitle: 图 tableTitle: 表 titleDelim: chapDelim: - figPrefix: [] tblPrefix: [] --- mermaid graph LR A -- B : mermaids caption {#fig:mermaid} plantuml A - B : umls caption {#fig:uml}typstglacier shows a glacier. Glaciers are complex systems. #figure( image(glacier.jpg, width: 80%), caption: [A curious figure.], ) glacier #figure( table( columns: 4, [t], [1], [2], [3], [y], [0.3s], [0.4s], [0.8s], ), caption: [Timing results], )latex\begin{figure}[ht] % [ht] 控制图片位置 (here, top) \centering % 图片居中 \includegraphics[width0.5\textwidth]{example.jpg} \caption{这是标题内容} % 自动生成 Figure 1: 这是标题内容 \label{fig:my_image} % 用于文中引用的标签 \end{figure}代码引用自动更新:typst胜出typst原生支持代码同步我自研的第三方插件 pandoc-code-include{.py includeconvert.py snippetmain .numberLines} typst#let text read(code.py) #raw(text, block: true, lang: python)latex\usepackage{listings} \begin{lstlisting}[caption{我的 Python 代码}, label{lst:example}, languagePython] print(Hello World) \end{lstlisting} % 文中引用 如代码 \ref{lst:example} 所示...语法markdown## 必读文档 Must Read [ draw.io 流程图后期编辑](https://app.diagrams.net/): 支持导入 mermaid plantuml sql csv [default table style 默认表格样式✅MS-Word❌WPS](https://github.com/jgm/pandoc/issues/3275#issuecomment-369198726) [markdown转markdown\$toc\$自定义目录位置](https://github.com/jgm/pandoc/wiki/Pandoc-Tricks#using-markdown-templates) [用markdown写论文geChunYu](https://ge-chunyu.github.io/posts/2019-11-pandoc-large-document/) [用markdown写论文st1020](https://st1020.com/write-thesis-with-markdown-part1/) **关键词** Markdown; Pandoc \newpage div custom-styleTitle Based on pandoc word template /divdiv custom-styleAbstract Title Abstract /div Write abstract here. **Key Words:** Markdown; Pandoc /div br section # Heading 1 ## Heading 2 ### Heading 3 #### Heading 4 ##### Heading 5 ###### Heading 6 首段落 First Paragraph. 正文Normal, 正文字体Body Text. Verbatim Char代码字体 [超链