原子和潘多克

Atom and Pandoc

我正在尝试使用 Atom 从 markdown 生成 PDF 文件。

我安装了支持pandoc的markdown-preview-plus插件,然后安装了pandoc并配置了插件来使用它。

现在,markdown-preview-plus 可以识别 pandoc,但我看不到任何生成 PDF 的命令。插件的网页似乎什么也没说。你能帮我吗?

我现在也在做同样的事情,只是我在使用嵌入式乳胶数学公式等。

markdown-preview-plus 公平地展示了我可能看到的内容,但我一直运行从命令行执行以下命令来编译我的 pdf

pandoc -f markdown myfile.md -o pdffile.pdf

这适用于大多数简单的情况,对于更棘手的情况,或者我想将一些东西拼接在一起的地方,我首先使用像

这样的命令将我的 markdown 文件转换为它们的 latex 等效文件
pandoc -f markdown+tex_math_dollars+pipe_tables myfile.md -o myfile.tex

它创建了我的原始文件的乳胶版本,我可以 compile/combine 与其他乳胶文件一起使用,或者使用

转换为 pdf
pandoc myfile.tex -o myfile.pdf

应该可以使用 'scripts' 包将这些不同的脚本嵌入到 Atom 中,但我还没有尝试过 - 如果有人 post方法也朝这个方向发展。

markdown-preview-plus

Atom 的 markdown-preview-plus 包生成一个 HTML 预览,正如 @mb21 所暗示的。您可以右键单击预览并 select 复制为 HTML,这一点很清楚。启用 Enable Pandoc Parser 选项后,MPP 确实使用 pandoc 生成此 HTML 预览。

鉴于您的问题,我尝试将以下内容添加到 MPP 中的 Pandoc Options: Commandline Arguments 设置中:

--to=latex, --output=temp.pdf

注1:不能指定--to=pdf因为pandoc只能通过先生成LaTeX文件来生成PDF

注2上面的不行因为MPP本质上是通过pandoc传递编辑器window的内容'on-the-fly',所以你不能真正劫持 --output 设置。


解决方法

AFAIK,无法获得 "live" PDF 预览(使用 MPP 可以获得 "live" HTML 预览)。这意味着只要您想查看更改内容,就必须构建文档。

假设您想在 Atom window 中查看 PDF,您可以安装 pdf-view 并在窗格中打开 PDF,与您的源并排。否则,您只需在您喜欢的 PDF reader.

中打开 PDF

从命令行构建

正如@mb21 所建议的,您可以从命令行构建。我有时使用 BAT/CMD 文件来存储冗长或复杂的构建命令(因为我在 Windows 上)。例如,在我的文档源目录中,我可能有 make.cmd,其中包含:

pandoc --filter=pandoc-crossref --filter=pandoc-citeproc --smart --listings --number-sections --standalone file.md -o file.pdf

然后我 运行 make.cmd 从命令提示符使用 `./make.cmd'.

或者,您可以使用 Makefile。

从 Atom 构建

安装atom-script。然后,使用以下内容配置您的 运行 选项(Ctrl-Alt-Shift-O,在 Windows 上):

Command: pandoc
Command Arguments: --filter=pandoc-crossref --filter=pandoc-citeproc --standalone file.md -o file.pdf

当您编辑源代码并希望更新 PDF 时,您可以通过 Ctrl-Shift-B 执行命令

使用 panzer

从 Atom 构建

您仍然需要 Atom 的 script 包,但您还需要获取 panzer 这是一个帮助管理 pandoc 构建配置的实用程序。


编辑:

通过 G运行t

自动生成保存

我没有按组合键(例如从命令行构建或使用 atom-script),而是考虑使用 G运行t 在保存时自动构建输出 PDF。我已经在 this gist

中掌握了基本思想

markdown-preview-enhanced in Atom has support for PDF-on-save, similar to the . The output command has several options 除了PDF,比如MS Word。

示例:

---
layout: post
title: tentative tentacles
date: 2020-09-15 15:01
bibliography: bibliography.bib
output: pdf_document
export_on_save:
  pandoc: true
---

在 Windows 上安装 Perl 后,我在 A​​tom 上使用了 pandoc-pdf 工具栏,尽管 PDF 编译是使用“Latexmk”慢得多。

我建议使用 markdown-preview 增强版,然后使用其他几个可用选项,包括 pandoc、电子书等。