Actualmente estoy redefiniendo la numeración en entornos matemáticos pero tengo un problema con subbequations
.
Ojalá tuviera un sistema de numeración como este:
Ec. 1. (para ecuaciones normales)
Ec. 1.A (para subecuaciones)
si pongo
\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}
Tengo Eq. 1.A
. Pero si uso \ref{eq1}
, por ejemplo, tengo en 1.
lugar de 1
.
si pongo
\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}
No tengo ningún problema \ref{eq1}
pero lo tengo Eq. 1.A.
.
Información adicional:
@egreg Es un comando que definí para numerar las ecuaciones, pero lo reemplacé aquí para Alph{}
simplificar las cosas y me olvidé de eliminarlo. Gracias por señalarme eso.
¡Gracias @muzimuzhi! Pero eso no es exactamente lo que me gustaría. Para ecuaciones normales me gustaría tener un punto después del número de ecuación.
Entonces la numeración correcta sería:
Ec. 1.
Ec. 2.A
Ec. 2.B
Ec. 2.C.
Entonces habría un punto "." después de los números arábigos, pero nada después de las letras mayúsculas.
Respuesta1
En el siguiente ejemplo, proporciono una definición extraña \p@equation
que se usa dentro de \stepcounter{<counter>}
. Puede haber una solución más elegante.
\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}