LaTeX/数学公式

维基教科书,自由的教学读本
跳到导航 跳到搜索

高纳德⋅克鲁斯(Donald Knuth,TeX系统的创始人)编写TeX系统的首要动力之一,就是希望发明一个公式编辑系统,使得用户可以使用简单的指令构建专业的数学文档.事实证明TeX获得了很大的成功,也因此受到了某些科学团体的青睐.数学排版系统(typesetting mathematics)是LaTeX最主要的优势之一。并且,由于数学公式和符号十分繁杂,如何使用LaTeX的数学排版系统也是我们的核心话题之一。

如果你的文件只是需要一点点简单的数学公式,LaTeX中许多工具你是要用到的。如果你写一篇科技性的文章,它包含大量复杂的公式,这个amsmath 宏包[1] 介绍了许多比LaTeX更加灵活与强大的新命令。 mathtools宏包功能更為強大,保留amsmath所有命令並加入許多十分好用的設定、符號以及環境 [2]。寫作時,將下列命令寫在導言

\usepackage{amsmath}

\usepackage{mathtools}

如果引用mathtools,系統就會自動加載amsmath,故無須再寫\usepackage{amsmath}於導言中。

数学环境(數學環境)[编辑]

LaTeX 需要事先知道后面的文本确实包含数学元素。这是因为 LaTeX 排版数学符号的方式与普通文本不同。因此,特殊的环境为此目的而被声明。根据它们的呈现方式,它们可以分为两类:

  • text - 内联公式(行内公式), 即在声明文本的正文之内. 例如, 我可以在这句话中表达 .
  • displayed - 外联公式(行间公式), 即与正文分开的公式.例如, 要在行间显示一个公式:
  • 行内公式: 在 LaTeX 中, 使用 $ ... $ 来声明一个行内公式, 或者使用 \( ... \). 被括起来的地方会被解释为一个行内公式数学环境.
  • 行间公式: 使用 $$ ... $$ 来声明一个行间公式, 或者使用 \[ ... \].

除此之外, 还可以使用 LaTeX 的环境声明标签来声明数学环境. 以上介绍的部分其实是下面语法的简写.

  • 行内公式

\begin{math}

...

\end{math}

  • 行间公式

\begin{displaymath}

...

\end{displaymath}

  • 自动编号的行间公式

\begin{equation}

...

\end{equation}

注意: 应该避免使用 $$ ... $$ , 因为它可能导致一些问题, 尤其是当你使用 AMS-LaTeX 宏包的时候. 此外, 如果出现问题, 错误提示可能没有帮助.(2018年6月26日注:此条可能已不正确,本条内容上次修改时间为2017年1月.)

如果你正常输入文本, 则你处于 文本模式, 而当你在数学环境中输入时, 情况会和 文本模式有所不同.

  1. 所有空格与换行都会失去作用. 要在数学模式里使用空格, 你应用 \quad 输入一个标准宽度的空格. 或者使用 \ 或 \; 或 \, 等输入宽度不同的空格.
  2. 不允许出现空行, 只能是一个段落一段公式.
  3. 所有字母都会按变量(var)格式排版, 如果需要排版普通拉丁文样式的字母, 请使用 \mathrm{}. 例如, \mathrm{d} 常用来表现 微分算子

在段落文字内插入并以 "displayed" 样式显示公式[编辑]

对于一些大型运算符, 行内与行间样式会有所不同. 行内公式会压缩高度:

行内的累加运算符:

行间的累加运算符:

符號[编辑]

数学中存在很多很多的符号!记忆住如何使用LaTex产生它们是很困难的。有一部分符号可以通过键盘直接输入。 Mathematics has lots and lots of symbols! If there is one aspect of maths that is difficult in LaTeX it is trying to remember how to produce them. There are of course a set of symbols that can be accessed directly from the keyboard:

+ - = ! / ( ) [ ] < > | ' : *

Beyond those listed above, distinct commands must be issued in order to display the desired symbols. There are many examples such as Greek letters, set and relations symbols, arrows, binary operators, etc.

For example:

θ


Fortunately, there's a tool that can greatly simplify the search for the command for a specific symbol. Look for "Detexify" in the external links section below. Another option would be to look in "The Comprehensive LaTeX Symbol List" in the external links section below.

