我正在使用 Pandoc 将 Scrivener 与 Zotero 集成。我在 Scrivener 中编写,添加 Zotero 引文键,编译 .txt 文件,然后使用 Pandoc 将 .txt 文件转换为 Word 文件,其中引文键以我喜欢的引文风格(本例中为 APA)有效翻译。按照此网页上的说明,我还设置了“Marked 2”来显示我使用 Markdown 在 Scrivener 中编写的内容的输出。
问题来了:换行符。如果我用 Scrivener 写:
I want a newline after this.
This should be a newline.
Run Code Online (Sandbox Code Playgroud)
然后标记 2 显示:
I want a newline after this. This should be a newline.
Run Code Online (Sandbox Code Playgroud)
于是我在《Scrivener》中写道:
I want a newline after this.<br>
This should be a newline.
Run Code Online (Sandbox Code Playgroud)
标记2:
I want a newline after this.
This should be a newline.
Run Code Online (Sandbox Code Playgroud)
伟大的!现在我编译成 .txt 文件并得到:
I want a newline after this.<br>
This should be a newline.
Run Code Online (Sandbox Code Playgroud)
好的,现在是时候使用 Pandoc 了。
我在终端中输入以下命令:
pandoc -s -S --normalize --bibliography
~/Dropbox/_Research/Master_Thesis/Master.bib --csl
~/Dropbox/_Research/apa.csl
-f markdown -t docx -o trial.docx /Users/S/Desktop/test_st.txt
Run Code Online (Sandbox Code Playgroud)
我得到了我的 .docx 文件(当我使用完整文档执行此操作时,我所有的引文都在那里,所以这有效!),但后来我读到:
I want a newline after this. This should be a newline.
Run Code Online (Sandbox Code Playgroud)
请注意,.txt 文件中存在的换行符命令已消失,但我仍然没有得到换行符。
其原因在于传统的方法是在行尾附加两个空格
\n\nI want a newline after this.\xe2\x90\xa0\xe2\x90\xa0\nThis should be a newline.\nRun Code Online (Sandbox Code Playgroud)\n\n该<br>元素被解释为原始 HTML,即,它将以任何支持 HTML 的格式呈现,例如 Markdown 或 HTML 本身。然而,Docx 不支持原始 HTML,因此<br>简单地删除。
因此,要么使用上面解释的传统 Markdown 语法(恕我直言,这很丑陋),要么使用 pandoc 功能,该功能允许通过以反斜杠结束行来添加硬换行符,“转义”换行符:
\n\nI want a newline after this.\\\nThis should be a newline.\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2475 次 |
| 最近记录: |