首页 > 解决方案 > Sublime Text 3 Pandoc md 到 pdf

问题描述

我在 Windows 10 下使用 Sublime3。

我已经装备了一个 pandoc 构建系统来将 markdown 文件转换为 pdf:

{
    "shell_cmd": "pandoc --template=\"C:\\Program Files\\Pandoc\\templates\\eisvogel.tex\" -o \"${file/\\.md/\\.pdf/}\" \"$file\" && SumatraPDF \"${file/\\.md/\\.pdf/}\"", 
    "selector": "text.html.markdown"
}

它曾经可以工作,现在它不再工作了,当我构建它时没有显示任何错误消息,它只是打印

[Finished in 0.1s with exit code 1]
[shell_cmd: pandoc ...]
[dir: ...]
[path: ...]

我注意到的是路径与环境变量中设置的路径不同,而且路径更长。

附加信息

--> 如果在 powershell 中键入,shell_cmd 会完成它的工作(即 pandoc 正在从 powershell 工作)

--> 我可以使用 Pandoc 包来完成工作

标签: markdownsublimetext3pandocpdflatex

解决方案


事实证明,我在命令提示符下发出了很大的问题,我不得不恢复我的 win10 用户的设置以使一切恢复正常。

然而,由于 sublime text 3 使用 cmd.exe 来运行它的构建系统,我想出了一个解决方法。即使使用受损的 cmd,以下行也能完成这项工作

"cmd": ["C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "-command", "pandoc --template=\"C:\\Program Files\\Pandoc\\templates\\eisvogel.tex\" -o \"${file/\\.md/\\.pdf/}\" \"$file\"; SumatraPDF \"${file/\\.md/\\.pdf/}\""],

在这里,我不得不使用\"${file/\\.md/\\.pdf/}\"将 pdf 文件保存在原始 md 文件的相同路径。


推荐阅读