怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释
首先推荐大家读一读这篇博文:http://blog.csdn.net/ibingow/article/details/8613556
----------------------------------------------------------------------------
word-to-latex(下载地址:http://www.wordtolatex.com),顾名思义。是用来将doc和docx文件转化为tex文件的(事实上还能够转化为xml文件)。有一个名称和word-to-latex非常相似的软件。叫word2tex(下载地址:http://www.word2tex.com),百度搜索word转为latex。出来的结果大多是这个word2tex。遗憾的是word2tex仅仅能支持到Microsoft Office
2010 32-bit,office 2013和2016以及64bit的office都不能用(本人亲測不能用)。有些跟不上时代。只是它的官网上有另外一个好东西:Tex2Word.
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
word-to-latex能够支持64bit的office。可支持到office 2013 ,在office 2016上会出现:执行时错误‘429’:ActiveX部件不能创建对象。真可惜啊真可惜!
word-to-latex在win 10 x64上也能正常安装和使用(尽管它的官网上仅仅提到win8没提到win10)。
官网上另一句提示:MathType is needed for converting MathType and Equation Editor equations!
(要转换MathType和word公式编辑器的公式,必须安装MathType)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
装好后进入安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)看一看,一共8个dll文件,当中6个是mathtype的(mt5.dll; mt6_7.dll; mt6_8_32.dll; mt6_8_64.dll; mt6_9_32.dll;mt6_9_64.dll;含义非常明白。自己思考吧)。话说你都把人家mathtype的文件复制过来了,为什么又要求用户装mathtype呢???另外两个名字非常长的dll,是word-to-latex自己的。在后面要讲到的用.NET
Reflector加载的就是这两个文件。
再看看好压MD5校验的结果(注意观察dll文件的路径)以及文件的属性:
word-to-latex在安装过程中还可能出现例如以下问题:參数无效,操作无法完毕(不知道怎么解决)
假设正常完毕安装。那么在控制面板的“设备和打印机”中应该看到EPS打印机:
个人觉得,这个eps打印机没什么用处。
图片插入word后默认会被压缩,word 2013最高支持220ppi的位图。(word 2016有所进步,最高支持330ppi的位图)。
在此提供一个方法看看图片插入word后相较原图片到底缩小了多少。把一个含有图片的docx文件的后缀docx改为zip(docx,xlsx,pptx文件本质上都是zip压缩包),用解压软件直接打开,能够看到三个目录(_rels,docProps,word)和一个名为[Content_Types].xml的文件:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
打开里面的word目录,再打开media目录,docx中的所有图片均在这个media目录里面,换句话说,这样便能够方便地提取一个docx文件里的所有图片,然后跟原始图片对照一下~
质量已经下降的图片再经过一次转化(转化为eps格式),即使转化过程没有导致质量进一步下降,得到的图片也没实用处了。由于杂志社的要求是:有矢量图的就提供矢量图;若是位图。就提供未经压缩、未经格式转换的高清原图(分辨率不低于300dpi。最好600dpi)。综上所述。我建议你把Images的Action设置为Ignore,能够节省转换时间:
word-to-latex正常完毕安装后,在word中应该看到例如以下载入项:
假设你没装word,貌似会出现例如以下问题:没有注冊类;server执行失败。
假设你用的是wps而不是word,貌似会出现例如以下问题:指定的參数数目与所需数目不匹配。(话说国外的软件开发人员哪知道中国的wps呢!
!。)
我有较大的把握认定word-to-latex必须依赖word,而不能独立执行,除了上面提到的症状(反正就是不能转换)。另一条理由:每次使用word-to-latex后,word的近期使用文件列表中就会添加一项名字为13位纯数字的文件。再把鼠标悬停上去看看这些文件的路径……
在word的VBA编辑器(按Alt+F11启动)中能够看到word-to-latex的Project,而且被锁定,“不可查看”。
真的不能查看吗?呵呵!
进入word-to-latex的安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)。然后进入templates目录,找到Word-to-LaTeX.dotm,双击打开。然后word就变成这样:
word-to-latex出现两次(看右上角),点“启用内容”,再按Alt+F11进入VBA编辑器,能够看到word-to-latex的project也出现了两次。当中一个能够查看,还有一个还是锁定。进入:模块>Module1,
咱们来看一看它的代码:
-----------------------------------------------------------------------------------------------
Option Explicit
#If Win64 Then
Private Declare PtrSafe Function ShellExecute _
Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal Operation As String, _
ByVal Filename As String, _
Optional ByVal Parameters As String, _
Optional ByVal Directory As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus _
) As Long
#Else
Private Declare Function ShellExecute _
Lib "shell32.dll" Alias "ShellExecuteA" ( _
ByVal hWnd As Long, _
ByVal Operation As String, _
ByVal Filename As String, _
Optional ByVal Parameters As String, _
Optional ByVal Directory As String, _
Optional ByVal WindowStyle As Long = vbMinimizedFocus _
) As Long
#End If
'Callback for buttonWordToLaTeXConvert onAction
Sub actionWordToLaTeXConvert(control As IRibbonControl)
Dim productKey As String
Dim app As Object
productKey = Application.ProductCode
'If Mid(productKey, 21, 1) = "1" Then
' MsgBox "Word-to-LaTeX Add-in for Microsoft Word does not support Microsoft Office 2010 64bit." _
' & vbCrLf & vbCrLf & "Please run Word-to-LaTeX by clicking icon on your Desktop or in the Windows Start Menu." _
' , vbInformation, "Word-to-LaTeX"
If Documents.Count = 0 Then
MsgBox "No document is open.", vbInformation, "Word-to-LaTeX"
Else
If Not ActiveDocument.ReadOnly Then
If Not ActiveDocument.Saved Then
ActiveDocument.Save
End If
End If
If ActiveDocument.Content.End <= 1 Then
MsgBox "The document is empty.", vbInformation, "Word-to-LaTeX"
ElseIf ActiveDocument.Saved Then
Set app = CreateObject("WordToLatex.Gui.WLConvertorAddin")
app.Startup Application, ActiveDocument
app.Convert
app.Shutdown
Else
MsgBox "Please save the document before running Word-to-LaTeX.", vbInformation, "Word-to-LaTeX"
End If
End If
End Sub
'Callback for buttonWordToLaTeXHelp onAction
Sub actionWordToLaTeXHelp(control As IRibbonControl)
Dim lSuccess As Long
lSuccess = ShellExecute(0, "Open", "http://www.wordtolatex.com/manual")
End Sub
'Callback for buttonWordToLaTeXUpload onAction
Sub actionWordToLaTeXUpload(control As IRibbonControl)
Dim lSuccess As Long
lSuccess = ShellExecute(0, "Open", "http://www.wordtolatex.com/upload")
End Sub
'Sub WordToLaTeX(inputFile As String, outputFile As String, optionsFile As String, basePath As String, log As Object, events As Object)
' Dim convertor As Object
' Set convertor = CreateObject("WordToLatex.WLConvertor")
' convertor.Init inputFile, outputFile, optionsFile, basePath, log, Application, events
' convertor.Convert
'End Sub
-------------------------------------------------------------------------------------------
上面的代码的第二行。第三行:
#If Win64 Then
Private Declare PtrSafe Function ShellExecute _
看到这两句,就知道这个软件为了支持64位的office。确实付出了努力。
在第30行的凝视中有一句略显奇怪(注意:不是代码。是凝视。也能够说是作废的代码):
Word-to-LaTeX Add-in for Microsoft Word does not support Microsoft Office 2010 64bit. Please run Word-to-LaTeX by clicking icon on your Desktop or in the Windows Start Menu. 你在官网上不是说了支持office 2010的吗?难道是office 2010非常特殊,你仅仅能支持其32位版而不能支持其64位版?或者以前不支持2010,如今进步了能够支持了,所以把以前写的代码加上凝视符号相当于删掉?
接下来解决关键问题:How to crack.(Of Course。本人已经制作好破解版了,不喜欢自己动手的就直接去下载: http://pan.baidu.com/s/1sksZsst,另外,破解步骤已经录下来了。想看的能够上优酷看:http://v.youku.com/v_show/id_XMTQ2MDAzMzUzMg==.html )
我在这里把破解步骤再演示一遍,先查壳:
去下载这两个东西:
.NET Reflector (下载地址:http://www.red-gate.com/dynamic/products/dotnet-development/reflector/download)
Reflexil.Reflector.AIO.dll (下载地址:http://www.cr173.com/soft/62031.html 。这个dll文件是上面软件的插件)
装插件:在.NET Reflector中。Tools>Add-Ins,再点右下角的“+”,然后选中Reflexil.Reflector.AIO.dll就ok.
有时候会出现:Could not load file or assembly 'file:///……(意思就是无法安装插件)
还有时候会变成中文:未能载入文件或程序集 'file:///……
真是“长太息以掩涕兮,哀吾生之多艰”,这应该是.NET Reflector本身的bug,解决方法是把Reflexil.Reflector.AIO.dll换个位置存放(比方说换到C盘、D盘的根文件夹。一定要多换几个位置试试)。插件装好后。把word-to-latex的安装路径(默认是C:\Program Files (x86)\Word-to-LaTeX)中的两个dll文件加进来。File>Open Assembly,选中word-to-latex-gui-lib.dll和word-to-latex-lib.dll,
在左側的最以下找到word-to-latex-lib(2.56.0.0)。左键单击选中它。然后Tools > Search,输入register
点右边第三个图标Search String or Constant。然后找到AboutForm_Shown,双击。再到以下找到isRegistered。点一下。
在左側找到这个:get_isRegistered():Boolean,(它的上一层是isRegistered:Boolean,左側本来是+,点击+号展开,就能看到:get_isRegistered():Boolean),左键单击选中它,然后Tools >Reflexil v1.6(这就是之前安装的插件)
在Reflexil的面板上右键,replace all with code
把return后面的default(bool)改为true。注意行尾另一个分号。不要删去分号。然后左下角Compile,再右下角OK.
在左側找到word-to-latex-lib(2.56.0.0),左键单击选中它。然后右键,Reflexil v1.6 > Save as
它试图在C:\Program Files (x86)\Word-to-LaTeX中保存名为word-to-latex-lib.Patched.dll的文件。可是.NET Reflector 不是以管理员身份执行的,全部没有写入权限。随便换个地方保存就好了。
注意保存时把名字改为word-to-latex-lib.dll(把Patched.删去),然后用这个改动过的dll文件替换C:\Program Files (x86)\Word-to-LaTeX中同名的dll文件,遇到“目标目录訪问被拒绝”,“继续”就可以。至此。大功告成。
来赞赏一下成果:
再看看这个软件的其他界面吧。
假设想知道该怎样汉化这个程序。能够參看我的还有一篇博客 http://blog.csdn.net/pijianzhirui/article/details/68948796
.NET 逆向project工具还有 ILSpy。DotPeek。JustDecompile。CodeReflect,有兴趣的能够尝试一下。
怎样将word文件转化为Latex文件:word-to-latex-2.56具体解释的更多相关文章
- WPF: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" xm ...
- WFP: 读取XPS文件或将word、txt文件转化为XPS文件
读取XPS格式文件或将doc,txt文件转化为XPS文件,效果图如下: 1.XAML页面代码: <Window x:Class="WpfWord.MainWindow" ...
- Netlib文件转化为mps文件
Netlib文件转化为mps文件 简单方法1 下载并执行: git clone https://github.com/mtanneau/Netlib_experiments.git cd Netlib ...
- jupyter命令把.ipynb文件转化为.py文件
jupyter nbconvert --to script *.ipynb 就能把当前文件夹下面的所有的.ipynb文件转化为.py文件
- 使用vivado将bit文件转化为mcs文件
使用vivado将bit文件转化为mcs文件 1.在Tcl Console中运行脚本: write_cfgmem -force -format MCS -size 64 -interface spix ...
- 将caj文件转化为pdf文件进行全文下载脚本(ubuntu下亲测有用)
最近ubuntu下caj阅读器,突然崩掉了,而偏偏要准备开题,在网上搜索原因未果,准备放弃时候,突然在网上看到一个脚本,说是很好用,可以在指定页面将caj文件转化为pdf文件,亲测有用,这里直接给出脚 ...
- plink格式文件转化为vcf文件(VCF versions convert)
plink1.9版本支持转化为VCFv4.2格式 plink2.0版本支持转化为VCFv4.3格式 两个版本用到的命令不一样 对于plink1.9版本,转化为vcf文件的命令行为: plink --b ...
- 如何将freemarker文件转化为html文件
最近在做静态的页面报表服务,将前端生成的ftl文件转化为html格式的文件,供后面合成pdf使用. freemarker基础可以参见:freemarker官方文档 前期准备:需要一个基础的ftl格式的 ...
- Python脚本:批量将.doc文件转化为.docx文件
将.doc转换为.docx文件有几种常用的方法: Microsoft Word 和 WPS 自带.doc转换.docx功能,但只能一个文件一个文件转换,批量转换要会员 在线网页 Office-Conv ...
- C++ 利用 libxl 将 Excel 文件转化为 Xml 文件
在游戏开发工作中,策划和运营一般会用Excel来编写配置文件,但是程序读取配置,最方便的还是xml文件.所以最好约定一个格式,然后在二者之间做一个转化. 本文利用libxl来读取Excel文件,利用 ...
随机推荐
- 最近跟mysql的自动shutdown干上了。。。
数据库变大之后,又开始不定时shutdown了. 搜了半天,也没啥用, 根据谋篇写的内容,改了下一个参数 vi /etc/my.cnf 修改innodb_buffer_pool_size = 16 ...
- 呵呵哒,LNMP下通过fread方式下载文件时,中文名称文件找不到文件
哎,整整折腾一个下午. 本来好好的,thinkphp 自动的uniq方式保存的文件名,非要使用原文件名,真心蛋疼~~ 然后就只好写个脚本 把原来的所有文件都重新命名一下 - - 然后把数据库对应字段也 ...
- 小议webpack下的AOP式无侵入注入
说起来, 面向切面编程(AOP)自从诞生之日起,一直都是计算机科学领域十分热门的话题,但是很奇怪的是,在前端圈子里,探讨AOP的文章似乎并不是多,而且多数拘泥在给出理论,然后实现个片段的定式)难免陷入 ...
- Codeforces 862A Mahmoud and Ehab and the MEX
传送门:CF-862A A. Mahmoud and Ehab and the MEX time limit per test 2 seconds memory limit per test 256 ...
- Hadoop 2.2.0单节点的伪分布集成环境搭建
Hadoop版本发展历史 第一代Hadoop被称为Hadoop 1.0 1)0.20.x 2)0.21.x 3)0.22.x 第二代Hadoop被称为Hadoop 2.0(HDFS Federatio ...
- 四:java调接口实现发送手机短信验证码功能
1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...
- httpwebrequest 用GET方法时报无法发送具有此谓词类型的内容正文
如下一段小程序,运行结果报无法发送具有此谓词类型的内容正文的错误,其实原因很简单,因为用的是GET的方式进行提交,而GetRequestStream()是用来在post提交的时候写post的内容的流, ...
- Java多线程学习之Lock与ReentranLock详解
synchronized 是内置锁,而Lock 接口定义的是显示锁,Lock 提供了一种可重入的.可轮询的.定时的以及可中断的锁获取操作. ReenTranLock实现了Lock接口,并提供了与syn ...
- pattern
A compiled representation of a regular expression. A regular expression, specified as a string, must ...
- C#中四步轻松使用log4net记录本地日志
在这里,记录我在项目中使用log4net记录本地日志的步骤.在不会之前感觉很难,很神秘,一旦会了之后其实没那么难.其实所有的事情都是一样的,下面我就分享一下我使用log4Net的经验. 第一步:首先从 ...