首页 > 其他 > 详细

Latex公式排版问题总结

时间:2021-05-28 22:47:10      阅读:49      评论:0      收藏:0      [点我收藏+]

Latex写博客和论文,因为有模板,所以用起来还是很方便的。
但是在实际使用中,由于论文是双栏的,因此比较长的公式在排版时会比较困难。下面对Latex中的公式排版方法做一些记录。

Latex公式排版(编号、换行、括号内换行、对齐)

公式的编写方法在此不再赘述。可以选择网页版的Latex公式编辑器。
一开始使用了align方法,代码如下所示,该方法优点在于比较简单,且可以自动编号

\begin{align}
a=(1+2+3+4+5+6+7+8+9+10)   %你的公式代码 
\end{align}

效果如下:

\[\begin{align} a=(1+2+3+4+5+6+7+8+9+10) %你的公式代码 \end{align} \]

但是当公式很长时,公式可能会从一栏侵入另一栏,这就需要我们对公式换行,使用“\”指令进行换行:

\begin{align}
a=1+2+3+4+5
\\+6+7+8+9+10
\end{align}

\[\begin{align} a=1+2+3+4+5 \\+6+7+8+9+10 \end{align} \]

该方法会自动对齐,如需手动设置对齐位置,可以在相应位置前加上“&”指令。另外,换行还会带来编号的增加,如果只想在这个公式块设置一个编号,可以在换行前加上 “\notag” 指令:

\begin{align}
a=1+2+3&+4+5
\notag
\\&+6+7+8+9+10
\end{align}

\[\begin{align} a=1+2+3&+4+5 \notag \\&+6+7+8+9+10 \end{align} \]

这样这个代码块就仅有一个编号,而且也按照代码,4和6前面的+进行了对齐。

最后一个问题,在许多大型公式中,是需要在括号中进行换行,如:

\[\begin{align} a=(1+2+3&+4+5 \notag \\&+6+7+8+9+10) \end{align} \]

\begin{align}
a=(1+2+3&+4+5
\notag
\\&+6+7+8+9+10)
\end{align}

单纯的使用“\”是不够的,还需要加上”\right.“和“\phantom{=;;}\left.”指令:

\[\begin{align} a=\left(1+2+3+4+5 \notag\right. \\phantom{=\;\;} \left.+6+7+8+9+10\right) \end{align} \]

\begin{align}
a=\left(1+2+3+4+5
\notag\right.
\\phantom{=\;\;}
\left.+6+7+8+9+10\right)
\end{align}

这样就可以很好实现括号内换行啦。

另外,也可采用以下模块代替align模块

\begin{equation}
\begin{aligned}

\end{aligned}
\end{equation}

与align模块使用方法类似。

补充一个简单方法

Update:2021/05/28

长公式换行用\,对齐用&,宏包 \usepackage{amsmath}

\begin{equation*}%加*表示不对公式编号
\begin{split}
PMV =&[0.303*exp(-0.036M)+0.0275]*\{M-W-3.05*[5.733-\&0.007(M-W)-P_a]-0.42*(M-W-58.2)-0.0173M*\&(5.867-P_a)-0.0014M*(34-t_a)-3.96*10^-8*f_cl*[(t_cl+\&273)^4-(t_r+273)^4]-f_cl*h_c*(t_cl-t_a)\}
\end{split}
\end{equation*}

\[\begin{equation*}%加*表示不对公式编号 \begin{split} PMV =&[0.303*exp(-0.036M)+0.0275]*\{M-W-3.05*[5.733-\&0.007(M-W)-P_a]-0.42*(M-W-58.2)-0.0173M*\&(5.867-P_a)-0.0014M*(34-t_a)-3.96*10^-8*f_cl*[(t_cl+\&273)^4-(t_r+273)^4]-f_cl*h_c*(t_cl-t_a)\} \end{split} \end{equation*} \]


Latex插入花括号后带文字的多行公式对齐

\[\begin{eqnarray} q_\theta(\theta_+^\prime|f_{+i}^{\prime},f_{+i},\theta_+)=\nonumber\\left\{ \begin{aligned} b_0(\theta_{+,n_i+1}^\prime)\prod_{k=1}^{n_i}\delta_{\theta_{+k}(\theta_{+k}^\prime)},\:\:\:birth\,of\,feature\,n_i+1;\\prod_{k\neq l}\delta_{\theta_{+k}(\theta_{+k}^\prime)},\:\:\:\:\:\:\:\:\:\:\:\:\:death\,of\,feature\,l \end{aligned} \right. \end{eqnarray} \]

\begin{eqnarray}
q_\theta(\theta_+^\prime|f_{+i}^{\prime},f_{+i},\theta_+)=\nonumber\\left\{
\begin{aligned}
b_0(\theta_{+,n_i+1}^\prime)\prod_{k=1}^{n_i}\delta_{\theta_{+k}(\theta_{+k}^\prime)},\:\:\:birth\,of\,feature\,n_i+1;\\prod_{k\neq l}\delta_{\theta_{+k}(\theta_{+k}^\prime)},\:\:\:\:\:\:\:\:\:\:\:\:\:death\,of\,feature\,l
\end{aligned}
\right.
\end{eqnarray}

公式和文字之间的空格可以用:,换行在eqnarray用\,\right后面一定要是加英文句号.

或者使用如下的方法:

\[\begin{eqnarray} q_k(k_i,k_j)=Unif(k_i|f_i)q(k_j|k_i,f_j)\q(k_j=k|k_i,f_j)\propto \begin{cases}2C_jf_{jk},& \mbox{if }k=k_i\\f_{jk}\frac{m(x_{k_i},x_k)}{m(x_{k_i})m(x_k)},& \mbox{o.w.}\end{cases} \end{eqnarray} \]

\begin{eqnarray}
q_k(k_i,k_j)=Unif(k_i|f_i)q(k_j|k_i,f_j)\q(k_j=k|k_i,f_j)\propto \begin{cases}2C_jf_{jk},& \mbox{if }k=k_i\\f_{jk}\frac{m(x_{k_i},x_k)}{m(x_{k_i})m(x_k)},& \mbox{o.w.}\end{cases}
\end{eqnarray}

Latex公式排版问题总结

原文:https://www.cnblogs.com/RioTian/p/14823809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!