Вопрос будет сам по себе решен, и он прост. Иногда нам нужно создать семейство уравнений с тем же номером, но с чем-то другим (дополнительным счетчиком или чем-то еще). Например, у меня есть уравнения (1), затем (2), а теперь я хочу открыть семейство уравнений (3 (i)), (3 (ii)), затем продолжить с (4)... затем определить (3 (iii)) ... и т. д.
И это должно работать с пакетом amsmath, чтобы выдавать числа типа (2.2 (i)) и т. д.
Я не нашел ничего похожего, но, возможно, я не использую соответствующие ключевые слова. Так что если это дубликат, просто сообщите мне, чтобы я написал туда. Создание ответа...
Чтобы было понятнее, чего я хочу... Иметь семейства уравнений без необходимости задавать пользовательские теги и менять количество счетчиков уравнений.
На следующем фото показан желаемый результат (с семействами квадратных и эллиптических уравнений, а также уравнениями, не входящими в семейства между ними):
PS:Этот вопрос возник изэтотвопрос, но это было просто мое недопонимание. Он хотел чего-то другого (и я отредактирую код этого топика, чтобы ответить и на это)
решение1
Мы можем определить новую команду, чтобы сделать это. Команда:
Редактировать: добавить пакет amsmath в преамбулу.
\makeatletter
\newcommand*\ifcounter[1]{%
\ifcsname c@#1\endcsname%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}%
\makeatother
\makeatletter
\newcommand\EqFamTag[2][roman]{%
\ifcounter{#2}{%
\expandafter\addtocounter{#2}{1}%
\xdef\temp{\csname #2 Eq\endcsname \space(\csname #1\endcsname{#2})}%
\global\expandafter\let\csname #2\arabic{#2}\endcsname\temp%
\tag{\temp}%
}{%
\global\expandafter\newcounter{#2}%
\expandafter\addtocounter{#2}{1}%
\xdef\temp{\theequation\space(\csname #1\endcsname{#2})}%
\xdef\eqonfamily{\theequation}%
\global\expandafter\let\csname #2 Eq\endcsname\eqonfamily%
\global\expandafter\let\csname #2\arabic{#2}\endcsname\temp%
\tag{\temp}%
\expandafter\addtocounter{equation}{1}
}%
}%
\makeatother
Где я использовал ответ @clemens из вопросаПроверить, существует ли счетчик
Чтобы использовать команду, мы просто пишем (например):
\begin{equation}
x^2=3\EqFamTag{Parabolic}
\end{equation}
и мы можем давать или не давать метку... Если мы не даем метку, мы все равно можем ссылаться на нашего члена семейства параболических, используя:
(\csname Parabolic1\endcsname)
для первого участника... или
(\csname Parabolic2\endcsname)
для 2-го участника и т.д.
Команда работает с пакетом amsmath, и мы можем иметь
\numberwithin{equation}{section}
или что нам нравится.
Мы можем продолжить запись членов нашей семьи в новом разделе, но нумерация будет помнить раздел и номер первого члена семьи.
Наконец, мы можем использовать не только \roman нумерацию (например, заглавные буквы или что-то другое, поддерживаемое Latex), добавив параметр вроде
\begin{equation}
{x^4}+\frac{3\cdot x^2}{10}+7=0\EqFamTag[Alph]{Quartic}
\end{equation}