Pandoc Markdown 到纯文本格式

Pandoc Markdown to Plain Text Formatting

我机器上最新安装的 Pandoc 版本 (pandoc 1.13.2.1) 似乎有问题。使用之前安装的版本,从 markdown 到纯文本的转换将生成 'Setext-style headers---'=' for H1 and '-' for H2---in 纯文本输出。此外,我还注意到另外两个问题:

我花了最后几分钟尝试不同的 pandoc 选项,但运气不佳。

如何将插图#1转换为插图#3

环境 潘多克(潘多克 1.13.2.1) Ubuntu 15.10

插图 #1:输入 markdown 文件

# Title

## Section
* This is the section.

### Subsection
* This happens to be the subsection

插图 #2:在 运行 pandoc -f markdown -t plain pandoc_markdown_issue.md

之后输出纯文本
TITLE


Section

-   This is the section.

Subsection

-   This happens to be the subsection

插图 #3:期望的输出

Title
=====

Section
-------
-   This is the section.

Subsection
----------
-   This happens to be the subsection

纯文本编写器已更改为使用 Project Gutenberg 纯文本书籍的通用格式。当然,任何选择都不会令所有人满意。对于您提供的示例,使用 markdown writer 会很好。

我可以通过完全省略 -f-t 标志并让 Pandoc 从输出文件扩展名推断转换格式来实现您想要的输出:

pandoc file.md -o file.txt

或者,使用 -t plain 似乎也有效:

pandoc -f markdown -t plain file.md -o file.txt

不太确定为什么第一个示例有效。我的猜测是它是降价阅读器之一,因为有多个。

这很奇怪,但是您可以通过导出到 rst reStructuredText 来接近所需的输出,因为它使用 setext-style 标题。 然而,您可能会遇到其他问题,但它只是以防万一,如果它可能有用。

$ pandoc pandoc_markdown_issue.md -t rst
Title
=====

Section
-------

-  This is the section.

Subsection
~~~~~~~~~~

-  This happens to be the subsection

Pandoc now automatically generates uppercase letters for title

我在 -t plain 将粗体从 docx 变为 UPPER 时遇到了这个问题,解决了一个小 lua 过滤器。我先做了

$ pandoc -t native foo.docx

并且看到变成 UPPER 的文本被包围在 Strong 中,例如[Para [Strong [Str "some text"]]]。非粗体文本类似于 [Para [Str "moar", Space, Str "text"]]。所以过滤器变成:

function Strong(element)
   return element.content
end

我把它放在一个文件中 weaken.lua 然后

$ pandoc --lua-filter=weaken.lua -f docx -t plain foo.docx -o foo.txt