利益相关:数学系研究生在读,第一篇paper难产中。因为在敲Tex的时候经常会遇到一些奇奇怪怪的编译错误,因而在此开一博客记录平时遇到的问题。
众所周知,公式的插入是数学系学生敲tex最注重也最关心的功能。插入的方法也有很多,可以用 $$ 命令插入,也可以用\begin{equation}插入,还可以用\begin{align}插入多行方程。
我在这里只介绍一种最为实用,代码方便维护的插入方式——用align命令插入方程。在正式开始前先介绍一下编译环境,只是加载了一些必备的包。
\documentclass[a4paper]{article}
\usepackage{hyperref}
\usepackage{amsthm}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{graphicx}
\usepackage{bm}
\begin{align}
a+b=c
\end{align}
\begin{align*}
a+b=c
\end{align*}
a + b = c a+b=c a+b=c
这里在align后加的*号其实就是不为公式标号的意思。
\begin{align}
a+b=c \tag{*}
\end{align}
\begin{align}
a+b&=c \\
b+c&=a \\
c+a&=b
\end{align}
\begin{align}
a+b&=c & a'+b'&=c' \\
b+c&=a & b'+c'&=a' \\
c+a&=b & c'+a'&=b'
\end{align}
这里,同一行的公式共用一个编号,在两个公式之间用&做间隔表示分割。
\begin{subequations}
\begin{align}
a+b&=c \\
b+c&=a \\
c+a&=b
\end{align}
\end{subequations}
在原命令外面套一个subequations命令即可达到上图的效果。
然后讲一下公式引用,单行公式引用没有什么复杂的。这里主要说一下多行公式的引用,我们可以直接在之前的代码上做。
\begin{subequations}\label{testing}
\begin{align}
\label{test_1}a+b&=c \\
\label{test_2}b+c&=a \\
\label{test_3}c+a&=b
\end{align}
\end{subequations}
The equation set \ref{testing} consist
\eqref{test_1},\eqref{test_2} and \eqref{test_3}
可以看到,我在这里加了四个label,第一个label直接加在subequations命令的后面,表示对整个方程组的引用。后三个label分别标在三个方程上,表示对子方程的引用。如果打算引用的话,可以用\ref命令或者是\eqref命令,两者的区别在于,用ref引用不带括号,用eqref的话会自动套上一个括号。
一些关于插入引用公式的命令就介绍到这里。之所以选择用align命令插入公式,最主要的原因还是因为align命令能够兼容的情况比较多。它既支持插入单行公式,也可插入多行多列公式,还可以插入无编号公式。同时配合subequations命令,能让公式的引用变得更加便捷。