Latex之数学公式基本使用格式「建议收藏」

2022-08-26 13:47:20 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Latex之数学公式基本使用格式

一. 数学公式格式背景介绍

TEX有两种数学公式,一种是夹杂在行文段落中的公式,一般称为行内(inline) 数学公式,或正文(in-tex:t)数学公式;另一种就是像单独占据整行居中展示出来的,称为显示(displayed)数学公式(或行间公式、列表公式),显示数学环境更适合表现更复杂的数学内容。两种公式使用不同的方式进入数学模式。在TEX中,行内数学公式一般在前后单给美元符号表示。

A. 行内(inline)数学公式

例如:交换律 (方法一) 是:a b = b a, 如 1 2 = 2 1 。说明:因此,在排版数学公式时,即使是没有任何特殊符号的算式 I I, 或者简单地一个字母变总 x, 也要进入数学模式,使用 1 1 、x, 而不应该用排版普通文字的方式搞成 1 1 、X。除了使用单个美元符号,在 latex中还额外定义了命令格式与环境格式的方式输入行内公式,即使用命令\(和\)或是 math 环境括起一个行内数学公式,如 a b 也可以写成 a b或是 a b。这两种形式提供了更好的错误检查,并且可以更明确地看出公式的开始与结束,也不容易混淆。但因为输人起来比较复杂,多数人更偏爱直接使用传统的$表示行内数学公式。

B. 显示数学公式

