N年没来了,回来瞧瞧
$\mathrm\LaTeX$ 公式输入基础教程(二)

$\mathrm\LaTeX$ 公式输入基础教程(一)

kuing posted @ 2016年9月01日 22:38 in 未分类 , 11729 阅读

温馨提示:
1、带星号*的段落可能不易理解,初学者可以先忽略;
2、由于本贴内容较多,打开本页时可能会卡,最好稍等一下待公式显示完了再看;


  首先介绍两个术语——“行内公式”和“行间公式”。
  行内公式,亦称为随文模式(inline mode),是将公式镶嵌在普通文段内,就像 $c^2=a^2+b^2$ 这样,跟文字排在一起,谓之“随文”。
  行间公式,亦称为展示模式(display mode),是将公式独立并且居中展示,就像下面这个公式这样
\[c^2=a^2+b^2\]
  行间公式通常用来显示文中相对重点的或者较为复杂的公式,同时还可以使其自动编号,以方便其他地方进行引用,就像下面这样
\begin{equation}\label{bzdlatexgsdjbsrzdbh1}
c^2=a^2+b^2
\end{equation}
  式 \eqref{bzdlatexgsdjbsrzdbh1} 叫勾股定理。
  其实,“随文模式”、“展示模式”这两个名称是更加准确的,只不过一直以来我都叫惯了“行内”、“行间”,所以这里仍然用旧称呼。

  下面开始讲具体输入。

  1、行内公式的输入格式:

    \(\Large\verb"$公式代码$"\)  或者  $\Large\verb"\(公式代码\)"$

  通常我们用前者。美元符号 \$ 为纯英文输入法状态下按 Shift+4 所得。

  例 1.1:\$a^2+x_3=C_n^m\$ 显示 $a^2+x_3=C_n^m$

  例 1.2:\$a_n+1=a_{n+1}+\sqrt{n}+\frac{1}{n}\$ 显示 $a_n+1=a_{n+1}+\sqrt{n}+\frac{1}{n}$

  例 1.3:\$\sum_{k=1}^n\frac{1}{k^2}=\frac{\pi^2}{6}\$ 显示 $\sum_{k=1}^n\frac{1}{k^2}=\frac{\pi^2}{6}$

  2、行间公式的输入格式:

    \(\Large\verb"\[公式代码\]"\)  或者  \(\Large\verb"$$公式代码$$"\)  *或者使用环境(\(\verb"\begin{...}...\end{...}"\))

  我们提倡用前者。反斜杠 \ 在台式机键盘在F11下边,也要在纯英文输入法状态下 输入。使用环境留到后面再详讲。

  将上面三例的 \$...\$ 都换成 \(\verb"\[...\]"\) 得到:

  例 2.1:\(\verb"\[a^2+x_3=C_n^m\]"\) 显示 \[a^2+x_3=C_n^m\]  例 2.2:\(\verb"\[a_n+1=a_{n+1}+\sqrt{n}+\frac{1}{n}\]"\) 显示 \[a_n+1=a_{n+1}+\sqrt{n}+\frac{1}{n}\]  例 2.3:\(\verb"\[\sum_{k=1}^n\frac{1}{k^2}=\frac{\pi^2}{6}\]"\) 显示 \[\sum_{k=1}^n\frac{1}{k^2}=\frac{\pi^2}{6}\]
  *最后来一个用环境输入的多行公式,例 2.4:
\(\verb"\begin{align*}"\)
\(\verb"f(x) & = ax^2+bx+c\\"\)
\(\verb"& = a(x-x_1)(x-x_2)\\"\)
\(\verb"& = a\left( x-\frac{-b+\sqrt{b^2-4ac}}{2a} \right)\left( x-\frac{-b-\sqrt{b^2-4ac}}{2a} \right)"\)
\(\verb"\end{align*}"\)
  显示
