markdown转pdf,方法总结

news/2024/10/22 20:07:10

 

总结使用

1. VScode插件Markdown Preview Enhanced。格式是正确的。但是无法批处理和指令处理
 
2. pandoc --pdf-engine=typst。无法导出粗体和斜体

 

需求

markdown格式转为pdf

 

我遇到的:

1. 我现在想把多个八股文文档(GitHub项目里的 scutan90/DeepLearning-500-questions: 深度学习500问,以问答形式对常用的概率知识、线性代数、机器学习、深度学习、计算机视觉等热点问题进行阐述,以帮助自己及有需要的读者。 全书分为18个章节,50余万字。由于水平有限,书中不妥之处恳请广大读者批评指正。 未完待续............ 如有意合作,联系scutjy2015@163.com 版权所有,违权必究 Tan 2018.06)

2. 有的GitHub项目,可以导出markdown、pdf,比如OI-Wiki

 

遇到问题

1. markdown格式,涉及多种不同的设计规则。这里应该是Github专门的md格式

2. 公式有时识别不到

3. 换行、图片位置,有时做得不好

4. 中文、英文字体和粗体,有时无法处理

 

着手方向

1. Github本身是怎么处理打印这件事的。还有参考一些项目,比如OI-Wiki,看看它们怎么去处理,它们挺有打印成pdf的需求的。

2. 一些已有的GitHub项目,python库,还有Foxit这样的PDF阅读器,还有一些md的软件,比如typora。

3. 搜索VScode插件、GitHub项目,关键词如multi、multiply、batch

 

 

已有方法,网上的讨论

How Can I Convert Github-Flavored Markdown To A PDF - Super User
 
 
http://www.markdowntopdf.com
 
 

 

 
 

vscode插件Markdown Preview Enhanced

格式都挺好的

不过只能手动处理,而且无法批处理

 

Markdown PDF vscode插件 / 工具

 

但是转pdf或html,效果不好:

 这是因为markdown转pdf 公式没有得到转换

采用VScode中Markdown PDF无法正确输出包含公式的pdf解决方案_markdown pdf 数学公式无法识别-CSDN博客 这里的方法解决,

Markdown PDF无法正确输出包含公式的pdf解决方案
安装该插件后,可以找到如下路径文件

C://Users/<username>/.vscode/extensions/yzane.markdown-pdf-XXX/template/template.html
然后在该文件末尾添加如下两行javascript代码。

 

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$', '$']]}, messageStyle: "none" });</script>

 

 

vscode插件Markdown All in One

Ctrl+Shift+P: Markdown: Print current document to HTML 或者右键

可以批处理

 

 

得到的是md->html,完整文件夹多级结构的一一对应。特别好!

 

但是只能转html格式

它的换行没做好,比如(1)(2)(3)缩在了同一行。

还有有些图片的换行、居中、大小不太好。

 

而且无法用指令去处理,但是其实批处理一个文件夹内的所有文件,已经挺可以了。

 

html转pdf

1. wkhtmltopdf:公式有些没识别到,还有公式格式有点难看

2. foxit:可以批处理,选择一个文件夹。有些图片的换行、居中、大小不太好

 

 

markdown-pdf项目

alanshaw/markdown-pdf: Markdown to PDF converter

 

选择node版本11.10(选择高版本可能会报错):

npm install markdown-pdf --save

 

 

它可以进行批处理

alanshaw/markdown-pdf: Markdown to PDF converter

这是官方提供的,From multiple paths to multiple paths:

var markdownpdf = require("markdown-pdf")var mdDocs = ["home.md", "about.md", "contact.md"], pdfDocs = mdDocs.map(function (d) { return "out/" + d.replace(".md", ".pdf") })markdownpdf().from(mdDocs).to(pdfDocs, function () {pdfDocs.forEach(function (d) { console.log("Created", d) })
})

 

node xxx.js

 

 

但是公式没识别出来 

 

 

pandoc

1. pandoc --pdf-engine=xelatex

