latex与word之间的各种转化方法

https://blog.csdn.net/communix/article/details/49965233

https://blog.csdn.net/yaoqi_isee/article/details/71125232

在稿件接收后,经常会遇到出版社要求变更稿件格式,其中最多的是latex变为word格式。如果手工操作,是非常麻烦的,还容易出错。如果钱多得花不了,可以让出版社找人去做这种工作,一般每篇文章几百美元,但是效果不好,最后还得自己重改一遍。以下介绍一些方法。

(一)直接转化

除了安装MS Word以外,还需要转化程序。这类程序高度依赖MS Office系统,因此一般不支持最新版本的MS Office。

1.1 Word2TeX和TeX2Word

Chikrii Softlab出品,Windows下运行的商业程序。分别把word转为tex,和把tex转为word。最近的一次升级后,支持MS Office 2016。

注:如今网上流传的都是十年前的破解版本,建议在MS Office 2003中使用(不被现今的Windows系统支持,需要装虚拟机)。我感觉Word2TeX还可以,一般用途足够了。TeX2Word问题较多,很多宏包和参数都不认,导致转化无法进行。

主页:http://www.chikrii.com/

1.2 Word-to-LaTeX和LaTeX-to-Word
GrindEQ出品,和Word2TeX和TeX2Word类似,也是Windows下运行的商业程序,支持的MS Office版本更高一些,目前一直支持到MS Office 2013。同时还提供其它一些图形、公式转化程序。

注:试用之后,感觉与MS Word结合得很好。

主页:http://www.grindeq.com

(二)借助于MS Word的(部分)兼容格式

常用的格式有:rtf,html,odt。它们同时也被OpenOffice、MS Word等众多文字处理程序支持。纯文本格式因为丢失了格式信息,用处不大,这里不提。

2.1 rtf2latex2e和latex2rtf
在latex与rtf之间进行转化。免费程序。支持多种操作系统。rtf2latex2e在命令行下运行。latex2rtf有图形界面。

注:latex2rtf与TeX2Word的界面类似,文字转化较好,公式、表格较差,转化后的公式和特殊符号无法再编辑。

主页:
http://rtf2latex2e.sourceforge.net/

http://latex2rtf.sourceforge.net/
(如果不能访问,请用出国代理)

2.2 l2rtf

把latex转为rtf。免费在线使用。用法:点击“选择文件”,把tex文件(可以事先压缩为zip格式)上传,点击convert,然后下载转换后的rtf文件。

注:和latex2rtf的效果差不多,但是表格转化得好一些。转化后的公式和特殊符号同样无法再编辑。

主页:http://www.sciweavers.org/l2rtf

以下程序没有用过,其中有些已经停止开发。共同点是需要在命令行下运行,并且设置一些参数。

2.3 UnRTF
把rtf转化为latex以及其它格式。免费程序。无图形界面。支持多种操作系统(需要从源码编译),在命令行下运行。下载预编译的Windows版:http://gnuwin32.sourceforge.net/packages/unrtf.htm

主页:http://www.gnu.org/software/unrtf/unrtf.html

2.4 Hevea
把tex转化为html。免费程序。无图形界面。需要在Windows命令行下运行。用法参见:http://blog.csdn.net/lqhbupt/article/details/21556161

主页:http://facweb.knowlton.ohio-state.edu/pviton/support/winport.html

2.5 TTH
把tex转化为html。免费程序。无图形界面。支持多种操作系统(需要从源码编译),在命令行下运行。

主页:http://hutchinson.belmont.ma.us/tth/

2.6 LaTeX2HTML
把latex转化为html。免费程序。无图形界面。支持多种操作系统,在命令行下运行。

主页:http://www.fsmpi.uni-bayreuth.de/~latex2ht/

2.7 LaTeXML
把LaTeX转化为XML/HTML/MathML。免费程序。无图形界面。支持多种操作系统,在命令行下运行。

主页:http://dlmf.nist.gov/LaTeXML/

2.8 HTML to LaTeX
把html转化为latex。免费程序。无图形界面。支持多种操作系统,在命令行下运行。2008年以后停止开发。

主页:http://htmltolatex.sourceforge.net/(如果不能访问,请用出国代理)

2.9 Writer2LaTeX
把odt转化为latex。免费程序,无图形界面。支持多种操作系统,在命令行下运行。

主页:http://writer2latex.sourceforge.net/(如果不能访问,请用出国代理)

(三)借助于mathml格式,从tex转化为word

需要借助一个免费程序TeX4ht,从tex转为mathml,再转为word。尤其适合公式较多的文章。中文介绍参见:http://blog.sciencenet.cn/blog-47522-541356.html

主页:http://tug.org/tex4ht/

(四)借助于PDF格式,从tex转化为word

一般流程是,先把tex文件编译为pdf,然后利用工具把pdf保存为doc,或者rtf、html等格式。最后手工排版,重新分段、分页。常用的工具有Solid Converter PDF,ABBYY FineReader,Adobe Acrobat,等,都是商业程序。这些程序都支持中文。公式、表格、特殊符号仍然容易出问题。

(五)瑞士军刀——Pandoc

之所以把Pandoc单列,是因为它支持的格式简直太多了,尤其是Latex与MS Word(必须是docx格式)之间的转化,另外还有上面提到的rtf,html,odt,mathml,pdf,等。Pandoc支持中文字符,可运行于多种操作系统,更新非常快,而且免费。全部操作在命令行下运行。常用命令有:

Latex转Docx:pandoc -s a.tex -o b.docx

