返回列表 回复 发帖 免费斗地主赢30元充值卡

[教程] 如何在本论坛输入数学公式?——LaTeX语法帮助教程

相关搜索: 教程
加精理由:精心整理的教程,希望对大家有帮助!
2008-02-12 是个重要的日子。因为这一天,
数学研发论坛(bbs.emath.ac.cn)实现了大家梦寐以求的数学公式直接输入和显示功能,
使我们这个专注于数学与计算机算法的论坛更显专业化。
这首先得感谢本坛的 mathe 先生,是他首先提出了该解决方案;
当然站长也需在后台添加一些代码配合才得以实现。
该方案用的是先进的 LATEX见附录)。


作为论坛的参与者:在本论坛浏览或发帖需要注意些什么
这将是本帖及其后跟帖将要阐述的主要内容。

首先,作为本坛的浏览者强烈建议您先下载安装MathPlayer
当然,您不安装它也没太大的影响,也并不影响您正常浏览所有帖子;
但仍强烈建议您安装它,因为:
一、可显著加快数学公式的解析显示;
二、鼠标点击数学公式时支持放大/缩小;
三、右键数学公式时可朗读等;
况且该插件并非仅可用于本论坛,其它科学/学术性论坛也许同样建议您安装它,
该插件对浏览器显示其它画面无任何影响。
没有安装此插件的可以点此下载
(注意:安装后有一个英语提示,其意思为:“这个软件已经安装成功,但是需要重新启动IE才能正常使用。”)
使用Firefox游览器需安装Fonts for MathML-enabled Mozilla,点此可以下载