希腊字母[编辑]

希腊字母在数学中经常用到,因为他们在数学的模型中很容易输入。你只需在符号"\"(无引号)后打他们的名字即可得到他们: 若首字母小写,你将得到小写的希腊字母,若首字母大写 (且只有首字母大写), 你将得到大写的希腊字母. 注意:一些大写的希腊字母像拉丁字母, 所以LaTeX将不提供他们 (e.g. uppercase Alpha and Beta are just "A" and "B" respectively). Lowercase epsilon, theta, phi, pi, rho, and sigma are provided in two different versions. The alternate, or variant, version is created by adding "var" before the name of the letter:

θ

Scroll down to #List_of_Mathematical_Symbols for a complete list of Greek symbols.

算子[编辑]

算子是一个用写成一个单词的函数: e.g. trigonometric functions (sin, cos, tan), logarithms and exponentials (log, exp). LaTeX has many of these defined as commands: θ

For certain operators such as limits, the subscript is placed underneath the operator: θ

For the modular operator there are two commands: ± and ±: θ θ

To use operators which are not pre-defined, such as argmax, see custom operators

指數和次方數[编辑]

Powers and indices are equivalent to superscripts and subscripts in normal text mode. The caret (^) character is used to raise something, and the underscore (_) is for lowering. If more than one expression is raised or lowered, they should be grouped using curly braces ({ and }). θ

An underscore (_) can be used with a vertical bar () to denote evaluation using subscript notation in mathematics:

θ

分數及二項式[编辑]

A fraction is created using the ±} command. (for those who need their memories refreshed, that's the top and bottom respectively!). Likewise, the binomial coefficient (aka the Choose function) may be written using the ± command[3]: θ

It is also possible to use the ± command without the amsmath package: θ

You can embed fractions within fractions: θ{y-z} \] |render= }}

Note that when appearing inside another fraction, or in inline text , a fraction is noticeably smaller than in displayed mathematics. The ± and ± commands[3] force the use of the respective styles, ± and ±. Similarly, the ± and ± commands typeset the binomial coefficient.

Another way to write fractions is to use the ± command without the amsmath package: θ

For relatively simple fractions, it may be more aesthetically pleasing to use powers and indices: θ

If you use them throughout the document, usage of xfrac package is recommended. This package provides ± command to create slanted fractions. Usage: θ

Alternatively, the nicefrac package provides the ± command, whose usage is similar to ±.

分数的代码格式是: $\frac{分子}{分母}$

繁分數[编辑]

Continued fractions should be written using ± command[3]: θ} \end{equation} |render= }}

方根[编辑]

The ± command creates a square root surrounding an expression. It accepts an optional argument specified in square brackets ([ and ]) to change magnitude: θ \] |render= }} θ


Some people prefer writing the square root "closing" it over its content. This method arguably makes it more clear just what is in the scope of the root sign. This habit is not normally used while writing with the computer, but if you still want to change the output of the square root, LaTeX gives you this possibility. Just add the following code in the preamble of your document: θ

|render=

The new style is on left, the old one on right

}} This TeX code first renames the ± command as ±, then redefines ± in terms of the old one, adding something more. The new square root can be seen in the picture on the right, compared to the old one. Unfortunately this code won't work if you want to use multiple roots: if you try to write as ±} after you used the code above, you'll just get a wrong output. In other words, you can redefine the square root this way only if you are not going to use multiple roots in the whole document.

總和與積分[编辑]

The ± and ± commands insert the sum and integral symbols respectively, with limits specified using the caret (^) and underscore (_): θ θ

There are many other "big" commands which operate in a similar manner:

\sum \prod \coprod
\bigoplus \bigotimes \bigodot
\bigcup \bigcap \biguplus
\bigsqcup \bigvee \bigwedge
\int \oint \iint[3]
\iiint[3] \iiiint[3] \idotsint[3]

For more integral symbols, including those not included by default in the Computer Modern font, try the esint package.

The ± command[3] allows the use of ± to write the limits over multiple lines: θ

P(i,j)

\] |render= }}

