texlive[68793] Master/texmf-dist: unbtex (3nov23)

commits+karl at tug.org commits+karl at tug.org
Thu Nov 9 23:25:54 CET 2023


Revision: 68793
          https://tug.org/svn/texlive?view=revision&revision=68793
Author:   karl
Date:     2023-11-09 23:25:54 +0100 (Thu, 09 Nov 2023)
Log Message:
-----------
unbtex (3nov23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/unbtex/README.md
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/apendice-a.tex
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo1.tex
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/references.bib
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex
    trunk/Master/texmf-dist/tex/latex/unbtex/unbtex.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-en.bst
    trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-pt.bst
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf

Removed Paths:
-------------
    trunk/Master/texmf-dist/bibtex/bst/unbtex/abntex2eng-alf.bst
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.eps
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/img-grafico.pdf
    trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/img-marca.pdf

Deleted: trunk/Master/texmf-dist/bibtex/bst/unbtex/abntex2eng-alf.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/unbtex/abntex2eng-alf.bst	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/bibtex/bst/unbtex/abntex2eng-alf.bst	2023-11-09 22:25:54 UTC (rev 68793)
@@ -1,2162 +0,0 @@
-%%
-%% abntex2eng-alf.bst bibliography style file is adapted from abntex-alf.bst
-%% to format bibliographic references in ABNT style for documents written in
-%% English, following sugestions avaliable at
-%%
-%%    https://github.com/abntex/abntex2/issues/97
-%%   
-%% abntex2-alf.bst, v-1.9.7 laurocesar
-%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/ 
-%%
-%% This work may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License, either version 1.3 of this license or (at
-%% your option) any later version.
-%% The latest version of this license is in
-%%    http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX version
-%% 2005/12/01 or later.
-%%
-%% This work has the LPPL maintenance status `maintained'.
-%% 
-%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
-%% César Araujo. Further information are available on 
-%%    http://www.abntex.net.br/
-%%
-
-ENTRY
-  { address author
-    booktitle booksubtitle
-    chapter conference-number conference-year conference-location
-    edition editor editortype
-    dimensions furtherresp
-    howpublished illustrated institution
-    isbn issn journal key month note marginnote number organization
-    org-short pages pagename
-    publisher reprinted-from reprinted-text school
-    series subtitle section title type url urlaccessdate
-    volume year year-presented
-    abnt-and-type
-    abnt-doi abnt-dont-use-etal
-    abnt-etal-cite abnt-etal-list abnt-etal-text abnt-emphasize abnt-experimental
-    abnt-full-initials
-    abnt-last-names abnt-ldots-type
-    abnt-missing-year abnt-cite-style abnt-no-etal-label abnt-note
-    abnt-repeated-author-omit abnt-repeated-title-omit
-    abnt-show-options abnt-refinfo abnt-thesis-year abnt-url-package
-    abnt-title-command
-    abnt-verbatim-entry
-    iso-abbreviation iso-author-punctuation iso-date-place
-    }{}{ label extra.label year.label}
-
-%revision string
-STRINGS { abnt.bst.revision }
-
-%general purpose strings
-STRINGS { r s t }
-
-%variables needed to implement the various abnt options
-STRINGS {abnt.etal.text abnt.emphasize previous.author previous.title}
-INTEGERS {abnt.alf  abnt.cite.style abnt.doi
-          abnt.experimental abnt.etal.cite abnt.etal.list
-          abnt.full.initials
-          abnt.last.names abnt.ldots.type
-          abnt.missing.year
-          abnt.refinfo  abnt.repeated.author.omit abnt.repeated.title.omit
-	  abnt.show.options abnt.and.type
-          abnt.title.command
-	  abnt.thesis.year
-	  abnt.url.package abnt.verbatim.entry
-	  iso.abbreviation iso.author.punctuation iso.date.place
-	  repeated.author}
-
-%needed for title formatting
-INTEGERS { title.lenght title.pos first.word no.bracket}
-STRINGS { title.char}
-
-%needed for controlling the sentence position
-INTEGERS {output.state before.all mid.sentence after.sentence after.block }
-
-%needed for url identification
-INTEGERS {url.type}
-
-%static values for options
-%values for abnt.doi
-FUNCTION {abnt.doi.expand.to.url} {#0} %expands a doi address to its url correspondent
-FUNCTION {abnt.doi.link}          {#1} %links doi to its url correspondent
-FUNCTION {abnt.doi.leave.as.is}   {#2} %shows doi as is, external viewer will have
-                                       %to know what to do with a "doi:" document
-
-%values for url types
-FUNCTION {unknown.url} {#0}
-FUNCTION {http.url}    {#1}
-FUNCTION {file.url}    {#2}
-FUNCTION {ftp.url}     {#3}
-FUNCTION {doi.url}     {#4}
-FUNCTION {mailto.url}  {#5}
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
-  #1 'mid.sentence :=
-  #2 'after.sentence :=
-  #3 'after.block :=
-}
-
-
-%output.nonnull decides what is written before the argument s, if a comma, period etc.
-FUNCTION {output.nonnull}
-{ 's :=                                     %the argument is written into s
-  output.state mid.sentence =
-    { ", " * write$ }                       %mid.sentence first write comma
-    { output.state after.block =
-        { add.period$ write$ newline$ }
-        { output.state before.all = 'write$
-            { add.period$ " " * write$ }
-          if$}
-      if$
-      mid.sentence 'output.state := }
-  if$
-  s                                         %now comes s
-}
-FUNCTION {output.nonnull.dash}
-{ 's :=                                   %the argument is written into s
-  output.state mid.sentence =
-    { " --- " * write$ }                       %mid.sentence first write comma
-    { output.state after.block =
-        { add.period$ write$ newline$ write$}
-        { output.state before.all = 'write$
-            { add.period$ " " * write$ }
-          if$}
-      if$
-      mid.sentence 'output.state := }
-  if$
-  s                                         %now comes s
-}
-FUNCTION {output}     %does nothing or calls output.nonull
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull
-  if$
-}
-FUNCTION {output.dash}     %does nothing or calls output.nonull
-{ duplicate$ empty$
-    'pop$
-    'output.nonnull.dash
-  if$
-}
-FUNCTION {output.check}  %like ouput, but complains if t empty
-{ 't :=
-  duplicate$ empty$
-    { pop$ "campo " t * " vazio em " * cite$ * warning$ }
-    'output.nonnull
-  if$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
-    'skip$
-    { after.block 'output.state := }
-  if$
-}
-FUNCTION {new.sentence}
-{ output.state after.block =
-    'skip$
-    { output.state before.all =
-        'skip$
-        { after.sentence 'output.state := }
-      if$
-    }
-  if$
-}
-FUNCTION {add.blank} {  " " * before.all 'output.state :=}
-
-FUNCTION {date.block} {new.block}
-
-FUNCTION {not}
-{   { #0 }
-    { #1 }
-  if$
-}
-FUNCTION {and}
-{   'skip$
-    { pop$ #0 }
-  if$
-}
-FUNCTION {or}
-{   { pop$ #1 }
-    'skip$
-  if$
-}
-FUNCTION {new.block.checka}
-{ empty$
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {new.block.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.block
-  if$
-}
-FUNCTION {new.sentence.checka}
-{ empty$
-    'skip$
-    'new.sentence
-  if$
-}
-FUNCTION {new.sentence.checkb}
-{ empty$
-  swap$ empty$
-  and
-    'skip$
-    'new.sentence
-  if$
-}
-FUNCTION {field.or.null}
-{ duplicate$ empty$
-    { pop$ "" }
-    'skip$
-  if$
-}
-FUNCTION {emphasize}
-{ duplicate$ empty$
-    { pop$ "" }
-    { abnt.emphasize "{"  *  swap$ * "}" * }
-  if$
-}
-
-
-FUNCTION {tie.or.space.prefix} %if text length less than 3 chars. uses a tie
-{ duplicate$ text.length$ #5 <
-    { "~" }
-    { " " }
-  if$
-  swap$
-}
-
-FUNCTION {no.space} { { "" } swap$ }
-
-
-FUNCTION {space.word} { " " swap$ * " " * }
-
-FUNCTION {bbl.and}
-{ abnt.and.type #0 = {" and "} 'skip$ if$
-abnt.and.type #1 = {" \& "} 'skip$ if$}
-FUNCTION {bbl.chapter} { "chap." }
-FUNCTION {bbl.colon} {": "}
-FUNCTION {bbl.editors} { "Eds." }
-FUNCTION {bbl.editor} { "Ed." }
-FUNCTION {bbl.edby} { "edited by" }
-FUNCTION {bbl.edition} { "ed." }
-FUNCTION {bbl.empty} {""}
-FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
-FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
-FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
-FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
-{abnt.ldots.type
-{abnt.ldots.type #1 = {"\ldots"}   'skip$ if$
-abnt.ldots.type #2 = {"$\ldots$"} 'skip$ if$
-abnt.ldots.type #3 = {"{...}"}    'skip$ if$}
-{""} %for #0 use nothing
-if$}
-FUNCTION {bbl.master}  { "Master of Science" }
-FUNCTION {bbl.missing.year}
-{abnt.missing.year
-{"[s.d.]"} %#1
-{""}       %#0
-if$}
-FUNCTION {bbl.monography} { "Monography" }
-FUNCTION {bbl.mthesis} { "Dissertation" }
-FUNCTION {bbl.no.address} {"[S.l.]"}
-FUNCTION {bbl.no.address.no.publisher} {"[S.l.: s.n.]"}
-FUNCTION {bbl.no.publisher} {"[s.n.]"}
-FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
-FUNCTION {bbl.nr} { "n." }
-FUNCTION {bbl.of} { "of" }
-FUNCTION {bbl.phd} { "Doctor in Philosophy" }
-FUNCTION {bbl.phdthesis} { "Thesis" }
-FUNCTION {bbl.pages}
-{pagename empty$
-{ "p." }
-{pagename}
-if$
-}
-FUNCTION {bbl.page} { bbl.pages }
-FUNCTION {bbl.reprint} {"Reprint from"}
-FUNCTION {bbl.semicolon} { "; "}
-FUNCTION {bbl.same.field} {"\underline{\ \ \ \ \ \ \ \ }"}
-FUNCTION {bbl.techrep} { "Technical Report" }
-FUNCTION {bbl.url.accessdate}
-{iso.abbreviation { "Cited "} {"Accessed on: "} if$}
-FUNCTION {bbl.url.available}
-{ iso.abbreviation {"Available from Internet: "} {"Available at: "} if$}
-FUNCTION {bbl.void} {""}
-FUNCTION {bbl.volume} { iso.abbreviation {"vol."} {"v."} if$ }
-
-
-MACRO {jan} {"Jan."}
-MACRO {feb} {"Feb."}
-MACRO {mar} {"Mar."}
-MACRO {apr} {"Apr."}
-MACRO {may} {"May"}
-MACRO {jun} {"Jun."}
-MACRO {jul} {"Jul."}
-MACRO {aug} {"Aug."}
-MACRO {sep} {"Sep."}
-MACRO {oct} {"Oct."}
-MACRO {nov} {"Nov."}
-MACRO {dec} {"Dec."}
-
-
-FUNCTION {is.num}
-{ chr.to.int$
-  duplicate$ "0" chr.to.int$ < not
-  swap$ "9" chr.to.int$ > not and
-}
-FUNCTION {str.to.int}
-{ duplicate$ is.num
-    {chr.to.int$ #48 -}
-    'skip$
-  if$
-}
-FUNCTION {bibinfo.check} %usage: field "field" bibinfo.check
-{ swap$ duplicate$ missing$
-    {pop$ pop$ ""}
-    { duplicate$ empty$
-        {swap$ pop$}
-        {swap$ pop$}
-      if$
-    }
-  if$
-}
-FUNCTION {bibinfo.warn}
-{ swap$
-  duplicate$ missing$
-    {swap$ "faltando " swap$ * " em " * cite$ * warning$ pop$ ""}
-    { duplicate$ empty$
-        {swap$ "vazio " swap$ * " em " * cite$ * warning$}
-        {swap$ pop$}
-      if$
-    }
-  if$
-}
-
-FUNCTION {write.field.verbatim}
-{
-duplicate$ missing$
-  {pop$ pop$} 
-  {
-  s text.length$ #0 >
-    {s "," * newline$ write$ "" 's :=}
-    'skip$
-  if$
-  swap$
-  "={" * swap$ * "}" *
-  s swap$ * 's :=
-  }
-if$
-}
-
-FUNCTION {write.entry.verbatim1}
-{
-   "address" 		address  		write.field.verbatim
-   "author" 		author   		write.field.verbatim
-   "booktitle" 		booktitle 		write.field.verbatim
-   "booksubtitle" 	booksubtitle 		write.field.verbatim
-   "chapter" 		chapter 		write.field.verbatim
-   "conference-number" 	conference-number 	write.field.verbatim
-   "conference-year" 	conference-year 	write.field.verbatim
-   "conference-location" conference-location 	write.field.verbatim
-   "edition" 		edition 		write.field.verbatim
-   "editor" 		editor 			write.field.verbatim
-   "editortype" 	editortype 		write.field.verbatim
-   "dimensions" 	dimensions 		write.field.verbatim
-   "furtherresp" 	furtherresp 		write.field.verbatim
-   "howpublished" 	howpublished 		write.field.verbatim
-   "illustrated" 	illustrated  		write.field.verbatim
-   "institution" 	institution 		write.field.verbatim
-   "isbn" 		isbn 			write.field.verbatim
-   "issn" 		issn 			write.field.verbatim
-   "journal" 		journal 		write.field.verbatim
-}
-FUNCTION {write.entry.verbatim2}
-{
-   "key" 		key 			write.field.verbatim
-   "month" 		month 			write.field.verbatim
-   "note" 		note 			write.field.verbatim
-   "marginnote" 	marginnote 		write.field.verbatim
-   "number" 		number 			write.field.verbatim
-   "organization" 	organization 		write.field.verbatim
-   "org-short" 		org-short 		write.field.verbatim
-   "pages" 		pages 			write.field.verbatim
-   "pagename" 		pagename 		write.field.verbatim
-   "publisher" 		publisher 		write.field.verbatim
-   "reprinted-from" 	reprinted-from 		write.field.verbatim
-   "reprinted-text" 	reprinted-text 		write.field.verbatim
-   "school" 		school 			write.field.verbatim
-   "series" 		series 			write.field.verbatim
-   "subtitle" 		subtitle 		write.field.verbatim
-   "section" 		section 		write.field.verbatim
-   "title" 		title 			write.field.verbatim
-   "type" 		type 			write.field.verbatim
-}
-FUNCTION {write.entry.verbatim3}
-{
-   "url" 		url 			write.field.verbatim
-   "urlaccessdate" 	urlaccessdate 		write.field.verbatim
-   "volume" 		volume 			write.field.verbatim
-   "year" 		year 			write.field.verbatim
-   "abnt-emphasize" 	abnt-emphasize 		write.field.verbatim
-   "abnt-experimental" 	abnt-experimental 	write.field.verbatim
-   "abnt-doi" 		abnt-doi	 	write.field.verbatim
-   "abnt-dont-use-etal" abnt-dont-use-etal 	write.field.verbatim
-   "abnt-full-initials" abnt-full-initials 	write.field.verbatim
-   "abnt-ldots-type" 	abnt-ldots-type 	write.field.verbatim
-   "abnt-missing-year" 	abnt-missing-year 	write.field.verbatim
-   "abnt-cite-style" 	abnt-cite-style 		write.field.verbatim
-   "abnt-no-etal-label" abnt-no-etal-label 	write.field.verbatim
-   %abnt-note
-   "abnt-repeated-author-omit" abnt-repeated-author-omit write.field.verbatim
-   "abnt-repeated-title-omit" abnt-repeated-title-omit write.field.verbatim
-   "abnt-show-options" 	abnt-show-options 	write.field.verbatim
-   "abnt-refinfo" 	abnt-refinfo 		write.field.verbatim
-   "abnt-thesis-year" 	abnt-thesis-year 	write.field.verbatim
-   "abnt-title-command" abnt-title-command 	write.field.verbatim
-   "abnt-url-package" 	abnt-url-package 	write.field.verbatim
-   "abnt-verbatim-entry" abnt-verbatim-entry 	write.field.verbatim
-}
-
-FUNCTION {write.entry.verbatim}
-{"" 's := "" 't :=
-  abnt.verbatim.entry
-  {"{\footnotesize\begin{verbatim}" newline$ write$
-   "@" type$ * "{" * cite$ * 's :=
-   write.entry.verbatim1
-   write.entry.verbatim2
-   write.entry.verbatim3
-   s "" = {"}"} {s "}" *} if$
-   newline$ write$
-   "\end{verbatim}}" newline$ write$}
-  {newline$}
-if$}
-
-STRINGS  { bibinfo}
-INTEGERS { nameptr namesleft numnames }
-
-FUNCTION {get.person} {"{vv }{ll}{, jj}{, ff}" format.name$}
-FUNCTION {get.last.name} {#1 "{ll}" format.name$}
-FUNCTION {get.first.name} {#1 "{ff}" format.name$}
-FUNCTION {get.von} {#1 "{vv}" format.name$}
-FUNCTION {get.jr} {#1 "{jj}" format.name$}
-FUNCTION {is.composed.von}
-  {get.person
-   get.von duplicate$ empty$ {pop$ #0}
-     {duplicate$
-      get.first.name empty$ not
-      swap$ get.last.name empty$ not and
-      } if$
-   }
-
-FUNCTION {recompose.name}
-  {get.person duplicate$ duplicate$ duplicate$
-   get.von #1 "{ll }" format.name$ swap$
-   get.last.name *
-   swap$ #1 "{, ff}" format.name$ *
-   swap$ get.von #1 "{ ff}" format.name$ *
-   }
-
-
-FUNCTION {format.single.name}
-{
-s nameptr get.person 'r :=
-abnt.last.names
-  {r #1 "{ll}{ jj}" format.name$ "u" change.case$
-   abnt.full.initials
-    {r #1 "{, ff}{ vv}" format.name$ *}
-    {r #1 "{, f.}{ vv}" format.name$ *}
-  if$}
-  {%r #1 is.composed.von {r #1 recompose.name 'r :=} 'skip$ if$
-   r #1 "{ll}" format.name$
-   #1 "{ll}" format.name$
-   r #1 "{ jj}" format.name$ * "u" change.case$
-   abnt.full.initials
-    {r #1 "{, ff}{ vv}" format.name$ *
-     r #1 "{ll}" format.name$
-     #1 "{ ff}{ vv}" format.name$ *}
-    {iso.author.punctuation
-      {r #1 "{, f{}}{ vv}" format.name$ *}
-      {r #1 "{, f.}{ vv}" format.name$ *} if$
-     r #1 "{ll}" format.name$
-     #1 "{ f.}{ vv}" format.name$ *}
-  if$}
-
-if$
-}
-FUNCTION {format.names}
-{ 'bibinfo :=  duplicate$ empty$ 'skip$
-  {'s :=
-   "" 't :=
-   #1 'nameptr :=  s num.names$ 'numnames :=
-    numnames 'namesleft :=
-    { namesleft #0 > }
-    { format.single.name
-      bibinfo bibinfo.check
-      't :=
-      nameptr #1 >
-        {nameptr #1 #1 + = numnames abnt.etal.list > and
-            {abnt.etal.list {"others" 't := #1 'namesleft :=} 'skip$ if$ }
-            'skip$
-          if$
-          namesleft #1 >
-            { "; " * t * }
-            { numnames #2 >
-                { "" * }
-                'skip$
-              if$
-              s nameptr "{ll}" format.name$ duplicate$ "others" =
-                { 't := }
-                { pop$ }
-              if$
-              t "others" =
-                { bbl.etal *}
-                { "; " * t *}
-              if$ }
-          if$ }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft := }
-  while$
-  } if$
-}
-
-%from plain.bst
-FUNCTION {format.names.plain}
-{ 's :=
-  #1 'nameptr :=
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ 't :=
-      nameptr #1 >
-	{ namesleft #1 >
-	    { ", " * t * }
-	    { numnames #20 >
-		{ "," * }
-		'skip$
-	      if$
-	      t "others" =
-		{ bbl.etal * }
-		{ bbl.and * t * }
-	      if$
-	    }
-	  if$
-	}
-	't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-FUNCTION {format.names.ed} {format.names}
-
-FUNCTION {format.authors}
-{
-author "author" format.names
-}
-
-FUNCTION {format.authors.plain}
-{
-author format.names.plain
-}
-
-FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
-
-
-FUNCTION {format.book.pages}
-{ pages "pages" bibinfo.check  duplicate$ empty$
-    'skip$
-    {  "~" * bbl.pages * }
-  if$
-}
-FUNCTION {format.dimensions}
-{ dimensions empty$
-    'skip$
-    { dimensions output}
-  if$
-}
-FUNCTION {format.furtherresp}
-{ furtherresp empty$
-    'skip$
-    { furtherresp output}
-  if$
-}
-FUNCTION {format.illustrated}
-{ illustrated missing$
-    'skip$
-    {illustrated empty$
-      {"il." output}
-      {illustrated output}
-     if$}
-  if$
-}
-FUNCTION {format.isbn}
-{ isbn "isbn" bibinfo.check duplicate$ empty$ 
-    'skip$
-    {new.block "ISBN " swap$ *}
-  if$
-}
-
-FUNCTION {format.issn}
-{ issn "issn" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {new.block "ISSN " swap$ *}
-  if$
-}
-
-FUNCTION {format.note}
-{ note empty$
-    { "" }
-    { note #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$ }
-      if$
-      note #2 global.max$ substring$ * "note" bibinfo.check }
-  if$
-}
-
-FUNCTION {format.howpublished}
-{ howpublished empty$
-    { "" }
-    { howpublished #1 #1 substring$
-      duplicate$ "{" =
-        'skip$
-        { output.state mid.sentence =
-          { "l" }
-          { "u" }
-        if$
-        change.case$ }
-      if$
-      howpublished #2 global.max$ substring$ * "howpublished" bibinfo.check }
-  if$
-}
-
-
-%ABNT styles require that the title acts as an author if
-%typical author fields are absent. In this case the first
-%word is uppercase. Our main problem is to establish what
-%the first word actually is since portuguese uses accents.
-%For example: Fun{\c c}\ão (Função) is a whole word but contains a
-%space, but if we write Fun\c{c}\ão \c is converted to uppercase...
-%You get the problem, don't you?
-FUNCTION {format.title.as.author}
-{ 's := %holds the title
-  #1 'title.pos := %our position in the title
-  #1 'first.word := %boolean, true if we already have the first word
-  #1 'no.bracket := %boolean, false if we are inside a {}
-  "" 't := %holds the first title.pos characters of the title
-  {first.word}
-    {s title.pos #1 substring$ 'title.char :=
-      %checks if the character is a {
-      title.char "{" = {#0 'no.bracket :=} 'skip$ if$
-      %if we are in a bracket
-      no.bracket 'skip$ {title.char "}" = {#1 'no.bracket :=} 'skip$ if$}  if$
-      type$ "journalpart" =
-        {title.char "." = title.char ":" = or title.char "!" = or
-	 title.char "," = or title.char ";" = or title.char "?" = or}
-	{title.char " " =}
-      if$ s t = or no.bracket and
-       {#0 'first.word :=
-       t title.char * "u" change.case$
-       title.pos #1 + 'title.pos :=
-       s title.pos global.max$ substring$ * 's :=}
-       {title.pos #1 + 'title.pos := t title.char * 't :=}
-     if$
-     }
-  while$
-s
-}
-
-
-%compares current title with the title of the previous entry
-FUNCTION {compare.title}
-{abnt.repeated.title.omit
-  {duplicate$ "" = 'skip$
-    {duplicate$ previous.title = repeated.author and
-      {duplicate$ 'previous.title := pop$ bbl.same.field}
-      {duplicate$ 'previous.title :=}
-     if$}
-   if$}
- 'skip$
- if$
-}
-
-FUNCTION {apply.title.command}
-{abnt.title.command
-  {duplicate$ empty$ 'skip$
-    {"\bibtextitlecommand{" type$ * "}{" * swap$ * "}" *}
-    if$}
-  'skip$ if$
-}
-
-FUNCTION {format.title}
-{author empty$ editor empty$ and organization empty$ and
-  {title format.title.as.author}
-  {title  duplicate$ empty$ {pop$ ""} {"t" change.case$} if$}
- if$
- subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$
- apply.title.command
- compare.title
-}
-
-FUNCTION {n.dashify}
-{
-  't :=
-  ""
-    { t empty$ not }
-    { t #1 #1 substring$ "-" =
-        { t #1 #2 substring$ "--" = not
-            { "--" *
-              t #2 global.max$ substring$ 't :=
-            }
-            {   { t #1 #1 substring$ "-" = }
-                { "-" *
-                  t #2 global.max$ substring$ 't :=
-                }
-              while$
-            }
-          if$
-        }
-        { t #1 #1 substring$ *
-          t #2 global.max$ substring$ 't :=
-        }
-      if$
-    }
-  while$
-}
-
-FUNCTION {word.in} { bbl.in " " * }
-
-FUNCTION {format.month}
-{ month empty$ 'skip$
-  {month "month" bibinfo.check}
-  if$
-}
-
-FUNCTION {format.date}
-{ year empty$
-    { month empty$
-	{ bbl.missing.year }
-	{ "existe o campo month (mês) mas não o campo year (ano) em " cite$ * warning$ month}
-      if$}
-    { month empty$
-	{ year n.dashify}
-	{ month " " * year * }
-      if$}
-  if$
-}
-FUNCTION {format.btitle}
-{author empty$ editor empty$ and organization empty$ and
-    {title format.title.as.author "title" bibinfo.check duplicate$ empty$ 'skip$ {} if$
-    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
-    {title "title" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
-    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
-if$
-apply.title.command
-compare.title
-}
-FUNCTION {either.or.check}
-{ empty$
-    'pop$
-    { "não posso usar ambos " swap$ * " os campos em " * cite$ * warning$ }
-  if$
-}
-
-FUNCTION {format.volume} %leaves formatted or empty volume on the stack
-{volume duplicate$ empty$
-   'skip$
-   {volume #1 #1 substring$ is.num
-      {bbl.volume swap$ tie.or.space.prefix * *}
-      'skip$
-    if$}
- if$
-}
-
-FUNCTION {format.number} %leaves formatted or empty number on the stack
-{ number duplicate$ empty$
-    'skip$
-    {bbl.number swap$ tie.or.space.prefix * *}
-  if$
-}
-
-FUNCTION {format.patent.number}
-{ number
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
-    { "" }
-    { format.volume
-      number empty$ 'skip$ {output format.number} if$
-      series "series" bibinfo.check
-      duplicate$ empty$ 'pop$
-        { swap$ bbl.of space.word * swap$
-          emphasize * }
-      if$
-    }
-  if$
-}
-
-FUNCTION {format.bvolume.if.no.series}
-{ series empty$
-    { format.bvolume }
-    { "" }
-  if$
-}
-
-
-FUNCTION {format.number.or.volume}
-{number empty$
-  {format.volume}
-  {number} %we use the pure number here without leading "n."
- if$
-}
-
-FUNCTION {format.volume.and.number}
-{format.volume output
- format.number
-}
-
-FUNCTION {format.volume.number.series}
-{ number empty$ volume empty$ and
-  { series empty$
-    { "" }
-    {" (" series "series" bibinfo.check * ")" *}
-    if$}
-  { series empty$
-    {""} %{ format.number.or.volume }
-    { " ("  series "series" bibinfo.check * ", " *
-     format.number.or.volume * ")" *  }
-     if$ }
-  if$
-}
-
-FUNCTION {extract.num}
-{ duplicate$ 't :=
-  "" 's :=
-  { t empty$ not }
-  { t #1 #1 substring$
-    t #2 global.max$ substring$ 't :=
-    duplicate$ is.num
-      { s swap$ * 's := }
-      { pop$ "" 't := }
-    if$ }
-  while$
-  s empty$
-    'skip$
-    { pop$ s }
-  if$
-}
- 
-FUNCTION {format.edition}
-{ edition duplicate$ empty$ 'skip$
-    {output.state mid.sentence = { "l" } { "t" } if$ change.case$
-      "edition" bibinfo.check
-    edition #1 #1 substring$ is.num {". " * bbl.edition * } 'skip$ if$}
-  if$
-}
-INTEGERS { multiresult }
-FUNCTION {multi.page.check}
-{ 't :=
-  #0 'multiresult :=
-    { multiresult not
-      t empty$ not
-      and }
-    { t #1 #1 substring$
-      duplicate$ "-" =
-      swap$ duplicate$ "," =
-      swap$ "+" =
-      or or
-        { #1 'multiresult := }
-        { t #2 global.max$ substring$ 't := }
-      if$ }
-  while$
-  multiresult
-}
-FUNCTION {format.pages}
-{ pages duplicate$ empty$ 'skip$
-    { duplicate$ multi.page.check
-        { n.dashify bbl.pages swap$}
-        { bbl.page swap$ }
-      if$
-      tie.or.space.prefix "pages" bibinfo.check * * }
-  if$
-}
-FUNCTION {format.journal.pages}
-{ pages empty$ {""}
-    { pages n.dashify bbl.pages
-          swap$ tie.or.space.prefix "pages" bibinfo.check * *}
-  if$
-}
-
-FUNCTION {get.url.type}
-{s #1 #5 substring$ "http:" = {http.url}
- {s #1 #6 substring$ "https:" = {http.url}
-  {s #1 #5 substring$ "file:" = {file.url}
-   {s #1 #4 substring$ "ftp:"  = {ftp.url}
-    {s #1 #4 substring$ "doi:"  = {doi.url}
-     {s #1 #7 substring$ "mailto:" = {mailto.url} {unknown.url} if$}
-      if$}
-     if$}
-    if$}
-   if$}
-  if$
- 'url.type :=
-}
-
-FUNCTION {expand.doi}
-{s
-url.type doi.url =
-  {#5 global.max$ substring$ bbl.doi.url swap$ *}
-  'skip$ if$
-}
-
-INTEGERS {url.pos url.length}
-FUNCTION {filter.url.tex}
-{s text.length$ #1 + 'url.length :=
- #1 'url.pos := "" 't :=
-  {url.pos url.length <}
-    {s url.pos #1 substring$
-    duplicate$ "_" = {pop$ "\underline{\ }" } 'skip$ if$
-    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
-    duplicate$ "&" = {pop$ "\&" } 'skip$ if$
-    duplicate$ "~" = {pop$ "\~{}" } 'skip$ if$
-    duplicate$ "/" = {pop$ "\-/" } 'skip$ if$
-    duplicate$ "." = {pop$ "\-." } 'skip$ if$
-    duplicate$ "\" = {pop$ "{\textbackslash}" } 'skip$ if$
-    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
-    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
-    t swap$ * 't :=
-    url.pos #1 + 'url.pos :=
-    }
-  while$
-t
-}
-FUNCTION {filter.url.html}
-{s text.length$ #1 + 'url.length :=
- #1 'url.pos := "" 't :=
-  {url.pos url.length <}
-    {s url.pos #1 substring$
-    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
-    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
-    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
-    t swap$ * 't :=
-    url.pos #1 + 'url.pos :=
-    }
-  while$
-t
-}
-
-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$
-}
-FUNCTION {format.url}
-{ url empty$ 'skip$
-    {url compose.url output new.sentence }
-  if$
- urlaccessdate duplicate$ empty$ 'skip$
-    { bbl.url.accessdate swap$ *}
-  if$
-  "urlaccessdate" bibinfo.check output new.sentence
-}
-
-FUNCTION {format.conference.info}
-{ conference-number empty$
-    'skip$
-    {conference-number "." * output}
-  if$
-  conference-year empty$
-    'skip$
-    {conference-year output}
-  if$
-  conference-location empty$
-    'skip$
-    {conference-location output}
-  if$
-  new.sentence
-}
-
-
-FUNCTION {format.chapter.pages}
-{ chapter empty$
-    'format.pages
-    { type empty$
-        { bbl.chapter }
-        { type "l" change.case$
-          "type" bibinfo.check }
-      if$
-      chapter tie.or.space.prefix "chapter" bibinfo.check * *
-      pages empty$
-        'skip$
-        { ", " * format.pages * }
-      if$ }
-  if$
-}
-
-FUNCTION {format.booktitle}
-{author empty$ editor empty$ and organization empty$ and
-    {booktitle format.title.as.author "booktitle" bibinfo.check duplicate$ empty$ 'skip$ {} if$
-    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
-    apply.title.command} if$}
-    {booktitle "booktitle" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
-    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
-    apply.title.command} if$}
-if$
-}
-FUNCTION {format.editors}
-{ editor  empty$
-   {"inbook" type$ = 'bbl.same.field 'skip$ if$}
-   {author empty$
-    {editor "editor" format.names " (" *
-     editortype empty$ {bbl.editor} {editortype} if$
-     ")" * * }
-    {"inbook" type$ =
-      {bbl.same.field }
-      {editor "editor" format.names " (" *
-       editortype empty$ {bbl.editor} {editortype} if$
-       ")" * *}
-    if$}
-   if$}
-  if$
-}
-FUNCTION {format.in.ed.booktitle}
-{ editor empty$
-    {organization empty$ not author empty$ not and    %if one of two not empty
-      {word.in organization "u" change.case$ * output
-       format.conference.info
-       booktitle empty$ {""} {new.sentence format.booktitle} if$}
-      {word.in
-       organization empty$ author empty$ and 'skip$
-         {"inbook" type$ = {bbl.same.field * output new.sentence ""}
-         'skip$ if$  } if$
-       booktitle empty$ 'skip$ {format.booktitle *} if$}
-     if$}
-    {word.in format.editors * output
-     booktitle empty$ {""} {new.sentence format.booktitle} if$}
-  if$
-  output
-  new.sentence
-}
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
-  month empty$ year empty$ note empty$
-  and and and and and
-  key empty$ not and
-    { "todos os campos relevantes estão vazios ou faltando em " cite$ * warning$ }
-    'skip$
-  if$
-}
-FUNCTION {format.type}
-{ type "type" bibinfo.check
-  duplicate$ empty$ 'skip$
-    {new.block "" swap$ * }
-  if$
-}
-
-
-FUNCTION {format.year}
-{year empty$
-   { "campo year vazio ou faltando em " cite$ *
-    abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
-    abnt.missing.year {", " } {""} if$ bbl.missing.year *}
-    {year n.dashify "year" bibinfo.check}
-if$
-}
-
-FUNCTION {format.year.presented}
-{year-presented empty$
-   {""}
-   {year-presented n.dashify}
-if$
-}
-
-FUNCTION {format.field.address}
-{ 't :=
-  address empty$ organization empty$ and url empty$ and t empty$ and
-    {bbl.no.address.no.publisher}
-    {address empty$
-      %if an url is present we don't give a missing address "[s.l.]" notice
-      {url empty$  {bbl.no.address ": "} {"" ""} if$}
-      {address ": "}
-    if$
-    t empty$
-      {%if an organization is present then it is OK not to have a publisher
-       organization empty$ {* bbl.no.publisher * } 'pop$ if$}
-      {* t * }
-     if$}
-  if$
-}
-
-FUNCTION {format.address}
-{address empty$
-  { bbl.no.address}
-  { address}
- if$
-}
-
-FUNCTION {format.publisher.address}
-{ publisher "publisher" bibinfo.check format.field.address}
-
-FUNCTION {format.publisher.address.relax}
-{publisher empty$ address empty$ and {""}
- {publisher "publisher" bibinfo.check format.field.address}
-if$}
-
-FUNCTION {format.organization.address}
-{ organization "organization" bibinfo.check format.field.address}
-
-%retains current authorship for future use
-FUNCTION {compare.authorship}
-{abnt.repeated.author.omit
-  {duplicate$ "" = 'skip$
-    {duplicate$ previous.author =
-      {duplicate$ 'previous.author :=
-       pop$ bbl.same.field
-       #1 'repeated.author :=}
-      {duplicate$ 'previous.author :=
-       #0 'repeated.author :=}
-     if$}
-   if$}
- 'skip$
- if$
-}
-
-FUNCTION {format.author.or.organization}
-{  author empty$
-    { organization empty$ 'skip$
-      { organization "u" change.case$ "organization"  bibinfo.check output}
-      if$}
-    { format.authors output.nonnull }
-  if$
-  compare.authorship
-}
-
-
-FUNCTION {format.editor.or.organization}
-{  editor empty$
-    { organization empty$ 'skip$
-      { organization "u" change.case$ "organization"  bibinfo.check output}
-      if$}
-    { format.editors output.nonnull }
-  if$
-  compare.authorship
-}
-
-FUNCTION {format.author.or.editor.or.organization}
-{ author empty$
-    { editor empty$
-        { organization empty$
-	    'skip$
-            { organization "u" change.case$ "organization"  bibinfo.check output}
-          if$}
-        { format.editors output.nonnull }
-      if$}
-    { format.authors output.nonnull }
-  if$
-  compare.authorship
-}
-
-FUNCTION {format.reprint}
-{ reprinted-text missing$
-    {""}
-    {reprinted-text empty$
-      {bbl.reprint} {reprinted-text} if$
-     bbl.colon *}
-  if$
-}
-
-FUNCTION {format.journal}
-{
-  format.reprint
-  journal emphasize *
-}
-
-
-%generates the first label in \abntrefinfo to be used with \citeonline
-FUNCTION {format.names.for.label1} %abnt-alf only
-{ 's := "" 't :=
-   #1 'nameptr :=  s num.names$ 'numnames :=
-    numnames 'namesleft :=
-    { namesleft #0 > }
-    {abnt.last.names
-       {s nameptr "{ll}{ jj}" format.name$}
-       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
-        s nameptr "{ jj}" format.name$ *}
-     if$
-     't :=
-      nameptr #1 >
-        {namesleft #1 >
-          { numnames abnt.etal.cite > abnt.etal.cite #0 = not and
-	    {#0 'namesleft := abnt.etal.cite {bbl.etal *} 'skip$ if$}
-	    {", " * t * } if$ }
-            { t "others" =
-              {abnt.etal.cite {bbl.etal *} 'skip$ if$}
-                {numnames nameptr =
-                {bbl.and * t *}
-		'skip$ if$}
-             if$
-	     }
-          if$ }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft := }
-  while$
-}
-
-%generates the second label in \abntrefinfo to be used with \cite
-FUNCTION {format.names.for.label2} %abnt-alf only
-{ 's := "" 't :=
-   #1 'nameptr :=  s num.names$ 'numnames :=
-    numnames 'namesleft :=
-    { namesleft #0 > }
-    {abnt.last.names
-       {s nameptr "{ll}{ jj}" format.name$}
-       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
-        s nameptr "{ jj}" format.name$ *}
-     if$
-     abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ 't :=
-      nameptr #1 >
-        {namesleft #1 >
-            { numnames abnt.etal.cite > 
-	      {#0 'namesleft := abnt.etal.cite {bbl.etal *} 'skip$ if$} 
-	      {"; " * t * } if$ }
-            { t "OTHERS" = t "others" = or
-	      {abnt.etal.cite {bbl.etal *} 'skip$ if$}
-	      {numnames nameptr = { bbl.semicolon * t *} 'skip$ if$}
-             if$
-	     }
-          if$ }
-        't
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft := }
-  while$
-}
-
-FUNCTION {format.title.for.label}
-{  's :=
-  #1 'title.pos :=   #1 'first.word :=
-  "" 't :=
-  {first.word}
-    {s title.pos #1 substring$ 'title.char :=
-        title.char "." = title.char ":" = or title.char ";" = or
-	title.char "," = or title.char " " = or s t = or
-       {#0 'first.word :=
-       title.pos #1 + 'title.pos :=}
-       {title.pos #1 + 'title.pos := t title.char * 't :=}
-     if$
-     }
-  while$
-s t = %title equals first word, dont use bbl.ldots
-  {t  "}{" * t
-  abnt.cite.style #0 = {"u" change.case$ * } 'skip$ if$}
-  {t bbl.ldots * "}{" * t
-  abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ * bbl.ldots *}
-if$
-}
-
-%cvs keys have the general form $key: value $
-INTEGERS {key.pos value.pos}
-FUNCTION {extract.cvs.key} %we borrow the functionality of format.title.for.label
-{ 's := %holds the entire cvs string
-  #1 'key.pos :=
-  #0 'value.pos := %0= between first $ and :, 1=between : and second $, 2= at the end
-  "" 't := %holds the resulting value
-  {value.pos #0 = value.pos #1 = or}
-    { s key.pos #1 substring$ 'title.char :=
-      value.pos #0 =
-      { title.char ":" = {#1 'value.pos := key.pos #1 + 'key.pos :=} 'skip$ if$}
-      { title.char "$" =
-        {#2 'value.pos :=}
-        {t title.char * 't :=}
-	if$}
-     if$
-     key.pos #1 + 'key.pos :=
-     }
-  while$
-  t
-}
-
-%generates and extended label of type {Author}{AUTHOR}{YEAR}
-%for abnt.cite.style=1 they will be of type {Author}{Author}{YEAR}
-%final result is placed into variable label
-FUNCTION {calc.extended.label}
-{ "{"
-  author empty$ not
-    {author format.names.for.label1 * "}{" * author format.names.for.label2 *}
-    {editor empty$ not
-     {editor format.names.for.label1 * "}{" *  editor format.names.for.label2 *}
-     {org-short empty$ not
-      {org-short * "}{" * org-short "u" change.case$ *}
-      {organization empty$ not
-       {organization * "}{" * organization "u" change.case$ *}
-        {title empty$ not
-         {title format.title.for.label *}
-         {"nada}{NADA" *}
-       if$}
-      if$}
-     if$}
-    if$}
-   if$
- "}{" *
- year empty$ 'skip$ {year *} if$
- 'label := %place the stack into label
- % final } will be placed in reverse.pass
-}
-%generates and simple label of type "Author YEAR"
-%final result is placed onto the stack
-FUNCTION {calc.simple.label}
-{ author empty$ not
-    {author format.names.for.label1}
-    {editor empty$ not
-     {editor format.names.for.label1}
-     {organization empty$ not
-      {organization}
-      {title empty$ not
-       {title}
-       {""}
-      if$}
-     if$}
-    if$}
-   if$
- year empty$ 'skip$ {" " * year *} if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
-  abnt.alf
-    {"\bibitem[" write$
-    calc.simple.label
-    write$ "]{"}
-    {"\bibitem{"}
-  if$
-  write$ cite$ write$ "}" write$ newline$
-  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
-  "{" write$
-  "" before.all 'output.state :=
-}
-FUNCTION {output.hiddenbibitem}
-{ newline$
-  abnt.alf
-    {"\hiddenbibitem[" write$
-    calc.simple.label
-    write$ "]{"}
-    {"\bibitem{"}
-  if$
-  write$ cite$ write$ "}" write$ newline$
-  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
-  "{" write$
-  "" before.all 'output.state :=
-}
-FUNCTION {fin.entry}
-{ add.period$ write$
-  reprinted-from empty$ 'skip$
-    {" " reprinted-text empty$
-      {bbl.reprint} {reprinted-text} if$ * bbl.colon *
-     "\abntreprintinfo{ " * reprinted-from * "}" * write$}
-    if$
-  abnt-note empty$ 'skip$
-    {"\footnote{" abnt-note * "}" * write$} if$
-  "}" write$
-  %newline$
-  write.entry.verbatim
-}
-
-FUNCTION { abnt.display.options}
-{ 's := 't :=
-  abnt.show.options #1 = % "warn"
-  {"opção " t * " passou para " * s * warning$ } 'skip$ if$
-
-  abnt.show.options #2 = % "list"
-  {"Op\c c\~ao selecionada {\tt " t * "=}\verb+" * s * "+" * output new.sentence } 'skip$ if$
-}
-
-FUNCTION { abnt-options1 }
-  {
-    abnt-show-options empty$
-    'skip$
-      {abnt-show-options "no" =
-        {#0} {abnt-show-options "warn" =
-           {#1} {abnt-show-options "list" =
-             {#2 } {#0 } if$} if$} if$
-      'abnt.show.options :=} % #0 "no"; #1 "warn"; #2 "list"
-    if$
-
-    abnt.show.options #2 =
-    {output.bibitem "Mudan\c ca de estilo ap\'os este ponto com o comando \verb!\citeoption{"
-    cite$ * "}! " *
-    output new.sentence} 'skip$ if$
-
-    abnt-show-options empty$
-    'skip$ {"abnt-show-options" abnt-show-options abnt.display.options} if$
-
-    abnt-cite-style empty$
-      'skip$
-      {abnt-cite-style "(AUTHOR, YEAR)" =
-        {#0 'abnt.cite.style :=}
-	{abnt-cite-style "(Author, YEAR)" =
-	  {#1 'abnt.cite.style :=}
-	  {"opção " abnt-cite-style * " desconhecida" * warning$}
-	 if$}
-        if$
-       "abnt-cite-style" abnt-cite-style abnt.display.options}if$
-
-    abnt-experimental empty$
-    'skip$ {abnt-experimental "yes" = 'abnt.experimental :=
-    "abnt-experimental" abnt-experimental abnt.display.options} if$
-
-    abnt-emphasize duplicate$ empty$
-    'pop$ {'abnt.emphasize :=
-    "abnt-emphasize" abnt.emphasize abnt.display.options
-    abnt-emphasize "\bf" = abnt-emphasize "\it" = or abnt-emphasize "\em" = or
-    abnt-emphasize "\bfseries" = or
-      {"não use " abnt-emphasize * " para abnt-emphasize em " * cite$ *
-      ", isto alterará TODO o texto. Use \textbf ou \emph. Veja a documentação abnt-bibtex-doc para mais detalhes." * warning$}
-    'skip$ if$
-    } if$
-
-    abnt-doi empty$
-      'skip$
-      {abnt-doi "expand" =
-        {abnt.doi.expand.to.url 'abnt.doi :=}
-	{abnt-doi "link" =
-	  {abnt.doi.link 'abnt.doi :=}
-	  {abnt-doi "doi" =
-	    {abnt.doi.leave.as.is 'abnt.doi :=}
-	    {"opção " abnt-doi * " desconhecida" * warning$}
-	   if$}
-	 if$}
-        if$
-       "abnt-doi" abnt-doi abnt.display.options}if$
- }
-FUNCTION { abnt-options2 }
-  {
-    abnt-full-initials empty$
-    'skip$ {abnt-full-initials "yes" = 'abnt.full.initials :=
-    "abnt-full-initials" abnt-full-initials abnt.display.options} if$
-
-    abnt-last-names empty$
-      'skip$
-      {abnt-last-names "abnt" =   {#0}
-        {abnt-last-names "bibtex" = {#1} {#0} if$} if$
-       'abnt.last.names :=
-       "abnt-last-names" abnt-last-names abnt.display.options}
-    if$
-
-
-    abnt-ldots-type empty$
-      'skip$
-      {abnt-ldots-type "none" =   {#0}
-        {abnt-ldots-type "normal" = {#1}
-          {abnt-ldots-type "math" =   {#2}
-            {abnt-ldots-type "text" =   {#1} {#0}
-	    if$} if$} if$} if$
-       'abnt.ldots.type :=
-       "abnt-ldots-type" abnt-ldots-type abnt.display.options}
-    if$
-
-    abnt-missing-year empty$
-      'skip$
-      {abnt-missing-year "void" = {#0}
-	{abnt-missing-year "sd" = {#1} {#0} if$}
-       if$
-       'abnt.missing.year :=
-       "abnt-missing-year" abnt-missing-year abnt.display.options}
-    if$
-
-
-    abnt-and-type empty$
-    'skip$ {abnt-and-type "and" =
-              {#0} {abnt-and-type "&" =
-                {#1} {#0} if$} if$
-            'abnt.and.type :=
-      "abnt-and-type" abnt-and-type abnt.display.options}
-    if$
-    
-    abnt-thesis-year empty$
-    'skip$ {abnt-thesis-year "final" =
-              {#0} {abnt-thesis-year "title" =
-                {#1} {abnt-thesis-year "both" =
-                  {#2} {#0} if$} if$} if$
-            'abnt.thesis.year :=
-      "abnt-thesis-year" abnt-thesis-year abnt.display.options}
-    if$
-
-    abnt-refinfo empty$
-    'skip$ {abnt-refinfo "yes" = 'abnt.refinfo :=
-    "abnt-refinfo" abnt-refinfo abnt.display.options} if$
-}
-FUNCTION { abnt-options3 }
-  {
-
-    abnt-dont-use-etal empty$
-    'skip$ {abnt-dont-use-etal "yes" = {#0 'abnt.etal.list :=} 'skip$ if$
-    "Uso da opção abnt-dont-use-etal se tornou obsoleto, usamos abnt-etal-list." warning$
-    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
-
-    abnt-etal-cite empty$
-    'skip$ {abnt-etal-cite str.to.int 'abnt.etal.cite :=
-    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
-
-    abnt-etal-list empty$
-    'skip$ {abnt-etal-list str.to.int 'abnt.etal.list :=
-    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
-
-    abnt-etal-text missing$
-    'skip$ {abnt-etal-text  'abnt.etal.text :=
-    "abnt-etal-text" abnt.etal.text abnt.display.options} if$
-
-    abnt-no-etal-label empty$
-    'skip$ {abnt-no-etal-label "yes" = {#0 'abnt.etal.cite :=} 'skip$ if$
-    "Uso da opção abnt-no-etal-label se tornou obsoleto, usamos abnt-etal-cite." warning$
-    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
-
-    abnt-repeated-author-omit empty$
-    'skip$ {abnt-repeated-author-omit "yes" =
-            {#1 'abnt.repeated.author.omit :=}
-	    {#0 'abnt.repeated.author.omit := "" 'previous.author :=} if$
-    "abnt-repeated-author-omit" abnt-repeated-author-omit abnt.display.options} if$
-
-    abnt-repeated-title-omit empty$ 'skip$
-      {abnt-repeated-title-omit "yes" =
-        {#1 'abnt.repeated.title.omit :=}
-	{#0 'abnt.repeated.title.omit := "" 'previous.title :=} if$
-        "abnt-repeated-title-omit" abnt-repeated-title-omit abnt.display.options
-        abnt.repeated.author.omit not abnt.repeated.title.omit and
-          {"Use abnt-repeated-title-omit=yes junto com abnt-repeated-author-omit=yes"
-          warning$} 'skip$ if$} if$
-
-    abnt-title-command empty$
-    'skip$ {abnt-title-command "yes" =
-            {#1 'abnt.title.command :=}
-	    {#0 'abnt.title.command :=} if$
-    "abnt-title-command" abnt-title-command abnt.display.options} if$
-
-    abnt-url-package empty$ 'skip$
-      {abnt-url-package "url" =
-         {#1 'abnt.url.package :=}
-         {abnt-url-package "hyperref" = {#2 'abnt.url.package :=} 'skip$ if$}
-       if$
-       "abnt-url-package" abnt-url-package abnt.display.options}
-     if$
-
-    abnt-verbatim-entry empty$
-    'skip$ {abnt-verbatim-entry "yes" = 'abnt.verbatim.entry :=
-    "abnt-verbatim-entry" abnt-verbatim-entry abnt.display.options} if$
-  
-  abnt.show.options #2 = 'fin.entry  'skip$ if$
-  }
-
-%we had to break this function in two parts because of the following message:
-%Sorry---you've exceeded BibTeX's single function space 100
-%(That was a fatal error)
-FUNCTION { iso-options1 }
-  {
-  iso-abbreviation empty$
-    'skip$ {iso-abbreviation "standard" = 'iso.abbreviation :=
-    "iso-abbreviation" iso-abbreviation abnt.display.options} if$
-  iso-author-punctuation empty$
-    'skip$ {iso-author-punctuation "void" = 'iso.author.punctuation :=
-    "iso-author-punctuation" iso-author-punctuation abnt.display.options} if$
-  iso-date-place empty$
-    'skip$ {iso-date-place "ISO" = 'iso.date.place :=
-    "iso-date-place" iso-date-place abnt.display.options} if$
-  }
-
-FUNCTION { abnt-options }
-  {
-  abnt-options1
-  abnt-options2
-  abnt-options3
-  iso-options1
-  }
-
-FUNCTION { iso-options } { abnt-options }
-
-FUNCTION { iso.year.label }
-{  iso.date.place
-     { abnt.alf
-         {year.label output new.sentence}
-	 'skip$ if$}
-    'skip$ if$}
-
-FUNCTION { iso.date }
-{  iso.date.place
-     { abnt.alf
-	 'skip$ 
-          {year output new.sentence}
-	 if$}
-    'skip$ if$}
-
-FUNCTION { non.iso.date }
-  {iso.date.place  'skip$ {format.date output} if$}
-
-FUNCTION {article}
-{ output.bibitem
-  format.author.or.organization  new.sentence
-  iso.year.label
-  format.title "title" output.check new.block
-  format.journal output
-  iso.date.place {format.year output} 'skip$ if$
-  %iso.date.place {format.date output} 'skip$ if$
-  %iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-  %               {format.year output new.sentence} if$
-  section "section" bibinfo.check output.dash
-  publisher "publisher" bibinfo.check output
-  address "address" bibinfo.check output
-  format.volume output
-  format.number output
-  format.pages output
-  non.iso.date
-  format.issn output new.block
-  format.note output new.block
-  format.url
-  fin.entry
-}
-FUNCTION {book}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.type output new.sentence
-  format.btitle "title" output.check new.sentence
-  format.furtherresp new.sentence
-  format.edition output new.sentence
-  format.publisher.address output
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.volume output new.sentence
-  format.book.pages output
-  format.illustrated
-  format.dimensions  new.sentence
-  format.howpublished output  new.sentence
-  format.volume.number.series output new.sentence
-  format.note output
-  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
-  format.isbn output new.sentence
-  format.url
-  fin.entry
-}
-FUNCTION {booklet}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.type output new.sentence
-  format.btitle "title" output.check new.sentence
-  format.edition output new.sentence
-  address "address" bibinfo.check output
-  format.bvolume output
-  %format.date output  new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.book.pages output new.sentence
-  format.volume.number.series output new.sentence
-  format.note output
-  format.isbn output new.sentence
-  format.url
-  fin.entry
-}
-
-FUNCTION {hidden}
-{ output.hiddenbibitem
-  fin.entry}
-
-FUNCTION {inbook}
-{ output.bibitem
-  format.author.or.organization new.sentence
-  iso.year.label
-  format.title "title" output.check new.block
-  format.in.ed.booktitle
-  format.furtherresp new.sentence
-  format.edition output new.sentence
-  format.publisher.address output
-  %format.year output new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.bvolume.if.no.series output
-  format.volume.number.series output
-  format.chapter.pages output new.sentence
-  format.isbn output new.block
-  format.note output new.block
-  format.url
-  fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
-  format.author.or.organization new.sentence
-  iso.year.label
-  format.title "title" output.check new.sentence
-  format.in.ed.booktitle
-  format.edition output new.sentence
-  format.publisher.address output
-  %format.year output
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output} if$
-  format.volume.number.series output new.sentence
-  format.bvolume.if.no.series output
-  format.chapter.pages output new.sentence
-  format.isbn output new.block
-  format.note output new.block
-  format.url
-  fin.entry
-}
-FUNCTION {inproceedings}
-{ output.bibitem
-  format.author.or.organization new.sentence
-  iso.year.label
-  format.title "title" output.check  new.sentence
-  format.in.ed.booktitle
-  format.publisher.address output
-  %format.year output new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.bvolume.if.no.series output
-  format.volume.number.series output
-  format.pages output
-  format.isbn output
-  format.issn output new.sentence
-  format.note output new.sentence
-  format.url
-  fin.entry
-}
-FUNCTION {journalpart}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.type output new.sentence
-  format.btitle "title" output.check new.sentence
-  format.furtherresp new.sentence
-  format.edition output new.sentence
-  format.publisher.address output
-  format.volume output
-  format.number output
-  %format.date output new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.date output new.sentence} if$
-  format.book.pages output
-  format.illustrated
-  format.dimensions  new.sentence
-  format.note output
-  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
-  format.isbn output new.sentence
-  format.url
-  fin.entry
-}
-FUNCTION {conference} { inproceedings }
-FUNCTION {manual}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.btitle "title" output.check new.block
-  format.furtherresp new.sentence
-  format.edition output new.sentence
-  format.address output
-  %format.date output new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.bvolume.if.no.series output
-  format.book.pages output new.sentence
-  format.volume.number.series output new.sentence
-  format.note output new.sentence
-  format.url
-  fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.type output
-  format.btitle output new.sentence
-  format.furtherresp new.sentence
-  format.publisher.address.relax output
-  %format.date output  new.block
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.book.pages output new.sentence
-  format.illustrated
-  format.dimensions  new.sentence
-  format.howpublished output  new.block
-  format.volume.number.series output new.sentence
-  format.note output  new.block
-  format.url
-  fin.entry
-  empty.misc.check
-}
-
-FUNCTION {patent}
-{ output.bibitem
-  format.editor.or.organization new.sentence
-  iso.year.label
-  format.authors.plain  output new.sentence
-  format.btitle output new.sentence
-  format.furtherresp new.sentence
-  %format.date output  new.block
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.patent.number output
-  format.howpublished output  new.block
-  format.note output  new.block
-  format.url
-  fin.entry
-  empty.misc.check
-}
-
-FUNCTION {format.thesis.type}
-{ type$ "phdthesis" =
-    {bbl.phdthesis}
-    {type$ "mastersthesis" =
-       {bbl.mthesis}
-       {type$ "monography" =
-          {bbl.monography}
-	  {bbl.void}
-        if$}
-     if$}
-  if$
-  type empty$
-    {type missing$
-       {type$ "phdthesis" =
-          { " (" bbl.phd * ")" *}
-          {type$ "mastersthesis" = { " (" bbl.master * ")" *} {pop$ ""} if$}
-        if$}
-       {""}
-     if$}
-     {type$ "thesis" =
-       {type}
-       {" (" type  * ")" * "type" bibinfo.check}
-      if$}
-  if$
- * %joins first and second part of this function
-}
-FUNCTION {thesis}
-{ output.bibitem
-  format.authors "author" output.check new.block
-  iso.year.label
-  format.btitle "title" output.check new.block
-  abnt.thesis.year #1 = abnt.thesis.year #2 = or
-    {format.date "year" output.check new.sentence} 'skip$ if$
-  format.year.presented output new.sentence
-  format.book.pages output new.sentence
-  format.thesis.type output.nonnull
-  school "school" bibinfo.warn output.dash
-  address "address" bibinfo.check output
-  abnt.thesis.year #0 = abnt.thesis.year #2 = or
-    {format.date "year" output.check new.sentence} 'skip$ if$
-  format.note output new.block
-  format.url
-  fin.entry
-}
-
-FUNCTION {phdthesis}     { thesis }
-FUNCTION {mastersthesis} { thesis }
-FUNCTION {monography}    { thesis }
-
-FUNCTION {proceedings}
-{ output.bibitem
-  iso.year.label
-  format.editor.or.organization
-  format.conference.info
-  format.btitle "title" output.check
-  format.bvolume output
-  format.volume.number.series output
-  editor empty$
-    { publisher empty$
-        'skip$
-        { new.sentence format.publisher.address output format.year output}
-      if$
-    }
-    { publisher empty$
-        { new.sentence
-          format.organization.address output format.year output}
-        { new.sentence
-          organization "organization" bibinfo.check output
-          format.publisher.address output format.year output}
-      if$ }
-  if$
-  new.sentence format.book.pages output new.sentence
-  format.isbn output
-  format.issn output  new.block
-  format.note output  new.block
-  format.url
-  fin.entry
-}
-
-FUNCTION {techreport} {manual}
-
-FUNCTION {unpublished}
-{ output.bibitem
-  format.author.or.editor.or.organization new.sentence
-  iso.year.label
-  format.title "title" output.check  new.sentence
-  format.note "note" output.check  new.sentence
-  %format.date output new.sentence
-  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
-                 {format.year output new.sentence} if$
-  format.url
-  fin.entry
-}
-
-FUNCTION {default.type} { misc }
-READ
-FUNCTION {sortify}
-{ purify$
-  "l" change.case$
-}
-INTEGERS { len }
-FUNCTION {chop.word}
-{ 's :=
-  'len :=
-  s #1 len substring$ =
-    { s len #1 + global.max$ substring$ }
-    's
-  if$
-}
-FUNCTION {sort.format.names}
-{ 's :=
-  #1 'nameptr :=
-  ""
-  s num.names$ 'numnames :=
-  numnames 'namesleft :=
-    { namesleft #0 > }
-    { format.single.name 't :=
-      nameptr #1 >
-        {
-          nameptr #3
-          #1 + =
-          numnames #3
-          > and
-            { "others" 't :=
-              #1 'namesleft := }
-            'skip$
-          if$
-          "   "  *
-          namesleft #1 = t "others" = and
-            { "zzzzz" * }
-            { t sortify * }
-          if$
-        }
-        { t sortify * }
-      if$
-      nameptr #1 + 'nameptr :=
-      namesleft #1 - 'namesleft :=
-    }
-  while$
-}
-
-FUNCTION {sort.format.title}
-{ 't :=
-  "A " #2
-    "An " #3
-      "The " #4 t chop.word
-    chop.word
-  chop.word
-  sortify
-  #1 global.max$ substring$
-}
-FUNCTION {any.sort}
-{ author empty$
-  { organization empty$
-    { editor empty$
-      { title empty$
-        { key empty$
-          { "para ordenar, precisa dos campos author, organization, editor, title ou key in " cite$ * warning$ ""}
-          { key sortify }
-        if$}
-        { title sortify}
-      if$}
-      { editor sort.format.names }
-    if$}
-    { organization sortify }
-  if$}
-  { author sort.format.names }
-if$
-}
-
-FUNCTION {presort}
-{ 
- any.sort
-  "    " * year field.or.null sortify * "    " * title field.or.null
-  sort.format.title * #1 entry.max$ substring$
-  %for non-alpha style we drop a void sort.key such that SORT has no effect
-  abnt.alf 'skip$ {pop$ ""} if$ 'sort.key$ :=
-  year empty$ {""} {year} if$ 'year.label :=
-  calc.extended.label
-}
-
-FUNCTION {set.default.abnt.variables}
-{ %if you change abnt-num to abnt-alf by hand you need also to change
-  %the name of RCSfile by hand, otherwise cvs takes care of it.
-  %
-  "$RCSfile: abnt-alf.bst,v $ " extract.cvs.key
-  %
-  "abnt-alf.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num
-  "$Revision: v-1.9.7 $" extract.cvs.key 'abnt.bst.revision :=
-  #0 'abnt.and.type     :=     % #0 "and"; #1 "&"
-  "\emph" 'abnt.emphasize :=
-  #0 'abnt.cite.style :=       %default norm version for NBR10520
-                               %#0 \cite=(AUTHOR, YEAR)
-			       %#1 \cite=(Author, YEAR)
-  #0 'abnt.experimental :=
-  abnt.doi.expand.to.url 'abnt.doi :=
-  #3 'abnt.etal.cite :=
-  #3 'abnt.etal.list :=
-  "et al." 'abnt.etal.text :=
-  #0 'abnt.full.initials :=
-  #0 'abnt.last.names :=      %#0 abnt-style, #1 bibtex-style
-  #1 'abnt.ldots.type :=      %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
-  #0 'abnt.missing.year :=    %#0 "void"; #1 "[s.d.]"
-  #0 'repeated.author :=
-  #0 'abnt.repeated.author.omit :=
-  #0 'abnt.repeated.title.omit :=
-  #1 'abnt.refinfo :=
-  #0 'abnt.show.options :=    % #0 "no"; #1 "warn"; #2 "list"
-  #0 'abnt.thesis.year :=     % #0 "final"; #1 "title"; #2 "both"
-  #0 'abnt.title.command :=   % #0 "no"; #1 "yes"
-  #0 'abnt.url.package :=     % #0 "none"'; #2 "url"; #2 "hyperref"
-  #0 'abnt.verbatim.entry :=
-}
-FUNCTION {set.default.iso.variables}
-{ #0 'iso.abbreviation := % #0 ABNT-style; #1 ISO-style
-  #0 'iso.author.punctuation := % #0 ABNT (Smith, A. B.); #1 ISO (Smith, AB)
-  #0 'iso.date.place := % #0 ABNT-sty; #1 ISO-style
-}
-EXECUTE {set.default.abnt.variables}
-EXECUTE {set.default.iso.variables}
-FUNCTION {process.early.abnt.options}
-{%here we intercept all entries which need priority handling
- %note: we cannot use type$ at this point
- abnt-and-type missing$
- abnt-experimental missing$ and
- abnt-etal-cite missing$ and
- abnt-etal-text missing$ and
- abnt-ldots-type missing$ and
- abnt-cite-style missing$ and
- abnt-no-etal-label missing$ and
- abnt-title-command missing$ and
- 'skip$ {call.type$} if$
-}
-ITERATE {process.early.abnt.options}
-FUNCTION {search.reprinted}
-{  reprinted-from missing$ 'skip$
-  {"\nocite{" reprinted-from * "}" * write$ newline$
-  }
-  if$
-}
-ITERATE {search.reprinted}
-FUNCTION {abntreprintinfo}
-{"\providecommand{\abntreprintinfo}[1]{%" write$ newline$
- " \citeonline{#1}}" write$ newline$}
-EXECUTE {abntreprintinfo}
-ITERATE {presort}
-SORT
-STRINGS { last.label next.extra}
-INTEGERS { last.extra.num }
-FUNCTION {forward.pass}
-{ last.label label =
-    { last.extra.num #1 + 'last.extra.num :=
-      last.extra.num int.to.chr$ 'extra.label :=
-    }
-    { "a" chr.to.int$ 'last.extra.num :=
-      "" 'extra.label :=
-      label 'last.label :=
-    }
-  if$
-}
-
-FUNCTION {reverse.pass}
-{ next.extra "b" =
-    { "a" 'extra.label := }
-    'skip$
-  if$
-  label extra.label * 'label :=
-  year.label extra.label * 'year.label :=
-  extra.label 'next.extra :=
-  label "}" * 'label :=
-}
-ITERATE {forward.pass}
-REVERSE {reverse.pass}
-FUNCTION {begin.bib}
-{
-  abnt.alf
-    {"\setlength{\labelsep}{0pt}" write$}
-    'skip$
-  if$
-  "\begin{thebibliography}{}" write$ newline$
-  preamble$ empty$
-    'skip$
-    { preamble$ write$ newline$ }
-  if$
-  abnt.refinfo #1 =
-  {"\providecommand{\abntrefinfo}[3]{}" write$ newline$}
-  'skip$ if$
-  "\providecommand{\abntbstabout}[1]{}" write$ newline$
-  abnt.title.command
-    {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$}
-    'skip$ if$
-  "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
-  %Se você não usa abntcite e precisa que a margem direita não
-  %seja justificada, descomente a linha seguinte
-  %alternativamente coloque \bibliography{abnt-nrj,...
-%  "\setlength{\rightskip}{0pt plus 2cm}" write$ newline$
-}
-EXECUTE {begin.bib}
-EXECUTE {init.state.consts}
-FUNCTION {process.entry}{call.type$}
-ITERATE {process.entry}
-FUNCTION {end.bib}
-{ newline$ "\end{thebibliography}" write$ newline$
-}
-EXECUTE {end.bib}
-FUNCTION {apresentacao}
-{ "+---------------------------------------------------------+"
-  "| http://www.abntex.net.br/                               |"
-  "| Em caso de dúvidas ou problemas com este estilo procure |"
-  abnt.alf
- {"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * "          |" *}
- {"| Estilo bibliográfico abntex2-num.bst versão " abnt.bst.revision * "          |" *}
- if$
-  "+---------------------------------------------------------+"
-  stack$
-}
-EXECUTE{apresentacao}

Added: trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-en.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-en.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-en.bst	2023-11-09 22:25:54 UTC (rev 68793)
@@ -0,0 +1,2159 @@
+%%
+%% unbtexcite-en.bst bibliography style file is adapted from abntex-alf.bst
+%% to format bibliographic references in ABNT style for documents written in
+%% English, following sugestions avaliable at
+%%
+%%    https://github.com/abntex/abntex2/issues/97
+%%   
+%% abntex2-alf.bst, v-1.9.7 laurocesar
+%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/ 
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version.
+%% The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%% 
+%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
+%% César Araujo. Further information are available on 
+%%    http://www.abntex.net.br/
+%%
+
+ENTRY
+  { address author
+    booktitle booksubtitle
+    chapter conference-number conference-year conference-location
+    edition editor editortype
+    dimensions furtherresp
+    howpublished illustrated institution
+    isbn issn journal key month note marginnote number organization
+    org-short pages pagename
+    publisher reprinted-from reprinted-text school
+    series subtitle section title type url urlaccessdate
+    volume year year-presented
+    abnt-and-type
+    abnt-doi abnt-dont-use-etal
+    abnt-etal-cite abnt-etal-list abnt-etal-text abnt-emphasize abnt-experimental
+    abnt-full-initials
+    abnt-last-names abnt-ldots-type
+    abnt-missing-year abnt-cite-style abnt-no-etal-label abnt-note
+    abnt-repeated-author-omit abnt-repeated-title-omit
+    abnt-show-options abnt-refinfo abnt-thesis-year abnt-url-package
+    abnt-title-command
+    abnt-verbatim-entry
+    iso-abbreviation iso-author-punctuation iso-date-place
+    }{}{ label extra.label year.label}
+
+%revision string
+STRINGS { abnt.bst.revision }
+
+%general purpose strings
+STRINGS { r s t }
+
+%variables needed to implement the various abnt options
+STRINGS {abnt.etal.text abnt.emphasize previous.author previous.title}
+INTEGERS {abnt.alf  abnt.cite.style abnt.doi
+          abnt.experimental abnt.etal.cite abnt.etal.list
+          abnt.full.initials
+          abnt.last.names abnt.ldots.type
+          abnt.missing.year
+          abnt.refinfo  abnt.repeated.author.omit abnt.repeated.title.omit
+          abnt.show.options abnt.and.type
+          abnt.title.command
+	   abnt.thesis.year
+	   abnt.url.package abnt.verbatim.entry
+	   iso.abbreviation iso.author.punctuation iso.date.place
+	   repeated.author}
+
+%needed for title formatting
+INTEGERS { title.lenght title.pos first.word no.bracket}
+STRINGS { title.char}
+
+%needed for controlling the sentence position
+INTEGERS {output.state before.all mid.sentence after.sentence after.block }
+
+%needed for url identification
+INTEGERS {url.type}
+
+%static values for options
+%values for abnt.doi
+FUNCTION {abnt.doi.expand.to.url} {#0} %expands a doi address to its url correspondent
+FUNCTION {abnt.doi.link}          {#1} %links doi to its url correspondent
+FUNCTION {abnt.doi.leave.as.is}   {#2} %shows doi as is, external viewer will have
+                                       %to know what to do with a "doi:" document
+
+%values for url types
+FUNCTION {unknown.url} {#0}
+FUNCTION {http.url}    {#1}
+FUNCTION {file.url}    {#2}
+FUNCTION {ftp.url}     {#3}
+FUNCTION {doi.url}     {#4}
+FUNCTION {mailto.url}  {#5}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+}
+
+
+%output.nonnull decides what is written before the argument s, if a comma, period etc.
+FUNCTION {output.nonnull}
+{ 's :=                                     %the argument is written into s
+  output.state mid.sentence =
+    { ", " * write$ }                       %mid.sentence first write comma
+    { output.state after.block =
+        { add.period$ write$ newline$ }
+        { output.state before.all = 'write$
+            { add.period$ " " * write$ }
+          if$}
+      if$
+      mid.sentence 'output.state := }
+  if$
+  s                                         %now comes s
+}
+FUNCTION {output.nonnull.dash}
+{ 's :=                                   %the argument is written into s
+  output.state mid.sentence =
+    { " --- " * write$ }                       %mid.sentence first write comma
+    { output.state after.block =
+        { add.period$ write$ newline$ write$}
+        { output.state before.all = 'write$
+            { add.period$ " " * write$ }
+          if$}
+      if$
+      mid.sentence 'output.state := }
+  if$
+  s                                         %now comes s
+}
+FUNCTION {output}     %does nothing or calls output.nonull
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+FUNCTION {output.dash}     %does nothing or calls output.nonull
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull.dash
+  if$
+}
+FUNCTION {output.check}  %like ouput, but complains if t empty
+{ 't :=
+  duplicate$ empty$
+    { pop$ "campo " t * " vazio em " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+        'skip$
+        { after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+FUNCTION {add.blank} {  " " * before.all 'output.state :=}
+
+FUNCTION {date.block} {new.block}
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { abnt.emphasize "{"  *  swap$ * "}" * }
+  if$
+}
+
+
+FUNCTION {tie.or.space.prefix} %if text length less than 3 chars. uses a tie
+{ duplicate$ text.length$ #5 <
+    { "~" }
+    { " " }
+  if$
+  swap$
+}
+
+FUNCTION {no.space} { { "" } swap$ }
+
+FUNCTION {space.word} { " " swap$ * " " * }
+
+FUNCTION {bbl.and}
+{ abnt.and.type #0 = {" and "} 'skip$ if$
+abnt.and.type #1 = {" \& "} 'skip$ if$}
+FUNCTION {bbl.chapter} { "chap." }
+FUNCTION {bbl.colon} {": "}
+FUNCTION {bbl.editors} { "Eds." }
+FUNCTION {bbl.editor} { "Ed." }
+FUNCTION {bbl.edby} { "edited by" }
+FUNCTION {bbl.edition} { "ed." }
+FUNCTION {bbl.empty} {""}
+FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
+FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
+FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
+{abnt.ldots.type
+{abnt.ldots.type #1 = {"\ldots"}   'skip$ if$
+abnt.ldots.type #2 = {"$\ldots$"} 'skip$ if$
+abnt.ldots.type #3 = {"{...}"}    'skip$ if$}
+{""} %for #0 use nothing
+if$}
+FUNCTION {bbl.master}  { "Master of Science" }
+FUNCTION {bbl.missing.year}
+{abnt.missing.year
+{""} %{"[s.d.]"} %#1
+{""}       %#0
+if$}
+FUNCTION {bbl.monography} { "Monography" }
+FUNCTION {bbl.mthesis} { "Dissertation" }
+FUNCTION {bbl.no.address} {""}%{"[S.l.]"} 
+FUNCTION {bbl.no.address.no.publisher} {""}%{"[S.l.: s.n.]"}
+FUNCTION {bbl.no.publisher} {""}%{"[s.n.]"}
+FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
+FUNCTION {bbl.nr} { "n." }
+FUNCTION {bbl.of} { "of" }
+FUNCTION {bbl.phd} { "Doctor in Philosophy" }
+FUNCTION {bbl.phdthesis} { "Thesis" }
+FUNCTION {bbl.pages}
+{pagename empty$
+{ "p." }
+{pagename}
+if$
+}
+FUNCTION {bbl.page} { bbl.pages }
+FUNCTION {bbl.reprint} {"Reprint from"}
+FUNCTION {bbl.semicolon} { "; "}
+FUNCTION {bbl.same.field} {"\underline{\ \ \ \ \ \ \ \ }"}
+FUNCTION {bbl.techrep} { "Technical Report" }
+FUNCTION {bbl.url.accessdate}
+{iso.abbreviation { "Cited "} {"Accessed on: "} if$}
+FUNCTION {bbl.url.available}
+{ iso.abbreviation {"Available from Internet: "} {"Available at: "} if$}
+FUNCTION {bbl.void} {""}
+FUNCTION {bbl.volume} { iso.abbreviation {"vol."} {"v."} if$ }
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"Jun."}
+MACRO {jul} {"Jul."}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sep."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+FUNCTION {str.to.int}
+{ duplicate$ is.num
+    {chr.to.int$ #48 -}
+    'skip$
+  if$
+}
+FUNCTION {bibinfo.check} %usage: field "field" bibinfo.check
+{ swap$ duplicate$ missing$
+    {pop$ pop$ ""}
+    { duplicate$ empty$
+        {swap$ pop$}
+        {swap$ pop$}
+      if$
+    }
+  if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {swap$ "faltando " swap$ * " em " * cite$ * warning$ pop$ ""}
+    { duplicate$ empty$
+        {swap$ "vazio " swap$ * " em " * cite$ * warning$}
+        {swap$ pop$}
+      if$
+    }
+  if$
+}
+
+FUNCTION {write.field.verbatim}
+{
+duplicate$ missing$
+  {pop$ pop$} 
+  {
+  s text.length$ #0 >
+    {s "," * newline$ write$ "" 's :=}
+    'skip$
+  if$
+  swap$
+  "={" * swap$ * "}" *
+  s swap$ * 's :=
+  }
+if$
+}
+
+FUNCTION {write.entry.verbatim1}
+{
+   "address" 		address  		write.field.verbatim
+   "author" 		author   		write.field.verbatim
+   "booktitle" 		booktitle 		write.field.verbatim
+   "booksubtitle" 	booksubtitle 		write.field.verbatim
+   "chapter" 		chapter 		write.field.verbatim
+   "conference-number" 	conference-number 	write.field.verbatim
+   "conference-year" 	conference-year 	write.field.verbatim
+   "conference-location" conference-location 	write.field.verbatim
+   "edition" 		edition 		write.field.verbatim
+   "editor" 		editor 			write.field.verbatim
+   "editortype" 	editortype 		write.field.verbatim
+   "dimensions" 	dimensions 		write.field.verbatim
+   "furtherresp" 	furtherresp 		write.field.verbatim
+   "howpublished" 	howpublished 		write.field.verbatim
+   "illustrated" 	illustrated  		write.field.verbatim
+   "institution" 	institution 		write.field.verbatim
+   "isbn" 		isbn 			write.field.verbatim
+   "issn" 		issn 			write.field.verbatim
+   "journal" 		journal 		write.field.verbatim
+}
+FUNCTION {write.entry.verbatim2}
+{
+   "key" 		key 			write.field.verbatim
+   "month" 		month 			write.field.verbatim
+   "note" 		note 			write.field.verbatim
+   "marginnote" 	marginnote 		write.field.verbatim
+   "number" 		number 			write.field.verbatim
+   "organization" 	organization 		write.field.verbatim
+   "org-short" 		org-short 		write.field.verbatim
+   "pages" 		pages 			write.field.verbatim
+   "pagename" 		pagename 		write.field.verbatim
+   "publisher" 		publisher 		write.field.verbatim
+   "reprinted-from" 	reprinted-from 		write.field.verbatim
+   "reprinted-text" 	reprinted-text 		write.field.verbatim
+   "school" 		school 			write.field.verbatim
+   "series" 		series 			write.field.verbatim
+   "subtitle" 		subtitle 		write.field.verbatim
+   "section" 		section 		write.field.verbatim
+   "title" 		title 			write.field.verbatim
+   "type" 		type 			write.field.verbatim
+}
+FUNCTION {write.entry.verbatim3}
+{
+   "url" 		url 			write.field.verbatim
+   "urlaccessdate" 	urlaccessdate 		write.field.verbatim
+   "volume" 		volume 			write.field.verbatim
+   "year" 		year 			write.field.verbatim
+   "abnt-emphasize" 	abnt-emphasize 		write.field.verbatim
+   "abnt-experimental" 	abnt-experimental 	write.field.verbatim
+   "abnt-doi" 		abnt-doi	 	write.field.verbatim
+   "abnt-dont-use-etal" abnt-dont-use-etal 	write.field.verbatim
+   "abnt-full-initials" abnt-full-initials 	write.field.verbatim
+   "abnt-ldots-type" 	abnt-ldots-type 	write.field.verbatim
+   "abnt-missing-year" 	abnt-missing-year 	write.field.verbatim
+   "abnt-cite-style" 	abnt-cite-style 		write.field.verbatim
+   "abnt-no-etal-label" abnt-no-etal-label 	write.field.verbatim
+   %abnt-note
+   "abnt-repeated-author-omit" abnt-repeated-author-omit write.field.verbatim
+   "abnt-repeated-title-omit" abnt-repeated-title-omit write.field.verbatim
+   "abnt-show-options" 	abnt-show-options 	write.field.verbatim
+   "abnt-refinfo" 	abnt-refinfo 		write.field.verbatim
+   "abnt-thesis-year" 	abnt-thesis-year 	write.field.verbatim
+   "abnt-title-command" abnt-title-command 	write.field.verbatim
+   "abnt-url-package" 	abnt-url-package 	write.field.verbatim
+   "abnt-verbatim-entry" abnt-verbatim-entry 	write.field.verbatim
+}
+
+FUNCTION {write.entry.verbatim}
+{"" 's := "" 't :=
+  abnt.verbatim.entry
+  {"{\footnotesize\begin{verbatim}" newline$ write$
+   "@" type$ * "{" * cite$ * 's :=
+   write.entry.verbatim1
+   write.entry.verbatim2
+   write.entry.verbatim3
+   s "" = {"}"} {s "}" *} if$
+   newline$ write$
+   "\end{verbatim}}" newline$ write$}
+  {newline$}
+if$}
+
+STRINGS  { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {get.person} {"{vv }{ll}{, jj}{, ff}" format.name$}
+FUNCTION {get.last.name} {#1 "{ll}" format.name$}
+FUNCTION {get.first.name} {#1 "{ff}" format.name$}
+FUNCTION {get.von} {#1 "{vv}" format.name$}
+FUNCTION {get.jr} {#1 "{jj}" format.name$}
+FUNCTION {is.composed.von}
+  {get.person
+   get.von duplicate$ empty$ {pop$ #0}
+     {duplicate$
+      get.first.name empty$ not
+      swap$ get.last.name empty$ not and
+      } if$
+   }
+
+FUNCTION {recompose.name}
+  {get.person duplicate$ duplicate$ duplicate$
+   get.von #1 "{ll }" format.name$ swap$
+   get.last.name *
+   swap$ #1 "{, ff}" format.name$ *
+   swap$ get.von #1 "{ ff}" format.name$ *
+   }
+
+FUNCTION {format.single.name}
+{
+s nameptr get.person 'r :=
+abnt.last.names
+  {r #1 "{ll}{ jj}" format.name$ "u" change.case$
+   abnt.full.initials
+    {r #1 "{, ff}{ vv}" format.name$ *}
+    {r #1 "{, f.}{ vv}" format.name$ *}
+  if$}
+  {%r #1 is.composed.von {r #1 recompose.name 'r :=} 'skip$ if$
+   r #1 "{ll}" format.name$
+   #1 "{ll}" format.name$
+   r #1 "{ jj}" format.name$ * "u" change.case$
+   abnt.full.initials
+    {r #1 "{, ff}{ vv}" format.name$ *
+     r #1 "{ll}" format.name$
+     #1 "{ ff}{ vv}" format.name$ *}
+    {iso.author.punctuation
+      {r #1 "{, f{}}{ vv}" format.name$ *}
+      {r #1 "{, f.}{ vv}" format.name$ *} if$
+     r #1 "{ll}" format.name$
+     #1 "{ f.}{ vv}" format.name$ *}
+  if$}
+
+if$
+}
+FUNCTION {format.names}
+{ 'bibinfo :=  duplicate$ empty$ 'skip$
+  {'s :=
+   "" 't :=
+   #1 'nameptr :=  s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.single.name
+      bibinfo bibinfo.check
+      't :=
+      nameptr #1 >
+        {nameptr #1 #1 + = numnames abnt.etal.list > and
+            {abnt.etal.list {"others" 't := #1 'namesleft :=} 'skip$ if$ }
+            'skip$
+          if$
+          namesleft #1 >
+            { "; " * t * }
+            { numnames #2 >
+                { "" * }
+                'skip$
+              if$
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                { " \emph{et al.}" *}
+                { "; " * t *}
+              if$ }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+  } if$
+}
+
+%from plain.bst
+FUNCTION {format.names.plain}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ 't :=
+      nameptr #1 >
+	{ namesleft #1 >
+	    { ", " * t * }
+	    { numnames #2 >
+		{ "," * }
+		'skip$
+	      if$
+	      t "others" =
+		{ " \emph{et al.}" * }
+		{ " and " * t * }
+	      if$
+	    }
+	  if$
+	}
+	't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+FUNCTION {format.names.ed} {format.names}
+
+FUNCTION {format.authors}
+{
+author "author" format.names
+}
+
+FUNCTION {format.authors.plain}
+{
+author format.names.plain
+}
+
+FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check  duplicate$ empty$
+    'skip$
+    {  "~" * bbl.pages * }
+  if$
+}
+FUNCTION {format.dimensions}
+{ dimensions empty$
+    'skip$
+    { dimensions output}
+  if$
+}
+FUNCTION {format.furtherresp}
+{ furtherresp empty$
+    'skip$
+    { furtherresp output}
+  if$
+}
+FUNCTION {format.illustrated}
+{ illustrated missing$
+    'skip$
+    {illustrated empty$
+      {"il." output}
+      {illustrated output}
+     if$}
+  if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check duplicate$ empty$ 
+    'skip$
+    {new.block "ISBN " swap$ *}
+  if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {new.block "ISSN " swap$ *}
+  if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        { output.state mid.sentence =
+          { "l" }
+          { "u" }
+        if$
+        change.case$ }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check }
+  if$
+}
+
+FUNCTION {format.howpublished}
+{ howpublished empty$
+    { "" }
+    { howpublished #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        { output.state mid.sentence =
+          { "l" }
+          { "u" }
+        if$
+        change.case$ }
+      if$
+      howpublished #2 global.max$ substring$ * "howpublished" bibinfo.check }
+  if$
+}
+
+%ABNT styles require that the title acts as an author if
+%typical author fields are absent. In this case the first
+%word is uppercase. Our main problem is to establish what
+%the first word actually is since portuguese uses accents.
+%For example: Fun{\c c}\ão (Função) is a whole word but contains a
+%space, but if we write Fun\c{c}\ão \c is converted to uppercase...
+%You get the problem, don't you?
+FUNCTION {format.title.as.author}
+{ 's := %holds the title
+  #1 'title.pos := %our position in the title
+  #1 'first.word := %boolean, true if we already have the first word
+  #1 'no.bracket := %boolean, false if we are inside a {}
+  "" 't := %holds the first title.pos characters of the title
+  {first.word}
+    {s title.pos #1 substring$ 'title.char :=
+      %checks if the character is a {
+      title.char "{" = {#0 'no.bracket :=} 'skip$ if$
+      %if we are in a bracket
+      no.bracket 'skip$ {title.char "}" = {#1 'no.bracket :=} 'skip$ if$}  if$
+      type$ "journalpart" =
+        {title.char "." = title.char ":" = or title.char "!" = or
+	 title.char "," = or title.char ";" = or title.char "?" = or}
+	{title.char " " =}
+      if$ s t = or no.bracket and
+       {#0 'first.word :=
+       t title.char * "u" change.case$
+       title.pos #1 + 'title.pos :=
+       s title.pos global.max$ substring$ * 's :=}
+       {title.pos #1 + 'title.pos := t title.char * 't :=}
+     if$
+     }
+  while$
+s
+}
+
+
+%compares current title with the title of the previous entry
+FUNCTION {compare.title}
+{abnt.repeated.title.omit
+  {duplicate$ "" = 'skip$
+    {duplicate$ previous.title = repeated.author and
+      {duplicate$ 'previous.title := pop$ bbl.same.field}
+      {duplicate$ 'previous.title :=}
+     if$}
+   if$}
+ 'skip$
+ if$
+}
+
+FUNCTION {apply.title.command}
+{abnt.title.command
+  {duplicate$ empty$ 'skip$
+    {"\bibtextitlecommand{" type$ * "}{" * swap$ * "}" *}
+    if$}
+  'skip$ if$
+}
+
+FUNCTION {format.title}
+{author empty$ editor empty$ and organization empty$ and
+  {title format.title.as.author}
+  {title  duplicate$ empty$ {pop$ ""} {"t" change.case$} if$}
+ if$
+ subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$
+ apply.title.command
+ compare.title
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }
+            {   { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }
+        { t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+%FUNCTION {word.in} { bbl.in " " * }
+FUNCTION {word.in} {"\emph{In}: "}
+
+FUNCTION {format.month}
+{ month empty$ 'skip$
+  {month "month" bibinfo.check}
+  if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+	{ bbl.missing.year }
+	{ "existe o campo month (mês) mas não o campo year (ano) em " cite$ * warning$ month}
+      if$}
+    { month empty$
+	{ year n.dashify}
+	{ month " " * year * }
+      if$}
+  if$
+}
+FUNCTION {format.btitle}
+{author empty$ editor empty$ and organization empty$ and
+    {title format.title.as.author "title" bibinfo.check duplicate$ empty$ 'skip$ {} if$
+    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
+    {title "title" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
+    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
+if$
+apply.title.command
+compare.title
+}
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "não posso usar ambos " swap$ * " os campos em " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {format.volume} %leaves formatted or empty volume on the stack
+{volume duplicate$ empty$
+   'skip$
+   {volume #1 #1 substring$ is.num
+      {bbl.volume swap$ tie.or.space.prefix * *}
+      'skip$
+    if$}
+ if$
+}
+
+FUNCTION {format.number} %leaves formatted or empty number on the stack
+{ number duplicate$ empty$
+    'skip$
+    {bbl.number swap$ tie.or.space.prefix * *}
+  if$
+}
+
+FUNCTION {format.patent.number}
+{ number
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { format.volume
+      number empty$ 'skip$ {output format.number} if$
+      series "series" bibinfo.check
+      duplicate$ empty$ 'pop$
+        { swap$ bbl.of space.word * swap$
+          emphasize * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume.if.no.series}
+{ series empty$
+    { format.bvolume }
+    { "" }
+  if$
+}
+
+FUNCTION {format.number.or.volume}
+{number empty$
+  {format.volume}
+  {number} %we use the pure number here without leading "n."
+ if$
+}
+
+FUNCTION {format.volume.and.number}
+{format.volume output
+ format.number
+}
+
+FUNCTION {format.volume.number.series}
+{ number empty$ volume empty$ and
+  { series empty$
+    { "" }
+    {" (" series "series" bibinfo.check * ")" *}
+    if$}
+  { series empty$
+    {""} %{ format.number.or.volume }
+    { " ("  series "series" bibinfo.check * ", " *
+     format.number.or.volume * ")" *  }
+     if$ }
+  if$
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$ }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+ 
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {output.state mid.sentence = { "l" } { "t" } if$ change.case$
+      "edition" bibinfo.check
+    edition #1 #1 substring$ is.num {". " * bbl.edition * } 'skip$ if$}
+  if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$ }
+  while$
+  multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+    { duplicate$ multi.page.check
+        { n.dashify bbl.pages swap$}
+        { bbl.page swap$ }
+      if$
+      tie.or.space.prefix "pages" bibinfo.check * * }
+  if$
+}
+FUNCTION {format.journal.pages}
+{ pages empty$ {""}
+    { pages n.dashify bbl.pages
+          swap$ tie.or.space.prefix "pages" bibinfo.check * *}
+  if$
+}
+
+FUNCTION {get.url.type}
+{s #1 #5 substring$ "http:" = {http.url}
+ {s #1 #6 substring$ "https:" = {http.url}
+  {s #1 #5 substring$ "file:" = {file.url}
+   {s #1 #4 substring$ "ftp:"  = {ftp.url}
+    {s #1 #4 substring$ "doi:"  = {doi.url}
+     {s #1 #7 substring$ "mailto:" = {mailto.url} {unknown.url} if$}
+      if$}
+     if$}
+    if$}
+   if$}
+  if$
+ 'url.type :=
+}
+
+FUNCTION {expand.doi}
+{s
+url.type doi.url =
+  {#5 global.max$ substring$ bbl.doi.url swap$ *}
+  'skip$ if$
+}
+
+INTEGERS {url.pos url.length}
+FUNCTION {filter.url.tex}
+{s text.length$ #1 + 'url.length :=
+ #1 'url.pos := "" 't :=
+  {url.pos url.length <}
+    {s url.pos #1 substring$
+    duplicate$ "_" = {pop$ "\underline{\ }" } 'skip$ if$
+    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
+    duplicate$ "&" = {pop$ "\&" } 'skip$ if$
+    duplicate$ "~" = {pop$ "\~{}" } 'skip$ if$
+    duplicate$ "/" = {pop$ "\-/" } 'skip$ if$
+    duplicate$ "." = {pop$ "\-." } 'skip$ if$
+    duplicate$ "\" = {pop$ "{\textbackslash}" } 'skip$ if$
+    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
+    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
+    t swap$ * 't :=
+    url.pos #1 + 'url.pos :=
+    }
+  while$
+t
+}
+FUNCTION {filter.url.html}
+{s text.length$ #1 + 'url.length :=
+ #1 'url.pos := "" 't :=
+  {url.pos url.length <}
+    {s url.pos #1 substring$
+    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
+    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
+    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
+    t swap$ * 't :=
+    url.pos #1 + 'url.pos :=
+    }
+  while$
+t
+}
+
+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$
+}
+FUNCTION {format.url}
+{ url empty$ 'skip$
+    {url compose.url output new.sentence }
+  if$
+ urlaccessdate duplicate$ empty$ 'skip$
+    { bbl.url.accessdate swap$ *}
+  if$
+  "urlaccessdate" bibinfo.check output new.sentence
+}
+
+FUNCTION {format.conference.info}
+{ conference-number empty$
+    'skip$
+    {conference-number "." * output}
+  if$
+  conference-year empty$
+    'skip$
+    {conference-year output}
+  if$
+  conference-location empty$
+    'skip$
+    {conference-location output}
+  if$
+  new.sentence
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+        { bbl.chapter }
+        { type "l" change.case$
+          "type" bibinfo.check }
+      if$
+      chapter tie.or.space.prefix "chapter" bibinfo.check * *
+      pages empty$
+        'skip$
+        { ", " * format.pages * }
+      if$ }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{author empty$ editor empty$ and organization empty$ and
+    {booktitle format.title.as.author "booktitle" bibinfo.check duplicate$ empty$ 'skip$ {} if$
+    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
+    apply.title.command} if$}
+    {booktitle "booktitle" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
+    %{booktitle "booktitle" bibinfo.check "u" change.case$ duplicate$ empty$ 'skip$ {} if$
+    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
+    apply.title.command} if$}
+if$
+}
+FUNCTION {format.editors}
+{ editor  empty$
+   {"inbook" type$ = 'bbl.same.field 'skip$ if$}
+   {author empty$
+    {editor "editor" format.names " (" *
+     editortype empty$ {bbl.editor} {editortype} if$
+     ")" * * }
+    {"inbook" type$ =
+      {bbl.same.field }
+      {editor "editor" format.names " (" *
+       editortype empty$ {bbl.editor} {editortype} if$
+       ")" * *}
+    if$}
+   if$}
+  if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ editor empty$
+    {organization empty$ not author empty$ not and    %if one of two not empty
+      {word.in organization "u" change.case$ * output
+       format.conference.info
+       booktitle empty$ {""} {new.sentence format.booktitle} if$}
+      {word.in
+       organization empty$ author empty$ and 'skip$
+         {"inbook" type$ = {bbl.same.field * output new.sentence ""}
+         'skip$ if$  } if$
+       booktitle empty$ 'skip$ {format.booktitle *} if$}
+     if$}
+    {word.in format.editors * output
+     booktitle empty$ {""} {new.sentence format.booktitle} if$}
+  if$
+  output
+  new.sentence
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+  key empty$ not and
+    { "todos os campos relevantes estão vazios ou faltando em " cite$ * warning$ }
+    'skip$
+  if$
+}
+FUNCTION {format.type}
+{ type "type" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {new.block "" swap$ * }
+  if$
+}
+
+FUNCTION {format.year}
+{year empty$
+   { "campo year vazio ou faltando em " cite$ *
+    abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
+    abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+    {year n.dashify "year" bibinfo.check}
+if$
+}
+
+FUNCTION {format.year.presented}
+{year-presented empty$
+   {""}
+   {year-presented n.dashify}
+if$
+}
+
+FUNCTION {format.field.address}
+{ 't :=
+  address empty$ organization empty$ and url empty$ and t empty$ and
+    {bbl.no.address.no.publisher}
+    {address empty$
+      %if an url is present we don't give a missing address "[s.l.]" notice
+      %{url empty$  {bbl.no.address ": "} {"" ""} if$} % remove : após [s.l.] em book
+      {url empty$  {bbl.no.address " "} {"" ""} if$}
+      {address ": "}
+    if$
+    t empty$
+      {%if an organization is present then it is OK not to have a publisher
+       organization empty$ {* bbl.no.publisher * } 'pop$ if$}
+      {* t * }
+     if$}
+  if$
+}
+
+FUNCTION {format.address}
+{address empty$
+  { bbl.no.address}
+  { address}
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.check format.field.address}
+
+FUNCTION {format.publisher.address.relax}
+{publisher empty$ address empty$ and {""}
+ {publisher "publisher" bibinfo.check format.field.address}
+if$}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.field.address}
+
+%retains current authorship for future use
+FUNCTION {compare.authorship}
+{abnt.repeated.author.omit
+  {duplicate$ "" = 'skip$
+    {duplicate$ previous.author =
+      {duplicate$ 'previous.author :=
+       pop$ bbl.same.field
+       #1 'repeated.author :=}
+      {duplicate$ 'previous.author :=
+       #0 'repeated.author :=}
+     if$}
+   if$}
+ 'skip$
+ if$
+}
+
+FUNCTION {format.author.or.organization}
+{  author empty$
+    { organization empty$ 'skip$
+      { organization "u" change.case$ "organization"  bibinfo.check output}
+      if$}
+    { format.authors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.editor.or.organization}
+{  editor empty$
+    { organization empty$ 'skip$
+      { organization "u" change.case$ "organization"  bibinfo.check output}
+      if$}
+    { format.editors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.author.or.editor.or.organization}
+{ author empty$
+    { editor empty$
+        { organization empty$
+	    'skip$
+            { organization "u" change.case$ "organization"  bibinfo.check output}
+          if$}
+        { format.editors output.nonnull }
+      if$}
+    { format.authors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.reprint}
+{ reprinted-text missing$
+    {""}
+    {reprinted-text empty$
+      {bbl.reprint} {reprinted-text} if$
+     bbl.colon *}
+  if$
+}
+
+FUNCTION {format.journal}
+{
+  format.reprint
+  journal emphasize *
+}
+
+%generates the first label in \abntrefinfo to be used with \citeonline
+FUNCTION {format.names.for.label1} %abnt-alf only
+{ 's := "" 't :=
+   #1 'nameptr :=  
+   s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    {abnt.last.names
+       {s nameptr "{ll}{ jj}" format.name$}
+       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
+        s nameptr "{ jj}" format.name$ *}
+     if$
+     't :=
+      nameptr #1 >
+        {namesleft #1 >
+          { numnames abnt.etal.cite > abnt.etal.cite #0 = not and
+	    {#0 'namesleft := abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+	    {", " * t * } if$ }
+            { t "others" =
+              {abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+                {numnames nameptr = %{bbl.and * t *}
+                {numnames #2 > {", and " * t *} {" and " * t *} if$} % coloca vírgula antes do "and" se houver mais de dois autores
+		'skip$ if$}
+             if$
+	     }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+}
+
+%generates the second label in \abntrefinfo to be used with \cite
+FUNCTION {format.names.for.label2} %abnt-alf only
+{ 's := "" 't :=
+   #1 'nameptr :=  s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    {abnt.last.names
+       {s nameptr "{ll}{ jj}" format.name$}
+       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
+        s nameptr "{ jj}" format.name$ *}
+     if$
+     % Desabilita caixa alta nas citações do comando \cite ao logo do texto
+     %abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ 't :=
+     abnt.cite.style #0 = {} 'skip$ if$ 't :=
+      nameptr #1 >
+        {namesleft #1 >
+            { numnames abnt.etal.cite > 
+	      {#0 'namesleft := abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$} 
+	      {"; " * t * } if$ }
+            { t "OTHERS" = t "others" = or
+	      {abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+	      {numnames nameptr = { bbl.semicolon * t *} 'skip$ if$}
+             if$
+	     }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+}
+
+FUNCTION {format.title.for.label}
+{  's :=
+  #1 'title.pos :=   #1 'first.word :=
+  "" 't :=
+  {first.word}
+    {s title.pos #1 substring$ 'title.char :=
+        title.char "." = title.char ":" = or title.char ";" = or
+	title.char "," = or title.char " " = or s t = or
+       {#0 'first.word :=
+       title.pos #1 + 'title.pos :=}
+       {title.pos #1 + 'title.pos := t title.char * 't :=}
+     if$
+     }
+  while$
+s t = %title equals first word, dont use bbl.ldots
+  {t  "}{" * t
+  %abnt.cite.style #0 = {"u" change.case$ * } 'skip$ if$}
+  abnt.cite.style #0 = { * } 'skip$ if$}
+  {t bbl.ldots * "}{" * t
+  %abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ * bbl.ldots *}
+  abnt.cite.style #0 = {} 'skip$ if$ * bbl.ldots *}
+if$
+}
+
+%cvs keys have the general form $key: value $
+INTEGERS {key.pos value.pos}
+FUNCTION {extract.cvs.key} %we borrow the functionality of format.title.for.label
+{ 's := %holds the entire cvs string
+  #1 'key.pos :=
+  #0 'value.pos := %0= between first $ and :, 1=between : and second $, 2= at the end
+  "" 't := %holds the resulting value
+  {value.pos #0 = value.pos #1 = or}
+    { s key.pos #1 substring$ 'title.char :=
+      value.pos #0 =
+      { title.char ":" = {#1 'value.pos := key.pos #1 + 'key.pos :=} 'skip$ if$}
+      { title.char "$" =
+        {#2 'value.pos :=}
+        {t title.char * 't :=}
+	if$}
+     if$
+     key.pos #1 + 'key.pos :=
+     }
+  while$
+  t
+}
+
+%generates and extended label of type {Author}{AUTHOR}{YEAR}
+%for abnt.cite.style=1 they will be of type {Author}{Author}{YEAR}
+%final result is placed into variable label
+FUNCTION {calc.extended.label}
+{ "{"
+  author empty$ not
+    {author format.names.for.label1 * "}{" * author format.names.for.label2 *}
+    {editor empty$ not
+     {editor format.names.for.label1 * "}{" *  editor format.names.for.label2 *}
+     {org-short empty$ not
+      %{org-short * "}{" * org-short "u" change.case$ *}
+      {org-short * "}{" * org-short *}
+      {organization empty$ not
+      %{organization * "}{" * organization "u" change.case$ *}
+       {organization * "}{" * organization *}
+        {title empty$ not
+         {title format.title.for.label *}
+         {"nada}{NADA" *}
+       if$}
+      if$}
+     if$}
+    if$}
+   if$
+ "}{" *
+ year empty$ 'skip$ {year *} if$
+ 'label := %place the stack into label
+ % final } will be placed in reverse.pass
+}
+%generates and simple label of type "Author YEAR"
+%final result is placed onto the stack
+FUNCTION {calc.simple.label}
+{ author empty$ not
+    {author format.names.for.label1}
+    {editor empty$ not
+     {editor format.names.for.label1}
+     {organization empty$ not
+      {organization}
+      {title empty$ not
+       {title}
+       {""}
+      if$}
+     if$}
+    if$}
+   if$
+ year empty$ 'skip$ {" " * year *} if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+  abnt.alf
+    {"\bibitem[" write$
+    calc.simple.label
+    write$ "]{"}
+    {"\bibitem{"}
+  if$
+  write$ cite$ write$ "}" write$ newline$
+  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
+  "{" write$
+  "" before.all 'output.state :=
+}
+FUNCTION {output.hiddenbibitem}
+{ newline$
+  abnt.alf
+    {"\hiddenbibitem[" write$
+    calc.simple.label
+    write$ "]{"}
+    {"\bibitem{"}
+  if$
+  write$ cite$ write$ "}" write$ newline$
+  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
+  "{" write$
+  "" before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$ write$
+  reprinted-from empty$ 'skip$
+    {" " reprinted-text empty$
+      {bbl.reprint} {reprinted-text} if$ * bbl.colon *
+     "\abntreprintinfo{ " * reprinted-from * "}" * write$}
+    if$
+  abnt-note empty$ 'skip$
+    {"\footnote{" abnt-note * "}" * write$} if$
+  "}" write$
+  %newline$
+  write.entry.verbatim
+}
+
+FUNCTION { abnt.display.options}
+{ 's := 't :=
+  abnt.show.options #1 = % "warn"
+  {"opção " t * " passou para " * s * warning$ } 'skip$ if$
+
+  abnt.show.options #2 = % "list"
+  {"Op\c c\~ao selecionada {\tt " t * "=}\verb+" * s * "+" * output new.sentence } 'skip$ if$
+}
+
+FUNCTION { abnt-options1 }
+  {
+    abnt-show-options empty$
+    'skip$
+      {abnt-show-options "no" =
+        {#0} {abnt-show-options "warn" =
+           {#1} {abnt-show-options "list" =
+             {#2 } {#0 } if$} if$} if$
+      'abnt.show.options :=} % #0 "no"; #1 "warn"; #2 "list"
+    if$
+
+    abnt.show.options #2 =
+    {output.bibitem "Mudan\c ca de estilo ap\'os este ponto com o comando \verb!\citeoption{"
+    cite$ * "}! " *
+    output new.sentence} 'skip$ if$
+
+    abnt-show-options empty$
+    'skip$ {"abnt-show-options" abnt-show-options abnt.display.options} if$
+
+    abnt-cite-style empty$
+      'skip$
+      {abnt-cite-style "(AUTHOR, YEAR)" =
+        {#0 'abnt.cite.style :=}
+	{abnt-cite-style "(Author, YEAR)" =
+	  {#1 'abnt.cite.style :=}
+	  {"opção " abnt-cite-style * " desconhecida" * warning$}
+	 if$}
+        if$
+       "abnt-cite-style" abnt-cite-style abnt.display.options}if$
+
+    abnt-experimental empty$
+    'skip$ {abnt-experimental "yes" = 'abnt.experimental :=
+    "abnt-experimental" abnt-experimental abnt.display.options} if$
+
+    abnt-emphasize duplicate$ empty$
+    'pop$ {'abnt.emphasize :=
+    "abnt-emphasize" abnt.emphasize abnt.display.options
+    abnt-emphasize "\bf" = abnt-emphasize "\it" = or abnt-emphasize "\em" = or
+    abnt-emphasize "\bfseries" = or
+      {"não use " abnt-emphasize * " para abnt-emphasize em " * cite$ *
+      ", isto alterará TODO o texto. Use \textbf ou \emph. Veja a documentação abnt-bibtex-doc para mais detalhes." * warning$}
+    'skip$ if$
+    } if$
+
+    abnt-doi empty$
+      'skip$
+      {abnt-doi "expand" =
+        {abnt.doi.expand.to.url 'abnt.doi :=}
+	{abnt-doi "link" =
+	  {abnt.doi.link 'abnt.doi :=}
+	  {abnt-doi "doi" =
+	    {abnt.doi.leave.as.is 'abnt.doi :=}
+	    {"opção " abnt-doi * " desconhecida" * warning$}
+	   if$}
+	 if$}
+        if$
+       "abnt-doi" abnt-doi abnt.display.options}if$
+ }
+FUNCTION { abnt-options2 }
+  {
+    abnt-full-initials empty$
+    'skip$ {abnt-full-initials "yes" = 'abnt.full.initials :=
+    "abnt-full-initials" abnt-full-initials abnt.display.options} if$
+
+    abnt-last-names empty$
+      'skip$
+      {abnt-last-names "abnt" =   {#0}
+        {abnt-last-names "bibtex" = {#1} {#0} if$} if$
+       'abnt.last.names :=
+       "abnt-last-names" abnt-last-names abnt.display.options}
+    if$
+
+    abnt-ldots-type empty$
+      'skip$
+      {abnt-ldots-type "none" =   {#0}
+        {abnt-ldots-type "normal" = {#1}
+          {abnt-ldots-type "math" =   {#2}
+            {abnt-ldots-type "text" =   {#1} {#0}
+	    if$} if$} if$} if$
+       'abnt.ldots.type :=
+       "abnt-ldots-type" abnt-ldots-type abnt.display.options}
+    if$
+
+    abnt-missing-year empty$
+      'skip$
+      {abnt-missing-year "void" = {#0}
+	{abnt-missing-year "sd" = {#1} {#0} if$}
+       if$
+       'abnt.missing.year :=
+       "abnt-missing-year" abnt-missing-year abnt.display.options}
+    if$
+
+    abnt-and-type empty$
+    'skip$ {abnt-and-type " and " =
+              {#0} {abnt-and-type "&" =
+                {#1} {#0} if$} if$
+            'abnt.and.type :=
+      "abnt-and-type" abnt-and-type abnt.display.options}
+    if$
+    
+    abnt-thesis-year empty$
+    'skip$ {abnt-thesis-year "final" =
+              {#0} {abnt-thesis-year "title" =
+                {#1} {abnt-thesis-year "both" =
+                  {#2} {#0} if$} if$} if$
+            'abnt.thesis.year :=
+      "abnt-thesis-year" abnt-thesis-year abnt.display.options}
+    if$
+
+    abnt-refinfo empty$
+    'skip$ {abnt-refinfo "yes" = 'abnt.refinfo :=
+    "abnt-refinfo" abnt-refinfo abnt.display.options} if$
+}
+FUNCTION { abnt-options3 }
+  {
+
+    abnt-dont-use-etal empty$
+    'skip$ {abnt-dont-use-etal "yes" = {#0 'abnt.etal.list :=} 'skip$ if$
+    "Uso da opção abnt-dont-use-etal se tornou obsoleto, usamos abnt-etal-list." warning$
+    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
+
+    abnt-etal-cite empty$
+    'skip$ {abnt-etal-cite str.to.int 'abnt.etal.cite :=
+    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
+
+    abnt-etal-list empty$
+    'skip$ {abnt-etal-list str.to.int 'abnt.etal.list :=
+    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
+
+    abnt-etal-text missing$
+    'skip$ {abnt-etal-text  'abnt.etal.text :=
+    "abnt-etal-text" abnt.etal.text abnt.display.options} if$
+
+    abnt-no-etal-label empty$
+    'skip$ {abnt-no-etal-label "yes" = {#0 'abnt.etal.cite :=} 'skip$ if$
+    "Uso da opção abnt-no-etal-label se tornou obsoleto, usamos abnt-etal-cite." warning$
+    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
+
+    abnt-repeated-author-omit empty$
+    'skip$ {abnt-repeated-author-omit "yes" =
+            {#1 'abnt.repeated.author.omit :=}
+	    {#0 'abnt.repeated.author.omit := "" 'previous.author :=} if$
+    "abnt-repeated-author-omit" abnt-repeated-author-omit abnt.display.options} if$
+
+    abnt-repeated-title-omit empty$ 'skip$
+      {abnt-repeated-title-omit "yes" =
+        {#1 'abnt.repeated.title.omit :=}
+	{#0 'abnt.repeated.title.omit := "" 'previous.title :=} if$
+        "abnt-repeated-title-omit" abnt-repeated-title-omit abnt.display.options
+        abnt.repeated.author.omit not abnt.repeated.title.omit and
+          {"Use abnt-repeated-title-omit=yes junto com abnt-repeated-author-omit=yes"
+          warning$} 'skip$ if$} if$
+
+    abnt-title-command empty$
+    'skip$ {abnt-title-command "yes" =
+            {#1 'abnt.title.command :=}
+	    {#0 'abnt.title.command :=} if$
+    "abnt-title-command" abnt-title-command abnt.display.options} if$
+
+    abnt-url-package empty$ 'skip$
+      {abnt-url-package "url" =
+         {#1 'abnt.url.package :=}
+         {abnt-url-package "hyperref" = {#2 'abnt.url.package :=} 'skip$ if$}
+       if$
+       "abnt-url-package" abnt-url-package abnt.display.options}
+     if$
+
+    abnt-verbatim-entry empty$
+    'skip$ {abnt-verbatim-entry "yes" = 'abnt.verbatim.entry :=
+    "abnt-verbatim-entry" abnt-verbatim-entry abnt.display.options} if$
+  
+  abnt.show.options #2 = 'fin.entry  'skip$ if$
+  }
+
+%we had to break this function in two parts because of the following message:
+%Sorry---you've exceeded BibTeX's single function space 100
+%(That was a fatal error)
+FUNCTION { iso-options1 }
+  {
+  iso-abbreviation empty$
+    'skip$ {iso-abbreviation "standard" = 'iso.abbreviation :=
+    "iso-abbreviation" iso-abbreviation abnt.display.options} if$
+  iso-author-punctuation empty$
+    'skip$ {iso-author-punctuation "void" = 'iso.author.punctuation :=
+    "iso-author-punctuation" iso-author-punctuation abnt.display.options} if$
+  iso-date-place empty$
+    'skip$ {iso-date-place "ISO" = 'iso.date.place :=
+    "iso-date-place" iso-date-place abnt.display.options} if$
+  }
+
+FUNCTION { abnt-options }
+  {
+  abnt-options1
+  abnt-options2
+  abnt-options3
+  iso-options1
+  }
+
+FUNCTION { iso-options } { abnt-options }
+
+FUNCTION { iso.year.label }
+{  iso.date.place
+     { abnt.alf
+         {year.label output new.sentence}
+	 'skip$ if$}
+    'skip$ if$}
+
+FUNCTION { iso.date }
+{  iso.date.place
+     { abnt.alf
+	 'skip$ 
+          {year output new.sentence}
+	 if$}
+    'skip$ if$}
+
+FUNCTION { non.iso.date }
+  {iso.date.place  'skip$ {format.date output} if$}
+
+FUNCTION {article}
+{ output.bibitem
+  format.author.or.organization  new.sentence
+  iso.year.label
+  format.title "title" output.check new.block
+  format.journal output
+  iso.date.place {format.year output} 'skip$ if$
+  %iso.date.place {format.date output} 'skip$ if$
+  %iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+  %               {format.year output new.sentence} if$
+  section "section" bibinfo.check output.dash
+  publisher "publisher" bibinfo.check output
+  address "address" bibinfo.check output
+  format.volume output
+  format.number output
+  format.pages output
+  non.iso.date
+  format.issn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.volume output new.sentence
+  format.book.pages output
+  format.illustrated
+  format.dimensions  new.sentence
+  format.howpublished output  new.sentence
+  format.volume.number.series output new.sentence
+  format.note output
+  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.edition output new.sentence
+  address "address" bibinfo.check output
+  format.bvolume output
+  %format.date output  new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.book.pages output new.sentence
+  format.volume.number.series output new.sentence
+  format.note output
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+
+FUNCTION {hidden}
+{ output.hiddenbibitem
+  fin.entry}
+
+FUNCTION {inbook}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check new.block
+  format.in.ed.booktitle
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  %format.year output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.volume.number.series output
+  format.chapter.pages output new.sentence
+  format.isbn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check new.sentence
+  format.in.ed.booktitle
+  format.edition output new.sentence
+  format.publisher.address output
+  %format.year output
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output} if$
+  format.volume.number.series output new.sentence
+  format.bvolume.if.no.series output
+  format.chapter.pages output new.sentence
+  format.isbn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check  new.sentence
+  format.in.ed.booktitle
+  format.publisher.address output
+  %format.year output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.volume.number.series output
+  format.pages output
+  format.isbn output
+  format.issn output new.sentence
+  format.note output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {journalpart}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  format.volume output
+  format.number output
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.date output new.sentence} if$
+  format.book.pages output
+  format.illustrated
+  format.dimensions  new.sentence
+  format.note output
+  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.btitle "title" output.check new.block
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.address output
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.book.pages output new.sentence
+  format.volume.number.series output new.sentence
+  format.note output new.sentence
+  format.url
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output
+  format.btitle output new.sentence
+  format.furtherresp new.sentence
+  format.publisher.address.relax output
+  %format.date output  new.block
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.book.pages output new.sentence
+  format.illustrated
+  format.dimensions  new.sentence
+  format.howpublished output  new.block
+  format.volume.number.series output new.sentence
+  format.note output  new.block
+  format.url
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+  format.editor.or.organization new.sentence
+  iso.year.label
+  format.authors.plain  output new.sentence
+  format.btitle output new.sentence
+  format.furtherresp new.sentence
+  %format.date output  new.block
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.patent.number output
+  format.howpublished output  new.block
+  format.note output  new.block
+  format.url
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {format.thesis.type}
+{ type$ "phdthesis" =
+    {bbl.phdthesis}
+    {type$ "mastersthesis" =
+       {bbl.mthesis}
+       {type$ "monography" =
+          {bbl.monography}
+	  {bbl.void}
+        if$}
+     if$}
+  if$
+  type empty$
+    {type missing$
+       {type$ "phdthesis" =
+          { " (" bbl.phd * ")" *}
+          {type$ "mastersthesis" = { " (" bbl.master * ")" *} {pop$ ""} if$}
+        if$}
+       {""}
+     if$}
+     {type$ "thesis" =
+       {type}
+       {" (" type  * ")" * "type" bibinfo.check}
+      if$}
+  if$
+ * %joins first and second part of this function
+}
+FUNCTION {thesis}
+{ output.bibitem
+  format.authors "author" output.check new.block
+  iso.year.label
+  format.btitle "title" output.check new.block
+  abnt.thesis.year #1 = abnt.thesis.year #2 = or
+    {format.date "year" output.check new.sentence} 'skip$ if$
+  format.year.presented output new.sentence
+  format.book.pages output new.sentence
+  format.thesis.type output.nonnull
+  school "school" bibinfo.warn output.dash
+  address "address" bibinfo.check output
+  abnt.thesis.year #0 = abnt.thesis.year #2 = or
+    {format.date "year" output.check new.sentence} 'skip$ if$
+  format.note output new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {phdthesis}     { thesis }
+FUNCTION {mastersthesis} { thesis }
+FUNCTION {monography}    { thesis }
+
+FUNCTION {proceedings}
+{ output.bibitem
+  iso.year.label
+  format.editor.or.organization
+  format.conference.info
+  format.btitle "title" output.check
+  format.bvolume output
+  format.volume.number.series output
+  editor empty$
+    { publisher empty$
+        'skip$
+        { new.sentence format.publisher.address output format.year output}
+      if$
+    }
+    { publisher empty$
+        { new.sentence
+          format.organization.address output format.year output}
+        { new.sentence
+          organization "organization" bibinfo.check output
+          format.publisher.address output format.year output}
+      if$ }
+  if$
+  new.sentence format.book.pages output new.sentence
+  format.isbn output
+  format.issn output  new.block
+  format.note output  new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {techreport} {manual}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check  new.sentence
+  format.note "note" output.check  new.sentence
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.url
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.single.name 't :=
+      nameptr #1 >
+        {
+          nameptr #3
+          #1 + =
+          numnames #3
+          > and
+            { "others" 't :=
+              #1 'namesleft := }
+            'skip$
+          if$
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            { t sortify * }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+FUNCTION {any.sort}
+{ author empty$
+  { organization empty$
+    { editor empty$
+      { title empty$
+        { key empty$
+          { "para ordenar, precisa dos campos author, organization, editor, title ou key in " cite$ * warning$ ""}
+          { key sortify }
+        if$}
+        { title sortify}
+      if$}
+      { editor sort.format.names }
+    if$}
+    { organization sortify }
+  if$}
+  { author sort.format.names }
+if$
+}
+
+FUNCTION {presort}
+{ 
+ any.sort
+  "    " * year field.or.null sortify * "    " * title field.or.null
+  sort.format.title * #1 entry.max$ substring$
+  %for non-alpha style we drop a void sort.key such that SORT has no effect
+  abnt.alf 'skip$ {pop$ ""} if$ 'sort.key$ :=
+  year empty$ {""} {year} if$ 'year.label :=
+  calc.extended.label
+}
+
+FUNCTION {set.default.abnt.variables}
+{ %if you change abnt-num to abnt-alf by hand you need also to change
+  %the name of RCSfile by hand, otherwise cvs takes care of it.
+  %
+  "$RCSfile: unbtexcite-en.bst,v $ " extract.cvs.key
+  %
+  "unbtexcite-en.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num
+  "$Revision: v-1.9.7 $" extract.cvs.key 'abnt.bst.revision :=
+  #0 'abnt.and.type     :=     % #0 "and"; #1 "&"
+  "\emph" 'abnt.emphasize :=
+  #0 'abnt.cite.style :=       %default norm version for NBR10520
+                               %#0 \cite=(AUTHOR, YEAR)
+			       %#1 \cite=(Author, YEAR)
+  #0 'abnt.experimental :=
+  abnt.doi.expand.to.url 'abnt.doi :=
+  #3 'abnt.etal.cite :=
+  #3 'abnt.etal.list :=
+  "et al." 'abnt.etal.text :=
+  #0 'abnt.full.initials :=
+  #0 'abnt.last.names :=      %#0 abnt-style, #1 bibtex-style
+  #1 'abnt.ldots.type :=      %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
+  #0 'abnt.missing.year :=    %#0 "void"; #1 "[s.d.]"
+  #0 'repeated.author :=
+  #0 'abnt.repeated.author.omit :=
+  #0 'abnt.repeated.title.omit :=
+  #1 'abnt.refinfo :=
+  #0 'abnt.show.options :=    % #0 "no"; #1 "warn"; #2 "list"
+  #0 'abnt.thesis.year :=     % #0 "final"; #1 "title"; #2 "both"
+  #0 'abnt.title.command :=   % #0 "no"; #1 "yes"
+  #0 'abnt.url.package :=     % #0 "none"'; #2 "url"; #2 "hyperref"
+  #0 'abnt.verbatim.entry :=
+}
+FUNCTION {set.default.iso.variables}
+{ #0 'iso.abbreviation := % #0 ABNT-style; #1 ISO-style
+  #0 'iso.author.punctuation := % #0 ABNT (Smith, A. B.); #1 ISO (Smith, AB)
+  #0 'iso.date.place := % #0 ABNT-sty; #1 ISO-style
+}
+EXECUTE {set.default.abnt.variables}
+EXECUTE {set.default.iso.variables}
+FUNCTION {process.early.abnt.options}
+{%here we intercept all entries which need priority handling
+ %note: we cannot use type$ at this point
+ abnt-and-type missing$
+ abnt-experimental missing$ and
+ abnt-etal-cite missing$ and
+ abnt-etal-text missing$ and
+ abnt-ldots-type missing$ and
+ abnt-cite-style missing$ and
+ abnt-no-etal-label missing$ and
+ abnt-title-command missing$ and
+ 'skip$ {call.type$} if$
+}
+ITERATE {process.early.abnt.options}
+FUNCTION {search.reprinted}
+{  reprinted-from missing$ 'skip$
+  {"\nocite{" reprinted-from * "}" * write$ newline$
+  }
+  if$
+}
+ITERATE {search.reprinted}
+FUNCTION {abntreprintinfo}
+{"\providecommand{\abntreprintinfo}[1]{%" write$ newline$
+ " \citeonline{#1}}" write$ newline$}
+EXECUTE {abntreprintinfo}
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra}
+INTEGERS { last.extra.num }
+FUNCTION {forward.pass}
+{ last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  label extra.label * 'label :=
+  year.label extra.label * 'year.label :=
+  extra.label 'next.extra :=
+  label "}" * 'label :=
+}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {begin.bib}
+{
+  abnt.alf
+    {"\setlength{\labelsep}{0pt}" write$}
+    'skip$
+  if$
+  "\begin{thebibliography}{}" write$ newline$
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  abnt.refinfo #1 =
+  {"\providecommand{\abntrefinfo}[3]{}" write$ newline$}
+  'skip$ if$
+  "\providecommand{\abntbstabout}[1]{}" write$ newline$
+  abnt.title.command
+    {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$}
+    'skip$ if$
+  "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
+  %Se você não usa abntcite e precisa que a margem direita não
+  %seja justificada, descomente a linha seguinte
+  %alternativamente coloque \bibliography{abnt-nrj,...
+%  "\setlength{\rightskip}{0pt plus 2cm}" write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+FUNCTION {process.entry}{call.type$}
+ITERATE {process.entry}
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+FUNCTION {apresentacao}
+{ "+---------------------------------------------------------+"
+  "| http://www.abntex.net.br/                               |"
+  "| Em caso de dúvidas ou problemas com este estilo procure |"
+  abnt.alf
+ {"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * "          |" *}
+ {"| Estilo bibliográfico abntex2-num.bst versão " abnt.bst.revision * "          |" *}
+ if$
+  "+---------------------------------------------------------+"
+  stack$
+}
+EXECUTE{apresentacao}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-en.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-pt.bst
===================================================================
--- trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-pt.bst	                        (rev 0)
+++ trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-pt.bst	2023-11-09 22:25:54 UTC (rev 68793)
@@ -0,0 +1,2154 @@
+%%
+%% unbtexcite-pt.bst bibliography style file is adapted from abntex-alf.bst
+%% to format bibliographic references in ABNT style for documents written in
+%% Portuguese, following sugestions avaliable at
+%%
+%%    https://github.com/abntex/abntex2/issues/97
+%%   
+%% abntex2-alf.bst, v-1.9.7 laurocesar
+%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/ 
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, either version 1.3 of this license or (at
+%% your option) any later version.
+%% The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%% 
+%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
+%% César Araujo. Further information are available on 
+%%    http://www.abntex.net.br/
+%%
+
+ENTRY
+  { address author
+    booktitle booksubtitle
+    chapter conference-number conference-year conference-location
+    edition editor editortype
+    dimensions furtherresp
+    howpublished illustrated institution
+    isbn issn journal key month note marginnote number organization
+    org-short pages pagename
+    publisher reprinted-from reprinted-text school
+    series subtitle section title type url urlaccessdate
+    volume year year-presented
+    abnt-and-type
+    abnt-doi abnt-dont-use-etal
+    abnt-etal-cite abnt-etal-list abnt-etal-text abnt-emphasize abnt-experimental
+    abnt-full-initials
+    abnt-last-names abnt-ldots-type
+    abnt-missing-year abnt-cite-style abnt-no-etal-label abnt-note
+    abnt-repeated-author-omit abnt-repeated-title-omit
+    abnt-show-options abnt-refinfo abnt-thesis-year abnt-url-package
+    abnt-title-command
+    abnt-verbatim-entry
+    iso-abbreviation iso-author-punctuation iso-date-place
+    }{}{ label extra.label year.label}
+
+%revision string
+STRINGS { abnt.bst.revision }
+
+%general purpose strings
+STRINGS { r s t }
+
+%variables needed to implement the various abnt options
+STRINGS {abnt.etal.text abnt.emphasize previous.author previous.title}
+INTEGERS {abnt.alf  abnt.cite.style abnt.doi
+          abnt.experimental abnt.etal.cite abnt.etal.list
+          abnt.full.initials
+          abnt.last.names abnt.ldots.type
+          abnt.missing.year
+          abnt.refinfo  abnt.repeated.author.omit abnt.repeated.title.omit
+	   abnt.show.options abnt.and.type
+          abnt.title.command
+	   abnt.thesis.year
+	   abnt.url.package abnt.verbatim.entry
+	   iso.abbreviation iso.author.punctuation iso.date.place
+	   repeated.author}
+
+%needed for title formatting
+INTEGERS { title.lenght title.pos first.word no.bracket}
+STRINGS { title.char}
+
+%needed for controlling the sentence position
+INTEGERS {output.state before.all mid.sentence after.sentence after.block }
+
+%needed for url identification
+INTEGERS {url.type}
+
+%static values for options
+%values for abnt.doi
+FUNCTION {abnt.doi.expand.to.url} {#0} %expands a doi address to its url correspondent
+FUNCTION {abnt.doi.link}          {#1} %links doi to its url correspondent
+FUNCTION {abnt.doi.leave.as.is}   {#2} %shows doi as is, external viewer will have
+                                       %to know what to do with a "doi:" document
+
+%values for url types
+FUNCTION {unknown.url} {#0}
+FUNCTION {http.url}    {#1}
+FUNCTION {file.url}    {#2}
+FUNCTION {ftp.url}     {#3}
+FUNCTION {doi.url}     {#4}
+FUNCTION {mailto.url}  {#5}
+
+FUNCTION {init.state.consts}
+{ #0 'before.all :=
+  #1 'mid.sentence :=
+  #2 'after.sentence :=
+  #3 'after.block :=
+}
+
+%output.nonnull decides what is written before the argument s, if a comma, period etc.
+FUNCTION {output.nonnull}
+{ 's :=                                     %the argument is written into s
+  output.state mid.sentence =
+    { ", " * write$ }                       %mid.sentence first write comma
+    { output.state after.block =
+        { add.period$ write$ newline$ }
+        { output.state before.all = 'write$
+            { add.period$ " " * write$ }
+          if$}
+      if$
+      mid.sentence 'output.state := }
+  if$
+  s                                         %now comes s
+}
+FUNCTION {output.nonnull.dash}
+{ 's :=                                   %the argument is written into s
+  output.state mid.sentence =
+    { " --- " * write$ }                       %mid.sentence first write comma
+    { output.state after.block =
+        { add.period$ write$ newline$ write$}
+        { output.state before.all = 'write$
+            { add.period$ " " * write$ }
+          if$}
+      if$
+      mid.sentence 'output.state := }
+  if$
+  s                                         %now comes s
+}
+FUNCTION {output}     %does nothing or calls output.nonull
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull
+  if$
+}
+FUNCTION {output.dash}     %does nothing or calls output.nonull
+{ duplicate$ empty$
+    'pop$
+    'output.nonnull.dash
+  if$
+}
+FUNCTION {output.check}  %like ouput, but complains if t empty
+{ 't :=
+  duplicate$ empty$
+    { pop$ "campo " t * " vazio em " * cite$ * warning$ }
+    'output.nonnull
+  if$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+    'skip$
+    { after.block 'output.state := }
+  if$
+}
+FUNCTION {new.sentence}
+{ output.state after.block =
+    'skip$
+    { output.state before.all =
+        'skip$
+        { after.sentence 'output.state := }
+      if$
+    }
+  if$
+}
+FUNCTION {add.blank} {  " " * before.all 'output.state :=}
+
+FUNCTION {date.block} {new.block}
+
+FUNCTION {not}
+{   { #0 }
+    { #1 }
+  if$
+}
+FUNCTION {and}
+{   'skip$
+    { pop$ #0 }
+  if$
+}
+FUNCTION {or}
+{   { pop$ #1 }
+    'skip$
+  if$
+}
+FUNCTION {new.block.checka}
+{ empty$
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.block.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.block
+  if$
+}
+FUNCTION {new.sentence.checka}
+{ empty$
+    'skip$
+    'new.sentence
+  if$
+}
+FUNCTION {new.sentence.checkb}
+{ empty$
+  swap$ empty$
+  and
+    'skip$
+    'new.sentence
+  if$
+}
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+    { pop$ "" }
+    'skip$
+  if$
+}
+FUNCTION {emphasize}
+{ duplicate$ empty$
+    { pop$ "" }
+    { abnt.emphasize "{"  *  swap$ * "}" * }
+  if$
+}
+
+FUNCTION {tie.or.space.prefix} %if text length less than 3 chars. uses a tie
+{ duplicate$ text.length$ #5 <
+    { "~" }
+    { " " }
+  if$
+  swap$
+}
+
+FUNCTION {no.space} { { "" } swap$ }
+
+FUNCTION {space.word} { " " swap$ * " " * }
+
+FUNCTION {bbl.and}
+{ abnt.and.type #0 = {" e "} 'skip$ if$
+  abnt.and.type #1 = {" \& "} 'skip$ if$}
+FUNCTION {bbl.chapter} { "cap." }
+FUNCTION {bbl.colon} {": "}
+FUNCTION {bbl.editors} { "Ed." }
+FUNCTION {bbl.editor} { "Ed." }
+FUNCTION {bbl.edby} { "editado por" }
+FUNCTION {bbl.edition} { "ed." }
+FUNCTION {bbl.empty} {""}
+FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
+FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
+FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
+{abnt.ldots.type
+  {abnt.ldots.type #1 = {"\ldots"}   'skip$ if$
+   abnt.ldots.type #2 = {"$\ldots$"} 'skip$ if$
+   abnt.ldots.type #3 = {"{...}"}    'skip$ if$}
+  {""} %for #0 use nothing
+if$}
+FUNCTION {bbl.master}  { "Mestrado" }
+FUNCTION {bbl.missing.year}
+{abnt.missing.year
+  {"[\emph{s.d.}]"} %#1
+  {""}       %#0
+ if$}
+FUNCTION {bbl.monography} { "Monografia" }
+FUNCTION {bbl.mthesis} { "Disserta\c{c}\~{a}o" }
+FUNCTION {bbl.no.address} {"[\emph{S.l.}]"}
+FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.: s.n.}]"}
+FUNCTION {bbl.no.publisher} {"[\emph{s.n.}]"}
+FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
+FUNCTION {bbl.nr} { "n." }
+FUNCTION {bbl.of} { "de" }
+FUNCTION {bbl.phd} { "Doutorado" }
+FUNCTION {bbl.phdthesis} { "Tese" }
+FUNCTION {bbl.pages}
+  {pagename empty$
+    { "p." }
+    {pagename}
+   if$
+   }
+FUNCTION {bbl.page} { bbl.pages }
+FUNCTION {bbl.reprint} {"Separata de"}
+FUNCTION {bbl.semicolon} { "; "}
+FUNCTION {bbl.same.field} {"\underline{\ \ \ \ \ \ \ \ }"}
+FUNCTION {bbl.techrep} { "Rel. Tec." }
+FUNCTION {bbl.url.accessdate}
+  {iso.abbreviation { "Cited "} {"Acesso em: "} if$}
+FUNCTION {bbl.url.available}
+{ iso.abbreviation {"Available from Internet: "} {"Dispon{\'\i}vel em: "} if$}
+FUNCTION {bbl.void} {""}
+FUNCTION {bbl.volume} { iso.abbreviation {"vol."} {"v."} if$ }
+
+MACRO {jan} {"jan."}
+MACRO {feb} {"fev."}
+MACRO {mar} {"mar."}
+MACRO {apr} {"abr."}
+MACRO {may} {"maio"}
+MACRO {jun} {"jun."}
+MACRO {jul} {"jul."}
+MACRO {aug} {"ago."}
+MACRO {sep} {"set."}
+MACRO {oct} {"out."}
+MACRO {nov} {"nov."}
+MACRO {dec} {"dez."}
+
+FUNCTION {is.num}
+{ chr.to.int$
+  duplicate$ "0" chr.to.int$ < not
+  swap$ "9" chr.to.int$ > not and
+}
+FUNCTION {str.to.int}
+{ duplicate$ is.num
+    {chr.to.int$ #48 -}
+    'skip$
+  if$
+}
+FUNCTION {bibinfo.check} %usage: field "field" bibinfo.check
+{ swap$ duplicate$ missing$
+    {pop$ pop$ ""}
+    { duplicate$ empty$
+        {swap$ pop$}
+        {swap$ pop$}
+      if$
+    }
+  if$
+}
+FUNCTION {bibinfo.warn}
+{ swap$
+  duplicate$ missing$
+    {swap$ "faltando " swap$ * " em " * cite$ * warning$ pop$ ""}
+    { duplicate$ empty$
+        {swap$ "vazio " swap$ * " em " * cite$ * warning$}
+        {swap$ pop$}
+      if$
+    }
+  if$
+}
+
+FUNCTION {write.field.verbatim}
+{
+duplicate$ missing$
+  {pop$ pop$} 
+  {
+  s text.length$ #0 >
+    {s "," * newline$ write$ "" 's :=}
+    'skip$
+  if$
+  swap$
+  "={" * swap$ * "}" *
+  s swap$ * 's :=
+  }
+if$
+}
+
+FUNCTION {write.entry.verbatim1}
+{
+   "address" 		address  		write.field.verbatim
+   "author" 		author   		write.field.verbatim
+   "booktitle" 		booktitle 		write.field.verbatim
+   "booksubtitle" 	booksubtitle 		write.field.verbatim
+   "chapter" 		chapter 		write.field.verbatim
+   "conference-number" 	conference-number 	write.field.verbatim
+   "conference-year" 	conference-year 	write.field.verbatim
+   "conference-location" conference-location 	write.field.verbatim
+   "edition" 		edition 		write.field.verbatim
+   "editor" 		editor 			write.field.verbatim
+   "editortype" 	editortype 		write.field.verbatim
+   "dimensions" 	dimensions 		write.field.verbatim
+   "furtherresp" 	furtherresp 		write.field.verbatim
+   "howpublished" 	howpublished 		write.field.verbatim
+   "illustrated" 	illustrated  		write.field.verbatim
+   "institution" 	institution 		write.field.verbatim
+   "isbn" 		isbn 			write.field.verbatim
+   "issn" 		issn 			write.field.verbatim
+   "journal" 		journal 		write.field.verbatim
+}
+FUNCTION {write.entry.verbatim2}
+{
+   "key" 		key 			write.field.verbatim
+   "month" 		month 			write.field.verbatim
+   "note" 		note 			write.field.verbatim
+   "marginnote" 	marginnote 		write.field.verbatim
+   "number" 		number 			write.field.verbatim
+   "organization" 	organization 		write.field.verbatim
+   "org-short" 		org-short 		write.field.verbatim
+   "pages" 		pages 			write.field.verbatim
+   "pagename" 		pagename 		write.field.verbatim
+   "publisher" 		publisher 		write.field.verbatim
+   "reprinted-from" 	reprinted-from 		write.field.verbatim
+   "reprinted-text" 	reprinted-text 		write.field.verbatim
+   "school" 		school 			write.field.verbatim
+   "series" 		series 			write.field.verbatim
+   "subtitle" 		subtitle 		write.field.verbatim
+   "section" 		section 		write.field.verbatim
+   "title" 		title 			write.field.verbatim
+   "type" 		type 			write.field.verbatim
+}
+FUNCTION {write.entry.verbatim3}
+{
+   "url" 		url 			write.field.verbatim
+   "urlaccessdate" 	urlaccessdate 		write.field.verbatim
+   "volume" 		volume 			write.field.verbatim
+   "year" 		year 			write.field.verbatim
+   "abnt-emphasize" 	abnt-emphasize 		write.field.verbatim
+   "abnt-experimental" 	abnt-experimental 	write.field.verbatim
+   "abnt-doi" 		abnt-doi	 	write.field.verbatim
+   "abnt-dont-use-etal" abnt-dont-use-etal 	write.field.verbatim
+   "abnt-full-initials" abnt-full-initials 	write.field.verbatim
+   "abnt-ldots-type" 	abnt-ldots-type 	write.field.verbatim
+   "abnt-missing-year" 	abnt-missing-year 	write.field.verbatim
+   "abnt-cite-style" 	abnt-cite-style 		write.field.verbatim
+   "abnt-no-etal-label" abnt-no-etal-label 	write.field.verbatim
+   %abnt-note
+   "abnt-repeated-author-omit" abnt-repeated-author-omit write.field.verbatim
+   "abnt-repeated-title-omit" abnt-repeated-title-omit write.field.verbatim
+   "abnt-show-options" 	abnt-show-options 	write.field.verbatim
+   "abnt-refinfo" 	abnt-refinfo 		write.field.verbatim
+   "abnt-thesis-year" 	abnt-thesis-year 	write.field.verbatim
+   "abnt-title-command" abnt-title-command 	write.field.verbatim
+   "abnt-url-package" 	abnt-url-package 	write.field.verbatim
+   "abnt-verbatim-entry" abnt-verbatim-entry 	write.field.verbatim
+}
+
+FUNCTION {write.entry.verbatim}
+{"" 's := "" 't :=
+  abnt.verbatim.entry
+  {"{\footnotesize\begin{verbatim}" newline$ write$
+   "@" type$ * "{" * cite$ * 's :=
+   write.entry.verbatim1
+   write.entry.verbatim2
+   write.entry.verbatim3
+   s "" = {"}"} {s "}" *} if$
+   newline$ write$
+   "\end{verbatim}}" newline$ write$}
+  {newline$}
+if$}
+
+STRINGS  { bibinfo}
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {get.person} {"{vv }{ll}{, jj}{, ff}" format.name$}
+FUNCTION {get.last.name} {#1 "{ll}" format.name$}
+FUNCTION {get.first.name} {#1 "{ff}" format.name$}
+FUNCTION {get.von} {#1 "{vv}" format.name$}
+FUNCTION {get.jr} {#1 "{jj}" format.name$}
+FUNCTION {is.composed.von}
+  {get.person
+   get.von duplicate$ empty$ {pop$ #0}
+     {duplicate$
+      get.first.name empty$ not
+      swap$ get.last.name empty$ not and
+      } if$
+   }
+
+FUNCTION {recompose.name}
+  {get.person duplicate$ duplicate$ duplicate$
+   get.von #1 "{ll }" format.name$ swap$
+   get.last.name *
+   swap$ #1 "{, ff}" format.name$ *
+   swap$ get.von #1 "{ ff}" format.name$ *
+   }
+
+FUNCTION {format.single.name}
+{
+s nameptr get.person 'r :=
+abnt.last.names
+  {r #1 "{ll}{ jj}" format.name$ "u" change.case$
+   abnt.full.initials
+    {r #1 "{, ff}{ vv}" format.name$ *}
+    {r #1 "{, f.}{ vv}" format.name$ *}
+  if$}
+  {%r #1 is.composed.von {r #1 recompose.name 'r :=} 'skip$ if$
+   r #1 "{ll}" format.name$
+   #1 "{ll}" format.name$
+   r #1 "{ jj}" format.name$ * "u" change.case$
+   abnt.full.initials
+    {r #1 "{, ff}{ vv}" format.name$ *
+     r #1 "{ll}" format.name$
+     #1 "{ ff}{ vv}" format.name$ *}
+    {iso.author.punctuation
+      {r #1 "{, f{}}{ vv}" format.name$ *}
+      {r #1 "{, f.}{ vv}" format.name$ *} if$
+     r #1 "{ll}" format.name$
+     #1 "{ f.}{ vv}" format.name$ *}
+  if$}
+
+if$
+}
+FUNCTION {format.names}
+{ 'bibinfo :=  duplicate$ empty$ 'skip$
+  {'s :=
+   "" 't :=
+   #1 'nameptr :=  s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.single.name
+      bibinfo bibinfo.check
+      't :=
+      nameptr #1 >
+        {nameptr #1 #1 + = numnames abnt.etal.list > and
+            {abnt.etal.list {"others" 't := #1 'namesleft :=} 'skip$ if$ }
+            'skip$
+          if$
+          namesleft #1 >
+            { "; " * t * }
+            { numnames #2 >
+                { "" * }
+                'skip$
+              if$
+              s nameptr "{ll}" format.name$ duplicate$ "others" =
+                { 't := }
+                { pop$ }
+              if$
+              t "others" =
+                { " \emph{et al.}" *}
+                { "; " * t *}
+              if$ }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+  } if$
+}
+
+%from plain.bst
+FUNCTION {format.names.plain}
+{ 's :=
+  #1 'nameptr :=
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ 't :=
+      nameptr #1 >
+	{ namesleft #1 >
+	    { ", " * t * }
+	    { numnames #20 >
+		{ "," * }
+		'skip$
+	      if$
+	      t "others" =
+		{ " \emph{et al.}" * }
+		{ bbl.and * t * }
+	      if$
+	    }
+	  if$
+	}
+	't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+FUNCTION {format.names.ed} {format.names}
+
+FUNCTION {format.authors}
+{
+author "author" format.names
+}
+
+FUNCTION {format.authors.plain}
+{
+author format.names.plain
+}
+
+FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {format.book.pages}
+{ pages "pages" bibinfo.check  duplicate$ empty$
+    'skip$
+    {  "~" * bbl.pages * }
+  if$
+}
+FUNCTION {format.dimensions}
+{ dimensions empty$
+    'skip$
+    { dimensions output}
+  if$
+}
+FUNCTION {format.furtherresp}
+{ furtherresp empty$
+    'skip$
+    { furtherresp output}
+  if$
+}
+FUNCTION {format.illustrated}
+{ illustrated missing$
+    'skip$
+    {illustrated empty$
+      {"il." output}
+      {illustrated output}
+     if$}
+  if$
+}
+FUNCTION {format.isbn}
+{ isbn "isbn" bibinfo.check duplicate$ empty$ 
+    'skip$
+    {new.block "ISBN " swap$ *}
+  if$
+}
+
+FUNCTION {format.issn}
+{ issn "issn" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {new.block "ISSN " swap$ *}
+  if$
+}
+
+FUNCTION {format.note}
+{ note empty$
+    { "" }
+    { note #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        { output.state mid.sentence =
+          { "l" }
+          { "u" }
+        if$
+        change.case$ }
+      if$
+      note #2 global.max$ substring$ * "note" bibinfo.check }
+  if$
+}
+
+FUNCTION {format.howpublished}
+{ howpublished empty$
+    { "" }
+    { howpublished #1 #1 substring$
+      duplicate$ "{" =
+        'skip$
+        { output.state mid.sentence =
+          { "l" }
+          { "u" }
+        if$
+        change.case$ }
+      if$
+      howpublished #2 global.max$ substring$ * "howpublished" bibinfo.check }
+  if$
+}
+
+%ABNT styles require that the title acts as an author if
+%typical author fields are absent. In this case the first
+%word is uppercase. Our main problem is to establish what
+%the first word actually is since portuguese uses accents.
+%For example: Fun{\c c}\ão (Função) is a whole word but contains a
+%space, but if we write Fun\c{c}\ão \c is converted to uppercase...
+%You get the problem, don't you?
+FUNCTION {format.title.as.author}
+{ 's := %holds the title
+  #1 'title.pos := %our position in the title
+  #1 'first.word := %boolean, true if we already have the first word
+  #1 'no.bracket := %boolean, false if we are inside a {}
+  "" 't := %holds the first title.pos characters of the title
+  {first.word}
+    {s title.pos #1 substring$ 'title.char :=
+      %checks if the character is a {
+      title.char "{" = {#0 'no.bracket :=} 'skip$ if$
+      %if we are in a bracket
+      no.bracket 'skip$ {title.char "}" = {#1 'no.bracket :=} 'skip$ if$}  if$
+      type$ "journalpart" =
+        {title.char "." = title.char ":" = or title.char "!" = or
+	 title.char "," = or title.char ";" = or title.char "?" = or}
+	{title.char " " =}
+      if$ s t = or no.bracket and
+       {#0 'first.word :=
+       t title.char * "u" change.case$
+       title.pos #1 + 'title.pos :=
+       s title.pos global.max$ substring$ * 's :=}
+       {title.pos #1 + 'title.pos := t title.char * 't :=}
+     if$
+     }
+  while$
+s
+}
+
+%compares current title with the title of the previous entry
+FUNCTION {compare.title}
+{abnt.repeated.title.omit
+  {duplicate$ "" = 'skip$
+    {duplicate$ previous.title = repeated.author and
+      {duplicate$ 'previous.title := pop$ bbl.same.field}
+      {duplicate$ 'previous.title :=}
+     if$}
+   if$}
+ 'skip$
+ if$
+}
+
+FUNCTION {apply.title.command}
+{abnt.title.command
+  {duplicate$ empty$ 'skip$
+    {"\bibtextitlecommand{" type$ * "}{" * swap$ * "}" *}
+    if$}
+  'skip$ if$
+}
+
+FUNCTION {format.title}
+{author empty$ editor empty$ and organization empty$ and
+  {title format.title.as.author}
+  {title  duplicate$ empty$ {pop$ ""} {"t" change.case$} if$}
+ if$
+ subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$
+ apply.title.command
+ compare.title
+}
+
+FUNCTION {n.dashify}
+{
+  't :=
+  ""
+    { t empty$ not }
+    { t #1 #1 substring$ "-" =
+        { t #1 #2 substring$ "--" = not
+            { "--" *
+              t #2 global.max$ substring$ 't :=
+            }
+            {   { t #1 #1 substring$ "-" = }
+                { "-" *
+                  t #2 global.max$ substring$ 't :=
+                }
+              while$
+            }
+          if$
+        }
+        { t #1 #1 substring$ *
+          t #2 global.max$ substring$ 't :=
+        }
+      if$
+    }
+  while$
+}
+
+%FUNCTION {word.in} { bbl.in " " * }
+FUNCTION {word.in} {"\emph{In}: "}
+
+FUNCTION {format.month}
+{ month empty$ 'skip$
+  {month "month" bibinfo.check}
+  if$
+}
+
+FUNCTION {format.date}
+{ year empty$
+    { month empty$
+	{ bbl.missing.year }
+	{ "existe o campo month (mês) mas não o campo year (ano) em " cite$ * warning$ month}
+      if$}
+    { month empty$
+	{ year n.dashify}
+	{ month " " * year * }
+      if$}
+  if$
+}
+FUNCTION {format.btitle}
+{author empty$ editor empty$ and organization empty$ and
+    {title format.title.as.author "title" bibinfo.check duplicate$ empty$ 'skip$ {} if$
+    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
+    {title "title" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
+    subtitle  empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$}
+if$
+apply.title.command
+compare.title
+}
+FUNCTION {either.or.check}
+{ empty$
+    'pop$
+    { "não posso usar ambos " swap$ * " os campos em " * cite$ * warning$ }
+  if$
+}
+
+FUNCTION {format.volume} %leaves formatted or empty volume on the stack
+{volume duplicate$ empty$
+   'skip$
+   {volume #1 #1 substring$ is.num
+      {bbl.volume swap$ tie.or.space.prefix * *}
+      'skip$
+    if$}
+ if$
+}
+
+FUNCTION {format.number} %leaves formatted or empty number on the stack
+{ number duplicate$ empty$
+    'skip$
+    {bbl.number swap$ tie.or.space.prefix * *}
+  if$
+}
+
+FUNCTION {format.patent.number}
+{ number
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+    { "" }
+    { format.volume
+      number empty$ 'skip$ {output format.number} if$
+      series "series" bibinfo.check
+      duplicate$ empty$ 'pop$
+        { swap$ bbl.of space.word * swap$
+          emphasize * }
+      if$
+    }
+  if$
+}
+
+FUNCTION {format.bvolume.if.no.series}
+{ series empty$
+    { format.bvolume }
+    { "" }
+  if$
+}
+
+FUNCTION {format.number.or.volume}
+{number empty$
+  {format.volume}
+  {number} %we use the pure number here without leading "n."
+ if$
+}
+
+FUNCTION {format.volume.and.number}
+{format.volume output
+ format.number
+}
+
+FUNCTION {format.volume.number.series}
+{ number empty$ volume empty$ and
+  { series empty$
+    { "" }
+    {" (" series "series" bibinfo.check * ")" *}
+    if$}
+  { series empty$
+    {""} %{ format.number.or.volume }
+    { " ("  series "series" bibinfo.check * ", " *
+     format.number.or.volume * ")" *  }
+     if$ }
+  if$
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+  "" 's :=
+  { t empty$ not }
+  { t #1 #1 substring$
+    t #2 global.max$ substring$ 't :=
+    duplicate$ is.num
+      { s swap$ * 's := }
+      { pop$ "" 't := }
+    if$ }
+  while$
+  s empty$
+    'skip$
+    { pop$ s }
+  if$
+}
+ 
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+    {output.state mid.sentence = { "l" } { "t" } if$ change.case$
+      "edition" bibinfo.check
+    edition #1 #1 substring$ is.num {". " * bbl.edition * } 'skip$ if$}
+  if$
+}
+INTEGERS { multiresult }
+FUNCTION {multi.page.check}
+{ 't :=
+  #0 'multiresult :=
+    { multiresult not
+      t empty$ not
+      and }
+    { t #1 #1 substring$
+      duplicate$ "-" =
+      swap$ duplicate$ "," =
+      swap$ "+" =
+      or or
+        { #1 'multiresult := }
+        { t #2 global.max$ substring$ 't := }
+      if$ }
+  while$
+  multiresult
+}
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+    { duplicate$ multi.page.check
+        { n.dashify bbl.pages swap$}
+        { bbl.page swap$ }
+      if$
+      tie.or.space.prefix "pages" bibinfo.check * * }
+  if$
+}
+FUNCTION {format.journal.pages}
+{ pages empty$ {""}
+    { pages n.dashify bbl.pages
+          swap$ tie.or.space.prefix "pages" bibinfo.check * *}
+  if$
+}
+
+FUNCTION {get.url.type}
+{s #1 #5 substring$ "http:" = {http.url}
+ {s #1 #6 substring$ "https:" = {http.url}
+  {s #1 #5 substring$ "file:" = {file.url}
+   {s #1 #4 substring$ "ftp:"  = {ftp.url}
+    {s #1 #4 substring$ "doi:"  = {doi.url}
+     {s #1 #7 substring$ "mailto:" = {mailto.url} {unknown.url} if$}
+      if$}
+     if$}
+    if$}
+   if$}
+  if$
+ 'url.type :=
+}
+
+FUNCTION {expand.doi}
+{s
+url.type doi.url =
+  {#5 global.max$ substring$ bbl.doi.url swap$ *}
+  'skip$ if$
+}
+
+INTEGERS {url.pos url.length}
+FUNCTION {filter.url.tex}
+{s text.length$ #1 + 'url.length :=
+ #1 'url.pos := "" 't :=
+  {url.pos url.length <}
+    {s url.pos #1 substring$
+    duplicate$ "_" = {pop$ "\underline{\ }" } 'skip$ if$
+    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
+    duplicate$ "&" = {pop$ "\&" } 'skip$ if$
+    duplicate$ "~" = {pop$ "\~{}" } 'skip$ if$
+    duplicate$ "/" = {pop$ "\-/" } 'skip$ if$
+    duplicate$ "." = {pop$ "\-." } 'skip$ if$
+    duplicate$ "\" = {pop$ "{\textbackslash}" } 'skip$ if$
+    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
+    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
+    t swap$ * 't :=
+    url.pos #1 + 'url.pos :=
+    }
+  while$
+t
+}
+FUNCTION {filter.url.html}
+{s text.length$ #1 + 'url.length :=
+ #1 'url.pos := "" 't :=
+  {url.pos url.length <}
+    {s url.pos #1 substring$
+    duplicate$ "%" = {pop$ "\%" } 'skip$ if$
+    duplicate$ "#" = {pop$ "\#" } 'skip$ if$
+    duplicate$ "_" = {pop$ "\_" } 'skip$ if$
+    t swap$ * 't :=
+    url.pos #1 + 'url.pos :=
+    }
+  while$
+t
+}
+
+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$
+}
+FUNCTION {format.url}
+{ url empty$ 'skip$
+    {url compose.url output new.sentence }
+  if$
+ urlaccessdate duplicate$ empty$ 'skip$
+    { bbl.url.accessdate swap$ *}
+  if$
+  "urlaccessdate" bibinfo.check output new.sentence
+}
+
+FUNCTION {format.conference.info}
+{ conference-number empty$
+    'skip$
+    {conference-number "." * output}
+  if$
+  conference-year empty$
+    'skip$
+    {conference-year output}
+  if$
+  conference-location empty$
+    'skip$
+    {conference-location output}
+  if$
+  new.sentence
+}
+
+FUNCTION {format.chapter.pages}
+{ chapter empty$
+    'format.pages
+    { type empty$
+        { bbl.chapter }
+        { type "l" change.case$
+          "type" bibinfo.check }
+      if$
+      chapter tie.or.space.prefix "chapter" bibinfo.check * *
+      pages empty$
+        'skip$
+        { ", " * format.pages * }
+      if$ }
+  if$
+}
+
+FUNCTION {format.booktitle}
+{author empty$ editor empty$ and organization empty$ and
+    {booktitle format.title.as.author "booktitle" bibinfo.check duplicate$ empty$ 'skip$ {} if$
+    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
+    apply.title.command} if$}
+    {booktitle "booktitle" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$
+    %{booktitle "booktitle" bibinfo.check "u" change.case$ duplicate$ empty$ 'skip$ {} if$
+    booksubtitle  empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ *
+    apply.title.command} if$}
+if$
+}
+FUNCTION {format.editors}
+{ editor  empty$
+   {"inbook" type$ = 'bbl.same.field 'skip$ if$}
+   {author empty$
+    {editor "editor" format.names " (" *
+     editortype empty$ {bbl.editor} {editortype} if$
+     ")" * * }
+    {"inbook" type$ =
+      {bbl.same.field }
+      {editor "editor" format.names " (" *
+       editortype empty$ {bbl.editor} {editortype} if$
+       ")" * *}
+    if$}
+   if$}
+  if$
+}
+FUNCTION {format.in.ed.booktitle}
+{ editor empty$
+    {organization empty$ not author empty$ not and    %if one of two not empty
+      {word.in organization "u" change.case$ * output
+       format.conference.info
+       booktitle empty$ {""} {new.sentence format.booktitle} if$}
+      {word.in
+       organization empty$ author empty$ and 'skip$
+         {"inbook" type$ = {bbl.same.field * output new.sentence ""}
+         'skip$ if$  } if$
+       booktitle empty$ 'skip$ {format.booktitle *} if$}
+     if$}
+    {word.in format.editors * output
+     booktitle empty$ {""} {new.sentence format.booktitle} if$}
+  if$
+  output
+  new.sentence
+}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+  month empty$ year empty$ note empty$
+  and and and and and
+  key empty$ not and
+    { "todos os campos relevantes estão vazios ou faltando em " cite$ * warning$ }
+    'skip$
+  if$
+}
+FUNCTION {format.type}
+{ type "type" bibinfo.check
+  duplicate$ empty$ 'skip$
+    {new.block "" swap$ * }
+  if$
+}
+
+FUNCTION {format.year}
+{year empty$
+   { "campo year vazio ou faltando em " cite$ *
+    abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
+    abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+    {year n.dashify "year" bibinfo.check}
+if$
+}
+
+FUNCTION {format.year.presented}
+{year-presented empty$
+   {""}
+   {year-presented n.dashify}
+if$
+}
+
+FUNCTION {format.field.address}
+{ 't :=
+  address empty$ organization empty$ and url empty$ and t empty$ and
+    {bbl.no.address.no.publisher}
+    {address empty$
+      %if an url is present we don't give a missing address "[s.l.]" notice
+      {url empty$  {bbl.no.address ": "} {"" ""} if$}
+      {address ": "}
+    if$
+    t empty$
+      {%if an organization is present then it is OK not to have a publisher
+       organization empty$ {* bbl.no.publisher * } 'pop$ if$}
+      {* t * }
+     if$}
+  if$
+}
+
+FUNCTION {format.address}
+{address empty$
+  { bbl.no.address}
+  { address}
+ if$
+}
+
+FUNCTION {format.publisher.address}
+{ publisher "publisher" bibinfo.check format.field.address}
+
+FUNCTION {format.publisher.address.relax}
+{publisher empty$ address empty$ and {""}
+ {publisher "publisher" bibinfo.check format.field.address}
+if$}
+
+FUNCTION {format.organization.address}
+{ organization "organization" bibinfo.check format.field.address}
+
+%retains current authorship for future use
+FUNCTION {compare.authorship}
+{abnt.repeated.author.omit
+  {duplicate$ "" = 'skip$
+    {duplicate$ previous.author =
+      {duplicate$ 'previous.author :=
+       pop$ bbl.same.field
+       #1 'repeated.author :=}
+      {duplicate$ 'previous.author :=
+       #0 'repeated.author :=}
+     if$}
+   if$}
+ 'skip$
+ if$
+}
+
+FUNCTION {format.author.or.organization}
+{  author empty$
+    { organization empty$ 'skip$
+      { organization "u" change.case$ "organization"  bibinfo.check output}
+      if$}
+    { format.authors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.editor.or.organization}
+{  editor empty$
+    { organization empty$ 'skip$
+      { organization "u" change.case$ "organization"  bibinfo.check output}
+      if$}
+    { format.editors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.author.or.editor.or.organization}
+{ author empty$
+    { editor empty$
+        { organization empty$
+	    'skip$
+            { organization "u" change.case$ "organization"  bibinfo.check output}
+          if$}
+        { format.editors output.nonnull }
+      if$}
+    { format.authors output.nonnull }
+  if$
+  compare.authorship
+}
+
+FUNCTION {format.reprint}
+{ reprinted-text missing$
+    {""}
+    {reprinted-text empty$
+      {bbl.reprint} {reprinted-text} if$
+     bbl.colon *}
+  if$
+}
+
+FUNCTION {format.journal}
+{
+  format.reprint
+  journal emphasize *
+}
+
+%generates the first label in \abntrefinfo to be used with \citeonline
+FUNCTION {format.names.for.label1} %abnt-alf only
+{ 's := "" 't :=
+   #1 'nameptr :=  s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    {abnt.last.names
+       {s nameptr "{ll}{ jj}" format.name$}
+       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
+        s nameptr "{ jj}" format.name$ *}
+     if$
+     't :=
+      nameptr #1 >
+        {namesleft #1 >
+          { numnames abnt.etal.cite > abnt.etal.cite #0 = not and
+	    {#0 'namesleft := abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+	    {", " * t * } if$ }
+            { t "others" =
+              {abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+                {numnames nameptr =
+                {bbl.and * t *}
+		'skip$ if$}
+             if$
+	     }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+}
+
+%generates the second label in \abntrefinfo to be used with \cite
+FUNCTION {format.names.for.label2} %abnt-alf only
+{ 's := "" 't :=
+   #1 'nameptr :=  s num.names$ 'numnames :=
+    numnames 'namesleft :=
+    { namesleft #0 > }
+    {abnt.last.names
+       {s nameptr "{ll}{ jj}" format.name$}
+       {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$
+        s nameptr "{ jj}" format.name$ *}
+     if$
+     % Desabilita caixa alta nas citações do comando \cite ao logo do texto
+     %abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ 't :=
+     abnt.cite.style #0 = {} 'skip$ if$ 't :=
+      nameptr #1 >
+        {namesleft #1 >
+            { numnames abnt.etal.cite > 
+	      {#0 'namesleft := abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$} 
+	      {"; " * t * } if$ }
+            { t "OTHERS" = t "others" = or
+	      {abnt.etal.cite {" \emph{et al.}" *} 'skip$ if$}
+	      {numnames nameptr = { bbl.semicolon * t *} 'skip$ if$}
+             if$
+	     }
+          if$ }
+        't
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft := }
+  while$
+}
+
+FUNCTION {format.title.for.label}
+{  's :=
+  #1 'title.pos :=   #1 'first.word :=
+  "" 't :=
+  {first.word}
+    {s title.pos #1 substring$ 'title.char :=
+        title.char "." = title.char ":" = or title.char ";" = or
+	title.char "," = or title.char " " = or s t = or
+       {#0 'first.word :=
+       title.pos #1 + 'title.pos :=}
+       {title.pos #1 + 'title.pos := t title.char * 't :=}
+     if$
+     }
+  while$
+s t = %title equals first word, dont use bbl.ldots
+  {t  "}{" * t
+  %abnt.cite.style #0 = {"u" change.case$ * } 'skip$ if$}
+  abnt.cite.style #0 = { * } 'skip$ if$}
+  {t bbl.ldots * "}{" * t
+  %abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ * bbl.ldots *}
+  abnt.cite.style #0 = {} 'skip$ if$ * bbl.ldots *}
+if$
+}
+
+%cvs keys have the general form $key: value $
+INTEGERS {key.pos value.pos}
+FUNCTION {extract.cvs.key} %we borrow the functionality of format.title.for.label
+{ 's := %holds the entire cvs string
+  #1 'key.pos :=
+  #0 'value.pos := %0= between first $ and :, 1=between : and second $, 2= at the end
+  "" 't := %holds the resulting value
+  {value.pos #0 = value.pos #1 = or}
+    { s key.pos #1 substring$ 'title.char :=
+      value.pos #0 =
+      { title.char ":" = {#1 'value.pos := key.pos #1 + 'key.pos :=} 'skip$ if$}
+      { title.char "$" =
+        {#2 'value.pos :=}
+        {t title.char * 't :=}
+	if$}
+     if$
+     key.pos #1 + 'key.pos :=
+     }
+  while$
+  t
+}
+
+%generates and extended label of type {Author}{AUTHOR}{YEAR}
+%for abnt.cite.style=1 they will be of type {Author}{Author}{YEAR}
+%final result is placed into variable label
+FUNCTION {calc.extended.label}
+{ "{"
+  author empty$ not
+    {author format.names.for.label1 * "}{" * author format.names.for.label2 *}
+    {editor empty$ not
+     {editor format.names.for.label1 * "}{" *  editor format.names.for.label2 *}
+     {org-short empty$ not
+      %{org-short * "}{" * org-short "u" change.case$ *}
+      {org-short * "}{" * org-short *}
+      {organization empty$ not
+       %{organization * "}{" * organization "u" change.case$ *}
+       {organization * "}{" * organization *}
+        {title empty$ not
+         {title format.title.for.label *}
+         {"nada}{NADA" *}
+       if$}
+      if$}
+     if$}
+    if$}
+   if$
+ "}{" *
+ year empty$ 'skip$ {year *} if$
+ 'label := %place the stack into label
+ % final } will be placed in reverse.pass
+}
+%generates and simple label of type "Author YEAR"
+%final result is placed onto the stack
+FUNCTION {calc.simple.label}
+{ author empty$ not
+    {author format.names.for.label1}
+    {editor empty$ not
+     {editor format.names.for.label1}
+     {organization empty$ not
+      {organization}
+      {title empty$ not
+       {title}
+       {""}
+      if$}
+     if$}
+    if$}
+   if$
+ year empty$ 'skip$ {" " * year *} if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+  abnt.alf
+    {"\bibitem[" write$
+    calc.simple.label
+    write$ "]{"}
+    {"\bibitem{"}
+  if$
+  write$ cite$ write$ "}" write$ newline$
+  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
+  "{" write$
+  "" before.all 'output.state :=
+}
+FUNCTION {output.hiddenbibitem}
+{ newline$
+  abnt.alf
+    {"\hiddenbibitem[" write$
+    calc.simple.label
+    write$ "]{"}
+    {"\bibitem{"}
+  if$
+  write$ cite$ write$ "}" write$ newline$
+  abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$
+  "{" write$
+  "" before.all 'output.state :=
+}
+FUNCTION {fin.entry}
+{ add.period$ write$
+  reprinted-from empty$ 'skip$
+    {" " reprinted-text empty$
+      {bbl.reprint} {reprinted-text} if$ * bbl.colon *
+     "\abntreprintinfo{ " * reprinted-from * "}" * write$}
+    if$
+  abnt-note empty$ 'skip$
+    {"\footnote{" abnt-note * "}" * write$} if$
+  "}" write$
+  %newline$
+  write.entry.verbatim
+}
+
+FUNCTION { abnt.display.options}
+{ 's := 't :=
+  abnt.show.options #1 = % "warn"
+  {"opção " t * " passou para " * s * warning$ } 'skip$ if$
+
+  abnt.show.options #2 = % "list"
+  {"Op\c c\~ao selecionada {\tt " t * "=}\verb+" * s * "+" * output new.sentence } 'skip$ if$
+}
+
+FUNCTION { abnt-options1 }
+  {
+    abnt-show-options empty$
+    'skip$
+      {abnt-show-options "no" =
+        {#0} {abnt-show-options "warn" =
+           {#1} {abnt-show-options "list" =
+             {#2 } {#0 } if$} if$} if$
+      'abnt.show.options :=} % #0 "no"; #1 "warn"; #2 "list"
+    if$
+
+    abnt.show.options #2 =
+    {output.bibitem "Mudan\c ca de estilo ap\'os este ponto com o comando \verb!\citeoption{"
+    cite$ * "}! " *
+    output new.sentence} 'skip$ if$
+
+    abnt-show-options empty$
+    'skip$ {"abnt-show-options" abnt-show-options abnt.display.options} if$
+
+    abnt-cite-style empty$
+      'skip$
+      {abnt-cite-style "(AUTHOR, YEAR)" =
+        {#0 'abnt.cite.style :=}
+	{abnt-cite-style "(Author, YEAR)" =
+	  {#1 'abnt.cite.style :=}
+	  {"opção " abnt-cite-style * " desconhecida" * warning$}
+	 if$}
+        if$
+       "abnt-cite-style" abnt-cite-style abnt.display.options}if$
+
+    abnt-experimental empty$
+    'skip$ {abnt-experimental "yes" = 'abnt.experimental :=
+    "abnt-experimental" abnt-experimental abnt.display.options} if$
+
+    abnt-emphasize duplicate$ empty$
+    'pop$ {'abnt.emphasize :=
+    "abnt-emphasize" abnt.emphasize abnt.display.options
+    abnt-emphasize "\bf" = abnt-emphasize "\it" = or abnt-emphasize "\em" = or
+    abnt-emphasize "\bfseries" = or
+      {"não use " abnt-emphasize * " para abnt-emphasize em " * cite$ *
+      ", isto alterará TODO o texto. Use \textbf ou \emph. Veja a documentação abnt-bibtex-doc para mais detalhes." * warning$}
+    'skip$ if$
+    } if$
+
+    abnt-doi empty$
+      'skip$
+      {abnt-doi "expand" =
+        {abnt.doi.expand.to.url 'abnt.doi :=}
+	{abnt-doi "link" =
+	  {abnt.doi.link 'abnt.doi :=}
+	  {abnt-doi "doi" =
+	    {abnt.doi.leave.as.is 'abnt.doi :=}
+	    {"opção " abnt-doi * " desconhecida" * warning$}
+	   if$}
+	 if$}
+        if$
+       "abnt-doi" abnt-doi abnt.display.options}if$
+ }
+FUNCTION { abnt-options2 }
+  {
+    abnt-full-initials empty$
+    'skip$ {abnt-full-initials "yes" = 'abnt.full.initials :=
+    "abnt-full-initials" abnt-full-initials abnt.display.options} if$
+
+    abnt-last-names empty$
+      'skip$
+      {abnt-last-names "abnt" =   {#0}
+        {abnt-last-names "bibtex" = {#1} {#0} if$} if$
+       'abnt.last.names :=
+       "abnt-last-names" abnt-last-names abnt.display.options}
+    if$
+
+    abnt-ldots-type empty$
+      'skip$
+      {abnt-ldots-type "none" =   {#0}
+        {abnt-ldots-type "normal" = {#1}
+          {abnt-ldots-type "math" =   {#2}
+            {abnt-ldots-type "text" =   {#1} {#0}
+	    if$} if$} if$} if$
+       'abnt.ldots.type :=
+       "abnt-ldots-type" abnt-ldots-type abnt.display.options}
+    if$
+
+    abnt-missing-year empty$
+      'skip$
+      {abnt-missing-year "void" = {#0}
+	{abnt-missing-year "sd" = {#1} {#0} if$}
+       if$
+       'abnt.missing.year :=
+       "abnt-missing-year" abnt-missing-year abnt.display.options}
+    if$
+
+    abnt-and-type empty$
+    'skip$ {abnt-and-type "e" =
+              {#0} {abnt-and-type "&" =
+                {#1} {#0} if$} if$
+            'abnt.and.type :=
+      "abnt-and-type" abnt-and-type abnt.display.options}
+    if$
+    
+    abnt-thesis-year empty$
+    'skip$ {abnt-thesis-year "final" =
+              {#0} {abnt-thesis-year "title" =
+                {#1} {abnt-thesis-year "both" =
+                  {#2} {#0} if$} if$} if$
+            'abnt.thesis.year :=
+      "abnt-thesis-year" abnt-thesis-year abnt.display.options}
+    if$
+
+    abnt-refinfo empty$
+    'skip$ {abnt-refinfo "yes" = 'abnt.refinfo :=
+    "abnt-refinfo" abnt-refinfo abnt.display.options} if$
+}
+FUNCTION { abnt-options3 }
+  {
+
+    abnt-dont-use-etal empty$
+    'skip$ {abnt-dont-use-etal "yes" = {#0 'abnt.etal.list :=} 'skip$ if$
+    "Uso da opção abnt-dont-use-etal se tornou obsoleto, usamos abnt-etal-list." warning$
+    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
+
+    abnt-etal-cite empty$
+    'skip$ {abnt-etal-cite str.to.int 'abnt.etal.cite :=
+    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
+
+    abnt-etal-list empty$
+    'skip$ {abnt-etal-list str.to.int 'abnt.etal.list :=
+    "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$
+
+    abnt-etal-text missing$
+    'skip$ {abnt-etal-text  'abnt.etal.text :=
+    "abnt-etal-text" abnt.etal.text abnt.display.options} if$
+
+    abnt-no-etal-label empty$
+    'skip$ {abnt-no-etal-label "yes" = {#0 'abnt.etal.cite :=} 'skip$ if$
+    "Uso da opção abnt-no-etal-label se tornou obsoleto, usamos abnt-etal-cite." warning$
+    "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$
+
+    abnt-repeated-author-omit empty$
+    'skip$ {abnt-repeated-author-omit "yes" =
+            {#1 'abnt.repeated.author.omit :=}
+	    {#0 'abnt.repeated.author.omit := "" 'previous.author :=} if$
+    "abnt-repeated-author-omit" abnt-repeated-author-omit abnt.display.options} if$
+
+    abnt-repeated-title-omit empty$ 'skip$
+      {abnt-repeated-title-omit "yes" =
+        {#1 'abnt.repeated.title.omit :=}
+	{#0 'abnt.repeated.title.omit := "" 'previous.title :=} if$
+        "abnt-repeated-title-omit" abnt-repeated-title-omit abnt.display.options
+        abnt.repeated.author.omit not abnt.repeated.title.omit and
+          {"Use abnt-repeated-title-omit=yes junto com abnt-repeated-author-omit=yes"
+          warning$} 'skip$ if$} if$
+
+    abnt-title-command empty$
+    'skip$ {abnt-title-command "yes" =
+            {#1 'abnt.title.command :=}
+	    {#0 'abnt.title.command :=} if$
+    "abnt-title-command" abnt-title-command abnt.display.options} if$
+
+    abnt-url-package empty$ 'skip$
+      {abnt-url-package "url" =
+         {#1 'abnt.url.package :=}
+         {abnt-url-package "hyperref" = {#2 'abnt.url.package :=} 'skip$ if$}
+       if$
+       "abnt-url-package" abnt-url-package abnt.display.options}
+     if$
+
+    abnt-verbatim-entry empty$
+    'skip$ {abnt-verbatim-entry "yes" = 'abnt.verbatim.entry :=
+    "abnt-verbatim-entry" abnt-verbatim-entry abnt.display.options} if$
+  
+  abnt.show.options #2 = 'fin.entry  'skip$ if$
+  }
+
+%we had to break this function in two parts because of the following message:
+%Sorry---you've exceeded BibTeX's single function space 100
+%(That was a fatal error)
+FUNCTION { iso-options1 }
+  {
+  iso-abbreviation empty$
+    'skip$ {iso-abbreviation "standard" = 'iso.abbreviation :=
+    "iso-abbreviation" iso-abbreviation abnt.display.options} if$
+  iso-author-punctuation empty$
+    'skip$ {iso-author-punctuation "void" = 'iso.author.punctuation :=
+    "iso-author-punctuation" iso-author-punctuation abnt.display.options} if$
+  iso-date-place empty$
+    'skip$ {iso-date-place "ISO" = 'iso.date.place :=
+    "iso-date-place" iso-date-place abnt.display.options} if$
+  }
+
+FUNCTION { abnt-options }
+  {
+  abnt-options1
+  abnt-options2
+  abnt-options3
+  iso-options1
+  }
+
+FUNCTION { iso-options } { abnt-options }
+
+FUNCTION { iso.year.label }
+{  iso.date.place
+     { abnt.alf
+         {year.label output new.sentence}
+	 'skip$ if$}
+    'skip$ if$}
+
+FUNCTION { iso.date }
+{  iso.date.place
+     { abnt.alf
+	 'skip$ 
+          {year output new.sentence}
+	 if$}
+    'skip$ if$}
+
+FUNCTION { non.iso.date }
+  {iso.date.place  'skip$ {format.date output} if$}
+
+FUNCTION {article}
+{ output.bibitem
+  format.author.or.organization  new.sentence
+  iso.year.label
+  format.title "title" output.check new.block
+  format.journal output
+  iso.date.place {format.year output} 'skip$ if$
+  %iso.date.place {format.date output} 'skip$ if$
+  %iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+  %               {format.year output new.sentence} if$
+  section "section" bibinfo.check output.dash
+  publisher "publisher" bibinfo.check output
+  address "address" bibinfo.check output
+  format.volume output
+  format.number output
+  format.pages output
+  non.iso.date
+  format.issn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+FUNCTION {book}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.volume output new.sentence
+  format.book.pages output
+  format.illustrated
+  format.dimensions  new.sentence
+  format.howpublished output  new.sentence
+  format.volume.number.series output new.sentence
+  format.note output
+  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {booklet}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.edition output new.sentence
+  address "address" bibinfo.check output
+  format.bvolume output
+  %format.date output  new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.book.pages output new.sentence
+  format.volume.number.series output new.sentence
+  format.note output
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+
+FUNCTION {hidden}
+{ output.hiddenbibitem
+  fin.entry}
+
+FUNCTION {inbook}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check new.block
+  format.in.ed.booktitle
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  %format.year output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.volume.number.series output
+  format.chapter.pages output new.sentence
+  format.isbn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check new.sentence
+  format.in.ed.booktitle
+  format.edition output new.sentence
+  format.publisher.address output
+  %format.year output
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output} if$
+  format.volume.number.series output new.sentence
+  format.bvolume.if.no.series output
+  format.chapter.pages output new.sentence
+  format.isbn output new.block
+  format.note output new.block
+  format.url
+  fin.entry
+}
+FUNCTION {inproceedings}
+{ output.bibitem
+  format.author.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check  new.sentence
+  format.in.ed.booktitle
+  format.publisher.address output
+  %format.year output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.volume.number.series output
+  format.pages output
+  format.isbn output
+  format.issn output new.sentence
+  format.note output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {journalpart}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output new.sentence
+  format.btitle "title" output.check new.sentence
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.publisher.address output
+  format.volume output
+  format.number output
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.date output new.sentence} if$
+  format.book.pages output
+  format.illustrated
+  format.dimensions  new.sentence
+  format.note output
+  format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
+  format.isbn output new.sentence
+  format.url
+  fin.entry
+}
+FUNCTION {conference} { inproceedings }
+FUNCTION {manual}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.btitle "title" output.check new.block
+  format.furtherresp new.sentence
+  format.edition output new.sentence
+  format.address output
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.bvolume.if.no.series output
+  format.book.pages output new.sentence
+  format.volume.number.series output new.sentence
+  format.note output new.sentence
+  format.url
+  fin.entry
+}
+
+FUNCTION {misc}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.type output
+  format.btitle output new.sentence
+  format.furtherresp new.sentence
+  format.publisher.address.relax output
+  %format.date output  new.block
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.book.pages output new.sentence
+  format.illustrated
+  format.dimensions  new.sentence
+  format.howpublished output  new.block
+  format.volume.number.series output new.sentence
+  format.note output  new.block
+  format.url
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+  format.editor.or.organization new.sentence
+  iso.year.label
+  format.authors.plain  output new.sentence
+  format.btitle output new.sentence
+  format.furtherresp new.sentence
+  %format.date output  new.block
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.patent.number output
+  format.howpublished output  new.block
+  format.note output  new.block
+  format.url
+  fin.entry
+  empty.misc.check
+}
+
+FUNCTION {format.thesis.type}
+{ type$ "phdthesis" =
+    {bbl.phdthesis}
+    {type$ "mastersthesis" =
+       {bbl.mthesis}
+       {type$ "monography" =
+          {bbl.monography}
+	  {bbl.void}
+        if$}
+     if$}
+  if$
+  type empty$
+    {type missing$
+       {type$ "phdthesis" =
+          { " (" bbl.phd * ")" *}
+          {type$ "mastersthesis" = { " (" bbl.master * ")" *} {pop$ ""} if$}
+        if$}
+       {""}
+     if$}
+     {type$ "thesis" =
+       {type}
+       {" (" type  * ")" * "type" bibinfo.check}
+      if$}
+  if$
+ * %joins first and second part of this function
+}
+FUNCTION {thesis}
+{ output.bibitem
+  format.authors "author" output.check new.block
+  iso.year.label
+  format.btitle "title" output.check new.block
+  abnt.thesis.year #1 = abnt.thesis.year #2 = or
+    {format.date "year" output.check new.sentence} 'skip$ if$
+  format.year.presented output new.sentence
+  format.book.pages output new.sentence
+  format.thesis.type output.nonnull
+  school "school" bibinfo.warn output.dash
+  address "address" bibinfo.check output
+  abnt.thesis.year #0 = abnt.thesis.year #2 = or
+    {format.date "year" output.check new.sentence} 'skip$ if$
+  format.note output new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {phdthesis}     { thesis }
+FUNCTION {mastersthesis} { thesis }
+FUNCTION {monography}    { thesis }
+
+FUNCTION {proceedings}
+{ output.bibitem
+  iso.year.label
+  format.editor.or.organization
+  format.conference.info
+  format.btitle "title" output.check
+  format.bvolume output
+  format.volume.number.series output
+  editor empty$
+    { publisher empty$
+        'skip$
+        { new.sentence format.publisher.address output format.year output}
+      if$
+    }
+    { publisher empty$
+        { new.sentence
+          format.organization.address output format.year output}
+        { new.sentence
+          organization "organization" bibinfo.check output
+          format.publisher.address output format.year output}
+      if$ }
+  if$
+  new.sentence format.book.pages output new.sentence
+  format.isbn output
+  format.issn output  new.block
+  format.note output  new.block
+  format.url
+  fin.entry
+}
+
+FUNCTION {techreport} {manual}
+
+FUNCTION {unpublished}
+{ output.bibitem
+  format.author.or.editor.or.organization new.sentence
+  iso.year.label
+  format.title "title" output.check  new.sentence
+  format.note "note" output.check  new.sentence
+  %format.date output new.sentence
+  iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
+                 {format.year output new.sentence} if$
+  format.url
+  fin.entry
+}
+
+FUNCTION {default.type} { misc }
+READ
+FUNCTION {sortify}
+{ purify$
+  "l" change.case$
+}
+INTEGERS { len }
+FUNCTION {chop.word}
+{ 's :=
+  'len :=
+  s #1 len substring$ =
+    { s len #1 + global.max$ substring$ }
+    's
+  if$
+}
+FUNCTION {sort.format.names}
+{ 's :=
+  #1 'nameptr :=
+  ""
+  s num.names$ 'numnames :=
+  numnames 'namesleft :=
+    { namesleft #0 > }
+    { format.single.name 't :=
+      nameptr #1 >
+        {
+          nameptr #3
+          #1 + =
+          numnames #3
+          > and
+            { "others" 't :=
+              #1 'namesleft := }
+            'skip$
+          if$
+          "   "  *
+          namesleft #1 = t "others" = and
+            { "zzzzz" * }
+            { t sortify * }
+          if$
+        }
+        { t sortify * }
+      if$
+      nameptr #1 + 'nameptr :=
+      namesleft #1 - 'namesleft :=
+    }
+  while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+  "A " #2
+    "An " #3
+      "The " #4 t chop.word
+    chop.word
+  chop.word
+  sortify
+  #1 global.max$ substring$
+}
+FUNCTION {any.sort}
+{ author empty$
+  { organization empty$
+    { editor empty$
+      { title empty$
+        { key empty$
+          { "para ordenar, precisa dos campos author, organization, editor, title ou key in " cite$ * warning$ ""}
+          { key sortify }
+        if$}
+        { title sortify}
+      if$}
+      { editor sort.format.names }
+    if$}
+    { organization sortify }
+  if$}
+  { author sort.format.names }
+if$
+}
+
+FUNCTION {presort}
+{ 
+ any.sort
+  "    " * year field.or.null sortify * "    " * title field.or.null
+  sort.format.title * #1 entry.max$ substring$
+  %for non-alpha style we drop a void sort.key such that SORT has no effect
+  abnt.alf 'skip$ {pop$ ""} if$ 'sort.key$ :=
+  year empty$ {""} {year} if$ 'year.label :=
+  calc.extended.label
+}
+
+FUNCTION {set.default.abnt.variables}
+{ %if you change abnt-num to abnt-alf by hand you need also to change
+  %the name of RCSfile by hand, otherwise cvs takes care of it.
+  %
+  "$RCSfile: unbtexcite-pt.bst,v $ " extract.cvs.key
+  %
+  "unbtexcite-pt.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num
+  "$Revision: v-1.9.7 $" extract.cvs.key 'abnt.bst.revision :=
+  #0 'abnt.and.type     :=     % #0 "e"; #1 "&"
+  "\emph" 'abnt.emphasize :=
+  #0 'abnt.cite.style :=       %default norm version for NBR10520
+                               %#0 \cite=(AUTHOR, YEAR)
+			       %#1 \cite=(Author, YEAR)
+  #0 'abnt.experimental :=
+  abnt.doi.expand.to.url 'abnt.doi :=
+  #3 'abnt.etal.cite :=
+  #3 'abnt.etal.list :=
+  "et al." 'abnt.etal.text :=
+  #0 'abnt.full.initials :=
+  #0 'abnt.last.names :=      %#0 abnt-style, #1 bibtex-style
+  #1 'abnt.ldots.type :=      %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
+  #0 'abnt.missing.year :=    %#0 "void"; #1 "[s.d.]"
+  #0 'repeated.author :=
+  #0 'abnt.repeated.author.omit :=
+  #0 'abnt.repeated.title.omit :=
+  #1 'abnt.refinfo :=
+  #0 'abnt.show.options :=    % #0 "no"; #1 "warn"; #2 "list"
+  #0 'abnt.thesis.year :=     % #0 "final"; #1 "title"; #2 "both"
+  #0 'abnt.title.command :=   % #0 "no"; #1 "yes"
+  #0 'abnt.url.package :=     % #0 "none"'; #2 "url"; #2 "hyperref"
+  #0 'abnt.verbatim.entry :=
+}
+FUNCTION {set.default.iso.variables}
+{ #0 'iso.abbreviation := % #0 ABNT-style; #1 ISO-style
+  #0 'iso.author.punctuation := % #0 ABNT (Smith, A. B.); #1 ISO (Smith, AB)
+  #0 'iso.date.place := % #0 ABNT-sty; #1 ISO-style
+}
+EXECUTE {set.default.abnt.variables}
+EXECUTE {set.default.iso.variables}
+FUNCTION {process.early.abnt.options}
+{%here we intercept all entries which need priority handling
+ %note: we cannot use type$ at this point
+ abnt-and-type missing$
+ abnt-experimental missing$ and
+ abnt-etal-cite missing$ and
+ abnt-etal-text missing$ and
+ abnt-ldots-type missing$ and
+ abnt-cite-style missing$ and
+ abnt-no-etal-label missing$ and
+ abnt-title-command missing$ and
+ 'skip$ {call.type$} if$
+}
+ITERATE {process.early.abnt.options}
+FUNCTION {search.reprinted}
+{  reprinted-from missing$ 'skip$
+  {"\nocite{" reprinted-from * "}" * write$ newline$
+  }
+  if$
+}
+ITERATE {search.reprinted}
+FUNCTION {abntreprintinfo}
+{"\providecommand{\abntreprintinfo}[1]{%" write$ newline$
+ " \citeonline{#1}}" write$ newline$}
+EXECUTE {abntreprintinfo}
+ITERATE {presort}
+SORT
+STRINGS { last.label next.extra}
+INTEGERS { last.extra.num }
+FUNCTION {forward.pass}
+{ last.label label =
+    { last.extra.num #1 + 'last.extra.num :=
+      last.extra.num int.to.chr$ 'extra.label :=
+    }
+    { "a" chr.to.int$ 'last.extra.num :=
+      "" 'extra.label :=
+      label 'last.label :=
+    }
+  if$
+}
+
+FUNCTION {reverse.pass}
+{ next.extra "b" =
+    { "a" 'extra.label := }
+    'skip$
+  if$
+  label extra.label * 'label :=
+  year.label extra.label * 'year.label :=
+  extra.label 'next.extra :=
+  label "}" * 'label :=
+}
+ITERATE {forward.pass}
+REVERSE {reverse.pass}
+FUNCTION {begin.bib}
+{
+  abnt.alf
+    {"\setlength{\labelsep}{0pt}" write$}
+    'skip$
+  if$
+  "\begin{thebibliography}{}" write$ newline$
+  preamble$ empty$
+    'skip$
+    { preamble$ write$ newline$ }
+  if$
+  abnt.refinfo #1 =
+  {"\providecommand{\abntrefinfo}[3]{}" write$ newline$}
+  'skip$ if$
+  "\providecommand{\abntbstabout}[1]{}" write$ newline$
+  abnt.title.command
+    {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$}
+    'skip$ if$
+  "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
+  %Se você não usa abntcite e precisa que a margem direita não
+  %seja justificada, descomente a linha seguinte
+  %alternativamente coloque \bibliography{abnt-nrj,...
+%  "\setlength{\rightskip}{0pt plus 2cm}" write$ newline$
+}
+EXECUTE {begin.bib}
+EXECUTE {init.state.consts}
+FUNCTION {process.entry}{call.type$}
+ITERATE {process.entry}
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$
+}
+EXECUTE {end.bib}
+FUNCTION {apresentacao}
+{ "+---------------------------------------------------------+"
+  "| http://www.abntex.net.br/                               |"
+  "| Em caso de dúvidas ou problemas com este estilo procure |"
+  abnt.alf
+ {"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * "          |" *}
+ {"| Estilo bibliográfico abntex2-num.bst versão " abnt.bst.revision * "          |" *}
+ if$
+  "+---------------------------------------------------------+"
+  stack$
+}
+EXECUTE{apresentacao}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/bibtex/bst/unbtex/unbtexcite-pt.bst
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/unbtex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/README.md	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/README.md	2023-11-09 22:25:54 UTC (rev 68793)
@@ -1,6 +1,6 @@
 # UnBTeX: A class for bachelor, master, and doctoral thesis at the
 University of Brasilia (UnB), Brazil.
-Version 1.3.2 2023/10/20
+Version 1.3.3 2023/11/02
 
 Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira at unb.br>
 
@@ -57,6 +57,12 @@
       references in ABNT style for documents written in English.
   1.3.2 (2023-10-20):
     . Documentation and comments improvements
+  1.3.3 (2023-11-02):
+    . The abtex2eng-alf.bst file has been replaced by the unbtexcite-en.bst
+      and unbtexcite-pt.bst files. These style files generate citations and
+      bibliographic references in accordance with updates to ABNT's NBR
+      6023:2018 and NBR 10520:2023 standards 
+    . Example and code comments improvements
       
 ## Overleaf
 

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/apendice-a.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/apendice-a.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/apendice-a.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -27,7 +27,7 @@
 \end{verbatim}
 e a citação apareceria assim: \cite{greenwade93}.
 
-Para fazer uma citação direta no formato ABNT, criamos o ambiente \verb|citacao|, que é uma simples generalização do ambiente \verb|quotation| (habilitado por padrão) com um campo específico de autor. Veja o exemplo a seguir:
+Para fazer uma citação direta no formato ABNT, criamos o ambiente \Verb[fontsize=\normalsize]|citacao|, que é uma simples generalização do ambiente \Verb[fontsize=\normalsize]|quotation| (habilitado por padrão) com um campo específico de autor. Veja o exemplo a seguir:
 \begin{verbatim}
 \begin{citacao}{Carl Sagan}
     Alegações extraordinárias exigem evidências extraordinárias.
@@ -37,7 +37,7 @@
 \begin{citacao}{Carl Sagan}
     Alegações extraordinárias exigem evidências extraordinárias.
 \end{citacao}
-O comando \verb|\cite{...}| pode ser usado como indicação do autor:
+O comando \Verb[fontsize=\normalsize]|\cite{...}| pode ser usado como indicação do autor:
 \begin{verbatim}
 \begin{citacao}{\cite{greenwade93}}
 TEX is a typesetting program designed for high-quality composition of material
@@ -48,7 +48,7 @@
 has been made freely available by Knuth.
 \end{citacao}
 \end{verbatim}
-Naturalmente, a referência \verb|grennwade93| deve estar definida no arquivo Bib\TeX\ (aqui, \verb|references.bib|). Confira o resultado:
+Naturalmente, a referência \Verb[fontsize=\normalsize]|grennwade93| deve estar definida no arquivo Bib\TeX\ (aqui, \Verb[fontsize=\normalsize]|references.bib|). Confira o resultado:
 \begin{citacao}{\cite{greenwade93}}
 TEX is a typesetting program designed for high-quality composition of material that contains a lot of mathematical and technical expressions. It has been adopted by many authors and publishers who generate technical books and papers. It was created by Professor Donald E. Knuth of Stanford University, originally for preparation of his book series ``The Art of Computer Programming''. TEX has been made freely available by Knuth.
 \end{citacao}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo1.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo1.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -3,25 +3,23 @@
 \label{cap_intr}
 % ----------------------------------------------------------
 
-Este documento e seu código-fonte são exemplos de referência de uso da classe \textsf{unbtex}, uma customização da classe \textsf{abntex2} para a Universidade de Brasília (UnB). O documento exemplifica a elaboração de trabalho acadêmico (trabalho de conclusão de curso, dissertação e tese) a partir do UnB\TeX. O \abnTeX, por sua vez, é uma customização da classe \textsf{memoir} que visa atender os requisitos da norma ABNT NBR 14724:2011 \emph{Informação e documentação -- Trabalhos acadêmicos -- Apresentação}. Uma lista completa das normas observadas pelo \abnTeX\ é apresentada em \citeonline{abntex2classe}.
+Este documento exemplifica a elaboração de trabalho acadêmico (trabalho de conclusão de curso, dissertação e tese) a partir da classe UnB\TeX, uma customização da classe {\small\textsf{abntex2}} para a Universidade de Brasília (UnB).
 
+A classe {\small\textsf{abntex2}}, por sua vez, é uma customização da classe {\small\textsf{memoir}} para atender aos requisitos da norma ABNT NBR 14724:2011 \emph{Informação e documentação -- Trabalhos acadêmicos -- Apresentação}. Uma lista completa das normas observadas pelo \abnTeX\ é apresentada em \citeonline{abntex2classe}. 
+
+Parte das customizações utilizadas na classe UnB\TeX\ baseia-se em soluções adotadas por \citeonline{Castro2019} para editoração dos livros da série \textit{Ensino de graduação} da Editora UnB. A classe UnB\TeX\ também contempla atualizações mais recentes das normas NBR 6023 \cite{NBR6023:2018} e NBR 10520 \cite{NBR10520:2023} da ABNT, não consideradas no \abnTeX.
+
 % Definição da nomenclatura que irá para a lista de siglas e abreviações
 \nomenclature[A]{ABNT}{Associação Brasileira de Normas Técnicas}
 \nomenclature[A]{UnB}{Universidade de Brasília}
 
-O \abnTeX\ não é uma classe específica para nenhuma universidade ou instituição e implementa somente os requisitos das normas da ABNT. Sinta-se convidado a participar do projeto \abnTeX! Acesse o site do projeto em \url{http://www.abntex.net.br/}. Também fique livre para conhecer, estudar, alterar e redistribuir o trabalho do \abnTeX, desde que os arquivos modificados tenham seus nomes alterados e que os créditos sejam dados aos autores originais, nos termos da ``The \LaTeX\ Project Public License''\footnote{\url{http://www.latex-project.org/lppl.txt}}.
+Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{abntex2classe} e da classe {\small\textsf{memoir}} \cite{memoir}. 
 
-Encorajamos que sejam realizadas customizações específicas deste exemplo para universidades e outras instituições --- como capas, folha de aprovação, etc. Porém, recomendamos que ao invés de se alterar diretamente os arquivos do \abnTeX, distribua-se arquivos com as respectivas customizações, como feito no UnB\TeX. Isso permite que futuras versões do \abnTeX~não se tornem automaticamente incompatíveis com as customizações promovidas. Consulte \citeonline{abntex2-wiki-como-customizar} para mais informações.
-
-Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{abntex2classe} e da classe \textsf{memoir} \cite{memoir}. 
-
-Parte das customizações feitas no \abnTeX\ são baseadas em soluções adotadas por \citeonline{Castro2019} para editoração dos livros da série \textit{Ensino de graduação} da Editora UnB.
-
 %\begin{mdframed}[style=defnSty] % azul
 \begin{mdframed}[style=plainSty] % verde
 
 {\center \textsc{Texto motivador} \par}
 
-\noindent Esperamos que o \abnTeX\ aprimore a qualidade do trabalho que você produzirá, de modo que o principal esforço seja concentrado no principal: na contribuição científica.
+\noindent Esperamos que o UnB\TeX\ aprimore a qualidade do trabalho que você produzirá, de modo que o principal esforço seja concentrado no principal: na contribuição científica.
    
 \end{mdframed}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo2.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -9,7 +9,7 @@
 \section{Codificação dos arquivos: UTF8}
 % ---
 
-A codificação de todos os arquivos do \abnTeX\ é \texttt{UTF8}. É necessário que você utilize a mesma codificação nos documentos que escrever, inclusive nos arquivos de base bibliográficas \verb|.bib|.
+A codificação de todos os arquivos do \abnTeX\ é \texttt{UTF8}. É necessário que você utilize a mesma codificação nos documentos que escrever, inclusive nos arquivos de base bibliográficas \Verb[fontsize=\normalsize]|.bib|.
 
 % ---
 \section{Citações diretas}\label{sec-citacao}
@@ -63,18 +63,11 @@
 \footnotesize
 \caption[Níveis de investigação]{Níveis de investigação.}
 \label{tab-nivinv}
-\begin{tabular}{p{2.6cm}|p{6.0cm}|p{2.25cm}|p{3.40cm}}
-  %\hline
-   \textbf{Nível de Investigação} & \textbf{Insumos}  & \textbf{Sistemas de Investigação}  & \textbf{Produtos}  \\
-    \hline
-    Meta-nível & Filosofia da Ciência  & Epistemologia &
-    Paradigma  \\
-    \hline
-    Nível do objeto & Paradigmas do metanível e evidências do nível inferior &
-    Ciência  & Teorias e modelos \\
-    \hline
-    Nível inferior & Modelos e métodos do nível do objeto e problemas do nível inferior & Prática & Solução de problemas  \\
-   % \hline
+\begin{tabular}{p{2.6cm}|p{6.0cm}|p{2.25cm}|p{3.40cm}} %\hline
+    \textbf{Nível de Investigação} & \textbf{Insumos}  & \textbf{Sistemas de Investigação}  & \textbf{Produtos} \\ \hline
+    Meta-nível & Filosofia da Ciência  & Epistemologia & Paradigma \\ \hline
+    Nível do objeto & Paradigmas do metanível e evidências do nível inferior & Ciência  & Teorias e modelos \\ \hline
+    Nível inferior & Modelos e métodos do nível do objeto e problemas do nível inferior & Prática & Solução de problemas \\ %\hline
 \end{tabular}
 \legend{Fonte: \citeonline{van86}}
 \end{table}
@@ -83,26 +76,21 @@
 
 \begin{table}[htb]
 \IBGEtab{%
-  \caption{Um Exemplo de tabela alinhada que pode ser longa
-  ou curta, conforme padrão IBGE.}%
-  \label{tabela-ibge}
+    \caption{Um Exemplo de tabela alinhada que pode ser longa ou curta, conforme padrão IBGE.}%
+    \label{tabela-ibge}
 }{%
-  \begin{tabular}{ccc}
-  \toprule
-   Nome & Nascimento & Documento \\
-  \midrule \midrule
-   Maria da Silva & 11/11/1111 & 111.111.111-11 \\
-  \midrule 
-   João Souza & 11/11/2111 & 211.111.111-11 \\
-  \midrule 
-   Laura Vicuña & 05/04/1891 & 3111.111.111-11 \\
-  \bottomrule
+    \begin{tabular}{ccc}
+    \toprule
+    Nome & Nascimento & Documento \\ \midrule \midrule
+    Maria da Silva & 11/11/1111 & 111.111.111-11 \\ \midrule 
+    João Souza & 11/11/2111 & 211.111.111-11 \\ \midrule 
+    Laura Vicuña & 05/04/1891 & 3111.111.111-11 \\ \bottomrule
 \end{tabular}%
 }{%
-  \fonte{Produzido pelos autores.}%
-  \nota{Esta é uma nota, que diz que os dados são baseados na   regressão linear.}%
-  \nota[Anotações]{Uma anotação adicional, que pode ser seguida de várias outras.}%
-  }
+    \fonte{Produzido pelos autores.}%
+    \nota{Esta é uma nota, que diz que os dados são baseados na   regressão linear.}%
+    \nota[Anotações]{Uma anotação adicional, que pode ser seguida de várias outras.}%
+}
 \end{table}
 
 Na \cref{tab:lvlii} são mostrados os componentes curriculares do novo fluxograma da engenharia mecatrônica.
@@ -124,15 +112,15 @@
 IFD0171 & Física 1 & 60 & 0 & 0 & 0 & 60 & \\\hline%
 IFD0173 & Física 1 Experimental & 0 & 30 & 0 & 0 & 30 & \\\hline%
 EST0023 & Probabilidade e Estatística & 30 & 30 & 0 & 0 & 60 & MAT0025 \\\hline%
-ENM0190 & Desenho Mecânico para Engenharia & 30 & 30 & 0 & 0 & 60 & \\\hline%	
+ENM0190 & Desenho Mecânico para Engenharia & 30 & 30 & 0 & 0 & 60 & \\\hline%
 CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\\hline%
-\multicolumn{2}{|l|}{Componentes optativos ou eletivos} & & & & & 60 & \multicolumn{1}{r}{} \\\cline{1-7}%
+\multicolumn{6}{|l|}{Componentes optativos ou eletivos} & 60 & \multicolumn{1}{r}{} \\\cline{1-7}%
 \multicolumn{6}{|l|}{Total de horas do 2º Nível} & 420 & \multicolumn{1}{r}{} \\\cline{1-7}%
 \end{tabular}
 \end{center}%
 \end{table}
 
-É uma boa ideia usar o pacote \textsf{longtable} para criar tabelas, pois assim uma mesma tabela pode ocupar várias páginas. Também há pacotes que rotacionam tabelas, para que fiquem em uma página em formato paisagem. Faça as tabelas usando como base qualquer um dos exemplos aqui apresentados ou outros que considerar mais adequados e que podem ser facilmente encontrados na internet.
+É uma boa ideia usar o pacote {\small\textsf{longtable}} para criar tabelas, pois assim uma mesma tabela pode ocupar várias páginas. Também há pacotes que rotacionam tabelas, para que fiquem em uma página em formato paisagem. Faça as tabelas usando como base qualquer um dos exemplos aqui apresentados ou outros que considerar mais adequados e que podem ser facilmente encontrados na internet.
 
 % ---
 \section{Figuras}
@@ -141,26 +129,26 @@
 Existem pacotes que permitem criar figuras e gráficos no próprio código \LaTeX. Por exemplo, temos
 
 \begin{itemize}
-    \item PGFPlots \url{http://pgfplots.sourceforge.net/}
-    \item TikZ \url{http://www.texample.net/tikz/examples/all/}
-    \item Metapost \url{http://tex.loria.fr/prod-graph/zoonekynd/metapost/metapost.html}
-    \item PSTricks \url{https://tug.org/PSTricks/main.cgi?file=examples}
+    \item PGFPlots: \url{http://pgfplots.sourceforge.net/}
+    \item TikZ: \url{http://www.texample.net/tikz/examples/all/}
+    \item Metapost: \url{http://tex.loria.fr/prod-graph/zoonekynd/metapost/metapost.html}
+    \item PSTricks: \url{https://tug.org/PSTricks/main.cgi?file=examples}
 \end{itemize}
 
-Figuras também podem ser incorporadas de arquivos externos, como é o caso das \cref{fig_blockdiagram,fig_grafico}. Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato PDF. Com isso, o tamanho do arquivo final do trabalho será menor, e as imagens terão uma apresentação melhor, principalmente quando impressas, uma vez que imagens vetoriais são perfeitamente escaláveis para qualquer dimensão. Nesse caso, se for utilizar o Microsoft Excel para produzir gráficos, ou o Microsoft Word para produzir ilustrações, exporte-os como PDF e os incorpore ao documento conforme o exemplo abaixo. No entanto, para manter a coerência no uso de software livre (já que você está usando \LaTeX\ e \abnTeX), teste a ferramenta \textsf{InkScape} (\url{http://inkscape.org/}). Ela é uma excelente opção de código-livre para produzir ilustrações vetoriais, similar ao CorelDraw ou ao Adobe Illustrator. De todo modo, caso não seja possível utilizar arquivos de imagens como PDF, utilize qualquer outro formato, como JPEG, GIF, BMP, etc. Nesse caso, você pode tentar aprimorar as imagens incorporadas com o software livre \textsf{Gimp} (\url{http://www.gimp.org/}). Ele é uma alternativa livre ao Adobe Photoshop.
+Figuras também podem ser incorporadas de arquivos externos, como é o caso das \cref{fig_blockdiagram,fig_grafico}. Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato PDF. Com isso, o tamanho do arquivo final do trabalho será menor, e as imagens terão uma apresentação melhor, principalmente quando impressas, uma vez que imagens vetoriais são perfeitamente escaláveis para qualquer dimensão. Nesse caso, se for utilizar o Microsoft Excel para produzir gráficos, ou o Microsoft Word para produzir ilustrações, exporte-os como PDF e os incorpore ao documento conforme o exemplo abaixo. No entanto, para manter a coerência no uso de software livre (já que você está usando \LaTeX\ e \abnTeX), teste a ferramenta {\small\textsf{InkScape}} (\url{http://inkscape.org/}). Ela é uma excelente opção de código-livre para produzir ilustrações vetoriais, similar ao CorelDraw ou ao Adobe Illustrator. De todo modo, caso não seja possível utilizar arquivos de imagens como PDF, utilize qualquer outro formato, como JPEG, GIF, BMP, etc. Nesse caso, você pode tentar aprimorar as imagens incorporadas com o software livre {\small\textsf{Gimp}} (\url{http://www.gimp.org/}). Ele é uma alternativa livre ao Adobe Photoshop.
 
 \begin{figure}[htb]
     \centering
-    \includegraphics[scale=1]{blockdiagram.eps}
-	\caption{\label{fig_blockdiagram}Sistema de controle em malha fechada}
+    \includegraphics[scale=1]{blockdiagram.pdf}
+    \caption{\label{fig_blockdiagram}Sistema de controle em malha fechada}
 \end{figure}
 
 \begin{figure}[htb]
-	\begin{center}
-	    \includegraphics[scale=0.5]{img-grafico.pdf}
-	\end{center}
-	\caption{\label{fig_grafico}Gráfico produzido em Excel e salvo como PDF}
-	\legend{Fonte: \citeonline[24]{araujo2012}}
+    \begin{center}
+    \includegraphics[scale=0.8]{bodediagram.pdf}
+    \caption{\label{fig_grafico}Resposta em frequência de $G(s)$}
+    \legend{Fonte: Produzido pelos autores}
+    \end{center}
 \end{figure}
 
 % ---
@@ -170,42 +158,56 @@
 \emph{Minipages} são usadas para inserir textos ou outros elementos em quadros com tamanhos e posições controladas. Veja os exemplos das \cref{fig_minipage_imagem1,fig_minipage_grafico2}.
 
 \begin{figure}[htb]
- \label{teste}
- \centering
-  \begin{minipage}{0.4\textwidth}
+    \label{teste}
     \centering
-    \includegraphics[scale=0.9]{img-marca.pdf}
-    \caption{Imagem 1 da minipage} \label{fig_minipage_imagem1}
-    \legend{Fonte: Produzido pelos autores}
-  \end{minipage}
-  \hfill
-  \begin{minipage}{0.4\textwidth}
-    \centering
-    \includegraphics[scale=0.2]{img-grafico.pdf}
-    \caption{Gráfico 2 da minipage} \label{fig_minipage_grafico2}
-    \legend{Fonte: \citeonline[24]{araujo2012}}
-  \end{minipage}
+    \begin{minipage}{0.45\textwidth}
+        \centering
+        \includegraphics[scale=0.95]{circuito.pdf}
+        \caption{Imagem 1 da minipage} \label{fig_minipage_imagem1}
+        \legend{Fonte: Produzido pelos autores}
+    \end{minipage}
+    \hfill
+    \begin{minipage}{0.525\textwidth}
+        \centering
+        \includegraphics[scale=0.9]{curva_diodo.pdf}
+        \caption{Gráfico 2 da minipage} \label{fig_minipage_grafico2}
+        \legend{Fonte: Produzido pelos autores}
+    \end{minipage}
 \end{figure}
 
 \subsection{Subfiguras}
 
-\begin{figure}[H]
-    \centering
-	\begin{subfigure}[t]{0.4\columnwidth}
-		\includegraphics[scale=0.9]{img-marca.pdf}
-		\caption{Primeira subfigura}
-		\label{fig_subfigura_imagem1}
-    \end{subfigure}%
-    \hfill
-    \begin{subfigure}[t]{0.4\columnwidth}
-		\includegraphics[scale=0.2]{img-grafico.pdf}
-		\caption{Segunda subfigura}
-		\label{fig_subfigura_grafico2}
-    \end{subfigure}
-    \caption{Figura com subfiguras}
-    \label{fig:tau}
+O pacote \texttt{subfig} foi utilizado para inserir as \cref{fig_subfigura_imagem1,fig_subfigura_grafico2}. Subfiguras também podem ser inseridas no texto com o pacote \texttt{subcaption}.
+
+% utiliza o pacote subfig
+\begin{figure}[h]
+    \centering 
+    \subfloat[Primeira subfigura]{\label{fig_subfigura_imagem1} \centering 
+    \includegraphics[scale=.95]{circuito.pdf}} 
+    \subfloat[Segunda subfigura]{\label{fig_subfigura_grafico2} \quad
+    \centering 
+    \includegraphics[scale=.9]{curva_diodo.pdf}} 
+    \caption{Figura com subfiguras} \label{fig:tau}
 \end{figure}
 
+% utiliza o pacote subcaption
+%\begin{figure}[h]
+%    \centering
+%	\begin{subfigure}[t]{0.4\columnwidth}
+%		\includegraphics[scale=0.9]{img-marca.pdf}
+%		\caption{Primeira subfigura}
+%		\label{fig_subfigura_imagem1}
+%    \end{subfigure}%
+%    \hfill
+%    \begin{subfigure}[t]{0.4\columnwidth}
+%		\includegraphics[scale=0.2]{img-grafico.pdf}
+%		\caption{Segunda subfigura}
+%		\label{fig_subfigura_grafico2}
+%    \end{subfigure}
+%    \caption{Figura com subfiguras}
+%    \label{fig:tau}
+%\end{figure}
+
 Observe que, segundo a \citeonline[seções 4.2.1.10 e 5.8]{NBR14724:2011}, as ilustrações devem sempre ter numeração contínua e única em todo o documento:
 
 \begin{citacao}
@@ -240,7 +242,7 @@
 
 \begin{equation}
 p+\frac{1}{2}{\rho}v^2+{\rho}gh = \text{constante},
- \label{eq:Bernoulli}
+\label{eq:Bernoulli}
 \end{equation}
 
 \noindent em que $p$ é a pressão, $v$ é a velocidade e $h$ é a elevação, ou seja, a ``altura do tubo''. A \cref{eq:Bernoulli} pode ser deduzida a partir do \textit{Teorema Trabalho-Energia}.
@@ -303,7 +305,7 @@
 
 \begin{alineas}
 
-  \item os diversos assuntos que não possuam título próprio, dentro de uma mesma   seção, devem ser subdivididos em alíneas; 
+  \item os diversos assuntos que não possuam título próprio, dentro de uma mesma seção, devem ser subdivididos em alíneas; 
   \item o texto que antecede as alíneas termina em dois pontos;
   \item as alíneas devem ser indicadas alfabeticamente, em letra minúscula, seguida de parêntese. Utilizam-se letras dobradas, quando esgotadas as letras do alfabeto;
   \item as letras indicativas das alíneas devem apresentar recuo em relação à margem esquerda;
@@ -343,13 +345,13 @@
 É uma boa prática dividir o seu documento em diversos arquivos, e não apenas escrever tudo em um único. Esse recurso foi utilizado neste documento. Para incluir diferentes arquivos em um arquivo principal, de modo que cada arquivo incluído fique em uma página diferente, utilize o comando:
 
 \begin{verbatim}
-   \include{documento-a-ser-incluido}      % sem a extensão .tex
+    \include{documento-a-ser-incluido}      % sem a extensão .tex
 \end{verbatim}
 
 Para incluir documentos sem quebra de páginas, utilize:
 
 \begin{verbatim}
-   \input{documento-a-ser-incluido}      % sem a extensão .tex
+    \input{documento-a-ser-incluido}        % sem a extensão .tex
 \end{verbatim}
 
 % ---
@@ -438,7 +440,7 @@
 
 Para usar hifenizações de diferentes idiomas, inclua nas opções do documento o nome dos idiomas que o seu texto contém.
 
-O idioma português-brasileiro (\texttt{brazil}) é incluído automaticamente pela classe \textsf{abntex2}. Porém, mesmo assim a opção \texttt{brazil} deve ser informada como a última opção da classe para que todos os pacotes reconheçam o idioma. Vale ressaltar que a última opção de idioma é a utilizada por padrão no documento.
+O idioma português-brasileiro (\texttt{brazil}) é incluído automaticamente pela classe {\small\textsf{abntex2}}. Porém, mesmo assim a opção \texttt{brazil} deve ser informada como a última opção da classe para que todos os pacotes reconheçam o idioma. Vale ressaltar que a última opção de idioma é a utilizada por padrão no documento.
 
 A lista completa de idiomas suportados, bem como outras opções de hifenização, estão disponíveis em \citeonline[p. 5-6]{babel}.
 
@@ -451,7 +453,7 @@
 O idioma geral do texto por ser alterado como no exemplo seguinte:
 
 \begin{verbatim}
-  \selectlanguage{english}
+\selectlanguage{english}
 \end{verbatim}
 
 Isso altera automaticamente a hifenização e todos os nomes constantes de referências do documento para o idioma inglês. Consulte o manual da classe \cite{abntex2classe} para obter orientações adicionais sobre internacionalização de documentos produzidos com \abnTeX.
@@ -462,7 +464,7 @@
 \section{Consulte o manual da classe \textsf{abntex2}}
 % ---
 
-Consulte o manual da classe \textsf{abntex2} \cite{abntex2classe} para uma referência completa das macros e ambientes disponíveis. 
+Consulte o manual da classe {\small\textsf{abntex2}} \cite{abntex2classe} para uma referência completa das macros e ambientes disponíveis. 
 
 Além disso, o manual possui informações adicionais sobre as normas ABNT observadas pelo \abnTeX\ e considerações sobre eventuais requisitos específicos não atendidos, como o caso da \citeonline[seção 5.2.2]{NBR14724:2011}, que especifica o espaçamento entre os capítulos e o início do texto, regra propositalmente não atendida pelo presente modelo.
 
@@ -470,11 +472,18 @@
 \section{Referências bibliográficas}
 % ---
 
-A formatação das referências bibliográficas conforme as regras da ABNT são um dos principais objetivos do \abnTeX. Consulte os manuais \citeonline{abntex2cite} e \citeonline{abntex2cite-alf} para obter informações sobre como utilizar as referências bibliográficas.
+A formatação das referências bibliográficas conforme as regras da ABNT são um dos principais objetivos do \abnTeX. Para obter informações sobre como criar entradas em arquivos \Verb[fontsize=\normalsize]|.bib| para diferentes tipos de referências (artigos em periódicos, artigos em anais de eventos, livros, capítulos de livros, etc.) e como utilizá-las, recomenda-se consultar os manuais \citeonline{abntex2cite} e \citeonline{abntex2cite-alf}, disponíveis nos links:
 
+\begin{itemize}
+\item \url{https://tug.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf},
+\item \url{https://mirrors.ibiblio.org/CTAN/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}.
+\end{itemize}
+
+Note que a classe UnB\TeX\ contempla atualizações mais recentes das normas NBR 6023 \cite{NBR6023:2018} e NBR 10520 \cite{NBR10520:2023} da ABNT, não consideradas no \abnTeX. Os arquivos de estilo \Verb[fontsize=\normalsize]|unbtexcite-en.bst| e \Verb[fontsize=\normalsize]|unbtexcite-pt.bst|, ambos para sistema autor-ano, implementam as alterações nas normas, além de customizar as citações para textos escritos em inglês. O estilo da referências bibliográficas é selecionado por meio do comando \Verb[fontsize=\normalsize]|\bibliographystyle|.
+
 Embora as normas da ABNT permitam citações utilizando o formato numérico, é recomendado o uso do sistema autor-ano em trabalhos acadêmicos. A razão é que a leitura por parte do avaliador fica mais simples. Basta ver o nome e o ano para se lembrar rapidamente da referência, sem precisar recorrer frequentemente à lista de referências, que fica no final do texto, tornando a leitura mais agradável.
 
-No formato autor-data, considere chamar as referências usando o comando \verb|\citeonline| com maior frequência que o comando \verb|\cite|. Desse modo, a citação fica melhor incorporada ao texto, outra vantagem do formato autor-data.
+No formato autor-data, considere chamar as referências usando o comando \Verb[fontsize=\normalsize]|\citeonline| com maior frequência que o comando \Verb[fontsize=\normalsize]|\cite|. Desse modo, a citação fica melhor incorporada ao texto, outra vantagem do formato autor-data.
 
 %-
 \subsection{Acentuação de referências bibliográficas}
@@ -481,7 +490,7 @@
 %-
 
 Normalmente não há problemas em usar caracteres acentuados em arquivos
-bibliográficos (\texttt{*.bib}). Porém, como as regras da ABNT fazem uso quase
+bibliográficos (\Verb[fontsize=\normalsize]|.bib|). Porém, como as regras da ABNT fazem uso quase
 abusivo da conversão para letras maiúsculas, é preciso observar o modo como se
 escreve os nomes dos autores. Na \cref{tabela-acentos} você encontra alguns
 exemplos das conversões mais importantes. Preste atenção especial para `ç' e `í'
@@ -489,16 +498,14 @@
 neste modo quando houver conversão para letras maiúsculas.
 
 \begin{table}[htbp]
+\begin{center}
 \caption{Tabela de conversão de acentuação.}
 \label{tabela-acentos}
-
-\begin{center}
-\begin{tabular}{ll}\hline\hline
-acento & bibtex\\
-à á ã & \verb+\`a+ \verb+\'a+ \verb+\~a+\\
-í & \verb+{\'\i}+\\
-ç & \verb+{\c c}+\\
-\hline\hline
+\begin{tabular}{ll} \hline
+acento & bibtex\\ \hline\hline
+à á ã & \verb+\`a+ \verb+\'a+ \verb+\~a+\\ \hline
+í & \verb+{\'\i}+\\ \hline
+ç & \verb+{\c c}+\\ \hline
 \end{tabular}
 \end{center}
 \end{table}
@@ -509,7 +516,7 @@
 
 As listas de ilustrações (figuras) e de tabelas utilizadas ao longo do trabalho são geradas automaticamente e incluídas entre o \emph{Abstract} e o Sumário.
 
-Para definir um elemento que deverá aparecer na lista de abreviatura e siglas, próximo do texto onde a sigla ou abreviatura aparece, utilize o comando \verb|\nomenclature|. Por exemplo, para definir as siglas que aparecem no primeiro parágrafo do \cref{cap_intr}, foram utilizados os seguintes comandos:
+Para definir um elemento que deverá aparecer na lista de abreviatura e siglas, próximo do texto onde a sigla ou abreviatura aparece, utilize o comando \Verb[fontsize=\normalsize]|\nomenclature|. Por exemplo, para definir as siglas que aparecem no primeiro parágrafo do \cref{cap_intr}, foram utilizados os seguintes comandos:
 
 \begin{verbatim}
 \nomenclature[A]{ABNT}{Associação Brasileira de Normas Técnicas}
@@ -516,7 +523,7 @@
 \nomenclature[A]{UnB}{Universidade de Brasília}
 \end{verbatim}
 
-Para definir um elemento da lista de símbolos, próximo da equação onde o símbolo aparece, utilize também o comando \verb|\nomenclature|. Por exemplo, para definir os símbolos das equações da \cref{sec-mat}, foram utilizados os comandos:
+Para definir um elemento da lista de símbolos, próximo da equação onde o símbolo aparece, utilize também o comando \Verb[fontsize=\normalsize]|\nomenclature|. Por exemplo, para definir os símbolos das equações da \cref{sec-mat}, foram utilizados os comandos:
 
 \begin{verbatim}
 \nomenclature[B]{$p$}{Pressão}
@@ -527,7 +534,7 @@
 \nomenclature[C]{$\psi$}{Ângulo de guinada}
 \end{verbatim}
 
-Note que a letra \verb|[A]| de \verb|\nomenclature[A]| indica que o item pertence à lista de abreviaturas e siglas. Já as letras \verb|[B]| em \verb|\nomenclature[B]| e \verb|[C]| em \verb|\nomenclature[C]| referem-se, respectivamente, aos grupos de símbolos romanos e gregos, que compõem a lista de símbolos. As listas e seus grupos estão definidos no arquivo \verb|unbtex-example.tex|. A ordem de apresentação dos grupos em uma lista segue a ordem alfabética das letras que os designam.
+Note que a letra \Verb[fontsize=\normalsize]|[A]| de \Verb[fontsize=\normalsize]|\nomenclature[A]| indica que o item pertence à lista de abreviaturas e siglas. Já as letras \Verb[fontsize=\normalsize]|[B]| em \Verb[fontsize=\normalsize]|\nomenclature[B]| e \verb|[C]| em \Verb[fontsize=\normalsize]|\nomenclature[C]| referem-se, respectivamente, aos grupos de símbolos romanos e gregos, que compõem a lista de símbolos. As listas e seus grupos estão definidos no arquivo \Verb[fontsize=\normalsize]|unbtex-example.tex|. A ordem de apresentação dos grupos em uma lista segue a ordem alfabética das letras que os designam.
 
 % ---
 \section{Ficha catalográfica com código Cutter-Sanborn}
@@ -534,7 +541,7 @@
 % ---
 A Tabela Cutter-Sanborn é uma codificação elaborada por Charles Ammi Cutter e, posteriormente, expandida por Kate F. Sanborn. Na Tabela Cutter-Sanborn, é possível consultar qual sequência numérica representa a sequência do sobrenome do autor.
 
-Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser: \textbf{Lisboa, Carlos}. Nenhuma outra informação é necessária para gerar o código que, no caso desse autor, é \textbf{769}. Considere apenas esses três números. Eventuais letras devem ser ignoradas. No arquivo \verb|*.tex| principal do relatório, na linha que tem o comando \verb|\numerocutter| troque por
+Em vários sites da internet\footnote{\url{https://www.tabelacutter.com/}}\footnote{\url{https://cuttersonline.com.br/registrador-gratuito}} há ferramentas online para obtenção do código. Se o nome do primeiro autor do trabalho for, digamos, Carlos Lisboa, a entrada da ferramenta online deverá ser: \textbf{Lisboa, Carlos}. Nenhuma outra informação é necessária para gerar o código que, no caso desse autor, é \textbf{769}. Considere apenas esses três números. Eventuais letras devem ser ignoradas. No arquivo \Verb[fontsize=\normalsize]|.tex| principal do relatório, na linha que tem o comando \Verb[fontsize=\normalsize]|\numerocutter| troque por
 
 \begin{verbatim}
 \numerocutter{769}

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo3.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -7,13 +7,11 @@
 Sugiro que você guarde todas as figuras na pasta ``figuras'' para que seu projeto fique mais organizado. A \cref{fig:logolatex} mostra como é fácil inserir uma figura com legenda e referência à fonte.
 
 \begin{figure}[htb]
-	\centering
-	\begin{minipage}{0.6\linewidth}
-		\centering
-		\includegraphics[width=\linewidth]{1280px-LaTeX-logo.png}
-		\caption{Logo \LaTeX.} \label{fig:logolatex}
-		\source{Wikimedia Commons \cite{wikimedia-latex}.}
-	\end{minipage}
+    \begin{center}
+    \includegraphics[width=0.5\linewidth]{1280px-LaTeX-logo.png}
+    \caption{Circuito com diodo túnel.} \label{fig:logolatex}
+    \legend{Fonte: Wikimedia Commons \cite{wikimedia-latex}.}
+    \end{center}
 \end{figure}
 
 Além de figuras, é possível inserir caixas de texto de diversos tipos, como axiomas, teoremas etc.
@@ -30,6 +28,13 @@
     \end{enumerate}
 \end{exercise}
 
+\section{Exemplo}
+
+\begin{example}
+    Einstein usaria um editor WYSIWYG ou \LaTeX? \\
+    Einstein era físico. Portanto, usando o teorema LaTeX-WYSIWYG, concluímos que ele usaria \LaTeX.
+\end{example}
+
 \section{Algoritmo}
 
 O \cref{alg:NNMPC} é um pseudo-código para obtenção de um controlador preditivo baseado em modelo e em redes neurais.

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/capitulo4.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -32,9 +32,4 @@
 
 \begin{proof}
     Físicos gostam de equações bonitas. Editores What-You-See-Is-What-You-Get não são apropriados para fazer equações bonitas.\footnote{É certo que há editores WYSIWYG baseados em \LaTeX, mas eles não nos dão o mesmo nível de controle.} Logo, se algum físico preferisse usar um editor WYSIWYG no lugar de \LaTeX, não seria muito inteligente. Como todo físico é inteligente, o teorema está demonstrado \textit{ad absurdum}.
-\end{proof}
-
-\begin{example}
-    Einstein usaria um editor WYSIWYG ou \LaTeX? \\
-    Einstein era físico. Portanto, usando o teorema LaTeX-WYSIWYG, concluímos que ele usaria \LaTeX.
-\end{example}
\ No newline at end of file
+\end{proof}
\ No newline at end of file

Deleted: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.eps
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf	2023-11-09 22:25:54 UTC (rev 68793)

Property changes on: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/blockdiagram.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf	2023-11-09 22:25:54 UTC (rev 68793)

Property changes on: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/bodediagram.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf	2023-11-09 22:25:54 UTC (rev 68793)

Property changes on: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/circuito.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf	2023-11-09 22:25:54 UTC (rev 68793)

Property changes on: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/curva_diodo.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Deleted: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/img-grafico.pdf
===================================================================
(Binary files differ)

Deleted: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/figuras/img-marca.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/references.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/references.bib	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/references.bib	2023-11-09 22:25:54 UTC (rev 68793)
@@ -21,13 +21,13 @@
 % Exemplo tirado de https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management#BibTeX abaixo:
 
 @article{greenwade93,
-    author  = "George D. Greenwade",
-    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
-    year    = "1993",
-    journal = "TUGBoat",
-    volume  = "14",
-    number  = "3",
-    pages   = "342--351"
+  author  = "George D. Greenwade",
+  title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
+  year    = "1993",
+  journal = "TUGBoat",
+  volume  = "14",
+  number  = "3",
+  pages   = "342--351"
 }
 
 % Outros exemplos, tirados de https://verbosus.com/bibtex-style-examples.html abaixo:

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example/referencias.bib	2023-11-09 22:25:54 UTC (rev 68793)
@@ -4,343 +4,369 @@
 %%
 
 @book{ibge1993,
-	Address = {Rio de Janeiro},
-	Author = {IBGE},
-	Date-Added = {2013-08-21 13:56:10 +0000},
-	Date-Modified = {2013-08-21 13:56:10 +0000},
-	Edition = {3},
-	Organization = {http://biblioteca.ibge.gov.br/visualizacao/livros/liv23907.pdf},
-	Publisher = {Centro de Documenta{\c c}\~ao e Dissemina{\c c}\~ao de Informa{\c c}ões. Funda{\c c}\~ao Instituto Brasileiro de Geografia e Estat\'istica},
-	Title = {Normas de apresenta{\c c}\~ao tabular},
-	urldate = {2013-08-21},
-	Year = {1993}}
+    Address = {Rio de Janeiro},
+    Author = {IBGE},
+    Date-Added = {2013-08-21 13:56:10 +0000},
+    Date-Modified = {2013-08-21 13:56:10 +0000},
+    Edition = {3},
+    Organization = {http://biblioteca.ibge.gov.br/visualizacao/livros/liv23907.pdf},
+    Publisher = {Centro de Documenta{\c c}\~ao e Dissemina{\c c}\~ao de Informa{\c c}ões. Funda{\c c}\~ao Instituto Brasileiro de Geografia e Estat\'istica},
+    Title = {Normas de apresenta{\c c}\~ao tabular},
+    urldate = {2013-08-21},
+    Year = {1993}}
 
 @misc{abntex2-wiki-como-customizar,
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-03-23 21:39:21 +0000},
-	Date-Modified = {2015-04-27 22:43:06 +0000},
-	Howpublished = {Wiki do abnTeX2},
-	Keywords = {wiki},
-	Title = {Como customizar o abnTeX2},
-	Url = {https://github.com/abntex/abntex2/wiki/ComoCustomizar},
-	urldate = {2015-04-27},
-	Year = {2015},
-	Bdsk-Url-1 = {https://github.com/abntex/abntex2/wiki/ComoCustomizar}}
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-03-23 21:39:21 +0000},
+    Date-Modified = {2015-04-27 22:43:06 +0000},
+    Howpublished = {Wiki do abnTeX2},
+    Keywords = {wiki},
+    Title = {Como customizar o abnTeX2},
+    Url = {https://github.com/abntex/abntex2/wiki/ComoCustomizar},
+    urldate = {2015-04-27},
+    Year = {2015},
+    Bdsk-Url-1 = {https://github.com/abntex/abntex2/wiki/ComoCustomizar}}
 
 @manual{talbot2012,
-	Author = {Nicola L.C. Talbot},
-	Date-Added = {2013-03-11 12:06:04 +0000},
-	Date-Modified = {2013-03-11 12:06:56 +0000},
-	Month = {11.},
-	Title = {User Manual for glossaries.sty},
-	Url = {http://mirrors.ctan.org/macros/latex/contrib/glossaries/glossaries-user.pdf},
-	urldate = {2013-03-11},
-	Year = {2012},
-	Bdsk-Url-1 = {http://mirrors.ctan.org/macros/latex/contrib/glossaries/glossaries-user.pdf}}
+    Author = {Nicola L.C. Talbot},
+    Date-Added = {2013-03-11 12:06:04 +0000},
+    Date-Modified = {2013-03-11 12:06:56 +0000},
+    Month = {11.},
+    Title = {User Manual for glossaries.sty},
+    Url = {http://mirrors.ctan.org/macros/latex/contrib/glossaries/glossaries-user.pdf},
+    urldate = {2013-03-11},
+    Year = {2012},
+    Bdsk-Url-1 = {http://mirrors.ctan.org/macros/latex/contrib/glossaries/glossaries-user.pdf}}
 
 @manual{babel,
-	Author = {Johannes Braams},
-	Date-Added = {2013-02-17 13:37:14 +0000},
-	Date-Modified = {2013-02-17 13:38:38 +0000},
-	Month = {04},
-	Title = {Babel, a multilingual package for use with LATEX's standard document classes},
-	Url = {http://mirrors.ctan.org/info/babel/babel.pdf},
-	urldate = {2013-02-17},
-	Year = {2008},
-	Bdsk-Url-1 = {http://mirrors.ctan.org/info/babel/babel.pdf}}
+    Author = {Johannes Braams},
+    Date-Added = {2013-02-17 13:37:14 +0000},
+    Date-Modified = {2013-02-17 13:38:38 +0000},
+    Month = {04},
+    Title = {Babel, a multilingual package for use with LATEX's standard document classes},
+    Url = {http://mirrors.ctan.org/info/babel/babel.pdf},
+    urldate = {2013-02-17},
+    Year = {2008},
+    Bdsk-Url-1 = {http://mirrors.ctan.org/info/babel/babel.pdf}}
 
 @manual{abntex2modelo-artigo,
-	Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-01-15 00:10:35 +0000},
-	Date-Modified = {2015-04-27 22:43:13 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {Modelo Can\^onico de Artigo Cient\'ifico com abnTeX2},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-01-15 00:10:35 +0000},
+    Date-Modified = {2015-04-27 22:43:13 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {Modelo Can\^onico de Artigo Cient\'ifico com abnTeX2},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @manual{abntex2modelo-relatorio,
-	Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-01-15 00:05:34 +0000},
-	Date-Modified = {2015-04-27 22:43:18 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {Modelo Can\^onico de Relat\'orio T\'ecnico e/ou Cient\'ifico com abnTeX2},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-01-15 00:05:34 +0000},
+    Date-Modified = {2015-04-27 22:43:18 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {Modelo Can\^onico de Relat\'orio T\'ecnico e/ou Cient\'ifico com abnTeX2},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @manual{abntex2modelo,
-	Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-01-12 22:55:32 +0000},
-	Date-Modified = {2015-04-27 22:43:32 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {Modelo Can\^onico de Trabalho Acad\^emico com abnTeX2},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Annote = {Este documento \'e derivado do \cite{abnt-bibtex-doc}},
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-01-12 22:55:32 +0000},
+    Date-Modified = {2015-04-27 22:43:32 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {Modelo Can\^onico de Trabalho Acad\^emico com abnTeX2},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @mastersthesis{araujo2012,
-	Address = {Bras\'ilia},
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-01-09 11:04:42 +0000},
-	Date-Modified = {2013-01-09 11:04:42 +0000},
-	Month = {03},
-	School = {Universidade de Bras\'ilia},
-	Subtitle = {uma perspectiva de {A}rquitetura da {I}nforma{\c c}\~ao da {E}scola de {B}ras\'ilia},
-	Title = {Configura{\c c}\~ao},
-	Year = {2012}}
+    Address = {Bras\'ilia},
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-01-09 11:04:42 +0000},
+    Date-Modified = {2013-01-09 11:04:42 +0000},
+    Month = {03},
+    School = {Universidade de Bras\'ilia},
+    Subtitle = {uma perspectiva de {A}rquitetura da {I}nforma{\c c}\~ao da {E}scola de {B}ras\'ilia},
+    Title = {Configura{\c c}\~ao},
+    Year = {2012}}
 
 @manual{abntex2cite,
-	Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
-	Author = {Lauro C{\'e}sar Araujo},
-	Date-Added = {2013-01-09 10:37:45 +0000},
-	Date-Modified = {2015-04-27 22:43:38 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'\i}veis com a ABNT NBR 6023},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}},
+    Author = {Lauro C{\'e}sar Araujo},
+    Date-Added = {2013-01-09 10:37:45 +0000},
+    Date-Modified = {2015-04-27 22:43:38 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'\i}veis com a ABNT NBR 6023},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @manual{abntex2cite-alf,
-	Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}},
-	Author = {Lauro C{\'e}sar Araujo},
-	Date-Added = {2013-01-09 10:37:45 +0000},
-	Date-Modified = {2015-04-27 22:43:44 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {O pacote abntex2cite: t{\'o}picos espec{\'\i}ficos da ABNT NBR 10520:2002 e o estilo bibliogr{\'a}fico alfab{\'e}tico (sistema autor-data)},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}},
+    Author = {Lauro C{\'e}sar Araujo},
+    Date-Added = {2013-01-09 10:37:45 +0000},
+    Date-Modified = {2015-04-27 22:43:44 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {O pacote abntex2cite: t{\'o}picos espec{\'\i}ficos da ABNT NBR 10520:2002 e o estilo bibliogr{\'a}fico alfab{\'e}tico (sistema autor-data)},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @manual{memoir,
-	Address = {Normandy Park, WA},
-	Author = {Peter Wilson and Lars Madsen},
-	Date-Added = {2013-01-09 10:37:50 +0000},
-	Date-Modified = {2013-03-21 13:23:25 +0000},
-	Organization = {The Herries Press},
-	Title = {The Memoir Class for Configurable Typesetting - User Guide},
-	Url = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
-	urldate = {2012-12-19},
-	Year = {2010},
-	Bdsk-Url-1 = {http://ctan.tche.br/macros/latex/contrib/memoir/memman.pdf}}
+    Address = {Normandy Park, WA},
+    Author = {Peter Wilson and Lars Madsen},
+    Date-Added = {2013-01-09 10:37:50 +0000},
+    Date-Modified = {2013-03-21 13:23:25 +0000},
+    Organization = {The Herries Press},
+    Title = {The Memoir Class for Configurable Typesetting - User Guide},
+    Url = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
+    urldate = {2012-12-19},
+    Year = {2010},
+    Bdsk-Url-1 = {http://ctan.tche.br/macros/latex/contrib/memoir/memman.pdf}}
 
 @manual{biblatex,
-	Author = {Philip Kime and Moritz Wemheuer and Philipp Lehman},
-	Date-Added = {2021-12-04 14:11:45 +0000},
-	Date-Modified = {2021-12-04 14:11:45 +0000},
-	Title = {The biblatex Package: Programmable Bibliographies and Citations},
-	Url = {https://www.ctan.org/pkg/biblatex},
-	Year = {2020},
-	Bdsk-Url-1 = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex/doc/biblatex.pdf}}
+    Author = {Philip Kime and Moritz Wemheuer and Philipp Lehman},
+    Date-Added = {2021-12-04 14:11:45 +0000},
+    Date-Modified = {2021-12-04 14:11:45 +0000},
+    Title = {The biblatex Package: Programmable Bibliographies and Citations},
+    Url = {https://www.ctan.org/pkg/biblatex},
+    Year = {2020},
+    Bdsk-Url-1 = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex/doc/biblatex.pdf}}
 
 @manual{biblatexabnt,
-	Author = {Daniel Ballester Marques},
-	Date-Added = {2021-12-04 14:14:45 +0000},
-	Date-Modified = {2021-12-04 14:14:45 +0000},
-	Title = {biblatex-abnt 3.4},
-	Url = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex-contrib/biblatex-abnt/doc/biblatex-abnt.pdf},
-	Year = {2018},
-	Bdsk-Url-1 = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex-contrib/biblatex-abnt/doc/biblatex-abnt.pdf}}
+    Author = {Daniel Ballester Marques},
+    Date-Added = {2021-12-04 14:14:45 +0000},
+    Date-Modified = {2021-12-04 14:14:45 +0000},
+    Title = {biblatex-abnt 3.4},
+    Url = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex-contrib/biblatex-abnt/doc/biblatex-abnt.pdf},
+    Year = {2018},
+    Bdsk-Url-1 = {https://ctan.dcc.uchile.cl/macros/latex/contrib/biblatex-contrib/biblatex-abnt/doc/biblatex-abnt.pdf}}
 
 @manual{abntex2classe,
-	Author = {Lauro C\'esar Araujo},
-	Date-Added = {2013-01-09 10:37:38 +0000},
-	Date-Modified = {2015-04-27 22:42:47 +0000},
-	Organization = {Equipe abnTeX2},
-	Title = {A classe abntex2: Modelo can\^onico de trabalhos acad\^emicos brasileiros compat\'ivel com as normas ABNT NBR 14724:2011, ABNT NBR 6024:2012 e outras},
-	Url = {http://www.abntex.net.br/},
-	Year = {2015},
-	Bdsk-Url-1 = {http://www.abntex.net.br/}}
+    Author = {Lauro C\'esar Araujo},
+    Date-Added = {2013-01-09 10:37:38 +0000},
+    Date-Modified = {2015-04-27 22:42:47 +0000},
+    Organization = {Equipe abnTeX2},
+    Title = {A classe abntex2: Modelo can\^onico de trabalhos acad\^emicos brasileiros compat\'ivel com as normas ABNT NBR 14724:2011, ABNT NBR 6024:2012 e outras},
+    Url = {http://www.abntex.net.br/},
+    Year = {2015},
+    Bdsk-Url-1 = {http://www.abntex.net.br/}}
 
 @manual{NBR10520:2002,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 21:43:38 +0000},
-	Date-Modified = {2013-01-12 22:17:20 +0000},
-	Month = {08},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 7,
-	Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Apresenta{\c c}\~ao de cita{\c c}ões em documentos},
-	Title = {{NBR} 10520},
-	Year = 2002}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 21:43:38 +0000},
+    Date-Modified = {2013-01-12 22:17:20 +0000},
+    Month = {08},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 7,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Apresenta{\c c}\~ao de cita{\c c}ões em documentos},
+    Title = {{NBR} 10520},
+    Year = 2002}
 
 @manual{NBR6024:2012,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 21:24:06 +0000},
-	Date-Modified = {2012-12-15 21:24:28 +0000},
-	Month = {02},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 4,
-	Subtitle = {Numera{\c c}\~ao progressiva das se{\c c}ões de um documento},
-	Title = {{NBR} 6024},
-	Year = 2012}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 21:24:06 +0000},
+    Date-Modified = {2012-12-15 21:24:28 +0000},
+    Month = {02},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 4,
+    Subtitle = {Numera{\c c}\~ao progressiva das se{\c c}ões de um documento},
+    Title = {{NBR} 6024},
+    Year = 2012}
 
 @manual{NBR6028:2003,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 21:02:12 +0000},
-	Date-Modified = {2012-12-15 21:02:50 +0000},
-	Month = {11},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 2,
-	Subtitle = {Resumo - Apresenta{\c c}\~ao},
-	Title = {{NBR} 6028},
-	Year = 2003}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 21:02:12 +0000},
+    Date-Modified = {2012-12-15 21:02:50 +0000},
+    Month = {11},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 2,
+    Subtitle = {Resumo - Apresenta{\c c}\~ao},
+    Title = {{NBR} 6028},
+    Year = 2003}
 
 @manual{NBR14724:2001,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 20:34:08 +0000},
-	Date-Modified = {2012-12-15 20:34:08 +0000},
-	Month = {07},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 6,
-	Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
-	Title = {{NBR} 14724},
-	Year = 2001}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:08 +0000},
+    Date-Modified = {2012-12-15 20:34:08 +0000},
+    Month = {07},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 6,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
+    Title = {{NBR} 14724},
+    Year = 2001}
 
 @manual{NBR14724:2002,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 20:34:17 +0000},
-	Date-Modified = {2012-12-15 20:34:17 +0000},
-	Month = {08},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 6,
-	Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
-	Title = {{NBR} 14724},
-	Year = 2002}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:17 +0000},
+    Date-Modified = {2012-12-15 20:34:17 +0000},
+    Month = {08},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 6,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
+    Title = {{NBR} 14724},
+    Year = 2002}
 
 @manual{NBR14724:2005,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 20:34:08 +0000},
-	Date-Modified = {2012-12-15 20:35:25 +0000},
-	Month = {12},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 9,
-	Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
-	Title = {{NBR} 14724},
-	Year = 2005}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:08 +0000},
+    Date-Modified = {2012-12-15 20:35:25 +0000},
+    Month = {12},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 9,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
+    Title = {{NBR} 14724},
+    Year = 2005}
 
 @manual{NBR14724:2011,
-	Address = {Rio de Janeiro},
-	Date-Added = {2012-12-15 20:34:08 +0000},
-	Date-Modified = {2012-12-15 20:35:25 +0000},
-	Month = {03},
-	Note = {Substitui a Ref.~\citeonline{NBR14724:2005}},
-	Org-Short = {ABNT},
-	Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
-	Pages = 15,
-	Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
-	Title = {{NBR} 14724},
-	Year = 2011}
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:08 +0000},
+    Date-Modified = {2012-12-15 20:35:25 +0000},
+    Month = {03},
+    Note = {Substitui a Ref.~\citeonline{NBR14724:2005}},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 15,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- trabalhos acad\^emicos --- apresenta{\c c}\~ao},
+    Title = {{NBR} 14724},
+    Year = 2011}
 
+ at manual{NBR6023:2018,
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:08 +0000},
+    Date-Modified = {2012-12-15 20:35:25 +0000},
+    Month = {11},
+    Note = {Substitui a norma ABNT NBR 6023:2002},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 74,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Refer\^encias --- Elabora{\c c}\~ao},
+    Title = {{NBR} 6023},
+    Year = 2018}
+
+ at manual{NBR10520:2023,
+    Address = {Rio de Janeiro},
+    Date-Added = {2012-12-15 20:34:08 +0000},
+    Date-Modified = {2012-12-15 20:35:25 +0000},
+    Month = {07},
+    Note = {Substitui a Ref.~\citeonline{NBR10520:2002}},
+    Org-Short = {ABNT},
+    Organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas},
+    Pages = 23,
+    Subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao --- Cita{\c c}\~oes em documentos --- Apresenta{\c c}\~ao},
+    Title = {{NBR} 10520},
+    Year = 2023}
+
 @article{van86,
-	Author = {{van}, Gigch, John P. and Leo L. Pipino},
-	Journal = {Future Computing Systems},
-	Number = {1},
-	Pages = {71-97},
-	Title = {In search for a paradigm for the discipline of information systems},
-	Volume = {1},
-	Year = {1986}}
+    Author = {{van}, Gigch, John P. and Leo L. Pipino},
+    Journal = {Future Computing Systems},
+    Number = {1},
+    Pages = {71-97},
+    Title = {In search for a paradigm for the discipline of information systems},
+    Volume = {1},
+    Year = {1986}}
 
 @phdthesis{guizzardi2005,
-	Address = {Enschede, The Netherlands},
-	Author = {Giancarlo Guizzardi},
-	Date-Added = {2012-04-23 11:35:28 +0000},
-	Date-Modified = {2012-04-23 11:35:28 +0000},
-	School = {Centre for Telematics and Information Technology, University of Twente},
-	Title = {Ontological Foundations for Structural Conceptual Models},
-	Url = {http://www.loa.istc.cnr.it/Guizzardi/SELMAS-CR.pdf},
-	urldate = {2011-07-03},
-	Year = {2005},
-	Bdsk-Url-1 = {http://www.loa.istc.cnr.it/Guizzardi/SELMAS-CR.pdf}}
+    Address = {Enschede, The Netherlands},
+    Author = {Giancarlo Guizzardi},
+    Date-Added = {2012-04-23 11:35:28 +0000},
+    Date-Modified = {2012-04-23 11:35:28 +0000},
+    School = {Centre for Telematics and Information Technology, University of Twente},
+    Title = {Ontological Foundations for Structural Conceptual Models},
+    Url = {http://www.loa.istc.cnr.it/Guizzardi/SELMAS-CR.pdf},
+    urldate = {2011-07-03},
+    Year = {2005},
+    Bdsk-Url-1 = {http://www.loa.istc.cnr.it/Guizzardi/SELMAS-CR.pdf}}
 
 @mastersthesis{macedo2005,
-	Author = {Fl\'avia L. Macedo},
-	Date-Added = {2012-04-23 11:35:13 +0000},
-	Date-Modified = {2012-04-23 11:35:13 +0000},
-	Keywords = {arquitetura da informa{\c c}\~ao},
-	School = {Universidade de Bras\'ilia},
-	Title = {Arquitetura da Informa{\c c}\~ao: aspectos epistemol\'ogicos, cient\'ificos e pr\'aticos.},
-	Type = {Disserta{\c c}\~ao de Mestrado},
-	Year = {2005}}
+    Author = {Fl\'avia L. Macedo},
+    Date-Added = {2012-04-23 11:35:13 +0000},
+    Date-Modified = {2012-04-23 11:35:13 +0000},
+    Keywords = {arquitetura da informa{\c c}\~ao},
+    School = {Universidade de Bras\'ilia},
+    Title = {Arquitetura da Informa{\c c}\~ao: aspectos epistemol\'ogicos, cient\'ificos e pr\'aticos.},
+    Type = {Disserta{\c c}\~ao de Mestrado},
+    Year = {2005}}
 
 @manual{EIA649B,
-	Address = {EUA},
-	Date-Added = {2012-04-23 11:34:59 +0000},
-	Date-Modified = {2012-04-23 11:34:59 +0000},
-	Keywords = {norma},
-	Month = {06},
-	Organization = {TechAmerica},
-	Title = {ANSI/EIA 649-B: Configuration Management Standard},
-	Year = {2011}}
+    Address = {EUA},
+    Date-Added = {2012-04-23 11:34:59 +0000},
+    Date-Modified = {2012-04-23 11:34:59 +0000},
+    Keywords = {norma},
+    Month = {06},
+    Organization = {TechAmerica},
+    Title = {ANSI/EIA 649-B: Configuration Management Standard},
+    Year = {2011}}
 
- at inproceedings{masolo2010,
-	Author = {Claudio Masolo},
-	Booktitle = {Proceedings of the Twelfth International Conference on the Principles of Knowledge Representation and Reasoning (KR 2010)},
-	Date-Added = {2012-04-23 11:34:38 +0000},
-	Date-Modified = {2012-04-23 11:34:38 +0000},
-	Editor = {Lin, F. and Sattler, U.},
-	Pages = {258-268},
-	Publisher = {AAAI Press},
-	Title = {Understanding Ontological Levels},
-	Url = {http://wiki.loa-cnr.it/Papers/kr10v0.7.pdf},
-	urldate = {2012-01-02},
-	Year = {2010},
-	Bdsk-Url-1 = {http://wiki.loa-cnr.it/Papers/kr10v0.7.pdf}}
+ at inproceedings{martin1997,
+    address={Rio de Janeiro},
+    author={Martin, Neto, L. and C. Bayer and J. Mielniczuk},
+    booktitle={Resumos [...]},
+    conference-number={26},
+    conference-year={1997},
+    conference-location={Rio de Janeiro},
+    note={ref. 6--141},
+    organization={Congresso Brasileiro de Ci\^encia do Solo},
+    pages={443},
+    publisher={Sociedade Brasileira de Ci\^encia do Solo},
+    title={Altera{\c c}\~oes qualitativas da mat\'eria org\^anica e os fatores determinantes da sua estabilidade num solo podz\'olico vermelho-escuro em diferentes sistemas de manejo},
+    year={1997}}
 
 @inbook{guarino1995,
-	Address = {Vienna},
-	Author = {Nicola Guarino},
-	Booktitle = {Philosophy and the Cognitive Science},
-	Date-Added = {2012-04-23 11:34:29 +0000},
-	Date-Modified = {2012-04-23 11:34:29 +0000},
-	Editor = {R. Casati and B. Smith and G. White},
-	Month = {07},
-	Pages = {443-456},
-	Publisher = {Holder-Pivhler-Tempsky},
-	Title = {The Ontological Level},
-	Url = {http://wiki.loa-cnr.it/Papers/OntLev.pdf},
-	urldate = {2012-01-02},
-	Year = {1995},
-	Bdsk-Url-1 = {http://wiki.loa-cnr.it/Papers/OntLev.pdf}}
+    Address = {Vienna},
+    Author = {Nicola Guarino},
+    Booktitle = {Philosophy and the Cognitive Science},
+    Date-Added = {2012-04-23 11:34:29 +0000},
+    Date-Modified = {2012-04-23 11:34:29 +0000},
+    Editor = {R. Casati and B. Smith and G. White},
+    Month = {07},
+    Pages = {443-456},
+    Publisher = {Holder-Pivhler-Tempsky},
+    Title = {The Ontological Level},
+    Url = {http://wiki.loa-cnr.it/Papers/OntLev.pdf},
+    urldate = {2012-01-02},
+    Year = {1995},
+    Bdsk-Url-1 = {http://wiki.loa-cnr.it/Papers/OntLev.pdf}}
 
 @incollection{bates2010,
-	Address = {New York},
-	Author = {Marcia J. Bates},
-	Booktitle = {Encyclopedia of Library and Information Sciences},
-	Date-Added = {2012-04-23 11:34:29 +0000},
-	Date-Modified = {2012-04-23 11:34:29 +0000},
-	Edition = {3rd},
-	Editor = {Marcia J. Bates and Mary Niles Maack},
-	Pages = {2347-2360},
-	Publisher = {CRC Press},
-	Title = {Information},
-	Url = {http://pages.gseis.ucla.edu/faculty/bates/articles/information.html},
-	urldate = {2011-10-24},
-	Volume = {3},
-	Year = {2010},
-	Bdsk-Url-1 = {http://pages.gseis.ucla.edu/faculty/bates/articles/information.html}}
+    Address = {New York},
+    Author = {Marcia J. Bates},
+    Booktitle = {Encyclopedia of Library and Information Sciences},
+    Date-Added = {2012-04-23 11:34:29 +0000},
+    Date-Modified = {2012-04-23 11:34:29 +0000},
+    Edition = {3rd},
+    Editor = {Marcia J. Bates and Mary Niles Maack},
+    Pages = {2347-2360},
+    Publisher = {CRC Press},
+    Title = {Information},
+    Url = {http://pages.gseis.ucla.edu/faculty/bates/articles/information.html},
+    urldate = {2011-10-24},
+    Volume = {3},
+    Year = {2010},
+    Bdsk-Url-1 = {http://pages.gseis.ucla.edu/faculty/bates/articles/information.html}}
 
 @book{doxiadis1965,
-	Author = {Constantinos A. Doxiadis},
-	Date-Added = {2012-04-23 11:34:20 +0000},
-	Date-Modified = {2012-04-23 11:34:20 +0000},
-	Publisher = {Ceira - Coimbra},
-	Title = {Arquitetura em Transi{\c c}\~ao},
-	Year = {1965}}
+    Author = {Constantinos A. Doxiadis},
+    Date-Added = {2012-04-23 11:34:20 +0000},
+    Date-Modified = {2012-04-23 11:34:20 +0000},
+    Publisher = {Ceira - Coimbra},
+    Title = {Arquitetura em Transi{\c c}\~ao},
+    Year = {1965}}
 
 @book{dewey1980,
-	Address = {New York, NY, USA},
-	Author = {John Dewey},
-	Date-Added = {2012-04-23 11:34:16 +0000},
-	Date-Modified = {2012-04-23 11:34:16 +0000},
-	Publisher = {Perigee Books},
-	Title = {Art as Experience},
-	Year = {1980}}
\ No newline at end of file
+    Address = {New York, NY, USA},
+    Author = {John Dewey},
+    Date-Added = {2012-04-23 11:34:16 +0000},
+    Date-Modified = {2012-04-23 11:34:16 +0000},
+    Publisher = {Perigee Books},
+    Title = {Art as Experience},
+    Year = {1980}}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/doc/latex/unbtex/unbtex-example.tex	2023-11-09 22:25:54 UTC (rev 68793)
@@ -1,7 +1,7 @@
 %%
 %% UnBTeX: A class for bachelor, master, and doctoral thesis at the
 %% University of Brasilia (UnB), Brazil
-%% Version 1.3.2 2023/10/20
+%% Version 1.3.3 2023/11/02
 %% Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira at unb.br>
 %%
 %% This class file may be distributed and/or modified under the conditions
@@ -19,18 +19,18 @@
 %% 
 
 \documentclass[
-	% -- opções da classe memoir -- https://www.ctan.org/pkg/memoir
-	12pt,				% tamanho da fonte
-	openright,			% capítulos começam em página ímpar
-	                    % (insere página vazia caso preciso)
-	oneside,			% caso queira imprimir em frente e verso, use
-	%twoside,
-	a4paper,			% tamanho do papel.
-	sumario=tradicional,
-	% -- opções do pacote babel --
-	english,           % o idioma do texto não é definido aqui (mantenha as oções english e brazil)                       
-	brazil             % para trabalhos em inglês, altere o idioma após o comando \begin{document}
-	]{unbtex}
+    % -- opções da classe memoir -- https://www.ctan.org/pkg/memoir
+    12pt,				% tamanho da fonte
+    openright,			% capítulos começam em página ímpar
+	                % (insere página vazia caso preciso)
+    oneside,			% caso queira imprimir em frente e verso, use
+    %twoside,
+    a4paper,			% tamanho do papel.
+    sumario=tradicional,
+    % -- opções do pacote babel --
+    english,           % o idioma do texto não é definido aqui (mantenha as oções english e brazil)
+    brazil             % para trabalhos em inglês, altere o idioma após o comando \begin{document}
+    ]{unbtex}
 
 % ---
 % Pacotes básicos (Adicione abaixo pacotes úteis para o seu trabalho)
@@ -39,7 +39,11 @@
 % Bibliografia nas normas da ABNT, formato autor-data
 % O formato autor-data facilita a leitura, sobretudo de trabalhos com muitas páginas
 \RequirePackage[english,brazilian,hyperpageref]{backref}	 % Paginas com as citações na lista de referências
-\RequirePackage[alf,bibjustif]{abntex2cite}
+\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\addtociteoptionlist{abnt-url-package=url}
+\def\UrlLeft{}
+\def\UrlRight{}
+\urlstyle{same}
 
 % Referências cruzadas automáticas, dependendo do tipo de referência (figuras, tabelas, equações, etc.)
 \RequirePackage[nameinlink,noabbrev,english,brazilian]{cleveref}
@@ -90,6 +94,8 @@
 \graphicspath{{unbtex-example/figuras/}}
 % --- 
 
+\usepackage{fancyvrb} % permite selecionar o tamanho da fonte no comando \Verb
+
 % ------------------------------------------------------------------------
 % ------------------------------------------------------------------------
 % Informações do trabalho
@@ -125,8 +131,8 @@
 
 % Local e data
 \local{Brasília}
-\dia{18}
-\mes{outubro}
+\dia{02}
+\mes{novembro}
 \ano{2023}
 
 % Palavras-chave (pelo menos três devem ser informadas)
@@ -195,14 +201,14 @@
 \renewcommand{\backref}{}
 % Define os textos da citação
 \renewcommand*{\backrefalt}[4]{
-	\ifcase #1 %
-		Nenhuma citação no texto.%
-	\or
-		Citado na p. #2.%
-	\else
-		Citado nas pp. #2.%
-	\fi}%
- }{
+    \ifcase #1 %
+	Nenhuma citação no texto.%
+    \or
+	Citado na p. #2.%
+    \else
+	Citado nas pp. #2.%
+    \fi}%
+}{
 \renewcommand*{\backrefalt}[4]{%
     \ifcase #1 %
         No citations.%
@@ -302,10 +308,10 @@
 % ---
 \begin{epigrafe}
     \vspace*{\fill}
-	\begin{flushright}
-		\textit{``If you find that you're spending almost all your time on theory,\\ start turning some attention to practical things; \\ it will improve your theories.\\ If you find that you're spending almost all your time on practice, \\ start turning some attention to theoretical things; \\ it will improve your practice.''\\
-		(Donald Knuth)}
-	\end{flushright}
+    \begin{flushright}
+        \textit{``If you find that you're spending almost all your time on theory,\\ start turning some attention to practical things; \\ it will improve your theories.\\ If you find that you're spending almost all your time on practice, \\ start turning some attention to theoretical things; \\ it will improve your practice.''\\
+	(Donald Knuth)}
+    \end{flushright}
 \end{epigrafe}
 % ---
 
@@ -319,7 +325,7 @@
 \setlength{\absparsep}{18pt} % ajusta o espaçamento dos parágrafos do resumo
 \begin{resumo}[Resumo]
 % ---
-Segundo a \citeonline[seções 3.1-3.2]{NBR6028:2003}, o resumo deve ressaltar o objetivo, o método, os resultados e as conclusões do documento. A ordem e a extensão destes itens dependem do tipo de resumo (informativo ou indicativo) e do tratamento que cada item recebe no documento original. O resumo deve ser precedido da referência do documento, com exceção do resumo inserido no próprio documento. (\ldots) As palavras-chave devem figurar logo abaixo do resumo, antecedidas da expressão Palavras-chave: separadas entre si por ponto e finalizadas também por ponto.
+Segundo a \citeonline[seções 3.1-3.2]{NBR6028:2003}, o resumo deve ressaltar o objetivo, o método, os resultados e as conclusões do documento. A ordem e a extensão destes itens dependem do tipo de resumo (informativo ou indicativo) e do tratamento que cada item recebe no documento original. As palavras-chave devem figurar logo abaixo do resumo, antecedidas da expressão Palavras-chave: separadas entre si por ponto e finalizadas também por ponto.
 % ---
 \vspace{\onelineskip}
 
@@ -431,9 +437,9 @@
 % ---
 % Seleciona o arquivo de estilo de citações
 \IfStrEq*{\languagename}{english}{
-\bibliographystyle{abntex2eng-alf}
+\bibliographystyle{unbtexcite-en}
 }{
-\bibliographystyle{abntex2-alf}
+\bibliographystyle{unbtexcite-pt}
 }
 % Arquivos com as referências bibliográficas
 \bibliography{unbtex-example/referencias,unbtex-example/references}

Modified: trunk/Master/texmf-dist/tex/latex/unbtex/unbtex.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/unbtex/unbtex.cls	2023-11-09 22:25:37 UTC (rev 68792)
+++ trunk/Master/texmf-dist/tex/latex/unbtex/unbtex.cls	2023-11-09 22:25:54 UTC (rev 68793)
@@ -1,7 +1,7 @@
 %%
 %% UnBTeX: A class for bachelor, master, and doctoral thesis at the
 %% University of Brasilia (UnB), Brazil
-%% Version 1.3.2 2023/10/20
+%% Version 1.3.3 2023/11/02
 %% Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira at unb.br>
 %%
 %% This class file may be distributed and/or modified under the conditions
@@ -17,12 +17,12 @@
 %% This package consists of the following source file:  
 %% unbtex.cls 
 %% Template files:
-%% unbtex-example.pdf, unbtex-example.tex and files within unbtex-example 
-%% directory
+%% unbtex-example.pdf, unbtex-example.tex, unbtextcite-pt, unbtexcite-en,
+%% and files within unbtex-example directory
 %%
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2023/10/20 v1.3.2 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2023/11/02 v1.3.3 Modelo da Universidade de Brasília baseado em abnTeX2]
 
 % ---
 % Repassa todos os parâmetros a classe abntex2,
@@ -49,7 +49,8 @@
 \RequirePackage{helvet}             % Fonte utilizada para os títulos do trabalho
                                     % Próxima do padrão da UnB http://www.marca.unb.br/introducao.php
 \RequirePackage{graphicx}			% Inclusão de gráficos
-\RequirePackage{subcaption}         % Permite fazer subfiguras
+%\RequirePackage{subcaption}         % Permite fazer subfiguras
+\RequirePackage{subfig}             % Permite fazer subfiguras
 \RequirePackage{icomma}             % Configura casas decimais separadas por vírgula
 \RequirePackage{indentfirst}		% Indenta o primeiro parágrafo de cada seção.
 \RequirePackage[nopatch=item]{microtype}	% Para melhorias de justificação
@@ -146,16 +147,16 @@
 % ---
 % https://ctan.org/pkg/hyperref
 \hypersetup{
-     	%pagebackref=true,
-		%pdftitle={\@title}, 
-		%pdfauthor={\@author},
-        %pdfpagemode=None,
-        pdfstartview=FitH,
-        breaklinks=true, 
-		colorlinks=true,
-    	allcolors=azulunb,
-    	linktocpage,
-		bookmarksdepth=4
+    %pagebackref=true,
+    %pdftitle={\@title}, 
+    %pdfauthor={\@author},
+    %pdfpagemode=None,
+    pdfstartview=FitH,
+    breaklinks=true, 
+    colorlinks=true,
+    allcolors=azulunb,
+    linktocpage,
+    bookmarksdepth=4
 }
 % ---
 
@@ -167,16 +168,16 @@
 
 % Julia (Linguagem não reconhecida automaticamente pelo pacote listings)
 \lstdefinelanguage{Julia}%
-  {morekeywords={abstract,break,case,catch,const,continue,do,else,elseif,%
-      end,export,false,for,function,immutable,import,importall,if,in,%
-      macro,module,otherwise,quote,return,switch,true,try,type,typealias,%
-      using,while},%
-   sensitive=true,%
-   alsoother={\$},%
-   morecomment=[l]\#,%
-   morecomment=[n]{\#=}{=\#},%
-   morestring=[s]{"}{"},%
-   morestring=[m]{'}{'},%
+    {morekeywords={abstract,break,case,catch,const,continue,do,else,elseif,%
+    end,export,false,for,function,immutable,import,importall,if,in,%
+    macro,module,otherwise,quote,return,switch,true,try,type,typealias,%
+    using,while},%
+    sensitive=true,%
+    alsoother={\$},%
+    morecomment=[l]\#,%
+    morecomment=[n]{\#=}{=\#},%
+    morestring=[s]{"}{"},%
+    morestring=[m]{'}{'},%
 }[keywords,comments,strings]%
 
 \lstset{%
@@ -190,8 +191,8 @@
 
 % Python
 \lstset{
-	language = Python,
-	basicstyle=\linespread{1}\ttfamily\small,
+    language = Python,
+    basicstyle=\linespread{1}\ttfamily\small,
     numberstyle=\footnotesize,
     numbers=left,
     backgroundcolor=\color{gray!10},
@@ -366,15 +367,15 @@
 % Figura de fundo da capa
 \RequirePackage{eso-pic}
 \newcommand\BackgroundPic{%
-	\put(0,0){%
-		\parbox[b][\paperheight]{\paperwidth}{%
-			\vfill
-			\centering
-			\includegraphics[width=\paperwidth,height=\paperheight,%
-				keepaspectratio]{capa_fundo.pdf}%
-			\vfill
-		}
+    \put(0,0){%
+	\parbox[b][\paperheight]{\paperwidth}{%
+	\vfill
+	\centering
+	\includegraphics[width=\paperwidth,height=\paperheight,%
+	keepaspectratio]{capa_fundo.pdf}%
+	\vfill
 	}
+    }
 }
 % ---
 
@@ -402,23 +403,23 @@
 \vfill\vfill
 
 \abntex at ifnotempty{\imprimirpreambulo}{%
-  \hspace{.45\textwidth}
-  \begin{minipage}{.5\textwidth}
-  {\SingleSpacing
-  \IfStrEq*{\languagename}{english}{
-  \begin{otherlanguage*}{brazil}
-  \imprimirpreambulo
-  \end{otherlanguage*}}{
-  \imprimirpreambulo}
-  }
-  \end{minipage}%
-  \vfill
+    \hspace{.45\textwidth}
+    \begin{minipage}{.5\textwidth}
+    {\SingleSpacing
+    \IfStrEq*{\languagename}{english}{
+    \begin{otherlanguage*}{brazil}
+    \imprimirpreambulo
+    \end{otherlanguage*}}{
+    \imprimirpreambulo}
+    }
+    \end{minipage}%
+    \vfill
 }%
 
 {\large \orientadorname: \orienttitulo\ \orientnome\ \orientsobrenome\par}
 
 \abntex at ifnotempty{\coorientnome}{%
-  {\large\coorientadorname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}%
+{\large\coorientadorname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}%
 }%
 
 \vfill\vfill
@@ -436,7 +437,7 @@
 \RequirePackage{xstring}
 
 \renewcommand{\fichacatalografica}{
-    \thispagestyle{empty}{
+\thispagestyle{empty}{
 \setlength{\fboxsep}{10pt}
 \vspace*{\fill}
 {\small
@@ -457,8 +458,7 @@
 \end{center}
 }}
 \newpage
-	}
-}
+}}
 % ---
 
 % ---
@@ -472,11 +472,10 @@
     {\bfseries\sffamily\Large \instituicaoi \par\vspace{4pt} \instituicaoii} \par
     \abntex at ifnotempty{\instituicaoiii}{{\bfseries\sffamily\Large\instituicaoiii}}
     \vfill\vfill
+    \begin{center}
+    \color{verdeunb}\bfseries\sffamily\Large\imprimirtitulo
+    \end{center}
 
-\begin{center}
-\color{verdeunb}\bfseries\sffamily\Large\imprimirtitulo
-\end{center}
-
 \vfill
 
 {\large\autorinome\ \autorisobrenome
@@ -486,31 +485,31 @@
 \vfill
 
 \abntex at ifnotempty{\imprimirpreambulo}{%
-  \hspace{.45\textwidth}
-  \begin{minipage}{.5\textwidth}
-  {\SingleSpacing
-  \IfStrEq*{\languagename}{english}{
-  \begin{otherlanguage*}{brazil}
-  \imprimirpreambulo
-  \end{otherlanguage*}}{
-  \imprimirpreambulo}
-  }
-  \end{minipage}%
-  \vfill
+    \hspace{.45\textwidth}
+    \begin{minipage}{.5\textwidth}
+    {\SingleSpacing
+    \IfStrEq*{\languagename}{english}{
+    \begin{otherlanguage*}{brazil}
+    \imprimirpreambulo
+    \end{otherlanguage*}}{
+    \imprimirpreambulo}
+    }
+    \end{minipage}%
+    \vfill
 }%
 
 \raggedright { Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:}
 {
-   \assinatura{\textbf{\membrodabancainome} \\ \membrodabancaifuncaonome} 
-   \assinatura{\textbf{\membrodabancaiinome} \\ \membrodabancaiifuncaonome} 
-   \assinatura{\textbf{\membrodabancaiiinome} \\ \membrodabancaiiifuncaonome} 
-   \abntex at ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
-   \abntex at ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}}
+    \assinatura{\textbf{\membrodabancainome} \\ \membrodabancaifuncaonome} 
+    \assinatura{\textbf{\membrodabancaiinome} \\ \membrodabancaiifuncaonome} 
+    \assinatura{\textbf{\membrodabancaiiinome} \\ \membrodabancaiiifuncaonome} 
+    \abntex at ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}}
+    \abntex at ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}}
 \vfill      
-   \begin{center}
+    \begin{center}
     {\sffamily\large\imprimirlocal
     \par \imprimirano}
-  \end{center}
+    \end{center}
 \end{center}
 \end{folhadeaprovacao}
 }
@@ -521,31 +520,31 @@
 % Correção para o pacote microtype
 \makeatletter
 \long\def\MT at prot@l#1{%
-	\MT at get@prot{#1}{left}%
-	\leavevmode
-	#1}
+    \MT at get@prot{#1}{left}%
+    \leavevmode
+    #1}
 \def\MT at prot@group@@{%
-	\catcode`\\=0
-	\catcode`\^^M=10
-	\makeatletter
-	{\expandafter\MT at prot@l\expandafter
-		{\expandafter\scantokens\expandafter{\the\MT at toks\noexpand}}}%
-	\endgroup}
+    \catcode`\\=0
+    \catcode`\^^M=10
+    \makeatletter
+    {\expandafter\MT at prot@l\expandafter
+	{\expandafter\scantokens\expandafter{\the\MT at toks\noexpand}}}%
+    \endgroup}
 \makeatother
 
 % Ajusta a indentação das listas de figuras e de tabelas
 \DeclareTOCStyleEntry[
-  indent=0pt,
-  entrynumberformat=\entrynumberwithprefix{\figurename},
-  dynnumwidth,
-  %numsep=0em
+    indent=0pt,
+    entrynumberformat=\entrynumberwithprefix{\figurename},
+    dynnumwidth,
+    %numsep=0em
 ]{tocline}{figure}
 %\newcommand\entrynumberwithprefix[2]{#1\enspace#2:\hfill}
 
 \DeclareTOCStyleEntry[
-  indent=0pt,
-  entrynumberformat=\entrynumberwithprefix{\tablename},
-  dynnumwidth,
-  %numsep=0em
+    indent=0pt,
+    entrynumberformat=\entrynumberwithprefix{\tablename},
+    dynnumwidth,
+    %numsep=0em
 ]{tocline}{table}
-\newcommand\entrynumberwithprefix[2]{#1\enspace#2~--\hfill}
\ No newline at end of file
+\newcommand\entrynumberwithprefix[2]{#1~#2~\hfill}
\ No newline at end of file



More information about the tex-live-commits mailing list.