如果你用的是 IE8,可能与 MathPlayer 发生冲突
解决方法为:在“工具”标签中选择“兼容性视图”,把本站地址(http://bbs.emath.ac.cn/)加入到兼容性视图网站中即可。
(图形化步骤请见:[教程] 解决 IE8 与 MathPlayer 冲突问题


对于发帖者,您可以在本论坛充分展示您的才华,写下很绚的数学公式,如何做到呢?
这里先讲在本坛发数学公式的几个可选流程(至于可能涉及到的TeX语法将在随后的帖子中阐明):

  • 先编写好并选中要输入的数学公式,然后点击输入数学公式按钮,它将自动在其前后分别用“[TeX]”和“[/TeX]”标签框选住;
  • 如果没有选中内容,也可在点击输入数学公式按钮后,在弹出的编辑框中输入你所需的数学公式;
  • 当然,纯手工分别在数学公式前后添加“[TeX]”和“[/TeX]”标签也可以;
  • 或用通用法则:在公式前后分别成对加“\$”(美元符,Shift+4)

如何输入数学公式?

TeX.gif
2008-3-1 21:15


推荐理由:为了能更好地参与论坛交流,请仔细阅读。
强烈推荐大家采用“[TeX]数学公式[/TeX]”标签形式,因为:
  • 它是安全的,不象用“\$”标记那样,一旦未成对使用,可能造成因寻不到结尾处,误将后面的文字解析成公式,甚至出现乱码;
  • 对于匹配的,在帖子显示时,“[TeX]数学公式[/TeX]”将自动解析成“\$数学公式\$”;
  • 在帖子再编辑时,用“[TeX]数学公式[/TeX]”形式更容易识别公式的头尾。


注意:

  • 也正因为“\$”(美元符,Shift+4)被征用为“数学公式”的前后标记符,所以今后大家如果碰到要输入这个字符时,需要紧贴着它并在之前加一个转义符“\”才能正常显示。

  • 在本论坛中会员之间也可在“短消息”中使用“数学公式”,但输入数学公式标签属于自定义“Discuz!代码”而不被支持,所以必须直接使用“\$”符才有效果。

  • 发主题帖时,禁止在“标题”中使用“数学公式”,因为它将以网页的 title 形式显示在浏览器的左上角,无法达到预期效果。且会干扰论坛的首页调用功能。

  • 请在编辑数学公式时,文本中途不要换行,否则因论坛会自动在换行处添加 HTML 换行标签“<br />”,从而导致换行后的 LaTeX 文本无法正常解析成数学公式。

  • 请不要在 LaTeX 文本夹杂中文字符(包括中文空格)。因为如果这样,安装了 MathPlayer 的用户看起来一切正常,但是没有安装软件的用户将看不到这些内容(显示成一些框框了)。

  • 如果发现公式中有与现有表情符相冲突,比如:)可能被误解析为,请发帖时将“禁用 表情”钩选即可。


附:TeX 小知识
TeX

  上世纪七十年代末,著名数学家、计算机编程专家 Donald E. Knuth(高德纳)在看到其多卷巨著“The Art of Computer Programming(计算机编程的艺术)”第二卷的校样时,对由计算机排版的校样的低质量感到无法忍受。因此决定自己来开发一个高质量的计算机排版系统,这样就有了 TeX。

  TeX 的名字是由大写的希腊字母“tec”(tau, epsilon, chi)组成。在希腊语中这个词的意思是“科技”和“艺术”,这也解释了它的发音。“T”和“E”就像在“technology”中的发音一样,而“x”的发音类似于苏格兰语单词“loch”或德语单词“ach”中的“ch”,也类似于西班牙语中的“j”或俄语中的“kh”。

  TeX 的第一版于 1978 年面世。在经过了不断的改进后,1982 年版的 TeX 是一个十分稳定的版本。从此以后,TeX 没有较大的变动,只有很少部分的改进和错误修正。现在几乎所有的操作系统平台下,都有相应的 TeX 软件,而且用它们排版同一个文件得到的输出结果是相同的。TeX 目前的版本是 3.141592,很接近圆周率π。每有一新的版本,就会加上一个π的小数点后的数。所以我们已经知道下一版本的 TeX 是 3.1415926,最终将收敛到π。这也代表了 TeX 不断追求完美的理想。

  虽然 TeX 在过去的二十多年中没有大的变化,但这并不意味着 TeX 是一个僵化的系统。恰恰相反,TeX 开放的设计使得它能够很容易的适应新的要求。例如,在没有改动内核的情形下,TeX 很容易地实现了对 PostScript 字体和外部图形的支持。TeX 还是第一个能够自动生成 HTML 的字处理软件。最近,TeX 又开始增加了在不借助其它工具(如 Adobe Distiller)的条件下生成 PDF 的扩展功能。

  TeX 系统是公认的数学公式排得最好的系统。美国数学学会(AMS)鼓励数学家们使用 TeX 系统向它的期刊投稿。世界上许多一流的出版社如 Kluwer、Addison-Wesley、牛津大学出版社等也利用 TeX 系统出版书籍和期刊。

LaTeX

  Leslie Lamport 开发的 LaTeX 是当今世界上最流行和使用最为广泛的 TeX 宏集。它构筑在 Plain TeX 的基础之上,并加进了很多的功能以使得使用者可以更为方便的利用 TeX 的强大功能。使用 LaTeX 基本上不需要使用者自己设计命令和宏等,因为 LaTeX 已经替你做好了。因此,即使使用者并不是很了解 TeX,也可以在短短的时间内生成高质量的文档。对于生成复杂的数学公式,LaTeX 表现的更为出色。

  LaTeX 自从八十年代初问世以来,也在不断的发展。最初的正式版本为 2.09,在经过几年的发展之后,许多新的功能,机制被引入到 LaTeX 中。在享受这些新功能带来的便利的同时,它所伴随的副作用也开始显现,这就是不兼容性。标准的 LaTeX 2.09,引入了“新字体选择框架”(NFSS) 的 LaTeX ,SLiTeX,AMSLaTeX 等等,相互之间并不兼容。这给使用者和维护者都带来很大的麻烦。为结束这中糟糕的状况,Frank Mittelbach 等人成立了 LaTeX3 项目小组,目标是建立一个最优的,有效的,统一的,标准的命令集合。即得到 LaTeX 的一个新版本3。这是一个长期目标,向这个目标迈出第一步就是在 1994 年发布的 LaTeX2e。LaTeX2e 采用了 NFSS 作为标准,加入了很多新的功能,同时还兼容旧的 LaTeX 2.09。LaTeX2e 每 6 个月更新一次,修正发现的错误并加入一些新的功能。在 LaTeX 3 最终完成之前,LaTeX2e 将是标准的 LaTeX 版本。

AMSTeX / AMSLaTeX

  AMSTeX 是美国数学会提供的,在 Plain TeX 基础上开发的 TeX 宏集。它主要用于排版含有很多数学符号和公式的科技类文章或书籍。AMSTeX 给出了许多高级命令,可以让使用者很方便地排版大型的,复杂的数学公式。AMSTeX 排版数学公式等的功能通过 AMSLaTeX 中的宏包 amsmath 在 LaTeX 中得到实现。AMSTeX 目前的版本为 2.1。

  AMSLaTeX 包括两部分,一是上面提到的 amsmath 宏包,主要的目的是用来排版数学符号和公式。另一部分是 amscls,提供了美国数学会要求的论文和书籍的格式。AMSLaTeX 目前的版本为 2.0。

  在提供 AMSTeX 和 AMSLaTeX 的同时,美国数学会还提供一套数学符号的字库,AMSFonts。这套字库中增加了很多 TeX 的标准字库 Computer Modern 所没有的一些数学符号,粗体数学符号等。AMSFonts 现在的版本为 2.2,有 Metafont 和 Type1 两种字库提供下载。

LaTeX语法

注意:鼠标移到数学公式上,会显示其“源代码”:[TeX]数学公式[/TeX],通过这种方式可以学习别人是如何编辑数学公式的

  • 上、下标的输入

    (1)上标符号为“^”、下标符号为“_”,例如:$2^r$、$a_i$、$log_ax$
    (2)可同时输入上下标(注意要先下标再上标),例如:$C_n^m$
    (3)上、下标符号对于字母一次只能作用一个字符,而对于数字却一次作用一个字符串(含数字的正负号),或者换句话说,一次作用一个单项式。想作用多个字符时可以使用{}将多个字符括起来。请将鼠标依次指向以下几个公式,观察其代码的不同:
    ①$a^b$  ②$a^bc$  ③$a^{bc}$  ④$a^123$  ⑤$a_b^c$  ⑥$a_{b^c}$  ⑦$a_10^-1.1$

  • 分式的输入

    (1)简单一点的分式用单斜杠/表示分数线。例如:$2/3$,$a/b$,$a/{b+c}$,$a^2/(b_2+c)^2$
    (2)如果用双斜杠//则得到如下效果:$2//3$,$a//b$,$a//{b+c}$,$a^2//(b_2+c)^2$
    (3)复杂一点的分数可以使用函数名+参数的格式输入,具体格式为:\frac{}{}(在TeX数学公式中,一些特殊的数学符号和大部分数学格式都是用以\开头的控制命令得到的)。其中\frac为函数名,第一个{}内放分子,第二个{}内放分母。例如:$\frac{1}{1+a^2+a^4+a^6}$
    (4)$a+(b+c)/d$就一定要写成a+(b+c)/d,${a+(b+c)}/d$一定要写成{a+(b+c)}/d,还有,$b/ax$可以写成b/ax,但是$b/{ax}$一定要写成b/{ax},这些细节都要注意

  • 根式的输入

    (1)二次根式的函数名是sqrt。例如:$sqrt2+sqrt22+sqrtab+sqrt{ab}$
    (2)多次根式的函数名是root。格式为root{}{}。其中第一个括号说明根式的次数,第二个{}内为被开根式的对象。例如:$root3 2+root{45}{3}+root45a+b+root45{a+b}+root{n}{x}$

  • 累加的输入

    累加求和的函数名是:\sum。一般格式为\sum_{}^{}{}。三个括号中的内容依次为底标、顶标、被累加求和的通项。需要注意的有两点:(1)没有底标、顶标时可以省略掉_{}^{},(2){}内的内容为单个字母或者数字的时候,{}本身可以省略不写。注意观察以下几个公式的代码,想想看,是什么造成这些公式在排版的不同的?
    ①$\sum_{n=1}^100{n^4}$  ②$\sum_{n=1}^100n^4$  ③$\sum_{n=1}^{n^4}a_n$  ④$\sum\frac{1}{1+a^2+a^4+a^6}$

  • 累乘的输入

    累乘的函数名是:\prod。除了函数名不同之外,其他和累加完全相同。

  • 极限的输入

    累加累乘学会了,极限不用学都知道怎么表示了。呵呵。
    举个例子: $\lim_{h->0}\frac{f(x)-f(x-h)}{h}=f'(x)$
    (输入->可以得到箭头$->$,输入=>可以得到推出符号$=>$)

  • 积分的输入

    积分的函数名是:\int。至于定积分的上、下标,和上面的介绍的方法完全一致。

  • 矩阵和行列式的输入

    (1)矩阵的输入:如果我们输入(当然,别忘记前后加TeX标签哦)
    [(a_11,a_12,a_13),(a_21,a_22,a_23),(a_31,a_32,a_33)],得到的将是: $[(a_11,a_12,a_13),(a_21,a_22,a_23),(a_31,a_32,a_33)]$
    (2)至于行列式的输入,只需要把矩阵中的“[]”换成“||”就可以拉
    (3)f(x)={(1,(x!=0)),(x^2+1,(x=0)):} 就显示:$f(x)={(1,(x!=0)),(x^2+1,(x=0)):}$
    (4){: (AB=BC),(CD=BC) :} }=>AB=CD 就显示:${: (AB=BC),(CD=BC) :} }=>AB=CD$

