1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
|
% \iffalse meta-comment
% !TEX program = pdfLaTeX
%<*internal>
\iffalse
%</internal>
%<*readme>
-----------------------------------------------------------------------------------------------------
fei --- Class for the creation of academic works under the typographic rules of FEI University Center
Author: Douglas De Rizzo Meneghetti
E-mail: douglasrizzo@fei.edu.br
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
-----------------------------------------------------------------------------------------------------
fei is a class created by graduate students and LaTeX enthusiasts that allow students from FEI University Center to create their academic works, be it a monograph, masters dissertation or phd thesis, under the typographic rules of the institution. The class makes it possible to create a full academic work, supporting functionalities such as cover, title page, catalog entry, dedication, summary, lists of figures, tables, algorithms, acronyms and symbols, multiple authors, index, references, appendices and attachments.
fei is loosely based in the Brazilian National Standards Organization (Associação Brasileira de Normas Técnicas, ABNT) standards for the creation of academic works, such as ABNT NBR 10520:2002 (Citations) and ABNT NBR 6023:2002 (Bibligraphic References).
In the manual, users will find detailed information regarding the class commands, environments and best practices to create an academic text of good quality. We also made available a few template files which students may use as a starting point for their texts.
# License
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
# Latest releases and version control
CTAN is always the place to go to get the stable version of the class. To know the changes done to the class and get previous and developments versions, visit https://ww.github.com/douglasrizzo/Classe-Latex-FEI/.
%</readme>
%<*internal>
\fi
\def\nameofplainTeX{plain}
\ifx\fmtname\nameofplainTeX\else
\expandafter\begingroup
\fi
%</internal>
%<*install>
\input docstrip.tex
\keepsilent
\askforoverwritefalse
\preamble
-----------------------------------------------------------------------------------------------------
fei --- Class for the creation of academic works under the typographic rules of FEI University Center
Author: Douglas De Rizzo Meneghetti
E-mail: douglasrizzo@fei.edu.br
Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
-----------------------------------------------------------------------------------------------------
\endpreamble
\postamble
Copyright (C) 2017 by Douglas De Rizzo Meneghetti <douglasrizzo@fei.edu.br>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
version 1.3c of this license or (at your option) any later
version. The latest version of this license is in the file:
http://www.latex-project.org/lppl.txt
This work is "maintained" (as per LPPL maintenance status) by
Douglas De Rizzo Meneghetti.
This work consists of the file fei.dtx,
and the derived files fei.pdf and
fei.cls.
\endpostamble
\usedir{tex/latex/fei}
\generate{
\file{\jobname.cls}{\from{\jobname.dtx}{class}}
}
%</install>
%<install>\endbatchfile
%<*internal>
\usedir{source/latex/fei}
\generate{
\file{\jobname.ins}{\from{\jobname.dtx}{install}}
}
\nopreamble\nopostamble
\usedir{doc/latex/fei}
\generate{
\file{README.txt}{\from{\jobname.dtx}{readme}}
}
\ifx\fmtname\nameofplainTeX
\expandafter\endbatchfile
\else
\expandafter\endgroup
\fi
%</internal>
% \fi
% \iffalse
%<*driver>
\documentclass[rascunho,xindy,oneside,symbols,acronym]{\jobname}
\usepackage{multicol}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily,
columns=flexible,
breaklines=true,
literate=
{ã}{{\~a}}1 {ẽ}{{\~e}}1 {ĩ}{{\~i}}1 {õ}{{\~o}}1 {ũ}{{\~u}}1
{Ã}{{\~A}}1 {Ẽ}{{\~E}}1 {Ĩ}{{\~I}}1 {Õ}{{\~O}}1 {Ũ}{{\~U}}1
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1
}
\author{Douglas De Rizzo Meneghetti}
\title{Classe \LaTeX{} da FEI para criação de trabalhos acadêmicos}
\subtitulo{de acordo com o guia de 2016 da biblioteca}
% \advisor{Donald Knuth}
% \curso{Formatação e Tipografia}
\newcommand{\bigvindex}[1]{\index{#1@\emph{#1}}\emph{#1}}
\newcommand{\vindex}[1]{\index{#1}#1}
\newcommand{\cfcite}[1]{(Cf. \cite*{#1})}
\makeindex
\makeglossaries
\newacronym{fei}{FEI}{Fundação Educacional Inaciana}
\newacronym{abnt}{ABNT}{Associação Brasileira de Normas Técnicas}
\newacronym{abntex}{abn\TeX}{\textit{Absurd Norms for \TeX}}
\newacronym{cqd}{CQD}{como se queria demonstrar}
\newacronym{qed}{QED}{\textit{quod erat demonstrandum}}
\newacronym{ctan}{CTAN}{\textit{Comprehensive \TeX{} Archive Network}}
\newglossaryentry{h}{type=symbols, name={\ensuremath{H}}, sort=h, description={Esquema}}
\newglossaryentry{t}{type=symbols, name={\ensuremath{t}}, sort=t, description={Geração}}
\newglossaryentry{m}{type=symbols, name={\ensuremath{m}}, sort=m, description={número de cadeias pertences a \gls{h} na geração \gls{t}}}
\newglossaryentry{f}{type=symbols, name={\ensuremath{f}}, sort=f, description={aptidão média observada de \gls{h}}}
\newglossaryentry{at}{type=symbols, name={\ensuremath{a_t}}, sort=a, description={aptidão média observada na geração \gls{t}}}
\newglossaryentry{p}{type=symbols, name={\ensuremath{p}}, sort=p, description={probabilidade de ruptura de \gls{h}}}
\newglossaryentry{oh}{type=symbols, name={\ensuremath{o}}, sort=o, description={ordem de \gls{h}}}
\newglossaryentry{l}{type=symbols, name={\ensuremath{l}}, sort=l, description={tamanho do código}}
\newglossaryentry{pm}{type=symbols, name={\ensuremath{p_m}}, sort=pm, description={probabilidade de mutação}}
\newglossaryentry{pc}{type=symbols, name={\ensuremath{p_c}}, sort=pc, description={probabilidade de cruzamento}}
\newglossaryentry{delta}{type=symbols, name={\ensuremath{\delta}}, sort=delta, description={menor comprimento de \gls{h}}}
\addbibresource{referencias.bib}
\begin{document}
\maketitle
\begin{folhaderosto}
Classe \LaTeX{} da FEI para criação de trabalhos acadêmicos de acordo com o guia de 2016 da biblioteca
\end{folhaderosto}
\fichacatalografica
\folhadeaprovacao
\dedicatoria{Esta dedicatória está aqui para que a função de dedicatória seja testada.}
\begin{agradecimentos}
Agradecemos a Donald Knuth pela criação do \TeX{}, a Leslie Lamport pelo \LaTeX{} e a toda a comunidade de desenvolvedores que continua dando suporte e criando pacotes para melhorar a qualidade dos documentos escritos. Agradecimentos especiais são estendidos aos membros da \TeX{} \emph{Stack Exchange} pela divisão do fardo de criar documentos com belas tipografias. Agradece-se também os mantenedores da \gls{ctan}, por hospedar a classe e garantir sua distribuição em todas as maiores distribuições de \LaTeX{} nos principais sistemas operacionais, além de enviar-me e-mails toda vez que subo uma versão errada da classe.
\end{agradecimentos}
\epigrafe{A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering.}{Freeman Dyson \nocite{dyson_disturbing_1979}}
\begin{resumo}
O \TeX{} é um sistema de formatação de textos baseado em uma \emph{mark-up language}, criado em 1978 por Donald Knuth e ampliado com uma série de macros por Leslie Lamport, dando à luz o \LaTeX{}. Utilizado com frequência na área acadêmica, foram criadas classes em \LaTeX{} para satisfazer às regras de formatação dos mais variados órgãos, sociedades, institutos e universidades. Baseada nos padrões da ABNT, a biblioteca da FEI criou seu próprio guia para formatação de trabalhos acadêmicos, o qual originou, extra-oficialmente, a classe \texttt{fei.cls}. Neste guia, os usuários serão guiados no uso dessa classe, desde a criação de elementos pré-textuais (capa, folha de rosto, ficha catalográfica, epígrafe, dedicatória, sumário, listas de figuras, tabelas, algoritmos, siglas e símbolos), passando pelo corpo do texto e elementos pós-textuais (índice remissivo, referências bibliográficas, apêndices e anexos) e terminando com uma explicação referente à instalação dos pré-requisitos e compilação de um trabalho dissertativo com todos os recursos que a classe pode oferecer.
\keywords{\LaTeX{}. FEI.}
\end{resumo}
\begin{abstract}
Abstract goes here.
\keywords{Keywords. Go. Here.}
\end{abstract}
\listoffigures
\listoftables
\listofalgorithms
\listoftheorems
\printglossaries
\tableofcontents
\chapter{INTRODUÇÃO}
\glsaddall
Inspirado nas diversas normas da \index{ABNT}\gls{abnt} para produção de trabalhos acadêmicos, a biblioteca do Centro Universitário \index{FEI}\gls{fei} criou um guia, cuja última versão data de 2016, o qual dita as regras que os alunos devem seguir na formatação de suas monografias, dissertações e teses. Guiados por este manual (e mais uma dezena de dissertações corrigidas pelas bibliotecárias), nasceu o arquivo \texttt{fei.cls}, uma classe de documentos \LaTeX{} especializada na criação de trabalhos acadêmicos para alunos da \gls{fei}. Com ela, os alunos podem utilizar seus conhecimentos em \LaTeX{} para criar seus documentos, deixando a formatação complexa do documento a cargo da classe.
A escrita da classe que formata o texto foi realizada tendo-se como referência principal o guia disponível pela biblioteca (nesta versão, o guia utilizado desde 2015). Trabalhos corrigidos e reuniões subsequentes com as bibliotecárias também serviram de referencial para refinar algumas funcionalidades da classe, assim como realizar adições não cobertas pelo guia, como algoritmos e teoremas.
Para facilitar a escrita do texto final, alguns comandos/ambientes já existentes foram modificados e novos comandos e ambientes foram adicionados. Desta forma, espera-se que o autor tenha menos trabalho com a formatação do texto do que com a escrita do mesmo.
O texto é organizado da seguinte forma: a seção \ref{chap:instalacao} lista os passos para instalação do \LaTeX{}, da classe e de suas dependências nos principais sistemas operacionais; a seção \ref{chap:comandos} enumera os comandos e ambientes, tanto novos quanto redefinidos do \LaTeX{}, necessários para a criação do corpo do trabalho acadêmico; a seção \ref{chap:referencia} explica o uso do abn\TeX{} e exemplifica o uso de seus diversos comandos de citação; o capítulo \ref{chap:indice} disserta sobre os programas necessários para a criação do índice remissivo e os comandos utilizados para se indexar termos no decorrer do texto; a seção \ref{chap:listas} explica ao autor como criar listas de abreviaturas e símbolos; a seção \ref{chap:compilando} ensina a compilar um projeto utilizando a classe \texttt{fei.cls} com todas as suas funcionalidades. O apêndice A mantém um resgistro de alterações da classe em suas diferentes versões. O apêndice B explica cada um dos arquivos criados pelo processo de compilação, com o propósito de instruir e exemplificar o uso de um apêndice. Já o apêndice C disponibiliza uma lista dos principais símbolos matemáticos disponíveis no \TeX{}.
\section{NOTA AOS USUÁRIOS ANTIGOS DA CLASSE}
A partir da versão 3, a classe \LaTeX{} da FEI deixa de utilizar o pacote \texttt{abntex2cite}\index{abntex2cite@\emph{abntex2cite}} para formatação de referências e passa a utilizar o novo pacote \texttt{biblatex-abnt}\index{biblatex-abnt@\emph{biblatex-abnt}}, o qual possui como dependências o pacote \texttt{biblatex}\index{biblatex@\emph{biblatex}} e o programa \emph{Biber}\index{biber@\emph{Biber}}, todos disponíveis nas distribuições comuns do \LaTeX{}.
Isso significa que usuários de versões antigas da classe não mais usarão o comando \texttt{bibtex} para geração das referências e sim o comando \texttt{biber}. Para conferir mais mudanças, ler as seções \ref{subsec:referencias-pre} e \ref{subsec:referencias-pos} para se familiarizar com a nova forma de adicionar arquivos \texttt{bib} ao projeto e imprimir as referências, assim como a seção \ref{sec:dificil}, onde todos os comandos necessários para a compilação de um documento estão disponíveis.
Adicionalmente, os \emph{templates} que acompanham a classe foram devidamente atualizados para exemplificar as mudanças.
\section{INSTALAÇÃO} \label{chap:instalacao}
Esta seção guia o leitor na instalação do \LaTeX{}, da classe e dos diferentes pacotes e programas necessários para utilizar todas as funcionalidades dela.
\subsection{Windows}
A opção mais simples para instalação do \LaTeX{} no Windows é o aplicativo Mik\TeX{} (\url{http://miktex.org}). Tenha certeza de escolher a opção que permite ao software baixar pacotes em falta do repositório online e, na primeira vez que compilar seu projeto, todos os pacotes serão baixados. Tanto a classe da FEI como todas suas dependências estão disponíveis no Mik\TeX{}.
Alternativamente, é possível utilizar o gerenciador de pacotes do Mik\TeX{} para selecionar os pacotes a serem baixados. A lista destes pacotes está disponível na seção \ref{sec:dependencias}.
\subsection{Linux}
O \LaTeX~é frequentemente disponibilizado para as maiores distribuições Linux por meio de seus gerenciadores de pacotes. No Ubuntu, por exemplo, é necessária a instalação do \TeX{} Live através do \texttt{apt-get}. Recomenda-se optar pela instalação completa, através do pacote \texttt{texlive-full}.
É necessário enfatizar que a versão do \TeX{} Live disponível nos repositórios do sistema operacional nem sempre é a versão mais recente, a qual pode sempre ser encontrada na página oficial do \TeX{} Live, \url{https://www.tug.org/texlive/}.
Com a versão mais recente do \TeX{} Live instalada, é possível usar o \textit{\TeX{} Live Manager}, o gerenciador de pacotes do \TeX{} Live, para baixar todos os pacotes necessários, inclusive a classe da FEI, sob o nome \texttt{fei}.
\subsection{Mac OS}
No Mac, o \LaTeX{} pode ser instalado através do Mac\TeX{} (\url{http://tug.org/mactex/}), uma compilação completa do \TeX{} Live para Mac.
O Mac\TeX{} nem sempre possui a versão mais recente dos pacotes do repositório oficial do \TeX{}. Nesse caso, a opção é baixar a classe diretamente do \gls{ctan} ou da página do projeto no GitHub.
\subsection{Compilando do código-fonte}
A classe também pode ser baixada diretamente do GitHub, ou compilada do código-fonte. O repositório do projeto \footnote{\url{http://github.com/douglasrizzo/Classe-Latex-FEI}} possui todos os arquivos necessários para o procedimento. Para tanto, clone o repositório para um diretório e compile-o usando o Makefile disponível.
O processo de compilação requer que todas as dependências da classe já estejam instaladas. O único arquivo necessário para formatação dos trabalhos acadêmicos é a classe \texttt{fei.cls}, a qual deve ser mantida no mesmo diretório do arquivo \texttt{tex} do trabalho do aluno.
\section{FONTE ARIAL}
Por ser uma fonte True Type de autoria da Microsoft, as fontes da família Arial não são disponibilizadas nativamente por distribuições \LaTeX{} como o Mik\TeX{} e o \TeX{} Live. Para utilizá-las, é necessário instalá-las separadamente. As instruções para instalação das fontes estão disponíveis no site do \TeX \emph{Users Group}\footnote{http://tug.org/fonts/getnonfreefonts/}.
\begin{itemize}
\item Fazer download do script\footnote{http://tug.org/fonts/getnonfreefonts/install-getnonfreefonts};
\item Instalar o script usando o aplicativo \texttt{texlua}: \lstinline+texlua install-getnonfreefonts+;
\item Rodar o script: \lstinline+getnonfreefonts --all+.
\end{itemize}
Após isso, é necessário utilizar a opção \texttt{arial} na declaração da classe, no início do arquivo \texttt{tex}: \lstinline+\documentclass[arial]{fei}+.
\section{DEPENDÊNCIAS}\label{sec:dependencias}
A partir da versão 3, aclasse da FEI foi criada tendo a classe \texttt{memoir} como base, o que permitiu com que a classe da FEI fosse personalizada, em sua maioria, através do uso de comandos nativos do \LaTeX{}, reduzindo o número de pacotes do qual ela depende.
No entanto, ainda é necessário enfatizar a necessidade de instalação de alguns pacotes, listados e descritos mais abaixo, dos quais a classe \texttt{fei.cls} depende para seu funcionamento correto. Estes pacotes estão disponíveis nas distribuições do Mik\TeX{} (para Windows), Mac\TeX{} (para Mac OS) e \TeX{} Live (para Linux e Mac OS).
\begin{enumerate}
\item\texttt{algorithm2e}: provê comandos para a escrita de algoritmos;
\item\texttt{amsthm}: possibilita criação de teoremas (e derivados);
\item\texttt{babel}: escolha de línguas (importado pacote para português e inglês);
\item\texttt{biblatex}: pacote que substitui o Bib\TeX{} no tratamento de referências bibliográficas;
\item\texttt{biblatex-abnt}: formata citações e referências de acordo com o padrão \index{ABNT}\gls{abnt} 6023;
\item\texttt{caption}: altera a formatação de certas legendas;
\item\texttt{chngcntr}: redefine a numeração dos \emph{floats} -- tabelas, figuras, algoritmos e equações;
\item\texttt{csquotes}: proporciona suporte a aspas para diferentes idiomas;
\item\texttt{enumitem}: formatação de alíneas;
\item\texttt{fontenc}: codificação 8 bits para as fontes de saída do PDF (normalmente, elas têm 7 bits);
\item\texttt{glossaries}\index{glossaries@\emph{glossaries}}: permite a criação de listas de símbolos e abreviaturas;
\item\texttt{graphicx}: importação e utilização de imagens;
\item\texttt{hyperref}: gera os links entre referências no PDF;
\item\texttt{icomma}: define a vírgula como separador de decimais no ambiente matemático (padrão português brasileiro);
\item\texttt{ifthen}: permite a utilização de condições na geração do texto;
\item\texttt{imakeidx}: permite a criação de um índice remissivo ao fim do texto;
\item\texttt{inputenc}: permite a entrada de caracteres em formato UTF-8 nos arquivos \texttt{tex};
\item\texttt{lmodern}: carrega a família de fontes \emph{Latin Modern}, que possui maior abrangência de caracteres;
\item\texttt{mathtools}: extensões para facilitar a escrita de fórmulas matemáticas (inclui o pacote \texttt{amsmath});
\item\texttt{morewrites}: permite ao LaTeX escrever em mais de 16 arquivos auxiliares simultaneamente;
\item\texttt{pdfpages}: faz a inclusão de páginas em PDF no documento final;
\item\texttt{thmtools}: conjunto de macros para o pacote \texttt{amsthm};
\item\texttt{times}: carrega fonte Times New Roman;
\item\texttt{uarial}: carrega fonte URW Arial.
\end{enumerate}
Os scripts de alguns programas \TeX{}, como o \texttt{makeglossaries}, são dependentes da linguagem \index{Perl}Perl, a qual vem instalada por padrão em alguns sistemas operacionais. Para os usuários de Windows, no entanto, o Perl deve ser instalado separadamente e pode ser encontrado em \url{https://www.perl.org/}.
\chapter{COMANDOS E AMBIENTES}\label{chap:comandos}
Este capítulo descreve os comandos disponibilizados pela classe. Ele é separado em quatro seções: a seção \ref{sec:preambulo} disserta sobre os comandos a serem utilizados antes do início do texto; a seção \ref{sec:pretexto} auxilia na declaração dos elementos pré-textuais do documento; a seção \ref{sec:texto} descreve a estrutura do texto e outros elementos a serem utilizados durante a produção deste, como \emph{floats}; a seção \ref{sec:postexto} disserta sobre os elementos pós-textuais, a saber, referências, apêndices, anexos e índice remissivo.
\section{PREÂMBULO}\label{sec:preambulo}
No preâmbulo do texto são declaradas as propriedades globais do documento, como a classe que rege a formatação geral do texto e novos comandos a serem utilizados no decorrer do texto. O preâmbulo da classe \texttt{fei.cls} contém os seguintes elementos que devem ser declarados no preâmbulo:
\subsection{Declaração da classe} \label{subsec:documentclass}
A declaração da classe é feita da seguinte forma:
\begin{lstlisting}
\documentclass[opções]{fei}
\end{lstlisting}
A classe da FEI pode receber as seguintes opções:
\begin{enumerate}
\item \texttt{rascunho}: Caso o autor ainda não possua a folha de aprovação e a ficha catalográfica, esta opção insere páginas demarcando o local que estes documentos tomarão;
\item \texttt{xindy}: configura o \bigvindex{xindy} como programa de indexação a ser utilizado (mais sobre isso no capítulo \ref{chap:indice});
\item \texttt{sublist}: configura o pacote \texttt{glossaries} para que sub-listas de símbolos sejam usadas. Mais sobre sub-listas na seção \ref{sec:sublist};
\item \texttt{algo-as-figure}: configura o pacote \texttt{algorithm2e} para que algoritmos sejam listados na lista de ilustrações. Essa configuração é preferível, uma vez que a formatação das legendas e da lista de algoritmos, no presente, não condiz com as recomendações do guia da biblioteca;
\item \texttt{twoside}: a atualização de 2015 do guia da biblioteca recomenda que trabalhos acadêmicos com mais de 100 páginas sejam impressos em formato \index{frente-e-verso}frente-e-verso. Por ser derivada da classe \texttt{memoir}, a classe da FEI pode receber algumas opções nativas de \texttt{memoir}. Um exemplo de opção que pode ser útil é \texttt{twoside}, a qual alterna o tamanho das margens direita e esquerda das páginas, assim como a posição da numeração, permitindo realizar uma impressão frente-e-verso de melhor qualidade. Alterações adicionais foram realizadas para que todos os elementos pré-textuais sejam corretamente iniciados nas páginas ímpares, como recomenda o guia e a norma. É importante reparar, contudo, que a utilização de \texttt{twoside} acarreta no aumento do número de páginas, uma vez que os versos de algumas páginas no pré-texto podem ser deixados em branco em prol da norma.
\item \texttt{acronym}: sinaliza a configuração da lista de abreviaturas;
\item \texttt{symbols}: sinaliza a configuração da lista de símbolos.
\end{enumerate}
\subsection{Nome do autor, e título}
O nome do autor e o título da obra são inseridos utilizando os comandos nativos do \LaTeX{} \lstinline+\author{autor}+ e \lstinline+\title{titulo}+. Eles são posteriormente utilizados na criação da capa e folha de rosto do trabalho, formatados sob as normas da biblioteca. Para trabalhos com mais de um autor, os nomes dos autores devem ser separados pelo comando \lstinline+\and+ ou \lstinline+\\+, como no exemplo:
\begin{lstlisting}
\author{Leonardo \and Douglas}
\end{lstlisting}
\subsection{Subtítulo (opcional)}
Uma vez que as normas da biblioteca demandam formatações específicas para o título e subtítulo do documento (título em letras maiúsculas na capa, seguido do subtítulo em letras normais, separados por ``:''), foi criado o comando \lstinline+\subtitulo{}+, o qual recebe o texto referente ao subtítulo do texto. Este comando pode ser usado, preferencialmente, após o comando \lstinline+\title{}+ no preâmbulo do documento. Título e subtítulo também aparecem na folha de rosto.
\subsection{Cidade e Instituição (opcionais)}
Os comandos \lstinline+\cidade{}+ e \lstinline+\instituicao{}+ recebem os nomes da cidade e instituição de ensino para substituí-los na capa e folha de rosto. São comandos opcionais criados por questão de compatibilidade, ou caso outras instituições queiram usar a classe. Seus valores-padrão são ``São Bernardo do Campo'' e ``Centro Universitário FEI'', respectivamente.
\subsection{Arquivos de referências bibliográficas}\label{subsec:referencias-pre}
Em \TeX{}, as referências bibliográficas são mantidas em um ou mais arquivos de extensão \texttt{bib}, preferencialmente no mesmo diretório do arquivo \texttt{tex} do trabalho. Os arquivos \texttt{bib} utilizados pelo trabalho devem ser referenciados no preâmbulo do texto utilizando o comando \lstinline+\addbibresource{ref.bib}+. Mais de um arquivo pode ser referenciado, utilizando-se o comando \lstinline+\addbibresource{}+ mais de uma vez.
Para saber como imprimir a lista de referências bibliográficas na seção pós-textual so trabalho, confira a seção \ref{subsec:referencias-pos}.
\section{PRÉ-TEXTO}\label{sec:pretexto}
O pré-texto do documento engloba todos os elementos textuais que precedem o corpo da obra. A seguir são listados os elementos pré-textuais suportados pela classe \texttt{fei.cls} e os respectivos comandos para a criação de cada um deles.
\subsection{Capa}
A capa do trabalho é inserida através do comando \lstinline+\maketitle+, o qual foi modificado para criar uma página no formato da biblioteca. O comando utiliza o nome fornecido em \lstinline+\author{}+, o título em \lstinline+\title{}+, o subtítulo de \lstinline+\subtitulo{}+ juntamente com o ano corrente para gerar a capa.
\subsection{Folha de rosto}
A folha de rosto recebe um texto pré-definido, de acordo com o nível do trabalho escrito (monografia, dissertação ou tese). Este texto pode ser encontrado no guia da biblioteca e deve ser colocado dentro do ambiente \texttt{folhaderosto}. Por exemplo,
\begin{lstlisting}
\begin{folhaderosto}
Dissertação de Mestrado apresentada ao Centro Universitário
da FEI para obtenção do título de Mestre em Engenharia
Elétrica, orientado pelo Prof. Dr. Nome do Orientador.
\end{folhaderosto}
\end{lstlisting}
\subsection{Ficha catalográfica e folha de aprovação}
Os comandos \lstinline+\fichacatalografica+ e \lstinline+\folhadeaprovacao+ inserem, respectivamente, a ficha catalográfica e a folha de aprovação do trabalho no local onde o comando foi chamado. O comando \lstinline+\folhadeaprovacao+ procura pelo arquivo \texttt{ata.pdf} na pasta raiz do arquivo \texttt{tex} e o insere no documento. O comando \lstinline+\fichacatalografica+ executa uma função semelhante, procurando pelo arquivo \texttt{ficha.pdf}.
Caso você ainda não possua estes arquivos, mas queira visualizar o documento com páginas que demarquem a posição das futuras folha de aprovação e ficha catalográfica, é possível compilar o projeto passando a opção \texttt{rascunho} na declaração da classe, da seguinte forma: \lstinline+\documentclass[rascunho]{fei}+.
\subsection{Dedicatória}
O comando \lstinline+\dedicatoria{}+ recebe um argumento com a dedicatória desejada e o insere na posição especificada pelo guia da biblioteca. Por exemplo: \\ \lstinline+\dedicatoria{A quem eu quero dedicar o texto}+.
\subsection{Agradecimentos}
O ambiente de agradecimentos não possui nenhuma propriedade especial, somente centraliza o título e deixa o texto que se encontra entre seu \texttt{begin} e \texttt{end} na formatação esperada.
\begin{lstlisting}
\begin{agradecimentos}
A quem se deseja agradecer.
\end{agradecimentos}
\end{lstlisting}
\subsection{Epígrafe}
A epígrafe possui um formato especial, da mesma forma que a dedicatória. Este comando recebe dois parâmetros, sendo o primeiro a epígrafe e o segundo o autor da mesma.
\emph{Nota:} O guia da FEI requer que a referência da epígrafe esteja presente no final do trabalho. O comando \lstinline+\nocite{obra}+ pode ser usado para que a referência apareça ao final do texto, sem aparecer na epígrafe.
Exemplo: \lstinline+\epigrafe{Haw-Haw!}{Nelson Muntz \nocite{muntz_book}}+
\subsection{Resumo e \emph{abstract}}
O ambiente \texttt{resumo} é destinado à inserção do resumo em português do trabalho, enquanto o ambiente \texttt{abstract} contém o resumo em inglês. A única diferença entre os dois ambientes está no fato de \texttt{abstract} possuir o comando \lstinline+\selectlanguage{english}+ no início, enquanto \texttt{resumo} utiliza \lstinline+\selectlanguage{brazil}+. Palavras-chave podem ser inseridas ao final desses ambientes utilizando, no resumo, o comando \lstinline+\palavraschave{...}+ e no \emph{abstract}, o comando \lstinline+\keyword{...}+. Lembrando que as palavras-chave devem ser separadas manualmente por ponto final.
\begin{lstlisting}
\begin{resumo}
Resumo vem aqui.
\palavraschave{\LaTeX{}. FEI.}
\end{resumo}
\begin{abstract}
Abstract goes here.
\keyword{Keywords. Go. Here.}
\end{abstract}
\end{lstlisting}
\subsection{Listas e sumário}
A classe da FEI permite a impressão de listas de figuras, tabelas, algoritmos, teoremas, abreviaturas e símbolos usando os comandos nativos do \LaTeX{}, redefinidos para aderirem aos padrões da biblioteca. Também é possível inserir um sumário. A tabela \ref{tbl:substituicoes} enumera os comandos para inserção das listas e do sumário.
\begin{table}[ht!]
\caption{Listas e os comandos para imprimi-las} \label{tbl:substituicoes}
\centering
\begin{tabular}{|c|c|}
\hline
\textbf{Elemento} & \textbf{Comando} \\
\hline
Sumário & \lstinline+\tableofcontents+ \\
\hline
Lista de Figuras & \lstinline+\listoffigures+ \\
\hline
Lista de Tabelas & \lstinline+\listoftables+ \\
\hline
Lista de Algoritmos & \lstinline+\listofalgorithms+ \\
\hline
Lista de Teoremas & \lstinline+\listoftheorems+ \\
\hline
Listas de Abreviaturas e Símbolos & \lstinline+\printglossaries+ \\
\hline
\end{tabular}
\smallcaption{Fonte: Autor}
\end{table}
\section{TEXTO}\label{sec:texto}
Sob a nomenclatura do guia da biblioteca, o texto pode ser estruturado utilizando até 5 níveis de títulos de seção. Isso se traduz no uso dos 5 níveis disponibilizados nativamente pelo \LaTeX: capítulo, seção, subseção, subsubseção e parágrafo. Para isso, são usados os comandos nativos do \LaTeX{} para divisão do texto: \lstinline+\chapter{...}+, \lstinline+\section{...}+, \lstinline+\subsection{...}+, \lstinline+\subsubsection{...}+ e \lstinline+\paragraph{...}+. Estes comandos inserem os títulos de suas respectivas divisões de acordo com o guia e são usados posteriormente na criação automática do sumário.
Ao utilizar \lstinline+\chapter{...}+ e \lstinline+\section{...}+, é necessário inserir manualmente os títulos em letras maiúsculas para garantir que os mesmos aparecem em letras maiúsculas tanto no sumário como no texto, garantindo a aderência ao guia.
\subsection{\emph{Floats}}
As regras da biblioteca definem formatações distintas para os diferentes tipos de \emph{float} disponibilizados pelo \LaTeX{}. A seguir, serão descritas as diferentes formas de utilizar cada um deles.
\subsubsection{Figuras}
A partir de 2015, o guia de formatação da biblioteca padroniza as legendas de figuras e tabelas com a mesma formatação. Na parte superior da figura, coloca-se seu título, numeração e legenda em tamanho padrão 12 e, abaixo da figura, coloca-se sua fonte em tamanho 10. Para a criação da legenda superior da figura, utiliza-se o comando \lstinline+\caption{}+, enquanto que, para a legenda inferior, foi criado o comando \lstinline+\smallcaption{}+, o qual constitui uma interface simples para a formatação diferenciada da legenda inferior e, caso desejado, pode ser substituído por:
\begin{lstlisting}
\captionsetup{font=small}
\caption*{...}
\end{lstlisting}
A figura \ref{fig:exemplo} demonstra a inserção de uma figura usando o \LaTeX~, assim como a inserção das legendas superior e inferior utilizando a formatação nativa.
\begin{figure}
\centering
\caption{Exemplo de figura com sua fonte.}
\rule{2cm}{2cm}
\smallcaption{Fonte: \citefloat{lamport1994latex}.}\label{fig:exemplo}
\end{figure}
\begin{lstlisting}
\begin{figure}
\centering
\caption{Exemplo de figura com sua fonte.}
\includegraphics[...]{...}
\smallcaption{Fonte: Autor.}
\end{figure}
\end{lstlisting}
\subsubsection{Tabelas}
Da mesma forma que figuras, o guia da biblioteca é bem específico quanto às legendas de tabelas: legenda principal em cima da tabela e fonte abaixo. Para satisfazer esta regra, deve-se utilizar o mesmo processo descrito para as figuras. Um exemplo pode ser visto na tabela \ref{tbl:exemplo}.
\begin{lstlisting}
\begin{table}[ht!]
\caption{Legenda da tabela}
\begin{tabular}{|c|c|c|c|}
[...]
\end{tabular}
\smallcaption{Fonte: Autor.}
\end{table}
\end{lstlisting}
\begin{table}[ht!]
\caption{Exemplo de tabela com legenda acima e fonte abaixo} \label{tbl:exemplo}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
& \(x_1\) & \(x_2\) & \(x_3\) \\
\hline
\(y_1\) & 1 & 0 & 0 \\
\hline
\(y_2\) & 0 & 1 & 0 \\
\hline
\(y_3\) & 0 & 0 & 1 \\
\hline
\end{tabular}
\smallcaption{Fonte: Autor}
\end{table}
\subsubsection{Algoritmos}
Apesar de estar ausente no guia, a biblioteca permite a inserção de algoritmos no corpo do texto. O pacote \texttt{algorithm2e} fornece diversos comandos para a escrita e formatação de pseudo-códigos em diversos idiomas. A formatação configurada na classe da FEI reflete as recomendações da biblioteca e padrões encontrados na literatura.
A lista a seguir contém todos os comandos do \texttt{algorithm2e} que foram traduzidos para o português e, logo após, um exemplo de como usar alguns desses comandos. Para mais informações, consulte o manual do \texttt{algorithm2e}.
\begin{lstlisting}
\SetKwInput{Entrada}{Entrada}
\SetKwInput{Saida}{Sa\'ida}
\SetKwInput{Dados}{Dados}
\SetKwInput{Resultado}{Resultado}
\SetKw{Ate}{at\'e}
\SetKw{Retorna}{retorna}
\SetKwBlock{Inicio}{in\'icio}{fim}
\SetKwIF{Se}{SenaoSe}{Senao}
{se}{ent\~ao}{sen\~ao se}{sen\~ao}{fim se}
\SetKwSwitch{Selec}{Caso}{Outro}
{selecione}{faça}{caso}{sen\~ao}{fim caso}{fim selec}
\SetKwFor{Para}{para}{fa\c{c}a}{fim para}
\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para}
\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}
\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}
\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}
\SetKwRepeat{Repita}{repita}{at\'e}
\end{lstlisting}
Exemplo:
\begin{lstlisting}
\begin{algorithm}
\Entrada{Vetor \(X\)}
\Saida{Vetor \(Y\)}
\ParaCada{variável \(x_i \in X\)}{
\(y_i = x_i^2\)
}
\Retorna \(Y\)
\caption{Exemplo de algoritmo usando algorithm2e em português.}
\label{lst:alg}
\end{algorithm}
\end{lstlisting}
\begin{algorithm}
\Entrada{Vetor \(X\)}
\Saida{Vetor \(Y\)}
\ParaCada{variável \(x_i \in X\)}{
\(y_i = x_i^2\)
}
\Retorna \(Y\)
\caption{Exemplo de algoritmo usando algorithm2e em português.}\label{lst:alg}
\end{algorithm}
\subsubsection{Equações}
O guia da biblioteca também dita que todas as equações devem vir acompanhadas de numeração entre parênteses. O ambiente \texttt{equation} insere essa numeração à direita da equação. Adicionalmente, o pacote \texttt{mathtools} permite que uma equação seja referenciada durante o texto utilizando o comando \lstinline+\eqref{label_da_equacao}+, cuja funcionalidade é semelhante à do comando \lstinline+\ref{}+, porém com a adição dos parênteses.
\begin{equation} \label{eq:euler}
e^{i\pi}+1=0
\end{equation}
A equação \eqref{eq:euler} foi criada utilizando o seguinte código:
\begin{lstlisting}
\begin{equation} \label{eq:euler}
e^{i\pi}+1=0
\end{equation}
\end{lstlisting}
\subsubsection{Teoremas}
É comum encontrar, na literatura de exatas, teoremas e seus derivados, tipografados de maneira diferenciada. Em \LaTeX{}, a classe \texttt{amsthm} permite que teoremas sejam escritos em seus próprios ambientes e formatados de acordo, como no seguinte exemplo:
\begin{lstlisting}
\begin{teorema}
Exemplo de teorema.
\end{teorema}
\end{lstlisting}
Resultado:
\begin{teorema}\label{thm:ex1}
Exemplo de teorema.
\end{teorema}
Caso um teorema possua um nome ou referência, essa informação pode ser passada entre colchetes, como uma opção do ambiente:
\lstinline+\begin{teorema}[Teorema de Pitágoras \cite{obra}]+
\begin{teorema}[Teorema de Pitágoras \cite{heath1921history}] \label{thm:ex2}
Em qualquer triângulo retângulo, o quadrado do comprimento da hipotenusa é igual à soma dos quadrados dos comprimentos dos catetos.
\end{teorema}
A classe da FEI disponibiliza os ambientes \emph{axioma, teorema, lema, hipotese, proposicao, conjectura, paradoxo, corolario, definicao} e \emph{exemplo}, com chamada e numeração em negrito e texto com formatação padrão, como nos teoremas \ref{thm:ex1} e \ref{thm:ex2}. Também há o ambiente \emph{prova}, utilizado para se demonstrar alguma propriedade mencionada, o qual não é numerado e tem sua chamada em itálico. O término de um teorema, denominado ``como se queria demonstrar'' (CQD), do latim \gls{qed}, é representado pelo símbolo \qedsymbol, denominado ``lápide''.
\subsection{Alíneas}
Segundo o padrão da biblioteca, ``se houver necessidade de enumerar diversos assuntos dentro de uma seção, deve-se utilizar alíneas ordenadas alfabeticamente por letras minúsculas seguidas de parênteses com margem de 1,25 cm''. Para que não houvesse problemas de formatação, o ambiente \texttt{itemize} foi redirecionado para utilizar o \texttt{enumerate} e este passa a utilizar letras para a sequência de items (como utilizado na seção~\ref{sec:dependencias}). Alíneas em segundo nível são iniciadas pelo caractere \emph{en dash} (--).
\begin{enumerate}
\item Primeiro item;
\item Segundo item;
\begin{enumerate}
\item Primeiro sub-item;
\item Segundo sub-item.
\end{enumerate}
\item Terceiro item extremamente grande utilizado para testar se as linhas das alíneas são alinhadas verticalmente no início, como demanda o guia de 2016.
\end{enumerate}
\section{PÓS-TEXTO}\label{sec:postexto}
Fazem parte dos elementos pós-textuais as referências bibliográficas, apêndices, anexos e o índice remissivo. Este capítulo descreve os comandos para \emph{inserção} destes elementos. Os capítulos seguintes instruirão como \emph{criá-los}.
\subsection{Referências bibliográficas} \label{subsec:referencias-pos}
A lista de referências bibliográficas, contidas em um ou mais arquivos \texttt{bib} e referenciadas assim como descrito na seção \ref{subsec:referencias-pre}, é inserida no trabalho através do comando \lstinline+\printbibliography+. Repare, contudo, que apenas as obras referenciadas no texto através dos comandos de citação são listadas nas referências bibliográficas.
\subsection{Apêndices e anexos}
O \LaTeX{} possui o comando nativo \lstinline+\appendix+ que, quando utilizado, transforma os capítulos subsequentes em apêndices.
\begin{lstlisting}
\chapter{Último capítulo}
...
\appendix
\chapter{Primeiro apêndice}
...
\chapter{Segundo apêndice}
...
\end{lstlisting}
Ao contrário dos apêndices, o \LaTeX{} não possui um comando nativo para declarar anexos. Para isso, foi criado o comando \lstinline+\anexos+ que transforma os capítulos subsequentes em anexos.
\begin{lstlisting}
\chapter{Último capítulo ou anexo}
...
\anexos
\chapter{Primeiro anexo}
...
\chapter{Segundo anexo}
...
\end{lstlisting}
\subsection{Índice}
A biblioteca permite a criação de um índice remissivo de palavras, para que estas sejam encontradas com maior facilidade no decorrer do trabalho. O capítulo, \ref{chap:indice} explica com detalhes os diferentes programas e comandos envolvidos na indexação de palavras e compilação dos arquivos de índices, mas, por motivos de completude, o comando para se imprimir o índice é \lstinline+\printindex+.
\chapter{CITAÇÕES USANDO O abn\TeX}\label{chap:referencia}
O \gls{abntex} (\url{http://www.abntex.net.br/}) é um conjunto de macros (comandos e ambientes) que busca seguir as normas da \index{ABNT}\gls{abnt} para formatos acadêmicos. O pacote completo do \gls{abntex}~fornece tanto uma classe para a formatação do texto quanto um pacote para a formatação das referências bibliográficas. Para a formatação correta das citações e referências de acordo com o padrão da biblioteca da \index{FEI}\gls{fei}, foi importado o pacote \texttt{biblatex-abnt}, que utiliza o modelo autor-data.
As seções a seguir disponibilizam exemplos dos comandos mais comuns. Para uma lista detalhada, o leitor é referenciado ao manual do \texttt{biblatex-abnt}.
\section{CITAÇÃO NO FINAL DE LINHA}
A citação no final de linha deve deixar os nomes dos autores, seguido do ano, entre parenteses e em letras maiúsculas. Este resultado pode ser obtido utilizando o comando \lstinline+\cite{obra}+.
Exemplo: Este texto deveria ser uma referência \lstinline+\cite{turing50}+. $\to$ Este texto deveria ser uma referência \cite{turing50}.
\section{CITAÇÃO DURANTE O TEXTO}
Para que a citação seja feita durante o texto, o nome do autor é formatado somente com as iniciais maiúsculas e o ano entre parenteses. O pacote da \gls{abntex}~fornece o comando \lstinline+\textcite{obra}+ para este caso.
Exemplo: Segundo \lstinline+\textcite{haykin99a}+, este texto deveria ser uma referência. $\to$ Segundo \textcite{haykin99a}, este texto deveria ser uma referência.
\section{CITAÇÃO INDIRETA}
Quando se deseja citar uma obra a qual o autor não possui acesso direto a ela, pode-se citar uma outra obra que, por sua vez, cita a primeira. O \gls{abntex}~disponibiliza esse tipo de citação através do comando \lstinline+\apud{obra_inacessivel}{obra_acessivel}+.
Exemplo: \lstinline+\apud{kahneman2011}{stewart2012}+ formata a citação de forma semelhante a \apud{kahneman2011}{stewart2012}.
\section{CITAÇÕES MÚLTIPLAS}
Os comandos \lstinline+\cites{obra_1}{...}{obra_n}+ e \lstinline+\textcites{obra_1}{}...}{obra_m}+ também possibilitam a utilização de citações múltiplas.
Exemplos:
\lstinline+\cites{Mcc43}{kurzweil2013}{haykin99a}+ \(\to\) \cites{Mcc43}{kurzweil2013}{haykin99a}.
\lstinline+\textcites{clarke19932001}{hamlet}{art1}+ \(\to\) \textcites{clarke19932001}{hamlet}{art1}.
\section{CITAÇÕES DE CAMPOS ESPECÍFICOS}
Para citar o nome do autor em linha, utilize o comando \lstinline+\citeauthor*{obra}+.
\lstinline+\citeauthor*{galilei_dialogue_1953}+ \(\to\) \citeauthor*{galilei_dialogue_1953}
Para citar o nome do autor em letras maiúsculas, utilize\lstinline+\citeauthor{obra}+.
\lstinline+\citeauthor{galilei_dialogue_1953}+ \(\to\) \citeauthor{galilei_dialogue_1953}
Para citar o ano de uma obra, utilize \lstinline+\citeyear{obra}+.
\lstinline+\citeyear{galilei_dialogue_1953}+ \(\to\) \citeyear{galilei_dialogue_1953}
\section{CITAÇÃO PARA \emph{FLOATS}}
No caso das citações que devem ser feitas em \emph{floats}, como ilustrações e tabelas, foi criado o comando \lstinline+\citefloat{}+ um comando específico que reflete as recomendações da biblioteca. O objetivo principal deste comando é ser utilizado dentro de \lstinline+\smallcaption{}+, para que a fonte do \emph{float} seja referenciada corretamente.
\lstinline+Fonte: \citefloat{kernighan1988}.+ \(\to\) Fonte: \citefloat{kernighan1988}.
% \section{OUTROS EXEMPLOS}
%
% \lstinline+\Idem[p.~2]{turing50}+ \(\to\) \Idem[p.~2]{turing50}
%
% \lstinline+\Ibidem[p.~2]{turing50}+ \(\to\) \Ibidem[p.~2]{turing50}
%
% \lstinline+\opcit[p.~2]{turing50}+ \(\to\) \opcit[p.~2]{turing50}
%
% \lstinline+\passim{turing50}+ \(\to\) \passim{turing50}
%
% \lstinline+\loccit{turing50}+ \(\to\) \loccit{turing50}
%
% \lstinline+\cfcite[p.~2]{turing50}+ \(\to\) \cfcite[p.~2]{turing50}
%
% \lstinline+\etseq[p.~2]{turing50}+ \(\to\) \etseq[p.~2]{turing50}
\section{CITAÇÕES COM MAIS DE TRÊS LINHAS}
O único tipo de citação que independe do pacote \texttt{abntex2cite} é a citação com mais de três linhas. De acordo com o guia da biblioteca, ela deve ter recuo de 4 cm da margem esquerda, letra de tamanho 10 pt, espaçamento simples e não deve conter aspas nem recuo ao início do parágrafo. No \index{Latex@\LaTeX}\LaTeX{}, os ambientes responsáveis por tais citações são \texttt{quote} (para citações de um parágrafo) e \texttt{quotation} (para citações com mais de um parágrafo).
Exemplo:
\begin{quote}
I propose to consider the question, `Can machines think?' This should begin with definitions of the meaning of the terms `machine' and `think'. The definitions might be framed so as to reflect so far as possible the normal use of the words, but this attitude is dangerous. If the meaning of the words `machine' and `think' are to be found by examining how they are commonly used it is difficult to escape the conclusion that the meaning and the answer to the question, `Can machines think?' is to be sought in a statistical survey such as a Gallup poll. But this is absurd. Instead of attempting such a definition I shall replace the question by another, which is closely related to it and is expressed in relatively unambiguous words. \cite{turing50}
\end{quote}
\section{CITAÇÕES DE MÚLTIPLAS OBRAS COM MESMO AUTOR}
Essa seção demonstra a formatação de citações quando o(s) primeiro(s) autor(es) de uma obra é(são) o(s) mesmo(s).
Por exemplo, os trabalhos de \textcite{rocha2005brain,rocha2014brain,rocha2016eeg} possuem todos o mesmo primeiro autor; os dois primeiros trabalhos possuem os mesmos primeiro e segundo autores. Por ser possível diferenciar entre as obras através das diferentes datas, não é necessário adicionar nenhuma informação extra à citação. Citações entre parênteses para os mesmos trabalhos tomam a seguinte forma: \cite{rocha2005brain, rocha2014brain,rocha2016eeg}.
Já nos trabalhos de \textcite{duan2012large,duan2012reduced,duan2014functional}, é necessário diferenciar as duas primeiras obras devido às datas semelhantes. Citações entre parênteses para os mesmos trabalhos tomam a seguinte forma: \cite{duan2012large,duan2012reduced,duan2014functional}.
\chapter{ÍNDICES}\label{chap:indice}
Assim como as referências são geradas por um programa a parte (o Bib\TeX), a criação de índices remissivos também o é. Neste quesito, o \index{makeindex@\emph{MakeIndex}}\emph{MakeIndex} é o programa pioneiro na geração de índices e é parte integrante de todas as instalações do \LaTeX{}. Contudo, o \emph{MakeIndex} foi codificado com suporte apenas para o idioma inglês, o que significa que palavras que contêm caracteres mais exóticos -- como acentos ou cedilha -- não serão organizados corretamente. Para solucionar este problema, usuários de Linux possuem como opção secundária o \bigvindex{xindy}, um outro gerador de índices que possui as mesmas funcionalidades e aceita os mesmos comandos do \emph{MakeIndex}, porém com suporte a uma infinidade de idiomas.
Para ambos os casos, foi importado o pacote \texttt{imakeidx}, o qual permite selecionar entre o \emph{MakeIndex} e o \emph{xindy} em suas opções. O \emph{MakeIndex} é o motor padrão de indexação; para utilizar o \emph{xindy}, é necessário declarar esta opção ao carregar a classe, da seguinte forma: \lstinline+\documentclass[xindy]{fei}+
Como o \emph{xindy} não é parte integrante do \LaTeX{}, ensinamos como instalá-lo no capítulo \ref{chap:instalacao}. Também é necessário executar um passo adicional na compilação do projeto, o qual é explicado no capítulo \ref{chap:compilando}.
\section{SINALIZANDO A CRIAÇÃO DOS ARQUIVOS DE ÍNDICE}
Para que o \LaTeX{} crie os arquivos auxiliares que serão lidos pelo \emph{MakeIndex}, é necessário sinalizar o compilador para que essa criação seja feita. Isso é feito adicionando o comando \lstinline+\makeindex+ ao preâmbulo de seu texto.
\section{INDEXANDO PALAVRAS}
Para que uma palavra apareça posteriormente no índice, é necessário indexá-la. Para isso, usa-se o comando \lstinline+\index{palavra}+, o qual inclui ``palavra'' no arquivo auxiliar de indexação.
Exemplo: [\ldots] a biblioteca do Centro Universitário \lstinline+\index{FEI}+\index{FEI}\gls{fei} utiliza um modelo baseado na norma da \lstinline+\index{ABNT}+\index{ABNT}\gls{abnt} [\ldots]
É possível indexar uma palavra mais de uma vez, para que todas as páginas nas quais esta palavra apareceu apareçam no índice.
Para aprender dicas avançadas na criação de índices mais complexos, recomenda-se a leitura da documentação do \emph{MakeIndex} (\url{http://www.ctan.org/pkg/makeindex}) assim como de \textcite{mittelbach_latex_2004}, que disserta tanto sobre o \emph{xindy} como \emph{MakeIndex}.
\section{IMPRIMINDO O ÍNDICE}
A impressão do índice é feita utilizando o comando \lstinline+\printindex+, o qual, além de imprimir o índice, inclui uma entrada para o mesmo no sumário.
\chapter{LISTAS DE SÍMBOLOS E ABREVIATURAS} \label{chap:listas}
Para a criação das listas de símbolos e abreviaturas, foi utilizado o pacote \bigvindex{glossaries}, responsável por indexar termos de diferentes categorias e gerar listas destes termos. Ao contrário do índice, que indexa as palavras no decorrer do texto, o pacote \emph{glossaries} exige que os termos sejam declarados antes de serem referenciados durante o texto. Uma boa prática para organizar tais termos consiste em declará-los ao início do documento, ou em um documento separado, o qual pode ser chamado utilizando os comandos \lstinline+\input+ ou \lstinline+\include+. Estas opções ficam a cargo do leitor. As próximas seções ensinarão os comandos básicos para indexação de símbolos e abreviaturas.
\emph{Nota:} assim como descrito no capítulo \ref{chap:indice}, o pacote \emph{glossaries} depende das ferramentas \index{makeindex@\emph{MakeIndex}}\emph{MakeIndex}.
\section{SINALIZANDO A CRIAÇÃO DOS ARQUIVOS DE LISTAS DE SÍMBOLOS E ABREVIATURAS}
Para que a classe da FEI configure a formatação das listas de acordo com o padrão da biblioteca, é necessário passar as opções \texttt{acronym}, para abreviaturas e \texttt{symbols}, para símbolos, na declaração da classe (vide seção \ref{subsec:documentclass}). Caso abreviaturas e símbolos sejam indexados e as opções não sejam passadas, um erro é gerado. Caso as opções sejam passadas mas nenhum item seja adicionado às listas, serão geradas páginas em branco.
Para que o \LaTeX{} crie os arquivos auxiliares que serão lidos pelo \emph{glossaries}, é necessário sinalizar a criação deles ao compilador. Isso é feito adicionando o comando \lstinline+\makeglossaries+ ao preâmbulo de seu texto.
\section{INDEXANDO ABREVIATURAS}
A indexação de abreviaturas é feita utilizando o comando
\lstinline+\newacronym[longplural=1]{2}{3}{4}+, onde:
\begin{enumerate}
\item 1: o significado a abreviatura no plural, escrito por extenso (\emph{opcional});
\item 2: código que será utilizado para referenciar a abreviatura no decorrer do texto;
\item 3: a abreviatura em si;
\item 4: o significado a abreviatura, escrito por extenso.
\end{enumerate}
Exemplo: \lstinline+\newacronym[longplural=Associações+
\lstinline+Brasileiras de Normas Técnicas]+
\lstinline+{abnt}{ABNT}{Associação Brasileira de Normas Técnicas}+
\section{INDEXANDO SÍMBOLOS}
A indexação de símbolos é feita utilizando o comando
\lstinline+\newglossaryentry{1}{parent={2},type=symbols,+
\lstinline+name={3},sort={4},description={5}}+, onde:
\begin{enumerate}
\item 1: código que será utilizado para referenciar a abreviatura no decorrer do texto);
\item 2: tipo do símbolo; usado para separar letras gregas e subscritos das demais (Cf. exemplo abaixo);
\item 3: o símbolo; caso a notação matemática seja necessária, use \lstinline+\ensuremath{2}+ (Cf. exemplo abaixo);
\item 4: uma sequência de caracteres para indicar a ordenação alfabética do símbolo na lista;
\item 5: a descrição do símbolo, que aparecerá na lista.
\end{enumerate}
Exemplo: \lstinline+\newglossaryentry{pi}{parent=greek,type=symbols,+
\lstinline+name={\ensuremath{\pi}},sort=p,+
\lstinline+description={número irracional que representa [...]}}+
\section{UTILIZANDO ABREVIATURAS E SÍMBOLOS INDEXADOS}
O pacote \bigvindex{glossaries} disponibiliza os seguintes comandos para chamar os itens indexados durante o texto:
\begin{enumerate}
\item \lstinline+\gls{<rotulo>}+: imprime a entrada em letras minúsculas;
\item \lstinline+\Gls{<rotulo>}+: imprime a entrada em letras maiúsculas;
\item \lstinline+\glspl{<rotulo>}+: imprime a entrada no plural;
\item \lstinline+\Glspl{<rotulo>}+: imprime a entrada no plural e em letras maiúsculas.
\end{enumerate}
As siglas possuem alguns comandos únicos para serem referenciadas:
\begin{enumerate}
\item \lstinline+\acrfull{<rotulo>}+ imprime a abreviatura completa \(\to\) \acrfull{fei};
\item \lstinline+\acrlong{<rotulo>}+ imprime a parte por extenso da abreviatura \(\to\) \acrlong{fei};
\item \lstinline+\acrshort{<rotulo>}+ imprime apenas a abreviatura \(\to\) \acrshort{fei}.
\end{enumerate}
Repare que, no caso das siglas, quando estas são usadas pela primeira vez, são impressas a definição seguida da sigla entre parênteses. Nas demais vezes, a sigla aparecerá sozinha. Já os símbolos podem ser utilizados dentro de equações, ou na definição de outros símbolos, como no seguinte exemplo \cite{Goldberg1989}, \[ \operatorname{E}(\gls{m}(\gls{h},\gls{t}+1)) \geq \frac{\gls{m}(\gls{h},\gls{t}) \gls{f}(\gls{h})}{\gls{at}}[1-\gls{p}], \] onde \[ p = \frac{\gls{delta}(\gls{h})}{\gls{l}-1}\gls{pc} + \gls{oh}(\gls{h}) \gls{pm}. \] Os símbolos utilizados nas equações são cadastrados no início do arquivo, inseridos com o comando \lstinline+\gls{}+ e consequentemente, adicionados na lista de símbolos.
É importante ressaltar que o pacote \bigvindex{glossaries} adiciona às listas somente os termos que forem utilizados durante o texto. Para que todos os termos declarados apareçam, basta usar o comando \lstinline+\glsaddall+ no corpo do texto.
\section{HIERARQUIA DE SÍMBOLOS}\label{sec:sublist}
Atendendo à demanda de alunos que utilizam uma quantidade muito extensa de símbolos em seus trabalhos, a classe da FEI passou a suportar o uso de listas se símbolos que permitam a ordenação hierárquica dos símbolos. Esta adição foi feita através do uso do estilo \texttt{alttree} do pacote \texttt{glossaries}. Para que este estilo seja utilizado no documento, a opção \texttt{sublist} deve ser passada à classe.
O exemplo abaixo demonstra como criar uma categoria de símbolos e inserir um símbolo nela. Mais de uma categoria de símbolos pode ser criada. Para mais exemplos, consulte os arquivos de exemplo do repositório ou o manual do pacote \texttt{glossaries}.
\begin{lstlisting}
\newglossaryentry{greek}{name={Letras gregas},
description={\nopostdesc},sort=a}
\newglossaryentry{deltap}{parent=greek,type=symbols,
name={\ensuremath{\Delta P}},sort=deltap,
description={pressure drop, $Pa$}}
\end{lstlisting}
\section{IMPRIMINDO AS LISTAS}
A lista de abreviaturas pode ser impressa através do comando \lstinline+\printacronyms+. A lista de símbolos pode ser impressa através do comando \lstinline+\printsymbols+. Todas as listas criadas através do pacote \texttt{glossaries}, inclusive as definidas pelo próprio usuário, podem ser impressas sequencialmente através do comando \lstinline+\printglossaries+.
\chapter{COMPILANDO O PROJETO} \label{chap:compilando}
Para utilizar todos os recursos que a \texttt{fei.cls} disponibiliza, é necessário compilar o projeto utilizando diferentes programas em ordem específica. Esta sessão descreve estes programas, a ordem na qual eles devem ser utilizados e algumas ferramentas inteligentes que automatizam este processo.
\section{O JEITO DIFÍCIL} \label{sec:dificil}
Para compilar o documento manualmente, é preciso executar os seguintes programas na seguinte ordem\footnote{Para uma descrição referente a todos os arquivos gerados no processo de compilação, vide apêndices}.
\[\operatorname*{\text{pdf\LaTeX}}_a \to \operatorname*{\text{Biber}}_b \to \operatorname*{\text{MakeGlossaries}}_c \to \operatorname*{\text{pdf\LaTeX}}_d \to \operatorname*{\text{MakeIndex}}_e \to \operatorname*{\text{pdf\LaTeX}}_f\]
onde:
\begin{enumerate}
\item gera arquivos auxiliares básicos, utilizados pelos demais programas, e uma versão inicial do PDF;
\item gera a bibliografia lendo o arquivo \texttt{bib} utilizado. Necessário apenas se citações e referências forem usadas no texto;
\item cria um ou mais arquivos de listas (de símbolos e siglas). Necessário apenas se houve indexação e utilização de símbolos e abreviaturas no texto;
\item atualiza todas as referências através do texto, utilizando os arquivos gerados em \emph{b}, \emph{c} e \emph{d} (\emph{desnecessário se os passos b -- d não foram realizados});
\item cria um ou mais arquivos de índice. Necessário apenas se houver indexação de palavras para serem adicionadas ao índice;
\item gera o PDF final (\emph{desnecessário se os passos b -- e não foram realizados}), incluindo o índice gerado no passo anterior.
\end{enumerate}
Um exemplo de comando que executa todas essas funções é o seguinte:
\begin{lstlisting}
pdflatex documento.tex
biber documento
makeglossaries documento
pdflatex documento.tex
makeindex documento.idx
pdflatex documento.tex
\end{lstlisting}
Caso o \bigvindex{xindy} esteja sendo usado como o motor de indexação, é necessário passar o parâmetro \lstinline+-shell-escape+ ao pdf\LaTeX{}, para que ele possa executar comandos no \emph{shell} do Linux.
\section{O JEITO FÁCIL}
Existem diversas ferramentas que automatizam o processo de compilação de um documento em \LaTeX{}, abstraindo o usuário da complexidade de utilizar todos os programas menores que geram o arquivo final. Duas dessas ferramentas são o \texttt{latexmk} e o \texttt{rubber}, ambas criadas especificamente para realizar a automatização da compilação de documentos \TeX{}. Supondo que haja um arquivo chamado \texttt{documento.tex} no diretório atual, os comandos seguintes geram um PDF completo.
\begin{enumerate}
\item \texttt{latexmk -pdf -interaction=nonstopmode documento}
\item \texttt{rubber -d documento}
\end{enumerate}
Caso haja apenas um arquivo \texttt{tex} no diretório, não é necessário especificar o nome do documento, assim como nunca é necessário deixar explícito tanto ao \texttt{latexmk} quanto ao \texttt{rubber} se o documento sendo compilado possui bibliografia, índices ou listas. Os programas detectam a existência desses construtos adicionais examinando os arquivos auxiliares gerados durante o processo e executam todos os comandos apropriados na ordem certa e o número suficiente de vezes.
\chapter{LEITURA COMPLEMENTAR}
\textcite{lamport1994latex} e \textcite{mittelbach_latex_2004} descrevem de maneira completa o \LaTeX: seus comandos, funcionalidades e programas adicionais que interagem com ele, como o Bib\TeX{}, \emph{MakeIndex}, \emph{xindy} entre outros, sendo \citeauthor*{lamport1994latex} o criador do \LaTeXe e \citeauthor*{mittelbach_latex_2004} os atuais mantenedores do \LaTeXe\ e do projeto do \LaTeX{} 3. \textcite{lshort} mantém um guia atualizado de \LaTeX{} em seu site, disponível em PDF para download gratuito. O livro \emph{open-source} de \LaTeX{} no Wikibooks \url{http://en.wikibooks.org/wiki/LaTeX/} também é uma ótima fonte de busca para comandos e pacotes. A \gls{ctan} \url{http://ctan.org} é o repositório online para todos os pacotes utilizados pelo \LaTeX{}, assim como seus manuais.
Manuais complementares da Classe \LaTeX{} da FEI de possível interesse para usuários são os da classe \texttt{memoir}\footnote{\url{http://ctan.org/pkg/memoir}} e do pacote \texttt{biblatex-abnt}\footnote{\url{http://ctan.org/pkg/biblatex-abnt}}.
\printbibliography
\appendix
\chapter{REGISTRO DE ALTERAÇÕES}
Versão 1 (2012):
\begin{itemize}
\item Versão inicial;
\item Criação de todos os elementos pré-textuais:
\begin{itemize}
\item Capa;
\item Folha de rosto;
\item Ficha catalográfica;
\item Folha de aprovação;
\item Resumo;
\item \emph{Abstract};
\item Dedicatória;
\item Agradecimentos;
\item Epígrafe;
\item Sumário e listas de figuras e tabelas.
\end{itemize}
\item Formatação dos títulos de seções até o quarto nível (\texttt{subsubsection});
\item Formatação de referências e citações usando o pacote \texttt{abntex};
\item Criação de apêndices e anexos.
\end{itemize}
Versão 2 (2013 -- 2015):
\begin{itemize}
\item Adição de listas de símbolos e abreviaturas usando o pacote \index{glossaries@\emph{glossaries}};
\item Suporte a índice remissivo através do pacote \index{makeindex@\emph{MakeIndex}};
\item Uso de um pacote externo de formatação de referências e citações, o \index{abntex2cite@\emph{abntex2cite}};
\item Suporte à criação de algoritmos e lista de algoritmos usando o pacote \index{algorithm2e@\emph{algorithm2e}};
\item Suporte à criação de teoremas, definições, corolários, provas e afins usando os pacotes \index{amsthm@\emph{amsthm}} e \index{thmtools@\emph{thmtools}};
\item suporte à impressão em frente-e-verso com a opção \texttt{twoside};
\item Diversas correções baseadas em dissertações corrigidas pela biblioteca:
\begin{itemize}
\item Uso de negritos na capa e folha de rosto
\item Espaçamento entre linhas mais parecido com o do Word;
\item Correção das margens superior e inferior de todas as páginas;
\item Correção de recuo das alíneas.
\end{itemize}
\end{itemize}
Versão 2 (2015 -- 2016): adaptação ao novo guia de formatação de 2015, com mudanças especialmente nos títulos de seção e sumário.
Versão 3 (2016 -- ):
\begin{itemize}
\item Fim do suporte ao \bigvindex{abntex2cite} e início de uso do pacote \bigvindex{biblatex-abnt} para formatação de referências, o qual possui como dependências o pacote \bigvindex{biblatex} e o programa \index{biber@\emph{Biber}}\emph{Biber};
\item Uso da classe \texttt{memoir} como base para a classe da FEI, removendo diversas dependências, como os pacotes \emph{tocloft, fancyhdr, geometry} e \emph{setspace};
\item Diversas correções baseadas em dissertações corrigidas pela biblioteca:
\begin{itemize}
\item Uso de negritos na capa e folha de rosto;
\item Remoção do negrito na lista de abreviaturas;
\item Adição de hífen na lista de algoritmos;
\item Correção de recuo das alíneas.
\end{itemize}
\end{itemize}
\chapter{\emph{HACKS} ÚTEIS}
Existem alguns casos específicos nos quais técnicas de formatação avançadas ou redefinições de comandos são requeridas. Não existe forma simples de disponibilizar os recursos listados neste apêndice aos usuários da classe, então o apêndice ensinará os usuários a realizar personalizações básicas na classe, assim como fazer formatações menos convencionais que sejam necessárias para aderir as padrões da biblioteca.
\section{MUDANDO OS NOMES DAS LISTAS}
Frequentemente o(a) orientador(a) ou um(a) bibliotecário(a) decide contrariar todas as regras escritas no guia de formatação, assim como as normas da \gls{abnt}, e deseja que determinadas listas possuam nomes específicos. Este apêndice ensina os usuários a modificar os nomes das listas que são geradas no preâmbulo, assim como os nomes que precedem cada item dessas listas.
Os comandos abaixo definem os nomes nas entradas das listas de ilustrações e tabelas.
\begin{lstlisting}
% espaço onde a palavra "Ilustração" é escrita
\setlength{\cftfigurenumwidth}{7.2em}
% espaço onde a palavra "Tabela" é escrita
\setlength{\cfttablenumwidth}{5.7em}
% escrita que precede cada entrada na lista de ilustrações
\renewcommand{\cftfigurepresnum}{Ilustra\c{c}\~ao }
% escrita que precede cada entrada na lista de tabelas
\renewcommand{\cfttablepresnum}{Tabela }
\end{lstlisting}
Por exemplo, para transformar ``Ilustração 1'', ``Ilustração 2'' etc. em ``Figura 1,'' ``Figura 2'' etc. na lista de ilustrações, inclua o seguinte comando no preâmbulo de seu trabalho.
\begin{lstlisting}
\renewcommand{\cftfigurepresnum}{Figura }
\setlength{\cftfigurenumwidth}{5.7em}
\end{lstlisting}
O comando abaixo define os nomes das listas de ilustrações, sumário, lista de abreviaturas e lista de símbolos para o idioma português brasileiro.
\begin{lstlisting}
\addto\captionsbrazil{%
\renewcommand*{\listfigurename}{Lista de Ilustra\c{c}\~oes}%
\renewcommand*{\contentsname}{Sum\'ario}%
\renewcommand*{\acronymname}%
{\hfill Lista de Abreviaturas \hfill \mbox{}}%
\renewcommand*{\glssymbolsgroupname}%
{\hfill Lista de S\'imbolos \hfill \mbox{}}}
\end{lstlisting}
Para redefinir qualquer um destes valores, é necessário fazê-lo dentro do comando \lstinline+\addto\captionsbrazil{...}+. Assim como no exemplo anterior, isso deve ser feito no preâmbulo do trabalho. O exemplo abaixo renomeia a lista de ilustrações para ``Lista de Figuras'':
\begin{lstlisting}
\addto\captionsbrazil{%
\renewcommand*{\listfigurename}{Lista de Figuras}}
\end{lstlisting}
\section{ALINHANDO FIGURA E LEGENDA}
\begin{figure}
\centering
\begin{minipage}{.5\textwidth}
\caption{Exemplo de fonte com sua figura.}
\rule{\textwidth}{2cm}
\smallcaption{Fonte: Autor.}\label{fig:exemplo_alinhado}
\end{minipage}
\end{figure}
Uma forma de se alinhar as legendas de uma figura com sua extremidade esquerda corretamente sem utilizar recuos é através do uso do ambiente \texttt{minipage}, como mostrado abaixo. A figura \ref{fig:exemplo_alinhado} mostra o resultado. Neste formato, para mudar o tamanho da figura, muda-se o tamanho da \texttt{minipage}.
\begin{lstlisting}
\begin{figure}
\centering
\begin{minipage}{.5\textwidth}
\caption{Exemplo de fonte com sua figura.}
\rule{\textwidth}{2cm}
\includegraphics[width=\textwidth]{...}
\smallcaption{Fonte: Autor.}\label{fig:exemplo_alinhado}
\end{minipage}
\end{figure}
\end{lstlisting}
\chapter{ARQUIVOS CRIADOS PELO PROCESSO DE COMPILAÇÃO} \label{chap:arquivos}
A seguir, as descrições dos arquivos auxiliares gerados durante o processo de compilação de um documento utilizando a classe \texttt{fei.cls} e todos os seus recursos.
\begin{enumerate}
\item\lstinline+pdflatex documento.tex+
\begin{enumerate}
\item \texttt{alg}: \emph{log} do \index{makeindex@\emph{MakeIndex}}\emph{MakeIndex};
\item \texttt{bcf}: arquivo com as referências a serem processadas pelo \index{Bibtex@Bib\TeX}Bib\TeX;
\item \texttt{glo,acn,sym}: listas de abreviaturas e símbolos.
\item \texttt{idx}: arquivo com os termos a serem adicionados no índice pelo \emph{MakeIndex};
\item \texttt{loa}: lista de algoritmos;
\item \texttt{out}: atalhos (\emph{bookmarks}) utilizados pelo leitor de PDF.
\item \texttt{toc}: sumário;
\end{enumerate}
\item\lstinline+biber documento.aux+
\begin{enumerate}
\item \texttt{bbl}: arquivo contendo as citações utilizadas no texto, prontas a serem incluídas na próxima execução do pdf\LaTeX.
\end{enumerate}
\item\lstinline+makeindex documento.idx+
\begin{enumerate}
\item \texttt{ilg}: \emph{log} do MakeIndex.
\item \texttt{ind}: contém, em linguagem \emph{tex}, a formação do índice a ser inserida na chamada a \lstinline+\printindex+;
\end{enumerate}
\item\lstinline+makeglossaries documento+
\begin{enumerate}
\item \texttt{acr,sbl,gls}: contém, em linguagem \emph{tex}, a formação das listas a serem inseridas na chamada a \lstinline+\printglossaries+;
\item \texttt{glg}: \emph{log} do \emph{glossaries}.
\end{enumerate}
\end{enumerate}
\chapter{REFERÊNCIA DE SÍMBOLOS \TeX{}} \label{chap:simbolos}
\section{LETRAS GREGAS}
\begin{multicols}{3}
\noindent
\(\alpha\) \lstinline+\alpha+\\
\(\beta\) \lstinline+\beta+\\
\(\gamma\) \lstinline+\gamma+\\
\(\delta\) \lstinline+\delta+\\
\(\epsilon\) \lstinline+\epsilon+\\
\(\varepsilon\) \lstinline+\varepsilon+\\
\(\zeta\) \lstinline+\zeta+\\
\(\eta\) \lstinline+\eta+\\
\(\theta\) \lstinline+\theta+\\
\(\vartheta\) \lstinline+\vartheta+\\
\(\iota\) \lstinline+\iota+\\
\(\kappa\) \lstinline+\kappa+\\
\(\lambda\) \lstinline+\lambda+\\
\(\mu\) \lstinline+\mu+\\
\(\nu\) \lstinline+\nu+\\
\(\xi\) \lstinline+\xi+\\
\(\o\) \lstinline+\o+\\
\(\pi\) \lstinline+\pi+\\
\(\varpi\) \lstinline+\varpi+\\
\(\rho\) \lstinline+\rho+\\
\(\Gamma\) \lstinline+\Gamma+\\
\(\Delta\) \lstinline+\Delta+\\
\(\Theta\) \lstinline+\Theta+\\
\(\Lambda\) \lstinline+\Lambda+\\
\(\Xi\) \lstinline+\Xi+\\
\(\Pi\) \lstinline+\Pi+\\
\(\Sigma\) \lstinline+\Sigma+\\
\(\Upsilon\) \lstinline+\Upsilon+\\
\(\varrho\) \lstinline+\varrho+\\
\(\sigma\) \lstinline+\sigma+\\
\(\varsigma\) \lstinline+\varsigma+\\
\(\tau\) \lstinline+\tau+\\
\(\upsilon\) \lstinline+\upsilon+\\
\(\phi\) \lstinline+\phi+\\
\(\varphi\) \lstinline+\varphi+\\
\(\chi\) \lstinline+\chi+\\
\(\psi\) \lstinline+\psi+\\
\(\omega\) \lstinline+\omega+\\
\(\Phi\) \lstinline+\Phi+\\
\(\Psi\) \lstinline+\Psi+\\
\(\Omega\) \lstinline+\Omega+\\
\end{multicols}
\section{SÍMBOLOS}
\begin{multicols}{3}
\noindent
\(\aleph\) \lstinline+\aleph+\\
\(\hbar\) \lstinline+\hbar+\\
\(\imath\) \lstinline+\imath+\\
\(\jmath\) \lstinline+\jmath+\\
\(\ell\) \lstinline+\ell+\\
\(\wp\) \lstinline+\wp+\\
\(\Re\) \lstinline+\Re+\\
\(\Im\) \lstinline+\Im+\\
\(\partial\) \lstinline+\partial+\\
\(\infty\) \lstinline+\infty+\\
\(\prime\) \lstinline+\prime+\\
\(\emptyset\) \lstinline+\emptyset+\\
\(\nabla\) \lstinline+\nabla+\\
\(\surd\) \lstinline+\surd+\\
\(\top\) \lstinline+\top+\\
\(\bot\) \lstinline+\bot+\\
\(\|\) \lstinline+\|+\\
\(\angle\) \lstinline+\angle+\\
\(\triangle\) \lstinline+\triangle+\\
\(\backslash\) \lstinline+\backslash+\\
\(\forall\) \lstinline+\forall+\\
\(\exists\) \lstinline+\exists+\\
\(\lnot\) \lstinline+\neg+ ou \lstinline+\lnot+\\
\(\flat\) \lstinline+\flat+\\
\(\natural\) \lstinline+\natural+\\
\(\sharp\) \lstinline+\sharp+\\
\(\clubsuit\) \lstinline+\clubsuit+\\
\(\diamondsuit\) \lstinline+\diamondsuit+\\
\(\heartsuit\) \lstinline+\heartsuit+\\
\(\spadesuit\) \lstinline+\spadesuit+\\
\end{multicols}
\section{OPERADORES BINÁRIOS}
\begin{multicols}{3}
\noindent
\(\pm\) \lstinline+\pm+\\
\(\mp\) \lstinline+\mp+\\
\(\setminus\) \lstinline+\setminus+\\
\(\cdot\) \lstinline+\cdot+\\
\(\times\) \lstinline+\times+\\
\(\ast\) \lstinline+\ast+\\
\(\star\) \lstinline+\star+\\
\(\diamond\) \lstinline+\diamond+\\
\(\circ\) \lstinline+\circ+\\
\(\bullet\) \lstinline+\bullet+\\
\(\div\) \lstinline+\div+\\
\(\cap\) \lstinline+\cap+\\
\(\cup\) \lstinline+\cup+\\
\(\uplus\) \lstinline+\uplus+\\
\(\sqcap\) \lstinline+\sqcap+\\
\(\sqcup\) \lstinline+\sqcup+\\
\(\triangleleft\) \lstinline+\triangleleft+\\
\(\triangleright\) \lstinline+\triangleright+\\
\(\wr\) \lstinline+\wr+\\
\(\bigcirc\) \lstinline+\bigcirc+\\
\(\bigtriangleup\) \lstinline+\bigtriangleup+\\
\(\bigtriangledown\) \lstinline+\bigtriangledown+\\
\(\vee\) \lstinline+\vee+\\
\(\wedge\) \lstinline+\wedge+\\
\(\oplus\) \lstinline+\oplus+\\
\(\ominus\) \lstinline+\ominus+\\
\(\otimes\) \lstinline+\otimes+\\
\(\oslash\) \lstinline+\oslash+\\
\(\odot\) \lstinline+\odot+\\
\(\dagger\) \lstinline+\dagger+\\
\(\ddagger\) \lstinline+\ddagger+\\
\(\amalg\) \lstinline+\amalg+\\
\end{multicols}
\section{RELAÇÕES}
\begin{multicols}{3}
\noindent
\(\leq\) \lstinline+\leq+\\
\(\prec\) \lstinline+\prec+\\
\(\preceq\) \lstinline+\preceq+\\
\(\ll\) \lstinline+\ll+\\
\(\subset\) \lstinline+\subset+\\
\(\subseteq\) \lstinline+\subseteq+\\
\(\sqsubseteq\) \lstinline+\sqsubseteq+\\
\(\in\) \lstinline+\in+\\
\(\vdash\) \lstinline+\vdash+\\
\(\smile\) \lstinline+\smile+\\
\(\frown\) \lstinline+\frown+\\
\(\propto\) \lstinline+\propto+\\
\(\geq\) \lstinline+\geq+\\
\(\succ\) \lstinline+\succ+\\
\(\succeq\) \lstinline+\succeq+\\
\(\gg\) \lstinline+\gg+\\
\(\supset\) \lstinline+\supset+\\
\(\supseteq\) \lstinline+\supseteq+\\
\(\sqsupseteq\) \lstinline+\sqsupseteq+\\
\(\notin\) \lstinline+\notin+\\
\(\dashv\) \lstinline+\dashv+\\
\(\mid\) \lstinline+\mid+\\
%\(\parallet\) \lstinline++\\
\(\equiv\) \lstinline+\equiv+\\
\(\sim\) \lstinline+\sim+\\
\(\simeq\) \lstinline+\simeq+\\
\(\asymp\) \lstinline+\asymp+\\
\(\approx\) \lstinline+\approx+\\
\(\cong\) \lstinline+\cong+\\
\(\bowtie\) \lstinline+\bowtie+\\
\(\ni\) \lstinline+\ni+\\
\(\models\) \lstinline+\models+\\
\(\doteq\) \lstinline+\doteq+\\
\(\perp\) \lstinline+\perp+\\
\(\not\equiv\) \lstinline+\not\equiv+\\
\(\notin\) \lstinline+\notin+\\
\(\ne\) \lstinline+\ne+\\
\end{multicols}
\section{DELIMITADORES}
\begin{multicols}{3}
\noindent
\((\) \lstinline+(+\\
\()\) \lstinline+)+\\
\(\lbrack\) \lstinline+\lbrack+\\
\(\rbrack\) \lstinline+\rbrack+\\
\(\lbrace\) \lstinline+\lbrace+ ou \lstinline+\{+\\
\(\rbrace\) \lstinline+\rbrace+ ou \lstinline+\}+\\
\(\langle\) \lstinline+\langle+\\
\(\rangle\) \lstinline+\rangle+\\
\(\vert\) \lstinline+\vert+\\
\(\Vert\) \lstinline+\Vert+\\
\([\![\) \lstinline+[\![+\\
\(]\!]\) \lstinline+]\!]+\\
\(\lfloor\) \lstinline+\lfloor+\\
\(\rfloor\) \lstinline+\rfloor+\\
\((\!(\) \lstinline+(\!(+\\
\()\!)\) \lstinline+)\!)+\\
\(\lceil\) \lstinline+\lceil+\\
\(\rceil\) \lstinline+\rceil+\\
\(\langle\!\langle\) \lstinline+\langle\!\langle+\\
\(\rangle\!\rangle\) \lstinline+\rangle\!\rangle+\\
\end{multicols}
\section{SETAS}
\begin{multicols}{2}
\noindent
\(\leftarrow\) \lstinline+\leftarrow+\\
\(\longleftarrow\) \lstinline+\longleftarrow+\\
\(\Leftarrow\) \lstinline+\Leftarrow+\\
\(\Longleftarrow\) \lstinline+\Longleftarrow+\\
\(\rightarrow\) \lstinline+\rightarrow+\\
\(\longrightarrow\) \lstinline+\longrightarrow+\\
\(\Rightarrow\) \lstinline+\Rightarrow+\\
\(\Longrightarrow\) \lstinline+\Longrightarrow+\\
\(\leftrightarrow\) \lstinline+\leftrightarrow+\\
\(\longleftrightarrow\) \lstinline+\longleftrightarrow+\\
\(\Leftrightarrow\) \lstinline+\Leftrightarrow+\\
\(\Longleftrightarrow\) \lstinline+\Longleftrightarrow+\\
\(\mapsto\) \lstinline+\mapsto+\\
\(\longmapsto\) \lstinline+\longmapsto+\\
\(\hookleftarrow\) \lstinline+\hookleftarroq+\\
\(\hookrightarrow\) \lstinline+\hookrightarrow+\\
\(\uparrow\) \lstinline+\uparrow+\\
\(\Uparrow\) \lstinline+\Uparrow+\\
\(\downarrow\) \lstinline+\downarrow+\\
\(\Downarrow\) \lstinline+\Downarrow+\\
\(\updownarrow\) \lstinline+\updownarrow+\\
\(\Updownarrow\) \lstinline+\Updownarrow+\\
\(\nearrow\) \lstinline+\nearrow+\\
\(\searrow\) \lstinline+\searrow+\\
\(\nwarrow\) \lstinline+\nwarrow+\\
\(\swarrow\) \lstinline+\swarrow+\\
\end{multicols}
\printindex
\end{document}
%</driver>
% \fi
%<*class>
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{fei}[2017/09/26 4.1 Modelo da FEI]
% passa a opção do xindy pros pacotes que podem utilizá-lo
\DeclareOption{xindy}{
\PassOptionsToPackage{\CurrentOption}{imakeidx}
\PassOptionsToPackage{\CurrentOption}{glossaries}
}
%------------------------------------------------------------
\newif\ifglossaries
\glossariesfalse
% opção para configurar a lista de símbolos
\DeclareOption{symbols}{
\glossariestrue
\PassOptionsToPackage{\CurrentOption}{glossaries}
}
% opção para configurar a lista de abreviaturas
\DeclareOption{acronym}{
\glossariestrue
\PassOptionsToPackage{\CurrentOption}{glossaries}
}
% opção para criar sub-listas de símbolos
\newif\ifsublist
\sublistfalse
\DeclareOption{sublist}{\sublisttrue}
%------------------------------------------------------------
% opções rascunho e final controlam a exibição da folha
% de aprovação e ficha catalográfica
\newif\ifrascunho
\rascunhofalse
\DeclareOption{rascunho}{\rascunhotrue}
\newif\ifarial
\DeclareOption{arial}{\arialtrue}
\DeclareOption{times}{\arialfalse}
\newif\ifoneside
\DeclareOption{oneside}{\onesidetrue}
\DeclareOption{twoside}{\onesidefalse}
\DeclareOption{algo-as-figure}{\PassOptionsToPackage{figure}{algorithm2e}}%
% Assume that any unknown option will be understood by the base class:
% \DeclareOption*{%
% \ClassWarning{fei}{fei class doesn't recognize \CurrentOption. Passing it to memoir.}
% \PassOptionsToClass{\CurrentOption}{memoir}%
% }
% https://tex.stackexchange.com/questions/229355/algorithm-algorithmic-algorithmicx-algorithm2e-algpseudocode-confused
\PassOptionsToClass{a4paper}{memoir}
% processa opções-padrão
% oneside é padrão na classe da FEI, apesar de twoside ser padrão na classe base, memoir
\ExecuteOptions{oneside,times}
\ProcessOptions\relax % processa todas as opções
% depois de muitos erros tentando passar opções para a classe após carregá-la, a solução encontrada foi carregá-la com todas as opções de uma vez
\ifoneside
\LoadClass[oneside]{memoir}
\else
\LoadClass{memoir}
\fi
\RequirePackage[utf8]{inputenc}
% carrega idiomas e caracteres de saída de 8 bits
\RequirePackage[T1]{fontenc}
\RequirePackage[english,brazil]{babel}
\RequirePackage{csquotes}
\renewcommand{\normalsize}{\fontsize{12pt}{14.4pt}\selectfont} % fonte do texto
\renewcommand{\footnotesize}{\fontsize{10pt}{12pt}\selectfont} % fonte das notas de rodapé
% corrige margens usando comandos da classe memoir
\setlrmarginsandblock{30mm}{20mm}{*}
\setulmarginsandblock{30mm}{20mm}{*}
\checkandfixthelayout
\linespread{1.25} % espaçamento entre linhas
\setlength{\parindent}{1.25cm} % recuo do paragrafo
% cabecalho e rodape
% \makepagestyle limpa a formatação do cabeçalho e rodapé
% os nomes usados foram retirados do manual da classe memoir
\makepagestyle{title} % pagina de titulo
\makepagestyle{plain} % estilo padrão
\makeevenhead{plain}{\footnotesize\thepage}{}{}
\makeoddhead{plain}{}{}{\footnotesize\thepage}
\setlength{\headheight}{14.4pt} % remove warning do memoir
\RequirePackage[font={singlespacing},format=hang, justification=raggedright,labelsep=endash,singlelinecheck=false]{caption} % fontes das legendas
\selectlanguage{brazil} % idioma do documento
% linhas orfas e viuvas (verificar o limite)
\widowpenalty=10000
\clubpenalty=10000
% outros pacotes
\RequirePackage{mathtools} % matematica
\RequirePackage{lmodern} % Latin Modern, fontes tipográficas mais recentes que as do Knuth (Computer Modern)
\RequirePackage{icomma} % vírgula como separador decimal
\ifarial
\usepackage[scaled]{uarial}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif
\else
\RequirePackage{times} % usar fonte times no texto todo
\fi
\RequirePackage{graphicx} % figuras
\RequirePackage{morewrites} % permite ao LaTeX escrever em mais de 16 arquivos auxiliares simultaneamente
% pacote de algoritmos e tradução dos comandos
\RequirePackage[plain,portuguese,algochapter,linesnumbered,inoutnumbered]{algorithm2e}
\SetKwInput{Entrada}{Entrada}
\SetKwInput{Saida}{Sa\'ida}
\SetKwInput{Dados}{Dados}
\SetKwInput{Resultado}{Resultado}
\SetKw{Ate}{at\'e}
\SetKw{Retorna}{retorna}
\SetKwBlock{Inicio}{in\'icio}{fim}
\SetKwIF{Se}{SenaoSe}{Senao}{se}{ent\~ao}{sen\~ao se}{sen\~ao}{fim se}
\SetKwSwitch{Selec}{Caso}{Outro}{selecione}{faça}{caso}{sen\~ao}{fim caso}{fim selec}
\SetKwFor{Para}{para}{fa\c{c}a}{fim para}
\SetKwFor{ParaPar}{para}{fa\c{c}a em paralelo}{fim para}
\SetKwFor{ParaCada}{para cada}{fa\c{c}a}{fim para cada}
\SetKwFor{ParaTodo}{para todo}{fa\c{c}a}{fim para todo}
\SetKwFor{Enqto}{enquanto}{fa\c{c}a}{fim enqto}
\SetKwRepeat{Repita}{repita}{at\'e}
%outras opções do pacote de algoritmos
\renewcommand{\@algocf@capt@plain}{above} % legenda acima
\SetAlgoCaptionSeparator{ --} % separador da legenda
\SetAlCapSty{} % estilo da primeira parte da legenda (remove negrito padrão)
\SetAlCapFnt{\normalsize} % fonte da primeira parte da legenda
% --------------------------------------------------------
% trecho feito com ajuda do seguinte link
% http://tex.stackexchange.com/questions/335624/add-en-dash-after-numbering-in-list-of-algorithms
% lista de algoritmos formatada como lista de figuras
% usado para que a lista de algoritmos herde os comandos típicos para formatação da LoF
\let\l@algocf\l@figure
% redefine lista de algoritmos
\let\oldlistofalgorithms\listofalgorithms
\renewcommand{\listofalgorithms}{{%
\setlength{\cftfigurenumwidth}{6.2em} % espaço onde a palavra "Algoritmo" é escrita
\renewcommand{\cftfigurepresnum}{Algoritmo } % escrita que precede cada entrada na lista
\renewcommand{\cftfigureaftersnum}{\hfill--\hfill} % traço na frente da escrita que precede as entradas na lista
\part*{\listalgorithmcfname}\pagestyle{empty}\@starttoc{loa}\cleardoublepage % titulo com formato padrão de todas as listas
}}
% --------------------------------------------------------
% teoremas
\RequirePackage{amsthm,thmtools}
\renewcommand{\listtheoremname}{Lista de Teoremas} % traduz nome da lista de teoremas
\declaretheoremstyle[
spaceabove=6pt, spacebelow=6pt,
headfont=\normalfont\bfseries,
notefont=\normalfont\bfseries, notebraces={-- }{},
bodyfont=\normalfont,
postheadspace=1em
% qed=\qedsymbol
]{feistyle}
% declaração dos principais tipos de teoremas que o usuário pode querer vir a usar
\declaretheorem[style=feistyle,name=Axioma]{axioma}
\declaretheorem[style=feistyle,name=Teorema]{teorema}
\declaretheorem[style=feistyle,name=Lema]{lema}
\declaretheorem[style=feistyle,name=Hip\'otese]{hipotese}
\declaretheorem[style=feistyle,name=Proposi\c{c}\~ao]{proposicao}
\declaretheorem[style=feistyle,name=Conjectura]{conjectura}
\declaretheorem[style=feistyle,name=Paradoxo]{paradoxo}
\declaretheorem[style=feistyle,name=Corol\'ario]{corolario}
\declaretheorem[style=feistyle,name=Defini\c{c}\~ao]{definicao}
\declaretheorem[style=feistyle,name=Exemplo]{exemplo}
\declaretheorem[style=remark,name=Demonstra\c{c}\~ao,qed=\qedsymbol,numbered=no]{prova}
% contadores de floats serão contínuos
\usepackage{chngcntr}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\counterwithout{algocf}{chapter}
\counterwithout{equation}{chapter}
% configuracao da legenda da figura
\renewcommand{\figurename}{\fontsize{10pt}{10pt}\selectfont Figura}
\renewcommand{\tablename}{\fontsize{10pt}{10pt}\selectfont Tabela}
% alíneas
\RequirePackage{enumitem}
\setlist[1]{align=left,leftmargin=2.25cm,labelsep=0.5em,label={\alph*)},ref=\theenumi}
\setlist[2]{align=left,labelwidth=*,labelsep=0.5em,label={--},ref=\theenumii}
% comando de memoir para remover o espaço vertical entre itens
\tightlists
% troca o itemize pelo enumerate (seguindo o manual da biblioteca)
\renewenvironment{itemize}{\begin{enumerate}}{\end{enumerate}}
\renewcommand{\floatpagefraction}{.8} % página terá apenas floats se o float ocupar pelo menos 80% da página
% divisoes do texto, formata o título de páginas como resumo, abstract, agradecimentos etc.
\renewcommand{\part}{%
\@startsection{part}{-1}{0pt}{\baselineskip}{\baselineskip}{\cleardoublepage\fontsize{12pt}{14.4pt}\centering\bfseries\MakeUppercase}}
% não há recuo no título de nenhum nível de nenhuma seção
% títulos dos capítulos são em negrito, maiúsculo e com distâncias de 1,5 cm do parágrafo que o sucede
\renewcommand{\chapter}{\cleardoublepage\pagestyle{plain}%
\@startsection{chapter}{0}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\bfseries\MakeUppercase}}
% demais níveis de seção possuem distância de 1,5 linhas do parágrafo sucessor e predecessor
\renewcommand{\section}{%
\@startsection{section}{1}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\MakeUppercase}}
\renewcommand{\subsection}{%
\@startsection{subsection}{2}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\bfseries}}
\renewcommand{\subsubsection}{%
\@startsection{subsubsection}{3}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\bfseries\itshape}}
\renewcommand{\paragraph}{%
\@startsection{paragraph}{4}{0pt}{\baselineskip}{\baselineskip}{\fontsize{12pt}{14.4pt}\itshape}}
\setcounter{secnumdepth}{4} % numerar divisões até o quarto nível (paragraph)
\setcounter{tocdepth}{4} % incluir divisões no sumário até o quarto nível (paragraph)
% remover recuo de todas as entradas no sumário
\renewcommand{\cftchapterindent}{0pt}
\renewcommand{\cftsectionindent}{0pt}
\renewcommand{\cftsubsectionindent}{0pt}
\renewcommand{\cftsubsubsectionindent}{0pt}
\renewcommand{\cftparagraphindent}{0pt}
% espaçamento igual para a numeração de todos os níveis, causando alinhamento proposital
\renewcommand{\cftchapternumwidth}{4em}
\renewcommand{\cftsectionnumwidth}{4em}
\renewcommand{\cftsubsectionnumwidth}{4em}
\renewcommand{\cftsubsubsectionnumwidth}{4em}
\renewcommand{\cftparagraphnumwidth}{4em}
\renewcommand{\cftbeforechapterskip}{0pt} % remove recuo antes de entradas de capítulos no sumário
% formatação dos títulos de seções. perceba que não há suporte para títulos com letras maiúsculas
%\renewcommand{\cftchapnumwidth}{\cftsubsubsecnumwidth}
\renewcommand{\cftchapterfont}{\bfseries} % coloca o titulo de capítulos em negrito
% \renewcommand{\cftsectionfont}{} % titulo de seções deve ser maiusculo, mas não funciona
\renewcommand{\cftsubsectionfont}{\bfseries} % coloca o titulo das secoes em negrito
\renewcommand{\cftsubsubsectionfont}{\bfseries\itshape} % coloca o titulo das secoes em negrito
\renewcommand{\cftparagraphfont}{\itshape} % coloca o titulo das secoes em negrito
\renewcommand{\cftpartleader}{\cftdotfill{\cftdotsep}} % pontos no sumário para partes
\renewcommand{\cftchapterleader}{\cftdotfill{\cftdotsep}} % pontos no sumário para capítulos
\renewcommand{\cftchapterpagefont}{} % o número da página dos capítulos não é em negrito
\setlength{\cftfigurenumwidth}{7.2em} % espaço onde a palavra "Ilustração" é escrita
\setlength{\cfttablenumwidth}{5.7em} % espaço onde a palavra "Tabela" é escrita
\renewcommand{\cftfigurepresnum}{Ilustra\c{c}\~ao } % escrita que precede cada entrada na lista de ilustrações
\renewcommand{\cfttablepresnum}{Tabela } % escrita que precede cada entrada na lista de tabelas
\renewcommand{\cftfigureaftersnum}{\hfill--\hfill} % traço na frente da escrita que precede as entradas na lista de ilustrações
\renewcommand{\cfttableaftersnum}{\hfill--\hfill} % traço na frente da escrita que precede as entradas na lista de tabelas
% o código para a remoção da numeração das páginas do sumários e das listas em
% geral foi retirado daqui:
% https://tex.stackexchange.com/questions/129608/page-numbering-problem/129614#129614
% redefine sumário e listas de figuras e tabelas, removendo numeração das
% páginas e adicionando os títulos certos das páginas
\renewcommand{\tableofcontents}{\part*{\contentsname}\pagestyle{empty}\@starttoc{toc}\cleardoublepage}
\renewcommand{\listoftables}{\part*{\listtablename}\pagestyle{empty}\@starttoc{lot}\cleardoublepage}
\renewcommand{\listoffigures}{\part*{\listfigurename}\pagestyle{empty}\@starttoc{lof}\cleardoublepage}
% redefinindo listas de algoritmos e teoremas para formatar os títulos das
% páginas e adicionar 'algoritmo' e 'teorema' antes dos números de cada entrada
% das listas
\renewcommand{\listoftheorems}{\begingroup%
\let\oldnumberline\numberline%
\renewcommand{\numberline}{Teorema~\oldnumberline}%
\part*{\listtheoremname}\thispagestyle{empty}\@starttoc{loe}\cleardoublepage\endgroup}
\def\and{\\} % modifica função do comando \and para ele ser usado na declaração de múltiplos autores
% novas paginas
% capa
\renewcommand{\maketitle}{%
\pagestyle{empty}%
\begin{center}%
\MakeUppercase{\@instituicao}\\[0.5em]%
\uppercase\expandafter{\@author}%
\vfill%
\textbf{\MakeUppercase{\@title}}\ifthenelse{\isundefined{\@subtitulo}}{}{: \@subtitulo}%
\vfill%
\@cidade\\[0.5em]%
\number\year%
\end{center}%
\cleardoublepage
}
% folha de rosto
\newenvironment{folhaderosto}{
\setcounter{page}{1}
\thispagestyle{empty}
\begin{center}
\uppercase\expandafter{\@author}\\
\vspace*{0.45\textheight}
\textbf{\MakeUppercase{\@title}}\ifthenelse{\isundefined{\@subtitulo}}{}{: \@subtitulo}
\vfill
\begin{flushright}
\begin{minipage}{0.55\textwidth}}{\end{minipage}{}
\end{flushright}
\vfill
\@cidade\\[0.5em]
\number\year
\end{center}%
\clearpage
}
% folha de aprovação: procura o arquivo *ata.pdf* e inclui no texto
% se a classe recebeu a opção rascunho, deixa um texto no lugar falando que pagina é essa
\RequirePackage{pdfpages}
\RequirePackage{ifthen}
\newcommand{\folhadeaprovacao}{
\ifrascunho
\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Folha de aprova\c{c}\~{a}o\end{Huge}\vfill\end{center}\cleardoublepage
\else
\includepdf{ata.pdf}\cleardoublepage
\fi
}
% ficha catalográfica: funciona da mesma forma da folha de aprovação, só que procura o arquivo *ficha.pdf*
\newcommand{\fichacatalografica}{
\if@twoside
\else
% se não for frente e verso, a ficha catalográfica não é contada no verso da folha de rosto
\addtocounter{page}{-1}
\fi
\ifrascunho
\thispagestyle{empty}\mbox{}\vfill\begin{center}\begin{Huge}Ficha catalogr\'{a}fica\end{Huge}\vfill\end{center}\cleardoublepage
\else
\includepdf{ficha.pdf}\cleardoublepage
\fi
}
% subtítulo
\newcommand{\subtitulo}[1]{\def\@subtitulo{#1}}
\newcommand{\smallcaption}[1]{\captionsetup{font=small}\caption*{#1}}
% cidade (padrão São Bernardo do Campo)
\def\@cidade{S\~ao Bernardo do Campo}
\newcommand{\cidade}[1]{\def\@cidade{#1}}
% instituicao (padrão Centro Universitário FEI)
\def\@instituicao{Centro Universit\'ario FEI}
\newcommand{\instituicao}[1]{\def\@instituicao{#1}}
% nome do orientador com respectivo título (ex Dr. ...)
\newcommand{\advisor}[1]{\def\@advisor{#1}}
% curso
\def\@curso{Coisa Nenhuma}
\newcommand{\curso}[1]{\def\@curso{#1}}
% dedicatória
\newcommand{\dedicatoria}[1]{
\cleardoublepage
\thispagestyle{empty}
\vspace*{\fill}
\begin{flushright}
\begin{minipage}[t][0.5\textheight][c]{0.5\textwidth}
#1
\end{minipage}
\end{flushright}
}
% epígrafe
\newcommand{\epigrafe}[2]{
\cleardoublepage
\thispagestyle{empty}
\vspace*{\fill}
\begin{flushright}
\begin{minipage}[t][0.5\textheight][c]{0.5\textwidth}
``{#1}''
\begin{flushright}
#2
\end{flushright}
\end{minipage}
\end{flushright}
}
% resumo
\newenvironment{resumo}{\part*{Resumo}\pagestyle{empty}}{\cleardoublepage\pagestyle{plain}\setlength{\parindent}{1.25cm}}
% abstract
\renewenvironment{abstract}{\selectlanguage{english}\part*{Abstract}\pagestyle{empty}\setlength{\parindent}{1.25cm}}{\cleardoublepage\pagestyle{plain}\selectlanguage{brazil}}
% agradecimentos
\newenvironment{agradecimentos}{\part*{Agradecimentos}\pagestyle{empty}}{\cleardoublepage\pagestyle{plain}}
% índice
\RequirePackage{imakeidx}
\renewcommand{\indexname}{\'Indice}
\let\oldmakeindex\makeindex
\let\oldprintindex\printindex
\renewcommand{\makeindex}{\oldmakeindex[title=\noindent\hfill\'INDICE\hfill\mbox{}]}
\renewcommand{\printindex}{\addcontentsline{toc}{chapter}{\hspace{\cftchapternumwidth}\'INDICE}%
\renewcommand{\chapter}{%
\@startsection{chapter}{0}{0pt}{0pt}{1.5cm}{\clearpage\fontsize{12pt}{14.4pt}\bfseries\MakeUppercase}}%
\oldprintindex}%
% hyperlinks entre partes do documento
% deve ser o último a ser carregado, exceto pelo abntex2cite, simplesmente porque deu erro quando tentei
% funcionou posicionado antes do glossaries, possibilitando links das variaveis para lista de simbolos
\RequirePackage[pdftex,pdfborder={0 0 0},colorlinks={false}]{hyperref}
% pacote para gerar listas (símbolos, abreviaturas, etc)
\ifglossaries
\ifsublist
\RequirePackage[nomain,nonumberlist]{glossaries}
% estilo usado como base
\setglossarystyle{alttree}
% Configuracao de identacao do nivel 0 (titulos)
\glssetwidest[0]{}
% Configuracao de identacao do nivel 1 (a lista de simbolos em si)
\glssetwidest[1]{aaaaaaaaaaaa}
% remove número de página das listas de símbolos e abreviaturas (executado na primeira página)
\renewcommand*{\glossarypreamble}{\thispagestyle{empty}\pagestyle{empty}\vspace*{-2\baselineskip}}
\else
\RequirePackage[nomain,nonumberlist,nogroupskip]{glossaries}
\newglossarystyle{mylong}{%
\setglossarystyle{long}% base this style on the long style
\renewenvironment{theglossary}{%
\begin{longtable*}{lp{\glsdescwidth}}}%
{\end{longtable*}}%
}%
\setglossarystyle{mylong}
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\setlength\glsdescwidth{\linewidth}
% remove número de página das listas de símbolos e abreviaturas (executado na primeira página)
\renewcommand*{\glossarypreamble}{\thispagestyle{empty}\pagestyle{empty}}
\fi
% traduz alguns comandos próprios do glossaries
\addto\captionsbrazil{%
\renewcommand*{\acronymname}{\noindent\hfill Lista de Abreviaturas \hfill \mbox{}}%
\renewcommand*{\glssymbolsgroupname}{\noindent\hfill Lista de S\'imbolos \hfill \mbox{}}}
% redefine comandos do glossaries
% remove número de página das listas de símbolos e abreviaturas (executado nas demais páginas)
\renewcommand*{\glsclearpage}{\pagestyle{empty}}
% remove número de página das listas de símbolos e abreviaturas (executado na última página)
\renewcommand*{\glossarypostamble}{\pagestyle{empty}\cleardoublepage}
\fi
\addto\captionsbrazil{%
\renewcommand*{\listfigurename}{Lista de Ilustra\c{c}\~oes}%
\renewcommand*{\contentsname}{Sum\'ario}}%
\newcommand{\palavraschave}[1]{\mbox{}\\\noindent Palavras-chave: #1}% o resumo pede palavras chave no final
\newcommand{\keywords}[1]{\mbox{}\\\noindent Keywords: #1}% mesma coisa, mas pro abstract
% apendice novo
\renewcommand{\appendix}{%
\renewcommand{\chaptername}{\appendixname}%
\setcounter{chapter}{0}% zera o contador do capítulo
\renewcommand{\thechapter}{\Alph{chapter}}% deixa o contador do capítulo em alfabético
\renewcommand{\chapter}[1]{% redefine o comando do capítulo
\stepcounter{chapter}% soma 1 ao contador do capítulo
\cleardoublepage\phantomsection\thispagestyle{empty}\mbox{}\vfill\begin{center}\MakeUppercase{\textbf{AP\^ENDICE \thechapter\ --} ##1}\end{center}\vfill% adiciona uma folha com a letra e título do apêndice
\addcontentsline{toc}{chapter}{\hspace{\cftchapternumwidth}AP\^ENDICE \Alph{chapter} -- ##1}%
\newpage%
}%
}%
% anexo (funciona da mesma forma do apendice, soh alterando os nomes)
\newcommand{\anexos}{%
\renewcommand{\chaptername}{Anexo}%
\setcounter{chapter}{0}%
\renewcommand{\thechapter}{\Alph{chapter}}%
\renewcommand{\chapter}[1]{%
\stepcounter{chapter}%
\cleardoublepage\phantomsection\thispagestyle{empty}\mbox{}\vfill\begin{center}\MakeUppercase{\textbf{ANEXO \thechapter\ --} ##1}\end{center}\vfill%
\phantomsection%
\addcontentsline{toc}{chapter}{\hspace{\cftchapternumwidth}ANEXO \Alph{chapter} -- ##1}%
\newpage%
}%
}%
% referências e citações
%abnTeX alfabético com títulos das publicações em negrito nas referências (como no modelo antigo da ABNT)
\RequirePackage[backend=biber, safeinputenc=true, uniquelist=false, isbn=false, doi=false, style=abnt, extrayear]{biblatex}
\setlength{\bibitemsep}{1.0\baselineskip}
\DefineBibliographyStrings{brazil}{%
bibliography = {REFER\^ENCIAS}
}
\newcommand{\citeonline}[1]{\textcite{#1}}
% bibliografia alinhada à esquerda
% não é mais necessário na versão 3.1 do biblatex-abnt
% \renewcommand*{\bibfont}{\raggedright}
\defbibheading{bibliography}[\bibname]{%
\clearpage\phantomsection\addcontentsline{toc}{chapter}{\bfseries\hspace{\cftchapternumwidth}REFER\^ENCIAS}% adiciona o titulo ao sumario
\part*{REFER\^ENCIAS}
\urlstyle{same}% URLs nas referências devem ter a mesma fonte do texto
}
\newcommand*{\citefloat}[1]{\citeauthor*{#1}, \citeyear*{#1}}
% modifica ambiente quote para citações de um parágrafo com mais de 3 linhas
\renewenvironment{quote}
{\begin{SingleSpace}\list{}{%
\fontsize{10pt}{1em}%
\leftmargin=4cm}%
\item\relax\ignorespaces}
{\endlist\end{SingleSpace}}
% quotation é igual a quote, porém para citações com mais de um parágrafo.
\renewenvironment{quotation}
{\begin{SingleSpace}\list{}{%
\fontsize{10pt}{1em}%
\leftmargin=2cm \rightmargin=2cm%
\listparindent .5cm \itemindent}%
\item\relax}
{\endlist\end{SingleSpace}}
%</class>
|