![Substituir nome autoref para ambiente de equação personalizado](https://rvso.com/image/475708/Substituir%20nome%20autoref%20para%20ambiente%20de%20equa%C3%A7%C3%A3o%20personalizado.png)
Não consigo obter referências feitas usando \autoref
o hyperref
pacote para um ambiente personalizado com base no equation
ambiente para usar um nome personalizado. Em vez de usar o nome personalizado, essas referências usam "Equação".
Considere o seguinte exemplo:
\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 (conforme descrito no exemplo) é que a referência feita desta forma será "Equação Q1" onde eu gostaria que fosse "Consulta Q1". O que posso mudar para conseguir isso?
Estou aberto a uma estratégia diferente para fazer isso funcionar (por exemplo, uma definição diferente de query
ambiente), mas é importante que o conteúdo do query
ambiente seja definido no modo matemático e que o contador do ambiente seja independente de outros contadores (como o equation
contador). Usar cleveref
em vez de hyperref
é problemático neste caso, pois me causou problemas em combinação com a svjour3
classe de modelo/documento que devo usar.
Responder1
\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}