Word和PPT中插入Latex数学公式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Word和PPT中插入Latex数学公式相关的知识,希望对你有一定的参考价值。

参考技术A

在整理笔记时,需要输入一些公式。以前Office输入公式靠点击,非常麻烦。所以我转用Markdown来做笔记。但是当我需要Markdown笔记中的公式拷入Word或PPT中时,却发现不论是html还PDF,只能靠截图,没法直接拷贝。

网上大部分解决方案是安排插件,不过也有人指出新版的Office是支持Latex公式输入的。我试了一下, 这是真的!

和以前一样,直接点击 "插入" "公式" ,在公式框中直接输入Latex公式,然后空格,就转换成普通数学公式了。

Office的“公式”对简单的latex公式语法支持比较好。但是复杂公式支持不太好,有些语法似乎不能正常识别。对于复杂公式,利用Office中的“公式”模式框架,结合Latex公式似乎更方便。

比如:

加【空格】只是为了输入这个符号,先输入内容在敲两下【空格】才是输入公式

极限:\\limit【空格】
积分:\\int 【空格】
点乘(如内积):\\bullet【空格】
叉乘(如外积、旋度):\\times 【空格】
字母上方的向量箭头:\\hvec 【空格】

分式:就是普通的/【空格】

下标:_【空格】
上标:^【空格】

积分符号上下限:\\int_a^b 【空格】 其中a为下限,b为上限。
比如:\\int_3^4【空格】

根号:\\sqrt
比如:\\sqrt (a+b)【空格】
再如:\\sqrt (n&a+b)【空格】

导数:df/dx 【空格】 f对x的导数
偏导数:\\partial(f)/\\partial(x) 【空格】 f对x的偏导数
重积分:\\iint_A 【空格】 在A集上的重积分
三重积分:\\iiint_C 【空格】 在C上的三重积分
线积分:\\oint_C【空格】 在C上的线积分
曲面积分:\\oiint_S【空格】 在S上的曲面积分

求和:\\sum_(n=1)^N【空格】 n从1到N的求和

<= 【空格】小于等于
>=【空格】大于等于
<<【空格】远小于
>>【空格】远大于
\\times【空格】乘号
\\div【空格】除号
\\dot【空格】点乘
~~【空格】约等于
\\neq【空格】不等于

注意 : 下面几个是两个空格
x\\hat【空格】【空格】
x\\bar【空格】【空格】
x\\tilde【空格】【空格】

自定义在头顶的东西 a\\above(c) 【空格】 c在a上面
自定义在下面的东西 a\\below(c) 【空格】 c在a下面

\\in【空格】 属于
\\ni【空格】 属于反过来
\\subset【空格】包含于
\\superset【空格】包含
\\cup【空格】并运算
\\cap 【空格】交运算
\\bigcup【空格】大写的并
\\bigcap【空格】大写的交

矩阵:\\matrix 【空格】举个例子:\\matrix(1&2@3&4)
1 2
3 4

\\barx 显示结果变成
\\overlinex 显示结果为

Java 在Word中添加数学公式(Latex/MathML)

本文介绍通过Java程序在Word文档中添加数学公式的方法。添加时,可添加latex数学公式或者MathML数学公式。详细内容见下文。

1. 程序环境

  • Word测试文档:.docx 2013
  • Word jar包:free spire.doc.jar 3.9.0
  • 代码编译环境:IntelliJ IDEA
  • Jdk版本:1.8.0

其中,jar导入可分手动导入或者maven仓库下载导入。

1.1 手动导入下载jar包,解压并将lib文件夹下的jar文件导入程序,如图1;

图1

 

1.2 Maven导入:需配置pom.xml,如下,

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
<dependencies>
    <dependency>
        <groupId> e-iceblue </groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>3.9.0</version>
    </dependency>
</dependencies>

 

点击“Import Changes”下载导入,如图2,

图2

Maven中导入jar结果,如图3:

图3

2. Java代码

import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.omath.OfficeMath;

public class AddFormular {
    public static void main(String[] args) {
        //新建Word示例,添加一个section
        Document doc = new Document();
        Section section = doc.addSection();

        //添加段落1和段落2,添加Latex数学公式
        Paragraph paragraph1 = section.addParagraph();
        OfficeMath officeMath1 = new OfficeMath(doc);
        paragraph1.getItems().add(officeMath1);
        officeMath1.fromLatexMathCode("$f(x, y) = 100 * \\\\lbrace[(x + y) * 3] - 5\\\\rbrace$");

        Paragraph paragraph2 = section.addParagraph();
        OfficeMath officeMath2 = new OfficeMath(doc);
        paragraph2.getItems().add(officeMath2);
        officeMath2.fromLatexMathCode("$S=a_{1}^2+a_{2}^2+a_{3}^2$");

        //添加段落3,插入MathML数学公式
        Paragraph paragraph3 = section.addParagraph();
        OfficeMath officeMath3 = new OfficeMath(doc);
        paragraph3.getItems().add(officeMath3);
        officeMath3.fromMathMLCode("<mml:math xmlns:mml=\\"http://www.w3.org/1998/Math/MathML\\" xmlns:m=\\"http://schemas.openxmlformats.org/officeDocument/2006/math\\"><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msqrt><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:msqrt><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math>");
        //保存文档
        doc.saveToFile("addMathEquation.docx", FileFormat.Docx_2013);
        doc.dispose();
    }
}

执行程序,生成Word文档,可查看如下公式添加结果,如图4:

图4

 

原创内容,如需转载,请务必注明出处

 

-End-

 

以上是关于Word和PPT中插入Latex数学公式的主要内容,如果未能解决你的问题,请参考以下文章

怎么将复杂的数学公式复制到Word中?

Java 在Word中添加数学公式(Latex/MathML)

exp在mathtype中如何打出来

Latex数学公式 插入空格

LaTeX 教程04. LaTeX 插入数学公式与符号

数学公式编辑器