显示数学公式也有多种方式输人。基本的显示公式是不带编号的,在 TEX 中可以用连续两个美元符号$$...$$界定。同样,LATEX也定义了命令形式和环境形式的输入方法,即用\ [(和\]命令或是displaymath 环境括起一个显示数学公式,例如:a b = b c,如1 2 = 2 1 = 3.虽然并非必须,但最好在源代码中就把单独占据一行的显示公式放在单独的行内.使代码更清晰。推荐的方式是使用\[...\]。$$...$$会产生不良的间距,缺少错误检查,并且不能正确处理 fleqn 等文档选项 [2671,应该避免使用,而 displaymath 环境又可能显得冗长。值得注意的是,显示公式后面如果有标点符号,应该放在数学环境内部,紧接着公式。而且因为数学模式下不能使用汉字,所以一般就使用西文的半角标点。这是说明一下 msmath 宏包,它提供的 text 命令就可以用来在数学公式中插入文字,例如 被减数 − 减数 = 差.

总结

1. LATEX 使用一种特有的模式来排版数学 (mathematics) 公式。数学公式允许以行间形式排版在一个段落之中,也可以以独立形式排版,此时段落可能会被拆开。处于段内的数学文本要放在反斜杠之间,$和$之间,或者 begin(math) 与 end(math) 之间。 2. 当你希望把自己的一些较长的数学方程或是公式单独的放在段落之外的时候,那么你最好显示 (display) 它们,而不要拆开此段落。为此,你可以把它们放在反斜杠之间,或者 begin(displaymath) 与 end(displaymath) 之间。 3. 如果你希望 LATEX 给你的方程编上号,你可以使用 equation 环境。然后你就可以用 label 来给一个方程加上标签并在文中的某处用 ref 或amsmath 宏包中的 eqref 命令来引用它。

二. 一些常用的数学公式范例

01.平方

1:代码

代码语言:javascript复制
 % 平方
 begin{flushleft}
  1. 平方\
 end{flushleft}
 $c^{ 
   2} = a^{ 
   2}   b^{ 
   2}$

2: 结果

02.和

1:代码

代码语言:javascript复制
 % 和
  begin{flushleft}
  2. 和\
 end{flushleft}
 $a  b =c$

2:结果

03.极限

1:代码

代码语言:javascript复制
% 极限1
  begin{flushleft}
  2. 极限1\
 end{flushleft}
 $lim_{n __infty} sum_{k=1}^n frac{ 
   1}{k^2} = frac{pi^2}{ 
   6}$
代码语言:javascript复制
 % 极限2
 begin{flushleft}
 3. 极限2\
end{flushleft}

begin{flushleft}
begin{displaymath}
  lim_{n to infty}
  sum_{k=1}^n frac{ 
   1}{k^2}
  = frac{pi^2}{ 
   6}
end{displaymath}
end{flushleft}

2:结果

04.符号表示

1:代码

代码语言:javascript复制
% 符号表示
 begin{ 
   flushleft}
 4. 符号表示\
end{ 
   flushleft}
 begin{ 
   displaymath}
   forall x in mathbf{ 
   R}:
   qquad x^{ 
   2} geq 0
 end{ 
   displaymath}

 begin{ 
   displaymath}
   x^{ 
   2} geq 0 qquad
   textrm{ 
   for all } x inmathbf{ 
   R}
 end{ 
   displaymath}

 % 不等式
  begin{ 
   flushleft}

2:结果

05.不等式

1:代码

代码语言:javascript复制
% 不等式
  begin{flushleft}
 5. 不等式\
end{flushleft}
begin{equation}
 a^x  y neq a^{x y}
 end{equation}

2:结果

06.数学公式的基本元素

1:代码

代码语言:javascript复制
% 数学公式的基本元素
 begin{ 
   flushleft}
 6. 数学公式的基本元素\
end{ 
   flushleft}

 $lambda, xi , pi, mu, Phi, Omega$\
 指数和下标可以能过使用 $^ $ 和$ _$ 两个符号来指定。

 $a_{ 
    1}$ qquad $x^{ 
    2}$ qquad
 $e^{ 
    -alpha t}$ qquad $a^{ 
    3}_{ 
    i j}$\
 $e^{ 
    x^2} neq { 
    e^x}^2$

2:结果

07.平方根/font>

1:代码

代码语言:javascript复制
% 平方根
 begin{ 
   flushleft}
 6. 平方根\
end{ 
   flushleft}
$sqrt{ 
    x}$ qquad
$sqrt{ 
    x^{ 
    2} sqrt{ 
    y}}$ qquad
$sqrt[3]{ 
    2}$\[3pt]\
$surd[x^2  y^2]$

2:结果

08.水平线

1:代码

代码语言:javascript复制
% 水平线
 begin{ 
   flushleft}
 7. 水平线\
end{ 
   flushleft}

$overline{ 
    m n}$\
$underbrace{ 
    a b cdots  z}_{ 
    26}$

2:结果

09.函数

1:代码

代码语言:javascript复制
% 函数
 begin{flushleft}
 8. 函数\
end{flushleft}
begin{displaymath}
  y=x^{ 
   2}qquad y'=2xqquad y''=2
end{displaymath}

2:结果

10.向量

1:代码

代码语言:javascript复制
% 向量
 begin{ 
   flushleft}
 9. 向量\
end{ 
   flushleft}
begin{ 
   displaymath}
  vec aquadoverrightarrow{ 
   AB}
end{ 
   displaymath}

2:结果

11.点号(用来分清公式)

1:代码

代码语言:javascript复制
% 点号(用来分清公式)
 begin{ 
   flushleft}
 10. 点号(用来分清公式)\
end{ 
   flushleft}

begin{ 
   displaymath}
v = { 
   sigma}_1 cdot { 
   sigma}_2{ 
   tau}_1 cdot { 
   tau}_2
end{ 
   displaymath}

2:结果

12.log 等类似的函数名

1:代码

代码语言:javascript复制
% log等类似的函数名
 begin{flushleft}
 11.  log等类似的函数名\
end{flushleft}

[lim_{x rightarrow 0}frac{sin x}{x}=1]

log 等类似的函数名通常是用直立字体,而不是如同变量一样用斜体,因此LATEX 提供了以下的命令来排版这些最重要的函数名:
begin{figure}[H]
  centering % 居中
  includegraphics[height=5cm,width=14cm]{log.png}% 设置图片的高和宽以及指定要导入的图片文件名
  caption{log等类似函数名}% 生成图片标题
  label{ 
   1}% 是给这个标题定义一个供latex本身识别的编号, 方便其它地方引用
end{figure}

2:结果

13.上下分式可以用frac{…}{…}命名得到

1:代码

代码语言:javascript复制
%  上下分式可以用frac{
  
  ...}{
  
  ...}命名得到
 begin{flushleft}
 12. 上下分式\
end{flushleft}
$1frac{
  
  1}{
  
  2}$ hours
begin{displaymath}
  frac{x^{
  
  2}}{k 1} qquad
  x^{frac{
  
  2}{
  
  {k 1}}}qquad
  x^{
  
  1/2}
end{displaymath}

2:结果

14.二项系数(使用 amsmath 宏包中的 binom 命名

1:代码

代码语言:javascript复制
% 二项系数(使用amsmath宏包中的binom命名)
begin{ 
   flushleft}
 13. 二项系数(使用amsmath宏包中的binom命名)\
end{ 
   flushleft}
 begin{ 
   displaymath}
   binom{ 
   n}{ 
   k}qquadmathrm{ 
   C}_n^k
 end{ 
   displaymath}
 对于二元关系,有时候你需要到把符号互相堆积起来。 stackrel 命令会把其第一个参数中的符号以上标大小放在第二个上面,而第二个符号则以正常的位置摆放。
 begin{ 
   displaymath}
   int f_N(x) stackrel{ 
   !}{ 
   =}1
 end{ 
   displaymath}

积分号(integral operator) 可以用  int 产生,求和号(sum operator) 用 sum命令,而乘积号(product operator) 要用 prod 命令。上限和下限用$^$ 和$_$ 来指定,如同上标与下标一样。
begin{ 
   displaymath}
  sum_{ 
   i=1}^{ 
   n} qquad
  int_{ 
   0}^{ 
   frac{ 
   pi}{ 
   2}} qquad
  prod_epsilon
end{ 
   displaymath}

为了更好的控制一个复杂表达式中指标的放置,amsmath 提供了两个额外的工具: substack 命令和subarray 环境:
begin{ 
   displaymath}
  sum_{ 
   substack{ 
   0<i<n \ 1<j<m}}
      P(i,j) =
  sum_{ 
   begin{ 
   subarray}{ 
   1}
           i in I\1<j<m
           end{ 
   subarray} }    Q(i, j)
end{ 
   displaymath}

2:结果

15. 各种各样的括号

1:代码

代码语言:javascript复制
% 各种各种的括号
begin{ 
   flushleft}
 14. 各种各样的括号\
end{ 
   flushleft}
begin{ 
   displaymath}
  { 
   a,b,c}neq{ 
   a,b,c}
end{ 
   displaymath}

如果你在某个左定界符前放一个 left 命令或是在某个右定界符前放一个 right 命令,TEX 将会自动决定这对定界符的大小。请注意,你必须为每个 left 命令配对相应的 right 命令,而且只有在左右定界符被排版在同一行时才会获得正确的大小尺寸。如果你不想使用任何右定界符,使用看不见的‘ right.’ 即可!
begin{ 
   displaymath}
  1   left(frac{ 
   1}{ 
   1-x^{ 
   2}}
        right)^3
end{ 
   displaymath}

有很多命令可以实现在公式中插入三点列(three dots)。 ldots 得到在基线上的点列而 cdots 是上下居中的点列。另外,还有 vdots 命令产生竖直的点列, ddots 产生对角线的点列。
begin{ 
   displaymath}
  x_{ 
   1}, ldots,x_{ 
   n} qquad
  x_{ 
   1} cdots  x_{ 
   n}
end{ 
   displaymath}

2:结果

16. 数学空格

1:代码

代码语言:javascript复制
% 数学空格
begin{ 
   flushleft}
 15. 数学空格\
end{ 
   flushleft}

newcommand{ 
   ud}{ 
   mathrm{ 
   d}}
begin{ 
   displaymath}
  int!!!int_{ 
   D} g(x,y)
  , ud x, ud y
end{ 
   displaymath}
instedad of
begin{ 
   displaymath}
  intint_{ 
   D} g(x,y)ud x ud y
end{ 
   displaymath}

2:结果

17. 垂直取齐

1:代码

代码语言:javascript复制
% 垂直取齐
 begin{flushleft}
16. 垂直取齐\
end{flushleft}
要排版数组,使用array 环境。它的使用与tabular 环境有些类似。双斜杠命令可用来断行。
begin{displaymath}
  mathbf{X} =
  left(begin{array}{ccc}
  x_{ 
   11} & x_{ 
   12} & ldots \
  x_{ 
   21} & x_{ 
   22} & ldots \
  vdots &vdots & ddots
  end{array} right)
end{displaymath}

array 环境也可以用来排版这样的表达式,表达式中使用一个“.” 作为其隐藏的 right 定界符。
begin{displaymath}
y = left{ begin{array}{ll}
    a & textrm{if $d>c$}\
    b x & textrm{int the moring}\
    l & textrm{all day long}
    end{array} right.
end{displaymath}

对于跨行的长公式或是方程组(equation system),你可以使用eqnarray和eqnarray* 环境来替代equation 环境。在eqnarray 环境中每一行都有一个等式编号。eqnarray* 则不添加编号。eqnarray 和eqnarray* 环境的用法与一个{rcl} 形式的3 列表格相类似,这里中间一列可以用来放等号,不等号,或者是其他你选择的符号。双斜杠 命令可以断行。
begin{eqnarray}
f(x) & = & cos x \
f’(x) & = & -sin x \
int_{ 
   0}^{x} f(y)dy &
= & sin x
end{eqnarray}
注意,这里等号两边空白都有些大。“ setlength  arraycolsep(2pt)” 可以调小它,比如在下一个例子里。长等式不能被分成合适的小段。作者必须指定在哪里断且如何缩进。以下两方法是最常用的。
% 第一种
{setlengtharraycolsep{ 
   2pt}
begin{eqnarray}
sin x & = & x -frac{x^{ 
   3}}{ 
   3!} frac{x^{ 
   5}}{ 
   5!}-{}
nonumber\
&& {}-frac{x^{ 
   7}}{ 
   7!} {}cdots
end{eqnarray}}
% 第二种
begin{eqnarray}
lefteqn{ cos x = 1-frac{x^{ 
   2}}{ 
   2!}  {} }
nonumber\
& & {} frac{x^{ 
   4}}{ 
   4!}-frac{x^{ 
   6}}{ 
   6!} {}cdots
end{eqnarray}

2:结果

18. 虚位

1:代码

代码语言:javascript复制
 % 虚位
 begin{flushleft}
17. 虚位\
end{flushleft}
我们看不见虚位(phantom,也有幻影的意思),但是在许多人的头脑中它们依然占有一定的位置。LATEX 中也一样。我们可以使用它来实现一些有趣的小技巧。当使用$^$ 和$_$ 时,LATEX 对文本的垂直对齐有时显得太过于自作多情。使用 phantom 命令你可以给不在最终输出中显示的字符保留位置。理解此意的最好方法是看下面的例子。
% 方法一
begin{displaymath}
{}^{ 
   12}_{phantom{ 
   1}6}textrm{C}
qquad textrm{versus} qquad
{}^{ 
   12}_{ 
   6}textrm{C}
end{displaymath}

% 方法二
begin{displaymath}
Gamma_{ij}^{phantom{ij}k}
qquad textrm{versus} qquad
Gamma_{ij}^{k}
end{displaymath}

% 数学字体尺寸
 begin{flushleft}

2:结果

19. 数学字体尺寸

1:代码

代码语言:javascript复制
% 数学字体尺寸
 begin{ 
   flushleft}
18. 数学字体尺寸\
end{ 
   flushleft}
在数学模式中,TEX 根据上下文选择字体大小。例如,上标会排版成较小的字体。如果你想要把等式的一部分排版成罗马字体,不要用 textrm 命令,只因 textrm 会暂时切换到文本模式,而此时字体大小切换机制将不起作用。使用 mathrm 来保持字体大小切换机制的正常。但是要小心, mathrm 只对较短的项有效。空格依然无效而且重音符号也不起作用。

begin{ 
   equation}
  2^{ 
    textrm{ 
   nd}} quad
  2^{ 
    mathrm{ 
   nd}}
end{ 
   equation}
有时你仍需告诉LATEX 正确的字体大小。在数学模式中,可用以下四个命令来设定:$ displaystyle (123),  textstyle (123),  scriptstyle (123) and scriptscriptstyle (123)$. 改变样式也会影响到上下限的显示方式。
begin{ 
   displaymath}
frac{ 
   displaystylesum_{ 
   i=1}^n(x_i-overline x)(y_i-overline y)}{ 
   displaystylebiggl[sum_{ 
   i=1}^n(x_i-overline x)^2sum_{ 
   i=1}^n(y_i-overline y)^2biggr]^{ 
   1/2}}
end{ 
   displaymath}

% 粗体符号
 begin{ 
   flushleft}

2:结果

20. 粗体符号

1:代码

代码语言:javascript复制
% 粗体符号
 begin{ 
   flushleft}
19. 粗体符号\
end{ 
   flushleft}

在LATEX 中要得到粗体符号相当的不容易;这也许是故意设置的,以防业余水平的排版者过度的使用它们。字体变换命令 mathbf 可得到粗体字母,但是得到的是罗马体(直立的)而数学符号通常要求是斜体。还有一个 boldmath 命令,但是它只能用在数学模式之外。它不仅作用于字母也作用于符号。
begin{ 
   displaymath}
  mu, M qquad mathbf{ 
   M} qquad
  mbox{ 
   boldmath $mu, M$}
end{ 
   displaymath}
请注意,逗号也成粗体了,这也许不是所需的。使用amsbsy 宏包(包含在amsmath 中)或tool 宏包集中的bm 将会便利许多,因为它们包含一个叫 boldsymbol 的命令
begin{ 
   displaymath}
  mu, M qquad
  boldsymbol{ 
   mu}, boldsymbol{ 
   M}
end{ 
   displaymath}

2:结果

21. 数学符号表

1:代码

代码语言:javascript复制
% 数学符号表
 begin{ 
   flushleft}
18. 数学符号表\
end{ 
   flushleft}
要使用数学符号表,必须在导言区先载入amssymb宏包而行系统中安装了AMS数学字体。如果系统中没有安装AMS宏包和字体,查阅:
url{ 
   https://www.ctan.org/tex-archive/macros/latex/required/amslatex}

2:结果

三. 说明

对于此篇文档生成的pdf获取路径:数学公式基本使用格式(pdf) 对于此篇文档编写的.tex格式获取路径:数学公式基本使用(.tex格式内涵完整代码)

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143941.html原文链接:https://javaforall.cn

0 人点赞