方案:
我有一个使用LaTeX创建的文档(在本例中是我的简历),它正确编译pdflatex
并输出我想要的内容。现在我需要将相同的文档转换为普通的旧ASCII。
示例:
我已经看到这一点(至少一次)here,其中作者的PDF version和ASCII version几乎在所有方面与PDF版本相匹配,包括边距,间距和子弹点。
由于ASCII格式的限制,我意识到这种类型的转换不能准确,但根据我迄今为止所发现的内容,似乎可以进行非常接近的近似。这样做的过程是什么?
答案 0 :(得分:43)
Opendetex适用于Windows和Linux(在Mac上也能很好地编译)。它可以从https://github.com/pkubowicz/opendetex
下载用法:
detex project
打开project.tex,读取使用\ include或包含的所有文件 \ includeonly命令,将结果文本输出到标准输出。
detex -n project > out.txt
打开project.tex,不跟随\ include或\ includeonly命令, 将结果文本输出到out.txt
detex --help
显示完整帮助
将其解压缩到您选择的任何目录。 假设您将其解压缩到了下载目录。
在其中创建任何名称的另一个目录(这是可选的,但建议使用)。假设目录名是“my_paper”。将您的论文放在“my_paper”目录中。假设您的论文名称是project.tex。
导航到路径
cd ~/Downloads/opendetex
运行命令
detex my_paper/project.tex > out.txt
通用表格
detex -n full_path_to_tex_file.tex > output_text_file.txt
答案 1 :(得分:16)
CatDVI可以将DVI转换为文本并尝试保留格式。
答案 2 :(得分:14)
您可以尝试这里提出的一些程序:
答案 3 :(得分:9)
您也可以尝试Pandoc,它可以将乳胶转换为许多其他格式。我建议阅读它的文档,因为可能有一些棘手的情况需要传递一些参数来处理。
答案 4 :(得分:8)
另一种选择是使用htlatex从LaTeX源创建网页,然后使用links转换为纯文本。我使用命令行
links -dump -no-numbering -no-references input.html > output.txt
过去给了一个相当不错的结果。这当然会与呈现的HTML视图相匹配,而不是原始PDF,因此可能不是您想要的。
答案 5 :(得分:5)
如果您使用的是pdflatex
,您可能不想使用您的套餐选项来切换到latex
以生成DVI。
相反,请转换您的pdf文件并转换它。这适用于我使用Curve包制作的简历/简历:
pdftotext -layout MyResume.pdf
请注意-layout
标记。
答案 6 :(得分:3)
我通常的策略是使用hyperlatex将其转换为网页,然后通过网络浏览器进行处理和粘贴。我发现这给出了最好的格式。
我通常必须通过并手动修复一些换行...
答案 7 :(得分:3)
尝试以下步骤:http://zanedp.livejournal.com/201222.html
这是一个将我的LaTeX文件转换为纯文本的序列:
$ latex file.tex
$ catdvi -e 1 -U file.dvi | sed -re "s/\[U\+2022\]/*/g" | sed -re "s/([^^[:space:]])\s+/\1 /g" > file.txt
catdvi的-e 1选项告诉它输出ASCII。如果使用0而不是1,它将输出Unicode。 Unicode将包括所有特殊字符,如项目符号,emdashes和希腊字母。它还包括一些字母组合的连字,如“fi”和“fl”。你可能不喜欢那样。所以,请改用-e 1。使用-U选项告诉它打印出未知字符的unicode值,以便您可以轻松找到并替换它们。
该命令的第二部分找到字符串[U + 2022],用于指定项目符号字符(•)并用星号(*)替换它们。
第三部分消耗了所有额外的空格catdvi,使文本完全对齐,同时在行的开头保留空格(缩进)。
运行这些命令之后,最好在.txt文件中搜索字符串[U +,以确保没有留下无法映射到ASCII的Unicode字符并修复它们。
答案 8 :(得分:3)
当我需要从我的TEX文件中获取纯文本以进行索引和搜索时,我发现LaTeX2RTF是一个很好的解决方案 - 它有一个installer and GUI for windows,它产生了我50页论文的RTF文件我可以在Word中打开。
答案 9 :(得分:3)
最适合我的解决方案如下。假设您在${BASENAME}
中存储了乳胶文档名称(没有扩展名),则应用以下3个步骤:
htlatex ${BASENAME}.tex
iconv -f iso-8859-1 -t utf-8 ${BASENAME}.html > ${BASENAME}-utf8.html
html2markdown ${BASENAME}-utf8.html > ${BASENAME}.txt
显然,您需要安装tex4ht
和python-html2text
。
答案 10 :(得分:2)
我尝试过LyX并且效果很好。唯一的细微差别是如果你有一个包含其他TeX文件的TeX文件,你需要单独导出它们,除非我遗漏了什么。
答案 11 :(得分:1)
Pandoc允许您将文件从一种格式转换为另一种格式 使用以下pandoc命令:
pandoc -s /path/to/foobar.tex -o foobar.txt
如果您希望您的行在某列中断,请使用--column
标记。使用--columns 10000
表示非破坏行。
您可以将-o foobar.txt
转换为a number of other formats,例如降价(.md)等。如果您未指定-o foobar.txt
,pandoc将打印您可以在任何在线呈现的html工具。
要安装pandoc,请关注this official documentation
答案 12 :(得分:0)
您可以导入lyx并使用lyx的导出到文本功能。
如果你不使用lyx,有点傻,但如果你已经拥有它,那么非常快速和简单的解决方案。对我来说效果很好,虽然公平地说我的文件非常简单。不确定如何转换更复杂的文件。答案 13 :(得分:0)
Emacs的命令iso-iso2tex
和iso-tex2iso
非常有效,但它不会将\OE
等单个命令转换为Œ
。