If you want the limits of an integral to be specified above and below the symbol (like the sum), use the ± command: θ However if you want this to apply to ALL integrals, it is preferable to specify the \left.\begin{array}{r}

 -\frac{1}{m}=\frac{\sum_{i=1}^n{X_iY_i}-\frac{1}{n}\sum_{i=1}^n{X_i\sum_{i=1}^n{Y_i}}}{\sum_{i=1}^n{X_{i}^{2}-\frac{1}{n}\left(\sum_{i=1}^n{X_i}\right)^2}}\\
 \frac{1}{m}\lg C=\frac{1}{n}\left(\sum_{i=1}^n{Y_i+\frac{1}{m}\sum_{i=1}^n{X_i}}\right)\\

\end{array} \right\} option when loading the amsmath package: \documentclass{artical} \begin{document} Hallo! \end{document}

Subscripts and superscripts in other contexts as well as other parameters to amsmath package related to them are described in Advanced Mathematics chapter.

For bigger integrals, you may use personal declarations, or the bigints package [4].

Brackets, braces and delimiters[编辑]

How to use braces in multi line equations is described in the Advanced Mathematics chapter.

The use of delimiters such as brackets soon becomes important when dealing with anything but the most trivial equations. Without them, formulas can become ambiguous. Also, special types of mathematical structures, such as matrices, typically rely on delimiters to enclose them.

There are a variety of delimiters available for use in LaTeX: θ

Automatic sizing[编辑]

Very often mathematical features will differ in size, in which case the delimiters surrounding the expression should vary accordingly. This can be done automatically using the ± and ± commands. Any of the previous delimiters may be used in combination with these: θ If a delimiter on only one side of an expression is required, then an invisible delimiter on the other side may be denoted using a period (.).

Manual sizing[编辑]

In certain cases, the sizing produced by the ± and ± commands may not be desirable, or you may simply want finer control over the delimiter sizes. In this case, the ±, ±, ± and ± modifier commands may be used: θ

矩陣與數列[编辑]

A basic matrix may be created using the Template:LaTeX/Environment environment[3]: in common with other table-like structures, entries are specified by row, with columns separated using an ampersand (±) and a new rows separated with a double backslash (±) θ

To specify alignment of columns in the table, use starred version[5]: θ

The alignment by default is \left.\begin{array}{r}

 -\frac{1}{m}=\frac{\sum_{i=1}^n{X_iY_i}-\frac{1}{n}\sum_{i=1}^n{X_i\sum_{i=1}^n{Y_i}}}{\sum_{i=1}^n{X_{i}^{2}-\frac{1}{n}\left(\sum_{i=1}^n{X_i}\right)^2}}\\
 \frac{1}{m}\lg C=\frac{1}{n}\left(\sum_{i=1}^n{Y_i+\frac{1}{m}\sum_{i=1}^n{X_i}}\right)\\

\end{array} \right\} but it can be any column type valid in Template:LaTeX/Environment environment.

However matrices are usually enclosed in delimiters of some kind, and while it is possible to use the \left and \right commands, there are various other predefined environments which automatically include delimiters:

Environment name Surrounding delimiter Notes
Template:LaTeX/Environment[3] centers columns by default
Template:LaTeX/Environment[5] allows to specify alignment of columns in optional parameter
Template:LaTeX/Environment[3] centers columns by default
Template:LaTeX/Environment[5] allows to specify alignment of columns in optional parameter
Template:LaTeX/Environment[3] centers columns by default
Template:LaTeX/Environment[5] allows to specify alignment of columns in optional parameter
Template:LaTeX/Environment[3] centers columns by default
Template:LaTeX/Environment[5] allows to specify alignment of columns in optional parameter
Template:LaTeX/Environment[3] centers columns by default
Template:LaTeX/Environment[5] allows to specify alignment of colums in optional parameter

When writing down arbitrary sized matrices, it is common to use horizontal, vertical and diagonal triplets of dots (known as ellipses) to fill in certain columns and rows. These can be specified using the ±, ± and ± respectively: θ In some cases you may want to have finer control of the alignment within each column, or want to insert lines between columns or rows. This can be achieved using the Template:LaTeX/Environment environment, which is essentially a math-mode version of the tabular environment, which requires that the columns be pre-specified: θ

You may see that the AMS matrix class of environments doesn't leave enough space when used together with fractions resulting in output similar to this:

