autónomo con subecuaciones

autónomo con subecuaciones

¿Hay alguna manera de hacer el paquete?autónomo¿Trabajar con subecuaciones? En el siguiente ejemplo, la referencia leerá correctamente la ecuación. 1, pero no se añade ningún número a las ecuaciones (me gustaría ver 1a, 1b).

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{autonum}
\begin{document}

\begin{subequations}
    \label{eq:subequations}
    \begin{align}
        1 + 1 = 2, \\
        2 + 2 = 4
    \end{align}
\end{subequations}

Let us examine \cref{eq:subequations}.

\end{document}

Respuesta1

Esto fue interesante. Creo que tengo una solución que funciona utilizando el apptocomando del etoolboxpaquete. Tenga en cuenta que se recomienda cargar el hyperrefpaquete hypertexnames=falsecuando lo use autonum(también elegí usar la hidelinksopción).

El autonumpaquete solo generará un número de ecuación cuando realmente se haga referencia a esa ecuación, por lo que necesitamos una forma de hacer referencia a todas las ecuaciones en un entorno de subecuaciones cuando se haga referencia a ese entorno de manera silenciosa. Podemos hacer esto definiendo nuestro propio comando de referencia que toma una etiqueta y no hace nada, pero luego le decimos al paquete autonum que es un comando de referencia con la \autonum@generatePatchedReferencemacro proporcionada por el paquete.

\documentclass[11pt,a4paper]{article}
\usepackage{amsmath}
\usepackage[hypertexnames=false, hidelinks]{hyperref} % hypertexnames=false for autonum compatibility (autonum.pdf 3.2 Hyperref)
\usepackage{cleveref}
\usepackage{autonum}
\usepackage{etoolbox} % \appto (etoolbox.pdf 3.3 Hook management)
\newcommand\toplabel[2]{% Args: macro and label for subequations environment
\appto{#1}{(\ref{#2})}%
}
\newcommand\sublabel[2]{% Args: macro and label for a subequation
\appto{#1}{\hoaxref{#2}}% Pretend to reference this equation when #1 is called, to fool autonum
}
\newcommand\hoaxref[1]{%
% Do nothing!
}
\makeatletter
\autonum@generatePatchedReference{hoaxref} % Tell autonum about our reference command (autonum.pdf 3.3 Reference commands)
\makeatother
\begin{document}
\begin{subequations}
    \label{eq:1}
    \begin{align}
        1 + 1 &= 2 \label{eq:1a}\\
        2 + 2 &= 4\label{eq:1b}
    \end{align}
\end{subequations}
\toplabel{\referone}{eq:1}%
\sublabel{\referone}{eq:1a}%
\sublabel{\referone}{eq:1b}%

Let us examine system \referone. 
\begin{subequations}
    \label{eq:2}
    \begin{align}
        3 + 3 &= 8 \label{eq:2a}\\
        4 + 4 &= 8\label{eq:2b}
    \end{align}
\end{subequations}

For comparison, an ordinary reference to system \ref{eq:2}.
\end{document}

Producción:

producción

Nota de uso: Etiquete las ecuaciones ambientales de las subecuaciones de la forma habitual. Luego, debajo de este entorno, configure una macro para hacer referencia al entorno \toplabel{\myMacroName}{subeq:label}y luego \sublabel{\myMacroName}{a:sub:equation}para cada subecuación que desee numerar (¡no es necesario que sean todas!). Esto \myMacroNamees lo que utilizará para hacer referencia al entorno de subecuación, como se muestra en el ejemplo.

información relacionada