避免 PanDoc docx 到 Markdown 转换中不需要的 LF 换行

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

我需要将 PDF 文档转换为 Markdown。因为PanDoc不支持PDF作为输入格式,所以我使用MS Word的在线转换。 Word 中的结果如下所示:

如您所见,(1) 后面有一个制表符,末尾有一个段落字符。

然后我使用 PanDoc 将其转换为 Markdown,使用以下命令:

pandoc -s nis2.docx -wrap=none -t markdown -o nis2.md

生成的 Markdown 文件在 VS Code 中如下所示:

我使用 code-eol 扩展来显示 LF 字符,这些字符显示为向下箭头。

似乎 PanDoc 或 VS Code 都在每行末尾添加了 LF 字符以创建换行,并在开头添加了 4 个空格以创建缩进。我尝试过

-t markdown
-t gfm
输出标志,两者的结果是相同的。

我需要实现的是一条单一的长线,在本例中以

(1)
开头,以
society.
结尾,以 LF 结尾,没有额外的空格。

有什么建议吗?

visual-studio-code markdown docx pandoc
1个回答
0
投票

所以这是一个有点愚蠢的技巧,但你可以将行的长度设置为一些荒谬的东西,这样它总是适合一行的整个段落。我设置了一个与您类似的示例,名为 test.docx,然后运行

pandoc test.docx -o test.md --columns=3000

但是,当我运行时,我认为你的换行选项缺少破折号:

pandoc test.docx -o test.md --wrap=none

它也给了我你想要的结果。

当我使用你的

-wrap=none
运行时,它给了我一个错误,所以我怀疑你在这里发布的命令无论如何都是错误的。

希望最后一次编辑:如果你在 vim 之类的东西中打开结果 Markdown 文件会发生什么:所以对我来说

--wrap=auto
显然将其包装为多行,但使用
--wrap=none
它将每个段落放在一行中。那么也许 VSCode 正在隐式换行文本?

❱ pandoc --version                                                                                                                                                                                                                                                                                                                                   22 !
pandoc 3.1.5
Features: +server +lua
Scripting engine: Lua 5.4
...
Copyright (C) 2006-2023 John MacFarlane. Web: https://pandoc.org
This is free software; see the source for copying conditions. There is no
warranty, not even for merchantability or fitness for a particular purpose.
© www.soinside.com 2019 - 2024. All rights reserved.