通过 pandoc

通过 pandoc

我知道你们中的许多人会认为这很简单 - 但我希望得到大家的意见。在继续写 45 章以上的内容之前,我需要知道我是否做错了!如果这不是合适的地方,我很抱歉 - 但我真的在努力学习!

我正在尝试转换一本在 Word 中输入的小说 - 没有方程式 - 只有带有一些简单格式的文本、大量对话等......因此,我利用自己对 LaTeX 的有限了解完成了这项工作。您能告诉我我是否走在正确的轨道上吗?

我的方法:

  1. 在 Open Office 中打开章节
  2. 导出使用Writer2LaTeX扩展导出
  3. 在以下位置打开导出的文件WinEdt
  4. 删除所有前导编码,只需\chapter{}前导码
  5. 删除\end{document}从文档末尾
  6. 替换{\textquoteright}'(它将这个放在所有连词上,只是为了整洁和可读性,我宁愿只看到'不是代码)
  7. 节省

在我的master文档中,我使用\include(根据此处某人的建议)

所以……我知道这似乎是一种非常迂回的做法……但可以吗?我使用 Writer2LaTeX扩展的理由是,它似乎使用 and 来处理开头和结尾的引号,{\textquotedblleft}并且{\textquotedblright} 它还使用\textit斜体。否则我想我必须去找到所有这些并手动输入代码,对吗?

我的master文件包含以下代码:

\documentclass[10pt]{memoir}


\usepackage{mathpazo}
\usepackage[margin=1in, paperwidth=6in, paperheight=9in]{geometry}
\usepackage{indentfirst}
\pagestyle{plain}

\emergencystretch=1.5em


\renewcommand*{\chapnamefont}{\normalfont\HUGE\bfseries\sffamily}
\renewcommand*{\chapnumfont}{\normalfont\HUGE\bfseries\sffamily}
\renewcommand*{\afterchapternum}{}
\renewcommand*{\printchaptertitle}[1]{}


\begin{document}

\include{Chapter1v2}

\include{chapter02}

\end{document}

答案1

通过 Word 到 LaTeXWriter2LaTeX

我不会重复Writer2LaTeX的手册,你应该读一下。但经过几年,我有了一些实践经验:

  • 删除 Word 中尽可能多的布局是有用的。
  • 整个文本应该使用一种语言,确保 Open/LibreOffice 也能做到这一点。否则,你最终会得到数百个\foreignlanguage命令或类似命令。
  • 尝试 Writer2LaTeX 的不同可能性。但我发现选项“非常整洁的文章”(我从德语“sehr aufgeräumter Artikel”翻译而来)可以产生最佳输出。
  • 找到最复杂的章节,并真正地试验它,直到你满意为止。
  • 杂乱、复杂的代码\begin{document}表明出现了问题。
  • 通常 UTF8 是一种很好的编码。根据 LaTeX 端的编辑器,请注意编辑器是否识别 UTF8 以及您是否确实获得了该编码。
  • 如果你需要更改或删除大量的内容,比如说,\\ \\ \\,那么这是一个学习“正则表达式”的好时机。手动进行删除和更改,尤其是在 45 章的情况下,可能比学习正则表达式花费的时间要长得多。

texdoc packagename通常,通过阅读介绍和包的手册(通过在命令行中输入来获取手册)来了解 LaTeX 比猜测某些东西如何工作要快得多。

答案2

... 仅包含一些简单格式的文本、大量对话等。

很多时候,我们为了节省时间,结果却花了更多时间。就我个人而言,我不得不转换大量文档,最后最快的方法是“剪切-粘贴-编辑”。即使文档长达 300 页,也只需几个小时。

在此过程中,您可以纠正手册并创建可能需要的任何宏。第一次检查时,不要过分担心格式,而是要确保结构正确,添加索引和参考书目命令等,并纠正编码错误。如果您有很多这样的错误,最好先使用 note++ 等编辑器打开文本文件,然后尝试在那里自动修复它们。

答案3

通过 pandoc

writer2latex是一款很棒的工具,我很喜欢它,但我建议使用pandoc因为它可以从许多标记格式转换为更多格式。

通过从 Libre/OpenOffice 到 HTML 再到 LaTeXpandoc

虽然它不能处理 OpenOffice ODT 文件作为输入(但它可以导出与 ODT 不同,pandoc 在 HTML 输入方面表现非常出色。OpenOffice 和 LibreOffice 都有内置的 HTML 导出器,您可以将其用作中间步骤。

这个过程很简单

  1. 以 HTML 格式导出 ODT 文件;

  2. 将 HTML 文件转换为 LaTeX

    您有两个选择:

    1. 创建要包含在主文件中的简单文件,如您的示例中所示,通过

       pandoc <input.html> -o <output.tex>
      
    2. 创建一个完整的、可编译的 LaTeX 文件。这需要您使用 LaTeX 模板文件(通过选项调用--template=</path/to/template-file>)或调用标志--standalone(这意味着加载 pandoc 附带的默认模板文件)。所以:

       pandoc <input.html> --standalone -o <output.tex>
       pandoc <input.html> --template=</path/to/template-file> -o <output.tex>
      

      模板文件是一个常规的 LaTeX 文件,其中的输入变量(标记为$<var>$)将被输入文件的转换内容替换(与 不同writer2latex,但适用于XML 模板)。如果您想查看 pandoc 使用的默认 latex 模板文件,请查看github

从 Libre/OpenOffice 到 DocBook 再到 LaTeXpandoc

该过程与上面的过程几乎相同,只是您不是将 ODT 导出为 HTML,而是将文件保存为 DocBook XML。

从 Libre/OpenOffice 到 HTML/DocBook降价通过 LaTeXpandoc

它只是将您的 HTML 转换为 markdown,然后再转换为 LaTeX。

我喜欢这种设置,因为我觉得 markdown 标记比其他任何东西都更易读。当你需要更改某些内容(特别是拼写错误)时,它会加载速度快、易于搜索且读者友好。我建议你以这种格式存档你的章节文件。

顺便提一下,我在写硕士论文的过程中被说服改用 markdown,因为这篇文章PhilTeX博客. [链接断开,可能永远无法连接]

答案4

我将SAVE-AS每个 MS-Word 章节文件都保存为 txt 文件。然后使用 Pandoc 将其转换为 LaTeX.tex 文件(其他答案中提到)。所有特殊的 LaTeX 字符都将被竖排以用作叙述文本。在此阶段,您的文本将没有特别强调的单词。在小说中,大多数文本通常没有,因此根据原始文件中的格式数量,这可能是您最快的路线。

在您的序言中,我会确保添加,\usepackage[utf8]{inputenc}以便您可以直接使用 unicode 样式的左右引号,而不是直键盘引号。

从那里,我将使用\include它来编写每一章。而且,我会查看专为小说预先设计的 LaTeX 模板,然后选择您最喜欢的模板。模板序言应该已经为您完成了最困难的部分,因此您只需包含 chapter.tex 文件即可。

如果你的小说中有特别强调的单词或插图,我会很快学会使用 LaTeX 来\newcommand处理\newenvironment它们。这样,如果你以后决定重新设置这些单词或插图的样式,你只需在序言中重新设置一次。所有这些特别强调的单词或插图只需更改一次即可重新格式化,并且始终保持一致。这对于小说来说很棒,因为你很可能正在寻找一种独特的风格,并且会尝试不同的风格,直到找到“最佳外观”。关键是一致性,而这正是 LaTeX 所擅长的。如果你有插图诗歌、新闻剪辑、信件、长篇大论等……你可以轻松地让它们看起来完全相同。

相关内容