接下来学习特殊符号的输入

0、我们可以象以前一样使用智能ABC下的V1-V9加数字键选择输入。
  除了这种方法之外,TEX还为很多特殊符号准备了“专用字符串”。举几个例子,大家先熟悉以下模式,注意观察一下一些公式的代码。
    (1)$alpha$ (2)$sinalpha$ (3)$sin alpha+cos beta+tan gamma$ (4)$sinalpha/tangamma$
如果您观察的详细的话,你会发现(2)中没有用空格,(4)中没有用括号。这说明TEX对函数名和字母名都具有自动识别的能力。
熟悉了模型,我们来介绍具体的特殊字符的输入办法。

1、希腊字母表示法(表示法 显示效果)
  varepsilon $varepsilon$ varsigma $varsigma$ vartheta $vartheta$ varphi $varphi$ varpi $varpi$ varrho $varrho$
  alpha $alpha$ beta $beta$ gamma $gamma$ delta $delta$ epsi $epsi$ zeta $zeta$ eta $eta$ theta $theta$ iota $iota$ kappa $kappa$ lambda $lambda$ mu $mu$ nu $nu$ xi $xi$ omicron $omicron$ pi $pi$ rho $rho$ sigmaf $sigmaf$ sigma $sigma$ tau $tau$ upsilon $upsilon$ phi $phi$ chi $chi$ psi $psi$ omega $omega$
  Alpha $Alpha$ Beta $Beta$ Gamma $Gamma$ Delta $Delta$ Epsilon $Epsilon$ Zeta $Zeta$ Eta $Eta$ Theta $Theta$ Iota $Iota$ Kappa $Kappa$ Lambda $Lambda$ Mu $Mu$ Nu $Nu$ Xi $Xi$ Omicron $Omicron$ Pi $Pi$ Rho $Rho$ Sigma $Sigma$ Tau $Tau$ Upsilon $Upsilon$ Phi $Phi$ Chi $Chi$ Psi $Psi$ Omega $Omega$

