Closed xR2 closed 2 years ago
Não consegui reproduzir o mesmo problema, mas encontrei outro problema afetando o windows.
Em resumo:
userguide.64
e o userguide-logo.pdf
e tente novamente.O que verifiquei durante a minha investigação em um windows server 2019 na AWS:
A versão do github em princípio não deveria ser um fator. Pela mensagem, você não teve o problema do link simbólico pro cls dentro de doc/
virar um arquivo de texto.
No linux as versões 2.6.1.40.22 e 2.6.1.40.23 funcionaram com ou sem userguide.64
e userguide-logo.pdf
pré-existentes. No windows instalei a versão atual e na parte do texlive funcionou.
O comando \IfFileExists
é um comando low-level TeX que deveria estar disponível até em instalações mínimas do texlive. Inclusive, \IfFileExists
foi executado bem antes no cls (para detectar o windows) e se não estivesse definido deveria ter falhado antes. O ufscthesis@logofc
também é definido em todos os caminhos de execução que levam a essa linha onde você teve o erro. Esse erro é impossível (no cls >= 0.8.9), então se o .cls e .tex estiverem iguais ao repositório, só tenho explicações esotéricas.
No windows eu tive um problema diferente, onde o pdflatex falhava com erros sobre o userguide-logo.pdf
, gerado durante a compilação, não ser um PDF válido. Isso ocorria pois o certutil, usado no windows para fazer o trabalho de base64 --decode, estava sendo invocado incorretamente. A verão atual do cls (0.8.11) invoca o certutil com o devido carinho e consegui compilar o userguide.tex
com e sem userguide.64
e userguide-logo.pdf
pré-existentes.
É possível que esse problema do certutil no teu sistema tenha causado alguma cascata de outros erros ou tenha corrompido algum estado durante a execução que fe surgir esse erro "impossível". Por isso tenho esperança que resolva.
Caso a atualização não resolva o teu problema, responda essa issue com o userguide.log
. Cheque também se o userguide.64
começa com JVBER
e termina com FT0YK
e se o userguide-logo.pdf
é um PDF com o logo da UFSC ou se ele é um arquivo de texto com uma mensagem do certutil.
Se o problema realmente continuar sendo o \IfFileExists não definido, recomendo remover e reinstalar o texlive.
Primeiramente, obrigado por responder, e rápido hehe.
Na verdade eu descobri que tive sim o problema do cls virar texto, mas como já tinha copiado e colado a classe da pasta raiz não tinha me dado conta. Dessa vez tive q fazer isso de novo.
Não há userguide-logo.pdf. Tentei criar ele copiando o arquivo de logo original e renomeando o arquivo, não surtiu efeito.
Não foi gerado nenhum arquivo userguide.64 ou qualquercoisa.64. Anexei o log: userguide.log
Por desencargo testei esse MWE, pois contém o mesmo comando de verificar se o arquivo existe, e funcionou normalmente.
EDIT
Estava rodando com a opção windows , se eu mantiver o default embeddedlogo
Aí obetnho um erro com pacote pygmentize
que suponho é usado apenas num exemplo e provavelmente não vai me fazer falta. Mas talvez denote de fato alguma falha na minha instalação do TexLive.
O arquivo userguide.64 gerado começa e termina como vc falou. O userguide-logo.pdf ficou como texto:
CertUtil: Unknown arg: --decode
CertUtil -? -- Display a verb list (command list) CertUtil -dump -? --
Display help text for the "dump" verb CertUtil -v -? -- Display all help text
for all verbs
E anexo o log (usando embededlogo) userguide.log
Hum, por essa resposta vejo que você tem 3 problemas. Vamos por partes.
tl;dr:
Nova versão do .cls, v 0.8.12 Instruções pra instalar o pygmentize abaixo Parece que você não atualizou o .cls dentro da pasta
doc/
Você não precisa da opção windows, pois o .cls automaticamente verifica o sistema operacional. Na verdade você não deveria usar a opção, pois o dia que for compilar no overleaf ou no linux, o build vai quebrar.
De qualquer forma, parece existir um bug em algum lugar onde caso ifplatform.sty
não tenha sido carregado, um erro vai acontecer após carregar longtable.sty. Quando você usava a opção windows, ifplatform não erra carregado e o build quebrava. Por isso que tirando windows você consegui ir mais longe.
Esse tipo de bug infelizmente é comum e faz parte da missão do .cls esconder eles. Por isso a versão 0.8.12 agora inclui o \RequirePackage{} caso você faça questão de usar a opção windows ao invés da detecção automática.
O erro com pygmentize acontece pois embora o .cls (não o exija, a documentação o exije pois eu usei o minted
pra fazer a formatação de código. Para resolver, siga esses passos:
pip install pygments
no terminal. pygmentize -h
vai mostrar uma mensagem de ajuda ao invés de erro.Se você já tem python instalado, você pode tentar seguir esse guia mais detalhado (e complicado).
Isso aconteceu, como a mensagem diz por que o certutils foi chamado errado. Isso foi resolvido na versão 0.8.11 do .cls.
Imagino que você atualizou o .cls na raiz e esqueceu de atualizar o .cls que precisa ser copiado para a pasta doc/
pois o windows não tem o conceito de symlinks.
Para não forçar minha opinião em outras pessoas, o ufsc-thesis-rn46-2019 tenta implementar apenas as regras da BU e esconder algumas gambiarras que todo mundo tinha que fazer com os templates antigos.
Se você não está portando um dos templates antigos ou algum código .tex teu para as novas regras da BU, talvez você queira um template como o lapesd-thesis. Ele é mais didático e tem muito mais features, mas está altamente contaminado com as minhas preferências.
Segui as instruções e deu tudo certo :+1:
Muito obrigado.
Estou adaptando as minhas próprias gambiarras antigas e aprendendo mais sobre o memoir
.
Estou encontrando o seguinte erro ao tentar compilar o userguide.tex
Undefined control sequence. \IfFileExists{\ufscthesis@logofc}
Estou usando o github desktop (windows) e no TexStudio com TexLive 2021. Usei
pdflatex -interaction=nonstopmode -shell-escape %.tex