В настоящее время я переопределяю нумерацию в математических средах, но столкнулся с проблемой subbequations
.
Хотелось бы иметь такую систему нумерации:
Ур. 1. (для нормальных уравнений)
Уравнение 1.А (для подуравнений)
Если я положу
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[leqno]{amsmath}
\usepackage{unicode-math}
\usepackage{etoolbox}
\usepackage{unicode-math}
\makeatletter
\renewcommand\theequation{%
\@arabic\c@equation.%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1\unskip}
}%
}
\makeatother
\patchcmd\subequations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation\protect\Alph{equation}}}
{}
{\FAIL}
\begin{document}
\begin{equation}
(a+b)^2 = a^2 + 2 a b + b^2
\label{eq1}
\end{equation}
Some text... \ref{eq1}
\begin{subequations}
\begin{equation}
f(x) = a x + b
\end{equation}
\begin{equation}
g(x) = q x + s
\end{equation}
\begin{equation}
h(x) = t x + b
\end{equation}
\end{subequations}
\end{document}
У меня есть Eq. 1.A
. Но если я использую \ref{eq1}
, например, у меня есть 1.
вместо 1
.
Если я положу
\renewcommand\theequation{%
\@arabic\c@equation%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1.\unskip}
}%
}
\patchcmd\subequations % nouvelle numérotation pour les sous-équations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation.\protect\Alph{equation}}}
{}
{\FAIL}
У меня нет проблем с , \ref{eq1}
но у меня есть Eq. 1.A.
.
Дополнительная информация:
@egreg Это команда, которую я определил для нумерации уравнений, но я заменил ее здесь на , Alph{}
чтобы упростить вещи, и я забыл ее удалить. Спасибо, что указали мне на это.
Спасибо @muzimuzhi ! Но это не совсем то, что мне бы хотелось. Для нормальных уравнений я бы хотел иметь точку после номера уравнения.
Таким образом, правильная нумерация будет следующей:
Уравнение 1.
Ур. 2.А
Ур. 2.Б
Ур. 2.С
Так что там будет точка "." после арабских цифр, но ничего после заглавных букв.
решение1
В следующем примере я привожу strange-defined \p@equation
, который используется внутри \stepcounter{<counter>}
. Возможно, есть более элегантное решение.
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[leqno]{amsmath}
\usepackage{etoolbox}
\usepackage{unicode-math}
\makeatletter
\renewcommand\theequation{%
\@arabic\c@equation.%
}
\renewcommand\tagform@[1]{%
\maketag@@@{%
\textbf{\textsc{Eq}.~\ignorespaces#1\unskip}
}%
}
\patchcmd\subequations
{\def\theequation{\theparentequation\alph{equation}}}
{\def\theequation{\theparentequation\Alph{equation}}}
{}
{\FAIL}
\def\p@equation#1{\expandafter\delete@trailing@dot\expanded{#1}.\@nil}
\def\delete@trailing@dot#1.#2.#3\@nil{\ifx\relax#2\relax#1\else#1.#2\fi}
\makeatother
\begin{document}
\begin{equation}
(a+b)^2 = a^2 + 2 a b + b^2 \label{eq1}
\end{equation}
Some text... \ref{eq1} and \ref{eq2a}
\begin{subequations}
\begin{align}
f(x) = a x + b \label{eq2a}\\
g(x) = q x + s \\
h(x) = t x + b
\end{align}
\end{subequations}
\end{document}