2、其他特殊字符的表示法
  任意的$\forall$:\forall  无穷大$\infty$:\infty  空集$\emptyset$:\emptyset  存在$\exists$:\exists  梯度$\nabla$:\nabla  垂直$\bot$:\bot  角$\angle$:\angle  小于等于$\le$:\le  大于等于$\ge$:\ge  恒等于$\equiv$:\equiv  因为$\because$:\because  所以$\therefore$:\therefore  乘号$\times$:\times  向量点击符号$\cdot$:\cdot  角度的显示$30^circ$:30^circ 或 $30^@$:30^@

Operation symbols

Type

See

+$+$
-$-$
+-$+-$
-+$-+$
*$*$
**$**$
xx$xx$
//$//$
\\ $\\ $
-:$-:$
@$@$
o+$o+$
ox$ox$
o.$o.$
sum$sum$
prod$prod$
^^$^^$
^^^$^^^$
vv$vv$
vvv$vvv$
nn$nn$
nnn$nnn$
uu$uu$
uuu$uuu$

Font commands

Type

See

bb A$bb A$
bbb A$bbb A$
cc A$cc A$
tt A$tt A$
fr A$fr A$
sf A$sf A$

Relation symbols

Type

See

=$=$
!=$!=$
!|$!|$
!-=$!-=$
:=$:=$
<$<$
>$>$
<=$<=$
>=$>=$
-<$-<$
>-$>-$
in$in$
!in$!in$
sub$sub$
sup$sup$
sube$sube$
supe$supe$
-=$-=$
~=$~=$
~~$~~$
prop$prop$

