Markdown pandoc-crossref自定义图表前缀(解决figureTitle和tableTitle被XeLaTex忽略的问题 )

news/2024/12/13 2:39:38/

pandoc-crossref可以很方便地进行交叉引用,在Github下载对应pandoc的版本:

pandoc-crossref-release

找好下载exe就可以了。可能踩的一些坑可以看这个博客,我用它解决了找不到pandoc-crossref可执行文件的问题(你需要把pandoc-crossref放在Markdown文档的目录下):

Windows下用pandoc将LaTex转成Word——使用错误总结

在这里插入图片描述

我参考使用Markdown搭配Pandoc撰写学术论文的详细指南文章的设置,发现图和表的标题并不能正常替换,导出pdf显示还是默认的Figure和Table

c pandoc --filter pandoc-crossref --citeproc --bibliography=test.bib  -M chapters -M figureTitle="图" -M figPrefix="图" -M tableTitle="表" -M tblPrefix="表"  test.md -o test.docx 

在这里插入图片描述

这样设置其实解决的是引用的问题,但是很明显图和表的标题还是没有变化。于是上网查资料看怎么解决,其实还是官方的文档最靠谱,还有github的issue。

方法1

我用的这个帖子的方法:

figureTitle and tableTitle seemingly ignored in XeLaTeX builds #256

在yaml里设置:

在这里插入图片描述

直接到issue里figureTitle and tableTitle seemingly ignored in XeLaTeX builds #256复制命令修改一下吧,csdn不能显示`,会识别成代码块

在这里插入图片描述

按照官方文档的说法可以在根目录下建立一个.pandoc-crossref的文件夹,然后在里面创建一个yaml文件:

在这里插入图片描述
在里面把上面的东西copy进去,但不需要加---。官方文档说pandoc导出的时候自动添加---

在这里插入图片描述
在这里插入图片描述

使用的是windows系统,根目录是C:/User/Username/

在这里插入图片描述

pandoc输出的命令(每次都不用重新配置,比较方便):

-s --from markdown --template eisvogel --listings --pdf-engine=xelatex -V CJKmainfont="Microsoft YaHei" --filter pandoc-crossref -M "crossrefYaml=$HOME/pandoc-crossref-es.yaml"

使用eisvogel 模板输出看我以前的文章:

VSCode vscode-pandoc插件将中文Markdown转换为好看的pdf文档(使用eisvogel模板)

输出效果:

在这里插入图片描述

方法2

另外这个比较早的issue也可以用,在文档里也可以添加测试过了:

figureTitle doesn’t work with PDF output

bash \renewcommand{\figurename}{图} \renewcommand{\tablename}{表}

不过作者说要放在metadata(yaml)后面,正文前面。 在这里插入图片描述

不能设置在yaml里,每次就都要重新写一遍,比较麻烦,还是方法1比较好。

最后附上其他有用的资料:

[1] pandoc-crossref
[2] 用pandoc生成大型中文文档的痛点与解决方案


http://www.ppmy.cn/news/37025.html

相关文章

Coremail奇安信发布2022中国企业邮箱安全性研究:应对ChatGPT带来的安全挑战

日前,广东盈世科技计算机有限公司与奇安信集团联合编写发布《2022中国企业邮箱安全性研究报告》。 报告数据显示:2022年,全国企业邮箱用户共收到各类钓鱼邮件约425.9亿封,相比2021年收到各类钓鱼邮件的342.2亿封增加了24.5%。 一…

一种编译器视角下的python性能优化

“Life is short,You need python”!老码农很喜欢python的优雅,然而,在生产环境中,Python这样的没有优先考虑性能构建优化的动态语言特性可能是危险的,因此,流行的高性能库如TensorFlow 或PyTor…

让chatGPT当我的老师如何? 通过和chatGPT交互式学习,了解在ES中,一条JSON数据是如何写到磁盘上的

最近一直有一个问题,如鲠在喉。争取早一天解决,早一天踏踏实实的睡觉。 问题是:在ES中,一条JSON数据是如何写入到磁盘上的? 如何解决这个问题?我想到了chatGPT,还有lucene的学习资料。这篇文章&…

BiSS通信协议简介

一、概述 BiSS(Bidirectional Synchronous Serial)协议是一种由德国IC-Haus公司提出胡新型可自由使用的双向同步串行通信协议。使用该协议通信波特率可以达到10Mbps,达到RS422接口总线的波特率上限,是其他一些同类常用串行通信协议(比如SSI、EnDat,Hiperface,起止式异步…

使用mitmproxy进行抓包分析

有时候使用fiddler比较麻烦,可以使用这个组合来自动处理请求分析 1. 安装mitmproxy pip install mitmproxy 2. 生成https证书 mitmproxy 执行命令: mitmproxy 会自动生成https证书,证书位置: C:\Users\yourusername\.mitmproxy 双击"mitmproxy-ca-cert.cer"导…

第05章_排序与分页

第05章_排序与分页 🏠个人主页:shark-Gao 🧑个人简介:大家好,我是shark-Gao,一个想要与大家共同进步的男人😉😉 🎉目前状况:23届毕业生,目前在…

Linux 多点电容触摸屏实验

一、 Linux 下电容触摸屏驱动框架简介 1、多点触摸(MT)协议详解 电容触摸屏驱动其实就是以下几种 linux 驱动框架的组合: ①、IIC 设备驱动,因为电容触摸 IC 基本都是 IIC 接口的,因此大框架就是 IIC 设备驱动。 ②、通过中断引脚(INT)向 l…

38-二叉树练习-LeetCode145二叉树的后序遍历

题目 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root [] 输出:[] 示例 3: 输入:ro…