joaoapaenas / abntex2

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

Caracter % não escapado em urls de referências quando se usa url #98

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Para reproduzir o problema:
1. Uma entrada no bibtex que contenha % na url
2. Usar url como pacote de url no abntex2cite
3. Citar tal entrada no texto.

O bug é semelhante ao #80. Na verdade seria bom conferir se algum outro 
caractere dá problema com o url. & eu sei que não. Acho que li em outra 
discussão que o $ ta dando o mesmo problema. Não conferi.

De qualquer forma, pra corrigir o problema é só trocar a linha 1045 nos dois 
arquivos bst por essa:

{ "\url{" * filter.url.html * "}" *} 'skip$ if$

Usei o filter.url.html e não o filter.url.tex já que a única coisa que 
precisou escapar foi o %. Se precisar escapar mais alguma talvez precise mudar 
isso.

A função inteira fica assim:

FUNCTION {compose.url}
{'s :=
 get.url.type
 bbl.url.available
 abnt.url.package #0 =
   { "$<$"   *
   abnt.doi abnt.doi.expand.to.url = 'expand.doi {s} if$
   * "$>$" *} 'skip$ if$
 abnt.url.package #1 =
   { "\url{" * filter.url.html * "}" *} 'skip$ if$
 abnt.url.package #2 =
   {url.type http.url =
     {"\htmladdnormallink{$<$" * filter.url.tex * "$>$}{" * filter.url.html * "}" *}
     'skip$ if$
    url.type doi.url = url.type ftp.url = or url.type mailto.url = or
     {"\htmladdnormallink{$<$" *
      abnt.doi abnt.doi.expand.to.url = 'expand.doi {s} if$
      * "$>$}{" *
      abnt.doi abnt.doi.leave.as.is = {s} 'expand.doi if$
      * "}" * }
     'skip$ if$
    url.type unknown.url =
     {"$<$" * filter.url.tex * "$>$" *}
     'skip$ if$} 'skip$ if$
}

Original issue reported on code.google.com by PauloQuinan on 17 Nov 2013 at 6:47

GoogleCodeExporter commented 9 years ago

Original comment by laurocesar on 19 Nov 2013 at 11:55

GoogleCodeExporter commented 9 years ago
Pronto para incorporar ao código

Original comment by laurocesar on 19 Nov 2013 at 11:55

GoogleCodeExporter commented 9 years ago

Original comment by laurocesar on 19 Nov 2013 at 11:56

GoogleCodeExporter commented 9 years ago

Original comment by laurocesar on 19 Nov 2013 at 11:58

GoogleCodeExporter commented 9 years ago
Pronto! Código incorporado à próxima versão.

Paulo, se precisarmos escapar mais alguma coisa, onde colocaríamos?

Original comment by laurocesar on 30 Nov 2013 at 12:13

GoogleCodeExporter commented 9 years ago
Teria que fazer uns testes. Eu suspeito que se isso for necessário, o problema 
vai existir nos outros momentos em que é usado a filter.url.html, então 
poderia ser adicionado ali mesmo. Mas se for um problema especifico do pacote 
url nas bibliografias ai seria necessária a criação de uma terceira função 
filter.

Original comment by PauloQuinan on 30 Nov 2013 at 9:40

GoogleCodeExporter commented 9 years ago
Inclui o escape para o caractere # (issue 101)

Original comment by laurocesar on 15 Dec 2013 at 12:06