اگر میخواهید به صورت محلی و فقط بعضی موارد بین شماره فرمول نقطه بگذارید کد زیر را بلافاصله بعد از شروع محیط subequations
مورد نظر قرار دهید:
\renewcommand{\theequation}{\theparentequation.\alph{equation}}
برای مثال
\begin{subequations}
\renewcommand{\theequation}{\theparentequation.\alph{equation}}
\begin{align}
x &= y+z \label{c1}\\
u &= v+w \label{c2}
\end{align}
\end{subequations}
اما اگر میخواهید این اتفاق برای تمام فرمولهایی که در subequations
مینویسید، بیفتد لازم است بستهٔ etoolbox
را فراخوانی کنید و کد زیر را در دیباچه قرار دهید:
\patchcmd\subequations
{\theparentequation\alph{equation}}
{\theparentequation.\alph{equation}}
{\typeout{Succeded}}{\typeout{Failed}}
این کد در تعریف ماکروی subequations
به دنبال \theparentequation\alph{equation}
میگردد و آن را با \theparentequation.\alph{equation}
جایگزین میکند. نمونهٔ کامل و قابل اجرا به صورت زیر خواهد بود:
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox}
\patchcmd\subequations
{\theparentequation\alph{equation}}
{\theparentequation.\alph{equation}}
{\typeout{Succeded}}{\typeout{Failed}}
\begin{document}
\begin{subequations}
%\renewcommand{\theequation}{\theparentequation.\alph{equation}} % if you want to add dot locally
\begin{align}
x &= y+z \label{c1}\\
u &= v+w \label{c2}
\end{align}
\end{subequations}
\end{document}
نکته: چنانچه از بستهٔ xepersian
استفاده میکنید نیازی به بستهٔ etoolbox
نیست و قرار دادن کد زیر در دیباچه کفایت میکند:
\makeatletter
\bidi@patchcmd\subequations
{\theparentequation\alph{equation}}
{\theparentequation\@SepMark\alph{equation}}
{\typeout{Succeded}}{\typeout{Failed}}
\makeatother