Docx转Latex:pandoc -s a.docx -o b.tex

更多格式和选项请阅读手册。

注:
1. Docx转Latex:对公式和表格的支持都比较好。公式必须用Word自带的公式编辑器产生,MathType编写的公式不认(不过,MathType自身可以输出Latex公式)
2. Latex转Docx:对公式的支持比较好;转化表格的功能有限,仅支持最简单的表格,如果自定义列宽,合并单元格等,就无法识别

主页:http://pandoc.org

原文地址:https://www.cnblogs.com/bnuvincent/p/8994897.html

时间: 2024-10-30 09:50:06

latex与word之间的各种转化方法的相关文章

Latex 转 word 技法大全

在稿件接收后,经常会遇到出版社要求变更稿件格式,其中最多的是latex变为word格式.如果手工操作,是非常麻烦的,还容易出错.如果钱多得花不了,可以让出版社找人去做这种工作,一般每篇文章几百美元,但是效果不好,最后还得自己重改一遍.以下介绍一些方法.   (一)直接转化 除了安装MS Word以外,还需要转化程序.这类程序高度依赖MS Office系统,因此一般不支持最新版本的MS Office. 1.1 Word2TeX和TeX2Word Chikrii Softlab出品,Windows下

Latex 经常见到的问题和解决方法

Latex 经常见到的问题和解决方法 2017-04-10  22:05:48 1. IEEE 模板添加 通信作者的时候,总是无法正常显示(脚注无法正常显示): 因为 IEEE默认是屏蔽了这个功能,需要在编辑的 .tex 文件中,添加这么一句话: \IEEEoverridecommandlockouts  然后就是: 生成的 pdf文件就是正常的了: 2.

逻辑是生物在进行思考的时候,用来在所思考的事物与事物之间进行联系的方法

我认为逻辑并无对错或有无之分,只有使用者的多少之分. 如果一定要定义,我会说:逻辑是生物在进行思考的时候,用来在所思考的事物与事物之间进行联系的方法.你可以用多种方法联系事物,没有哪一种是错的.只不过当别人和你所用的逻辑不同时,你们之间的交流会变得困难.你使用的逻辑与越多的人共用,你就越容易和这些人沟通以及获得认可.反之亦然.任何思维以及思维的衍生物都有逻辑,不同的只在于能被多少人所理解. 我们平时所说的"没逻辑",一般指的是"所使用的逻辑是错的".而这种感觉的成因

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。 overload(重载,过载) 1、参数类型、个数、顺序至少有一个不相同。 2、不能重载只有返回值不同的方法名。 3、存在于父类和子

override(重写,覆盖) 1.方法名.参数.返回值相同. 2.子类方法不能缩小父类方法的访问权限. 3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常). 4.存在于父类和子类之间. 5.方法被定义为final不能被重写. overload(重载,过载) 1.参数类型.个数.顺序至少有一个不相同.   2.不能重载只有返回值不同的方法名. 3.存在于父类和子类.同类中. 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现. 重写(O

QTP多个Action之间传递参数的方法详解

点击打开链接 脚本的朋友们都会碰到多个Action之间传递参数的问题,想当年我也是研究了好久才成功的,网上虽然有很多文章都在讲这个问题,但是大多都是雷同的抄来抄去不能解决实际问题,也有可能是我太笨了吧.下面我们来详细讲一下QTP多个Action之间传递参数的方法. 一.假设Action1调用Action2并且Action1传递参数给Action2 1.Action1的代码及设置 '定义两个变量 Dim strMessA:strMessA = "我是" Dim strMessB:strM

在ViewController之间传递数据的方法【iOS】

在ViewController之间传递数据的方法有不少,博主这里总结两种最常用的方法给大家: 我们假设有 视图控制器A 和 视图控制器B,其中我们设视图控制器B 是由 视图控制器A通过Navigation controller Push过去的,也就是说视图控制器B是视图控制器A的子视图控制器. 下面我们就分别通过 A->B 和 B->A传递数据说明两种在视图控制器之间传递数据的方法. 1.由视图控制器A传递数据给视图控制器B 这里,我的视图控制器A是 ViewController 视图控制器B

solr和java时区时间日期转化方法

我们一般得到的时间为当地时区的时间,而我存储到服务器上时想得到格林威治时间(GMT)和世界协调时间(UTC).一种是通过时间差计算:目标时区时间+时区差=本时区的时间.另一种则是通过设置时区不过要调用set方法,在多线程情况下调用set会发生错误,所以最好使用第一种: 第一种代码: package com; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public cla

awk与shell之间的变量传递方法

awk与shell之间的变量传递方法 linux下awk是个好东东,处理一些文本文件会非常方便.而在Linux下嘛,经常会和shell打交道,所以awk和shell之间的变量相互传递,有时还是很有必要的,所以简单总结一下吧.   awk中使用shell中的变量 一. "'$var'" 这种写法大家无需改变用'括起awk程序的习惯,是老外常用的写法.如: var="test" awk 'BEGIN{print "'$var'"}' 这种写法其实际是

Android手机之间通过声音传输信息方法——声波通信(含工程代码)

大家可能都用过支付宝的声波支付,即两个终端同时打开该功能,一个终端作为发送端send,一个终端作为接收端get,send将本终端上发出的请求信息按照约定规则的算法进行声音编码,并播放出来,get端接收到send发来的声音数据,按照约定规则进行解码,即获得了相应的信息. 原理如上,其实很简单,就是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据. 最简单的方法就是把0-9赋予特定的频率,将需要传输的数据转成十进制的数,分别赋予特定的频率