\begin{align*}
f(x) & = ax^2+bx+c\\
& = a(x-x_1)(x-x_2)\\
& = a\left( x-\frac{-b+\sqrt{b^2-4ac}}{2a} \right)\left( x-\frac{-b-\sqrt{b^2-4ac}}{2a} \right)
\end{align*}

  3、常用的公式代码表以及需要注意的细节

上下标:$x^n$,$x^{123}$,$x_n$,$x_{123}$,$C_n^m$,$C_{100}^{50}$ x^n,x^{123},x_n,x_{123},C_n^m,C_{100}^{50}

  【注意】当上标或下标非单个字符时要用花括号括起整体,否则只会对首个字符生效,比如 x^10 会显示 $x^10$。

  对数、三角函数这些函数名应该用直立的字体 $\ln$,$\sin$,但如果直接输入 ln,sin 会显示 $ln$,$sin$ 这样的斜体,事实上,初等数学中的函数名多数都有相应的命令给出直立体。

对数、三角函数:$\log_ab$,$\ln x$,$\lg10$,$\sin x$,$\cos2x$,$\tan\pi$,$\cot^222$,$\arcsin x$,$\sinh x$ \log_ab,\ln x,\lg10,\sin x,\cos2x,\tan\pi,\cot^222,\arcsin x,\sinh x

  【注意】\ln 和 x 之间必须空开,\sin x 也是,否则像 \lnx,\sinx 这样会被系统理解为另一个未知命令而报错。但是 \lg10 和 \cos2x 就不用空开,因为命令不含数字,所以只有当命令后紧跟英文才需要空开。
  *前面我说“初等数学中的函数名多数都有……”,这意味着有些是没有的,比如没有 \arccot 这个命令,如果确实需要用到,在本论坛中你可以临时用 \text{arccot} 顶一顶,而如果在真 LaTeX 中则可以在导言区用 \DeclareMathOperator\arccot{arccot} 来新建一个,而不应该用 \text。(搞不懂为毛 LaTeX 认 \arctan 而不认 \arccot ,难道有啥内涵么?)
 

分式:$\frac{1}{2}$,$\frac{1}{23}$,$\frac{a}{b}$,$\frac{x}{y+z}$ \frac{1}{2},\frac{1}{23},\frac{a}{b},\frac{x}{y+z}

  如果在行间公式中,它们会显示为
\[\frac{1}{2},\frac{1}{23},\frac{a}{b},\frac{x}{y+z}\]  *由于单个字符不需要花括号括起,所以其实它们可以简写成 \frac12,\frac1{23},\frac ab,\frac x{y+z}(记得别少了空格),不过建议代码还没打熟练之前最好不要简写,以免出错。
 

根式:$\sqrt{a}$,$\sqrt{xyz}$,$\sqrt{2}$,$\sqrt[3]{2}$,$\sqrt[3]{\sqrt[3]{333}}$ \sqrt{a},\sqrt{xyz},\sqrt{2},\sqrt[3]{2},\sqrt[3]{\sqrt[3]{333}}

  *类似地,这样的简写也是可以的:\sqrt a,\sqrt2,\sqrt[3]2,但注意中括号不能省,即使里面是单个字符
 

花括号的输出:$\{abc\}$ \{abc\}

  这是因为 {...} 用于代码中表示整体,故直接输入 {abc} 是显示不出花括号的。其他括号无此问题,直接输入即可。
 

导数:$f'(x)$,$f''(x)$,$f'''(x)$ f'(x),f''(x),f'''(x)

  【注意】导数的输入在 LaTeX 中是最方便的,既不用打上标也不用其他特别的代码,就直接打一撇 ' 就行,也就是按一下键盘上的“右单引号”键(台式机键盘在中括号下面),二阶导数就打两撇(是按两次,而不是按双引号键!),三阶就三撇,如此类推。
 

和式、积式:$\sum_{k=1}^nf(k)$,$\prod_{k=1}^nf(k)$ \sum_{k=1}^nf(k),\prod_{k=1}^nf(k)

  上面行内公式的显示结果,如果放在行间公式的话就:
