diff options
author | Norbert Preining <norbert@preining.info> | 2024-02-02 03:05:29 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-02-02 03:05:29 +0000 |
commit | b5a938a222c59addea5ca0a22cd53b2bbf66e1fa (patch) | |
tree | cd1c6770b784ca5783c143fee1031b2ab5fc240c /macros | |
parent | a494a509f3f4a13a450c898488155f7aa5353bd3 (diff) |
CTAN sync 202402020305
Diffstat (limited to 'macros')
36 files changed, 5504 insertions, 1409 deletions
diff --git a/macros/latex/contrib/europecv/CHANGELOG.rst b/macros/latex/contrib/europecv/CHANGELOG.rst index aaaede61a1..ec385fcf42 100644 --- a/macros/latex/contrib/europecv/CHANGELOG.rst +++ b/macros/latex/contrib/europecv/CHANGELOG.rst @@ -2,6 +2,11 @@ Changelog for package europecv ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +2024.02.01 +---------- +* Improved Spanish translation #36 (#36) +* Contributors: kaneraZh, Giuseppe Silano + 2022.08.03 ---------- * europasslogo.pdf does not work with XeTeX #31 (#31) @@ -9,7 +14,7 @@ Changelog for package europecv 2022.06.17 ---------- -* Fixed issue related to the `ucs` and `inputenc` (with utf8x option) package (#29) +* Fixed issue related to the `ucs` and `inputenc` (with utf8x option) package (#29) * Contributors: David Carlisle, Ulrike Fischer, Giuseppe Silano 2022.03.13 diff --git a/macros/latex/contrib/europecv/README.md b/macros/latex/contrib/europecv/README.md index 56921819a1..40dbc7d95d 100644 --- a/macros/latex/contrib/europecv/README.md +++ b/macros/latex/contrib/europecv/README.md @@ -1,4 +1,4 @@ -[![All Contributors](https://img.shields.io/badge/all_contributors-27-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-28-orange.svg?style=flat-square)](#contributors) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![first-timers-only](https://img.shields.io/badge/first--timers--only-friendly-blue.svg?style=flat-square)](https://www.firsttimersonly.com/) [![License](https://svgshare.com/i/KPL.svg)](https://spdx.org/licenses/LPPL-1.3c.html) diff --git a/macros/latex/contrib/europecv/ecves.def b/macros/latex/contrib/europecv/ecves.def index 648da9b73b..ee1bd53589 100644 --- a/macros/latex/contrib/europecv/ecves.def +++ b/macros/latex/contrib/europecv/ecves.def @@ -1,10 +1,10 @@ %!TEX encoding = UTF-8 Unicode % -% Translation completed on 01/03/2020 +% Translation completed on 01/02/2024 \ProvidesFile{ecves.def}[europecv Spanish definitions] % Personal information \def\ecv@infosectionkey{\ecv@utf{Informaci\'on personal}} -\def\ecv@datekey{\ecv@utf{Actualizado a}} +\def\ecv@datekey{\ecv@utf{Actualizado el\\}} \def\ecv@namekey{\ecv@utf{Nombre(s)~/ Apellido(s)}} \def\ecv@addresskey{\ecv@utf{Direcci\'on(es)}} \def\ecv@telkey{\ecv@utf{Tel\'efono(s)}} @@ -20,7 +20,7 @@ \def\ecv@homepagekey{\ecv@utf{Home page}} \def\ecv@nationalitykey{\ecv@utf{Nacionalidad(es)}} \def\ecv@birthkey{\ecv@utf{Fecha de nacimiento}} -\def\ecv@genderkey{\ecv@utf{Sexo}} +\def\ecv@genderkey{\ecv@utf{G\'enero}} % Footer \def\ecv@pagekey{\ecv@utf{P\'agina}} \def\ecv@cvofkey{\ecv@utf{Curriculum vit\ae\ de}} diff --git a/macros/latex/contrib/europecv/europecv.pdf b/macros/latex/contrib/europecv/europecv.pdf Binary files differindex 62cc966298..a7d2b19f47 100644 --- a/macros/latex/contrib/europecv/europecv.pdf +++ b/macros/latex/contrib/europecv/europecv.pdf diff --git a/macros/latex/contrib/europecv/europecv.tex b/macros/latex/contrib/europecv/europecv.tex index e8b8a3227f..4508f5edb8 100644 --- a/macros/latex/contrib/europecv/europecv.tex +++ b/macros/latex/contrib/europecv/europecv.tex @@ -54,7 +54,7 @@ Faculty of Electrical Engineering\\ Czech Technical University in Prague, Czech Republic\\ } -\date{August 3, 2022} +\date{February 1, 2024} \begin{document} @@ -924,12 +924,17 @@ Gardstr\"{o}m} for fixing the German (2018.10.12) and Swedish (2019.01.25) trans respectively. Thanks to \textbf{JPSPLeite} for improving the Portuguese translation. Thanks to \textbf{Marc-Andre Hermanns} for adding the \texttt{nobranding} feature. Thanks to \textbf{Antonios Tsolomitis} for his suggestions into the 2020.01.06 package release. Thanks to \textbf{ -Davide Peressoni} for the biber support (2020.10.26 package release). Thanks to \textbf{Nuno -Fachada} for his help with the Portuguese translation (2021.02.05 package release). Thanks to -\textbf{Pancho Horrillo} for his fix ($\#25$, 2021.05.09 package release). Thanks to -\textbf{Alecu Ștefan-Iulian} for his fix ($\#26$ and $\#27$, 2022.03.13 package release). Thanks to -\textbf{Scott Kostyshak} for his fix ($\#29$ and $\#30$, 2022.06.17 package release). Thanks -to \textbf{Michal Vlasak} for his fix ($\#31$, 2022.08.03 package release). +Davide Peressoni} for the biber support into the 2020.10.26 package release. Thanks to +\textbf{Nuno +Fachada} for his help with the Portuguese translation into the 2021.02.05 package release. +Thanks to +\textbf{Pancho Horrillo} for his fix $\#25$ into the 2021.05.09 package release. Thanks to +\textbf{Alecu Ștefan-Iulian} for his fix $\#26$ and $\#27$, into the 2022.03.13 package +release. Thanks to +\textbf{Scott Kostyshak} for his fix $\#29$ and $\#30$, into the 2022.06.17 package release. +Thanks +to \textbf{Michal Vlasak} for his fix $\#31$ into the 2022.08.03 package release. Thanks to +\textbf{kaneraZh} for his fix $\#36$ into the 2024.02.01 package release. %%% END SECTION ============================================================ diff --git a/macros/latex/contrib/europecv/examples/europass-cv.pdf b/macros/latex/contrib/europecv/examples/europass-cv.pdf Binary files differindex 83dbc4df6f..9cde065866 100644 --- a/macros/latex/contrib/europecv/examples/europass-cv.pdf +++ b/macros/latex/contrib/europecv/examples/europass-cv.pdf diff --git a/macros/latex/contrib/europecv/examples/greek-utf8.pdf b/macros/latex/contrib/europecv/examples/greek-utf8.pdf Binary files differindex 0c97f9fdec..66b43e30dc 100644 --- a/macros/latex/contrib/europecv/examples/greek-utf8.pdf +++ b/macros/latex/contrib/europecv/examples/greek-utf8.pdf diff --git a/macros/latex/contrib/europecv/examples/minimal.pdf b/macros/latex/contrib/europecv/examples/minimal.pdf index 8039953188..b201d0d066 100644 --- a/macros/latex/contrib/europecv/examples/minimal.pdf +++ b/macros/latex/contrib/europecv/examples/minimal.pdf @@ -1,33 +1,28 @@ -%PDF-1.4 +%PDF-1.5 % -4 0 obj << -/Length 326 +4 0 obj +<< +/Length 313 /Filter /FlateDecode >> stream -xڍPN1+|ֵ\)E'+.TzCJ(=qx(#Y$61[3
+cBN ÕGs_ldAa96WN~qBad.tXtK -,CP)+mcRbɪ»8{t^^,HP*|\{6G_o4~hj}xߛ#(+b"ب?]\iiUlrdW^axq%+~9_g2LA͒%Hzy*q.]4Mfm.ioy +x}Qn@+|Lk+JTԨ(_ E^{vr(4d&m $X6la h96@ޡNފ݈2z5y+
L +[!xi70ʢ@1hIDa]Mrh]0PorY{zr\)˖ѕG{/OOռN4c`enH[[^gH|ﵞ+u*![e-:U1GbFm0s])^TRTFD,tڦK~onwonӄ endstream endobj -3 0 obj << -/Type /Page -/Contents 4 0 R -/Resources 2 0 R -/MediaBox [0 0 595.276 841.89] -/Parent 7 0 R ->> endobj -1 0 obj << +1 0 obj +<< /Type /XObject /Subtype /Form /FormType 1 -/PTEX.FileName (/Users/vita/Library/texmf/tex/latex/europecv/europasslogo.pdf) +/PTEX.FileName (/usr/share/texlive/texmf-dist/tex/latex/europecv/europasslogo.pdf) /PTEX.PageNumber 1 -/PTEX.InfoDict 8 0 R -/BBox [0.00000000 0.00000000 4256.00000000 2352.00000000] +/PTEX.InfoDict 9 0 R +/BBox [0 0 4256 2352] /Resources << /ProcSet [ /PDF ] /ExtGState << -/GS1 9 0 R +/GS1 10 0 R >>>> /Length 33212 >> @@ -1274,85 +1269,124 @@ f 605.167 19.333 l 604.667 19.5 l f + endstream endobj -8 0 obj +14 0 obj << -/CreationDate (D:20050404114935+02'00') -/ModDate (D:20050404114935+02'00') -/Producer (PSNormalizer.framework) +/Length1 1608 +/Length2 5671 +/Length3 0 +/Length 6469 +/Filter /FlateDecode >> +stream +xڭUg8;QntщE cf00 D'Q -Q-D9|g}_s]*Ͻ<ib.E:ô`rE"HO(uʐh8 +4O?91h($& +G^=E#3 ;#%" +om +&]%dK{?@OyعŸL@.P06.Lo}_2?N3BP!I59$%q5mugҽX?NT%v3*_*YC>H}~w+]q:5թ :^zs?.ip/~B^oGӨ|zm,_<Xq{N|wDwT^
ͱijgq|^NIC#ap_Zj[Gih&W!x? avRҿ"Qx!R,RkdD93!4 'O"h5y+idsUtZJ>E8R}b֣! ++]#ric;'F{Ï"{7oHxiO"t$FP8cCXl:xZѻ'!mmIgf}M[?<iG3wJ!.}5&vL$VuAīpQł>X 갅1 52ķS
5v6UvB~"GyGV1YV?J_wotQzۆO<BVԏ;+hqq5&ɥEЬ;HDq2nFzJ67d9Ӻ[;ډIuůu3t5q%o}9$\==ccq\HQ@P1榛OfyS:h*'+
ꄝp'~2u$R/i$MF`G+>6C+ɯvOds4Yv!7wFAyzEՌ9KqS/ө<rK$^'DbXʁ%CRjI?p2`qW^1{vہtd6WQ׆:Fg~7^%Kaȼ5~Kc?wd~<aqYK?D餞)RZIm *bmƓZ>̭<8pejmYwHO7ҥ'~05+Bs*t%-VQ0cȝFFty5UL+d]XNZ\ڒ^k_9ݝG6Erס@fvSB}Mɯ,|='`c?*CwSO2K7MAC]HOd-ץǩ +WmRؿ\WzP#fb/ZRR +D^u>Q@sHȋٗ.z2%PF߇~3.dGWSgq=j<|˓X;rvoTHc5~jHa}Ig>x|ve+chT,$(/F<d( aPx0 8}W(v/}*94Pc3!e-[x7kijkh-q*nI+u$J g܈bLdV?}fu.6 U0]EvN +Lv@G:!`URּ7u˗V_Y6H&¤0 (p&+'gH,u_$L;ԋaJu 1Mwx-Q"_s<x C;z9j;6u dYmPk'@l +@/9*BU0M']nưN沲$I3VVզ] +pql*8v =45
_rU.U__Yo&h]gD&=GԚ1͠'j2z +纭D|yO)/^nn=ص4r5րg)ՈvvFL$DX2Oi?tU.7
kcCRz}sւ@AI
[P_ +w嚰t|"W͜,}v"sXȃu/nfu\ok3̖aVmQ"5%oG&qdk=asFhX9(nZr>3(Jmfp%})s=e,:M}v[[ydP# D]gIntz?~T<Vq-'I=GOc)W͋tf@.m5%
_PW_H4ϩ"%Ԕd T3^X_T}oŦMcd}G >NYn(/-&g6b;Ž;ޘh@X1l}}9*d5&LR,*FUΪ|9fJN|I "?̑nS"7x\:kʯu8;(krg 0!KDڮ(Z!9BUy613?F5,M2QoN
G8GYu*`dz.vArW4s藿ɟj~P.omy>n:l*-=g[ +-Q!dv$txIӰ +ۼWdܭi{lN5e@볙D$D;nC^],,xwTKf&gr)ըm\2[=*^A)˓E?+IgvS`'vyTe3J,> +~@E7r]ttiYe(kj^L1y 9mB_!hלG4X}%r +qAzȎ#KGgdHzY~!Y !S,0єʂ]7tᣀEtQӧPZ +6b$Ϛ_ +Әavp'C=:&|2d֧<*rpMjHqB6Sx\=;t|4DBMm}KSW#A3279g|=wS/0,[Fd;苇^cfy̜cOn~A qP\ +`;l#(K +D_&9Z\;Dy\Ԇ^{.갢`<lAa-/@ܢ*QM
mREÑWz9"å(CUybqN/g'&b +yL9CYAq +cs1Oy>8`{yGZtGo6 ?D[fa4C G{A"{OxjYr86<IUcucNo]X?kUd4V!rrI$\>[jG}o7֡?ޯߟ'iT=5Zታ_{N@A0,.ϊJe҆HWB*"ݑ*]z7Gf%UiީGms[K?Kgk)S-俎u5MR6{ߨmܤ,Gma$dP3G8HNJzuE\Wr)
Ȃ)qȞkyxȟa*e,9blhT);~{'n=O
-I#MSޣqT睹.Bp5K6|Ů=K\oߔqRyOuʜ`Xr}gp˹_s=m}AF lnV;pWUɣ?BNh$JGX9$n/ H +endstream endobj -9 0 obj +16 0 obj << -/Type /ExtGState -/SA false -/SM 0.02 -/OP false -/op false -/OPM 1 -/BG2 /Default -/UCR2 /Default -/HT /Default -/TR2 /Default +/Length1 1144 +/Length2 4623 +/Length3 0 +/Length 5378 +/Filter /FlateDecode >> +stream +xuSu\[AZ@Er萘fQT:$%DDI);swwk={=11WahV$T>`@ +E(+cvb10IxH`XIBZ(K4^0)?BQ-A}0(LO ߘ+JR +Ac +A +EÍH@RZF?{+J]M]KBPT >rA(0? .6?X8$@Y 迚?jA ~/G +JNmP2+\Wj +nm{+BpRp +$DweWQyIT#t9]Ũ߈Pm6gߐQ.0Q#JNr9
#V>zG,IWB]Uc?3|JOoXS_:| 0U|Ԁ+uEufbM{W&X@/3nR&J4es.=k%+l%n#_,IF=O[_iFO6HyPK\ +in+/ +9(=<S2jٷbmB;aGJ}LZzv:Aߛش<mL9ϵFseǮsv6RP7&\+r̻Fquw{sޭˎ%w8E}
-J@*4%k>|R1u,_ML'ZީX.#Z1BR +'圝S AOP F
_&s9/ ưMe6qOtM|q#+@>B|"m +S!`vk.ӷr +WTۏ2&z_ITV?krtDZSPi4^Ne.̅#Ǜ^z J7uQ
" ckǓcOOH~ģޒkkjQLdLD5 +x:eNik<yl>;\|?BAؑiXW&+/$9a=-^j2đ4|nGOrլfy1fB>UɩPp%dcsj
jh^6*CSa3K`dǁ.w'Cb'CwU>rݼ`XQXuJJ1خ+CWo-q7Z0wIDK9nU)+' +ز=Cggymer=L2DoFe][)%d.q0*mdx\-"R|LZᗳ,IO6P3]oq&Shkٕcefb)C +nIuɴP0o\
-hWRw +8C.%W53c%NSٛQUD)3l#w^9s3ȅ>R*3%Mv;YxK\@QtK: +Hp{w^/G#3O^,6U_VDR6*i :=? /T@Cid!wy4m;t"XΌl:;p[N5%)
lw٤a
9t-s#qbm!!^'d]vp 3rkEW^].zm. BHJ{Aos38 kCնO;Lix|ȩUkmHY[љkHY\3EQu]v1o2HnafH]žo{ZykB\LJ{6%җ0M|lB +6.*wIՎo<7jR=|uqB¤Wz^_ I$OBVn64eMAHZ)s,?| +PϢ˞V.5~<ʺ>BjG$`v,dX~.weڬ57Մ~?| +<S+U(9XϰH^%zOkb|`ޥHQy(X*NqU< +(r][g*Sfř̹/S7FۯMq}H}贖x<ps6}mU xeyaSL<|i,_cD8.YWnI R^U{M6R:_OQ +&Ѳ
{'e[oqyʌoo
;]5xђuMk +t$l=bprRݨmOf=3/sT&5F刵WR[/-U'%}ߓ +&~@S\Ff及MIf1N<6WYt@<kC.RI +즕ʴkI蒬iY,^3?2)TFȭ)F&.^=Em][Y9e}P@5ť<]^wM\wٗ4+ڈ/c~a;͕a +endstream endobj -2 0 obj << -/Font << /F19 5 0 R /F20 6 0 R >> -/XObject << /Im1 1 0 R >> -/ProcSet [ /PDF /Text ] ->> endobj -10 0 obj << -/Type /Encoding -/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 128/Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal 144/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] ->> endobj -6 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 10 0 R -/BaseFont /Helvetica ->> endobj -5 0 obj << -/Type /Font -/Subtype /Type1 -/Encoding 10 0 R -/BaseFont /Helvetica-Bold ->> endobj -7 0 obj << -/Type /Pages -/Count 1 -/Kids [3 0 R] ->> endobj -11 0 obj << -/Type /Catalog -/Pages 7 0 R ->> endobj -12 0 obj << -/Producer (pdfeTeX-1.30.4) +19 0 obj +<< +/Producer (pdfTeX-1.40.20) /Creator (TeX) -/CreationDate (D:20060424171629+02'00') -/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5) kpathsea version 3.5.5) ->> endobj -xref -0 13 -0000000000 65535 f -0000000531 00000 n -0000034348 00000 n -0000000420 00000 n -0000000015 00000 n -0000036427 00000 n -0000036340 00000 n -0000036519 00000 n -0000034077 00000 n -0000034208 00000 n -0000034453 00000 n -0000036576 00000 n -0000036626 00000 n -trailer -<< /Size 13 -/Root 11 0 R -/Info 12 0 R -/ID [<DDA476E46AA692316F054F07525302DD> <DDA476E46AA692316F054F07525302DD>] >> +/CreationDate (D:20240201131807+01'00') +/ModDate (D:20240201131807+01'00') +/Trapped /False +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1) +>> +endobj +7 0 obj +<< +/Type /ObjStm +/N 13 +/First 90 +/Length 1000 +/Filter /FlateDecode +>> +stream +xڝVmo8_ok1%m(IAzuwIή_R'l!`$Q$Ŕ ] +&ZҠu=hKpfz;㓦 )JŅ[8~)ͦ,@ӑޛ")L˸14^`*E|{FOYINa~n264p2 uuB)f?lNF,_ǫxmN3+^Ol:8<^<q.wm\/?IǻU}wy=,&ݭ!.. +dT6)* +a +ɶ@.vXyFAӐR_ +ai" +K,~[:YڏSqvR +endstream +endobj +20 0 obj +<< +/Type /XRef +/Index [0 21] +/Size 21 +/W [1 2 1] +/Root 18 0 R +/Info 19 0 R +/ID [<C8E99BFACD6C19C6734A546F6F2758B0> <C8E99BFACD6C19C6734A546F6F2758B0>] +/Length 72 +/Filter /FlateDecode +>> +stream +xc``8AlN brbF fb fbVƖ&<;<30g +endstream +endobj startxref -36831 +47383 %%EOF diff --git a/macros/latex/contrib/europecv/templates/cv_template_academic_en.pdf b/macros/latex/contrib/europecv/templates/cv_template_academic_en.pdf Binary files differindex 2e4ec32408..285af0f39b 100644 --- a/macros/latex/contrib/europecv/templates/cv_template_academic_en.pdf +++ b/macros/latex/contrib/europecv/templates/cv_template_academic_en.pdf diff --git a/macros/latex/contrib/europecv/templates/cv_template_en.pdf b/macros/latex/contrib/europecv/templates/cv_template_en.pdf Binary files differindex 62a83cb826..53d486c5e2 100644 --- a/macros/latex/contrib/europecv/templates/cv_template_en.pdf +++ b/macros/latex/contrib/europecv/templates/cv_template_en.pdf diff --git a/macros/latex/contrib/refstyle/README b/macros/latex/contrib/refstyle/README index 93d23dc15e..8838e87b1d 100644 --- a/macros/latex/contrib/refstyle/README +++ b/macros/latex/contrib/refstyle/README @@ -32,9 +32,9 @@ FILES IN DISTRIBUTION refstyle.pdf User manual for refstyle package. It was produced by executing: - + latex refstyle.ins - + pdflatex refstyle.dtx pdflatex refstyle.dtx makeindex -s gglo.ist -o refstyle.gls refstyle.glo diff --git a/macros/latex/contrib/refstyle/refconfig.dtx b/macros/latex/contrib/refstyle/refconfig.dtx index 22a675b8ac..69a04bb407 100644 --- a/macros/latex/contrib/refstyle/refconfig.dtx +++ b/macros/latex/contrib/refstyle/refconfig.dtx @@ -91,7 +91,7 @@ %</driver> % \fi % -% \CheckSum{1092} +% \CheckSum{1089} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -115,6 +115,7 @@ % \changes{v0.4}{2010/10/21}{Add \cmd{\RSlsttwotxt} for lists} % \changes{v0.5}{2010/11/02}{Bug fixes} % \changes{v0.6}{2024/01/31}{robustification of AMS' \cmd{\eqref}} +% \changes{v0.6b}{2024/02/01}{Bug fix} % % \DoNotIndex{ % \",\@chapapp,\@ifpackageloaded,\AtBeginDocument, @@ -184,8 +185,8 @@ % \subsection{Identification} % \begin{RSframed} % \begin{macrocode} -\ProvidesFile{refstyle.cfg}[2024/01/31\space - v0.6\space +\ProvidesFile{refstyle.cfg}[2024/02/01\space + v0.6b\space Configuration file for refstyle (DNJ Els)] % \end{macrocode} % \end{RSframed} @@ -995,9 +996,10 @@ % If \pkg{amsmath.sty} is loaded, store \cmd{\eqref} % and then undefine it before the template is created. % \begin{macrocode} -\AddToHook{package/amsmath/after}% - {\NewCommandCopy\AMSeqref\eqref - \RS@removedef{eqref}}% +\AddToHook{package/amsmath/after}{% + \NewCommandCopy\AMSeqref\eqref + \DeclareCommandCopy\RSeqrefform\AMSeqref + \RS@removedef{eqref}} % \end{macrocode} % \begin{macrocode} \newref{eq}{% @@ -1012,19 +1014,15 @@ % \end{macrocode} % Make way for \pkg{amsmath.sty} definitions % \begin{macrocode} -\let\RSeqref\eqref -\let\eqref\relax +\NewCommandCopy\RSeqref\eqref +\RS@removedef{eqref} % \end{macrocode} % Some footwork to bring the AMS definition of % \cmd{\eqref} back if \pkg{amsmath.sty} is loaded % afterwards. % \begin{macrocode} \AtBeginDocument{% - \@ifpackageloaded{amsmath}% - {\DeclareCommandCopy\RSeqrefform\AMSeqref}% - {}% - \let\eqref=\RSeqref - } + \DeclareCommandCopy\eqref\RSeqref} % \end{macrocode} % \end{RSframed} % diff --git a/macros/latex/contrib/refstyle/refconfig.pdf b/macros/latex/contrib/refstyle/refconfig.pdf Binary files differindex c16ae09cca..763913aea4 100644 --- a/macros/latex/contrib/refstyle/refconfig.pdf +++ b/macros/latex/contrib/refstyle/refconfig.pdf diff --git a/macros/latex/contrib/refstyle/refstyle.dtx b/macros/latex/contrib/refstyle/refstyle.dtx index 1b5b6509d6..ba2ee5fde5 100644 --- a/macros/latex/contrib/refstyle/refstyle.dtx +++ b/macros/latex/contrib/refstyle/refstyle.dtx @@ -27,8 +27,8 @@ % ------------------------------------------------------------------- % %<*pkg> -\newcommand*{\RefstyleFileDate}{2024/01/31} -\newcommand*{\RefstyleFileVersion}{v0.6} +\newcommand*{\RefstyleFileDate}{2024/02/01} +\newcommand*{\RefstyleFileVersion}{v0.6b} %</pkg> % % diff --git a/macros/latex/contrib/refstyle/refstyle.pdf b/macros/latex/contrib/refstyle/refstyle.pdf Binary files differindex a7bc463295..425e0ea313 100644 --- a/macros/latex/contrib/refstyle/refstyle.pdf +++ b/macros/latex/contrib/refstyle/refstyle.pdf diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md index 61176f44e8..64adbbad76 100644 --- a/macros/latex/contrib/unbtex/README.md +++ b/macros/latex/contrib/unbtex/README.md @@ -1,6 +1,6 @@ # UnBTeX: A class for bachelor, master, and doctoral thesis at the # University of Brasilia (UnB), Brazil. -# Version 1.4.4 2024/01/05 +# Version 1.5 2024/02/02 Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br> @@ -13,25 +13,26 @@ Please note that the documentation for the class and the comments in the templates are all written in Portuguese, the language of the target audience. -This package consists of the following source file: unbtex.cls. -Template files: unbtex-example.pdf, unbtex-example.tex, unbtextcite-pt, -unbtexcite-en, and files within unbtex-example directory. +This package consists of the file unbtex.cls and the bibliographic style +files located in the unbtexcite directory. +Template files: unbtex-example.pdf, unbtex-example.tex, and files within +unbtex-example directory. To compile the unbtex-example.tex file you should call pdflatex, bibtex, pdflatex. Here is a history of changes: 1.0 (2021-12-15): Initial release 1.1 (2022-05-23): - . changed \codigocutter to \numerocutter - . the argument of \preambulo command now admits a more general text + . Changed \codigocutter to \numerocutter + . The argument of \preambulo command now admits a more general text . updated example 1.1.1 (2022-05-30): - . changed abntex2 commands \orientador and \coorientador to do the + . Changed abntex2 commands \orientador and \coorientador to do the same as \orient and \coorient - . changed hyphenation for \preambulo text in portuguese when english + . Changed hyphenation for \preambulo text in portuguese when english language is selected 1.1.2 (2022-07-29): - . Page break in copyright page (ficha catalográfica) has been corrected + . Page break on the copyright page has been corrected . Documentation and comments improvements 1.1.3 (2022-09-04): . Improved compilation time @@ -79,14 +80,12 @@ Here is a history of changes: . Spacing between figures/tables and captions/legends has been adjusted . Spacing between figures/tables and text has been adjusted - . Spacing between text and title of sections has been compacted . Spacing in list environments has been adjusted 1.4.2 (2023-12-15): . Cross-references to the appendix and annex using the cref command have been corrected . The lists of abbreviations and acronyms, as well as the list of symbols, have been enhanced, and page numbering has been removed - . The Cutter code has been removed from the copyright page . The example chapters have been reorganized 1.4.3 (2023-12-22): . Keywords in English have been included on the copyright page if the @@ -96,7 +95,18 @@ Here is a history of changes: . The pdfpages package has been used to include pages from PDF documents . The sans-serif font Helvetica (helvet package) has been replaced by the TeX Gyre Heros font (tgheros package) - + 1.5 (2024-02-02): + . ABNT style with a numeric citation scheme for bibliographic references + has been included + . Added an option to the UnBTeX class for selecting the citation style + (author-year or numeric) + . Added an option to the UnBTeX class for selecting the main language of + the text (Brazilian Portuguese or English) + . The font size of the title is automatically adjusted according to its + length (and number of lines) + . Reorganization of the class source code and improvements in the comments + . The template text has been revised and improved + ## Overleaf The template is available on [Overleaf] diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf Binary files differindex 9e44543fa5..eb6c3020ba 100644 --- a/macros/latex/contrib/unbtex/unbtex-example.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex index 00082e7908..0a973aab99 100644 --- a/macros/latex/contrib/unbtex/unbtex-example.tex +++ b/macros/latex/contrib/unbtex/unbtex-example.tex @@ -1,7 +1,7 @@ %% %% UnBTeX: A class for bachelor, master, and doctoral thesis at the %% University of Brasilia (UnB), Brazil -%% Version 1.4.4 2024/01/05 +%% Version 1.5 2024/02/02 %% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br> %% %% This class file may be distributed and/or modified under the conditions @@ -19,39 +19,27 @@ %% \documentclass[ - % -- opções da classe memoir -- https://www.ctan.org/pkg/memoir - 12pt, % tamanho da fonte - 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} + % -- Opção da classe memoir -- https://www.ctan.org/pkg/memoir + oneside, % Caso queira imprimir em frente e verso, use twoside + % -- Opção da classe abntex2 -- https://www.ctan.org/pkg/abntex2 + sumario=tradicional, % Remova esta opção para sumário padrão ABNT + % -- Selecione o idioma no qual o trabalho será escrito + idioma=brazil, % Para texto principal em português + %idioma=english, % Para texto principal em inglês + % -- Selecione o estilo das referências bibliográficas + bib=alf, % Bibliografia nas normas da ABNT, estilo autor-data + %bib=num, % Bibliografia nas normas da ABNT, estilo numérico + % -- Opções de idiomas para pacotes utilizados -- Não alterar + english, % Para hifenização de palavras em inglês + brazil % Para hifenização de palavras em português ]{unbtex} % --- -% Pacotes básicos (Adicione abaixo pacotes úteis para o seu trabalho) +% Pacotes básicos (Adicione outros pacotes necessários para o seu trabalho) +% --- +\usepackage{longtable} % Pacote para tabelas que ocupam mais de uma página +\usepackage{rotating} % Pacote para girar tabelas (e outros objetos) % --- - -\usepackage{longtable} % Pacote para tabelas que ocupam mais de uma página -\usepackage{rotating} % Pacote para girar tabelas (e outros objetos) -\usepackage{pdfpages} % Pacote para incluir documentos pdf - -% Lista na bibliografia o número das páginas que cada referência é citada -\RequirePackage[hyperpageref]{backref} -% Bibliografia nas normas da ABNT, formato autor-data -\RequirePackage[ - alf, - abnt-etal-list=0, - abnt-etal-cite=3, - abnt-emphasize=bf, - bibjustif - ]{abntex2cite} -\addtociteoptionlist{abnt-url-package=url} -% retira os limitadores < e > dos hiperlinks -\def\UrlLeft{} -\def\UrlRight{} -\urlstyle{same} % --- % Compila o índice @@ -60,47 +48,9 @@ % --- % --- -% Lista de siglas e abreviaturas e lista de símbolos -% --- -\RequirePackage{nomencl} -%\RequirePackage[refpage]{nomencl} % Para imprimir página onde o símbolo foi registrado -\renewcommand{\nomname}{\listadesiglasname} -% Imprime a página onde o símbolo foi registrado -%\def\pagedeclaration#1{\dotfill\hyperlink{page.#1}{\nobreakspace#1}\par} -% Espaço entre os itens das listas -\setlength{\nomitemsep}{-\parsep} -% Separa os grupos das listas e imprime -\newcommand{\nomenclheader}[1]{\section*{\hspace*{-\leftmargin}\large#1}} -\renewcommand\nomgroup[1]{% - \IfStrEqCase{#1}{% - {A}{\vspace{-42pt}\nomenclheader{}} % Lista de abreviaturas e siglas - {B}{\cleardoublepage % Quebra de página - \PRIVATEbookmarkthis{\listadesimbolosname} - \chapter*{\hspace*{-\leftmargin}\listadesimbolosname} % Lista de símbolos - \vspace{-12pt}\nomenclheader{\nomBname}} % Símbolos romanos - {C}{\nomenclheader{\nomCname}} % Símbolos gregos - {X}{\nomenclheader{\nomXname}} % Sobrescritos - {Z}{\nomenclheader{\nomZname}} % Subscritos - }% -} -% Compila as listas +% Compila a nomenclatura +% --- \makenomenclature -% Ajusta largura da margem da descrição do símbolo/sigla/abreviatura -\RequirePackage{xpatch} -\makeatletter -\xapptocmd\thenomenclature{\let\@item\nomencl@item\def\nomencl@width{0pt}}{}{} -\let\nomencl@item\@item -\xpretocmd\nomencl@item{\nomencl@measure{#1}}{}{} -\def\nomencl@measure#1{% - \sbox0{#1}% - \ifdim\wd0>\nomencl@width\relax - \edef\nomencl@width{\the\wd0}% - \fi -} -\xapptocmd\endthenomenclature{% - \immediate\write\@mainaux{\global\nomlabelwidth\nomencl@width\relax}% -}{}{} -\makeatother % --- % --- @@ -114,65 +64,179 @@ % ------------------------------------------------------------------------ % ------------------------------------------------------------------------ -% Título (no idioma do texto) -\titulo{Modelo de trabalho \\ acadêmico com UnB\TeX} % insira \\ para forçar quebras de linha no título +% --- +% Título +% --- +\titulo{Modelo de trabalho \\ acadêmico com UnB\TeX} % No idioma principal do texto +% Insira \\ caso queira forçar quebras de linha no título % Não utilize caixa alta para o título do trabalho e nem das seções (com exceção de siglas) -% Em inglês caso o trabalho seja em inglês. -\tituloestrangeiro{} -% Obrigatório título em português caso o texto do trabalho seja em inglês (caso contrário, deixe vazio) +% --- +\tituloestrangeiro{} % Escreva aqui título em português se o trabalho for escrito em inglês (caso contrário, deixe vazio) +% --- +% --- % Autores +% --- \autori[]{Carlos}{Lisboa} % \autori[]{Nome}{Sobrenome} % No caso de nomes como Carlos de Souza, utilize \autori[]{Carlos de}{Souza} (e não \autori[]{Carlos}{de Souza}) -\autorii[]{}{} % deixe os argumentos vazios se não tiver segundo autor +% --- +\autorii[]{}{} % Deixe os argumentos vazios se não tiver segundo autor +% --- + +% --- +% Código Cutter para a ficha catalográfica +% Gerado a partir da entrada <Sobrenome, Nome> (do primeiro autor) no site https://www.tabelacutter.com/ +% --- +\numerocutter{} % Para não imprimir o código na ficha catalográfica, deixe o argumento vazio +%\numerocutter{769} % Prencher o argumento do comando apenas com os números gerados +% --- +% --- % Orientadores -\orientador[Prof. Dr.]{Lourenço Nassib}{Chehab} % É possível alterar o gênero para orientadora mais abaixo, após o comando \begin{document} -\coorientador[Prof. Dr.]{}{} % deixe os argumentos vazios se não tiver coorientador -% É possível alterar o gênero para coorientadora mais abaixo, após o comando \begin{document} +% --- +\orientador[Orientador]{Prof. Dr.}{Lourenço Nassib}{Chehab} % Para alterar o gênero, basta trocar Orientador por Orientadora +% --- +\coorientador[Coorientador]{Prof. Dr.}{}{} % Deixe os argumentos para nome e sobrenome vazios se não tiver coorientador +% --- -% Tipo de trabalho +% --- +% Informações do trabalho +% --- \tipotrabalho{Projeto Final de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês) -\tipocurso{Engenharia de Controle e Automação} % Programa de Pós-Graduação em Engenharia Elétrica (em português, mesmo que o trabalho seja em inglês) -\preambulo{Projeto Final de Curso submetido como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação} % Texto que aparece na folha de rosto e na folha de aprovação. Pode variar, por exemplo, de acordo com o tipo de trabalho (Trabalho de Conclusão de Curso, Dissertação de Mestrado, Tese de Doutorado), do grau (Bacharel, mestre, doutor) e do curso. Consulte a secretaria/coordenação do curso para saber o que deve ser escrito no preâmbulo. Use português mesmo que o trabalho seja em inglês. +%\tipotrabalho{Tese de Doutorado} +% --- +\tipocurso{Engenharia de Controle e Automação} % Nome do curso de graduação ou do programa de pós-graduação, em português +%\tipocurso{Programa de Pós-Graduação em Engenharia Elétrica} +% --- +% Texto que aparece na folha de rosto e na folha de aprovação +\preambulo{Projeto Final de Curso submetido como requisito parcial para obtenção do grau de Engenheiro de Controle e Automação.} +%\preambulo{Tese de Doutorado submetida ao Programa de Pós-Graduação em Engenharia Elétrica da Universidade de Brasília como parte dos requisitos necessários para obtenção do grau de Doutor.} +% Consulte a secretaria/coordenação do curso para saber o que deve ser escrito no preâmbulo. Use português mesmo que o trabalho seja em inglês. +% --- +% Informação adicional para ser impressa na folha de rosto +\publicacao{} % Deixe o argumento vazio caso não haja +%\publicacao{Publicação PPGEE 201/23} % Também imprime as informações no trabalho no topo da página da ficha catalográfica +% --- +% --- % Instituição -\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} -%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % comente a linha acima e retire o comentário desta linha caso queira incluir o departamento da unidade acadêmica -% Use português mesmo que o trabalho seja em inglês. +% --- +\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{} % Use português mesmo que o trabalho seja em inglês +%\instituicao[Universidade de Brasília]{Faculdade de Tecnologia}{Departamento de Engenharia Elétrica} % Caso queira incluir o departamento da unidade acadêmica +% --- +% --- % Local e data da defesa +% --- \local{Brasília} -\dia{5} -\mes{janeiro} +\dia{2} +\mes{fevereiro} \ano{2024} +% --- + +% --- +% Membros da banca +% --- +\membrodabancai{Prof. Dr. Lourenço Nassib Chehab,\\ UnB/FT/ENE} % Membro 1 - Geralmente é o orientador +\membrodabancaifuncao{Orientador} % Em português, mesmo que o trabalho seja em inglês. +\membrodabancaii{Prof. Dr. Sérgio Barroso de Assis Fonseca,\\ UnB/FT/ENE} % Membro 2 +\membrodabancaiifuncao{Examinador interno} +\membrodabancaiii{Prof. Dr. Nelson Ortegosa da Cunha,\\ UnB/FT/ENE} % Membro 3 +\membrodabancaiiifuncao{Examinador interno} +\membrodabancaiv{} % Deixe vazio se não tiver o quarto membro +\membrodabancaivfuncao{Examinador externo} +\membrodabancav{} % Deixe vazio se não tiver o quinto membro +\membrodabancavfuncao{Examinador externo} +% Comprimento da linha da assinatura (ajuste conforme necessidade) +\setlength{\ABNTEXsignwidth}{9cm} +% --- + +% --- +% Resumo em português +% --- +\begin{Resumo} +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 extensão da classe \abnTeX\ para a Universidade de Brasília (UnB). Além de apresentar comandos básico de \LaTeX\ para inclusão de equações, tabelas e figuras, o documento mostra como utilizar pacotes adotados pela classe UnB\TeX\ para gerar referências bibliográficas, listas símbolos, caixas para teoremas e algoritmos, dentre outros elementos úteis ou obrigatórios para trabalhos acadêmicos. Espera-se que este documento facilite o uso da classe UnB\TeX\ na elaboração de trabalhos de alta qualidade gráfica mesmo por usuários com pouca experiência em \LaTeX. +\end{Resumo} +% --- +% --- +% Resumo em inglês +% --- +\begin{Abstract} +This is the english abstract. +\end{Abstract} +% --- + +% --- % Palavras-chave (pelo menos três devem ser informadas) +% --- \pchavei{Palavra chave 1} \kwordi{Keyword 1} \pchaveii{Palavra chave 2} \kwordii{Keyword 2} \pchaveiii{Palavra chave 3} \kwordiii{Keyword 3} -\pchaveiv{Palavra chave 4} % deixar vazio se não tiver -\kwordiv{Keyword 4} % deixar vazio se não tiver -\pchavev{} % deixar vazio se não tiver -\kwordv{} % deixar vazio se não tiver +\pchaveiv{Palavra chave 4} % Deixe vazio se não tiver +\kwordiv{Keyword 4} % Deixe vazio se não tiver +\pchavev{} % Deixe vazio se não tiver +\kwordv{} % Deixe vazio se não tiver +% --- -% Código Cutter para a ficha catalográfica: -%\numerocutter{000} % Correspondente ao seu nome (encontre, por exemplo, no site https://www.tabelacutter.com/) +% --- +% Agradecimentos +% --- +% Idioma usado nos agradecimentos (pode ser em português, mesmo que o trabalho seja em inglês) +\idiomaagradecimentos{brazil} +%\idiomaagradecimentos{english} -% Membros da banca -\membrodabancai{Prof. Dr. Lourenço Nassib Chehab, UnB/FT/ENE} % Membro 1 - Geralmente é o orientador -\membrodabancaifuncao{Orientador} % Em português mesmo que o trabalho seja em inglês. -\membrodabancaii{Prof. Dr. Sérgio Barroso de Assis Fonseca, UnB/FT/ENE} % Membro 2 -\membrodabancaiifuncao{Examinador interno} -\membrodabancaiii{Prof. Dr. Wilson Gonçalves de Almeida, UnB/FT/ENE} % Membro 3 -\membrodabancaiiifuncao{Examinador interno} -\membrodabancaiv{} % deixar vazio se não tiver o quarto membro -\membrodabancaivfuncao{Examinador externo} -\membrodabancav{} % deixar vazio se não tiver o quarto membro -\membrodabancavfuncao{Examinador externo} +\begin{otherlanguage*}{\acklang} + +% Primeiro autor +\begin{AgradecimentosAutorI} +Agradecemos ao Dr. Lauro César Araujo e equipe que desenvolveram a classe \abnTeX\ para escrita de trabalhos acadêmicos condizentes as normas da ABNT. A classe UnB\TeX\ a toma como base para atender necessidades específicas de cursos de graduação e pós-graduação da Universidade de Brasília. + +Agradecemos também ao Prof. Dr. Leonardo Luiz e Castro pelo modelo em \LaTeX\ para livro para editora UnB, que teve alguns recursos adaptados para o UnB\TeX. +\end{AgradecimentosAutorI} + +% Segundo autor +\begin{AgradecimentosAutorII} +Agradecimentos do segundo autor. +\end{AgradecimentosAutorII} + +\end{otherlanguage*} +% --- + +% --- +% Dedicatória +% --- + +% Primeiro autor +\begin{DedicatoriaAutorI} +Este trabalho é dedicado às crianças adultas que, \\ +quando pequenas, sonharam em se tornar cientistas. +\end{DedicatoriaAutorI} + +% Segundo autor +\begin{DedicatoriaAutorII} +Dedicatória do segundo autor. +\end{DedicatoriaAutorII} +% --- + +% --- +% Epígrafe +% --- +\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} +\end{Epigrafe} % --- % ------------------------------------------------------------------------ @@ -182,227 +246,59 @@ % ------------------------------------------------------------------------ \begin{document} -% --- -% Selecionar o idioma no qual o trabalho será escrito -% --- -\selectlanguage{brazil} -%\selectlanguage{english} % Para trabalhos escritos em inglês, é obrigatório conter um apêndice com resumo estendido em língua portuguesa. - -\IfStrEq*{\languagename}{brazil}{ -\thmnamebr -\renewcommand{\bibname}{Referências} -\renewcommand{\orientadorname}{Orientador} % O gênero pode ser alterado para Orientadora -\renewcommand{\coorientadorname}{Coorientador} % O gênero pode ser alterado para Coorientadora -\renewcommand{\apendicename}{Apêndice} -\renewcommand{\anexoname}{anexo} -\renewcommand{\anexosname}{anexos} -\newcommand{\Anexoname}{Anexo} -\newcommand{\Anexosname}{Anexos} -\renewcommand{\listfigurename}{Lista de figuras} -\newcommand{\nomBname}{Símbolos romanos} -\newcommand{\nomCname}{Símbolos gregos} -\renewcommand{\nomXname}{Sobrescritos} -\renewcommand{\nomZname}{Subscritos} -\newcommand{\nocitation}{Nenhuma citação no texto.} -\newcommand{\citedp}{Citado na p.} -\newcommand{\citedpp}{Citado nas pp.} -}{ -\thmnameen -\renewcommand{\bibname}{References} -\renewcommand{\orientadorname}{Orientador} % Não alterar para Supervisor/Advisor, mesmo que o trabalho seja em inglês -\renewcommand{\coorientadorname}{Coorientador} % Não alterar para Co-Supervisor/Co-Advisor, mesmo que o trabalho seja em inglês -\renewcommand{\agradecimentosname}{Agradecimentos} % Comente esta linha caso queira escrever os agradecimentos em inglês -\renewcommand{\apendicename}{Appendix} -\renewcommand{\anexoname}{annex} -\renewcommand{\anexosname}{annexes} -\newcommand{\Anexoname}{Annex} -\newcommand{\Anexosname}{Annexes} -\renewcommand{\listfigurename}{List of figures} -\renewcommand{\listtablename}{List of tables} -\newcommand{\nomBname}{Roman letters} -\newcommand{\nomCname}{Greek letters} -\renewcommand{\nomXname}{Superscripts} -\renewcommand{\nomZname}{Subscripts} -\newcommand{\nocitation}{No citations.} -\newcommand{\citedp}{Cit. on p.} -\newcommand{\citedpp}{Cit. on pp.} -} -% --- - -% --- -% Configurações do pacote backref -% --- -% Define os textos da citação -\renewcommand*{\backref}[1]{} -\renewcommand*{\backrefalt}[4]{\ifcase#1\nocitation\or\citedp~#2.\else\citedpp~#2.\fi} -% --- - % ------------------------------------------------------------------------ % ELEMENTOS PRÉ-TEXTUAIS % ------------------------------------------------------------------------ \pretextual % ------------------------------------------------------------------------ -% --- % Insere capa -% --- \imprimircapa -% --- -% --- % Insere folha de rosto -% --- \imprimirfolhaderosto* -% --- -% --- % Insere ficha bibliográfica -% --- \fichacatalografica -% --- -% --- % Insere folha de aprovação -% --- \imprimirfolhadeaprovacao -% --- -% --- % Insere dedicatória (elemento opcional) -% --- -\begin{dedicatoria} - \centering - \vspace*{\fill} - - % Primeiro autor - \textit{Este trabalho é dedicado às crianças adultas que,\\ - quando pequenas, sonharam em se tornar cientistas.} \\ - - \ifthenelse{\equal{\autoriinome}{}}{}{ - \vspace{1cm} - \autorinome\ \autorisobrenome \\ - \vspace*{\fill} - - % Segundo autor - \textit{Dedicatória do segundo autor.} \\ - - \vspace{1cm} - \autoriinome\ \autoriisobrenome - } - \vspace*{\fill} -\end{dedicatoria} -% --- +\imprimirdedicatoria -% --- % Insere agradecimentos (elemento opcional) -% --- -\begin{agradecimentos} +\imprimiragradecimentos -% Primeiro autor -Agradecemos ao Dr. Lauro César Araujo e equipe que desenvolveram a classe \abnTeX, que pôde ser facilmente customizada para escrita de trabalhos acadêmicos na Universidade de Brasília que atendessem não só as normas da ABNT, como também regras e necessidades específicas de cursos de graduação e pós-graduação. - -Agradecemos também ao Prof. Dr. Leonardo Luiz e Castro pelo modelo em \LaTeX\ para livro para editora UnB, com diversas customizações que foram adaptadas para o UnB\TeX. -% --- - -\ifthenelse{\equal{\autoriinome}{}}{}{ -\vspace{1cm} -\hfill \autorinome\ \autorisobrenome -\vspace{1cm} - -% Segundo autor -Agradecimentos do segundo autor. -% --- - -\vspace{1cm} -\hfill \autoriinome\ \autoriisobrenome -} - -\end{agradecimentos} -% --- - -% --- % Insere epígrafe (elemento opcional) -% --- -\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} -\end{epigrafe} -% --- +\imprimirepigrafe -% --- % Insere resumos -% --- - -% Resumo em português -\newcommand{\imprimirresumo}{ -\newpage -\setlength{\absparsep}{18pt} % ajusta o espaçamento dos parágrafos do resumo -\begin{resumo}[Resumo]\vspace{\baselineskip} -% --- -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} - -\noindent -\textbf{Palavras-chave}: \pchaveinome. \pchaveiinome. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{\pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{\pchavevnome.}} -\end{resumo}} - -% Resumo em inglês -\newcommand{\imprimirabstract}{ -\newpage -\setlength{\absparsep}{18pt} % ajusta o espaçamento dos parágrafos do resumo -\begin{resumo}[Abstract]\vspace{\baselineskip} -\begin{otherlanguage*}{english} -% --- -This is the english abstract. -% --- -\vspace{\onelineskip} - -\noindent -\textbf{Keywords}: \kwordinome. \kwordiinome. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{\kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{\kwordvnome.}} -\end{otherlanguage*} -\end{resumo}} -% --- - -\IfStrEq*{\languagename}{english}{ -\imprimirabstract -\imprimirresumo}{ -\imprimirresumo +\IfStrEq*{\idioma}{brazil} +{\imprimirresumo \imprimirabstract} +{\imprimirabstract +\imprimirresumo} -% --- % Insere lista de ilustrações -% --- \pdfbookmark[0]{\listfigurename}{lof} \listoffigures* \cleardoublepage -% --- -% --- % Insere lista de tabelas -% --- \pdfbookmark[0]{\listtablename}{lot} \listoftables* \cleardoublepage -% --- -% --- % Insere as listas de abreviaturas e siglas e de símbolos -% --- \PRIVATEbookmarkthis{\listadesiglasname} \printnomenclature \cleardoublepage -% --- -% --- % Insere o sumário -% --- \pdfbookmark[0]{\contentsname}{toc} \tableofcontents* \cleardoublepage -% --- % ------------------------------------------------------------------------ % ELEMENTOS TEXTUAIS @@ -410,35 +306,23 @@ This is the english abstract. \textual % ------------------------------------------------------------------------ -% --- +% Imprime uma página para agrupar um conjunto de capítulos (parte) +%\part{Nome da parte} + % Capítulo de introdução -% --- \include{unbtex-example/capitulo1} -% --- -% --- % Capítulo de fundamentos teóricos ou técnicos -% --- \include{unbtex-example/capitulo2} -% --- -% --- % Capítulo com a proposta desenvolvida -% --- \include{unbtex-example/capitulo3} -% --- -% --- % Capítulo de resultados -% --- \include{unbtex-example/capitulo4} -% --- -% --- % Capítulo de conclusões -% --- \include{unbtex-example/capitulo5} -% --- % ------------------------------------------------------------------------ % ELEMENTOS PÓS-TEXTUAIS @@ -449,14 +333,9 @@ This is the english abstract. % --- % Referências bibliográficas % --- -% Seleciona o arquivo de estilo de citações -\IfStrEq*{\languagename}{brazil}{ -\bibliographystyle{unbtexcite-pt} -}{ -\bibliographystyle{unbtexcite-en} -} % Arquivo com as referências bibliográficas -\bibliography{unbtex-example/referencias} +\bibliography{unbtex-example/referencias} % O estilo de citação é selecionado automaticamente +% --- % --- % Apêndices @@ -486,5 +365,6 @@ This is the english abstract. \include{unbtex-example/anexo-b} \end{anexosenv} +% --- \end{document}
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex index 5af76406ce..9314036b29 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex @@ -4,24 +4,24 @@ \begin{longtable}{L{2.5cm}C{2.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}} % Cabeçalho no início da tabela -\caption{Descriptive Statistics (\%): Commerce Faculty ($N = 6508$)} +\caption{Tabela longa} \label{tab:dscf} \\ \toprule \multirow{3}{*}{\bfseries Variable} & -\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample}} & -\multicolumn{6}{c}{\bfseries Proportions by Subtype} \\ -\cmidrule{3-8} +\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} & +\multicolumn{6}{c}{\bfseries Proportions by Subtype (\%)} \\ +\cmidrule(lr){3-8} & & \multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} & \multicolumn{2}{c}{\bfseries Censored} \\ \midrule \endfirsthead % Cabeçalho da continuação da tabela no topo da página seguinte -\caption[]{Descriptive Statistics (\%): Commerce Faculty ($N = 6508$) (continuação)} \\ \toprule +\caption[]{Tabela longa (continuação)} \\ \toprule \multirow{3}{*}{\bfseries Variable} & -\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample}} & -\multicolumn{6}{c}{\bfseries Proportions by Subtypes} \\ -\cmidrule{3-8} +\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} & +\multicolumn{6}{c}{\bfseries Proportions by Subtypes (\%)} \\ +\cmidrule(lr){3-8} & & \multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} & \multicolumn{2}{c}{\bfseries Censored} \\ diff --git a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex index d0c5396ae7..fd624444c0 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex @@ -2,52 +2,34 @@ \chapter{Citações}\label{apd:cit} % ---------------------------------------------------------- -Este modelo usa o Bib\TeX\ para configurar as referências. Os arquivo \texttt{referencias.bib} e \texttt{references.bib} contêm várias entradas de bibliografia como modelos \cite{article,book,booklet,inbook}. Esses modelos podem ser utilizados para incluir outras entradas e citá-las por meio do seguinte comando: +A classe UnB\TeX\ usa o pacote \texttt{abntex2cite} para formatar as referências bibliográficas conforme as regras da ABNT. O arquivo \texttt{referencias.bib}, utilizado neste documento, contém várias entradas de bibliografia, que podem ser utilizadas como modelos para incluir outras entradas e citá-las por meio dos seguintes comandos: \begin{verbatim} \cite{nome_da_entrada} +\citeonline{nome_da_entrada} +\citeauthoronline{nome_da_entrada} +\citeyear{nome_da_entrada} \end{verbatim} -Por exemplo , a entrada +Considere, por exemplo, a entrada para referência do tipo manual (\texttt{@manual}) contida no arquivo \texttt{referencias.bib}: \begin{verbatim} -@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" -} +@manual{memoir, + address = {Normandy Park, WA}, + author = {Peter Wilson and Lars Madsen}, + 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 = {2024-01-25}, + year = {2024}}, \end{verbatim} -pode ser citada no texto com -\begin{verbatim} -\cite{greenwade93} -\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: -\begin{verbatim} -\begin{citacao}{Carl Sagan} - Alegações extraordinárias exigem evidências extraordinárias. -\end{citacao} -\end{verbatim} -Esse código gera uma citação assim: -\begin{citacao}{Carl Sagan} - Alegações extraordinárias exigem evidências extraordinárias. -\end{citacao} +Utilizando-se o comando \verb|\cite{memoir}| no arquivo \texttt{tex} correspondente a este parágrafo do \cref{apd:cit}, o resultado gerado é \cite{memoir}. Para o comando \verb|\citeonline{memoir}|, o resultado gerado é \citeonline{memoir}. Note que se o estilo de citação utilizado for o numérico, os comandos \verb|\cite| e \verb|\citeonline| geram o mesmo resultado, conforme mencionado na \cref{sec:referencias}. -O comando \verb|\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 -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} -\end{verbatim} -Naturalmente, a referência \verb|grennwade93| deve estar definida no arquivo Bib\TeX\ (aqui, \verb|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 +Os comandos \verb|\citeauthoronline| e \verb|\citeyear|, tanto no estilo autor-ano como no estilo numérico, apresentam separadamente no texto o nome dos autores e o ano da publicação. Por exemplo, podemos escrever: + +\begin{mdframed}[style=plainSty] % verde +Em \citeyear{memoir}, os autores \citeauthoronline{memoir} publicaram o manual da versão v3.8.2 do pacote \textsf{memoir}. +\end{mdframed} + +No arquivo \texttt{bib}, cada entrada de referência bibliográfica possuiu campos cujo preenchimento pode ser obrigatório ou opcional, a depender de seu tipo. No campo \texttt{author}, caso haja mais de um autor, seus nomes devem ser separados por \texttt{and}. Campos como \texttt{address}, \texttt{publisher} e \texttt{year} não preenchidos, podem gerar na lista de referências, respectivamente, as expressões abreviadas [\emph{S.l.}], [\emph{S.n.}] e [\emph{S.d.}] para indicar que são indeterminados. Recomenda-se o uso de programas gratuitos, como o JabRef\footnote{Disponível em: \url{https://www.jabref.org/}}, para auxiliar o preenchimento e gerenciamento de arquivos \texttt{bib}. + +No arquivo \texttt{referencias.bib}, além da entrada para referência do tipo manual (como no exemplo dado), há também entradas para referências do tipo artigo de periódico \cite{greenwade93}, artigo de conferência \cite{martin1997}, livro \cite{schaum1956}, capítulo de livro \cite{bates2010}, monografia \cite{morgado1990}, dissertação de mestrado \cite{macedo2005}, tese de doutorado \cite{guizzardi2005}, relatório técnico \cite{KrueBansBierDaziRash20}, dentre outras. Muitos outros exemplos podem ser encontrados em \cite{abntex2cite}.
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex index e5a5d1dcfe..cb4ca3a6d5 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex @@ -3,17 +3,18 @@ \label{cap:intr} % ---------------------------------------------------------- -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 \textsf{abntex2} para a Universidade de Brasília (UnB). +Este documento e seu código fonte exemplificam a elaboração de trabalho acadêmico (trabalho de conclusão de curso, dissertação e tese) a partir da classe UnB\TeX, uma extensão da classe \abnTeX\ \cite{Castro2019} para a Universidade de Brasília (UnB). -A classe \textsf{abntex2}, por sua vez, é uma customização da classe \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}. +% Definição da nomenclatura que irá para a lista de siglas e abreviações +\nomenclature[A]{UnB}{Universidade de Brasília} -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. +O \abnTeX, por sua vez, é uma customização da classe \textsf{memoir} para atender requisitos da norma ABNT NBR 14724:2011 \emph{Informação e documentação -- Trabalhos acadêmicos -- Apresentação}. Informações sobre esta classe estão reunidas em \url{https://www.abntex.net.br/}. -% 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} -Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{abntex2classe} e da classe \textsf{memoir} \cite{memoir}. +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. Alguns dos recursos apresentados na classe UnB\TeX\ baseia-se em soluções adotadas por \citeonline{Castro2019} para editoração dos livros da série \emph{Ensino de graduação} da Editora UnB. + +Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{abntex2classe} e da classe \textsf{memoir} \cite{memoir}. Mais referências sobre o \LaTeX\ e sobre o \abnTeX\ podem ser obtidas em \url{https://github.com/abntex/abntex2/wiki/Referencias}. %\begin{mdframed}[style=defnSty] % azul \begin{mdframed}[style=plainSty] % verde @@ -21,5 +22,5 @@ Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{a {\center \textsc{Texto motivador} \par} \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 diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex index a453309354..46eed2b2bc 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex @@ -3,27 +3,16 @@ \label{cap:exemplos} % ---------------------------------------------------------- -Este capítulo ilustra o uso de comandos do \LaTeX, do \abnTeX\ e do UnB\TeX. - -% --- -\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 \texttt{bib}. +Este capítulo ilustra o uso de comandos do \LaTeX, do \abnTeX\ e do UnB\TeX. % --- \section{Expressões matemáticas} \label{sec:mat} % --- -Use o ambiente \texttt{equation} para escrever expressões matemáticas numeradas: -\begin{equation} - \forall x \in X, \quad \exists \: y \leq \epsilon. -\end{equation} - -Escreva expressões matemáticas entre \$ e \$, como em $ \lim_{x \to \infty} \exp(-x) = 0 $, para que fiquem na mesma linha. +Para que as expressões matemáticas fiquem na mesma linha do texto, como em $ \lim_{x \to \infty} \exp(-x) = 0 $, escreva-as entre \$ e \$. -Também é possível usar colchetes para indicar o início de uma expressão matemática que não é numerada: +Colchetes podem ser usados para indicar o início de uma expressão matemática não numerada: \[ \left|\sum_{i=1}^n a_ib_i\right| \le @@ -31,11 +20,14 @@ Também é possível usar colchetes para indicar o início de uma expressão mat \left(\sum_{i=1}^n b_i^2\right)^{1/2}. \] -Note que se a equação faz parte do parágrafo, não deixe uma linha em branco entre o texto e a equação. A linha em branco é entendida como o início de um novo parágrafo e o espaçamento fica maior. +O ambiente \texttt{equation} pode ser usado para escrever expressões matemáticas numeradas, como a seguinte: +\begin{equation} + \forall x \in X, \quad \exists \: y \leq \epsilon. +\end{equation} -Consulte mais informações sobre expressões matemáticas em \url{https://github.com/abntex/abntex2/wiki/Referencias}. +Se a equação fizer parte do parágrafo, não deixe no arquivo \texttt{tex} uma linha em branco entre o texto e o ambiente da equação. A linha em branco é entendida como começo de um novo parágrafo, que é iniciado com recuo e maior espaçamento. -Muitos cientistas gostam de usar \LaTeX\ porque essa ferramenta possibilita escrever facilmente equações como a seguinte: +Muitos cientistas gostam de usar \LaTeX\ porque essa ferramenta possibilita escrever facilmente equações como: \begin{equation} p+\frac{1}{2}{\rho}v^2+{\rho}gh = \text{constante}, \label{eq:bernoulli} @@ -47,7 +39,7 @@ em que $p$ é a pressão, $v$ é a velocidade e $h$ é a elevação, ou seja, a \nomenclature[B]{$v$}{Velocidade} \nomenclature[B]{$h$}{Elevação} -A seguir, são apresentados mais alguns exemplos de equações feitas com o \LaTeX. +A seguir são apresentados mais alguns exemplos de equações feitas com o \LaTeX: \newcommand{\vt}[1]{\mathbf{#1}} @@ -59,7 +51,7 @@ A seguir, são apresentados mais alguns exemplos de equações feitas com o \LaT \sin \chi_0 (t) & \cos \chi_0 (t) & 0 \\ 0 & 0 & 1 -\end{bmatrix} +\end{bmatrix}, \end{equation} \begin{equation} @@ -67,20 +59,10 @@ A seguir, são apresentados mais alguns exemplos de equações feitas com o \LaT \begin{cases} -a_{ij}, & \text{se } j \neq i \text{ e } j \in \mathcal{N}_i, \\ \sum_{k \in \mathcal{N}_i} a_{ik}, & \text{se } j = i, \\ -0, & \text{caso contrário}. +0, & \text{caso contrário}, \end{cases} \end{equation} -\begin{subequations} -\begin{align} -\tau_{li}^s(t) &= \ddot{p}^d_{li}(t) - k_{d} \dot{e}_{li}(t) - k_{p} e_{li}(t), -\\ -\dot{\tau}_{li}^f(t) + \xi_{i} \tau_{li}^f(t) &= u_{li}(t),\label{eq:filtro_i} -\\ -u_{li}(t) &= - \textrm{sign}(s_{li}(t))\eta. \label{eq:u_xbi} -\end{align} -\end{subequations} - \begin{equation}\label{eq:point-mass-velocity} \begin{split} \dot{V}_{i}(t) &{}= \frac{T_{i}(t) - D_i(t)}{m_i} - g \sin \gamma_{i}(t) + b_{ti}(t), \\ @@ -93,72 +75,61 @@ u_{li}(t) &= - \textrm{sign}(s_{li}(t))\eta. \label{eq:u_xbi} \nomenclature[C]{$\phi$}{Ângulo de rolamento} \nomenclature[C]{$\psi$}{Ângulo de guinada} +\begin{subequations} +\begin{align} +\tau_{li}^s(t) &= \ddot{p}^d_{li}(t) - k_{d} \dot{e}_{li}(t) - k_{p} e_{li}(t), \\ +\dot{\tau}_{li}^f(t) + \xi_{i} \tau_{li}^f(t) &= u_{li}(t),\label{eq:filtro_i} \\ +u_{li}(t) &= - \textrm{sign}(s_{li}(t))\eta. \label{eq:u_xbi} +\end{align} +\end{subequations} + % --- \section{Listas} % --- -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. +As listas de figuras e de tabelas numeradas, inseridas após o \emph{Abstract}, são geradas automaticamente. Incluídas após a lista de tabelas, a lista de abreviaturas e siglas e a lista de símbolos são geradas pelo pacote \textsf{nomencl} e têm seus itens definidos conforme descrição a seguir. -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 item a ser exibido na lista de abreviaturas e siglas, próximo do texto onde a sigla ou abreviatura aparece, utilize o comando \verb|\nomenclature|. Por exemplo, para definir a sigla UnB no \cref{cap:intr}, próximo dela foi utilizado o seguinte comando: \begin{verbatim} -\nomenclature[A]{ABNT}{Associação Brasileira de Normas Técnicas} \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: +O comando \verb|\nomenclature| também é utilizado para definir os itens a serem exibidos na lista de símbolos. Por exemplo, para definir os símbolos $p$ da \cref{eq:bernoulli} e $\phi$ da \cref{eq:point-mass-velocity}, próximo deles foram utilizados os comandos: \begin{verbatim} \nomenclature[B]{$p$}{Pressão} -\nomenclature[B]{$v$}{Velocidade} -\nomenclature[B]{$h$}{Elevação} -\nomenclature[C]{$\theta$}{Ângulo de arfagem} \nomenclature[C]{$\phi$}{Ângulo de rolamento} -\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 \texttt{unbtex-example.tex}. A ordem de apresentação dos grupos em uma lista segue a ordem alfabética das letras que os designam. +O argumento \texttt{[A]} do comando \verb|\nomenclature[A]| indica que o item pertence à lista de abreviaturas e siglas. Já o argumento \texttt{[B]} em \verb|\nomenclature[B]| e o argumento \texttt{[C]} em \verb|\nomenclature[C]|, referem-se, respectivamente, aos grupos de símbolos romanos e gregos, que compõem a lista de símbolos. Os argumentos \texttt{[X]} e \texttt{[Z]} para o comando \verb|\nomenclature| podem ser utilizados para definir, respectivamente, os itens dos grupos de sobrescritos e subscritos da lista de símbolos. A ordem de apresentação dos grupos na lista de símbolos segue a ordem alfabética das letras que os designam. -% --- -\section{Remissões internas} -% --- +Os nomes dos grupos de símbolos (símbolos romanos, símbolos gregos, sobrescritos e subscritos), assim como as letras que os designam, podem ser alterados e novos grupos podem ser criados. Para isso, veja no arquivo da classe UnB\TeX\ (\texttt{unbtex.cls}) como o comando \verb|\nomgroup| do pacote \textsf{nomencl} é redefinido. -Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um exemplo de remissão interna, que também pode ser feita quando indicamos o \cref{cap:exemplos}, que tem o nome \emph{\nameref{cap:exemplos}}. O número do capítulo indicado é \ref{cap:exemplos}, que se inicia à \cpageref{cap:exemplos}\footnote{O número da página de uma remissão pode ser obtida também assim: \pageref{cap:exemplos}.}. - -O código usado para produzir o texto desta seção é: +É importante mencionar que enquanto no Overleaf, o pacote \textsf{nomencl} não necessite de nenhuma compilação adicional, em outros editores \LaTeX\ pode ser necessário compilar o documento usando, além do \texttt{pdfLaTeX}, o \texttt{Makeindex}. No TeXstudio, por exemplo, o \texttt{Makeindex} deve ser previamente configurado como a seguir:\footnote{Para mais informações: \url{https://tex.stackexchange.com/questions/27824/using-package-nomencl}}: \begin{verbatim} -Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um -exemplo de remissão interna, que também pode ser feita quando indicamos -o \cref{cap:exemplos}, que tem o nome \emph{\nameref{cap:exemplos}}. -O número do capítulo indicado é \ref{cap:exemplos}, que se inicia à -\cpageref{cap:exemplos}\footnote{O número da página de uma remissão -pode ser obtida também assim: \pageref{cap:exemplos}.}. +makeindex %.nlo -s nomencl.ist -o %.nls -t %.nlg \end{verbatim} -O pacote \textsf{cleveref} foi utilizado para fazer as remissões internas. Mais opções de uso (e de comandos) podem ser encontradas em seu manual\footnote{Disponível em \url{https://linorg.usp.br/CTAN/macros/latex/contrib/cleveref/cleveref.pdf}}. - % --- -\section{Referências bibliográficas} +\section{Referências bibliográficas}\label{sec:referencias} % --- -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 \texttt{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: +A formatação das referências bibliográficas conforme as regras da ABNT é um dos principais objetivos da classe \abnTeX\ que, para tal, disponibiliza o pacote \textsf{abntex2cite} com opções para citações nos estilos autor-ano e numérico. -\begin{itemize} -\item \url{https://linorg.usp.br/CTAN/macros/latex/contrib/abntex2/doc/abntex2cite.pdf}, -\item \url{https://linorg.usp.br/CTAN/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}. -\end{itemize} +A classe UnB\TeX\ aproveita o pacote \textsf{abntex2cite}, mas com arquivos de estilo (extensão \texttt{bst}) modificados para contemplar atualizações mais recentes das normas NBR 6023 \cite{NBR6023:2018} e NBR 10520 \cite{NBR10520:2023}. Além das opções para citações nos estilos autor-ano e numérico, na classe UnB\TeX\ foram adicionados arquivos de estilo customizados para citações em textos escritos em inglês. -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 \texttt{unbtexcite-en.bst} e \texttt{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|\bibliographystyle|. +Para cada referência a ser citada em arquivos de texto (extensão \texttt{tex}), é preciso criar uma entrada no arquivo de referências (extensão \texttt{bib}). Informações sobre como criar entradas em arquivos \texttt{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, podem ser obtidas nos manuais \citeonline{abntex2cite}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf}} e \citeonline{abntex2cite-alf}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}}. No \cref{apd:cit} há um exemplo de como criar e utilizar entradas para referências bibliográficas. -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. +Embora as normas da ABNT permitam citações utilizando o estilo numérico, é recomendado o uso do estilo autor-data 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 estilo autor-data, as referências podem ser chamadas por meio dos comandos \verb|\cite| e \verb|\citeonline|. O último permite melhor incorporar a citação ao texto, outra vantagem do estilo autor-data. Caso prefira fazer citações utilizando o estilo numérico, no início do arquivo \texttt{tex} principal altere a opção \texttt{bib=alf} da classe UnB\TeX\ para \texttt{bib=num}. No estilo numérico as referências são chamadas pelo comando \verb|\cite| (é possível usar também o comando \verb|\citeonline|, mas com o mesmo resultado do comando \verb|\cite|). -Para mais detalhes sobre como criar as entradas para cada referência bibliográfica, consulte o \cref{apd:cit}. +O pacote \textsf{biblatex}, com a opção \texttt{style=abnt}, também pode ser utilizado para formatar as referências bibliográficas conforme as regras da ABNT. Neste caso, o documento necessitará ser compilado pelo \texttt{biber}, que requer tempo de processamento maior que a compilação pelo \texttt{bibtex}, utilizada pelo \textsf{abntex2cite}. %- \subsection{Acentuação de referências bibliográficas} %- -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 abusivo da conversão para letras maiúsculas, é preciso observar o modo como se escreve os nomes dos autores. Na \cref{tab:acentos} você encontra alguns exemplos das conversões mais importantes. Preste atenção especial para `ç' e `í' que devem estar envoltos em chaves. A regra geral é sempre usar a acentuação neste modo quando houver conversão para letras maiúsculas. +Normalmente não há problemas em usar caracteres acentuados em arquivos bibliográficos (\texttt{bib}). Porém, como as regras da ABNT fazem uso frequente da conversão para letras maiúsculas, é preciso observar o modo como se escreve os nomes dos autores. Na \cref{tab:acentos} você encontra alguns exemplos das conversões mais importantes. Preste atenção especial para `ç' e `í' que devem estar envoltos em chaves. A regra geral é, nos arquivos \texttt{bib}, sempre fazer a acentuação de acordo com a \cref{tab:acentos}, especialmente nas palavras que têm suas letras convertidas para maiúsculas. \begin{table}[htb] \begin{center} @@ -193,14 +164,13 @@ apenas o recuo \cite[seção 5.3]{NBR10520:2002}. \end{citacao} \end{verbatim} -O ambiente \texttt{citacao} pode receber como parâmetro opcional um nome de idioma previamente carregado nas opções da classe (\cref{sec:hifenizacao}). Nesse caso, o texto da citação é automaticamente escrito em itálico e a hifenização é ajustada para o idioma selecionado na opção do ambiente. Por exemplo: +O ambiente \texttt{citacao} pode receber como parâmetro opcional um nome de idioma previamente carregado nas opções da classe UnB\TeX. Nesse caso, o texto da citação é automaticamente escrito em itálico e a hifenização (conforme comentado na \cref{sec:hifenizacao}) é ajustada para o idioma selecionado na opção do ambiente. Por exemplo: \begin{verbatim} \begin{citacao}[english] Text in English language in italic with correct hyphenation. \end{citacao} \end{verbatim} - -Tem como resultado: +tem como resultado: \begin{citacao}[english] Text in English language in italic with correct hyphenation. \end{citacao} @@ -208,6 +178,24 @@ Text in English language in italic with correct hyphenation. Citações simples, com até três linhas, devem ser incluídas com aspas. Observe que em \LaTeX\ as aspas iniciais são diferentes das finais: ``Amor é fogo que arde sem se ver''. % --- +\section{Remissões internas} +% --- + +Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um exemplo de remissão interna, que também pode ser feita quando indicamos o \cref{cap:exemplos}, intitulado \emph{\nameref{cap:exemplos}}. O número do capítulo indicado é \ref{cap:exemplos}, que se inicia à \cpageref{cap:exemplos}\footnote{O número da página de uma remissão pode ser obtida também assim: \pageref{cap:exemplos}.}. + +O código usado para produzir o texto desta seção é: +\begin{verbatim} +Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um +exemplo de remissão interna, que também pode ser feita quando indicamos +o \cref{cap:exemplos}, intitulado \emph{\nameref{cap:exemplos}}. O +número do capítulo indicado é \ref{cap:exemplos}, que se inicia à +\cpageref{cap:exemplos}\footnote{O número da página de uma remissão +pode ser obtida também assim: \pageref{cap:exemplos}.}. +\end{verbatim} + +As remissões internas neste documento foram feitas utilizando-se o pacote \textsf{cleveref}. Mais opções de uso (e de comandos) podem ser encontradas em seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf}}. + +% --- \section{Enumerações: alíneas e subalíneas} % --- @@ -232,7 +220,7 @@ subdividida em alíneas \cite[seção 4.2]{NBR6024:2012}: \item a segunda e as seguintes linhas do texto da subalínea começam sob a primeira letra do texto da própria subalínea. \end{alineas} - \item no \abnTeX\ estão disponíveis os ambientes \texttt{incisos} e \texttt{subalineas}, que em suma são o mesmo que se criar outro nível de \texttt{alineas}, como nos exemplos à seguir: + \item no \abnTeX\ estão disponíveis os ambientes \texttt{incisos} e \texttt{subalineas} que, em suma, são o mesmo que se criar outro nível de \texttt{alineas}, como nos exemplos à seguir: \begin{incisos} \item \textit{Um novo inciso em itálico}; @@ -260,26 +248,42 @@ As notas de rodapé são detalhadas pela NBR 14724:2011 na seção 5.2.1\footnot \label{sec:hifenizacao} % --- -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 principal do texto é definido no início do arquivo \texttt{tex} principal, como uma opção da classe UnB\TeX. Para português-brasileiro, utilize a opção \texttt{idioma=brazil} e para inglês, utilize a opção \texttt{idioma=english}. A opção de idioma define se nome das listas (de figuras, de tabelas, de abreviaturas e siglas, de símbolos), do sumário e das referências será em português ou inglês. Define também o idioma do rótulo das tabelas, figuras, equações, capítulos, seções, apêndices, anexos, etc. -A lista completa de idiomas suportados, bem como outras opções de hifenização, estão disponíveis em \citeonline[p. 5-6]{babel}. - -Exemplo de hifenização em inglês\footnote{Extraído de: \url{http://en.wikibooks.org/wiki/LaTeX/Internationalization}}: +As últimas opções da classe UnB\TeX, \texttt{english} e \texttt{brazil}, referem-se a idiomas para hifenização e para uso em outros pacotes e, assim, não devem ser alteradas. Mesmo que o idioma principal do texto seja português, é possível incluir textos para serem hifenizados em inglês, como no exemplo a seguir\footnote{Extraído de: \url{http://en.wikibooks.org/wiki/LaTeX/Internationalization}}: \begin{otherlanguage*}{english} \textit{Text in English language. This environment switches all language-related definitions, like the language specific names for figures, tables etc. to the other language. The starred version of this environment typesets the main text according to the rules of the other language, but keeps the language specific string for ancillary things like figures, in the main language of the document. The environment hyphenrules switches only the hyphenation patterns used; it can also be used to disallow hyphenation by using the language name `nohyphenation'.} \end{otherlanguage*} -O idioma geral do texto por ser alterado como no exemplo seguinte: +A \cref{sec:citacao} descreve o ambiente \texttt{citacao}, que pode receber como parâmetro um idioma a ser usado para hifenização da citação. + +% --- +\section{Ficha catalográfica com código Cutter-Sanborn} +% --- + +A ficha catalográfica é um elemento pré-textual obrigatório para todos os trabalhos acadêmicos (teses, dissertações e trabalhos de conclusão de curso). No site da Biblioteca Central da UnB\footnote{\url{https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/}} há mais informações a respeito. A classe UnB\TeX\ gera automaticamente a ficha catalográfica com as informações do trabalho, com opção de inclusão do código Cutter. + +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 obter o código correspondente ao 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: \begin{verbatim} -\selectlanguage{english} +Lisboa, Carlos \end{verbatim} +Nenhuma outra informação é necessária para gerar o código que, no caso desse autor, é \texttt{769}. No arquivo \texttt{tex} principal, utilize como argumento do comando \verb|\numerocutter| apenas os números gerados, ou seja, +\begin{verbatim} +\numerocutter{769} +\end{verbatim} +Note que na ficha catalográfica gerada aparecerá \texttt{L769m}. A letra \textbf{L} maiúscula, correspondente à primeira letra do sobrenome \textbf{Lisboa}, é automaticamente adicionada na frente do número. A letra \textbf{m} minúscula, correspondente à primeira letra do título do trabalho (neste caso, \emph{Modelo de trabalho acadêmico com UnB\TeX}), é adicionada no final do número. -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. - -A \cref{sec:citacao} descreve o ambiente \texttt{citacao} que pode receber como parâmetro um idioma a ser usado na citação. +Se seu nome for, por exemplo, Carlos de Souza, utilize +\begin{verbatim} +Souza, Carlos de +\end{verbatim} +como entrada da ferramenta online que gera o código Cutter. Caso não deseje imprimir o código Cutter na ficha catalográfica, deixe vazio o argumento do comando \verb|\numerocutter|, isto é, +\begin{verbatim} +\numerocutter{} +\end{verbatim} % --- \section{Inclusão de outros arquivos}\label{sec:include} @@ -290,31 +294,15 @@ A \cref{sec:citacao} descreve o ambiente \texttt{citacao} que pode receber como \include{documento-a-ser-incluido} % sem a extensão .tex \end{verbatim} -Para incluir documentos sem quebra de páginas, utilize: +Para incluir documentos sem que haja necessariamente quebra de páginas, utilize o comando: \begin{verbatim} \input{documento-a-ser-incluido} % sem a extensão .tex \end{verbatim} -No \cref{anx:coresunb} foi incluída uma página em \texttt{pdf} do manual de identidade visual da UnB utilizando-se o comando \verb|\includepdf| do pacote \textsf{pdfpages}. +Também é possível incluir no documento, páginas de arquivos \texttt{pdf}. No \cref{anx:coresunb}, por exemplo, foi incluída uma página do manual de identidade visual da UnB. Para tanto, utilizou-se o comando \verb|\includepdf| do pacote \textsf{pdfpages}. % --- -%\section{Ficha catalográfica com código Cutter-Sanborn} +\section{Consulte o manual da classe \abnTeX} % --- -%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 \texttt{tex} principal do relatório, na linha que tem o comando \verb|\numerocutter| troque por -%\begin{verbatim} -%\numerocutter{769} -%\end{verbatim} - -%Esse número aparecerá na ficha catalográfica gerada. Automaticamente será adicionado na frente do número, a letra \textbf{L} maiúscula, que é a primeira letra do sobrenome \textbf{Lisboa}. Será também adicionado, ao final do número, a letra \textbf{m} minúscula, correspondente à primeira letra do título do trabalho (o título desse relatório de exemplo é ``Modelo de trabalho acadêmico com UnB\TeX''). Se seu nome for, por exemplo, Carlos da Silva, utilize como entrada da ferramenta que gera o código: \textbf{Silva, Carlos da}. - -%A ficha catalográfica é um elemento pré-textual obrigatório para todos os trabalhos acadêmicos (teses, dissertações e trabalhos de conclusão de curso: graduação e especialização). - -% --- -\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. -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.
\ No newline at end of file +Consulte o manual da classe \textsf{abntex2} \cite{abntex2classe}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf}} para uma referência completa dos comandos 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.
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex index f6f1aa89dc..56d4b8c404 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex @@ -7,7 +7,7 @@ % --- As \cref{tab:nivel,tab:fluxo,tab:ibge} são exemplos de tabelas construída em -\LaTeX. Note que a \cref{tab:ibge} utiliza o padrão do \citeonline{ibge1993} para documentos técnicos e acadêmicos. +\LaTeX. Observe que a \cref{tab:ibge} utiliza o padrão do \citeonline{ibge1993} para documentos técnicos e acadêmicos. \begin{table}[htb] \begin{center}% @@ -53,7 +53,7 @@ CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\ \hline% \begin{table}[htb] \IBGEtab{% - \caption{Um Exemplo de tabela alinhada que pode ser longa ou curta, conforme padrão IBGE}% + \caption{Um Exemplo de tabela conforme o padrão IBGE}% \label{tab:ibge} }{% \begin{tabular}{@{}ccc@{}} % @{} elimina o espaço nas bordas laterais @@ -70,13 +70,13 @@ CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\ \hline% } \end{table} -Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, utilize o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{anx:tabs} há exemplos de tabelas que os utilizam. Faça tabelas usando como base qualquer um dos exemplos apresentados neste documento ou outros que considerar mais adequados e que podem ser facilmente encontrados na internet. +Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, utilize o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{anx:tabs} há exemplos de tabelas que os utilizam. Embora poderosos para construir tabelas, os pacotes \textsf{tabularray} e \textsf{nicematrix} não foram utilizados neste documento devido ao elevado tempo necessário para processamento no Overleaf. Faça tabelas usando como base qualquer um dos exemplos apresentados neste documento ou outros que considerar mais adequados e que podem ser facilmente encontrados na internet. % --- \section{Figuras} % --- -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 \texttt{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. A \cref{fig:grafico} foi inserida no texto utilizando-se um arquivo no formato \texttt{pdf}. +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 \texttt{pdf}. Com isso, o tamanho do arquivo final do trabalho será menor, e as imagens terão uma apresentação melhor, uma vez que imagens vetoriais são perfeitamente escaláveis para qualquer dimensão. A \cref{fig:grafico} foi inserida no texto utilizando-se um arquivo no formato \texttt{pdf}. \begin{figure}[htb] \centering @@ -85,9 +85,9 @@ Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilust \includegraphics[scale=1]{bodediagram.pdf} \end{figure} -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. +Para manter a coerência no uso de software livre (já que você está usando \LaTeX), 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 \texttt{pdf}, utilize qualquer outro formato, como \texttt{jpeg}, \texttt{gif}, \texttt{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. A \cref{fig:logolatex} mostra como é fácil inserir uma figura com legenda e referência à fonte utilizando um arquivo no formato \texttt{png}. +De todo modo, caso não seja possível utilizar arquivos de imagens como \texttt{pdf}, utilize qualquer outro formato, como \texttt{jpeg}, \texttt{gif} e \texttt{bmp}. Estes formatos requerem maior tempo de processamento, mas você pode tentar aprimorar seus conteúdos com o software livre \textsf{Gimp} (\url{http://www.gimp.org/}), uma alternativa livre ao Adobe Photoshop. A \cref{fig:logolatex} mostra como é fácil inserir uma figura com legenda e referência à fonte utilizando um arquivo no formato \texttt{png}. \begin{figure}[htb] \begin{center} @@ -98,7 +98,9 @@ De todo modo, caso não seja possível utilizar arquivos de imagens como \texttt \end{center} \end{figure} -Note que de acordo com as normas da ABNT, numeração e título das figuras e tabelas devem aparecer na parte superior. Na parte inferior deve ser informada a fonte. +Também é possível criar figuras, diagramas e gráficos utilizando comandos de pacotes disponíveis para o \LaTeX, como \textsf{TikZ}. Entretanto, tais pacotes requerem elevado tempo de processamento no Overleaf e, por isso, não foram utilizados neste documento. + +Note que, de acordo com as normas da ABNT, numeração e título das figuras e tabelas devem aparecer na parte superior. Na parte inferior deve ser informada a fonte. % --- \subsection{Figuras em \emph{minipages}} @@ -158,10 +160,10 @@ O pacote \textsf{subfig} foi utilizado para inserir as \cref{fig:subfigura_circu %\end{figure} % --- -\subsection{Obtenção de figuras com texto e equações que usam as mesmas fontes do documento} +\subsection{Figuras que usam as mesmas fontes tipográficas do documento} % --- -Caso queira utilizar a mesma fonte do texto para escrever dentro de figuras, como é o caso da \cref{fig:psfrag1} (arquivo \texttt{blockdiagram.pdf}), produza uma figura como a da \cref{fig:psfrag2} e a salve no formato \texttt{eps} (arquivo \texttt{blockdiagram.eps}). Softwares como InkScape, CorelDraw ou Adobe Ilustrator podem ser utilizados para este fim. +Caso queira utilizar as mesmas fontes tipográficas do texto para escrever dentro de figuras, como é o caso da \cref{fig:psfrag1} (arquivo \texttt{blockdiagram.pdf}), produza uma figura como a da \cref{fig:psfrag2} e a salve no formato \texttt{eps} (arquivo \texttt{blockdiagram.eps}). Softwares como InkScape, CorelDraw ou Adobe Ilustrator podem ser utilizados para este fim. \begin{figure}[htb] \centering @@ -169,18 +171,19 @@ Caso queira utilizar a mesma fonte do texto para escrever dentro de figuras, com \subfloat[Arquivo \texttt{blockdiagram.pdf}]{\label{fig:psfrag1} \centering \includegraphics[scale=1]{blockdiagram.pdf}} \\ \subfloat[Arquivo \texttt{blockdiagram.eps}]{\label{fig:psfrag2} - \centering \includegraphics[scale=1]{blockdiagramfrag.eps}} + \centering \includegraphics[scale=1]{blockdiagram.eps}} \label{fig:psgrag} \end{figure} -Crie no Overleaf um projeto nomeado \texttt{blockdiagram} e que tenha, dentro de um arquivo nomeado \texttt{blockdiagram.tex}, o conteúdo mostrado no \cref{cod:tex}. +Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). \lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex} -No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque dentro do projeto o arquivo \texttt{blockdiagram.eps} e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). - -Note no \cref{cod:tex} que o pacote \textsf{psfrag} substitui, por meio do comando +Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}: \begin{verbatim} -\psfrag{r}[c][c]{\footnotesize $R(s)$} +\psfrag{g}[c][c]{\footnotesize $G(s)$} \end{verbatim} -o ``\texttt{r}'' da figura \texttt{eps} por ``\verb|$R(s)$|'', produzindo ``$R(s)$'' na figura \texttt{pdf}. O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do seu trabalho.
\ No newline at end of file + +O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}. + +Evite o uso de figuras no formato \texttt{eps} no documento principal. Documentos que usam a classe UnB\TeX\ precisam ser compilados pelo \texttt{pdfLaTeX}, que inicialmente converte os arquivos \texttt{eps} para o formato \texttt{pdf}, exigindo maior tempo de processamento. O projeto auxiliar (\cref{cod:tex}) usa a classe \texttt{article} e admite compilador \texttt{LaTeX}, que não necessita de etapas adicionais para processar códigos que chamam arquivos \texttt{eps}.
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex index cc499c7dae..cb9577b192 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex @@ -2,9 +2,9 @@ \chapter{Ambientes} % ---------------------------------------------------------- -Este modelo disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos que são automaticamente numerados (por exemplo, \cref{prop:WYSIWYG}, \cref{thm:WYSIWYG}, etc.). Esses ambientes foram adaptados para o UnB\TeX\ a partir soluções utilizadas por \citeonline{Castro2019}. +A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{thm:WYSIWYG}, \cref{exc:in}, \cref{alg:NNMPC}, etc.). Esses ambientes foram adaptados a partir do modelo de \citeonline{Castro2019}. -\section{Exemplos de ambientes disponíveis} +\section{Estilo teorema} \begin{definition} O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato final'') é um tipo de editor HTML que permite editar sua página da Web em uma visualização simplificada e sem código de aparência semelhante à do layout da página real. @@ -15,7 +15,7 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina \end{proposition} \begin{lemma} - Teste + Teste. \end{lemma} \begin{remark} @@ -27,7 +27,7 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina \end{theorem} \begin{corollary} - Teste + Teste. \end{corollary} \begin{proof} diff --git a/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex b/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex index b22a71ec3e..5205f3e20d 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex @@ -2,9 +2,9 @@ \usepackage{stickstootext} \usepackage[stickstoo,vvarbb]{newtxmath} -\usepackage[scale=0.88]{tgheros} -\usepackage[scale=1.03]{inconsolata} -\usepackage[displaymath,tightpage]{pst-pdf} +\usepackage[scale=0.90]{tgheros} +\usepackage[scale=1]{inconsolata} +\usepackage{pst-pdf} \usepackage{psfrag} \usepackage{icomma} @@ -13,12 +13,12 @@ \begin{document} \begin{psfrags} + \psfrag{g}[c][c]{\small $G(s)$} + \psfrag{c}[c][c]{\small $G_C(s)$} \psfrag{r}[c][c]{\footnotesize $R(s)$} + \psfrag{y}[c][c]{\footnotesize $Y(s)$} \psfrag{e}[c][c]{\footnotesize $E(s)$} \psfrag{u}[c][c]{\footnotesize $U(s)$} - \psfrag{y}[c][c]{\footnotesize $Y(s)$} - \psfrag{c}[c][c]{\small $G_C(s)$} - \psfrag{g}[c][c]{\small $G(s)$} \includegraphics[scale=1,trim={0pt 0pt 0pt 0pt}]{blockdiagram.eps} % trim pode aumentar ou diminuiur as margens da figura \end{psfrags} diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagramfrag.eps b/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps Binary files differindex 76509936e0..eb062b6db0 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagramfrag.eps +++ b/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.pdf Binary files differindex 0a601849b7..0c2e75c831 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf Binary files differindex 79d673c84f..c1410d377d 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/circuito.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/circuito.pdf Binary files differindex f5195b43af..bedb5ef48d 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/figuras/circuito.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example/figuras/circuito.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/diodocurva.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/diodocurva.pdf Binary files differindex 5d2a8759b0..0d255b851d 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/figuras/diodocurva.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example/figuras/diodocurva.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib index 39396ade56..d247828400 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib +++ b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib @@ -2,552 +2,188 @@ %% Utilize comandos específicos para acentuar palavras em arquivos *.bib %% -@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{\'i}stica}, - 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}} - -@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}} - -@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}} +@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}} -@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{\'i}fico com abnTeX2}, - Url = {http://www.abntex.net.br/}, - Year = {2015}, - Bdsk-Url-1 = {http://www.abntex.net.br/}} +@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}} -@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{\'i}fico com abnTeX2}, - Url = {http://www.abntex.net.br/}, - Year = {2015}, - Bdsk-Url-1 = {http://www.abntex.net.br/}} +@book{ibge1993, + address = {Rio de Janeiro}, + author = {IBGE}, + edition = {3}, + url = {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{\'i}stica}, + title = {Normas de apresenta{\c c}\~ao tabular}, + year = {1993}} + +@book{schaum1956, + address = {New York}, + author = {D. Schaum}, + edition = {5th}, + pages = {204}, + publisher = {Schaum Publishing}, + title = {Schaum’s outline of theory and problems}, + year = {1956}} -@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/}} +@incollection{bates2010, + address = {New York}, + author = {Marcia J. Bates}, + booktitle = {Encyclopedia of Library and Information Sciences}, + 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}, + volume = {3}, + year = {2010}} -@mastersthesis{araujo2012, - Address = {Bras{\'i}lia}, - 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{\'i}lia}, - Subtitle = {uma perspectiva de {A}rquitetura da {I}nforma{\c c}\~ao da {E}scola de {B}ras{\'i}lia}, - Title = {Configura{\c c}\~ao}, - Year = {2012}} +@inproceedings{martin1997, + address = {Rio de Janeiro}, + author = {Martin, Neto, L. and C. Bayer and J. Mielniczuk}, + booktitle = {Resumos do [...]}, + conference-number = {26}, + conference-year = {1997}, + conference-location = {Rio de Janeiro}, + 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}} @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}, + organization = {Equipe abnTeX2}, + title = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'i}veis com a ABNT NBR 6023}, + url = {http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf}, + year = {2018}, + 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/}} - -@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}} - -@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}} - -@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}} + annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}}, + author = {Lauro C{\'e}sar Araujo}, + 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://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}, + year = {2018}, + bdsk-Url-1 = {http://www.abntex.net.br/}} @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{\'i}vel 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} - -@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} - -@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} - -@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} - -@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} + author = {Lauro C\'esar Araujo}, + organization = {Equipe abnTeX2}, + title = {A classe abntex2: Documentos t\'ecnicos e cient\'ificos brasileiros compat\'iveis com as normas ABNT}, + url = {http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf}, + year = {2018}, + bdsk-Url-1 = {http://www.abntex.net.br/}} -@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} - -@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} +@manual{memoir, + address = {Normandy Park, WA}, + author = {Peter Wilson and Lars Madsen}, + organization = {The Herries Press}, + title = {The Memoir Class for Configurable Typesetting -- User Guide}, + url = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf}, + year = {2024}} -@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} +@manual{NBR10520:2002, + address = {Rio de Janeiro}, + organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas}, + org-short = {ABNT}, + pages = {7}, + title = {{NBR} 10520}, + subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao -- Apresenta{\c c}\~ao de cita{\c c}ões em documentos}, + month = {08}, + year = 2002} @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}, + address = {Rio de Janeiro}, + note = {Substitui a Ref.~\citeonline{NBR10520:2002}}, + organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas}, + org-short = {ABNT}, + pages = {23}, + title = {{NBR} 10520}, + subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao -- Cita{\c c}\~oes em documentos -- Apresenta{\c c}\~ao}, 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}} +@manual{NBR6024:2012, + address = {Rio de Janeiro}, + org-short = {ABNT}, + organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas}, + pages = {4}, + title = {{NBR} 6024}, + subtitle = {Numera{\c c}\~ao progressiva das se{\c c}ões de um documento}, + month = {02}, + year = 2012} -@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}} +@manual{NBR6023:2018, + address = {Rio de Janeiro}, + note = {Substitui a norma ABNT NBR 6023:2002}, + org-short = {ABNT}, + organization = {Associa{\c c}\~ao Brasileira de Normas T\'ecnicas}, + pages = {74}, + title = {{NBR} 6023}, + subtitle = {Informa{\c c}\~ao e documenta{\c c}\~ao -- Refer\^encias -- Elabora{\c c}\~ao}, + month = {11}, + year = 2018} @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{\'i}lia}, - Title = {Arquitetura da Informa{\c c}\~ao: aspectos epistemol\'ogicos, cient{\'i}ficos 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}} - -@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}} - -@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}} - -@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}} - -@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}} - -@misc{wikimedia-latex, - author = {{Wikimedia Commons}}, - title = {File: {\normalfont LaTeX logo.svg}}, - year = {2008}, - note = {Upload de EmilJ. Dispon{\'i}vel em: \url{https://upload.wikimedia.org/wikipedia/commons/9/92/LaTeX_logo.svg} -- acesso em 24 jan. 2019.} -} + author = {Fl\'avia L. Macedo}, + keywords = {arquitetura da informa{\c c}\~ao}, + school = {Universidade de Bras{\'i}lia}, + title = {Arquitetura da Informa{\c c}\~ao: aspectos epistemol\'ogicos, cient{\'i}ficos e pr\'aticos.}, + type = {Disserta{\c c}\~ao de Mestrado}, + year = {2005}} @misc{Castro2019, - author = {Leonardo Luiz e Castro}, - title = {Modelo de livro para Editora UnB}, - howpublished = {\url{https://www.overleaf.com/latex/templates/modelo-de-livro-para-editora-unb/trznrgjcsyfg}}, - month = {1}, - year = {2019}, - note = {Dispon{\'i}vel como template no Overleaf} -} - -@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 = {Leonardo Luiz e Castro}, + title = {Modelo de livro para Editora UnB}, + url = {https://www.overleaf.com/latex/templates/modelo-de-livro-para-editora-unb/trznrgjcsyfg}, + year = {2019}} -@article{article, - author = {Peter Adams}, - title = {The title of the work}, - journal = {The name of the journal}, - year = 1993, - number = 2, - pages = {201-213}, - month = 7, - note = {An optional note}, - volume = 4 -} - -@book{book, - author = {Peter Babington}, - title = {The title of the work}, - publisher = {The name of the publisher}, - year = 1993, - volume = 4, - series = 10, - address = {The address}, - edition = 3, - month = 7, - note = {An optional note}, - isbn = {3257227892} -} - -@booklet{booklet, - title = {The title of the work}, - author = {Peter Caxton}, - howpublished = {How it was published}, - address = {The address of the publisher}, - month = 7, - year = 1993, - note = {An optional note} -} - -@conference{conference, - author = {Peter Draper}, - title = {The title of the work}, - booktitle = {The title of the book}, - year = 1993, - editor = {The editor}, - volume = 4, - series = 5, - pages = 213, - address = {The address of the publisher}, - month = 7, - organization = {The organization}, - publisher = {The publisher}, - note = {An optional note} -} - -@inbook{inbook, - author = {Peter Eston}, - title = {The title of the work}, - chapter = 8, - pages = {201-213}, - publisher = {The name of the publisher}, - year = 1993, - volume = 4, - series = 5, - address = {The address of the publisher}, - edition = 3, - month = 7, - note = {An optional note} -} - -@incollection{incollection, - author = {Peter Farindon}, - title = {The title of the work}, - booktitle = {The title of the book}, - publisher = {The name of the publisher}, - year = 1993, - editor = {The editor}, - volume = 4, - series = 5, - chapter = 8, - pages = {201-213}, - address = {The address of the publisher}, - edition = 3, - month = 7, - note = {An optional note} -} - -@manual{manual, - title = {The title of the work}, - author = {Peter Gainsford}, - organization = {The organization}, - address = {The address of the publisher}, - edition = 3, - month = 7, - year = 1993, - note = {An optional note} -} - -@mastersthesis{mastersthesis, - author = {Peter Harwood}, - title = {The title of the work}, - school = {The school of the thesis}, - year = 1993, - address = {The address of the publisher}, - month = 7, - note = {An optional note} -} - -@misc{misc, - author = {Peter Isley}, - title = {The title of the work}, - howpublished = {How it was published}, - month = 7, - year = 1993, - note = {An optional note} -} - -@phdthesis{phdthesis, - author = {Peter Joslin}, - title = {The title of the work}, - school = {The school of the thesis}, - year = 1993, - address = {The address of the publisher}, - month = 7, - note = {An optional note} -} - -@proceedings{proceedings, - title = {The title of the work}, - year = 1993, - editor = {Peter Kidwelly}, - volume = 4, - series = 5, - address = {The address of the publisher}, - month = 7, - organization = {The organization}, - publisher = {The name of the publisher}, - note = {An optional note} -} - -@techreport{techreport, - author = {Peter Lambert}, - title = {The title of the work}, - institution = {The institution that published}, - year = 1993, - number = 2, - address = {The address of the publisher}, - month = 7, - note = {An optional note} -} +@misc{wikimedia-latex, + author = {{Wikimedia Commons}}, + title = {File: {\normalfont LaTeX logo.svg}}, + year = {2008}, + url = {https://upload.wikimedia.org/wikipedia/commons/9/92/LaTeX_logo.svg}, + urlaccessdate={24 jan. 2019}} + +@monography{morgado1990, + address = {S\~ao Paulo}, + author = {M. L. C. Morgado}, + pages = {51}, + pagename = {f.}, + school = {Faculdade de Odontologia, Universidade Camilo Castelo Branco}, + title = {Reimplante dent\'ario}, + type = {Especializa{\c c}\~ao}, + year = {1990}} -@unpublished{unpublished, - author = {Peter Marcheford}, - title = {The title of the work}, - note = {An optional note}, - month = 7, - year = 1993 -}
\ No newline at end of file +@phdthesis{guizzardi2005, + address = {Enschede, The Netherlands}, + author = {Giancarlo Guizzardi}, + 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}, + year = {2005}} + +@TechReport{KrueBansBierDaziRash20, + author = {Rico Krueger and Prateek Bansal and Michel Bierlaire and Ricardo Daziano and Taha Rashidi}, + title = {Variational bayesian inference for mixed logit models with unobserved inter-and intra-individual heterogeneity}, + institution = {Transport and Mobility Laboratory, Ecole Polytechnique F\'ed\'erale de Lausanne}, + year = {2020}, + type = {Technical Report}, + number = {arXiv:1905.00419}, + address = {Lausanne, Switzerland}}
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls index aa289ec887..71f58cebba 100644 --- a/macros/latex/contrib/unbtex/unbtex.cls +++ b/macros/latex/contrib/unbtex/unbtex.cls @@ -1,7 +1,7 @@ %% %% UnBTeX: A class for bachelor, master, and doctoral thesis at the %% University of Brasilia (UnB), Brazil -%% Version 1.4.4 2024/01/05 +%% Version 1.5 2024/02/02 %% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br> %% %% This class file may be distributed and/or modified under the conditions @@ -14,25 +14,43 @@ %% and version 1.3 or later is part of all distributions of LaTeX version %% 2005/12/01 or later. %% -%% This package consists of the following source file: -%% unbtex.cls -%% Template files: -%% unbtex-example.pdf, unbtex-example.tex, unbtextcite-pt, unbtexcite-en, -%% and files within unbtex-example directory +%% This package consists of the file unbtex.cls and the bibliographic style +%% files located in the unbtexcite directory. +%% Template files: unbtex-example.pdf, unbtex-example.tex, and files within +%% unbtex-example directory. %% \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{unbtex}[2024/01/05 v1.4.4 Modelo da Universidade de Brasília baseado em abnTeX2] +\ProvidesClass{unbtex}[2024/02/02 v1.5 Modelo da Universidade de Brasília baseado em abnTeX2] +% ------------------------------------------------------------------------ +% Opções para a classe +% ------------------------------------------------------------------------ + +% --- +% Opção para definição de idioma principal +% --- +\def\idioma{brazil} % Português por default +\DeclareOption{idioma=brazil}{\def\idioma{brazil}} +\DeclareOption{idioma=english}{\def\idioma{english}} +% --- + +% --- +% Opção para definição de estilo de referências bibliográficas +% --- +\def\bibsty{alf} % Autor-data por default +\DeclareOption{bib=alf}{\def\bibsty{alf}} +\DeclareOption{bib=num}{\def\bibsty{num}} % --- -% Repassa todos os parâmetros a classe abntex2, -% https://www.ctan.org/pkg/abntex2 + +% --- +% Repassa demais opções à classe abntex2 % --- -\DeclareOption*{% - \PassOptionsToClass{\CurrentOption}{abntex2}% +\DeclareOption*{ + \PassOptionsToClass{\CurrentOption}{abntex2} } \ProcessOptions\relax -\LoadClass{abntex2} +\LoadClass[12pt,a4paper,onecolumn,openright]{abntex2} % --- % ------------------------------------------------------------------------ @@ -42,35 +60,32 @@ % --- % Pacotes matemáticos % --- -\RequirePackage{amsmath} -\RequirePackage{amsfonts} -\RequirePackage{amsthm} -\RequirePackage{mathtools} % Melhorias nas equações -\RequirePackage{mathrsfs} % Fonte tipográfica mathscr +\RequirePackage{mathtools} % Melhoria nas equaões +\RequirePackage{amsthm} % Para configuração de ambientes do tipo teorema % --- % --- % Pacotes de fontes tipográficas % --- -\RequirePackage{stickstootext} % Fonte principal (Stix2) -\RequirePackage[stickstoo,vvarbb]{newtxmath}% Fonte matemática (Stix2) -\RequirePackage[scale=0.88]{tgheros} % Fonte sans serif (TeX Gyre Heros) -\RequirePackage[scale=1.03]{inconsolata} % Fonte monoespaçada +\RequirePackage{stickstootext} % Fonte principal (Stix2) +\RequirePackage[stickstoo,vvarbb]{newtxmath} % Fonte matemática (Stix2) +\RequirePackage[scale=0.90]{tgheros} % Fonte sans serif (TeX Gyre Heros) +\RequirePackage[scale=1]{inconsolata} % Fonte monoespaçada % --- % --- % Pacotes para figuras % --- -\RequirePackage{graphicx} % Inclusão de figuras -%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras -\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras +\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras +%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras % --- % --- % Cores verde e azul UnB % http://www.marca.unb.br/arquivosdigitais/files/guia_pratico/guia_pratico.pdf % --- -\RequirePackage[dvipsnames]{xcolor} % Para cores da UnB +% Define cores da UnB +\RequirePackage[dvipsnames]{xcolor} \definecolor{verdeunb}{cmyk}{1,0,1,0.2} \definecolor{azulunb}{cmyk}{1,0.65,0,0.35} @@ -83,35 +98,34 @@ % --- % Configurações para tabelas % --- -\RequirePackage{multirow} % Para combinar linhas nas tabelas -\RequirePackage{colortbl} % Permite alterar cores de linhas e células das tabelas -\arrayrulecolor{verdeunb} % Define a cor das linhas das tabelas -\setlength\arrayrulewidth{0.6pt} % Define a espessura das linhas das tabelas +\RequirePackage{multirow} % Para combinar linhas nas tabelas +\RequirePackage{colortbl} % Permite alterar cores de linhas e células das tabelas +\arrayrulecolor{verdeunb} % Define a cor das linhas das tabelas +\setlength\arrayrulewidth{0.6pt} % Define a espessura das linhas das tabelas % Alinhamento em colunas com especificação de largura \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} % --- -% --- % --- % Configurações do texto % --- -\RequirePackage[compact]{titlesec} % Reduz o espaço entre os títulos de seções e o texto \RequirePackage{indentfirst} % Indenta o primeiro parágrafo de cada seção. -\RequirePackage[nopatch=item]{microtype} % Para melhorias de justificação +\RequirePackage{microtype} % Para melhorias de justificação \RequirePackage{icomma} % Configura casas decimais separadas por vírgula -\setlength{\parindent}{3em} % Tamanho do recuo da primeira linha do parágrafo +\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo \frenchspacing % Retira espaço extra entre as frases (após o ponto final) -\setlength{\parskip}{4pt} % Espaço entre parágrafos +\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos \setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé \addtolength{\footnotesep}{2pt} % Espaço entre as notas de rodapé +\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido % Ajusta espaço entre texto e figuras/tabelas -\setlength{\textfloatsep}{18.0pt plus 2.0pt minus 2.0pt} % espaçamento entre texto e floats no topo/base da página -\setlength{\floatsep}{12.0pt plus 2.0pt minus 2.0pt} % espaçamento entre floats -\setlength{\intextsep}{14pt plus 2pt minus 2pt} % espaçamento entre texto e floats no meio da página +\setlength{\textfloatsep}{18pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no topo/base da página +\setlength{\floatsep}{12pt plus 2pt minus 2pt} % Espaçamento entre floats +\setlength{\intextsep}{14pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no meio da página % Ajusta espaçamento nos ambientes itemize, enumerate, description e alineas \setlist[itemize]{topsep=0pt,itemsep=0pt,leftmargin=\parindent} @@ -123,70 +137,67 @@ \renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter} \renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter} -% configuração do cabeçalho das páginas -\pagestyle{myheadings} % cabeçalho com linha e numeração da página +% Configuração do cabeçalho das páginas +\pagestyle{myheadings} % Cabeçalho com linha e numeração da página % Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim \RequirePackage{fvextra} -\renewenvironment{verbatim}{% - \VerbatimEnvironment +\renewenvironment{verbatim}{\VerbatimEnvironment \begin{Verbatim}[fontsize=\small,baselinestretch=1.1]% }{% - \end{Verbatim}% -} + \end{Verbatim} +}% \fvset{listparameters=\setlength{\topsep}{6pt}\setlength{\partopsep}{0pt}} - -% Modifica o espaçamento entre o texto e o ambiente citacao -\renewenvironment*{citacao}[1][default]{% - \list{}{\topsep=4pt}% - \ABNTEXfontereduzida% - \addtolength{\leftskip}{\ABNTEXcitacaorecuo}% - \item[]% - \begin{SingleSpace}% - \ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}% - }{% - \end{SingleSpace}% - \endlist}% % --- % --- -% Personalização do Sumário +% Configurações do Sumário % --- \settocdepth{subsection} -\renewcommand{\cftchapterfont}{\normalsize\bfseries\sffamily} -\setlength{\cftbeforechapterskip}{8pt} -\setlength{\cftbeforepartskip}{8pt} +\setlength{\cftbeforechapterskip}{5pt plus 1pt minus 1pt} +\setlength{\cftbeforepartskip}{10pt plus 2pt minus 2pt} -% Corrige falha do abntex2 nos anexos e apêndices -\renewcommand{\PRIVATEapendiceconfig}[2]{% -\setboolean{abntex@apendiceousecao}{true}% -\renewcommand{\appendixname}{#1} +% Corrige fontes tipográficas dos anexos e apêndices no sumário \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{ -\renewcommand{\appendixtocname}{\texorpdfstring{\MakeTextUppercase{#2}}{#2}} -}{% -\renewcommand{\appendixtocname}{{\normalsize\bfseries\sffamily #2}}} -\renewcommand{\appendixpagename}{{\Huge\bfseries\sffamily #2}} -\switchchapname{#1} -\renewcommand*{\cftappendixname}{#1 \space} +\renewcommand{\cftpartfont}{\bfseries\sffamily} +\renewcommand{\cftpartpagefont}{\bfseries\sffamily} +\renewcommand{\cftchapterfont}{\bfseries\sffamily} +\renewcommand{\cftsectionfont}{\bfseries\sffamily} +}{ +\renewcommand{\cftpartfont}{\bfseries\sffamily} +\renewcommand{\cftchapterfont}{\bfseries\sffamily} +\renewcommand{\cftpartpagefont}{\bfseries\sffamily} +\renewcommand{\cftchapterpagefont}{\bfseries\sffamily} } -\renewcommand{\cftpartpagefont}{\normalsize\bfseries} - -% Anexos - comando +% Corrige warning do pacote hyperref para sumário ABNT +\renewcommand{\PRIVATEapendiceconfig}[2]{% + \setboolean{abntex@apendiceousecao}{true}% + \renewcommand{\appendixname}{#1} + \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{ + %\renewcommand{\appendixtocname}{\uppercase{#2}}}{% + \renewcommand{\appendixtocname}{\texorpdfstring{\MakeTextUppercase{#2}}{#2}}}{% + \renewcommand{\appendixtocname}{#2} + } + \renewcommand{\appendixpagename}{#2} + \switchchapname{#1} + \renewcommand*{\cftappendixname}{#1 \space} +} +% Corrige nome dos anexos nas referências cruzadas \renewcommand{\anexos}{% \cftinserthook{toc}{AAA} + %\PRIVATEapendiceconfig{\anexoname}{\anexosname} \PRIVATEapendiceconfig{\Anexoname}{\Anexosname} \appendix \renewcommand\theHchapter{anexochapback.\arabic{chapter}} } - -% Anexos - ambiente \renewenvironment{anexosenv}{% \cftinserthook{toc}{AAA} + %\PRIVATEapendiceconfig{\anexoname}{\anexosname} \PRIVATEapendiceconfig{\Anexoname}{\Anexosname} \crefalias{appendix}{annex} \begin{appendix} \renewcommand\theHchapter{anexochapback.\arabic{chapter}} -}{ +}{% \end{appendix} \setboolean{abntex@apendiceousecao}{false} \bookmarksetup{startatroot} @@ -197,7 +208,7 @@ % Configurações das legendas % --- % Legenda das figuras/tabelas na parte superior, tamanho da fonte e espaçamento -\RequirePackage[figureposition=t,font={small},skip=10pt]{caption} +\captionsetup{figureposition=t,font={small},skip=10pt} % Espaçamento vertical do comando \legend \renewcommand{\legend}[1]{% @@ -213,10 +224,10 @@ \captionsetup{aboveskip=0pt,belowskip=6pt} \captiondelim{\mbox{}} \@makecaption{}{\ABNTEXfontereduzida #1}\par - \endgroup} - + \endgroup +} % Espaçamento vertical do comando \fonte -% também define o espaçamento do comando \nota +% Também define o espaçamento do comando \nota \renewcommand{\fonte}[2][\fontename]{% \M@gettitle{#2}% \memlegendinfo{#2}% @@ -228,23 +239,16 @@ \fi \ABNTEXfontereduzida \captionsetup{aboveskip=0pt,belowskip=6pt} - \captiondelim{\ABNTEXcaptionfontedelim} + \captiondelim{\ABNTEXcaptionfontedelim} \@makecaption{\ABNTEXfontereduzida #1}{\ignorespaces\ABNTEXfontereduzida #2}\par - \endgroup} -% --- - -% --- -% Pacotes para algoritmos -% --- -\RequirePackage[chapter]{algorithm} -\RequirePackage{algpseudocode} + \endgroup +} % --- % --- % Configurações do pacote hyperref % --- -% https://ctan.org/pkg/hyperref -\hypersetup{ +\hypersetup{% pdfstartview=FitH, breaklinks=true, colorlinks=true, @@ -255,10 +259,20 @@ % --- % --- -% Insere códigos de programação +% Pacotes para inserir algoritmos +% --- +\RequirePackage[chapter]{algorithm} +\RequirePackage{algpseudocode} +% Fix anchor names for algorithm lines +\newcounter{Halgorithmic} +\AtBeginEnvironment{algorithmic}{\stepcounter{Halgorithmic}} +\ExpandArgs{c}\renewcommand{theHALG@line}{\arabic{Halgorithmic}.\arabic{ALG@line}} +% --- + +% --- +% Pacote para inserir códigos de programação % --- \RequirePackage{listings} -% https://ctan.org/pkg/listings % Julia (Linguagem não reconhecida automaticamente pelo pacote listings) \lstdefinelanguage{Julia}% @@ -274,14 +288,14 @@ morestring=[m]{'}{'},% }[keywords,comments,strings]% -\definecolor{mygreen}{RGB}{28,172,0} % color values Red, Green, Blue +\definecolor{mygreen}{RGB}{28,172,0} % Color values Red, Green, Blue \definecolor{mylilas}{RGB}{170,55,241} -\lstset{ +\lstset{% basicstyle=\linespread{1.1}\ttfamily\footnotesize, numbers=left,% - numberstyle={\scriptsize \color{black}},% size of the numbers - numbersep=9pt, % this defines how far the numbers are from the text + numberstyle={\scriptsize \color{black}}, % Size of the numbers + numbersep=9pt, % This defines how far the numbers are from the text backgroundcolor=\color{gray!10}, tabsize=2, frame=single, @@ -301,79 +315,185 @@ commentstyle=\color{mygreen},% extendedchars=true, inputencoding=utf8, - showstringspaces=false,%without this there will be a symbol in the places where there is a space + showstringspaces=false,% Without this there will be a symbol in the places where there is a space literate={á}{{\'a}}1 {ã}{{\~a}}1 {é}{{\'e}}1 {ç}{{\c{c}}}1 {â}{{\^a}}1 {õ}{{\~o}}1 {ú}{{\'u}}1 {ó}{{\'o}}1 {í}{{\'i}}1 {Í}{{\'I}}1 } % --- % --- -% Referências cruzadas automáticas, dependendo do tipo de referência (figuras, tabelas, equações, etc.) +% Pacote para remissões internas % --- -\RequirePackage[nameinlink,noabbrev,english,brazilian]{cleveref} +\IfStrEq{\idioma}{brazil} +{\RequirePackage[nameinlink,noabbrev,brazilian]{cleveref}}{\RequirePackage[nameinlink,noabbrev,english]{cleveref}} \crefname{annex}{\anexoname}{\anexosname} \Crefname{annex}{\Anexoname}{\Anexosname} +\crefname{listing}{\codigoname}{\codigosname} +\Crefname{listing}{\Codigoname}{\Codigosname} +\crefname{subsection}{\subsectionname}{\subsectionsname} +\Crefname{subsection}{\Subsectionname}{\Subsectionsname} % --- % --- -% Definição de ambientes definição, teorema, exemplo, demonstração, etc. +% Definição de ambientes teorema, exemplo, demonstração, etc. % --- \RequirePackage{mdframed} -% https://www.ctan.org/pkg/mdframed \theoremstyle{definition} \mdfdefinestyle{plainSty}{hidealllines=true,backgroundcolor=verdeunb!10} -\newmdtheoremenv[style=plainSty]{theorem}{\thname}[chapter] -\newmdtheoremenv[style=plainSty]{lemma}{\lmname}[chapter] -\newmdtheoremenv[style=plainSty]{proposition}{\prname}[chapter] -\newmdtheoremenv[style=plainSty]{corollary}{\crname}[chapter] +\newmdtheoremenv[style=plainSty]{theorem}{\thname}[chapter] % Teorema +\newmdtheoremenv[style=plainSty]{lemma}{\lmname}[chapter] % Lema +\newmdtheoremenv[style=plainSty]{proposition}{\prname}[chapter] % Proposição +\newmdtheoremenv[style=plainSty]{corollary}{\crname}[chapter] % Corolário \theoremstyle{definition} \mdfdefinestyle{defnSty}{hidealllines=true,backgroundcolor=azulunb!10} -\newmdtheoremenv[style=defnSty]{definition}{\dfname}[chapter] -\newmdtheoremenv[style=defnSty]{assumption}{\aptname}[chapter] -\newmdtheoremenv[style=defnSty]{axiom}{\axname}[chapter] -\newmdtheoremenv[style=defnSty]{conjecture}{\cjcname}[chapter] -\newmdtheoremenv[style=defnSty]{property}{\prpname}[chapter] -\newmdtheoremenv[style=defnSty]{example}{\expname}[chapter] -\newmdtheoremenv[style=defnSty]{exercise}{\excname}[chapter] -\newmdtheoremenv[style=defnSty]{problem}{\prbname}[chapter] +\newmdtheoremenv[style=defnSty]{definition}{\dfname}[chapter] % Definição +\newmdtheoremenv[style=defnSty]{assumption}{\aptname}[chapter] % Hipótese +\newmdtheoremenv[style=defnSty]{axiom}{\axname}[chapter] % Axioma +\newmdtheoremenv[style=defnSty]{conjecture}{\cjcname}[chapter] % Conjectura +\newmdtheoremenv[style=defnSty]{property}{\prpname}[chapter] % Propriedade +\newmdtheoremenv[style=defnSty]{example}{\expname}[chapter] % Exemplo +\newmdtheoremenv[style=defnSty]{exercise}{\excname}[chapter] % Exercício +\newmdtheoremenv[style=defnSty]{problem}{\prbname}[chapter] % Proplema \theoremstyle{remark} \let\proof\relax \let\endproof\relax -\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{remark}{\rmname}[chapter] +\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{remark}{\rmname}[chapter] % Observação \newtheoremstyle{myproof}{\topsep}{\topsep}{}{}{\bfseries}{}{ }{\thmname{#1} \thmnote{#3}} \theoremstyle{myproof} \let\proof\relax \let\endproof\relax -\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false]{proof}{\proofname.} +\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false]{proof}{\proofname.} % Prova \AtEndEnvironment{proof}{\hfill$\square$} -\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{solution}{\sltname.} +\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{solution}{\sltname.} % Solução +% --- -\newcommand{\thmnameen}{ -\newcommand{\thname}{Theorem} -\newcommand{\lmname}{Lemma} -\newcommand{\prname}{Proposition} -\newcommand{\crname}{Corollary} -\newcommand{\aptname}{Assumption} -\newcommand{\dfname}{Definition} -\newcommand{\axname}{Axiom} -\newcommand{\cjcname}{Conjecture} -\newcommand{\prpname}{Property} -\newcommand{\expname}{Example} -\newcommand{\excname}{Exercise} -\newcommand{\prbname}{Problem} -\newcommand{\sltname}{Solution} -\newcommand{\rmname}{Remark} -\renewcommand{\proofname}{Proof} -\renewcommand{\lstlistingname}{Code} -\renewcommand{\ALG@name}{Algorithm} -\crefname{listing}{code}{codes} -\Crefname{listing}{Code}{Codes} +% --- +% Referências bibliográficas +% --- +% Lista na bibliografia o número das páginas em que cada referência é citada +\RequirePackage[hyperpageref]{backref} +\AtBeginDocument{ +\renewcommand*{\backref}[1]{} +\renewcommand*{\backrefalt}[4]{\ifcase#1\nocitation\or\citedp~#2.\else\citedpp~#2.\fi} +% Retira os limitadores < e > dos hiperlinks +\addtociteoptionlist{abnt-url-package=url} +\def\UrlLeft{} +\def\UrlRight{} +\urlstyle{same} } +% Gera as referências bibliográficas de acordo com as normas da ABNT +\IfStrEq{\bibsty}{alf}{% Estilo autor-data +\newcommand{\recuo}{3em} % Indentação da lista de referências +\RequirePackage[alf,recuo=\recuo,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite} +\renewcommand{\@biblabel}[1]{}% +\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação +{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}} +}{% +\IfStrEq{\bibsty}{num}{% Estilo numérico +\newcommand{\recuo}{2.2em} % Aumente este valor se o número de referências for superior a 100 +\RequirePackage[num,recuo=\recuo,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite} +\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações +\renewcommand{\@biblabel}[1]% +{% +\ifthenelse{\equal{#1}{}}{}% +{% +% Para números entre colchetes na lista de referências +%\def\biblabeltext{{\citenumstyle #1\hspace{\biblabelsep}}}% +\def\biblabeltext{{\citenumstyle[#1]\hspace{\biblabelsep}}}% +\settowidth{\ABCIauxlen}{\biblabeltext}% +\ifthenelse{\lengthtest{\ABCIauxlen<\minimumbiblabelwidth}}% +{\setlength{\ABCIauxlen}{\minimumbiblabelwidth-\ABCIauxlen}}% +{\setlength{\ABCIauxlen}{0cm}}% +%{\biblabeltext\hspace{\ABCIauxlen}}% +\parbox[t]{\recuo}{\raggedleft\biblabeltext\hspace{\ABCIauxlen}}% +}}% +\renewcommand{\citeonline}[2][] % Redefine \citeonline como \cite +{\ifthenelse{\equal{#1}{}}{\cite{#2}}{\cite[#1]{#2}}} +\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação +{\bibliographystyle{unbtexcite/unbtex-num-pt}}{\bibliographystyle{unbtexcite/unbtex-num-en}} +}} +% --- + +% --- +% Listas de abreviaturas/siglas/símbolos +% --- +\IfStrEq{\idioma}{brazil} +{\RequirePackage[portuguese]{nomencl}}{\RequirePackage[english]{nomencl}} +%\RequirePackage[refpage]{nomencl} % Para imprimir página onde o símbolo foi registrado +%\def\pagedeclaration#1{\dotfill\hyperlink{page.#1}{\nobreakspace#1}\par} +\renewcommand{\nomname}{\listadesiglasname} % Nome da lista de siglas +\setlength{\nomitemsep}{-\parsep} % Espaço entre os itens das listas +% Imprime os títulos das listas e dos grupos +\newcommand{\nomenclheader}[1]{\section*{\hspace*{-\leftmargin}\large#1}} +\renewcommand\nomgroup[1]{% + \IfStrEqCase{#1}{% + {A}{\vspace{-38pt}\nomenclheader{}} % Lista de abreviaturas e siglas + {B}{\cleardoublepage % Quebra de página + \pretextualchapter{\hspace{-\leftmargin}\listadesimbolosname} % Lista de símbolos + \vspace{-10pt}\nomenclheader{\nomBname}} % Símbolos romanos + {C}{\nomenclheader{\nomCname}} % Símbolos gregos + %{Letra}{\nomenclheader{Nome do grupo}} % Acrescente, se necessário, outros grupos + {X}{\nomenclheader{\nomXname}} % Sobrescritos + {Z}{\nomenclheader{\nomZname}} % Subscritos + % Grupos podem ser alterados ou adicionados + }% +} +% Ajusta a largura do rótulo nas listas de abreviaturas/siglas/símbolos +\RequirePackage{xpatch} +\xapptocmd\thenomenclature{\let\@item\nomencl@item\def\nomencl@width{0pt}}{}{} +\let\nomencl@item\@item +\xpretocmd\nomencl@item{\nomencl@measure{#1}}{}{} +\def\nomencl@measure#1{% + \sbox0{#1}% + \ifdim\wd0>\nomencl@width\relax + \edef\nomencl@width{\the\wd0}% + \fi +} +\xapptocmd\endthenomenclature{% + \immediate\write\@mainaux{\global\nomlabelwidth\nomencl@width\relax}% +}{}{} +% --- -\newcommand{\thmnamebr}{ +% --- +% Ajusta a indentação das listas de figuras e de tabelas +% --- +%\RequirePackage{tocbasic} % Já carregado pelo pacote nomencl +\DeclareTOCStyleEntry[ + indent=0pt, + entrynumberformat=\entrynumberwithprefix{\figurename}, + dynnumwidth, + %numsep=0em +]{tocline}{figure} + +\DeclareTOCStyleEntry[ + indent=0pt, + entrynumberformat=\entrynumberwithprefix{\tablename}, + dynnumwidth, + %numsep=0em +]{tocline}{table} +\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill} +% --- + +% --- +% Define o texto dos rótulos de acordo com o idioma principal selecionado +% --- +\AtBeginDocument{ +\IfStrEq{\idioma}{brazil}{ +\selectlanguage{brazil} +\renewcommand{\listfigurename}{Lista de figuras} +\renewcommand{\bibname}{Referências} +\renewcommand{\apendicename}{Apêndice} +\renewcommand{\anexoname}{anexo}\renewcommand{\anexosname}{anexos} +\newcommand{\Anexoname}{Anexo}\newcommand{\Anexosname}{Anexos} +\newcommand{\subsectionname}{subseção}\newcommand{\subsectionsname}{subseções} +\newcommand{\Subsectionname}{Subseção}\newcommand{\Subsectionsname}{Subseções} +\renewcommand{\lstlistingname}{Código} +\newcommand{\codigoname}{código}\newcommand{\codigosname}{códigos} +\newcommand{\Codigoname}{Código}\newcommand{\Codigosname}{Códigos} +\renewcommand{\ALG@name}{Algoritmo} \newcommand{\thname}{Teorema} \newcommand{\lmname}{Lema} \newcommand{\prname}{Proposição} @@ -389,11 +509,46 @@ \newcommand{\sltname}{Solução} \newcommand{\rmname}{Observação} \renewcommand{\proofname}{Demonstração} -\renewcommand{\lstlistingname}{Código} -\renewcommand{\ALG@name}{Algoritmo} -\crefname{listing}{código}{códigos} -\Crefname{listing}{Código}{Códigos} -} +\newcommand{\nocitation}{Nenhuma citação no texto.} +\newcommand{\citedp}{Citado na p.} +\newcommand{\citedpp}{Citado nas pp.} +\newcommand{\nomBname}{Símbolos romanos} +\newcommand{\nomCname}{Símbolos gregos} +}{ +\selectlanguage{english} +\renewcommand{\listfigurename}{List of figures} +\renewcommand{\listtablename}{List of tables} +\renewcommand{\bibname}{References} +\renewcommand{\apendicename}{Appendix}\renewcommand{\apendicesname}{Appendices} +\renewcommand{\anexoname}{annex}\renewcommand{\anexosname}{annexes} +\newcommand{\Anexoname}{Annex}\newcommand{\Anexosname}{Annexes} +\newcommand{\subsectionname}{subsection}\newcommand{\subsectionsname}{subsections} +\newcommand{\Subsectionname}{Subsection}\newcommand{\Subsectionsname}{Subsections} +\renewcommand{\lstlistingname}{Code} +\newcommand{\codigoname}{code}\newcommand{\codigosname}{codes} +\newcommand{\Codigoname}{Code}\newcommand{\Codigosname}{Codes} +\renewcommand{\ALG@name}{Algorithm} +\newcommand{\thname}{Theorem} +\newcommand{\lmname}{Lemma} +\newcommand{\prname}{Proposition} +\newcommand{\crname}{Corollary} +\newcommand{\aptname}{Assumption} +\newcommand{\dfname}{Definition} +\newcommand{\axname}{Axiom} +\newcommand{\cjcname}{Conjecture} +\newcommand{\prpname}{Property} +\newcommand{\expname}{Example} +\newcommand{\excname}{Exercise} +\newcommand{\prbname}{Problem} +\newcommand{\sltname}{Solution} +\newcommand{\rmname}{Remark} +\renewcommand{\proofname}{Proof} +\newcommand{\nocitation}{No citations.} +\newcommand{\citedp}{Cit. on p.} +\newcommand{\citedpp}{Cit. on pp.} +\newcommand{\nomBname}{Roman letters} +\newcommand{\nomCname}{Greek letters} +}} % --- % ------------------------------------------------------------------------ @@ -404,13 +559,19 @@ \newcommand{\autori}[3][]{\def\autorinome{#2}\def\autorisobrenome{#3}} \newcommand{\autorii}[3][]{\def\autoriinome{#2}\def\autoriisobrenome{#3}} +% Código Cutter +\newcommand{\numerocutter}[1]{\def\imprimircutter{#1}} + % Orientadores -\renewcommand{\orientador}[3][]{\def\orienttitulo{#1}\def\orientnome{#2}\def\orientsobrenome{#3}} -\renewcommand{\coorientador}[3][]{\def\coorienttitulo{#1}\def\coorientnome{#2}\def\coorientsobrenome{#3}} +\renewcommand{\orientador}[4][]{\def\orientname{#1}\def\orienttitulo{#2}\def\orientnome{#3}\def\orientsobrenome{#4}} +\renewcommand{\coorientador}[4][]{\def\coorientname{#1}\def\coorienttitulo{#2}\def\coorientnome{#3}\def\coorientsobrenome{#4}} % Tipo de trabalho \newcommand{\tipocurso}[1]{\def\imprimircurso{#1}} +% Informação adicional do trabalho +\newcommand{\publicacao}[1]{\def\imprimirpublicacao{#1}} + % Instituição \renewcommand{\instituicao}[3][]{\def\instituicaoi{#1}\def\instituicaoii{#2}\def\instituicaoiii{#3}} @@ -442,45 +603,55 @@ \newcommand{\kwordiv}[1]{\def\kwordivnome{#1}} \newcommand{\pchavev}[1]{\def\pchavevnome{#1}} \newcommand{\kwordv}[1]{\def\kwordvnome{#1}} - -% Código da ficha catalográfica -%\newcommand{\numerocutter}[1]{\def\imprimircutter{#1}} % --- % --- % Imprime capa % --- \renewcommand{\imprimircapa}{% +\hypersetup{pageanchor=false} +\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa +\checkandfixthelayout[nearest] \begin{capa}% \center \AddToShipoutPicture*{\BackgroundPic} \vspace*{7.5cm} - {\bfseries\sffamily\LARGE \instituicaoi \\[12pt] \instituicaoii} \\[12pt] - \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\LARGE\instituicaoiii}} - \begin{center} + {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\ + \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par} \vfill - \bfseries\sffamily\Huge\imprimirtitulo + \begin{center} + % Define o tamanho da fonte do título + \autotitle[4]{\bfseries\imprimirtitulo} + \titleformat\bfseries \imprimirtitulo\par \end{center} + \normalfont \vfill - {\Large\autorinome\ \autorisobrenome - \\[12pt] - \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}} - \vfill + {\Large\autorinome\ \autorisobrenome \\ + \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par} + \vfill\vfill \begin{center} - \color{white}{\sffamily\Large\expandafter\MakeUppercase\expandafter \imprimirtipotrabalho \\[4pt] \expandafter\MakeUppercase\expandafter\imprimircurso \\[6pt] \imprimirlocal \\[6pt] \imprimirano} + \color{white}{\sffamily\large\MakeUppercase \imprimirtipotrabalho \\[2pt] + \MakeUppercase\imprimircurso \\ + % Define o espaçamento vertical entre o nome do curso e o local (Brasília) + \autotitle[1]{\MakeUppercase\imprimircurso} + \ifdefined\decvspace \vspace{2pt} \else \vspace{20pt} \fi + \imprimirlocal \\ \imprimirano\par} \end{center} \end{capa} +\setlrmarginsandblock{3cm}{2cm}{*} % Reestabelece as margens +\checkandfixthelayout[nearest] +\cleardoublepage +\hypersetup{pageanchor=true} } % Figura de fundo da capa -\RequirePackage{eso-pic} +\RequirePackage{pdfpages} % Também funciona com o pacote eso-pic \newcommand\BackgroundPic{% \put(0,0){% \parbox[b][\paperheight]{\paperwidth}{% \vfill \centering - \includegraphics[width=\paperwidth,height=\paperheight,% - keepaspectratio]{capa_fundo.pdf}% + \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}% \vfill } } @@ -490,80 +661,75 @@ % --- % Imprime folha de rosto % --- -\makeatletter - -\renewcommand{\folhaderostocontent}{ +\renewcommand{\folhaderostocontent}{% \begin{center} - {\bfseries\sffamily\LARGE \instituicaoi \\[12pt] \instituicaoii} \\[12pt] - \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\LARGE\instituicaoiii}} - \vfill\vfill\vfill + {\LARGE{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\ + \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par} + \vfill\vfill \begin{center} -\color{verdeunb}\bfseries\sffamily\Huge\ifthenelse{\equal{\imprimirtituloestrangeiro}{}}{\imprimirtitulo}{\imprimirtituloestrangeiro} +% Define o tamanho da fonte do título +\ifthenelse{\equal{\imprimirtituloestrangeiro}{}} +{\autotitle[4]{\bfseries\imprimirtitulo}{\color{verdeunb}\titleformat\bfseries \imprimirtitulo\par}} +{\autotitle[4]{\bfseries\imprimirtituloestrangeiro}{\color{verdeunb}\titleformat\bfseries \imprimirtituloestrangeiro\par}} \end{center} - \vfill -{\Large\autorinome\ \autorisobrenome - \\[12pt] - \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}} - -\vfill\vfill +{\Large\autorinome\ \autorisobrenome \\ +\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par} +\vfill \abntex@ifnotempty{\imprimirpreambulo}{% - \hspace{.45\textwidth} + \begin{flushright} \begin{minipage}{.5\textwidth} {\SingleSpacing - \IfStrEq*{\languagename}{english}{ \begin{otherlanguage*}{brazil} \imprimirpreambulo - \end{otherlanguage*}}{ - \imprimirpreambulo} - } + \end{otherlanguage*}} \end{minipage}% - \vfill -}% - -{\large \orientadorname: \orienttitulo\ \orientnome\ \orientsobrenome\\[6pt]} - -\abntex@ifnotempty{\coorientnome}{% -{\large\coorientadorname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}% + \end{flushright} }% +\vfill -\vfill\vfill +{\large \orientname: \orienttitulo\ \orientnome\ \orientsobrenome \\ +\abntex@ifnotempty{\coorientnome}{\coorientname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}\par} +\vfill -{\sffamily\large\imprimirlocal \\[6pt] \imprimirano} +{\sffamily\large\abntex@ifnotempty{\imprimirpublicacao}{\imprimirpublicacao \\ \vfill} \imprimirlocal \\ \imprimirano\par} \end{center} } - -\makeatother % --- % --- % Imprime ficha catalográfica % --- % https://bce.unb.br/servicos/elaboracao-de-fichas-catalograficas/ -% Para imprimir o código Cutter, remova os comentários (%) -\renewcommand{\fichacatalografica}{ -\thispagestyle{empty}{ -\setlength{\fboxsep}{18pt} % Se imprimir o código Cutter, altere para 10pt +\newcommand{\cutter}{\IfInteger{\imprimircutter}{&}{}} +\renewcommand{\fichacatalografica}{% +\thispagestyle{empty}{% +\ifthenelse{\equal{\imprimirpublicacao}{}}{}{ +\begin{OnehalfSpace} +{\noindent\sffamily\large REFERÊNCIA BIBLIOGRÁFICA}\par +\noindent\MakeUppercase\autorisobrenome, \autorinome \ifthenelse{\equal{\autoriinome}{}}{.}{;~\MakeUppercase\autoriisobrenome, \autoriinome.} {\bfseries\StrDel{\imprimirtitulo}{\\ }}. \begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ifthenelse{\equal{\imprimirpublicacao}{}}{}{,~\imprimirpublicacao} -- \ifthenelse{\equal{\instituicaoiii}{}}{}{\instituicaoiii,~}\instituicaoii, \instituicaoi, \imprimirlocal, \thelastpage~p. \imprimirano.\end{otherlanguage*} +\end{OnehalfSpace}} +\IfInteger{\imprimircutter}{\setlength{\fboxsep}{10pt}}{\setlength{\fboxsep}{18pt}} \vspace*{\fill} {\small {\SingleSpacing \begin{center} -{\sffamily\large FICHA CATALOGRÁFICA} \\ \vspace{18pt} +{\sffamily\large FICHA CATALOGRÁFICA} \\[18pt] \fbox{\begin{minipage}[t][7.5cm]{12.5cm} -%\begin{tabular}{p{1.25cm} p{10.25cm}} & +\IfInteger{\imprimircutter}{\begin{tabular}{p{1.25cm} p{10.25cm}}}{} \cutter \autorisobrenome, \autorinome. \\ -%\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp} & -\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientadorname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientadorname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano. \\ % & -\hspace*{2em}\noindent \thelastpage~p. \\ % & -\\ % & -\hspace*{2em}\noindent\IfStrEq*{\languagename}{english}{\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*}}{\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.}\\ % & -\\ % & -\hspace*{2em}\noindent\IfStrEq*{\languagename}{english}{1. \kwordinome. 2. \kwordiinome. 3. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \kwordvnome.}}}{1. \pchaveinome. 2. \pchaveiinome. 3. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \pchavevnome.}}} -\ifthenelse{\equal{\autoriinome}{}}{\ifthenelse{\equal{\coorientnome}{}}{I. \orientsobrenome, \orientnome, orient. II. Título}{I. \orientsobrenome, \orientnome, orient. II. \coorientsobrenome, \coorientnome, coorient. III. Título}}{\ifthenelse{\equal{\coorientnome}{}}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. Título}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. \coorientsobrenome, \coorientnome, coorient. IV. Título}} -%\end{tabular} +\IfInteger{\imprimircutter}{\StrChar{\autorisobrenome}{1}\imprimircutter\StrChar{\imprimirtitulo}{1}[\SUBtemp]\MakeLowercase{\SUBtemp}}{} \cutter +\hspace*{2em}\noindent \StrDel{\imprimirtitulo}{\\ } ~/ \begin{otherlanguage*}{brazil}{\autorinome\ \autorisobrenome; \ifthenelse{\equal{\autoriinome}{}}{}{\autoriinome\ \autoriisobrenome;} \MakeLowercase\orientname\ \orientnome\ \orientsobrenome \ifthenelse{\equal{\coorientnome}{}}{.}{;~\MakeLowercase\coorientname\ \coorientnome\ \coorientsobrenome.} \texttt{-{}-} \imprimirlocal, \imprimirano.}\end{otherlanguage*} \\ \cutter +\hspace*{2em}\noindent \thelastpage~p. \\ \cutter +\\ \cutter +\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter +\\ \cutter +\hspace*{2em}\noindent\IfStrEq{\idioma}{brazil}{1. \pchaveinome. 2. \pchaveiinome. 3. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \pchavevnome.}}}{1. \kwordinome. 2. \kwordiinome. 3. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \kwordvnome.}}}% +\begin{otherlanguage*}{brazil}{\ifthenelse{\equal{\autoriinome}{}}{\ifthenelse{\equal{\coorientnome}{}}{I. \orientsobrenome, \orientnome, orient. II. Título.}{I. \orientsobrenome, \orientnome, orient. II. \coorientsobrenome, \coorientnome, coorient. III. Título.}}{\ifthenelse{\equal{\coorientnome}{}}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. Título.}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. \coorientsobrenome, \coorientnome, coorient. IV. Título.}}}\end{otherlanguage*} +\IfInteger{\imprimircutter}{\end{tabular}}{} \end{minipage}} \end{center} }} @@ -574,88 +740,191 @@ % --- % Imprime folha de aprovação % --- -\makeatletter - -\newcommand{\imprimirfolhadeaprovacao}{ +\newcommand{\imprimirfolhadeaprovacao}{% \begin{folhadeaprovacao} \begin{center} - {\bfseries\sffamily\Large \instituicaoi \\[7.5pt] \instituicaoii} \\[6pt] - \abntex@ifnotempty{\instituicaoiii}{{\bfseries\sffamily\Large\instituicaoiii}} + {\Large{\sffamily{\bfseries\instituicaoi \\ \instituicaoii \\ + \abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}}}\par} \vfill \begin{center} - \color{verdeunb}\bfseries\sffamily\LARGE\StrDel{\imprimirtitulo}{\\ } + % Define o tamanho da fonte do título + \autotitle[1]{\bfseries\StrDel{\imprimirtitulo}{\\ }} + \ifthenelse{\equal{\titleformat}{\large}} + {\color{verdeunb}\Large\bfseries \StrDel{\imprimirtitulo}{\\ }\par} + {\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\ }\par} \end{center} + \vfill -\vfill - -{\large\autorinome\ \autorisobrenome - \\[6pt] - \abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}} - +{\large\autorinome\ \autorisobrenome \\[2pt] +\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par} \vfill \abntex@ifnotempty{\imprimirpreambulo}{% - \hspace{.45\textwidth} + \begin{flushright} \begin{minipage}{.5\textwidth} {\SingleSpacing - \IfStrEq*{\languagename}{english}{ \begin{otherlanguage*}{brazil} \imprimirpreambulo - \end{otherlanguage*}}{ - \imprimirpreambulo} - } + \end{otherlanguage*}} \end{minipage}% + \end{flushright} }% +\vspace{20pt} -\vspace{0.8cm} - -\raggedright { Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:} -{ +\raggedright{Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:} +{% \assinatura{\textbf{\membrodabancainome} \\ \membrodabancaifuncaonome} \assinatura{\textbf{\membrodabancaiinome} \\ \membrodabancaiifuncaonome} \assinatura{\textbf{\membrodabancaiiinome} \\ \membrodabancaiiifuncaonome} \abntex@ifnotempty{\membrodabancaivnome}{\assinatura{\textbf{\membrodabancaivnome} \\ \membrodabancaivfuncaonome}} - \abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}}} + \abntex@ifnotempty{\membrodabancavnome}{\assinatura{\textbf{\membrodabancavnome} \\ \membrodabancavfuncaonome}} +} \vfill \begin{center} - {\sffamily\large\imprimirlocal - \\[6pt] \imprimirano} + {\sffamily\large\imprimirlocal \\ \imprimirano\par} \end{center} \end{center} \end{folhadeaprovacao} } +% --- -\makeatother +\RequirePackage{scontents} +% --- +% Imprime dedicatória % --- +\newenvsc{DedicatoriaAutorI}[store-env=dedicatoriaautori] +\newenvsc{DedicatoriaAutorII}[store-env=dedicatoriaautorii] +\newcommand{\imprimirdedicatoria}{ +\begin{dedicatoria} +\centering +\vspace*{\fill} +% Primeiro autor +{\itshape\getstored{dedicatoriaautori}} + +\ifthenelse{\equal{\autoriinome}{}}{}{ +\vspace{1cm} +\autorinome\ \autorisobrenome \par +\vspace*{\fill} + +% Segundo autor +{\itshape\getstored{dedicatoriaautorii}} + +\vspace{1cm} +\autoriinome\ \autoriisobrenome +} +\vspace*{\fill} +\end{dedicatoria} +} % --- -% Correção para o pacote microtype + % --- -\makeatletter -\long\def\MT@prot@l#1{% - \MT@get@prot{#1}{left}% - \leavevmode - #1} -\def\MT@prot@group#{\bgroup\afterassignment\MT@prot@get@firstchar\let\MT@temp= } -\makeatother +% Imprime agradecimentos % --- +\newenvsc{AgradecimentosAutorI}[store-env=agradecimentosautori] +\newenvsc{AgradecimentosAutorII}[store-env=agradecimentosautorii] +\newcommand{\idiomaagradecimentos}[1]{\def\acklang{#1}} +\newcommand{\imprimiragradecimentos}{ +% Define o título da seção de agradecimentos +\IfStrEq{\acklang}{brazil}{ +\renewcommand{\agradecimentosname}{Agradecimentos} +}{% Caso os agradecimentos sejam escritos em inglês +\renewcommand{\agradecimentosname}{Acknowledgements}} + +\begin{agradecimentos} + +% Primeiro autor +\getstored{agradecimentosautori} + +\ifthenelse{\equal{\autoriinome}{}}{}{ +\vspace{1cm} +\hfill \autorinome\ \autorisobrenome +\vspace{1cm} + +% Segundo autor +\getstored{agradecimentosautorii} + +\vspace{1cm} +\hfill \autoriinome\ \autoriisobrenome +} +\end{agradecimentos} +} % --- -% Ajusta a indentação das listas de figuras e de tabelas + +% --- +% Imprime epígrafe +% --- +\newenvsc{Epigrafe}[store-env=epigrafe] +\newcommand{\imprimirepigrafe}{ +\begin{epigrafe} +\getstored{epigrafe} +\end{epigrafe} +} % --- -\RequirePackage{tocbasic} -\DeclareTOCStyleEntry[ - indent=0pt, - entrynumberformat=\entrynumberwithprefix{\figurename}, - dynnumwidth, - %numsep=0em -]{tocline}{figure} -\DeclareTOCStyleEntry[ - indent=0pt, - entrynumberformat=\entrynumberwithprefix{\tablename}, - dynnumwidth, - %numsep=0em -]{tocline}{table} -\newcommand\entrynumberwithprefix[2]{#1~#2~\hfill} +% --- +% Imprime resumo (em português) +% --- +\newenvsc{Resumo}[store-env=resumo] +\newcommand{\imprimirresumo}{ +\newpage +\setlength{\absparsep}{\parsep} +\begin{resumo}[Resumo]\vspace{\baselineskip} +\begin{otherlanguage*}{brazil} +\getstored{resumo} +\vspace{\onelineskip} + +{\sffamily\bfseries Palavras-chave:} \pchaveinome. \pchaveiinome. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{\pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{\pchavevnome.}} +\end{otherlanguage*} +\end{resumo} +} +% --- + +% --- +% Imprime resumo (em inglês) +% --- +\newenvsc{Abstract}[store-env=abstract] +\newcommand{\imprimirabstract}{ +\newpage +\setlength{\absparsep}{\parsep} +\begin{resumo}[Abstract]\vspace{\baselineskip} +\begin{otherlanguage*}{english} +\getstored{abstract} +\vspace{\onelineskip} + +{\sffamily\bfseries Keywords:} \kwordinome. \kwordiinome. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{\kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{\kwordvnome.}} +\end{otherlanguage*} +\end{resumo} +} +% --- + +% --- +% Define o tamanho da fonte tipográfica do título +% --- +\newbox\testbox +\newdimen\testblskip +\newcommand*{\testlines}[1]{% + \setbox\testbox\hbox to\textwidth{\vbox{\centering\testfontsize #1\global\testblskip\baselineskip\par}}% +} +\newcommand*{\autotitle}[2][]{% \autotitle{número de linhas}{texto do título} +% \huge + \let\testfontsize\huge\sffamily\testlines{#2}% + \ifdim\ht\testbox>#1\testblskip +% \LARGE + \let\testfontsize\LARGE\sffamily\testlines{#2}% + \ifdim\ht\testbox>#1\testblskip +% \Large + \let\testfontsize\Large\sffamily\testlines{#2}% + \ifdim\ht\testbox>#1\testblskip +% \large + \let\testfontsize\large\sffamily\testlines{#2}% + \ifdim\ht\testbox>#1\testblskip + \newcommand{\decvspace}{} + \fi + \fi + \fi + \fi + \newcommand{\titleformat}{\testfontsize} +} % ---
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtexcite-en.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst index 087aca8fe5..8020e2e98d 100644 --- a/macros/latex/contrib/unbtex/unbtexcite-en.bst +++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst @@ -1,7 +1,7 @@ %% -%% 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 +%% unbtex-alf-en.bst bibliography style file is adapted from abntex-alf.bst +%% to format bibliographic references in ABNT style and author-year citation +%% scheme for documents written in English, following sugestions avaliable at %% %% https://github.com/abntex/abntex2/issues/97 %% @@ -2022,9 +2022,9 @@ 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 + "$RCSfile: unbtex-alf-en.bst,v $ " extract.cvs.key % - "unbtexcite-en.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num + "unbtex-alf-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 := @@ -2129,11 +2129,8 @@ FUNCTION {begin.bib} {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$} 'skip$ if$ "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$ -% Ajusta o espaçamento entre linhas e a indentação nas -% referênciasbibliográficas -"\setlength{\baselineskip}{18pt}" write$ newline$ -"\setlength{\leftskip}{3em}" write$ newline$ -"\setlength{\itemindent}{-\leftskip}" write$ newline$ +% Ajusta o espaçamento entre linhas nas referências bibliográficas +"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$ "\setlength{\itemsep}{0pt}" write$ newline$ } EXECUTE {begin.bib} diff --git a/macros/latex/contrib/unbtex/unbtexcite-pt.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst index 4700374c48..aa2e3d645f 100644 --- a/macros/latex/contrib/unbtex/unbtexcite-pt.bst +++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst @@ -1,9 +1,7 @@ %% -%% 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 +%% unbtex-alf-pt.bst bibliography style file is adapted from abntex-alf.bst +%% to format bibliographic references in ABNT style and author-year citation +%% scheme for documents written in Portuguese. %% %% abntex2-alf.bst, v-1.9.7 laurocesar %% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/ @@ -2020,9 +2018,9 @@ 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 + "$RCSfile: unbtex-alf-pt.bst,v $ " extract.cvs.key % - "unbtexcite-pt.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num + "unbtex-alf-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 := @@ -2127,11 +2125,8 @@ FUNCTION {begin.bib} {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$} 'skip$ if$ "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$ -% Ajusta o espaçamento entre linhas e a indentação nas -% referênciasbibliográficas -"\setlength{\baselineskip}{18pt}" write$ newline$ -"\setlength{\leftskip}{3em}" write$ newline$ -"\setlength{\itemindent}{-\leftskip}" write$ newline$ +% Ajusta o espaçamento entre linhas nas referências bibliográficas +"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$ "\setlength{\itemsep}{0pt}" write$ newline$ } EXECUTE {begin.bib} diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst new file mode 100644 index 0000000000..214bf6dc40 --- /dev/null +++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst @@ -0,0 +1,2147 @@ +%% +%% unbtex-num-en.bst bibliography style file is adapted from abntex-num.bst +%% to format bibliographic references in ABNT style and numeric citation +%% scheme for documents written in English, following sugestions avaliable at +%% +%% https://github.com/abntex/abntex2/issues/97 +%% +%% abntex2-num.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 {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$ + 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 "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: unbtex-num-en.bst,v $ " extract.cvs.key + % + "unbtex-alf-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 "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$ +% Ajusta o espaçamento entre linhas nas referências bibliográficas +"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$ +"\setlength{\itemsep}{0pt}" 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 diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst new file mode 100644 index 0000000000..6a5eb58034 --- /dev/null +++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst @@ -0,0 +1,2145 @@ +%% +%% unbtex-num-pt.bst bibliography style file is adapted from abntex-num.bst +%% to format bibliographic references in ABNT style and numeric citation +%% scheme for documents written in Portuguese. +%% +%% abntex2-num.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 + {"[s.d.]"} %#1 + {""} %#0 + if$} +FUNCTION {bbl.monography} { "Monografia" } +FUNCTION {bbl.mthesis} { "Disserta\c{c}\~{a}o" } +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} { "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" = + { 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 {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$ + 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 "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: unbtex-num-pt.bst,v $ " extract.cvs.key + % + "unbtex-alf-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$ +% Ajusta o espaçamento entre linhas nas referências bibliográficas +"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$ +"\setlength{\itemsep}{0pt}" 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 |