精华内容
下载资源
问答
  • 2021-03-20 07:49:33

    1. 为什么要使用 LaTeX ?

    高二那年,数学竞赛课上,来了一个年轻的老师。他打开了他给我们带来的习题,投影在大屏幕上。起初我们并不以为意,直到我们发现了其中有个地方打错了字。

    “噢我改一下……” 他打开了另外一个中英夹杂的文档,在里面改了几个字,然后点了一个键,打开了 Windows 的控制台。上面产生了大量的输出,几秒钟后,习题文档跳了出来,原来的错字已经改好了。

    帅呆了。

    课间的时候我们端详了老师电脑上的文档,发现那不是我们常用的 Microsoft Word,而是一个 PDF 文件。其中的数学公式非常漂亮,让我对这个新的工具非常好奇。老师说,这个东西叫 LaTeX。

    我回家立刻到处搜索到处找资料,给自己的电脑上装了个 LaTeX。然后我看了一些资料,就排版出了一个漂亮的公式。原来扮酷并没有那么难。

    之前我们在写实验报告的时候(心理系的应该都知道这个痛),我们都是从 Google scholar 上面找到要引用的文献,点击一下“引用”,然后把 APA 格式的拷贝下来,粘贴到论文的最后。注意最后的参考文献列表要记得按字母顺序排列噢,别忘了同一作者同一年份的文章别忘了加abc,它们之间也要按字母顺序排列。引用的时候,还要注意别把作者的名字写错了,姓当成名这种错误我觉得中国学生还是很容易犯的。年份也别忘了核对一下。我从一开始就知道这样做肯定是不对的,要是真的有百八十篇参考文献那怎么办?别人要写书的,百八十页参考文献怎么办?那时苦于我自己真的只会使用 MS Word,我也不得不这样做。那个学期我花了很多时间来研究如何使用 LaTeX 来自动生成参考文献,终于我现在写综述的时候不用担心参考文献的问题了。我可以在 LaTeX 最开始设计的哲学之下专心地写文稿,一边写一边引用别人的成果,然后个“make”就可以拿到我要的东西。我相信这个技能以后能帮我省下不少的时间。(当然后来我也知道了有种叫 EndNote 的东西,不过那时用 LaTeX 已经轻车熟路了)

    说了这么多,其实想表达的 LaTeX 的巨大优势就是自动化。这就是工具的力量,机械的工作都应该交给计算机,它们生来就是为人类完成这些任务的。它们极少出错,也不会喊累,还特别快。另外,它免费开源、全平台可用、占用资源少、社区庞大、文档全面,还有许多其他优点,大家在学习的过程中会慢慢感受到的。

    所以为什么要用 LaTeX 呢?因为方便啊。我们专心写东西就行了,排版的问题,就交给它吧。

    2. 你适合使用 LaTeX 吗?

    LaTeX 与 Word 的圣战从来没有停止过。LaTeX 和 Word 各有各的优势,也各有各的缺点,说谁更好其实没有任何意义。对不同的人群来说,只要选择自己合适的工具就好。

    LaTeX 主要面向的用户是科研工作者,或者需要高质量学术排版的用户。但是不得不承认,它其实并不是一个好学的东西。我们只有通过刻苦的钻研才能用它排版出自己心仪的作品。它并不像 Word,打开打字就能用,排版效果也无法直接显示在面前,所以学习的成本还是挺高的。我在大二的时候为了满足课程作业的需求折腾了半年才在期末排版出了漂亮的作业,但是最后看到我的成果时我还是非常满足的。因此学习和使用 LaTeX 需要一定的毅力去学习,就像学习任何其他的东西一样。

    LaTeX 虽然是一个优秀的排版工具,但是它的图文混排能力并不强。如果你是希望排版画册、杂志等出版物,我想 LaTeX 并不是你需要的,你应该去看看 Adobe Indesign。但是排版学术论文(尤其是有很多参考文献和交叉引用的)和简历还是非常给力的。天一在简单学习了一个小时之后就排版出了非常漂亮的简历,又学习了一个小时之后就自己排版了课程论文,还得到了老师的好评。

    3. LaTeX 小史

    学数学或者学计算机的人都知道一个人,就是高德纳 (Donald E. Knuth)。他在而立之年就写下了巨著《计算机程序设计艺术 (The Art of Computer Programming, TAOCP)》的前三卷,并凭借它成为历史上最年轻的图灵奖获得者。当这部书交付印刷后给他看时,他说:“我不知道怎么办。我花了整整 15 年写这些书,可要是这么难看,我就 再也不写了。我怎么能对这样的作品引以为豪呢?” 于是20世纪70年代他就放下了 TAOCP 的写作,用十年的时间写出了 LaTeX 的前身:TeX。同时发布的还有他为 TeX 写的说明书《The TeXBook》。TeX 的版本号从3开始,每次更新都会按照圆周率的小数顺序向后加一位,比如3,3.1,3.14,3.141……目前我使用的 TeX 版本是3.14159265。

    这一系统推出之后对出版业影响巨大。TeX 的核心思想就是源自中国的活字印刷术,使用一系列命令来在纸上的不同位置放下不同的文字,这样完成排版工作。但是最初的 TeX 和手动排版没有太大的本质差别,使用起来还是有些不方便。于是在80年代,美国计算机科学家莱斯利·兰伯特 (Leslie Lamport) 在原来 TeX 的基础上加上了许多功能,使得它变得更加易用。大家在 TeX 的前面加上了兰伯特姓氏的前两个字母,就成为了LaTeX。LaTeX 目前的版本是2ε,表示比2大但是比3小,一般也写作 LaTeX2e。莱斯利·兰伯特也在2014年获得2013年度图灵奖。当时的国际计算机学会 (Association of Computer Machinery, ACM) 和美国数学学会 (American Mathematical Society, AMS) 都采用了这一排版系统,直到今天它仍然是学术排版的不二工具。许多学术期刊都提供 LaTeX 模板,并只接收 TeX 源文件投稿。

    由于 LaTeX 是公开源代码的软件,整个业界都在为之贡献。大家写出了很多功能各异的宏包来实现各种各样的功能。比如 AMS 官方开发了 amsmath 系列宏包,提供数学排版标准和相应的符号支持;甚至还有专门排版乐谱、化学式、棋谱的宏包。庞大的社区使得 LaTeX 的功能越来越丰富,也让它变得越来越强大。

    对了还要提到一点,LaTeX 中的L、T、X应该大写,a和e应该小写,这是一个传统。LaTeX 的标志中本来都是大写的字母,但为了体现它是一个排版软件的名字,A和E分别上升、下降了一些,于是在例如微信等普通排版过程中,都用小写来标记这两个字母,请大家在表达时务必注意。TeX 这个名字来源于英文单词 technology 的希腊文词根τεχ,依原文读作“泰克”,而 LaTeX 则读作“拉泰克”。=================================================

    4. LaTeX 的工作原理

    说了这么多,LaTeX 到底是个什么东西呢?下面我们就来回答这个问题。

    LaTeX 是一个排版系统,它是一个引擎。它以文本作为输入,以排版好的文档作为输出。这就像很久以前还没有电脑时候的出版社一样,你把写好的手稿给出版社,出版社帮你出版成书。真正重要的是你写的内容,至于用什么笔、什么纸,都无所谓。所以纯净的 LaTeX 只是一个引擎,它将一个.tex源文件作为输入,把成品文档作为输出。我们写作时其实是在编辑这个.tex源文件。源文件其实只是一个纯文本文件,你可以用任何一种文本编辑器(比如 Windows 下的记事本)来写作。但是由于用 LaTeX 写作不是“所见即所得”的,源文件中会有许多排版命令和标记(类似 HTML),因此方便起见,大家开发了一些专门用于编辑 .tex 文件的编辑器,比如我使用的 Texpad。初学者我推荐 TeXworks (Windows / Linux) 和 TeXShop (macOS),在自己有了一定的编辑习惯和定制编辑器的能力之后,可以再换别的编辑器。不过编辑器从来都没有最好的,挑一个趁手的用就行了。

    由于一些历史原因,比如打印设备的进步,LaTeX 发行版中带有多个引擎。目前比较常用的引擎是 XeLaTeX,因为它能够兼容的字符集更全面,尤其是在处理东亚文字方面支持得更好。关于字符集和字体的问题我会在后面找机会和大家详细介绍,现在知道这个就好了。

    所以整个文档的写作过程可以表达为:

    -(编写)-> .tex文件 -(输入)-> XeLaTeX -(输出)-> PDF文档 -->发布

    这也是我们编写文档的全部过程。

    更多相关内容
  • ++编写的程序,用于将pdf文件转换为等效的LaTeX源代码或HTML代码。 不同文件夹的内容: src-包含编译Java代码后的Java文件和Java类文件,以及运行整个程序的Shell脚本。 lib-包含Java代码使用的库的.jar文件。 ...
  • 该代码作为在线工具运行,代码可。 Python扩展使用命令行调用与tex2png进行通信。 用法 在运行代码之前,您将运行make命令。 提供的tex2png二进制文件是使用gcc版本4.2.1(Apple Inc.内部版本5666)(第3点)编译...
  • 阿里云服务器部署ShareLaTex(Overleaf)

    千次阅读 2020-05-15 13:11:47
    将apt的下载换位国内镜像,在这里不再赘述 1.安装docker 首先卸载旧版本的docker sudo apt-get remove docker docker-engine docker.io containerd runc 安装依赖 sudo apt-get install -y apt-transport-

    阿里云服务器部署ShareLaTex(Overleaf)

    使用docker在服务器上部署ShareLaTex,这里服务器使用阿里云的ECS,操作系统为ubuntu16.04

    0.准备工作

    将apt的下载源换位国内镜像,在这里不再赘述

    1.安装docker

    首先卸载旧版本的docker

    sudo apt-get remove docker docker-engine docker.io containerd runc
    

    安装依赖

    sudo apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common
    

    添加 GPG 密钥

    curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add –
    

    设置 docker 仓库

    sudo add-apt-repository \
         "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
         $(lsb_release -cs) stable"
    

    安装 docker-ce

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    

    更换国内镜像源(这里推荐用阿里的镜像)

    sudo mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    
    {
      "registry-mirrors": ["https://c6j7pq1p.mirror.aliyuncs.com"]
    }
    
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    2.部署overleaf

    拉取ShareLaTeX镜像

    docker pull sharelatex/sharelatex
    

    创建挂载目录

    mkdir ~/sharelatex	# 在用户目录下创建sharelatex、mongo_data、redis_data文件夹(这里使用的是root用户)
    mkdir ~/mongo_data
    mkdir ~/redis_data
    cd ~/sharelatex	# 进入sharelatex文件夹
    

    配置挂载目录

    pip install docker-compose	#安装docker-compose
    #下载docker-compose.yml配置文件:
    curl -O https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml
    
    sudo vim docker-compose.yml	#使用vim修改配置文件:
    

    修改以下内容

    # 避免端口重复(若80端口占用,可以使用其他端口,例如使用5000端口:- 5000:80)
        ports:
            - 80:80
    
    # 修改本地挂载目录
        volumes:
            - /root/sharelatex:/var/lib/sharelatex
    
    # 修改mongo和redis的本地挂载目录
    mongo:
        volumes:
            - /root/mongo_data:/data/db
    redis:
        volumes:
            - /root/redis_data:/data
    

    创建并运行容器

    docker-compose up -d
    
    • 此时创建了三个容器sharelatexmongoredis。输入docker ps查看

    安装完整texlive

    # 进入容器
    docker exec -it sharelatex bash
    
    # 进入texlive默认安装目录
    cd /usr/local/texlive
    
    # 下载并运行升级脚本
    wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
    sh update-tlmgr-latest.sh -- --upgrade
    
    # 更换texlive的下载源,这里使用清华源
    tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
    
    # 升级tlmgr
    tlmgr update --self --all
    
    # 更新字体缓存
    luaotfload-tool -fu
    
    # 安装完整版texlive(时间一两个小时左右,不要让shell断开)
    tlmgr install scheme-full
    
    # 退出sharelatex的命令行界面并重启
    exit
    docker restart sharelatex
    

    安装中文字体

    • 将Windows机的中文字体复制到host机,Windows机的字体储存在C:\windows\Fonts,目录,这里复制到host机的/root/Fonts目录
    # 进入Fonts目录
    cd Fonts/
    
    # 删除其中的.fon字体文件(否则可能会报错)
    rm -r *.fon
    
    # 返回上层目录并打包
    cd ..
    tar -zcvf winfonts.tar.gz Fonts/
    
    # 把压缩文件传到sharelatex容器的root目录下
    docker cp winfonts.tar.gz sharelatex:/root
    
    # 进入容器的命令行界面
    docker exec -it sharelatex bash
    
    # 通过安装wqy字体同时安装xfont工具
    apt-get install xfonts-wqy
    
    # 进入root目录,解压winfonts.tar.gz,并移动到系统字体目录下
    cd ~
    tar -zxvf winfonts.tar.gz
    mv Fonts /usr/share/fonts/
    
    # 进入字体目录安装字体
    cd /usr/share/fonts/Fonts
    mkfontscale
    mkfontdir
    fc-cache -fv
    
    # 检查确认中文字体安装成功
    fc-list :lang=zh-cn
    #此时会出现已经安装的中文字体
    

    重启服务

    docker restart sharelatex
    

    创建账号

    • 浏览器访问服务器公网IP http://182.xx.xx.xx/launchpad 建立管理员账号(如果不是设置的80端口则需要加上端口号:http://182.xx.xx.xx:5000/launchpad)
    • 通过管理员账号可以继续注册普通用户账号
      注册普通用户账号

    尝试过配置邮件发送,但似乎并没有成功,在这里也不再介绍,如果有解决了的朋友欢迎留言指教 ( ⊙ o ⊙ )

    展开全文
  • rtf2latex2e是一个可将RTF(富文本格式)文件转换为LaTeX文件的程序。 它转换文本格式,表格,图形和方程式。 生成的LaTeX文件旨在具有很高的可读性,适合编辑。
  • 代码 下载或 python3 setup.py install或python setup.py install (需要root访问) 聚酰亚胺 检查 pip install csv2latex或pip3 install csv2latex (需要root访问) 用法 在csv文件附近运行csv2latex: python -...
  • 其他功能包括LaTeX源上的拼写检查,断开的链接检查,字典和样式分析。 LaTeX Web Publisher是程序Latex,makeindex,latex2html,htlatex,dvips,dvi2ps,ps2pdf,pdflatex,pdf2djvu,dvi2tty,dvipdfm,epstopdf...
  • 这是 Bartosz Milewski 撰写的“程序员类别理论”的非官方 PDF 版本,从他的博文系列(经许可)转换而来。 程序员类别理论于 2019 年 8 月 12 日发布。基于发布标签 v1.3.0。 有关自打印以来的更改和修复,请参阅 ...
  • 本发明涉及文档转换和数据处理领域,更具体地说,涉及一种基于JAVA实现由Word文档向LaTeX文档转换的方法。背景技术:TeX提供了一套功能强大并且十分灵活的排版语言,它多达900条指令,并且TeX有宏功能,用户可以不断...

    7519d6d20cf5fdd734609020d5f669f5.gif

    本发明涉及文档转换和数据处理领域,更具体地说,涉及一种基于JAVA实现由Word文档向LaTeX文档转换的方法。

    背景技术:

    TeX提供了一套功能强大并且十分灵活的排版语言,它多达900条指令,并且TeX有宏功能,用户可以不断地定义自己适用的新命令来扩展TeX系统的功能。Leslie Lamport开发的LaTeX是当今世界上最流行和使用最为广泛的TeX宏集。Microsoft Office Word作为Office套件的核心程序,提供了许多易于使用的文档创建工具,也是目前市场上占有量最大的文字处理器。Word专用的文件格式Word文件(.docx)成为事实上最通用的文档标准。文档转换是将Word、Pdf、Txt、Ooxml、Odf、Html等文档格式进行转化。例如发明人黒木纯提出的将Ooxml、Odf的文档转换为HTML格式文档的方法、Adobe Acrobat Professional软件实现Word格式和Pdf格式的转换等。Apache POI是一个开放源代码的Java数据库,其主要目标是访问Word的底层文件。JACOB是一个Java-COM中间件,通过这个组件可以在Java应用程序中调用COM组件和Win程序库。利用Apache POI和JACOB可以实现对Microsoft Office Word格式文档的读写功能。

    在实现本发明过程中,发明人发现现有文档转换在技术与用户使用方面主要存在以下三类问题:首先,现有的文档转换技术一般是针对少数源格式文档和特定目标的格式文档,转化功能单一,对于用户来说,实际使用价值不高。其次,对于编码方式不同的文档实现转换具有一定的困难性,例如Microsoft Office Word与LaTeX文档之间的转换难题。最后,LaTeX文档由Tex语言的标记语言构成,制成一份完整的LaTeX文档,需要掌握TeX语言的几乎所有记述规则以及代码编写能力,对于非专业人士而言,文档撰写和排版存在较高的困难性和复杂性。

    技术实现要素:

    本发明要解决的技术问题在于,针对上述缺陷,本发明提供了一种Word文档向LaTeX文档转换的方法及系统。

    本发明解决其技术问题所采用的技术方案是:构造一种基于JAVA实现由Word文档向LaTeX文档转换的方法,包括如下步骤:

    S1、根据用户提交的Word源文档文件,通过JACOB组件中的Word调用程序模块打开源文档文件;

    S2、在打开的源文档文件中,通过JACOB组件对源文档文件中各类数据元素进行初始分析,获取并记录源文档文件中每个数据元素的数据信息;

    S3、根据步骤S2记录的数据信息,利用Apache POI组件和JACOB组件,提取源文档文件中的各类数据元素;

    S4、将步骤S3提取出的各类数据元素进行信息流处理;其中,每类数据元素分别形成与其相对应的信息流;

    S5、将步骤S2记录得到的数据信息与每类数据元素的信息流相结合,在保证源文档文件中各数据元素位置不变的情况下,形成LaTeX目标文档的信息流;

    S6、将步骤S5形成的LaTeX目标文档的信息流写入到目标文件,从而将Word源文档文件转换成LaTeX文档。

    进一步的,步骤S2中获取并记录的数据信息包括数据元素的类别,以及每个数据元素在源文档中的相对位置;通过JACOB组件分析的数据元素包括文本、图片、表格和公式元素。

    进一步的,步骤S2中对源文件中各类数据元素进行初始分析,具体是对源文件中的所有数据元素的存储状态进行判断。

    进一步的,步骤S2中通过JACOB组件中的Paragraphs、Item、Text和Table接口,记录各数据元素的类别以及相对位置。

    进一步的,步骤S3中在源文档文件中提取各类数据元素包括:

    针对文本元素,通过JACOB组件中的get(“Text”)、get(“Font”)和get(“Size”)函数,提取得到源文档中的文本元素;所述文本元素包括文本数据内容、文本类型和文本格式;

    针对图片元素,使用Apache POI组件中XWPFDocument接口,提取得到源文档中的图片元素;使用JAVA中自带的FileOutputStream方法,将提取到的图片元素保存为本地文件;

    针对表格元素,结合JACOB组件中的getTable函数和ReadTable函数,提取得到源文档中的表格元素;其中,表格的规格由JACOB组件中getTableRowsCount方法以及getTableColumnsCount方法获得;

    针对公式元素,结合步骤S2中记录的数据信息,通过JACOB组件中copy方法,以及Toolkit工具类中粘贴板子类函数的getContents函数,提取得到源文档的公式元素;其中,粘贴板通过Toolkit工具类中的Transferable变量获得,并且通过getTransferData方法将数据进行转换;

    其中、每提取一类数据元素时,记录其在源文档中的相对位置。

    进一步的,所述数据元素包括文本、图片、表格和公式元素,步骤S4中利用朴素贝叶斯算法对提取的文本元素进行分类判定,形成相对应的LaTeX文本元素信息流;步骤S4中基于层叠自动编码器对提取的公式元素进行转换,形成相对应的LaTeX公式元素信息流;步骤S4中其余各类数据元素直接按照相对位置信息,形成相对应的目标文档格式信息流。

    进一步的,利用朴素贝叶斯算法对提取的文本元素进行分类判定的步骤包括:

    A1、将提取到的n个文本元素通过JIEBA分词算法,转换成n维特征向量X={x1、x2、…、xn};其中,xi为第i维特征向量,i∈n;

    A2、将提取到的文本数据分类问题转化为一个二值分类问题,即任意未知文本数据样本d属于类别集合C={C0,C1};其中,C0代表正文文本,C1代表标题文本;

    A3、利用朴素贝叶斯算法识别每项文本数据类型,其中包括正文文本,标题文本两类;

    A4、计算未知文本样本d属于类别c的概率P为:

    其中,取概率最大值作为未知文本样本d的类别,根据文本类别形成对应的LaTeX文本元素。

    进一步的,基于层叠自动编码器对提取的公式元素进行转换的步骤包括:

    B1、利用层叠自动编码算法将步骤S3中提取的公式元素进行编码;

    B2、将步骤B1得到的编码结果,与公式模板库中已有编码数据进行近似匹配;

    B3、将匹配度最高的公式模板数据输入到系统公式转换函数模块WordMathToLaTeX中,将源文件中的公式格式进一步转换,形成能够被LaTeX文档识别的编码方式。

    进一步的,基于层叠自动编码器对提取的公式元素进行转换的步骤B3中,根据层叠自动编码算法结果x和已知样本的欧几里得距离y,判断匹配程度最高的公式模板的表达式为:

    其中,x1、x2、…xn、y1、y2、…yn代表公式编码后每个向量空间的值。

    本发明提出的一种基于JAVA实现由Word文档向LaTeX文档转换的系统,采用上述任一项所述Word文档向LaTeX文档转换的方法进行文档转换。

    在本发明所述的一种基于JAVA实现由Word文档向LaTeX文档转换的方法及系统中,根据用户提供的原始Word文档,利用机器学习算法,对源文件数据进行智能分析,自动选取最为近似或者匹配度最高的文本元素和公式元素,整合源文件数据整体布局及目标文档特殊编码,形成目标文件数据流及目标文件目录、图片说明、表格说明等辅助信息流,写入到目标文件中,从而实现不同类型文档之间的转换。

    实施本发明提出的一种基于JAVA实现由Word文档向LaTeX文档转换的方法及系统,具有以下有益效果:

    1、能够降低不同类型文档转换的困难性和复杂性,为广大高校师生、科研人员等提供方便快捷的专业文档转换方式;

    2、方便用户将简单的Word版式转换为专业性科技论文的投稿版式,解决了广大科研人员以及高校师生需要学习复杂LaTeX代码以及花费大量时间对论文进行重新编码排版的难题,提高了工作效率,弥补了当今国内由Word文档向LaTeX文档转换的领域空白。

    附图说明

    下面将结合附图及实施例对本发明作进一步说明,附图中:

    图1为Word文档向LaTeX文档转换的流程图;

    图2为朴素贝叶斯算法和层叠自动编码器对提取的文本元素和公式元素进行分类的流程图;

    图3为Word文档向LaTeX文档转换的表格转换效果图;

    图4为Word文档向LaTeX文档转换的图片转换效果图;

    图5为Word文档向LaTeX文档转换的公式转换效果;

    图6为Word文档向LaTeX文档转换的整体转换效果图。

    具体实施方式

    为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

    请参考图1,其为Word文档向LaTeX文档转换的流程图;本发明提出的一种基于JAVA实现由Word文档向LaTeX文档转换的方法,具体包括以下步骤:

    S1、根据用户提交的Word源文档文件,通过JACOB组件中的Word调用程序模块打开源文档文件。

    S2、在打开的源文档文件中,通过JACOB组件对源文档文件中各类数据元素进行初始分析,获取并记录源文档文件中每个数据元素的数据信息;其中获取并记录的数据信息包括数据元素的类别,以及每个数据元素在源文档文件中的相对位置,本实施例中具体通过JACOB组件中的Paragraphs、Item、Text和Table接口,记录各数据元素的类别以及相对位置;其中通过JACOB组件分析的数据元素包括文本、图片、表格和公式元素;其中对源文档文件中各类数据元素进行初始分析,具体是对源文档文件中的所有数据元素的存储状态进行判断。

    S3、根据步骤S2记录的数据信息,利用Apache POI组件和JACOB组件,提取源文档文件中的各类数据元素;其中,在源文档文件中提取各类数据元素包括:

    针对文本元素,通过JACOB组件中的get(“Text”)、get(“Font”)和get(“Size”)函数,提取得到源文档文件中的文本元素;所述文本元素包括文本数据内容、文本类型和文本格式;

    针对图片元素,使用Apache POI组件中XWPFDocument接口,提取得到源文档文件中的图片元素;使用JAVA程序自带的FileOutputStream方法,将提取的图片元素保存为本地文件;

    针对表格元素,结合JACOB组件中的getTable函数和ReadTable函数,提取得到源文档中的表格元素;其中,表格的规格由JACOB组件中getTableRowsCount方法以及getTableColumnsCount方法获得;

    针对公式元素,结合步骤S2中记录的数据信息,通过JACOB组件中copy方法,以及Toolkit工具类中粘贴板子类函数的getContents函数,提取得到源文档的公式元素;

    其中,每提取一类数据元素时,记录其在源文档中的相对位置。

    S4、将步骤S3提取出的各类数据元素进行信息流处理;每类数据元素分别形成与其相对应的信息流;其中,针对信息流的处理,具体包括:基于层叠自动编码器对提取的公式元素进行转换,形成相对应的LaTeX公式元素信息流;利用朴素贝叶斯算法对提取的文本元素进行分类判定,形成相对应的LaTeX文本元素信息流;其余各类数据元素直接按照相对位置信息,形成相对应的目标文档格式信息流。

    S5、将步骤S2记录得到的数据信息与每类数据元素的信息流相结合,在保证源文档文件中各数据元素位置不变的情况下,形成LaTeX目标文档的信息流;

    S6、将步骤S5形成的LaTeX目标文档的信息流写入到目标文件,从而将Word源文档文件转换成LaTeX文档。

    请参考图2,其为朴素贝叶斯算法和层叠自动编码器对提取的文本元素和公式元素进行分类的流程图;具体的,利用朴素贝叶斯算法对提取的文本元素进行分类判定的步骤包括:

    A1、将提取到的n个文本元素通过JIEBA分词算法,转换成n维特征向量X={x1、x2、…、xn};其中,xi为第i维特征向量,i∈n;

    A2、将提取到的文本数据分类问题转化为一个二值分类问题,即任意未知文本数据样本d属于类别集合C={C0,C1};其中,C0代表正文文本,C1代表标题文本;

    A3、利用朴素贝叶斯算法识别每项文本数据类型,其中包括正文文本,标题文本两类;

    A4、计算未知文本样本d属于类别c的概率P为:

    其中,取概率最大值作为未知文本样本d的类别δ,根据类别δ形成与其对应的LaTeX文本元素;

    具体的,基于层叠自动编码器对提取的公式元素进行转换的步骤包括:

    B1、利用层叠自动编码算法将步骤S3中提取的公式元素进行编码;

    B2、将步骤B1得到的编码结果,与公式模板库中已有编码数据进行近似匹配;

    B3、将匹配度最高的公式模板输入到系统公式转换函数模块WordMathToLaTeX中,对源文件中的公式格式进一步转换,形成能够被LaTeX文档识别的编码方式。其中,根据层叠自动编码算法结果x和已知样本的欧几里得距离y,判断匹配程度最高的公式模板的表达式为:

    其中,x1、x2、…xn、y1、y2、…yn代表公式编码后每个向量空间的值。

    通过上述原理,本发明提出的另外一种基于JAVA实现由Word文档向LaTeX文档转换的系统,包括任一项所述Word文档向LaTeX文档转换的方法进行文档转换的功能。

    图3为Word文档向LaTeX文档转换的表格转换效果图;图4为Word文档向LaTeX文档转换的图片转换效果图;图5为Word文档向LaTeX文档转换的公式转换效果;图6为Word文档向LaTeX文档转换的整体转换效果图;通过图3-图6,可见本发明提出的一种基于JAVA实现由Word文档向LaTeX文档转换的方法,能够有效的将word文档转变为Latex文档。

    上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

    展开全文
  • LatexManuscript 将 LaTeX 文件... 参考书目文件必须是具有相同文件名的“.bbl”(从 bibtex 中获得)并且与乳胶位于同一文件夹中。 LatexFindReplace 搜索 LaTeX 文件系统并替换规定的文本字符串。 评论不会改变。
  • 使用tex4ht增强 LaTeX 到 HTML 的转换 创建此代码是为了回答上的。 它展示了如何使用 Mathjax 进行数学渲染,使用 Hypothes.is 进行注释,以及使用自定义 Javascript 库用于导航侧边栏和带有书目参考的弹出窗口。 ...
  • 用pandoc转换latex源文档到docx文件出现问题Error unexpected () \begin{document} 解决方法 latex是论文排版的利器,使用latex可以迅速排版得到精美的文章。但是latex不能直接转换成word文档,不利于导师的批阅。...

    用pandoc转换latex源文档到docx文件出现问题Error unexpected () \begin{document} 解决方法

    latex是论文排版的利器,使用latex可以迅速排版得到精美的文章。但是latex不能直接转换成word文档,不利于导师的批阅。之前有学习到可以使用pandoc转换latex到docx文档。具体方法如下:

    1. 确保正确安装了pandoc。
    2. 在cmd命令中进入到需要编译的latex源文件目录下,假设源文件叫main.tex。注意,使用cd \d e:\就可以换到e盘啦。
    3. 在cmd中使用pandoc -f latex -t docx main.tex -o target.docx命令。其中,-f 表示数据源格式,-t表示转换的目标格式,main.tex是要转换的文件,-o是转换输出的文档。

    但是,我编译的时候遇到了这样的问题:

    具体原因不知是什么,反正是编译失败。

    于是在网上查看,没有人遇到与我一摸一样的问题,但有人遇到了相似的问题。比如这个帖子:https://stackoverflow.com/questions/17214806/conversion-error-in-pandoc-referring-to-line-outside-of-source-file

    最佳回答说把\end{document} (这是latex文件的终止代码)从开头到结尾,一个位置一个位置的插入,然后编译,排查问题。终于,我在我文章的第二章发现了问题。Latex输出日志告诉我这里有问题:unexpected -

    我认为可能是中间的破折号“——”有问题,于是把“——”换成了下划线"_",然后重新编译,成功!最后我成功地编译了我的latex文件,拿到了word。

    所以,总结一下操作:

    把\end{document}命令从头到尾一个位置一个位置插入然后编译,逐步排除问题。以及pandoc编译的时候可能不能识别"——"或者可能“——”在pandoc编译的时候有特殊的命令作用吧,反正遇到了会报错,把“——”换掉就可以了。

    展开全文
  • LaTex环境的安装与配置

    千次阅读 2020-07-28 16:57:10
    本次LaTex的下载来自于清华大学镜像 https://mirrors.tuna.tsinghua.edu.cn 1.登陆清华大学镜像,选中CTAN 2.选中图中所选项 3.进入image 4.下载完毕之后,点击bat文件进行安装 5.接下来就是漫长的等待 6....
  • 从文献数据文件准备,tex文档的组成,tex/bib文件的编译,分章参考文献和书后文献表,文献表标题和内容格式,参考文献着录和标注样式,多语言文献,脚注题注小页环境中的引用,脚注旁注中的文献表,文献表分类...
  • TeX的代码都是以.tex为后缀的纯文本文件 编辑器: Windos自带记事本 TeXworks TeXstudio WinEdt Tex发行版 排版工具: pdfTex pdfLaTex XeTex XeLaTex
  • 如果您需要全功能或LaTeX,则可以在LaTeX源代码中简单地使用一点降价作为语法糖。 您将不再需要再次键入\textbf , \begin{enumerate} \item ... \end{enumerate}等。 Mistex是基于markdown编译器的 。 目录 了解...
  • LaTeX详细教程+技巧总结

    万次阅读 多人点赞 2020-11-29 20:10:11
    LaTeX技巧总结,包含LaTeX工具,LaTeX模板,LaTeX技巧,LaTeX基础,文章架构,字体、大小和颜色,链接,列表,图片,表格,数学公式,算法(伪代码),代码块,论文写作,等等。
  • LaTeX源代码嵌入到创建的PNG或PDF中,这意味着该代码存储在输出文件本身中。 允许使用LaTeXbuilder方便地重新加载和修改输出文件。 建立使用tikzpicture和/或pgfplots创建的pgfplots 从LaTeX源代码(例如,以...
  • LaTeX教程1

    2021-10-07 22:16:38
    LaTeX教程欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • LaTeX本身无法处理4级(或更高)深度的列表 头文件 更改作者和机构名称 改变主色 需要提升图书馆 需要XMind标记文件夹(将其复制到文件夹中) 您可以使用.bat文件必须改变不同程序的路径 否则,您必须: 将....
  • LaTeXLaTeX入门

    2020-03-17 15:10:16
    文章目录简介文章结构基本要素处理问题添加文档标题章节创建标签...LaTeXLATEX,音译“拉泰赫”)是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这...
  • 安装 Tex Live (含镜像更换)

    千次阅读 2021-12-12 20:23:31
    操作环境:windows 10 ... Tips: Tex Live 安装耗时较久,请预留足够的时间(我安装的耗时在2-4小时之间) ... 1. 使用 iso 安装 Tex Live ...前往 https://www.ctan.org/mirrors 挑选合适的镜像(纠结的话,选择.
  • 关于SVGLaTeX:我想说你可以在你的电脑上使用它作为一个python脚本(非...在关于MathML与SVG:将Latex转换为mathml(我只能找到基于Web的解决方案)与将Latex转换为SVG不同,因为mathml更像是对数学(如Latex source...
  • Ubuntu安装LaTeX

    2022-02-07 09:34:57
    LaTeX是一个非常好用的东西,其在编写数学公示的时候非常方便,其将文章的排版以代码的形式呈现,这种方式很符合程序员以及科学工作者的审美和工作习惯。 2 Texlive简介 TeX Live 是 TUG (TeX User Group) 维护和...
  • 【vscode】【latex】如何使用vscode正则替换加快latex的编辑 正则替换 正则替换 VS code 支持正则替换,使用Ctrl+h便可出现相关界面。 在批量修改的过程中可能会出现以下情况。 代码:\eqref{eq23} 目标代码:\...
  • LaTeX学习手册

    2021-07-15 22:16:58
    如果在Vscode中写Latex必须设置\document[UTF8]{article} LaTeX操作 总手册在CMD中输入 texdoc lshort-zh %查看手册 基本操作 %注释 注释快捷键Ctrl+T \document{article/report/book/letter} %report有封面 ...
  • 1. LateX编辑器基本介绍 说起LateX就是比较热门的公式编辑器,LaTeX工具分为在线工具和本地工具,本地工具又分为前台和后台。在线工具推荐Overleaf,本地工具推荐前台使用TeXStudio,后台推荐使用TeXLive(后台工...
  • LaTeX语法

    2022-05-13 14:00:38
    LaTeX常用语法
  • LaTeX简介

    千次阅读 2019-04-30 19:29:48
    Latex简介TeX 和 LaTeX关于 TeX关于 LaTeXLaTeX 的优点排版质量高,数学式精美格式自动处理创建参考文献可扩充性稳定性和安全性版本兼容性强,通用性强免费使用与 word 相比, LaTeX 的缺点LaTeX 起点门槛高,初学者...
  • LaTex写实验报告

    千次阅读 2021-12-11 14:22:52
    LaTex写实验报告 文章目录LaTex写实验报告一、简介二、代码三、效果 一、简介 我们这里使用Latex进行实验报告的书写,我们将会给出一个模板来供大家参考与学习。 二、代码 \documentclass{ctexart} \usepackage[UTF8...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,968
精华内容 2,387
关键字:

latex换源