有可能遇到问题

! Package amsmath Error: Erroneous nesting of equation structures; (amsmath) trying to recover with `aligned'.

See the amsmath package documentation for explanation. Type H <return> for immediate help. ...l.584 \end{align*}

 

解决方案是把前后的"$$"删除

 

2. pandoc --pdf-engine=typst

遇到问题,无法粗体和斜体

使用

--ascii

--highlight

-V CJKmainfont:SourceHanSerifCN-Regular -V CJKoptions:BoldFont=SourceHanSansCN-Medium,ItalicFont=STKaiti

都不行

 

潜在解决方法:官方文档

用 pandoc 让 Markdown 从 LaTeX 输出 pdf 文档 - 黄石的时空回环

中文没有加粗 | Typst 中文社区导航

 

其它方法和软件

1. prince软件(Markdown Preview Enhanced里面有使用)

2. 

  • pandoc + Typst
  • pandoc + latex
  • rst2pdf
  • rinohtype
  • weasyprint
  • mdpdf

 

效果均不太理想

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/74779.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

苦寻多日,终于搞定了地形切片,向大家安利一下这款超简单的免费GIS工具箱

概述 地形切片是将大范围的地形数据分割成小块(切片)进行存储和展示的技术,常用于高效的三维地形可视化和动态加载。在实际操作中,可以通过GISBox等工具进行地形切片处理。今天和大家安利的GISBox 是一个用于GIS模型切片、服务分发的免费GIS工具箱,其中包括了支持地形切片…

历届 CSP 刷题记录

\(\texttt{CSP 2019}\) J 组 \(\texttt{T3}\) 题目传送门 注意到一点:每天卖出纪念品换回的金币可以立即用于购买纪念品,当日购买的纪念品也可以当日卖出换回金币。当然,一直持有纪念品也是可以的。 这告诉我们:在一天内,纪念品就是钱,钱就是纪念品,钱和纪念品没有本质区…

Nacos K8s

Nacos 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 是构建以服务为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。更多的功能特性介绍请查看 Nacos 概览。 在本文…

RocketMQ - 总结

1. 为什么要使用MQ,使用场景是什么异步 : 减少请求响应时间,实现非核心流程异步化 (架构设计原则,能异步就不要同步) 解耦:屏蔽异构平台的细节,生产者消费者可自行扩展修改系统能力只需遵循消息约束,生产者消费者不受对方影响 流量削峰:消息堆积能力,消息保存在MQ中,…

数据采集作业一

一、用requests和BeautifulSoup库方法定向爬取给定网址(http://www.shanghairanking.cn/rankings/bcur/2020)的数据,屏幕打印爬取的大学排名信息点击查看代码 # 目标网址 url = "http://www.shanghairanking.cn/rankings/bcur/2020"# 获取网页内容 response = url…

PbootCMS提示错误信息“未检测到您服务器环境的sqlite3数据库扩展

检查并开启 sqlite3 扩展打开 PHPStudy Pro 软件。 导航至设置 -> 配置文件 -> php.ini。 选择你当前使用的 PHP 版本(例如 php7.3.4nts)并点击打开 php.ini 文件。 在 php.ini 文件中搜索 extension=sqlite3。 如果该行被注释掉(前面有分号 ;),则去掉分号以启用扩展…

PbootCMS上传空间后前台打开内页显示404错误怎么解决

检查 URL 规则配置登录 PbootCMS 后台。 导航至 配置参数 -> URL规则。 选择 伪静态模式 并保存。添加伪静态规则根据你的服务器环境,选择合适的伪静态规则文件。 一般情况下,Apache 环境使用 .htaccess 文件。Apache 环境配置将 rewrite 文件夹中的 .htaccess 文件复制到…

例题2.3

例题2.3代码 L = [abc, 12, 3.45, python, 2.789] print(L) print(L[0]) L[0] = a L[1:3] = [b, Hello] print(L) L[2:4] = [] print(L)