Anular el nombre de autoref para un entorno de ecuación personalizado

Anular el nombre de autoref para un entorno de ecuación personalizado

No puedo obtener referencias realizadas \autorefdesde el hyperrefpaquete a un entorno personalizado según el equationentorno para usar un nombre personalizado. En lugar de utilizar el nombre personalizado, dichas referencias utilizan "Ecuación".

Considere el siguiente ejemplo:

\documentclass{article}

\usepackage{hyperref}

% Define a 'query' counter and environment, based on 'equation'
\newcounter{query}
\newenvironment{query}
{\refstepcounter{query}%
\renewcommand\theequation{Q\arabic{query}}\equation}
{\endequation}

% Attempt to override the name autoref uses for the query environment
\newcommand{\queryautorefname}{Query}

\begin{document}

A labelled instance of the query environment can be found below:
%
\begin{query}
    \label{q:my_query}
    Q(x) = ...
\end{query}

A reference to \autoref{q:my_query} using \texttt{autoref} uses the wrong name to refer to the environment (i.e., Equation rather than Query).

\end{document}

Este problema (como se describe en el ejemplo) es que la referencia hecha de esta manera dirá "Ecuación Q1" donde me gustaría que dijera "Consulta Q1". ¿Qué puedo cambiar para lograr esto?

Estoy abierto a una estrategia diferente para hacer que esto funcione (por ejemplo, una definición diferente del queryentorno), pero es importante que el contenido del queryentorno esté configurado en modo matemático y que el contador del entorno sea independiente de otros contadores (como el equationcontador). Usar cleverefen lugar de hyperrefes problemático en este caso, ya que me ha causado problemas en combinación con la svjour3clase de plantilla/documento que estoy obligado a usar.

Respuesta1

\documentclass{article}

\usepackage{hyperref}

% Define a 'query' counter and environment, based on 'equation'
\newcounter{query}
\makeatletter
\newenvironment{query}
{\stepcounter{query}%
 \def\Hy@chapterstring{equation}%
 \def\Hy@chapapp{query}%
\renewcommand\theequation{Q\arabic{query}}\equation}
{\endequation}
\makeatother
% Attempt to override the name autoref uses for the query environment
\newcommand{\queryautorefname}{Query}

\begin{document}

A labelled instance of the query environment can be found below:
%
\begin{query}
    \label{q:my_query}
    Q(x) = ...
\end{query}

A reference to \autoref{q:my_query} using \texttt{autoref} uses the wrong name to refer to the environment (i.e., Equation rather than Query).

\end{document}

ingrese la descripción de la imagen aquí

información relacionada