Arrows

Type

See

uarr$uarr$
darr$darr$
rarr$rarr$
->$->$
|->$>|->$
larr$larr$
harr$harr$
rArr$rArr$
lArr$lArr$
hArr$hArr$
Logical symbols

Type

See

and$and$
or$or$
not$not$
=>$=>$
if$if$
<=> or iff$<=>$ or $iff$
AA$AA$
EE$EE$
_|_$_|_$
TT$TT$
|--$|--$
|==$|==$

Grouping brackets

Type

See

($($
)$)$
[$[$
]$]$
{${$
}$}$
|$|$
(:$(:$
:)$:)$
<<$<<$
>>$>>$
{: }${: }$
{ :}${ :}$


Miscellaneous symbols

Type

See

int$int$
dx$dx$
dy$dy$
dz$dz$
dt$dt$
oint$oint$
del$del$
grad$grad$
+-$+-$
O/$O/$
oo$oo$
aleph$aleph$
/_$/_$
...$...$
.:$.:$
:.$:.$
|...||$...$|
|cdots||$cdots$|
vdots$vdots$
ddots$ddots$
|\ |$|\ |$
|quad|$|quad|$
diamond$diamond$
square$square$
|__$|__$
__|$__|$
|~$|~$
~|$~|$
CC$CC$
NN$NN$
QQ$QQ$
RR$RR$
ZZ$ZZ$

Accents

Type

See

hat x$hat x$
bar x$bar x$
ul x$ul x$
vec x$vec x$
dot x$dot x$
ddot x$ddot x$

注意:如果发现公式中有与现有表情符相冲突,比如上面出现的:)可能被误解析为笑脸,请发帖时将“禁用 表情”钩选即可。
另外,TeX 忽略空格,需要间开的地方请插入 \quad 字串;或在单个空格前加反斜杠成“\ ”即可起效。
提醒:如果用户未安装Math Player,则有部分数学符号无法正常解析。

输入字符

显示效果

备注

