免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

本论坛的 $\mathrm\LaTeX$ 公式的基本输入[2016-4-5更新]

温馨提示:
1、带星号*的段落可能不易理解,初学者可以先忽略;
2、由于本贴内容较多,打开本页时可能会卡,最好稍等一下待公式显示完了再看;
3、如果本贴中有某些公式显示不正常,请尝试进入 Archiver 版(http://kuing.orzweb.net/archiver/?tid-5.html)查看。


  首先介绍两个术语——“行内公式”和“行间公式”。
  行内公式,亦称为随文模式(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*}"\)
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)
\(\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 才能达到你想要的效果),而且还能编号和引用,这一点要用到环境,留到后面讲。

  动态图演示:
  
20110928_8b77033d012485da43a9o2edbCN9CZkp.gif
2014-11-14 22:24
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

回复 51# isee

真 LaTeX 里,连 f_\max 都不行……

说到这个,我记得我曾经在 CTEX 论坛上问过,为啥 f_\alpha 可以但 f_\max 却不行,回答是怎样我不记得了,反正对此我现在还不太清楚。

TOP

回复 51# isee

嗯,这的确是

TOP

回复 50# kuing


表达有误,应该是指这类 e^\sqrt 2

TOP

论坛代码要求好“松”,e^x_0 都能显示出是要表达的式子
isee 发表于 2020-7-20 19:02
e^x_0 get $e^x_0$,这不是正常结果吗?

TOP

本帖最后由 isee 于 2020-7-20 19:04 编辑

论坛代码要求好“松”,e^x_0 都能显示出是要表达的式子

TOP

回复 47# kuing

我错了,mathjax 和真 LaTeX 有区别,在真 LaTeX 里 \dots 后跟 \sum 或 \int 之类的也是会居中的。

也用 KaTeX 测试一下,看看是不是如我一向的感觉:KaTeX 总是更接近真 LaTeX
\[a,\dots\sum\dots\sum\dots\]\[a,\dots\int\dots\int\dots\]果然如此!可惜下面那即时预览不支持 KaTeX 啊……

TOP

回复 46# hbghlyj

提到 dots ,我就多扯几句……

在真 LaTeX 中,不加载 amsmath 的话,\dots 和 \ldots 是一样的,就是在基线上的(与普通句点相同高度的)三点,\cdots 则是相对高一点的(与点乘号相同高度的)三点。

加载 amsmath 的话,该宏包改变了 \dots ,会视情况给出适当的三点,手册原文:
For most situations, the undifferentiated \dots can be used, and amsmath will output the most suitable form based on the immediate context; if an inappropriate form results, it can be corrected after examining the output.
google 翻译一下:
在大多数情况下,可以使用未区分的\dots,并且amsmath会根据当前上下文输出最合适的形式;如果结果不正确,则可以在检查输出后进行更正。
没说具体的判断规则,我也没细究,一向都是自己手工选择 \ldots 或 \cdots 。

闲来无事,想搞清楚,就去看 amsmath.sty 的代码,可惜太复杂了,超出我的能力范围,只好做做测试吧……

本论坛的 mathjax 是有 amsmath 的,所以可以在论坛上测试,以下省略号全是用 \dots
\begin{gather*}
a+\dots+z \\[1ex]
a,\dots,z \\[1ex]
S=a+b+\dots \\[1ex]
a+b+\dots=S \\[1ex]
a,b,\dots \\[1ex]
a,b,\dots=0 \\[1ex]
ab\dots z \\[1ex]
a,\dots\sum\dots\sum\dots \\[1ex]
a,\dots\int\dots\int\dots \\[1ex]
\end{gather*}看起来,似乎只有当 \dots 的后面是运算符或关系符的时候才会是居中的三点

TOP

$\dots$     \dots
$\cdots$   \cdots
$\ldots$   \ldots

TOP

刚才无意中发现 3# 矩阵环境系列里漏掉了 Bmatrix ,花括号形式的矩阵……赶紧补上……

TOP

回复 43# wanhuihua

办法是有的,但我建议你还是先试着自己输入。

TOP

可以按照Latex格式完全复制某人的证明吗?谢谢

TOP

回复 41# 周险峰

你也可以在页面下方的“草稿本”中测试。

TOP

本帖最后由 周险峰 于 2017-5-20 09:54 编辑

行内试试看:\(a^2=b^2+bc\)
行间试试看:\[e^x\geqslant ex+(x-1)^2\]
复杂点的试试:\[\frac c{b}+\frac b{c}=\frac {b^2+c^2-a^2}{bc}+\frac {a^2}{bc}=2\cos A+2\sin A\]
来个分段函数:\[f(x)=\begin{cases}x^2+2x+3&x\geqslant2\\e^x-x&x<0\end{cases}\]
来个换行等号:\begin{align*}
\frac c{b}+\frac b{c}&=\frac {b^2+c^2-a^2}{bc}+\frac {a^2}{bc}\\&=2\cos A+2\sin A\\&=2\sqrt2 \sin(A+\frac{\pi}{4})\end{align*}

TOP

新人报道

TOP

\frac{1}{2}

TOP

回复 36# abababa

我也不太清楚,不过应该不是你想的那样。

TOP

回复 35# kuing

查了一下,原来eqref是由amsmath包定义的,而ref是latex自带的,其它的区别也不是太明白。
听说还有个latex3,也不知道这些都有什么区别,是不是3自带的命令会更多呢?像abs取绝对值,现在要自己写newcommand来做,以后会不会自带就有?

TOP

回复 34# abababa

我看了 \eqref 的定义并不是简单地在 \ref 两边加括号,还有一些其他东西,我也不是很清楚,你去ctex论坛问下吧。

TOP

引用时,eqref和ref的区别,是不是只是前一个有括号,后一个没有呢?eqref还有什么特殊性吗?我一直都是用ref,才发现这里公式用的是eqref。

TOP

返回列表 回复 发帖