ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

latex debug——解决长公式括号内换行及换行后出现括号大小不一致的问题

2022-01-24 11:02:20  阅读:316  来源: 互联网

标签:latex 换行 max textbf 括号 QoE vec text rightarrow


我要在latex里面排版的公式如下:

 

最初使用如下代码进行排版:

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\left\lbrace{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) +{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})\right\rbrace \\
	\end{aligned} 
\end{equation}

得到如下图所示效果

但是由于公式过长,已经超出版面了,导致公式显示不全,为了解决这一问题,在了解到&的作用是对齐、\\的作用是换行后,我修改了代码如下:

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		&\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\left\lbrace{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) +{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})\right\rbrace \\
	\end{aligned} 
\end{equation}

得到如下效果:

但是公式仍然过长,于是我开始考虑换行。直接使用\\换行、&对齐的代码如下:

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		&\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\left\lbrace{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) + \\
		&{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})\right\rbrace \\
	\end{aligned} 
\end{equation}

可以实现效果如下:

但发现右面的大括号缺失,还会报错如下:

 

报错原因就是换行是在花括号中间换的,因次会提示上一行缺少一个右括号,下一行缺少一个左括号,为了解决这个问题,可以使用“这是由于换行被断开的左面的括号”{这是上一行的内容}\right.\\&\left.{这是下一行的内容}“这是由于换行被断开的右面的括号”来解决这个问题。代码如下:

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		&\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\left\lbrace{{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) + }\right.\\
		&\left.{{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})}\right\rbrace\\
	\end{aligned} 
\end{equation}

 此时不报错了,但是偶尔有时候会出现括号一大一小的问题,不知道啥原因,很偶然,有时候出现有时候不出现。去其他博主那里搜索后发现,只需要将括号\left\{\right\} 替换为 \Big\{\Big\} 即可(\left\{\right\} 可以自动调整大小,需要成对出现;\Big\{\Big\}是手动控制大小,可以不成对出现)。代码如下: 

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		&\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\Big\{ {{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) + }\\
		&{{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})}\Big\}\\
	\end{aligned} 
\end{equation}

 但发现不可以,虽然括号大小一致了,一直报错如下:

后来发现,报错原因是,使用了\Big以后,\right.\\&\left. 就不能再使用了,不然会一直报错缺少\left和\right,最后,我用如下代码成功解决了所有问题。

\begin{equation}
	\label{deqn_ex13}
	\begin{aligned}
		&\widehat{QoE}_{n \rightarrow H-1}(B_{n-1}, {\textbf{D}}_{n \rightarrow H-1}^*) \\
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}{QoE}_{ 0 \rightarrow H-1}(B_{n-1},\textbf{D}_{0 \rightarrow H-1})\\ 
		&= \underset {(\vec{r}_{0 \rightarrow H-1},\vec{b}_{0 \rightarrow H-1})}{\text{max}}\Big\{ {{QoE}_{ 0 \rightarrow h-1}(B_{n-1},\textbf{D}_{0 \rightarrow h-1}) + }\\
		&{{QoE}_{ h \rightarrow H-1}(B_{h-1},\textbf{D}_{h-1 \rightarrow H-1})}\Big\}\\
	\end{aligned} 
\end{equation}

实现最终排版效果如下:

 

 本例子中用到的一些latex的控制命令总结:

给Q添加下角标a:Q_a

给QoE添加下角标abc:{QoE}_{abc}

指向右面的箭头:\rightarrow

给Q添加上角标a:Q^a

给QoE添加上角标abc:{QoE}^{abc}

给QoE添加上角标abc和下角标abc:{QoE}_{abc}^{abc}

向量的箭头:\vec

在max的正下方添加式子a+b=c:\underset {a+b=c}{\text{max}}

花括号的表达:\{  和 \} ;或 \lbrace 和 \rbrace 

自动控制花括号大小:\left\{ 和 \right\} ;或\left \lbrace 和 \right\rbrace 

手动控制花括号的大小:\big\{ 和 \big\} ;或 \big\lbrace 和 \big\rbrace (其中,\big,\Big,\bigg,\Bigg控制括号依次增大)

字体加粗:\textbf{}

 

标签:latex,换行,max,textbf,括号,QoE,vec,text,rightarrow
来源: https://blog.csdn.net/qq_50599660/article/details/122661153

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有