To counteract this problem, add additional leading space with the optional parameter to the ± command:

θ

If you need "border" or "indexes" on your matrix, plain TeX provides the macro ± θ


Matrices in running text[编辑]

To insert a small matrix, and not increase leading in the line containing it, use Template:LaTeX/Environment environment:

θ

在方程式中加入文字[编辑]

The math environment differs from the text environment in the representation of text. Here is an example of trying to represent text within the math environment: θ

There are two noticeable problems: there are no spaces between words or numbers, and the letters are italicized and more spaced out than normal. Both issues are simply artifacts of the maths mode, in that it treats it as a mathematical expression: spaces are ignored (LaTeX spaces mathematics according to its own rules), and each character is a separate element (so are not positioned as closely as normal text).

There are a number of ways that text can be added properly. The typical way is to wrap the text with the ±} command [3] (a similar command is ±}, though this causes problems with subscripts, and has a less descriptive name). Let's see what happens when the above equation code is adapted: θ

The text looks better. However, there are no gaps between the numbers and the words. Unfortunately, you are required to explicitly add these. There are many ways to add spaces between maths elements, but for the sake of simplicity you may literally add the space character in the affected ±(s) itself (just before the text.) θ

格式化文字[编辑]

Using the ± is fine and gets the basic result. Yet, there is an alternative that offers a little more flexibility. You may recall the introduction of font formatting commands, such as ±, ±, ±, etc. These commands format the argument accordingly, e.g., ±} gives bold text. These commands are equally valid within a maths environment to include text. The added benefit here is that you can have better control over the font formatting, rather than the standard text achieved with ±.

θ

格式化數學符號[编辑]

So we can format text, what about formatting mathematics? There are a set of formatting commands very similar to the font formatting ones just used, except they are aimed specifically for text in maths mode (requires amsfonts)

LaTeX command Sample Description Common use
±} the default math font most mathematical notation
±} this is the default or normal font, unitalicised units of measurement, one word functions
±} italicised font
±} bold font vectors
±} Sans-serif
±} ABCDEFabcdef123456 Monospace (fixed-width) font
±} Calligraphy (uppercase only) often used for sheaves/schemes and categories
±}[6] Fraktur Almost canonical font for Lie algebras
±}[6] Blackboard bold Used to denote special sets (e.g. real numbers)
±}[7] Script

The maths formatting commands can be wrapped around the entire equation, and not just on the textual elements: they only format letters, numbers, and uppercase Greek, and the rest of the maths syntax is ignored.

To bold lowercase Greek or other symbols use the ± command[3]; this will only work if there exists a bold version of the symbol in the current font. As a last resort there is the ± command[3] (poor mans bold): this prints multiple versions of the character slightly offset against each other θ To change the size of the fonts in math mode, see Changing font size.

重音標記[编辑]

So what to do when you run out of symbols and fonts? Well the next step is to use accents:

