Pandoc新手使用常见问题

一、Pandoc可以做什么?

Pandoc 可以很方便快捷地对不同语言的文件进行格式转换,因此被誉为格式转换的「瑞士军刀」。常见的应用包括但不限于将markdown格式文件转换为latex格式和pdf格式等等。

二、下载与安装

访问Pandoc官网进行安装包下载。

下载完成后在本地运行安装程序。

完成后可以按Win+R打开控制台,输入

pandoc --version

如果返回了一个具体的pandoc版本,没有发生报错,说明安装成功。

三、使用问题

问题一:xelatex not found. Please select a different --pdf-engine or install xelatex

问题产生的原因:在将含有latex格式代码的进行转换时尝试调用xelatex库,但这个库在本地没有安装。

解决方案:

下载并安装MiKTeX发行版。

下载到本地并进行安装后,我们需要手动添加环境变量。将MiKTex目录下的

\miktex\bin\x64

文件夹添加到Windows系统的环境变量。

Tip:

1.按Win+I打开系统设置

2.选择设置->系统->系统信息->高级系统设置->环境变量->系统变量->Path

3.双击打开Path目录,将上面的目录添加到环境变量。

添加路径完成后,在cmd中输入

xelatex --version

检查MiKTeX是否安装成功并已经被添加的环境变量。

再次运行Pandoc相关指令,不再发生此报错。

问题二:[WARNING] Missing character: There is no 绗?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)

类似的报错还有很多,比如:

[WARNING] Missing character: There is no 绗?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)

[WARNING] Missing character: There is no 涓?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)

[WARNING] Missing character: There is no 鍨?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)

[WARNING] Missing character: There is no 鍒?pandoc.exe: <stderr>: hPutChar: invalid argument (Invalid argument)

问题产生的原因:Pandoc 默认使用转换方式 pdflatex 命令无法处理 Unicode 字符,如果要处理的Markdown 文件包含中文,我们需要使用 xelatex ,并且需要使用 CJKmainfont 选项指定支持中文的字体。

解决方案:

使用类似下面格式的指令。

其中"KaiTi"表示的是指定中文字体为“楷体”

pandoc --pdf-engine=xelatex -V CJKmainfont="KaiTi" test.md -o test1.pdf

如何查看自己的系统支持什么字体?

在cmd中输入如下指令

fc-list :lang=zh

可以看到控制台打印出类似下图的支持列表

问题三:当我添加了中文转换的参数后,Pandoc在将Markdown转换为PDF格式时仍然发生和问题2中相同的报错

问题产生的原因:在latex公式里如果使用中文,需使用\text命令将公式中的中文包裹起来。

在多行公式中使用单行公式,其中的中文即使已经在\text中,仍然需要再次使用\text进行包裹,具体格式如图中的例子。

问题四:引用块、表格或列表无法正确渲染

转换后得到的PDF文件中,引用块(Block Quote)、表格(Table)或列表(List)无法正确渲染。

问题产生的原因:在 Pandoc 中规定,Block Quote,Table 以及 List 前需要空一行。

解决方案:在每个没有正确换行并渲染的位置前面多打一个回车,额外空出一行。

四、参考

本文参考了@jdhao大佬的Pandoc教学:纯文本做笔记 --- 使用 Pandoc 把 Markdown 转为 PDF 文件

大佬好厉害qwq

参考了@小林up大佬的报错解决方案:

pandoc输出中文pdf cmd命令记录_pandoc 中文-CSDN博客

大佬太强了pwp

如果有帮助到您的话,可以点一个赞吗TwT,我会很开心。

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

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

相关文章

无耳科技 Solon v3.0.7 发布(2025农历新年版)

Solon 框架&#xff01; Solon 框架由杭州无耳科技有限公司&#xff08;下属 Noear 团队&#xff09;开发并开源。是新一代&#xff0c;面向全场景的 Java 企业级应用开发框架。从零开始构建&#xff08;非 java-ee 架构&#xff09;&#xff0c;有灵活的接口规范与开放生态。…

