vscode 编译markdown

下载插件

markdown all in one 与插件Markdown Preview Enhanced

希望通过pandoc导出

命令行执行sudo apt install pandoc,下载插件vscode-pandoc。

报错

Error: Command failed: pandoc -f m<details>
<summary>点击查看代码</summary>
</details>arkdown+tex_math_single_backslash -o /home/amlogic/Desktop/test.pdf --pdf-engine=pdflatex
pandoc: unrecognized option `--pdf-engine=pdflatex'
Try pandoc --help for more information.

猜测pdflatex未下载。

下载完报错同上

pandoc --help发现没有--pdf-engine这个选项,猜测是pandoc版本太旧。卸载pandoc,从官网https://pandoc.org/下载最新deb包下载

下载完报错换了

Error: Command failed: pandoc -f markdown+tex_math_single_backslash -o /home/amlogic/Desktop/test.pdf --pdf-engine=pdflatex
Error producing PDF.
! LaTeX Error: File `iftex.sty' not found.
Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)
Enter file name:
! Emergency stop.
<read *>
l.10 \ifPDFTeX

更改--pdf-engine

从pdflatex更改为xelatex

发现没有中文显示

首先从Windows的C:\Windows\Fonts复制字体文件到ubuntu中,可以双击install,如果不行更改后缀从TTF变为TTC。
通过fc-list查看所有字体,通过fc-list :lang=zh查看中文字体

发现仍然没有中文显示

试图通过下图方式解决,但没有成功,似乎pdf opt string并没有反应

但是通过命令运行是成功了的,但还存在不换行等模板问题需要解决

发现原因

markdown preview enhancedvscode-pandoc没有关系,pdf opt string针对的是vscode-pandoc,不能通过MPE使用,需要按照vscode-pandoc操作生成pdf。
Markdown设置fronter格式为

---
title:测试
author:xzh
date:...
---

MPE文档上显示想要添加pandoc参数,需要设置文档fronter为

output: 
    pdf_document:
        pandoc_args: ["-V CJKmainfont=\"KaiTi\" -V geometry:margin=2.5cm"]

但是设置参数发现没有作用,原因未知。通过pandoc导出还是比较麻烦,并且发现通过pandoc导出中文存在换行与标题等问题,同样代码导出结果与MPE看到的结果可能不一样。
建议通过html等其它方式导出,目前看来MPE的html形式导出与MPE看到的相统一。
也可以通过MARKDOWN PDF插件导出,形式比较美观。

posted @ 2023-01-11 15:27  心比天高xzh  阅读(378)  评论(0)    收藏  举报