\[ \sum_{k=1}^{n}f(k), \prod_{k=1}^nf(k)\]  下面的极限、积分的情况类似。
 

无穷、极限:$\infty$,$\lim_{k\to\infty}k^{-1}=0$ \infty,\lim_{k\to\infty}k^{-1}=0
积分:$\int_a^bf(x)dx$ \int_a^bf(x)dx

  如果想让 d 变成直立,建议使用本论坛自定义的 \rmd 命令:\int_a^bf(x)\rmd x 显示 $\int_a^bf(x)\rmd x$
 

正负、负正:$\pm1$,$\mp1$,$\pm x$,$\mp x$ \pm1,\mp1,\pm x,\mp x
同余:
不带括号:$a\equiv b\mod cd$
带括号:$a\equiv b\pmod{cd}$
不带括号:a\equiv b\mod cd
带括号:a\equiv b\pmod{cd}

  \pmod 会自动生成括号,不需要手打,但注意花括号不要少,除非是单个字符。
 

短的左推出、右推出、等价于:$\Rightarrow$,$\Leftarrow$,$\Leftrightarrow$ \Rightarrow,\Leftarrow,\Leftrightarrow

  若首字母不大写则变成 $\rightarrow$,$\leftarrow$,$\leftrightarrow$。另外,$\to$ 和 $\gets$ 也可分别用 \to 和 \gets 得到。
 

推不出、不等价:$\nRightarrow$,$\nLeftarrow$,$\nLeftrightarrow$ \nRightarrow,\nLeftarrow,\nLeftrightarrow

  也就是前面三个命令加个 n 。
 

长的左推出、右推出、等价于:$\Longrightarrow$,$\Longleftarrow$,$\Longleftrightarrow$ \Longrightarrow,\Longleftarrow,\Longleftrightarrow

  也有类似的首字母不大写的情况。另外,还有简写:\iff 得 $\iff $,\riff 得 $\riff$,\liff 得 $\liff$,其中后面两个是本论坛自定义的,推荐使用这三个简写。
 

大小关系:$\ge$,$\le$,$\ne$,$\equiv$,$\approx$,$\geqslant$,$\leqslant$ \ge,\le,\ne,\equiv,\approx,\geqslant,\leqslant
相似(或等价量)、全等:$\sim$,$\cong$ \sim,\cong
常用希腊字母:
$\pi$,$\alpha$,$\beta$,$\gamma$,$\theta$,$\rho$,
$\lambda$,$\mu$,$\Delta$,$\xi$,$\omega$,
$\phi$($\varphi$),$\epsilon$($\varepsilon$)
\pi,\alpha,\beta,\gamma,\theta,\rho,
\lambda,\mu,\Delta,\xi,\omega,
\phi(\varphi),\epsilon(\varepsilon)
三角形、圆、角、垂直、度:$\triangle$,$\odot$,$\angle$,$\perp$,$30^\circ$ \triangle,\odot,\angle,\perp,30^\circ

  【注意】不要用 $\Delta$(\Delta) 来表示三角形,判别式才是 $\Delta$。另外,本论坛也自定义了 \du 代替 ^\circ 。
 

点乘、叉乘、除以:$a\cdot b$,$1\times2$,$355\div113$ a\cdot b,1\times2,355\div113
存在、任意、非、或、且:$\exists$,$\forall$,$\neg$,$\vee$,$\wedge$ \exists,\forall,\neg(或 \lnot),\vee(或 \lor),\wedge(或 \land)
补集、空集:$\complement$,$\varnothing$ \complement,\varnothing

  \complement,\varnothing 又长又不好记,本论坛自定义了 \buji,\kongji 来代替,推荐使用。另外,空集不推荐用那个 \emptyset(效果:$\emptyset$)更不应该用 \phi(效果:$\phi$)
 