用科技守护团圆时光,约克VRF中央空调新天氟地水/天氟热水让春节更美好!

冬日,是思念的漫卷。有一种温暖,叫回家过年。在每个人的心中,都有着将自己的家营造得更加舒适、健康的愿望,尤其在近些年,受益于国内经济的快速增长,以及人民生活水平提升带来的对生活居住环境舒适度要求的提高,中央空调正在成为越来越多家庭的首选,而全面升级焕新的约克VRF中央…

如何获取小程序的code在uniapp开发中

如何获取小程序的code在uniapp开发中&#xff0c;也就是本地环境&#xff0c;微信开发者工具中获取code&#xff0c;这里的操作是页面一进入就获取code登录&#xff0c;没有登录页面的交互&#xff0c;所以写在了APP.vue中&#xff0c;也就是小程序一打开就获取用户的code APP.…

css3 svg制作404页面动画效果HTML源码

源码介绍 css3 svg制作404页面动画效果HTML源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果 效果预览 源码如下 <!doctype html> <html> <head> <meta charse…

JAVAweb学习日记(八) 请数据库模型MySQL

一、MySQL数据模型 二、SQL语言 三、DDL 详细见SQL学习日记内容 四、DQL-条件查询 五、DQL-分组查询 聚合函数&#xff1a; 分组查询&#xff1a; 六、DQL-分组查询 七、分页查询 八、多表设计-一对多&一对一&多对多 一对多-外键&#xff1a; 一对一&#xff1a; 多…

leetcode28-找出字符串中第一个匹配的下标

leetcode 28 思路 首先循环haystack&#xff0c;然后当当前字符和needle的首字母相同的时候截取出长度等于needle的字符串&#xff0c;进行比较是否相等&#xff0c;如果相等则说明当前index为第一个匹配的下标&#xff0c;如果不相等则说明不正确继续进行遍历&#xff0c;直…

【含代码】逆向获取 webpack chunk 下的__webpack_require__ 函数,获悉所有的模块以及模块下的函数

背景 Webpack 打包后的代码是不会直接暴露 __webpack_require__ 函数&#xff0c;目的是为了避免污染全局变量同时也为了保护 webpack 的打包后的模块都隐藏在闭包函数里&#xff0c;达到数据的安全性。 而有时我们为了测试某个函数&#xff0c;想直接获取这个内置函数&#…

什么是区块链

区块链是一种去中心化的分布式账本技术&#xff0c;它通过一系列复杂而精密的设计原则和机制来确保数据的安全性、透明性和不可篡改性。在最基础的层面上&#xff0c;区块链是由一系列按照时间顺序链接起来的数据块组成的链式结构。每个数据块中包含了一定数量的交易记录或状态…

【嵌入式】总结——Linux驱动开发(三)

鸽了半年&#xff0c;几乎全忘了&#xff0c;幸亏前面还有两篇总结。出于快速体验嵌入式linux的目的&#xff0c;本篇与前两篇一样&#xff0c;重点在于使用、快速体验&#xff0c;uboot、linux、根文件系统不作深入理解&#xff0c;能用就行。 重新梳理一下脉络&#xff0c;本…

使用MQTT.fx向阿里云物理网平台上报物理模型数据

MQTT向阿里云物理网平台上报物理模型数据 一、前言二、测试三、结束语 一、前言 上一篇文章介绍了阿里云物联网平台的基本使用&#xff08;文章入口&#xff09;&#xff0c;本篇博客接着来讲&#xff0c;主要介绍如何使用MQTT连接测试工具向阿里云物联网平台上报物理模型数据。…

用Ollama跑DeepSeek R1

