美文网首页生信相关LaTeX程序员
LaTeX | 为学术论文排版而生【公式篇】

LaTeX | 为学术论文排版而生【公式篇】

作者: 青柠学术 | 来源:发表于2017-02-09 17:54 被阅读635次

    一步一坑,继续LaTeX系列的第三篇【公式篇】,前面介绍过【入门篇】和【文本篇】,新来的朋友们可以点击这里查看。在公式编辑方面,LaTeX具有独到甚至统治性的优势,大批用户投入LaTeX的怀抱。今天就一起见识下它的魅力吧!

    论数学公式

    对于理工科、经济学等方向的学生和科研人员来说,难免要与数学公式打交道,比如写报告、发表学术论文。从我自己和周围的朋友来看,排版数学公式永远是件麻烦事,特别是当公式很多很复杂时。

    比如在Word中,插入公式很容易引起行距的变化,需要多次调整,且很容易出现牵一发而动全身的典型Word风格(此处忽略Word排版大神)。此外在Word中给公式编号也是要经过很多步骤,就算借助MathType也无法实现一键完成编号的程度。

    目前排版数学公式的方法最常见的是:

    • Word中自带的插入公式功能。

    • 借助Mathtype

    上面这两种方法,要么折磨人,要么根本满足不了需要,这里不多说,大家都懂!:)

    今天就向大家介绍排版数学公式的王者LaTeX

    ☟,准备入坑!

    LaTeX 数学公式语法

    假如现在我们要用LaTeX排版勾股定理,编写下面的代码即可:

    $a^2 + b^2 = c^2$
    

    得到的效果就是:

    编译输出

    什么!这么简单,等等,没你想得那么简单:)

    因为LaTeX也算是一种编程语言,所有内容都需要通过代码实现,从上面勾股定理的实现代码可以看出都是由字母搭配各种符号构成。这里有两点:

    • 字母是都知道,这不是问题。
    • LaTeX编辑公式涉及到的符号特别多,先不说知道什么时候用哪个符号,你连把这些符号记住就不太可能了(累觉不爱,且行且珍惜:))

    不过,有办法解决,后面再说。继续LaTeX语法。

    行内公式

    所谓行内公式(inline math)即指公式不单独成行,而是在一句话的中间。行内公式有三种表达方式:

    • $...$
    • \(...\)
    • \begin{math}...\end{math}

    我们一般习惯使用$...$。比如我要表达频率等于速度除以波长这么一句话,LaTeX代码如下:

    频率$f$等于速度$v$除以波长 $\lambda$
    

    效果如下:

    行内公式

    是不是很简单的呢:)

    行间公式

    行间公式(display math)指单独成行的公式,分单行公式多行公式(后面再说)。行间公式的表达方式也有三种:

    • $$...$$
    • \[...\]
    • \begin{displaymath}...\end{displaymath}

    同样,一般习惯使用$$...$$。比如使用下面的代码实现二次函数的一般表达式:

    $$ f(x)= ax^2 + bx + c $$
    

    运行得到效果:

    行间公式

    怎么,是不是依然很简单,:)继续往下看。

    公式编号

    公式编辑好后,往往需要对其进行编号,即公式有编号且编号自动增加。实现公式编号需要在导言区(不懂这些概念的点击这里学习)调用{amsmath}宏包,还得使用equation环境。给二次函数一般表达式编号的全部实现代码如下:

    \documentclass[UTF8]{ctexart}
    \usepackage{amsmath}
    \begin{document}
    
    \begin{equation}
             f(x)= ax^2 + bx + c 
    \end{equation}
    
    \end{document}
    
    

    运行得到效果:

    编译输出

    但是,单单做到这一步还不够,因为往往文档都是有章节的,且经常碰到公式编号跟随章节序号变化的要求。这一点LaTeX早就为我们考虑了,而且实现方法非常简单(绝对秒杀WordMathType)。

    方法就是导言区添加:\numberwithin{equation}{section}

    因此修改前面的代码为:

    \documentclass[UTF8]{ctexart}
    \usepackage{amsmath}
    \numberwithin{equation}{section}
    \begin{document}
    
    \section{Math}
    \begin{equation}
     f(x)= ax^2 + bx + c 
    \end{equation}
    
    \end{document}
    

    运行得到效果:

    编译输出

    到这里,可以发现用LaTeX编辑公式是这么简单高效。那么如何解决很难记住那么多符号的问题呢,比如求和、积分、求导等符号。继续往下看。

    你可能不知道的 MathType 功能

    先设想一下:

    如果能先在MathType里编辑好公式,然后直接拷贝到LaTeX里进行排版,那该有多好!这样便能将MathType可见即可得的风格与LaTeX所思即所想的风格结合起来。

    事实是MathType确实能做到,下面具体说一下。

    • 首先在MatyType中编辑好自己需要的公式,比如二次函数根的表达式:

      编辑公式
    • 在菜单栏选择剪切并拷贝预置

      MathType设置
    • 选择MathMl 或 TeX,点击确定,完成设置。

      MathType设置
    • 然后全选编辑器好的公式,Ctrl+C复制。

    • LaTeX编辑器(比如TeXstudio)粘贴,得到:

    \[x = \frac{{ - b \pm \sqrt {{b^2} - 4ac} }}{{2a}}\]
    

    这里可以看出,默认情况下MathType采用行间公式\[...\]

    • 编译代码得到:

      编译输出
    • 到此完成。

    所以可以看到,通过上述方法,我们可以在MathType中先编辑好比较复杂的公式,特别是涉及很多符号的公式,然后拷贝到LaTeX中。当然,有时满足需要,可以稍微修改下粘贴到LaTeX的代码,以得到更好的公式排版效果。


    更多实用技能请移步我的公众号猫Q学术派(ID: CATQ_Studio)谢谢支持!:)

    相关文章

      网友评论

      • bad_boy:写的真不错,坐等更新

      本文标题:LaTeX | 为学术论文排版而生【公式篇】

      本文链接:https://www.haomeiwen.com/subject/ovcwittx.html