如何更好使用markdown输出pdf

news2024/11/15 17:31:59

如何更好的使用markdown输出PDF


背景:当前很多人比较常用的 markdown 编辑方式是用vscode编写,再使用 vscode 中 的 MPE 的进行预览。有时候会出现这种情况:想要最终输出PDF给客户,但是通过 vscode 中的markdown 转 PDF插件生成 PDF 和MPE预览的效果差别很大。所以该篇致力于让输出的 PDF 和 MPE 中的预览效果接近。

1. 选择合适的 markdown 转 PDF 工具

在vscode中有很多种插件和方式转 PDF,我建议使用PDF(prince)方式转,主要原因是PDF(prince)生成的PDF是带目录标签的,如下图:
1

而使用 MARKDOWN PDF 生成的PDF是不带目录标签,如下图:

在这里插入图片描述

  • 注意:当然PDF(prince)也有很多缺陷,比如KaTeX MathJaxmermaid 无法工作问题。当然这些问题可以使用图片来解决。接下来将以 PDF(prince) 生成方式讲解。

1.1 PDF(prince)使用方法

  1. 在vscode中,右键markdown文件,点击 MPE 预览
    在这里插入图片描述

  2. 然后再右测MPE预览中选择PDF (prince)
    在这里插入图片描述

1.2 关于 princexml 丢失问题

在第一次使用 PDF(prince)可能会遇到 princexml 缺失问题

  1. 在 prince 官网 prince, 下载,并安装。
  2. 配置 prince 环境变量
  3. 重启 Vscode 即可

2. PDF 风格美化

完成第一步之后,其实生成 PDF 还是和预览的差距很大,此时需要通过自定义 CSS 来达到和预览效果一致。

ctrl-shift-p 然后运行Markdown Preview Enhanced: Customize Css命令,添加以下的代码:

.markdown-preview.markdown-preview {
  &.prince {
    // 你的 prince css
  }
}

我这里提供一下我的CSS,这个配置是参考github.css的,也是为了让生成的 PDF 更接近 MPE 预览。

我的style.less配置

3. MPE 小技巧

3.1 合并单元格

为了使用合并单元格,我最初选择了html的方式制作表格。但是会因此出现一些问题:

  1. html表格会让markdown文件显得冗余。
  2. html表格生成的 pdf 会可能出现缺漏,需要调整表格大小,只是对于后续文档维护来说,就会显得麻烦。
    我这里提供 MPE 额外的 markdown 合并单元格的语法。

需要在 MPE 插件设置中打开 enableExtendedTableSyntax 选项来使其工作。

在这里插入图片描述

  • 注意:该语法为 markdown 拓展语法,可能在其他 markdown 浏览工具中无法渲染成合并单元格的形式。

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

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

相关文章

云计算与云原生

如今是云时代,云计算,大数据,人工智能等新的名词在最近爆火。今天我们来了解一下,云计算与云原生。 在了解云原生之前,我们必须要了解云计算。 云计算 什么是云计算? 在了解云计算之前我们需要先了解一…

嵌入式实时操作系统的设计与开发(三)

基本调度机制 用户在基于RTOS开发应用前,首先要创建线程。 aCoral中,用户创建一个线程时须指定用户希望采用的调度策略,例如,用户想创建一个周期性执行的线程并希望通过周期来触发多线程的调度。 //创建一个周期性的线程 acoral…

视频播放中动画