a' a'' a''' a''''
\hat{a} \bar{a} \overline{aaa} \check{a} \tilde{a}
\grave{a} \acute{a} \breve{a} \vec{a}
\dot{a} \ddot{a} \dddot{a}[3] \ddddot{a}[3]
\not{a} \mathring{a} \widehat{AAA} \widetilde{AAA}

正負號[编辑]

Latex deals with the + and − signs in two possible ways. The most common is as a binary operator. When two maths elements appear either side of the sign, it is assumed to be a binary operator, and as such, allocates some space either side of the sign. The alternative way is a sign designation. This is when you state whether a mathematical quantity is either positive or negative. This is common for the latter, as in maths, such elements are assumed to be positive unless a − is prefixed to it. In this instance, you want the sign to appear close to the appropriate element to show their association. If you put a + or a − with nothing before it but you want it to be handled like a binary operator you can add an invisible character before the operator using ±}. This can be useful if you are writing multiple-line formulas, and a new line could start with a = or a +, for example, then you can fix some strange alignments adding the invisible character where necessary.

控制水平行距[编辑]

LaTeX is obviously pretty good at typesetting maths—it was one of the chief aims of the core Tex system that LaTeX extends. However, it can't always be relied upon to accurately interpret formulas in the way you did. It has to make certain assumptions when there are ambiguous expressions. The result tends to be slightly incorrect horizontal spacing. In these events, the output is still satisfactory, yet, any perfectionists will no doubt wish to fine-tune their formulas to ensure spacing is correct. These are generally very subtle adjustments.

There are other occasions where LaTeX has done its job correctly, but you just want to add some space, maybe to add a comment of some kind. For example, in the following equation, it is preferable to ensure there is a decent amount of space between the maths and the text.

θ

This code produces errors with Miktex 2.9 and does not yield the results seen on the right. Use \textrm instead of just \text.


(Note that this particular example can be expressed in more elegant code by the Template:LaTeX/Environment construct provided by the amsmath package described in Advanced Mathematics chapter.)

LaTeX has defined two commands that can be used anywhere in documents (not just maths) to insert some horizontal space. They are ± and ±

A ± is a space equal to the current font size. So, if you are using an 11pt font, then the space provided by ± will also be 11pt (horizontally, of course.) The ± gives twice that amount. As you can see from the code from the above example, ±s were used to add some separation between the maths and the text.

OK, so back to the fine tuning as mentioned at the beginning of the document. A good example would be displaying the simple equation for the indefinite integral of y with respect to x:

If you were to try this, you may write:

θ

However, this doesn't give the correct result. LaTeX doesn't respect the white-space left in the code to signify that the y and the dx are independent entities. Instead, it lumps them altogether. A ± would clearly be overkill is this situation—what is needed are some small spaces to be utilized in this type of instance, and that's what LaTeX provides:

Command Description Size
± small space 3/18 of a quad
± medium space 4/18 of a quad
± large space 5/18 of a quad
± negative space -3/18 of a quad

NB you can use more than one command in a sequence to achieve a greater space if necessary.

So, to rectify the current problem:

θ θ θ

The negative space may seem like an odd thing to use, however, it wouldn't be there if it didn't have some use! Take the following example:

θ


The matrix-like expression for representing binomial coefficients is too padded. There is too much space between the brackets and the actual contents within. This can easily be corrected by adding a few negative spaces after the left bracket and before the right bracket.

θ

In any case, adding some spaces manually should be avoided whenever possible: it makes the source code more complex and it's against the basic principles of a What You See is What You Mean approach. The best thing to do is to define some commands using all the spaces you want and then, when you use your command, you don't have to add any other space. Later, if you change your mind about the length of the horizontal space, you can easily change it modifying only the command you defined before. Let us use an example: you want the d of a dx in an integral to be in roman font and a small space away from the rest. If you want to type an integral like ±, you can define a command like this: \documentclass{artical} \begin{document} Hallo! \end{document} }} in the preamble of your document. We have chosen ± just because it reminds the "d" it replaces and it is fast to type. Doing so, the code for your integral becomes ±. Now, whenever you write an integral, you just have to use the ± instead of the "d", and all your integrals will have the same style. If you change your mind, you just have to change the definition in the preamble, and all your integrals will be changed accordingly.

Advanced Mathematics: AMS Math package[编辑]

The AMS (American Mathematical Society) mathematics package is a powerful package that creates a higher layer of abstraction over mathematical LaTeX language; if you use it it will make your life easier. Some commands amsmath introduces will make other plain LaTeX commands obsolete: in order to keep consistency in the final output you'd better use amsmath commands whenever possible. If you do so, you will get an elegant output without worrying about alignment and other details, keeping your source code readable. If you want to use it, you have to add this in the preamble: \documentclass{artical} \begin{document} Hallo! \end{document}

Introducing text and dots in formulas[编辑]

amsmath defines also the ± command, that is a generalization of the existing ±. You can use ± in both text and math mode and LaTeX will replace it with three dots "…" but it will decide according to the context whether to put it on the bottom (like ±) or centered (like ±).

Dots[编辑]

LaTeX gives you several commands to insert dots in your formulas. This can be particularly useful if you have to type big matrices omitting elements. First of all, here are the main dots-related commands LaTeX provides:

Code Output Comment
± generic dots, to be used in text (outside formulas as well). It automatically manages whitespaces before and after itself according to the context, it's a higher level command.
± the output is similar to the previous one, but there is no automatic whitespace management; it works at a lower level.
± These dots are centered relative to the height of a letter. There is also the binary multiplication operator, \cdot, mentioned below.
± vertical dots
± diagonal dots
± inverse diagonal dots (requires the mathdots package)
± to be used in matrices, it creates a row of dots spanning n columns.

Instead of using ± and ±, you should use the semantically oriented commands. It makes it possible to adapt your document to different conventions on the fly, in case (for example) you have to submit it to a publisher who insists on following house tradition in this respect. The default treatment for the various kinds follows American Mathematical Society conventions.

Code Output Comment
± LaTeX Dotsc.png for "dots with commas"
± LaTeX Dotsb.png for "dots with binary operators/relations"
± LaTeX Dotsm.png for "multiplication dots"
± LaTeX Dotsi.png for "dots with integrals"
± LaTeX Dotso.png for "other dots" (none of the above)

數學符號列表[编辑]

All the pre-defined mathematical symbols from the \TeX\ package are listed below. More symbols are available from extra packages.

Relation Symbols
Symbol Script Symbol Script Symbol Script Symbol Script Symbol Script
\leq \geq \equiv \models \prec
\succ \sim \perp \preceq \succeq
\simeq \mid \ll \gg \asymp
\parallel \subset \supset \approx \bowtie
\subseteq \supseteq \cong \sqsubset \sqsupset
\neq \smile \sqsubseteq \sqsupseteq \doteq
\frown \in \ni \propto =
\vdash \dashv < >
Greek Letters
Symbol Script
and \Alpha and \alpha
and \Beta and \beta
and \Gamma and \gamma
and \Delta and \delta
, and \Epsilon, \epsilon and \varepsilon
and \Zeta and \zeta
and \Eta and \eta
, and \Theta, \theta and \vartheta
and \Iota and \iota
and \Kappa and \kappa
and \Lambda and \lambda
and \Mu and \mu
and \Nu and \nu
and \Xi and \xi
, and \Pi, \pi and \varpi
, and \Rho, \rho and \varrho
, and \Sigma, \sigma and \varsigma
and \Tau and \tau
and \Upsilon and \upsilon
, , and \Phi, \phi and \varphi
and \Chi and \chi
and \Psi and \psi
and \Omega and \omega
Binary Operations
Symbol Script Symbol Script Symbol Script Symbol Script
\pm \cap \diamond \oplus
\mp \cup \bigtriangleup \ominus
\times \uplus \bigtriangledown \otimes
\div \sqcap \triangleleft \oslash
\ast \sqcup \triangleright \odot
\star \vee \bigcirc \circ
\wedge \dagger \bullet \setminus
\ddagger \cdot \wr \amalg
Set and/or Logic Notation
Symbol Script
\exists
\forall
\neg
and \in and \notin
\ni
\land
\lor
\rightarrow
\implies
\iff
\top
\bot
and \emptyset and \varnothing
Delimiters
Symbol Script
\uparrow
\Uparrow
\downarrow
\Downarrow
\{
\}
\lceil
\rceil
\langle
\rangle
/
\backslash
|
\|
Other symbols
Symbol Script
\partial
\infty
\nabla
\hbar
\Box
\aleph
\ell
\imath
\jmath
\Re
\Im


Trigonometric Functions
Symbol Script Symbol Script Symbol Script Symbol Script
\sin \cos \tan \cot
\arcsin \arccos \arctan \arccot
\sinh \conh \tanh \coth
\sec \csc


總結[编辑]

As you begin to see, typesetting math can be tricky at times. However, because Latex provides so much control, you can get professional quality mathematics typesetting with relatively little effort (once you've had a bit of practice, of course!). It would be possible to keep going and going with math topics because it seems potentially limitless. However, with this tutorial, you should be able to get along sufficiently.

Template:TODO

附記[编辑]

  1. http://www.ams.org/publications/authors/tex/amslatex
  2. http://www.tex.ac.uk/ctan/macros/latex/contrib/mh/mathtools.pdf
  3. 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 requires the amsmath package
  4. http://hdl.handle.net/2268/6219
  5. 5.0 5.1 5.2 5.3 5.4 5.5 requires the mathtools package
  6. 6.0 6.1 requires amsfonts or amssymb packages
  7. require mathrsfs package

延伸閱讀[编辑]

其他連結[编辑]


Previous: Page Layout Index Next: Advanced Mathematics