AfonsoPortuga / abntex2

Automatically exported from code.google.com/p/abntex2
1 stars 0 forks source link

Comando \autoref referente Anexos retorna "Apêndice" #76

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago

Ao usar o comando \autoref retorna sempre como Apêndice XXX e não como Anexo 
xxx.

Teste realizado no modelo canônico.

Original issue reported on code.google.com by wagner@admwagner.com.br on 14 Aug 2013 at 9:06

GoogleCodeExporter commented 9 years ago

Original comment by laurocesar on 14 Aug 2013 at 9:21

GoogleCodeExporter commented 9 years ago
Tentei as soluções seguintes e não deu certo

http://tex.stackexchange.com/questions/137432/whats-the-difference-between-ref-a
nd-autoref

http://linorg.usp.br/CTAN/macros/latex/contrib/hyperref/doc/manual.html
 Example for a redefinition if babel is used:
.....
\newcommand{\PRIVATEapendiceconfig}[2]{%
 \setboolean{abntex@apendiceousecao}{true}%
 \renewcommand{\appendixname}{#1}
  comando passou aqui #1
 \addto\extrasbrazil{%  
  \def\appendixnameautorefname{#1} %%%%%%% wfs teste ... depois apagar comentário
 }
 \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{
   \renewcommand{\appendixtocname}{\uppercase{#2}}
  }{%
  \renewcommand{\appendixtocname}{#2}} 
 \renewcommand{\appendixpagename}{#2}
 \switchchapname{#1}% Corrected from \switchapname -> \switchchapname
 \renewcommand*{\cftappendixname}{#1 \space}
}

Coloquei este comando no \PRIVATEapendiceconfig do abntex2

Se alguem tiver sugestões... 

Olhei o manual do memoir e do hyperref mas não falo inglês... 

Original comment by admwag...@admwagner.com.br on 4 Jul 2014 at 6:48

GoogleCodeExporter commented 9 years ago
Esta questão realmente é problemática. Vamos ter que continuar pesquisando. 
Eu também não encontrei uma solução até agora...

Original comment by laurocesar on 6 Jul 2014 at 11:26

GoogleCodeExporter commented 9 years ago
Se colocar a partir da linha 293 do abntex2:

\addto\captionsbrazil{% portugues-brasil
  %% ajusta nomes padroes do babel
  \renewcommand{\bibname}{Refer\^encias}
  \renewcommand{\indexname}{\'Indice}
  \renewcommand{\listfigurename}{Lista de ilustra\c{c}\~{o}es}
  \renewcommand{\listtablename}{Lista de tabelas}
  %% ajusta nomes usados com a macro \autoref
  \renewcommand{\pageautorefname}{p\'agina}
  \renewcommand{\sectionautorefname}{se{\c c}\~ao}
  \renewcommand{\subsectionautorefname}{subse{\c c}\~ao}
  \renewcommand{\subsubsectionautorefname}{subse{\c c}\~ao}
  \renewcommand{\paragraphautorefname}{subse{\c c}\~ao}
  \renewcommand{\appendixautorefname}{Anexo} %%%% ===> aqui o teste
}

Tudo passa a ser "Anexo"

Logo o hyperref está de fato usando o babel e procurando pelo nome da parte 
seguida de "autorefname".

Noutro giro para o memoir tudo é appendix..... logo não adiantaria usar 
\renewcommand{\enclautorefname}{Anexo}, aliás aqui deu erro ao tentar.

Teria que fazer a renomeação dentro do comando na linha 997 que é onde o 
abntex2 faz a mudança de nomes usando o memoir, salvo engano.

\newcommand{\PRIVATEapendiceconfig}[2]{%

mas dá erro... 

os comandos do hyperref são protegidos. seria preciso, creio, usar o 
\makeatletter e \makeatother mas não sei se têm jeito... ou se têm outro 
jeito.

Lauro, vá registrando aqui o que você tentar.
Vamos pensando juntos.

t+

Wagner F Silva

Original comment by wagner@admwagner.com.br on 6 Jul 2014 at 6:43

GoogleCodeExporter commented 9 years ago
Combinado Wagner!

Original comment by laurocesar on 6 Jul 2014 at 7:32

GoogleCodeExporter commented 9 years ago
De fato, é preciso investigar mais a parte de apêndices do memoir, porque o 
problema que cheguei foi exatamente o que você disse: para o memoir, tudo é 
appendix. Tanto é que a solução atual do abntex2.cls para manter Apêndice 
para Anexo num mesmo documento é um "gato" dos mais pintados, porque ele muda 
o nome durante a expansão das macros. Como essa mudança é "forçada", ela 
não é reconhecida pelo hyppref. No caso, isso é feito aqui:

% ---
% Definicoes compartilhadas entre Apendices e Anexos
% ---
\makeatletter
\newcommand\@switch[1]{ \@writefile{toc}{\renewcommand*{\cftappendixname}{#1 
\space}} }
\newcommand{\switchchapname}[1]{ \protected@write \@auxout 
{}{\string\@switch{#1} }}
\makeatother

Acredito que o próximo passo é olhar no manual da hyperref e verificar como 
definir os nomes do \autoref  da forma como precisamos, ou mesmo continuar a 
investigar no manual do memoir uma forma mais elegante de ter apêndices e 
anexos num mesmo documento.

Por fim, se não acharmos nada, poderíamos até enviar um e-mail ao criador do 
memoir.

Abraços!

Original comment by laurocesar on 6 Jul 2014 at 7:38

GoogleCodeExporter commented 9 years ago
Wagner,
Por acaso você conseguiu algum resultado nesta questão dos nomes dos 
apêndices?

Original comment by laurocesar on 6 Jan 2015 at 10:06

GoogleCodeExporter commented 9 years ago
Até que se obtenha solução definitiva, é possível usar esse workaround:

\newcommand{\refanexo}[1]{\hyperref[#1]{Anexo~\ref{#1}}}

\refanexo{anexo_xxx}

Original comment by laurocesar on 18 Jan 2015 at 1:12