pandoc -crossref插件实现markdwon文档转word后公式编号自定义

pandoc -crossref插件实现markdwon文档转word后公式编号自定义

借助markdown撰写论文还是有一些优势的,公式可以通过vscode 提示直接快速地写出来,图片按照链接插入以后就可以自动更新图源。论文提交的时候需要转成word格式,有很多文章介绍了如果使用word模板。但是将论文中公式导出到word以后自动编号并不理想,手动修改非常麻烦。研究了一下官方教程,https://lierdakil.github.io/pandoc-crossref/,摸索出来一套yaml命令用来实现公式带括号编号,带括号引用,编号右对齐等功能。

公式的排版是通过制表位的方式实现的,制表位的位置和对齐方式决定公式和编号的格式。每英寸对应的twips是1440,需要按照纸张页边距来计算好pos的数值,我的模板word纸张大小是A4,那么公式就需要居中,位置应该在10.5cm的位置,由于页边距设置为2cm,所以计算制表位时要用8.5cm来计算,然后还要注意一英寸等于2.54cm,1440/2.54乘以8.5取整数,就是第一个制表位pos的来源。第二个制表位,是控制公式编号的,需要右对齐,位置是21cm-2cm=19cm,考虑左侧页边距,实际应该是17cm,因此第二个pos参数应该是1440/2.54乘以17。

下面是我的一个范例md文件内容,

---
autoEqnLabels: true #公式自动编号
tableEqns: true #使用表格形式对公式进行排版,转word效果更好
eqnBlockTemplate: |
   `<w:pPr><w:tabs><w:tab w:val="center" w:leader="none" w:pos="4819" /><w:tab w:val="right" w:leader="none" w:pos="9638" /></w:tabs></w:pPr><w:r><w:tab /></w:r>`{=openxml} $$t$$ `<w:r><w:tab /></w:r>`{=openxml} $$i$$
#1英寸相当于2.54厘米 1440 twips = one inch A4纸宽度21cm 信纸21.59
#居中pos的计算方式:(页面宽度/2-左边距)*1440/2.54 
#右边pos的计算方式:页面宽度-左边距-右边距
eqnBlockInlineMath: true
equationNumberTeX: \\tag
eqnIndexTemplate: ($$i$$) #这个是给编号加上括号
eqnPrefixTemplate: 式($$i$$) #给引用的公式编号加上括号
---

这个是用来测试公式的,吧啦啦啦啦[@eq:eq2]
$$
x+y=z
$${#eq:eq1}
这个是用来测试公式的
$$
x+y=z
$${#eq:eq2}
这个是用来测试公式的
$$
x+y=z
$${#eq:eq3}
这个是用来测试公式的
$$
x+y=z
$${#eq:eq4}

word中公式如下图所示,导出以后的图片

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值