我知道你们中的许多人会认为这很简单 - 但我希望得到大家的意见。在继续写 45 章以上的内容之前,我需要知道我是否做错了!如果这不是合适的地方,我很抱歉 - 但我真的在努力学习!
我正在尝试转换一本在 Word 中输入的小说 - 没有方程式 - 只有带有一些简单格式的文本、大量对话等......因此,我利用自己对 LaTeX 的有限了解完成了这项工作。您能告诉我我是否走在正确的轨道上吗?
我的方法:
- 在 Open Office 中打开章节
- 导出使用
Writer2LaTeX
扩展导出 - 在以下位置打开导出的文件
WinEdt
- 删除所有前导编码,只需
\chapter{}
前导码 - 删除
\end{document}
从文档末尾 - 替换
{\textquoteright}
为'
(它将这个放在所有连词上,只是为了整洁和可读性,我宁愿只看到'
不是代码) - 节省
在我的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 导出器,您可以将其用作中间步骤。
这个过程很简单
以 HTML 格式导出 ODT 文件;
将 HTML 文件转换为 LaTeX
您有两个选择:
创建要包含在主文件中的简单文件,如您的示例中所示,通过
pandoc <input.html> -o <output.tex>
创建一个完整的、可编译的 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 所擅长的。如果你有插图诗歌、新闻剪辑、信件、长篇大论等……你可以轻松地让它们看起来完全相同。