изменить \crefname для приложения в документе

изменить \crefname для приложения в документе

Я хочу изменить название раздела приложения для части моего документа: я хочу, чтобы в основном тексте он назывался «приложение A.1», а в приложении — «раздел A.1».

Я попробовал следующее:

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

Я ожидал увидеть что-то вроде:

приложение А и приложение А.1

А Фу

приложение А ираздел А.1

А.1 Бар

Но внутри приложения я также нахожу «приложение А.1».

Похоже, я могу использовать только \crefnameв преамбуле и повлиять на весь документ. Есть ли способ изменить имя ссылки только для приложения?

решение1

Пакет apptoolsвводит соответствующие условные предложения \IfAppendixи \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} 

введите описание изображения здесь

Связанный контент