% A classe Book inclui o comando \appendix, que (obviamente) permite inserir
% apêndices no documento. No entanto, não há suporte similar para anexos. Aqui,
% criamos o comando \annex (copiado de \appendix em book.cls e hyperref.sty) e
% comandos acessórios. Esta package deve ser carregada depois de hyperref.
% Author: Nelson Lago.
% License: LPPL, as most of the code is derived from book.cls and hyperref.sty

\ProvidesPackage{annex}[2019/10/18 Annexes, similar to appendixes]

\RequirePackage{etoolbox}

% Baseado em \appendix de book.cls e article.cls;
% define o comando \annex "simples"
\newcommand\annex{\par
  \ltx@IfUndefined{chapter}
    {
        \setcounter{section}{0}
        \setcounter{subsection}{0}
        \gdef\thesection{\@Alph\c@section}
    }{
        \setcounter{chapter}{0}
        \setcounter{section}{0}
        \gdef\thechapter{\@Alph\c@chapter}
        \gdef\@chapapp{\annexname}
    }
}

% Traduções
\providecommand\annexname{Annex}

\addto\captionsbrazil{%
  \renewcommand\annexname{Anexo}%
}

\addto\captionsbrazilian{%
  \renewcommand\annexname{Anexo}%
}

\addto\captionsenglish{%
  \renewcommand\annexname{Annex}%
}

% hyperref define isto para appendix, não sei bem para quê.
\providecommand*\annexautorefname{Annex}

% Copiado de hyperref.sty; modifica \annex para dar suporte a hyperref
\ltx@IfUndefined{annex}{}{%
  \RequirePackage{hyperref}
  \let\HyOrg@annex\annex
  \def\annex{%
    \ltx@IfUndefined{chapter}{%
      \gdef\theHsection{\Hy@AlphNoErr{section}}%
    }{%
      \gdef\theHchapter{\Hy@AlphNoErr{chapter}}%
    }%
    \xdef\Hy@chapapp{annex}%
    \HyOrg@annex
  }%
}

% Atualiza as traduções em hyperref
\appto\HyLang@english{\def\annexautorefname{Annex}}
\appto\HyLang@portuges{\def\annexautorefname{Anexo}}

\endinput