CSS filter属性CSS的filter属性主要用于设置图像的视觉效果。语法:filter: none|blur()|brightness()|contrast()|drop-shadow()|grayscale()|hue-rotate()|invert()|opacity()|saturate()|sepia()|url();Filter 函数注意: 滤镜通常使用百分比 (如&#…

ArcGIS基础实验操作100例--实验49按分区划分栅格图层

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验49 按分区划分栅格图层 目录 一、实验背景 二、实验数据 三、实验步骤 (…

Power BI柱形图

在PowerBI中制作常见的柱形图,简单来说,柱形图就是利用水平的柱子表示不同分类数据的大小,与之类似的是条形图,它就是竖的柱形图,或者说把柱形图顺时针转动90度就成了条形图,使用以及作图方式类似&#xff…

媒体查询(@media语法、案例)详解

媒体查询media 语法1. 直接写在 CSS 样式中2. 针对不同的媒体设备,从外部链入不同的 stylesheets(外部样式表)使用 media 实现网页变色龙media 语法 media 可以直接写在 CSS 样式中,或者可以针对不同的媒体设备,从外部…

技术分享 | 一款功能全面的 MySQL Shell 插件

作者:杨涛涛 资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相关技术支持、MySQL 相关课…

[Java]异常处理

文章目录🥽 异常概述🥽 异常的分类🥽 异常的处理🌊 异常处理机制一:try-catch-finally💦 语法结构💦 try-catch💦 finally💦 try-catch-finally处理异常的执行流程&#…

7.0、Linux-Vim编辑器以及常用命令详解

7.0、Linux-Vim编辑器以及常用命令详解 什么是 Vim 编辑器 -> Vim 是从 vi 发展出来的一个文本编辑器;代码补全、编译以及错误等方便编程的功能特别丰富,在程序员中被广泛使用;简单的来说,vi 是老式的字处理器,不过…

未知感知对象检测:从开放视频中学习你不知道的东西(学习笔记)

Unknown-Aware Object Detection: Learning What You Dont Know from Videos in the wild paper: https://arxiv.org/abs/2203.03800 code: https://github.com/deeplearning-wisc/stud the Wild 弄一个靠谱的目标检测器,完成OOD问题 什么是out of distribution (…

PHP Tools for Visual Studio 2019-2022 1.7 Crack

PHP Tools 是一个完整的 PHP 开发环境,位于单个软件包中。利用众所周知的行业标准 IDE 开发小型项目直至大型 PHP 应用程序。 该编辑器具有智能代码分析和快速抢占式代码完成功能。通过大量的导航功能、手边的本地化手册或快速重构操作来提高您的工作效率。 检查代码…

基于Amlogic 安卓9.0, 驱动简说(五):基于GPIO、LED子系统的LED驱动

一、篇头 本章介绍LED子系统的使用。使用LED子系统,可以轻松实现对LED,例如常见的闪烁和亮度控制功能。简单起见,本章先使用GPIO实现,在不模拟PWM的情况下,只能实现点亮和灭灯的效果,重点是介绍GPIO、LED子…

腾讯前端一面常考vue面试题汇总

vue2.x详细 1. 分析 首先找到vue的构造函数 源码位置:src\core\instance\index.js function Vue (options) {if (process.env.NODE_ENV ! production &&!(this instanceof Vue)) {warn(Vue is a constructor and should be called with the new keyword…

【Linux】Linux进程的理解 --- 进程描述符、状态、优先级、切换…

如果不改变自己,就别把跨年搞的和分水岭一样,记住你今年是什么吊样,明年就还会是什么吊样!!! 文章目录一、冯诺依曼体系结构(硬件)二、操作系统(软件)1.操作…

HCIP第六天

文章目录一,实验要求二,搭建拓扑图三,配置IP地址和环回地址四,宣告OSPF五,抓取流量六,测试一,实验要求 所有到达目标的路径最优,互有备份二,搭建拓扑图 三,配置IP地址和环…

photoshop绘制网格线的几种办法和重复绘制处理加工

第一种 绘制一个十字 ,然后保存为图案,然后添加图层样式 图案叠加 重复 第二种 显示网格线 编辑-首选项-参考线网格线设置 默认是25, 25*5125毫米 image.png新建125x125毫米会发现非常对称 image.png画笔直接按shift自动锁定网格线进行绘制这样非常标准也很快,比图案还要灵活一…

60. 实战 Kaggle 比赛:图像分类 (CIFAR-10)【在colab上运行】

之前几节中,我们一直在使用深度学习框架的高级API直接获取张量格式的图像数据集。 但是在实践中,图像数据集通常以图像文件的形式出现。 本节将从原始图像文件开始,然后逐步组织、读取并将它们转换为张量格式。 我们之前对CIFAR-10数据集做了…

论文投稿指南——中文核心期刊推荐(生物科学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

vue开发环境配置Visual Studio Code配置和安装教程查询

方便前端vue开发,使用vs code插件安装详细教程,关于vs code在网络上查询相关的教程,插件安装如下图所示,大家发现常用的,好用的插件可以留言分享,或与我联系。 1 安装Vue语法高亮显示插件:vetur…

63.目标检测数据集

目标检测领域没有像MNIST和Fashion-MNIST那样的小数据集。 为了快速测试目标检测模型,我们收集并标记了一个小型数据集。 首先,我们拍摄了一组香蕉的照片,并生成了1000张不同角度和大小的香蕉图像。 然后,我们在一些背景图片的随机…