\begin{eqnarray*}
M \to {P_j}:{} & \left\{ {{{\left( {{n_1},{n_2},{{\left( {profile,{N_i},{N_i}\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j},\\ & \# \left( {{N_i}\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j}} \right)} \right)}_{K_P^j}}} \right)}_{K_P^j}},{{\left( {{n_0},{n_1},{{\left( {profile,{N_i},{N_i} \\ &\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j},\# \left( {{N_i}\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j}} \right)} \right)}_{K_P^j}},{N_i}\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j}, \\ &\# \left( {{N_i}\left( {\mathop \leftrightarrow \limits^{K_S^i} } \right){P_j}} \right),{N_i}\mathop \leftrightarrow \limits^{n_S^i} M} \right)}_{K_{TS}^i = H\left( {K_p^j \oplus n_S^i} \right)}}} \right\}
\end{eqnarray*}
为了分割我的长方程式,我使用了 \begin{equation} \begin{split}、\begin{eqnarray*} 和 \begin{multline} 等。但方程式中的几个括号总是消失,如下图所示。
正确的公式如下所示,我想将其拆分成 4 行
答案1
一些建议:
不要过度使用花括号来分组数学元素。过多的
{
和}
符号会让代码几乎无法阅读——同时对 TeX 实际排版混乱的能力毫无帮助。正如 @daleif 在评论中指出的那样,不使用
eqnarray
:它已被严重弃用。请使用align
。使用时align
,&
仅用于指示对齐点。不要忘记用\\
(双反斜杠)结束行。不要对这个多行方程使用
\left
和\right
。它不起作用。相反,请使用\big
、\Big
和\bigg
大小\Bigg
指令。由于括号表达式较多,请考虑对其中一些使用方括号代替圆括号。
可选:使用
\!
(“负薄空间”)指令来“收紧”下标项。最后,再次正如@daleif指出的那样,加载
mathtools
包并使用\xleftrightarrow
宏而不是\mathop\leftrightarrow\limits
。 (无论如何,\limits
都不需要。)
考虑到这些观察,我认为可以用三行而不是四行来显示方程式。
\documentclass{article}
\usepackage{mathtools} % for '\xleftrightarrow' macro
\begin{document}
\begin{align*}
M \to {P_j}\colon
\Biggl\{
&\biggl[ n_1, n_2, \Bigl(
\text{profile}, N_i,
N_i(\xleftrightarrow{K_S^i})P_j,
\# \bigl( N_i(\xleftrightarrow{K_S^i}) P_j \bigr)
\Bigr)_{\!K_{\!P}^j}
\biggr]_{K_{\!P}^j}, \\
&\biggl[ n_0, n_1, \Bigl(
\text{profile}, N_i,
N_i(\xleftrightarrow{K_S^i})P_j,
\# \bigl( N_i(\xleftrightarrow{K_S^i})P_j \bigr)
\Bigr)_{\!K_{\!P}^j}, \\
&\quad
N_i(\xleftrightarrow{K_S^i})P_j,
\# \bigl( N_i(\xleftrightarrow{K_S^i})P_j \bigr),
N_i\xleftrightarrow{n_S^i}M
\biggr]_{K_{\mathit{TS}}^i = H(K_{\!P}^j \oplus n_S^i)}
\Biggr\}
\end{align*}
\end{document}