![如何在换行时插入两边等高的括号?](https://linux22.com/image/470718/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%8D%A2%E8%A1%8C%E6%97%B6%E6%8F%92%E5%85%A5%E4%B8%A4%E8%BE%B9%E7%AD%89%E9%AB%98%E7%9A%84%E6%8B%AC%E5%8F%B7%EF%BC%9F.png)
我想输入一个很长的公式,所以必须把它分成两行。但是,公式第一行的开头和第二行的结尾有几个 {},并且不支持“等高括号”。\\
我使用了\qty{}
包中的命令physics
,或者\ab\{\}
包中的命令physics2
,就像下面的代码一样:
\documentclass[9pt,a4paper]{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{extarrows}
\usepackage{fixdif,physics2}
\def\e{\mathrm{e}}
\usephysicsmodule{ab,ab.legacy,braket,nabla.legacy}
\def\Re{\mathrm{Re}}
\begin{document}
\begin{equation}
\begin{aligned}
J_L(t)&=\frac{2e}{\hbar}\Re\ab\{\sum_{k,\alpha\in L}{V_{k\alpha,n(t)}G_{n,k\alpha}^<(t,t)}\}\\
&\xlongequal{\sum_{n}\sum_m=\sum_{n,m}}\frac{2e}{\hbar}\Re\ab\{\sum_{\substack{k,\alpha\in L\\n,m}}V_{k\alpha,n}(t)\int_{-\infty}^t\d t_1V_{k\alpha,m}^*\ab(t_1)\times\ab[G_{nm}^r\ab(t,t_1)\times\ab(\i f\ab(\epsilon_{k\alpha}^0)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\\
&\ \ +G_{nm}^<\ab(t,t_1)\times\ab(\i\theta\ab(-t_1+t)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\vphantom{\int_t^{t_1}}]\}\\
\end{aligned}
\end{equation}
\end{document}
他们都返回了错误:
Extra }, or forgotten \right.
<template> }
Missing } inserted.
<inserted text>
\left\{
然后,我在等式第一行的开头和\right\}
等式第二行的结尾使用了该命令,但是它也返回了上述错误。
\left\{
然后,我在第一行的开头和\right.
第一行的结尾使用该命令,\left.
在第二行的开头和\right\}
第二行的结尾使用该命令,错误消失,但是右括号的高度}
不等于左括号的高度{
。
代码如下:
\documentclass[9pt,a4paper]{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{extarrows}
\usepackage{fixdif,physics2}
\def\e{\mathrm{e}}
\usephysicsmodule{ab,ab.legacy,braket,nabla.legacy}
\def\Re{\mathrm{Re}}
\begin{document}
\begin{equation}
\begin{aligned}
J_L(t)&=\frac{2e}{\hbar}\Re\ab\{\sum_{k,\alpha\in L}{V_{k\alpha,n(t)}G_{n,k\alpha}^<(t,t)}\}\\
&\xlongequal{\sum_{n}\sum_m=\sum_{n,m}}\frac{2e}{\hbar}\Re\left\{\sum_{\substack{k,\alpha\in L\\n,m}}V_{k\alpha,n}(t)\int_{-\infty}^t\d t_1V_{k\alpha,m}^*\ab(t_1)\times\left[G_{nm}^r\ab(t,t_1)\times\ab(\i f\ab(\epsilon_{k\alpha}^0)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\right.\right.\\
&\ \ \left.\left.+G_{nm}^<\ab(t,t_1)\times\ab(\i\theta\ab(-t_1+t)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\vphantom{\int_t^{t_1}}\right]\right\}\\
\end{aligned}
\end{equation}
\end{document}
最后,我发现我可以在第一行添加一个“虚拟”高度,只需在第二行末尾\vphantom{\sum_{\substack{k,\alpha\in L\\n,m}}}
之前添加命令,就像下面的代码一样:\right\}
\documentclass[9pt,a4paper]{article}
\usepackage{geometry}
\usepackage{amsmath}
\usepackage{extarrows}
\usepackage{fixdif,physics2}
\def\e{\mathrm{e}}
\usephysicsmodule{ab,ab.legacy,braket,nabla.legacy}
\def\Re{\mathrm{Re}}
\begin{document}
\begin{equation}
\begin{aligned}
J_L(t)&=\frac{2e}{\hbar}\Re\ab\{\sum_{k,\alpha\in L}{V_{k\alpha,n(t)}G_{n,k\alpha}^<(t,t)}\}\\
&\xlongequal{\sum_{n}\sum_m=\sum_{n,m}}\frac{2e}{\hbar}\Re\left\{\sum_{\substack{k,\alpha\in L\\n,m}}V_{k\alpha,n}(t)\int_{-\infty}^t\d t_1V_{k\alpha,m}^*\ab(t_1)\times\left[G_{nm}^r\ab(t,t_1)\times\ab(\i f\ab(\epsilon_{k\alpha}^0)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\right.\right.\\
&\ \ \left.\left.+G_{nm}^<\ab(t,t_1)\times\ab(\i\theta\ab(-t_1+t)\exp\ab[-\i\int_{t}^{t_1}{\d t_2\epsilon_{k\alpha}(t_2)}])\vphantom{\int_t^{t_1}}\right]\vphantom{\sum_{\substack{k,\alpha\in L\\n,m}}}\right\}\\
\end{aligned}
\end{equation}
\end{document}
不过这样太麻烦了...我想知道有没有一个简单的命令就像\qty
packagephysics
或者\ab
of package的命令physics2
能达到我想要的效果吗?
答案1
不要定义和使用各种\vphantom
构造,而是学习如何使用\Bigg[lr]
和。顺便说一句,您的公式需要分布在四行,而不仅仅是三行,这样它才不会突出到边距。哦,除非您愿意冒破坏预先存在的宏的风险,否则\bigg[lr]
不要使用;宏就是一个例子。\def
\Re
\documentclass[%9pt, % "9pt" is not a recognized option
a4paper]{article}
\usepackage{geometry}
\usepackage{mathtools} % for "\smashoperator" macro
\usepackage{extarrows,fixdif}
\let\Re\relax % first, undefine the existing '\Re' macro
\DeclareMathOperator\Re{\mathrm{Re}} % next, redefine '\Re'
%\def\e{\mathrm{e}} % not needed
\providecommand\I{\mathrm{i}} % imag. unit. Use only in math mode
\begin{document}
\begin{equation}
\begin{aligned}[b]
J_L(t)
&=\frac{2e}{\hbar} \Re\Biggl\{ \,
\smashoperator[r]{\sum_{k,\alpha\in L}}
V_{k\alpha,n(t)}G_{n,k\alpha}^<(t,t)\Biggr\}\\
&\xlongequal{\sum_{n}\sum_m=\sum_{n,m}}
\frac{2e}{\hbar} \Re\Biggl\{ \,
\smashoperator[r]{\sum_{\substack{k,\alpha\in L\\n,m}}}
V_{k\alpha,n}(t)
\int_{-\infty}^t \d t_1 V_{k\alpha,m}^* (t_1)\\
&\quad
\times\Biggl[G_{nm}^r(t,t_1)\times
\biggl(\I f(\epsilon_{k\alpha}^0)
\exp\biggl[-\I\int_{t}^{t_1} \d t_2\epsilon_{k\alpha}(t_2)
\biggr]\biggr) \\
&\qquad
+G_{nm}^< (t,t_1)\times\biggl(\I\theta(-t_1+t)
\exp\biggl[-\I\int_{t}^{t_1} \d t_2\epsilon_{k\alpha}(t_2)
\biggr]\biggr)
\Biggr]\Biggr\}
\end{aligned}
\end{equation}
\end{document}