pandoc-mode:如何用pandoc-mode表达pandoc命令选项?

问题描述 投票:0回答:2

在命令行中,我需要执行以下操作:

pandoc --variable=subparagraph try.md -o try.pdf

如何使用pandoc模式实现相同的目标?

我研究了pandoc-mode,它似乎与指定选项有关。但我尝试过,无法让它发挥作用。

谢谢,

emacs pandoc
2个回答
1
投票

General way

如果你想做一个精确的控制,@ jpkotta所指出的一般方式也许是前进的方法。也就是说,键入M-x compilepandoc的整个命令,包括缓冲区的文件名(try.md)。我不知道如何为markdown文件设置每个缓冲区的编译命令。

pandoc-mode way

但是,在这个特定的例子中(以及在pandoc的大多数情况下),使用本机pandoc-mode方式会更好(更容易);也就是说,首先设置所需的选项,并在每次需要时运行转换命令。以下是基于GNU Emacs Ver.25.3.1和pandoc-mode Ver.20180122.108的过程。

pandoc-mode中,您可以通过pandoc-mode选项面板设置环境,该面板通过从您正在编辑的缓冲区中键入C-c /M-x pandoc-main-hydra/body来调用(在本例中为try.md)。然后,执行以下操作。

请注意,以下过程基于命令界面。或者,如果工具栏在您的Emacs环境中可用,则可以通过GUI单击工具栏中的Pandoc选项卡来实现相同的操作(我不详细介绍)。此外,为了清楚起见,我假设您在每个步骤后按b(可能多次)返回主菜单,尽管您可能不必实际,取决于您的操作方式和内容。

  1. 输入格式:通过I(输入格式)和m(Markdown)选择它。 似乎这个命令退出了选项面板;所以你需要在此之后再次调用C-c /
  2. 输出格式:通过O(输出格式)和l(LaTeX)选择它。这里没有PDF选项。请参阅author's description以了解它为什么是LaTeX。我相信原生pandoc也在内部(你可以通过pandoc --verbose选项查看)。
  3. (可选)输出文件名:通过o f o YOUR_OUTPUT.pdf[RET]设置(选项→文件→输出文件)。在这种特定情况下,您可以跳过此,因为try.pdf是从try.md转换的默认PDF文件名。 nb。,如果要取消它,即将其设置回默认值,请输入o f C-u o(从主菜单中)。
  4. 命令行选项:要设置--variable=subparagraph,请键入o w v subparagraph[RET] t[RET](选项→常规编写器选项→变量) 我认为“t”在这种情况下有效,但它保存为字符串而不是真值。如果您在此处未指定任何内容,则会在执行以下步骤时引发错误。 nb。,要取消它(所有变量),键入o w C-u C-u v(从主菜单中)。 手册(* info *)警告: 它们仅适用于当前文件和当前输出格式。
  5. 运行:要生成PDF,请键入p(或者,如果它来自缓冲区,则序列为C-c / p。另外,通过工具栏,导航“Pandoc”>“Creat PDF”) 再次,PDF创作是特殊的;对于pandoc的任何其他运行,它是c(运行Pandoc)

最后,必须正确设置命令搜索路径,以便pandoc-mode可以找到命令pandocpdflatex(或类似命令)。我的.emacs包含以下几行:

(setq exec-path (append exec-path '("/usr/local/bin")))
(setenv "PATH" (concat (getenv "PATH") ":/Library/TeX/texbin"))

而已。希望对你有效。


1
投票

我不太了解pandoc,更不用说pandoc-mode了。所以这是一个通用的答案:

使用M-x compile运行命令(异步)并在*compilation*缓冲区中获取输出。如果正确设置了某些正则表达式,则会在编译缓冲区中获得指向警告和错误的超链接。

您可以将compile-command设置为文件局部变量(Emacs: set compilation command per-buffer)。

我使用包multi-compile来拥有许多编译命令模板。

© www.soinside.com 2019 - 2024. All rights reserved.