x^2+y_1+z_12^34$x^2+y_1+z_12^34$在TeX中,上标符号只作用一个字符,但是对数字却是一次作用到整数结束
sin^-1(x)$sin^-1(x)$function names are treated as constants
d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h$d/dxf(x)=lim_(h->0)(f(x+h)-f(x))/h$complex subscripts are bracketed, displayed under lim
\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$standard LaTeX notation is an alternative
f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n$f(x)=sum_(n=0)^oo(f^((n))(a))/(n!)(x-a)^n$f^((n))(a) must be bracketed, else the numerator is only a
f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n$f(x)=\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n$standard LaTeX produces the same result
int_0^1f(x)dx$int_0^1f(x)dx$subscripts must come before superscripts
[[a,b],[c,d]]((n),(k))$[[a,b],[c,d]]((n),(k))$matrices and column vectors are simple to type
x/x={(1,if x!=0),(text{undefined},if x=0):}$x/x={(1,if x!=0),(text{undefined},if x=0):}$piecewise defined function are based on matrix notation
a//b$a//b$use // for inline fractions
(a/b)/(c/d)$(a/b)/(c/d)$with brackets, multiple fraction work as expected
a/b/c/d$a/b/c/d$without brackets the parser chooses this particular expression
((a*b))/c$((a*b))/c$only one level of brackets is removed; * gives standard product
sqrtsqrtroot3x$sqrtsqrtroot3x$spaces are optional, only serve to split strings that should not match
(:a,b:) and {:(x,y),(u,v):}$(:a,b:) and {:(x,y),(u,v):}$angle brackets and invisible brackets
(a,b]={x in RR : a < x <= b}$(a,b]={x in RR : a < x <= b}$grouping brackets don't have to match
abc-123.45^-1.1$abc-123.45^-1.1$non-tokens are split into single characters,
but decimal numbers are parsed with possible sign
hat(ab) bar(xy) ulA vec v dotx ddot y$hat(ab) bar(xy) ulA vec v dotx ddot y$accents can be used on any expression (work well in IE)
bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)$bb{AB3}.bbb(AB].cc(AB).fr{AB}.tt[AB].sf(AB)$font commands; can use any brackets around argument
stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)$stackrel"def"= or \stackrel{\Delta}{=}" "("or ":=)$symbols can be stacked
{::}_(\ 92)^238U${::}_(\ 92)^238U$prescripts simulated by subsuperscripts

如何利用 MathType 转换成 LaTeX?

假设您已在MathType中编辑好了数学公式,想把它们部分或全部转换成论坛支持的LaTeX,如何实现?

首先,需在MathType中进行设置(Preferences->Translators):

MathType 设置

MathType_Setting.gif
2008-3-2 12:52


按上图选择“TeX -- LaTeX 2.09 and later”,下面的两个选项没必要钩选,最后按确定(OK)即可,以后不必再设定。

现在,您可用鼠标先选中需要转换的部分,按右键,在弹出的菜单中选择“Copy”,如下图:

MathType 转换

MathType_Convert.gif
2008-3-2 12:52


完成后,在下面的状态栏中将提示:Translated (TeX -- LaTeX 2.09 and later)

现在您的剪贴板上将有如下文本:
\[
{\sum\limits_{n = 0}^\infty  {\frac{{(6n)!(545140134n + 13591409)}}{{(n!)^3 (3n)!( - 640320)^{3n} }}} }
\]
有用的是去头掐尾的那行,选中它,再点击本论坛的输入数学公式按钮,将得到如下文本:
  1. [TeX]{\sum\limits_{n = 0}^\infty  {\frac{{(6n)!(545140134n + 13591409)}}{{(n!)^3 (3n)!( - 640320)^{3n} }}} }[/TeX]
复制代码
让我们来看看实际效果:
${\sum\limits_{n = 0}^\infty  {\frac{{(6n)!(545140134n + 13591409)}}{{(n!)^3 (3n)!( - 640320)^{3n} }}} }$
似乎多了些括号等,我们可在其基础上略作修改:
  1. sum_{n=0}^{infty}frac{(6n)!(545140134n+13591409)}{(n!)^3(3n)!(-640320)^{3n}
复制代码
最终的效果为下:$\sum_{n=0}^\infty\frac{(6n)!(545140134n+13591409)}{(n!)^3(3n)!(-640320)^{3n}$

计算圆周率的Chudnovskys公式
好了,基本介绍到这儿就可结束了。
这可是站长费了不少功夫,参考了不少资料编辑整理的,希望对大家有用。

LaTeX 是如此简单美妙,可否想测试体验一下?
请点击下面的帖子:测试:论坛中直接编辑数学公式 进行跟帖测试体验,
前提是已仔细阅读了前面的教程。祝你成功!

回复 6# gxqcn 的帖子

我用\int排积分号比较小,怎样排大的呢,谢谢.
网络上输入,差不多就可以了,不要要求太高了
0.54364331210052407755147385529445
这种方式是和浏览器和插件等相关的
做不到LaTeX的精确一致的
返回列表