alexishuf / ufsc-thesis-rn46-2019

Template for theses (from undergrad to PhD) according to UFSC regulations
33 stars 5 forks source link

O comando `\tcc` só funciona acompanhado da opção de classe `nopageanchorhack`. #4

Closed tarberd closed 3 years ago

tarberd commented 3 years ago

Para reproduzir o problema:

  1. clone o repositório e vá a pasta doc;
  2. rode make clean para remover o pdf disponibilizado junto ao repositório;
  3. modificar o arquivo userguide.tex conforme o seguinte diff:

    diff --git a/doc/userguide.tex b/doc/userguide.tex
    index 4a8a0c6..0d872d1 100644
    --- a/doc/userguide.tex
    +++ b/doc/userguide.tex
    @@ -37,20 +37,20 @@
    \local{Florianópolis} % Apenas cidade! Sem estado
    \programa{Programa de Pós-Graduação em Ciência da Computação}
    % Os dois próximos itens são usados para gerar o \preambulo
    -\tese % ou \dissertacao ou \tcc
    -\titulode{doutor em Ciência da Computação}
    +%\tese % ou \dissertacao ou \tcc
    +%\titulode{doutor em Ciência da Computação}
    
    %%% Atenção! No caso de TCC, além de usar \tcc, outros comandos devem ser fornecidos:
    %%%
    -% \tcc
    -% \departamento{Departamento de Informática e Estatística}
    -% \curso{Ciência da Computação}
    -% \titulode{Bacharel em Ciência da Computação}
    +\tcc
    +\departamento{Departamento de Informática e Estatística}
    +\curso{Ciência da Computação}
    +\titulode{Bacharel em Ciência da Computação}
    % %% Para TCCs, orientadores e coorientadores podem ser externos, logo a
    % %% BU exige que sua afiliação seja explicitada. Por padrão, assume-se
    % %% UFSC. Você pode alterar a afiliação com os comandos abaixo:
    -% \afiliacaoorientador{Universidade Federal de Santa Catarina}
    -% \afiliacaocoorientador{Universidade Federal da Terra de Ninguém}
    +\afiliacaoorientador{Universidade Federal de Santa Catarina}
    +\afiliacaocoorientador{Universidade Federal da Terra de Ninguém}
    
    % Orientador, coorientador, membros da banca e coordenador
    % As regras da BU agora exigem que Dr. apareça **depois** do nome
  4. rodar make para gerar o novo pdf

Erro output:

! Package lastpage Error: hyperref option pageanchor disabled.

See the lastpage package documentation for explanation.
Type  H <return>  for immediate help.
 ...
l.894 \end{document}

 The \pageref{LastPage} link doesn't work
 using hyperref with disabled option `pageanchor'.

O quickfix que achei foi utilizar a opção de classe nopageanchorhack mas não consegui identificar o motivo.

alexishuf commented 3 years ago

Consegui reproduzir, mas não consegui identificar o motivo, apesar de ter resolvido o problema.

O nopageanchorhack foi feito as pressas e para resolver variações desse warning:

pdfTeX warning (ext4): destination with the same identifier (name{page.1}

A "causa" do problema é que a opção pageanchor do hyperref era restaurada para true repetidamente nos elementos subsequentes a \imprimircapa. No entanto, no commit ea0662c (que introduziu o bug) usando nopageanchorhack o PDF para \tcc ou para \tese não apresentam diferenças que expliquem o problema (como algum elemento pré-textual ter sido perdido.

No commit 73dad60, o problema foi resolvido restaurando a opção pageanchor dentro de \imprimircapa. Testei no userguide.tex modificado para TCC, no original e em outras dissertações, sem encontrar reversões ou novos problemas.

Caso tenha funcionado para você comente aqui para confirmar que a issue pode ser fechada.

tarberd commented 3 years ago

Testei aqui e voltou a funcionar sem problemas, não parece ser mais necessária a opção de classe nopageanchorhack para gerar documentos usando \tcc.