abntex / biblatex-abnt

:books: Estilo para BibLaTeX compatível com as normas da ABNT
126 stars 27 forks source link

Expressões reduzidas apenas na mesma página (NBR10520) #50

Open tonidandel opened 4 years ago

tonidandel commented 4 years ago

Olá amigo, conforme a norma NBR10520, item 7.1.4 informa que as citações reduzidas em notas de rodapé (idem, ibidem, op.cit. ...) "só podem ser usadas na mesma página ou folha da citação a que se referem."

Se não estiver enganado, penso que isso resolveria a maior parte das issues. Há alguma forma de informar ao compilador que se está na mesma página?

dbmrq commented 4 years ago

Bem observado. O BibLaTeX tem a macro \iffirstonpage, acho que daria pra usá-la pra fazer a citação por extenso quando é a primeira de uma nova página, contemplando esse requisito. Só não vou ter tempo de ver isso agora, infelizmente. Mas se você quiser se aventurar e fazer uma PR seria ótimo.

dbmrq commented 4 years ago

Parece que esse já é o comportamento do estilo authortitle-ibid, no qual eu me baseei:

Immediately repeated citations are replaced by the abbreviation ‘ibidem’ unless the citation is the first one on the current page or double page spread […]

http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/biblatex/doc/examples/61-style-authortitle-ibid-biber.pdf

Não sei por que está diferente no biblatex-abnt e agora não vou conseguir testar, mas assim que possível eu dou uma olhada se ninguém mais puder ajudar.

dbmrq commented 4 years ago

É, olhando um pouco mais, parece que o biblatex-abnt já considera se a citação é a primeira da página. Mas talvez não esteja imprimindo sempre o resultado correto. Então seria bom ter um exemplo mínimo reproduzindo o problema que você mencionou.

Dependendo de como for, podemos usar o comando \citereset quando encontrarmos a primeira citação da página com o comando \iffirstonpage.

tonidandel commented 4 years ago

Beleza... vou observar mais aqui. ;)

HugoFarias commented 4 years ago

Tenho o mesmo problema do @tonidandel. A partir da discussão de vocês, fui olhar o código (embora eu nunca tenha feito algo de tão profundo no LaTeX :p) e pensei se não pode haver algum problema que impeça o biblatex-abnt de perceber a mudança de página. Porque as condições na definição do footcite parecem corretas. O \iffirstonpage sempre acompanha um outro teste e no meu texto não observei algum problema que possa estar relacionado a esse outro teste, de modo que me ocorre que está vindo dele a resposta incorreta por alguma razão. Obrigado desde já pela atenção e, no geral, pelo projeto, que tem ajudado bastante.

dbmrq commented 4 years ago

É, também não sei por que não está funcionando corretamente. Caso vocês queiram ajudar, o próximo passo seria criar um exemplo mínimo que mostre o problema com os diversos comandos de citação relevantes. Se puderem enviar o exemplo aqui, também me ajudaria a dar uma olhada quando eu puder. Aí dá pra testá-lo usando o estilo authortitle-ibid também. Se funcionar direitinho com esse estilo, podemos comparar o código dele com o do biblatex-abnt pra tentar entender onde foi introduzido o problema.

HugoFarias commented 4 years ago

exemplo_biblatex.zip

Nesse exemplo, na terceira página a citação aparece como Ibid., sem que a citação anterior se dê na mesma página, mas na anterior. Espero que sirva para o teste.

dbmrq commented 4 years ago

Legal, obrigado!

HugoFarias commented 4 years ago

Acrescentando a opção "oneside" do abntex2 resolve o problema do meu exemplo, mas não resolve o do meu trabalho. No entanto, reparei que não tenho problemas com o ibid. nem com o id., mas com o op.cit. e loc.cit. Ainda não conferi no código pra ver se procede, mas observando os casos de erro no meu trabalho, acho que o problema pode ser o seguinte: é possível que o op.cit e o loc.cit estejam apenas conferindo se são a primeira referência na página e se a obra de tal autor é a última dele a ter sido referenciada. Ao invés, contudo, de conferir se é a primeira ocorrência, eles deveriam conferir se aquela obra referenciada foi citada naquela mesma página.

Reformulei o exemplo para expor um caso de op.cit. indevido. E neste, como o authortitle-ibid não tem um recurso similar (pelo que pesquisei superficialmente), ele não apresenta nenhum problema. exemplo2_biblatex.zip

PS.: De quebra, parece-me que, ao contrário do authortitle-ibid, por causa das normas da abnt, mesmo para um texto twoside, o ibid. deveria ficar restrito à mesma página.

dbmrq commented 4 years ago

Interessante! Desculpe não conseguir dar mais atenção pra isso no momento, mas obrigado pelas atualizações, vai ajudar muito quando eu finalmente conseguir dar uma olhada. :)

HugoFarias commented 4 years ago

@dbmrq,

Acabei conseguindo resolver localmente o problema, o suficiente para entregar meu tcc no final do ano passado. Não dou uma pull-request porque não sabia o que estava fazendo, então não tenho certeza se está resolvido da maneira correta. Segue abaixo o arquivo que eu modifiquei do biblatex-abnt na minha máquina:

abnt-ibid.zip

A questão me parece ser a seguinte: para o opcit e o loccit não basta não serem o firstonpage, é preciso que eles não sejam a primeira citação àquela obra na página. Sendo assim, na verificação para esses casos, substituí os testes de \iffirstonpage por um \iflastciteonsamepage que eu copiei tal e qual daqui: https://tex.stackexchange.com/questions/35673/biblatex-is-there-a-command-analogous-to-ifciteseen-but-within-one-page

Além disso, foi preciso fazer uma cópia de uma definição que estava apenas em abnt.cbx, de firstword.

dbmrq commented 4 years ago

Ah, que beleza, parece ótimo. Assim que eu puder passo as mudanças aqui pro repositório. Obrigado!