并、交、含:$\cup$,$\cap$,$\subset$,$\supset$,$\subseteq$,$\supseteq$,$\subsetneqq$,$\supsetneqq$ \cup,\cap,\subset,\supset,\subseteq,\supseteq,\subsetneqq,\supsetneqq
属于、不属于:$\in$,$\notin$,$\ni$ \in,\notin,\ni
组合数:$\binom{n}{m}$ \binom{n}{m}
分段函数:$f(x)=\begin{cases} x+1 & x>0 \\ 1-x & x<0 \end{cases}$ \(\verb"$f(x)=\begin{cases}"\)
\(\verb"x+1 & x>0 \\"\)
\(\verb"1-x & x<0 \end{cases}$"\)
向量:$\vec a,\overrightarrow{a},\overrightarrow{AB}$ \vec a,\overrightarrow{a},\overrightarrow{AB}

  其中 \vec 只适用于单个字母的向量。由于 \overrightarrow 命令太长,本论坛自定义了 \vv 命令代替,只要输入 \vv a,\vv{AB} 即得 $\vv a$,$\vv{AB}$,这里建议统一使用它。
 

上下划线:$\overline{abcd}$,$\underline{abcd}$ \overline{abcd},\underline{abcd}
上下括号:$n=\underbrace{1+1+\cdots+1}_{n个}=\overbrace{1+1+\cdots+1}^{n个}$ n=\underbrace{1+1+\cdots+1}_{n个}=\overbrace{1+1+\cdots+1}^{n个}


  就以上这些常用代码,对于一般的题目基本能应付了。

  大家可以到贴子下方的“草稿本”中测试代码。

  如果想看更全的代码表大家可以在网上查找相关文档(有些较偏门的代码在这里可能用不了,因为这里毕竟不是真 LaTeX,而目前 MathJax 所支持的代码可以参考这里:http://docs.mathjax.org/en/latest/tex.html,网页里头还讲了一些拓展,有兴趣的可以研究下)。

  至于本论坛设置的所有自定义命令的列表见:http://kuing.orzweb.net/viewthread.php?tid=6,里面还讲了如何在本论坛中临时自定义命令。


  关于行内公式与行间公式的一点补充:
  行内公式的分式、和式等具有一定高度的公式将会显示得比行间公式(标准大小)的要,并且一些本应在正上或正下方的上下标将被放到右边(对比“例 1.3”与“例 2.3”便知)。这是 TeX 设计者之意,既然在行内,就不应该把行距撑大,故对超过一定高度的公式作这样的处理以减小高度。
  如果你不在意行距,要用行内公式但又要使其总以标准大小显示的话,可以公式前面加一个 \displaystyle,比如 \$\displaystyle\sum_{k=1}^n\frac{1}{k^2}\$ 将显示 $\displaystyle\sum_{k=1}^n\frac{1}{k^2}$,而如果只想要分式不变小,可以将 \frac 改成 \dfrac,比如 \$\frac12=\dfrac12\$ 将显示 $\frac12=\dfrac12$。看到行距被撑大了没?
  事实上这种情况我会用 $a/b$、$(a+b)/(c+d)$ 这种写法,既不会显小也不撑大行距,只要写法正确(必要的括号加好)我想不会有人看不懂吧。

  一些建议:
  1、虽然在 MathJax 里,公式中可以包含中文或其他全角符号(比如 α、Δ、π 这些直接能在某些输入法里打出来的全角符号),但我还是建议尽可能都在纯英文状态下输入代码来写公式,尽量不要让公式代码里出现中文或全角符号(经常看到半角全角交替的括号让我比较恼火,必须强调公式中要用纯英文的输入状态以杜绝这一现象);
  2、对于一些重点或关键的公式,以及一些较复杂的公式,建议采用行间公式的模式去输入,除了方便观看之外,还方便输入(你试多了自然会知道,复杂的公式用行内公式来写的话可能很难看,你可能经常需要用 \dfrac 代替 \frac,或者经常 \displaystyle 才能达到你想要的效果),而且还能编号和引用,这一点要用到环境,留到后面讲。
 

Things to do 说:
2024年3月19日 16:15

You are travel lovers? Where will you go for the next destination? Let things to do post show you their favorite places with their beautiful photos


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter