如何将LaTeX转换为纯文本(ASCII)?
情景:如何将LaTeX转换为纯文本(ASCII)?,latex,ascii,Latex,Ascii,情景: 我有一份使用LaTeX创建的文档(本例中是我的简历),它在pdflatex中正确编译,并准确输出我想要的内容。现在我需要将相同的文档转换为普通的旧ASCII 例如: 我见过这样做(至少一次),作者有一个和一个在几乎所有方面都与PDF版本匹配的,包括边距、间距和要点 我意识到由于ASCII格式的限制,这种类型的转换不可能精确,但根据我目前的发现,非常接近的近似值似乎是可能的。执行此操作的过程是什么?可以将DVI转换为文本并尝试保留格式。您可以尝试此处建议的一些程序: 我通常的策略是将其转换
我有一份使用LaTeX创建的文档(本例中是我的简历),它在
pdflatex
中正确编译,并准确输出我想要的内容。现在我需要将相同的文档转换为普通的旧ASCII
例如:
我见过这样做(至少一次),作者有一个和一个在几乎所有方面都与PDF版本匹配的,包括边距、间距和要点
我意识到由于ASCII格式的限制,这种类型的转换不可能精确,但根据我目前的发现,非常接近的近似值似乎是可能的。执行此操作的过程是什么?可以将DVI转换为文本并尝试保留格式。您可以尝试此处建议的一些程序:
我通常的策略是将其转换为网页,然后从web浏览器进行处理和粘贴。我发现这提供了最好的格式 然后,我通常必须通过手动修复一些换行…另一个选项是使用LaTeX源创建网页,然后使用转换为纯文本。我使用了命令行
链接-转储-无编号-无引用input.html>output.txt
在过去,这给了一个相当好的结果。这当然会与呈现的HTML视图相匹配,而不是与原始PDF相匹配,因此可能并不完全符合您的要求。您可以导入到lyx中,并使用lyx的导出到文本功能 如果你不使用lyx,但如果你已经有了它,那就有点傻了,非常简单快捷的解决方案。对我来说效果不错,不过公平地说,我的文件很简单。不确定如何转换更复杂的文件。请尝试以下步骤: 以下是将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的-e1选项告诉它输出ASCII。如果使用0而不是1,它将输出Unicode。Unicode将包括所有特殊字符,如项目符号、破折号和希腊字母。它还包括一些字母组合的连字,如“fi”和“fl”。你可能不喜欢这样。因此,使用-e1代替。使用-U选项告诉它打印未知字符的unicode值,以便您可以轻松找到并替换它们
命令的第二部分查找用于指定项目符号字符(•)的字符串[U+2022],并将其替换为星号(*)
第三部分消耗掉catdvi为使文本完全对齐而添加的所有额外空格,同时保留行(缩进)开头的空格
运行这些命令后,您最好在.txt文件中搜索字符串[U+,以确保不会留下无法映射到ASCII的Unicode字符,并对其进行修复。我尝试了LyX,效果非常好。唯一的细微差别是,如果您有一个包含其他TeX文件的TeX文件,则需要单独导出它们,除非我遗漏了一些内容。当我需要获取纯文本fr时从我用于索引和搜索的TEX文件中,我发现LaTeX2RTF是一个很好的解决方案-它有一个,并且它生成了一个我50页论文的RTF文件,我可以用Word打开。最适合我的解决方案是以下内容。假设您将latex文档名(不带扩展名)存储在
${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
。适用于Windows和Linux(在Mac上也可以编译)。可以从
用法:
detex项目
打开project.tex,使用\include或读取包含的所有文件
\仅包括命令,将结果文本输出到标准输出
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
您也可以尝试,它可以将latex转换为许多其他格式。我建议阅读它的文档,因为可能有一些棘手的情况需要您传递一些参数来处理。Emacs有命令
iso-iso2tex
和iso-tex2iso
,但它不转换像\OE这样的单个命令de>toŒ
pdftotext可以保留布局
如果您使用的是pdflatex
,您可能不想乱弄您的软件包选项来切换到latex
生成DVI
取而代之的是,将您的pdf文件转换为pdf文件。这适用于我用Curve软件包制作的简历:
pdftotext -layout MyResume.pdf
注意-layout
标志。允许您将文件从一种格式转换为另一种格式
使用以下pandoc命令:
pandoc -s /path/to/foobar.tex -o foobar.txt
如果要在某一列处换行,请使用--column
标志。对于不换行,请使用--columns 10000
您可以将-o foobar.txt
转换为类似的标记(.md)等。如果不指定-o foobar.txt
,pandoc将打印可以在任何在线工具中呈现的html
要安装pandoc follow,我尝试了这个方法,但不幸的是,它不支持使用外部cls
文件。我使用类文件来处理重复的格式化