在命令行上,我需要执行以下操作:
pandoc --variable=subparagraph try.md -o try.pdf如何在pandoc模式下实现同样的目标?
我研究了pandoc模式,它似乎与指定选项有关。但我试过了,没能让它起作用。
谢谢,
发布于 2018-03-01 11:32:52
一般方式
如果您想要进行精确的控制,@jpkotta所指出的通用方法可能是一种前进的方法。也就是说,输入M-x compile和整个pandoc命令,包括缓冲区(try.md)的文件名。我不知道如何为标记文件设置每个缓冲区的编译命令。
pandoc-模式方式
但是,在这个具体的示例中(以及在大量使用pandoc的情况下),最好(更容易)使用本机pandoc模式;也就是说,首先设置所需的选项,并在每次需要时运行转换命令。下面是基于GNU Emacs Ver.25.3.1和pandoc模式Ver.20180122.108的过程。
在pandoc-mode中,您可以通过pandoc模式选项面板来设置环境,该选项面板通过从正在编辑的缓冲区中键入C-c /或M-x pandoc-main-hydra/body来调用(在本例中为try.md)。然后,如下所示。
注意:下面的过程基于命令接口。或者,如果工具栏在您的Emacs环境中可用,那么通过单击工具栏中的Pandoc选项卡,也可以通过GUI实现相同的功能(我不详细介绍)。此外,为了清晰起见,我假设您在每一步之后按b (可能多次)返回主菜单,但实际上您可能不必这样做,这取决于您的操作方式和方法。
I (输入格式)和m (Markdown)选择它。C-c /。
O (输出格式)和l (LaTeX)选择它。这里没有PDF选项。请参阅作者描述以查找为什么是LaTeX。我相信本地的pandoc在内部也是这样做的(您可以通过pandoc --verbose选项检查它)。o f o YOUR_OUTPUT.pdf[RET] (Options→Files→输出文件)设置它。在这种特殊情况下,您可以跳过此操作,因为try.pdf是从try.md转换而来的默认PDF文件名。o f C-u o (从主菜单中)。
--variable=subparagraph,输入o w v subparagraph[RET] t[RET] (Options→General writer options→变量)- I _think_ "t" works in this case, though it is saved as a string rather than the true value. It would raise an error in executing the following step, if you specify nothing here.
- nb., to cancel it (all of the variables), type `o w C-u C-u v` (from the main menu).
- The manual (\*info\*) warns:它们只适用于当前文件和当前输出格式。
p (或者,如果是从缓冲区,则序列是C-c / p )。另外,通过工具栏导航"Pandoc“> "Creat”) pandoc的任何其他运行,它是c (运行Pandoc)。
最后,必须正确设置命令搜索路径,以便pandoc模式可以找到命令pandoc和pdflatex (或类似的命令)。我的.emacs包含以下行:
(setq exec-path (append exec-path '("/usr/local/bin")))
(setenv "PATH" (concat (getenv "PATH") ":/Library/TeX/texbin"))就这样。希望它对你有用。
发布于 2017-03-21 16:11:59
我对pandoc不太了解,更不了解pandoc模式。因此,这里有一个一般性的答案:
使用M-x compile运行命令(异步)并在*compilation*缓冲区中获取输出。如果正确设置了某些regexp,则会获得指向编译缓冲区中的警告和错误的超链接。
可以将compile-command设置为文件局部变量(Emacs:设置每个缓冲区的编译命令)。
我使用包multi-compile具有许多编译命令模板。
https://stackoverflow.com/questions/42921931
复制相似问题