我需要为跨两页的 align* 添加标题。因此,我确实将大 align* 封装在 a 中以添加子方程式唯一标签,但添加标题的唯一方法是将子方程式封装在图中,但图的显示不会跨两页。有没有办法像 \allowdisplaybreaks 那样分割图或在子方程式上添加标题?
这是我的代码:
\begin{subequations}
\begin{align*}
\Instrucao \quad ::= \quad
% 1
& \hypertarget{IBasica}{\text{(Instruções \ basicas)}} \\
& Nop \Or EntryNop \\
& \Or PopC \Or PopV \Or PopU \Or PopR \Or PopL \textbf{ x} \\
& \Or Dup \Or Box \Or Unbox \Or UnboxR \\ \\
% 3
& \hypertarget{IOperadores}{\text{(Intruções \ de \ Operadores)}} \\
& \Or Pow \Or Sqrt \Or Mul \Or Div \Or Mod \Or Add \Or Sub \Or Concat \\
& \Or BitAnd \Or BitOr \Or BitXor \Or \\
& \Or Shl \Or Shr \Or \\
& \Or Xor \Or Same \Or NSame \Or Eq \Or Neq \Or Lt \Or Lte \Or Gt \Or Gte \Or Cmp \\
& \Or Abs \Or Floor \Or Ceil \Or Not \Or BitNot \\
& \Or CastBool \Or CastInt \Or CastDouble \Or CastString \\
& \Or Select \Or DblAsBits \Or Print \Or Exit \Or Fatal \textbf{ int} \\ \\
% 4
& \hypertarget{IFluxoControlo}{\text{(Intruções \ de \ Fluxo \ de \ Controlo)}} \\
& \Or Jmp \ L:\textbf{int} \Or JmpNS \ L:\textbf{int} \\
& \Or JmpZ \ L: \textbf{int} \Or JmpNZ \ L:\textbf{int}\\
& \Or RetC \Or RetCSuspended \\
& \Or L \textbf{ int} \\ \\
% 5
& \hypertarget{IGet}{\text{(Instruções \ Get)}} \\
& \Or CGetL \textbf{ x} \Or CGetQuietL \textbf{ x} \Or CGetL2 \textbf{ x} \\
& \Or CUGetL \textbf{ x} \Or PushL \textbf{ x}\\
& \Or VGetL \textbf{ x} \Or VGetN \Or VGetG \\
& \Or CGetN \Or CGetQuietN \Or CGetG \Or CGetQuietG \\ \\
% 6
& \hypertarget{ITypeQuery}{\text{(Intruções \ Isset, \ Empty, \ e \ Type \ querying )}} \\
& \Or IssetC \Or IssetL \textbf{ x} \Or IssetG \\
& \Or EmptyL \textbf{ x} \Or EmptyG \\
& \Or IsTypeC \Or IsTypeL \textbf{ x} \\ \\ \\
% 7
& \hypertarget{IAtribuicao}{\text{(Intruções \ de \ atribuição)}} \\
& \Or SetL \textbf{ x} \Or SetOpL \textbf{ x} \ \boldsymbol{\omega} \\
& \Or SetG \Or SetOpG \ \boldsymbol{\omega} \\
& \Or IncDecL \textbf{ x} \ \boldsymbol{\omega} \Or IncDecG \ \boldsymbol{\omega} \\
& \Or BindL \textbf{ x} \Or BindG \\
& \Or UnsetL \textbf{ x} \Or UnsetG \\ \\
% 8
& \hypertarget{IChamadaFuncao}{\text{(Intrução \ de \ chamada \ a \ uma \ função)}} \\
& \Or \textbf{FCall \ s} \\ \\
% & \Or \textbf{FThrowOnRefMismatch} \textbf{ s} \\ \\
% 10
& \hypertarget{IArrays}{\text{(Intruções \ de \ arrays)}} \\
& \Or BaseGC \textbf{ int} \Or BaseL \textbf{ x}\\
& \Or Dim \ \boldsymbol{ \kappa} \textbf{ x} \\
& \Or QueryM \ \boldsymbol{ \omega \ \kappa} \\
& \Or VGetM \ \boldsymbol{ \kappa} \textbf{ x}
\Or SetM \ \boldsymbol{ \kappa} \textbf{ x}\\ \\
% 2
& \hypertarget{ILiterais}{\text{(Intruções \ de \ literais)}} \\
& \Or NullUninit \Or Null \\
& \Or True \Or False \Or Int \textbf{ int} \Or Double \textbf{ double} \Or String \textbf{ s}
\end{align*}
\label{fig:Cap3_InstrucoesHHAS}
%Need a Caption here
\end{subequations}