altere \crefname para apêndice no documento

altere \crefname para apêndice no documento

Quero alterar a forma como uma seção de apêndice é referida em parte do meu documento: quero "apêndice A.1" no texto principal e "seção A.1" no apêndice.

Eu tentei o seguinte:

\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}

Eu esperava uma saída como:

apêndice A e apêndice A.1

Um Foo

apêndice A eseção A.1

A.1 Barra

Mas também recebo o "apêndice A.1" no apêndice.

Parece que só posso usar \crefnameno preâmbulo e afetar todo o documento. Existe uma maneira de alterar o nome de referência apenas do apêndice?

Responder1

O apptoolspacote introduz condicionais relevantes \IfAppendixe \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} 

insira a descrição da imagem aqui

informação relacionada