使用pandoc xelatex转换md文档为pdf

本文介绍了如何在Ubuntu 16.04系统上使用pandoc和texlive-xetex将Markdown文档转换为包含中文的PDF。首先,需要安装pandoc和必要的TeX包来解决中文显示问题。接着,通过指定中文字体如WenQuanYi Micro Hei Mono,并使用参数如`--standalone`, `--toc`和`--table-of-contents`以及调整页面边距来完成转换。参考了jdhao和知乎上的相关教程。" 119982779,10516615,最大子序和问题的三种解法,"['算法', 'leetcode', '新星计划']
环境
  • 系统为ubuntu 16.04,其他linux发行版理论上可参考官方安装文档
过程
  1. 安装pandoc

    sudo apt install pandoc
  2. 安装texlive-xetex(解决不能转换中文问题)

    sudo apt-get install texlive-xetex
  3. 查看系统已安装的中文字体

    fc-list :lang=zh
    /usr/share/fonts/truetype/wqy/wqy-microhei.ttc: 文泉驿等宽微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono:style=Regular
    
    

    这里的WenQuanYi Micro Hei Mono就是字体名

  4. 把md文件转换为pdf

    pandoc -s --toc --smart --latex-engine=xelatex -
### 将 Markdown 转换PDF 的方法 使用 Pandoc 可以将 Markdown 文件转换为高质量的 PDF 文档Pandoc 默认通过 LaTeX 引擎生成 PDF,因此在执行转换前需确保已安装 LaTeX 处理器 [^3]。 #### 基础转换命令 要将单个 Markdown 文件 `input.md` 转换PDF 文件 `output.pdf`,可以运行以下命令: ```bash pandoc -s -o output.pdf input.md ``` 在此命令中: - `-s` 表示生成一个完整的独立文档(standalone)。 - `-o output.pdf` 指定输出文件名称。 - `input.md` 是源 Markdown 文件 [^3]。 #### 合并多个 Markdown 文件 如果需要将多个 Markdown 文件合并为一个 PDF 文档,可使用如下命令: ```bash pandoc -s -o combined.pdf part01.md part02.md ``` 此命令会将 `part01.md` 和 `part02.md` 合并为一个名为 `combined.pdf` 的 PDF 文件 [^3]。 #### 自定义页边距 默认情况下,生成的 PDF 页边距较大。可以通过 `-V geometry:` 参数调整页面边距设置,例如: ```bash pandoc -s -V geometry:margin=1in -o documentation.pdf part01.md part02.md ``` 该命令将上下左右的边距均设置为 1 英寸 [^3]。 #### 使用自定义字体 若需更改 PDF 中的字体,可以结合 `xelatex` 引擎实现,例如使用“文泉驿微米黑”字体: ```bash pandoc --latex-engine=xelatex -V mainfont='WenQuanYi Micro Hei' input.md -o output.pdf ``` 这将使用指定字体渲染最终的 PDF 输出 [^5]。 #### 添加背景色到代码块 为了增强可读性,可以在 PDF 中为内联代码添加背景色。可通过在 LaTeX 模板中插入以下代码实现: ```latex \definecolor{bgcolor}{HTML}{E0E0E0} \let\oldtexttt\texttt \renewcommand{\texttt}[1]{ \colorbox{bgcolor}{\oldtexttt{#1}} } ``` 该配置将所有内联代码格式化为带有浅灰色背景的文本 [^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值