cambiar \crefname para el apéndice en el documento

cambiar \crefname para el apéndice en el documento

Quiero cambiar la forma en que se hace referencia a una sección del apéndice en parte de mi documento: quiero "apéndice A.1" en el texto principal y "sección A.1" en el apéndice.

Intenté lo siguiente:

\documentclass{scrartcl}
\usepackage{cleveref}
\begin{document}
    \cref{foo} and \cref{bar}

    \appendix
    \crefname{subappendix}{section}{sections}

    \section{Foo}\label{foo}
    \cref{foo} and \cref{bar}

    \subsection{Bar}\label{bar}
\end{document}

Esperaba un resultado como:

apéndice A y apéndice A.1

un foo

apéndice A ysección A.1

A.1 Barra

Pero también aparece el "apéndice A.1" dentro del apéndice.

Parece que sólo puedo usarlo \crefnameen el preámbulo y afectar a todo el documento. ¿Hay alguna manera de cambiar el nombre de referencia solo del apéndice?

Respuesta1

El apptoolspaquete introduce condicionales relevantes \IfAppendixy \ifappendix:

\documentclass{scrartcl}
\usepackage{cleveref}
\usepackage{apptools}
\crefname{subappendix}{\IfAppendix{section}{appendix}}{\IfAppendix{sections}{appendices}s}

\begin{document}
    \cref{foo} and \cref{bar}

    \appendix

    \section{Foo}\label{foo}
    \cref{foo} and \cref{bar}

    \subsection{Bar}\label{bar}
\end{document} 

ingrese la descripción de la imagen aquí

información relacionada