文章目录 1. 下载Ollama2. 安装Ollama3. 下载DeepSeek R14. 体验DeepSeek R14.1 智能客服与问答系统4.2 内容创作与文案生成4.3 编程与代码辅助4.4 教育与学习辅助微积分基础练习题题目1&#xff1a;极限计算题目2&#xff1a;导数计算&#xff08;基本函数&#xff09;题目3&a…

Linux 设备树

系列文章目录 Linux 知识&#xff08;2&#xff09; 文章目录 系列文章目录一、介绍二、分析工具查找 DTSoverlay流程分析初始化设备注册 参考 一、介绍 设备树(Device Tree)&#xff0c;将这个词分开就是“设备”和“树”&#xff0c;描述设备树的文件叫做 DTS(Device Tree So…

iOS 集成ffmpeg

前言 本来打算用flutter去实现一个ffmpeg的项目的&#xff0c;不过仔细分析了一下&#xff0c;我后期需要集成OpenGL ES做视频渲染处理&#xff0c;OpenGL ES的使用目前在flutter上面还不是很成熟&#xff0c;所以最后还是选择用原生来开发 ffmpeg集成到iOS工程 iOS对于ffmp…

手机app如何跳过无障碍权限实现弹框自动点击-ADB连接专题

手机app如何跳过无障碍权限实现弹框自动点击 --ADB连接专题 一、前言 我们在前期的时候&#xff0c;在双SIM卡进行协同外呼和SIM卡切换时&#xff0c;对如何在手机中“执行批处理脚本做自动点击”的内容进行预研&#xff0c;力图使用事件触发和坐标点击等方式来实现手机安装…

Blazor-选择循环语句

今天我们来说说Blazor选择语句和循环语句。 下面我们以一个简单的例子来讲解相关的语法&#xff0c;我已经创建好了一个Student类&#xff0c;以此类来进行语法的运用 因为我们需要交互性所以我们将类创建在*.client目录下 if 我们做一个学生信息的显示&#xff0c;Gender为…

高速光模块中的并行光学和WDM波分光学技术

随着AI大模型训练和推理对计算能力的需求呈指数级增长&#xff0c;AI数据中心的网络带宽需求大幅提升&#xff0c;推动了高速光模块的发展。光模块作为数据中心和高性能计算系统中的关键器件&#xff0c;主要用于提供高速和大容量的数据传输服务。 光模块提升带宽的方法有两种…

RNN实现阿尔茨海默症的诊断识别

本文为为&#x1f517;365天深度学习训练营内部文章 原作者&#xff1a;K同学啊 一 导入数据 import torch.nn as nn import torch.nn.functional as F import torchvision,torch from sklearn.preprocessing import StandardScaler from torch.utils.data import TensorDatase…

RabbitMQ---面试题

常见面试题 1.MQ的作用及应用场景 类似问题&#xff1a;项目什么情况下用到了MQ&#xff0c;为什么要用MQ MQ的主要应用场景&#xff0c;消息队列的应用场景&#xff0c;为什么说消息队列可以削峰 首先MQ是一种用来接收和转发消息的队列&#xff0c;常见的应用常见如下&…

全球AI模型百科全书,亚马逊云科技Bedrock上的100多款AI模型

今天小李哥给大家介绍的是亚马逊云科技上的AI模型管理平台Amazon Bedrock上的Marketplace&#xff0c;这是亚马逊云科技在今年re:Invent发布的一个全新功能&#xff0c;将亚马逊的电商基因带到了其云计算平台&#xff0c;让我们能够通过Amazon Bedrock访问100多种流行、新兴和专…

八种排序算法【C语言实现】

系列文章目录 &#x1f388; &#x1f388; 我的CSDN主页:OTWOL的主页&#xff0c;欢迎&#xff01;&#xff01;&#xff01;&#x1f44b;&#x1f3fc;&#x1f44b;&#x1f3fc; &#x1f389;&#x1f389;我的C语言初阶合集&#xff1a;C语言初阶合集&#xff0c;希望能…