首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandoc模式:如何用pandoc模式来表达pandoc命令选项?

pandoc模式:如何用pandoc模式来表达pandoc命令选项?
EN

Stack Overflow用户
提问于 2017-03-21 08:36:05
回答 2查看 734关注 0票数 0

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

代码语言:javascript
复制
pandoc --variable=subparagraph try.md -o try.pdf

如何在pandoc模式下实现同样的目标?

我研究了pandoc模式,它似乎与指定选项有关。但我试过了,没能让它起作用。

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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 (可能多次)返回主菜单,但实际上您可能不必这样做,这取决于您的操作方式和方法。

  1. 输入格式:按I (输入格式)和m (Markdown)选择它。
    • 该命令似乎退出了选项面板;因此,您需要在此之后再次调用C-c /

  1. 输出格式:按O (输出格式)和l (LaTeX)选择它。这里没有PDF选项。请参阅作者描述以查找为什么是LaTeX。我相信本地的pandoc在内部也是这样做的(您可以通过pandoc --verbose选项检查它)。
  2. (可选)输出文件名:通过o f o YOUR_OUTPUT.pdf[RET] (Options→Files→输出文件)设置它。在这种特殊情况下,您可以跳过此操作,因为try.pdf是从try.md转换而来的默认PDF文件名。
    • 如果要取消它,即将其设置为默认设置,请键入o f C-u o (从主菜单中)。

  1. 命令行选项:要设置--variable=subparagraph,输入o w v subparagraph[RET] t[RET] (Options→General writer options→变量)
代码语言:javascript
复制
- 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:

它们只适用于当前文件和当前输出格式。

  1. Run:要生成PDF,输入p (或者,如果是从缓冲区,则序列是C-c / p )。另外,通过工具栏导航"Pandoc“> "Creat”)
    • 同样,PDF的创建是例外的;对于pandoc的任何其他运行,它是c (运行Pandoc)。

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

代码语言:javascript
复制
(setq exec-path (append exec-path '("/usr/local/bin")))
(setenv "PATH" (concat (getenv "PATH") ":/Library/TeX/texbin"))

就这样。希望它对你有用。

票数 1
EN

Stack Overflow用户

发布于 2017-03-21 16:11:59

我对pandoc不太了解,更不了解pandoc模式。因此,这里有一个一般性的答案:

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

可以将compile-command设置为文件局部变量(Emacs:设置每个缓冲区的编译命令)。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42921931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档