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

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生成大型中文文档的痛点与解决方案
[3] 用markdown 和 pandoc 写论文的语法小抄

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值