summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/mathtools/empheq.dtx25
-rw-r--r--macros/latex/contrib/mathtools/empheq.ins94
-rw-r--r--macros/latex/contrib/mathtools/empheq.pdfbin330685 -> 423075 bytes
-rw-r--r--macros/latex/contrib/mathtools/mathtools.dtx33
-rw-r--r--macros/latex/contrib/mathtools/mathtools.ins2
-rw-r--r--macros/latex/contrib/mathtools/mathtools.pdfbin506537 -> 506537 bytes
-rw-r--r--macros/latex/contrib/mathtools/mhsetup.pdfbin256933 -> 256933 bytes
-rw-r--r--macros/latex/contrib/unbtex/README.md72
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.pdfbin592915 -> 808668 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example.tex94
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex118
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex23
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex31
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex117
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/apendice-c.tex12
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex7
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex74
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex88
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex95
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex1
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m6
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py8
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.pngbin19971 -> 0 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdfbin42602 -> 0 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdfbin1356 -> 0 bytes
-rw-r--r--macros/latex/contrib/unbtex/unbtex-example/referencias.bib46
-rw-r--r--macros/latex/contrib/unbtex/unbtex.cls727
-rw-r--r--macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst55
-rw-r--r--macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst42
-rw-r--r--macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst50
-rw-r--r--macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst48
-rw-r--r--macros/latex/contrib/unbtex/unbtexcover/capa.pdf54
-rw-r--r--macros/latex/contrib/unbtex/unbtexcover/contracapa.pdfbin0 -> 2746 bytes
-rw-r--r--macros/latex/contrib/updatemarks/doc/updatemarks.pdfbin511281 -> 511659 bytes
-rw-r--r--macros/latex/contrib/updatemarks/doc/updatemarks.tex5
-rw-r--r--macros/latex/contrib/updatemarks/tex/updatemarks.sty17
-rw-r--r--macros/luatex/latex/letgut/README.md2
-rw-r--r--macros/luatex/latex/letgut/doc/letgut-banner-code.pdfbin142998 -> 145371 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut-code.pdfbin786619 -> 792689 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut.pdfbin388091 -> 387550 bytes
-rw-r--r--macros/luatex/latex/letgut/doc/letgut.tex79
-rw-r--r--macros/luatex/latex/letgut/source/letgut-banner.org297
-rw-r--r--macros/luatex/latex/letgut/source/letgut.org573
-rw-r--r--macros/unicodetex/latex/bithesis/README.md3
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.dtx490
-rw-r--r--macros/unicodetex/latex/bithesis/bithesis.pdfbin753551 -> 773134 bytes
46 files changed, 2036 insertions, 1352 deletions
diff --git a/macros/latex/contrib/mathtools/empheq.dtx b/macros/latex/contrib/mathtools/empheq.dtx
index c0ecdec027..9e57dd0772 100644
--- a/macros/latex/contrib/mathtools/empheq.dtx
+++ b/macros/latex/contrib/mathtools/empheq.dtx
@@ -69,7 +69,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: empheq 2020/03/24 v2.16 empheq}
+\Msg{* Package: empheq 2024/08/09 v2.17 empheq}
\Msg{************************************************************************}
\keepsilent
@@ -133,13 +133,18 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{empheq.drv}%
- [2020/03/24 v2.16 Emphasizing equations]
+ [2024/08/09 v2.17 Emphasizing equations]
\documentclass{ltxdoc}
\usepackage{mathpazo}
\usepackage[overload]{empheq}
-\usepackage{xcolor,varioref,booktabs,fancybox}
+\usepackage{xcolor,varioref,booktabs,fancybox,iftex}
\usepackage[overload]{textcase}
+\iftutex\else
+ \usepackage[T1]{fontenc}
+\fi
+
+
\pagestyle{headings}
\hyphenation{emph-eq}
\makeatletter
@@ -338,6 +343,7 @@ and the derived files
\end{document}
%</driver>
% \fi
+% \changes{v2.17}{2024/08/09}{Fixed typo in manual}
% \changes{v2.16}{2020/03/24}{fixed several bugs related to amsart/-book}
% \changes{v2.15}{2017/03/31}{Fixed a bug in relation to the AMS
% classes and completed prefixing macros belonging to \pkg{mhsetup}
@@ -376,7 +382,7 @@ and the derived files
% release}
%
% \GetFileInfo{empheq.drv}
-% \CheckSum{2495}
+% \CheckSum{2635}
%
% \title{The \pkg{empheq} package\thanks{This file has version number
% \fileversion, last revised \filedate.}\\
@@ -1498,8 +1504,8 @@ and the derived files
% \begin{codesyntax}
% \cs{newenvironment}
% \marg{env_name} \oarg{num} \oarg{default}\\
-% \texttt{~~}\arg{\meta{other commands} \cs{EmpheqMainEnv}}\\
-% \texttt{~~}\arg{\cs{endEmpheqMainEnv}}
+% \texttt{~~}\arg{\meta{other commands} \cs{EmphEqMainEnv}}\\
+% \texttt{~~}\arg{\cs{endEmphEqMainEnv}}
% \end{codesyntax}
% In the above environment the \meta{other commands} part must
% contain certain things before it'll work.
@@ -1753,7 +1759,7 @@ and the derived files
% \begin{macrocode}
%<*package>
\ProvidesPackage{empheq}%
- [2017/03/31 v2.15 Emphasizing equations]
+ [2024/08/09 v2.17 Emphasizing equations]
% \end{macrocode}
% \changes{v2.15}{2017/03/31}{Bumped required mhsetup release}
% \begin{macrocode}
@@ -2939,7 +2945,8 @@ and the derived files
% \end{macrocode}
% \end{environment}
% We make a choice here: the good \env{multline} or the bad?
-% \refstepcounter{CodelineNo}\label{goodandbad}\addtocounter{CodelineNo}{-1}
+% ^^A daleif 2024/10/07: the line below fails
+% ^^A \stepcounter{CodelineNo}\label{goodandbad}\addtocounter{CodelineNo}{-1}
% \begin{macrocode}
\MH_if_boolean:nTF {good_mult}{
% \end{macrocode}
@@ -4559,5 +4566,5 @@ and the derived files
% \begin{macrocode}
%</package>
% \end{macrocode}
-% Finale
+% \Finale
\endinput
diff --git a/macros/latex/contrib/mathtools/empheq.ins b/macros/latex/contrib/mathtools/empheq.ins
new file mode 100644
index 0000000000..ef9caae566
--- /dev/null
+++ b/macros/latex/contrib/mathtools/empheq.ins
@@ -0,0 +1,94 @@
+%%
+%% This is file `empheq.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% empheq.dtx (with options: `install')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2002-2007 by Morten Hoegholm
+%% Copyright (C) 2012-2019 by Lars Madsen
+%% Copyright (C) 2020- by Lars Madsen, The LaTeX3 Project
+%%
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is
+%% Lars Madsen, The LaTeX3 Project
+%%
+%% This work consists of the main source file empheq.dtx
+%% and the derived files
+%% empheq.sty, empheq.pdf, empheq.ins, empheq.drv.
+%%
+\input docstrip.tex
+\Msg{************************************************************************}
+\Msg{* Installation}
+\Msg{* Package: empheq 2024/08/09 v2.17 empheq}
+\Msg{************************************************************************}
+
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+This is a generated file.
+
+Copyright (C) 2002-2007 by Morten Hoegholm
+Copyright (C) 2012-2019 by Lars Madsen
+Copyright (C) 2020- by Lars Madsen, The LaTeX3 Project
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3 of this license or (at your option) any later
+version. The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+This Current Maintainer of this work is
+Lars Madsen, The LaTeX3 Project
+
+This work consists of the main source file empheq.dtx
+and the derived files
+ empheq.sty, empheq.pdf, empheq.ins, empheq.drv.
+
+\endpreamble
+
+\generate{%
+ \file{empheq.ins}{\from{empheq.dtx}{install}}%
+ \file{empheq.drv}{\from{empheq.dtx}{driver}}%
+ \usedir{tex/latex/mh}%
+ \file{empheq.sty}{\from{empheq.dtx}{package}}%
+}
+
+\obeyspaces
+\Msg{************************************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* empheq.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file `empheq.drv'}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*}
+\Msg{************************************************************************}
+
+\endbatchfile
+\endinput
+%%
+%% End of file `empheq.ins'.
diff --git a/macros/latex/contrib/mathtools/empheq.pdf b/macros/latex/contrib/mathtools/empheq.pdf
index e3e75f26f8..8f7a954306 100644
--- a/macros/latex/contrib/mathtools/empheq.pdf
+++ b/macros/latex/contrib/mathtools/empheq.pdf
Binary files differ
diff --git a/macros/latex/contrib/mathtools/mathtools.dtx b/macros/latex/contrib/mathtools/mathtools.dtx
index db726b51b5..2e3b50d7c6 100644
--- a/macros/latex/contrib/mathtools/mathtools.dtx
+++ b/macros/latex/contrib/mathtools/mathtools.dtx
@@ -69,7 +69,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: mathtools 2024/03/11 v1.30}
+\Msg{* Package: mathtools 2024/10/04 v1.31}
\Msg{************************************************************************}
\keepsilent
@@ -133,7 +133,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{mathtools.drv}%
- [2024/03/11 v1.30 mathematical typesetting tools]
+ [2024/10/04 v1.31 mathematical typesetting tools]
\documentclass{ltxdoc}
\IfFileExists{fourier.sty}{\usepackage{fourier}}{}
@@ -333,7 +333,7 @@ colorlinks,
%
% \GetFileInfo{mathtools.drv}
%
-% \CheckSum{3772}
+% \CheckSum{3775}
%
% \title{The \pkg{mathtools} package\thanks{This file has version number
% \fileversion, last revised \filedate.}}
@@ -3138,7 +3138,7 @@ colorlinks,
% \begin{macrocode}
%<*package>
\ProvidesPackage{mathtools}%
- [2024/03/11 v1.30 mathematical typesetting tools]
+ [2024/10/04 v1.31 mathematical typesetting tools]
% \end{macrocode}
% \changes{v1.10}{2011/02/12}{Might as well make sure that we need the
% latest version of \texttt{mhsetup}}
@@ -6707,12 +6707,23 @@ colorlinks,
\MH_if_dim:w \lastskip>\z@
\skip@\lastskip\unskip
% \end{macrocode}
-% \changes{v1.15}{2014/07/16}{Added penalty workaround}
-% Here is the fix.
-% \changes{v1.19}{2017/03/31}{Added MH\_ prefix}
+% \changes{v1.15}{2014/07/16}{Added penalty workaround}
+% Here is the fix.
+% \changes{v1.19}{2017/03/31}{Added MH\_ prefix}
+% The code we inserted here in 2014, had a bug in it. The intent was
+% to move the penalty on to the other side of the italic correction.
+% But when we reinsert the penalty we only test if the scratch
+% counter is non-zero, so it may insert random penalties depending
+% on the non-zero value of \cs{count@}. Simple fix: initialise \cs{count@}.
+% \changes{v1.31}{2024/10/03}{Added missing counter initialisation, fixing issue \#62}
+% In chat David C. mentioned that \verb|\ifnum\lastnodetype=13| is a better
+% test than \verb|\ifnum\lastpenalty>\z@|. Just leaving this here for when we do the
+% Expl3 conversion.
% \begin{macrocode}
\MH_if_num:w \lastpenalty>\z@
\count@\lastpenalty\unpenalty
+ \MH_else:
+ \count@\z@
\MH_fi:
\@@italiccorr
% \end{macrocode}
@@ -6728,8 +6739,12 @@ colorlinks,
\@@italiccorr
\MH_fi:
\MH_fi:
- \MH_fi:
- $\MH_fi:
+% \end{macrocode}
+%
+% \changes{v1.31}{2024/10/03}{Also fixed typo here, the last two \cs{fi} comes from non-MH syntax}
+% \begin{macrocode}
+ \fi
+ $\fi
}
}
}
diff --git a/macros/latex/contrib/mathtools/mathtools.ins b/macros/latex/contrib/mathtools/mathtools.ins
index a8df08bca3..47b1bc3793 100644
--- a/macros/latex/contrib/mathtools/mathtools.ins
+++ b/macros/latex/contrib/mathtools/mathtools.ins
@@ -33,7 +33,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: mathtools 2024/03/11 v1.30}
+\Msg{* Package: mathtools 2024/10/04 v1.31}
\Msg{************************************************************************}
\keepsilent
diff --git a/macros/latex/contrib/mathtools/mathtools.pdf b/macros/latex/contrib/mathtools/mathtools.pdf
index 9921854b8b..cf81662f4f 100644
--- a/macros/latex/contrib/mathtools/mathtools.pdf
+++ b/macros/latex/contrib/mathtools/mathtools.pdf
Binary files differ
diff --git a/macros/latex/contrib/mathtools/mhsetup.pdf b/macros/latex/contrib/mathtools/mhsetup.pdf
index 2be52b31ab..2e384a5513 100644
--- a/macros/latex/contrib/mathtools/mhsetup.pdf
+++ b/macros/latex/contrib/mathtools/mhsetup.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md
index 0d0f2325fa..f723051c4a 100644
--- a/macros/latex/contrib/unbtex/README.md
+++ b/macros/latex/contrib/unbtex/README.md
@@ -1,6 +1,6 @@
# UnBTeX: A class for bachelor, master, and doctoral thesis at the
# University of Brasilia (UnB), Brazil.
-# Version 1.5.2 2024/07/04
+# Version 1.5.3 2024/10/07
Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
@@ -25,7 +25,6 @@ Here is a history of changes:
1.1 (2022-05-23):
. Changed \codigocutter to \numerocutter
. The argument of \preambulo command now admits a more general text
- . updated example
1.1.1 (2022-05-30):
. Changed abntex2 commands \orientador and \coorientador to do the
same as \orient and \coorient
@@ -84,37 +83,60 @@ Here is a history of changes:
1.4.2 (2023-12-15):
. Cross-references to the appendix and annex using the cref command
have been corrected
- . The lists of abbreviations and acronyms, as well as the list of symbols,
- have been enhanced, and page numbering has been removed
- . The example chapters have been reorganized
+ . The lists of abbreviations and acronyms, as well as the list of
+ symbols, have been enhanced, and page numbering has been removed
+ . The chapters of the example document have been reorganized
1.4.3 (2023-12-22):
- . Keywords in English have been included on the copyright page if the
- document is written in this language
+ . Keywords in English have been included on the copyright page if
+ the document is written in this language
. Examples of long tables and rotated tables have been included
1.4.4 (2024-01-05):
- . The pdfpages package has been used to include pages from PDF documents
- . The sans-serif font Helvetica (helvet package) has been replaced by the
- TeX Gyre Heros font (tgheros package)
+ . The pdfpages package has been used to include pages from PDF
+ documents
+ . The sans-serif font Helvetica (helvet package) has been replaced
+ by the TeX Gyre Heros font (tgheros package)
1.5 (2024-02-02):
- . ABNT style with a numeric citation scheme for bibliographic references
- has been included
- . Added an option to the UnBTeX class for selecting the citation style
- (author-year or numeric)
- . Added an option to the UnBTeX class for selecting the main language of
- the text (Brazilian Portuguese or English)
- . The font size of the title is automatically adjusted according to its
- length (and number of lines)
- . Reorganization of the class source code and improvements in the comments
+ . ABNT style with a numeric citation scheme for bibliographic
+ references has been included
+ . Added an option to the UnBTeX class for selecting the citation
+ style (author-year or numeric)
+ . Added an option to the UnBTeX class for selecting the main language
+ of the text (Brazilian Portuguese or English)
+ . The font size of the title is automatically adjusted according to
+ its length (and number of lines)
+ . Reorganization of the class source code and improvements in the
+ comments
. The template text has been revised and improved
1.5.1 (2024-03-02):
. The approval sheet (folha de aprovação) has been changed
- . The bottom margin size has been corrected to be consistently adhered to
+ . The bottom margin size has been corrected to be consistently
+ adhered to
1.5.2 (2024-07-04):
- . The length of the footnote separator line has been corrected according
- to ABNT standards
- . The left margin indentation of the citacao environment has been corrected
+ . The length of the footnote separator line has been corrected
according to ABNT standards
- . The left margin indentation of the references can be adjusted by the user
+ . The left margin indentation of the citacao environment has been
+ corrected according to ABNT standards
+ . The left margin indentation of the references can be adjusted by
+ the user
+ 1.5.3 (2024-10-07):
+ . A back cover has been added to the template
+ . Language options for the Babel package are now declared directly
+ in the UnBTeX class file
+ . Included the DOI (Digital Object Identifier) field in bibliography
+ entries
+ . An environment for including charts (quadros) has been created,
+ and the list of charts has been added.
+ . Included list of algorithms and list of codes
+ . The packages algpseudocode and algorithm have been replaced by
+ the algorithm2e package for including pseudocode
+ . The internal cross-referencing for tables created with the longtable
+ package has been corrected
+ . An option has been added to the UnBTeX class to select the numbering
+ style for figures, tables, etc., either by chapter or for the entire
+ document.
+ . The options article and twocolumn of the Memoir class have been
+ configured for use.
+ . The example document has been updated and reorganized
## Overleaf
@@ -128,7 +150,7 @@ of the LaTeX Project Public License, either version 1.3 of this license
or (at your option) any later version. The latest version of this
license is in:
-http://www.latex-project.org/lppl.txt
+https://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX version
2005/12/01 or later. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf
index 0b6493ed0b..611aa6c9b7 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.pdf
+++ b/macros/latex/contrib/unbtex/unbtex-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex
index 33872900a5..2f8c2f7e10 100644
--- a/macros/latex/contrib/unbtex/unbtex-example.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example.tex
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.2 2024/07/04
+%% Version 1.5.3 2024/10/07
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -9,7 +9,7 @@
%% or (at your option) any later version. The latest version of this
%% license is in:
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -20,7 +20,8 @@
\documentclass[
% -- Opção da classe memoir -- https://www.ctan.org/pkg/memoir
- oneside, % Caso queira imprimir em frente e verso, use twoside
+ oneside, % Para imprimir somente na frente da folha
+ %twoside, % Para imprimir na frente e no verso da folha
% -- Opção da classe abntex2 -- https://www.ctan.org/pkg/abntex2
sumario=tradicional, % Remova esta opção para sumário padrão ABNT
% -- Selecione o idioma no qual o trabalho será escrito
@@ -29,22 +30,17 @@
% -- Selecione o estilo das referências bibliográficas
bib=alf, % Bibliografia nas normas da ABNT, estilo autor-data
%bib=num, % Bibliografia nas normas da ABNT, estilo numérico
- % -- Opções de idiomas para pacotes utilizados -- Não alterar
- english, % Para hifenização de palavras em inglês
- brazil % Para hifenização de palavras em português
+ % -- Selecione o estilo de numeração de figuras, tabelas, etc.
+ numb=chap, % Numeração por capítulo
+ %numb=abnt, % Numeração para o documento inteiro
]{unbtex}
% ---
% Pacotes básicos (Adicione outros pacotes necessários para o seu trabalho)
% ---
-\usepackage{longtable} % Pacote para tabelas que ocupam mais de uma página
-\usepackage{rotating} % Pacote para girar tabelas (e outros objetos)
-% ---
-
-% ---
-% Compila o índice
-% ---
-\makeindex
+\usepackage{lscape} % Pacote para rotacionar tabelas (e outros objetos)
+%\usepackage{pdflscape} % Pacote para rotacionar objetos e também a página do arquivo pdf
+\usepackage{afterpage} % Evita quebra de página quando inserir uma tabela (ou outro objeto) rotacionada
% ---
% ---
@@ -100,7 +96,7 @@
% ---
% ---
-% Informações do trabalho
+% Informações do curso
% ---
\tipotrabalho{Trabalho de Conclusão de Curso} % Dissertação de Mestrado; Tese de Doutorado (em português, mesmo que o trabalho seja em inglês)
%\tipotrabalho{Tese de Doutorado}
@@ -129,8 +125,8 @@
% Local e data da defesa
% ---
\local{Brasília}
-\dia{4}
-\mes{julho}
+\dia{7}
+\mes{outubro}
\ano{2024}
% ---
@@ -163,21 +159,21 @@ Este documento exemplifica a elaboração de trabalho acadêmico (trabalho de co
% Resumo em inglês
% ---
\begin{Abstract}
-This is the english abstract.
+This document demonstrates the preparation of academic works (such as final papers, dissertations, and theses) using the UnB\TeX\ class, an extension of the \abnTeX\ class developed for the University of Brasília (UnB). In addition to introducing basic \LaTeX\ commands for the inclusion of equations, tables, and figures, the document shows how to utilize packages integrated with the UnB\TeX\ class to generate bibliographic references, lists of symbols, and formatted boxes for theorems and algorithms, among other essential or useful elements for academic writing. The goal is to simplify the use of the UnB\TeX\ class, enabling even users with minimal \LaTeX\ experience to produce visually high-quality academic documents.
\end{Abstract}
% ---
% ---
-% Palavras-chave (pelo menos três devem ser informadas)
+% Palavras-chave (defina no mínimo 3 e no máximo 5)
% ---
-\pchavei{Palavra chave 1}
-\kwordi{Keyword 1}
-\pchaveii{Palavra chave 2}
-\kwordii{Keyword 2}
-\pchaveiii{Palavra chave 3}
-\kwordiii{Keyword 3}
-\pchaveiv{Palavra chave 4} % Deixe vazio se não tiver
-\kwordiv{Keyword 4} % Deixe vazio se não tiver
+\pchavei{palavra-chave 1}
+\kwordi{keyword 1}
+\pchaveii{palavra-chave 2}
+\kwordii{keyword 2}
+\pchaveiii{palavra-chave 3}
+\kwordiii{keyword 3}
+\pchaveiv{palavra-chave 4} % Deixe vazio se não tiver
+\kwordiv{keyword 4} % Deixe vazio se não tiver
\pchavev{} % Deixe vazio se não tiver
\kwordv{} % Deixe vazio se não tiver
% ---
@@ -252,7 +248,7 @@ Dedicatória do segundo autor.
\pretextual
% ------------------------------------------------------------------------
-% Insere capa
+% Insere capa e contracapa
\imprimircapa
% Insere folha de rosto
@@ -274,36 +270,34 @@ Dedicatória do segundo autor.
\imprimirepigrafe
% Insere resumos
-\IfStrEq*{\idioma}{brazil}
-{\imprimirresumo
-\imprimirabstract}
-{\imprimirabstract
-\imprimirresumo}
+\imprimirresumos
-% Insere lista de ilustrações
-\pdfbookmark[0]{\listfigurename}{lof}
-\listoffigures*
-\cleardoublepage
+% Insere lista de figuras
+\imprimirlistadefiguras
+
+% Insere lista de quadros
+%\imprimirlistadequadros
% Insere lista de tabelas
-\pdfbookmark[0]{\listtablename}{lot}
-\listoftables*
-\cleardoublepage
+\imprimirlistadetabelas
+
+% Insere lista de algoritmos
+%\imprimirlistadealgoritmos
+
+% Insere lista de códigos
+%\imprimirlistadecodigos
-% Insere as listas de abreviaturas e siglas e de símbolos
-\PRIVATEbookmarkthis{\listadesiglasname}
-\printnomenclature
-\cleardoublepage
+% Insere a lista de abreviaturas e siglas e a lista de símbolos
+\imprimirlistadesiglasesimbolos
% Insere o sumário
-\pdfbookmark[0]{\contentsname}{toc}
-\tableofcontents*
-\cleardoublepage
+\imprimirsumario
% ------------------------------------------------------------------------
% ELEMENTOS TEXTUAIS
% ------------------------------------------------------------------------
-\textual
+\textualsimples % Cabeçalho com número da página e linha horizontal
+%\textual % Cabeçalho com número da página, título do capítulo/seção e linha horizontal
% ------------------------------------------------------------------------
% Imprime uma página para agrupar um conjunto de capítulos (parte)
@@ -350,6 +344,8 @@ Dedicatória do segundo autor.
\include{unbtex-example/apendice-b}
+\include{unbtex-example/apendice-c}
+
\end{apendicesenv}
% ---
@@ -363,8 +359,6 @@ Dedicatória do segundo autor.
\include{unbtex-example/anexo-a}
-\include{unbtex-example/anexo-b}
-
\end{anexosenv}
% ---
diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex
index 9314036b29..d04826a7b7 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex
@@ -1,104 +1,22 @@
% ----------------------------------------------------------
-\chapter{Tabelas longas e rotacionadas}\label{anx:tabs}
+\chapter{Paleta de cores da UnB}\label{anx:coresunb}
% ----------------------------------------------------------
-\begin{longtable}{L{2.5cm}C{2.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}}
-% Cabeçalho no início da tabela
-\caption{Tabela longa}
-\label{tab:dscf} \\
-\toprule
-\multirow{3}{*}{\bfseries Variable} &
-\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} &
-\multicolumn{6}{c}{\bfseries Proportions by Subtype (\%)} \\
-\cmidrule(lr){3-8}
-& &
-\multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} &
-\multicolumn{2}{c}{\bfseries Censored} \\
-\midrule
-\endfirsthead
-% Cabeçalho da continuação da tabela no topo da página seguinte
-\caption[]{Tabela longa (continuação)} \\ \toprule
-\multirow{3}{*}{\bfseries Variable} &
-\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} &
-\multicolumn{6}{c}{\bfseries Proportions by Subtypes (\%)} \\
-\cmidrule(lr){3-8}
-& &
-\multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} &
-\multicolumn{2}{c}{\bfseries Censored} \\
-\midrule
-\endhead
-\bottomrule
-\endlastfoot
-\bfseries Total & 100.0 & 50.1 & (45.8) & 7.5 & (14.9) & 42.4 & (39.3) \\
-\addlinespace
-\bfseries Gender \\
-Male & 52.4 & 49.6 & (44.3) & 8.7 & (17.3) & 41.7 & (38.5) \\
-Female & 47.6 & 50.7 & (48.0) & 6.2 & (11.5) & 43.1 & (40.5) \\
-\addlinespace
-\bfseries Race \\
-White & 40.3 & 59.8 & (58.7) & 3.0 & (4.6) & 37.2 & (36.7) \\
-Black & 32.4 & 38.7 & (32.5) & 13.1 & (26.3) & 48.2 & (41.2) \\
-Coloured & 13.0 & 49.8 & (44.5) & 7.4 & (16.1) & 42.8 & (39.5) \\
-Indian/Asian & 14.3 & 48.9 & (44.6) & 7.9 & (13.3) & 43.3 & (42.1) \\
-\addlinespace
-\bfseries Financial Aid \\
-Ineligible for Financial Aid & 82.3 & 52.1 & (48.7) & 5.5 & (10.6) & 42.4 & (40.7) \\
-Eligible for Financial Aid & 17.7 & 40.7 & (35.2) & 17.2 & (30.3) & 42.1 & (34.5) \\
-\addlinespace
-\bfseries Programme \\
-Mainstream & 76.9 & 55.4 & (51.3) & 5.7 & (10.8) & 38.9 & (37.9) \\
-Academic Development & 23.1 & 32.5 & (27.1) & 13.7 & (28.7) & 53.8 & (44.2) \\
-\addlinespace
-\bfseries English Home Language \\
-Yes & 69.3 & 55.1 & (52.8) & 4.9 & (8.6) & 39.9 & (38.6) \\
-No & 30.7 & 38.8 & (32.8) & 13.4 & (26.6) & 47.8 & (40.6) \\
-\addlinespace
-\bfseries School Quintile \\
-1 & 0.8 & 34.6 & (26.1) & 30.8 & (42.6) & 34.6 & (31.3) \\
-2 & 1.6 & 30.2 & (28.1) & 16.0 & (35.1) & 53.8 & (36.8) \\
-3 & 5.0 & 32.0 & (27.7) & 17.5 & (35.3) & 50.5 & (37.0) \\
-4 & 4.1 & 37.7 & (29.5) & 17.7 & (32.0) & 44.5 & (38.5) \\
-5 & 45.4 & 52.0 & (49.2) & 6.9 & (12.0) & 41.1 & (38.9) \\
-Independent & 43.1 & 52.5 & (50.4) & 5.3 & (8.6) & 42.2 & (41.0) \\
-\addlinespace
-{\bfseries Province} \\
-Western Cape & 40.0 & 55.1 & (51.3) &5.9 & (11.6) &39.0 & (37.0) \\
-Non-Western Cape & 59.9 & 46.8 & (41.9) & 8.6 & (17.2) & 44.6 & (41.0) \\
-\addlinespace
-{\bfseries Year of First Registration} \\
-{2006} & 11.6 & 87.8 & (79.9) & 11.3 & (18.9) & 0.9 & (1.2) \\
-{2007} & 11.9 & 88.2 & (79.4) & 10.1 & (19.2) & 1.7 & (1.4) \\
-{2008} & 12.6 & 87.1 & (76.7) & 10.3 & (20.3) & 2.6 & (3.0) \\
-{2009} & 11.9 & 80.9 & (64.9) & 9.7 & (24.9) & 9.4 & (10.2) \\
-{2010} & 11.1 & 62.6 & (57.5) & 6.4 & (12.7) & 31.1 & (29.8) \\
-{2011} & 11.7 & 15.8 & (15.3) & 7.2 & (12.8) & 77.0 & (71.9) \\
-{2012} & 14.1 & 0.0 & (0.0) & 5.4 & (7.5) & 94.6 & (92.5) \\
-{2013} & 15.1 & 0.0 & (0.0) & 1.7 & (3.0) & 98.3 & (97.0) \\
-\end{longtable}
+A paleta de cores da UnB, disponível na \cpageref{marcaunb.1} a seguir, foi extraída do \emph{manual de identidade visual}\footnote{Disponível em \url{http://marca.unb.br}} da Universidade.
-\begin{sidewaystable}
-\begin{center}%
-\small
-\caption{Tabela rotacionada}\label{tab:rot}
-\setlength\tabcolsep{3pt} % controla o espaço entre colunas
-\begin{tabular}{@{}L{1.1cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}@{}} % @{} elimina o espaço nas bordas laterais
-\toprule
-Sv,ieq & 000436xa & 000594xa & 001715xa & 001932ya & 006040ya & 006263xa & 007162ya & 007257ya & IT0605ya & IT0790xa & emiliaeo-retro & emilians-retro \\ \midrule
-0.4 & 2.447 & 2.177 & 2.304 & 4.921 & 4.298 & 2.121 & 3.928 & 3.478 & 3.462 & 1.751 & 0.875 & 0.525 \\
-0.8 & 4.894 & 4.354 & 4.609 & 9.843 & 8.597 & 4.241 & 7.857 & 6.957 & 6.924 & 3.502 & 1.750 & 1.049 \\
-1.2 & 7.341 & 6.530 & 6.913 & 14.764 & 12.895 & 6.362 & 11.785 & 10.435 & 10.386 & 5.252 & 2.625 & 1.574 \\
-1.6 & 9.789 & 8.707 & 9.218 & 19.686 & 17.194 & 8.482 & 15.713 & 13.914 & 13.848 & 7.003 & 3.500 & 2.099 \\
-2 & 12.236 & 10.884 & 11.522 & 24.607 & 21.492 & 10.603 & 19.642 & 17.392 & 17.310 & 8.754 & 4.375 & 2.624 \\
-2.4 & 14.683 & 13.061 & 13.827 & 29.529 & 25.791 & 12.723 & 23.570 & 20.871 & 20.772 & 10.505 & 5.250 & 3.148 \\
-2.8 & 17.130 & 15.237 & 16.131 & 34.450 & 30.089 & 14.844 & 27.498 & 24.349 & 24.234 & 12.256 & 6.125 & 3.673 \\
-3.2 & 19.577 & 17.414 & 18.435 & 39.372 & 34.388 & 16.965 & 31.427 & 27.828 & 27.697 & 14.006 & 7.000 & 4.198 \\
-3.6 & 22.024 & 19.591 & 20.740 & 44.293 & 38.686 & 19.085 & 35.355 & 31.306 & 31.159 & 15.757 & 7.875 & 4.723 \\
-4 & 24.471 & 21.768 & 23.044 & 49.215 & 42.984 & 21.206 & 39.283 & 34.784 & 34.621 & 17.508 & 8.750 & 5.247 \\
-4.4 & 26.919 & 23.945 & 25.349 & 54.136 & 47.283 & 23.326 & 43.212 & 38.263 & 38.083 & 19.259 & 9.625 & 5.772 \\
-4.8 & 29.366 & 26.121 & 27.653 & 59.058 & 51.581 & 25.447 & 47.140 & 41.741 & 41.545 & 21.009 & 10.500 & 6.297 \\
-5.2 & 31.813 & 28.298 & 29.957 & 63.979 & 55.880 & 27.567 & 51.068 & 45.220 & 45.007 & 22.760 & 11.375 & 6.821 \\
-5.6 & 34.260 & 30.475 & 32.262 & 68.900 & 60.178 & 29.688 & 54.996 & 48.698 & 48.469 & 24.511 & 12.250 & 7.346 \\
-6 & 36.707 & 32.652 & 34.566 & 73.822 & 64.477 & 31.809 & 58.925 & 52.177 & 51.931 & 26.262 & 13.125 & 7.871 \\ \bottomrule
-\end{tabular}
-\end{center}%
-\end{sidewaystable} \ No newline at end of file
+Note que, de acordo com a ABNT, a principal diferença entre anexo e apêndice é que os apêndices são textos criados pelo próprio autor para complementar sua argumentação, enquanto os anexos são documentos criados por terceiros, e usados pelo autor.
+
+\cleardoublepage
+
+\newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas
+
+\includepdf[
+ pages=-, % intervalo das páginas do arquivo pdf que serão incluídas
+ scale=1, % controla o tamanho da página inserida
+ pagecommand={\thispagestyle{plain} % imprime o número da página
+ \refstepcounter{includepdfpage} % conta a página incluída
+ \label{marcaunb.\theincludepdfpage} % marcaunb.n, n número da página
+ },
+ ]{unbtex-example/figuras/coresunb}
+
+\cleardoublepage \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex b/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
deleted file mode 100644
index d482ac0000..0000000000
--- a/macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex
+++ /dev/null
@@ -1,23 +0,0 @@
-% ----------------------------------------------------------
-\chapter{Paleta de cores UnB}\label{anx:coresunb}
-% ----------------------------------------------------------
-
-A \cpageref{marcaunb.1} foi extraída do \emph{manual de identidade visual}\footnote{Disponível em \url{http://marca.unb.br}} da UnB.
-
-\cleardoublepage
-
-\newcounter{includepdfpage} % para referenciar no texto páginas pdf incluídas
-\makepagestyle{simple}
-\makeevenhead{simple}{\footnotesize\thepage}{}{}
-\makeoddhead{simple}{}{}{\footnotesize\thepage}
-
-\includepdf[
- pages=-, % intervalo das páginas do arquivo pdf que serão incluídas
- scale=1, % controla o tamanho da página inserida
- pagecommand={\thispagestyle{simple} % imprime o número da página
- \refstepcounter{includepdfpage} % conta a página incluída
- \label{marcaunb.\theincludepdfpage} % marcaunb.n, n número da página
- },
- ]{unbtex-example/figuras/coresunb}
-
-\cleardoublepage \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex
index fd624444c0..c8de89cea3 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex
@@ -17,19 +17,38 @@ Considere, por exemplo, a entrada para referência do tipo manual (\texttt{@manu
author = {Peter Wilson and Lars Madsen},
organization = {The Herries Press},
title = {The Memoir Class for Configurable Typesetting -- User Guide},
- url = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
- urldate = {2024-01-25},
- year = {2024}},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
+ year = {2024}}
\end{verbatim}
Utilizando-se o comando \verb|\cite{memoir}| no arquivo \texttt{tex} correspondente a este parágrafo do \cref{apd:cit}, o resultado gerado é \cite{memoir}. Para o comando \verb|\citeonline{memoir}|, o resultado gerado é \citeonline{memoir}. Note que se o estilo de citação utilizado for o numérico, os comandos \verb|\cite| e \verb|\citeonline| geram o mesmo resultado, conforme mencionado na \cref{sec:referencias}.
Os comandos \verb|\citeauthoronline| e \verb|\citeyear|, tanto no estilo autor-ano como no estilo numérico, apresentam separadamente no texto o nome dos autores e o ano da publicação. Por exemplo, podemos escrever:
-\begin{mdframed}[style=plainSty] % verde
+\begin{mdframed}[style=plainSty,innertopmargin=8pt] % verde
Em \citeyear{memoir}, os autores \citeauthoronline{memoir} publicaram o manual da versão v3.8.2 do pacote \textsf{memoir}.
\end{mdframed}
-No arquivo \texttt{bib}, cada entrada de referência bibliográfica possuiu campos cujo preenchimento pode ser obrigatório ou opcional, a depender de seu tipo. No campo \texttt{author}, caso haja mais de um autor, seus nomes devem ser separados por \texttt{and}. Campos como \texttt{address}, \texttt{publisher} e \texttt{year} não preenchidos, podem gerar na lista de referências, respectivamente, as expressões abreviadas [\emph{S.l.}], [\emph{S.n.}] e [\emph{S.d.}] para indicar que são indeterminados. Recomenda-se o uso de programas gratuitos, como o JabRef\footnote{Disponível em: \url{https://www.jabref.org/}}, para auxiliar o preenchimento e gerenciamento de arquivos \texttt{bib}.
+No arquivo \texttt{bib}, cada entrada de referência bibliográfica possuiu campos cujo preenchimento pode ser obrigatório ou opcional, a depender de seu tipo. No campo \texttt{author}, caso haja mais de um autor, seus nomes devem ser separados por \texttt{and}. Campos como \texttt{address}, \texttt{publisher} e \texttt{year} não preenchidos, podem gerar na lista de referências, respectivamente, as expressões abreviadas [\emph{s.l.}], [\emph{s.n.}] e [\emph{s.d.}] para indicar que são indeterminados. Recomenda-se o uso de programas gratuitos, como o JabRef\footnote{Disponível em: \url{https://www.jabref.org/}}, para auxiliar o preenchimento e gerenciamento de arquivos \texttt{bib}.
-No arquivo \texttt{referencias.bib}, além da entrada para referência do tipo manual (como no exemplo dado), há também entradas para referências do tipo artigo de periódico \cite{greenwade93}, artigo de conferência \cite{martin1997}, livro \cite{schaum1956}, capítulo de livro \cite{bates2010}, monografia \cite{morgado1990}, dissertação de mestrado \cite{macedo2005}, tese de doutorado \cite{guizzardi2005}, relatório técnico \cite{KrueBansBierDaziRash20}, dentre outras. Muitos outros exemplos podem ser encontrados em \cite{abntex2cite}. \ No newline at end of file
+No arquivo \texttt{referencias.bib}, além da entrada para referência do tipo manual (como no exemplo dado), há também entradas para referências do tipo artigo de periódico \cite{greenwade93}, artigo de conferência \cite{martin1997}, livro \cite{schaum1956}, capítulo de livro \cite{bates2010}, monografia \cite{morgado1990}, dissertação de mestrado \cite{macedo2005}, tese de doutorado \cite{guizzardi2005}, relatório técnico \cite{KrueBansBierDaziRash20}, dentre outras. Muitos outros exemplos podem ser encontrados em \cite{abntex2cite}.
+
+Note que de acordo com as normas da ABNT, é obrigatório informar data para cada referência bibliográfica. Caso a data não seja identificada na referência, deve-se informar uma data aproximada entre colchetes, conforme situações ilustradas a seguir:
+
+\begin{alineas}
+ \item um ano ou outro: [2007 ou 2008]
+ \item data provável: [2008?]
+ \item data certa não indicada no item: [2008]
+ \item use intervalos menores de 20 anos: [entre 1999 e 2008]
+ \item data aproximada: [ca. 2000]
+ \item década certa: [200-]
+ \item década provável: [200-?]
+ \item século certo: [20--]
+ \item século provável: [20--?]
+\end{alineas}
+
+Em \citeonline{Metodista}, por exemplo, o ano provável é indicado por \citeyear{Metodista}. No arquivo \texttt{bib}, a entrada correspondente a esta referência tem o campo \texttt{year} declarado como
+\begin{verbatim}
+ year = {$\lbrack$2015?$\rbrack$}
+\end{verbatim}
+Para não ocorrer erro na compilação do documento, deve-se utilizar os comandos \verb|$\lbrack$| e \verb|$\rbrack$| para os colchetes ``['' e ``]'', respectivamente. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex b/macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex
index 1c86f09671..f357e74832 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex
@@ -1,12 +1,115 @@
% ----------------------------------------------------------
-\chapter{Códigos de programação}\label{apd:cdg}
+\chapter{Tabelas longas e rotacionadas}\label{apd:tabs}
% ----------------------------------------------------------
-\section{Projeto do Controlador com Realimentação de Estados}
-\lstinputlisting[language=Matlab,caption={Código de Matlab},label={cod:matlab}]{unbtex-example/codigos/controle.m}
+A \cref{tab:dscf} é um exemplo de tabela longa, que ocupa mais de uma página, construída com o ambiente \texttt{longtable} do pacote com mesmo nome (para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/required/tools/longtable.pdf}}). Para quadros longos, utilize o ambiente \texttt{longquadro}, disponibilizado na classe UnB\TeX.
-\section{Exemplo de teste em Malha Fechada com Rampa}
-\lstinputlisting[language=Python,caption={Código de Python},label={cod:python}]{unbtex-example/codigos/controleSmithPredictor.py}
+A \cref{tab:rot} foi construída com o ambiente \texttt{landscape} do pacote \textsf{lscape}. Para rotacionar, além da tabela, também a página do arquivo \texttt{pdf}, utilize o pacote \textsf{pdflscape}\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/pdflscape/pdflscape.pdf}}. De forma análoga, os pacotes mencionados para rotacionar tabelas, podem rotacionar figuras.
-\section{Redução modal}
-\lstinputlisting[language=Julia,caption={Código de Julia},label={cod:julia}]{unbtex-example/codigos/ModalReduction.jl} \ No newline at end of file
+\begin{longtable}{L{2.5cm}C{2.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}}
+%\begin{longquadro}{L{2.5cm}C{2.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}C{1cm}C{1.5cm}}
+% Cabeçalho no início da tabela
+\caption{Tabela longa}
+\label{tab:dscf} \\
+\toprule
+\multirow{3}{*}{\bfseries Variable} &
+\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} &
+\multicolumn{6}{c}{\bfseries Proportions by Subtype (\%)} \\
+\cmidrule(lr){3-8}
+& &
+\multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} &
+\multicolumn{2}{c}{\bfseries Censored} \\
+\midrule
+\endfirsthead
+% Cabeçalho da continuação da tabela no topo da página seguinte
+\caption[]{Tabela longa (continuação)} \\ \toprule
+\multirow{3}{*}{\bfseries Variable} &
+\multirow{3}{*}{\parbox{2.5cm}{\centering\bfseries Proportions in Sample (\%)}} &
+\multicolumn{6}{c}{\bfseries Proportions by Subtypes (\%)} \\
+\cmidrule(lr){3-8}
+& &
+\multicolumn{2}{c}{\bfseries Graduated} & \multicolumn{2}{C{3cm}}{\bfseries Academically Excluded} &
+\multicolumn{2}{c}{\bfseries Censored} \\
+\midrule
+\endhead
+\hline
+\multicolumn{8}{r}{(Continua)}\\
+\endfoot
+\bottomrule
+\endlastfoot
+\bfseries Total & 100.0 & 50.1 & (45.8) & 7.5 & (14.9) & 42.4 & (39.3) \\
+\addlinespace
+\bfseries Gender \\
+Male & 52.4 & 49.6 & (44.3) & 8.7 & (17.3) & 41.7 & (38.5) \\
+Female & 47.6 & 50.7 & (48.0) & 6.2 & (11.5) & 43.1 & (40.5) \\
+\addlinespace
+\bfseries Race \\
+White & 40.3 & 59.8 & (58.7) & 3.0 & (4.6) & 37.2 & (36.7) \\
+Black & 32.4 & 38.7 & (32.5) & 13.1 & (26.3) & 48.2 & (41.2) \\
+Coloured & 13.0 & 49.8 & (44.5) & 7.4 & (16.1) & 42.8 & (39.5) \\
+Indian/Asian & 14.3 & 48.9 & (44.6) & 7.9 & (13.3) & 43.3 & (42.1) \\
+\addlinespace
+\bfseries Financial Aid \\
+Ineligible for Financial Aid & 82.3 & 52.1 & (48.7) & 5.5 & (10.6) & 42.4 & (40.7) \\
+Eligible for Financial Aid & 17.7 & 40.7 & (35.2) & 17.2 & (30.3) & 42.1 & (34.5) \\
+\addlinespace
+\bfseries Programme \\
+Mainstream & 76.9 & 55.4 & (51.3) & 5.7 & (10.8) & 38.9 & (37.9) \\
+Academic Development & 23.1 & 32.5 & (27.1) & 13.7 & (28.7) & 53.8 & (44.2) \\
+\addlinespace
+\bfseries English Home Language \\
+Yes & 69.3 & 55.1 & (52.8) & 4.9 & (8.6) & 39.9 & (38.6) \\
+No & 30.7 & 38.8 & (32.8) & 13.4 & (26.6) & 47.8 & (40.6) \\
+\addlinespace
+\bfseries School Quintile \\
+1 & 0.8 & 34.6 & (26.1) & 30.8 & (42.6) & 34.6 & (31.3) \\
+2 & 1.6 & 30.2 & (28.1) & 16.0 & (35.1) & 53.8 & (36.8) \\
+3 & 5.0 & 32.0 & (27.7) & 17.5 & (35.3) & 50.5 & (37.0) \\
+4 & 4.1 & 37.7 & (29.5) & 17.7 & (32.0) & 44.5 & (38.5) \\
+5 & 45.4 & 52.0 & (49.2) & 6.9 & (12.0) & 41.1 & (38.9) \\
+Independent & 43.1 & 52.5 & (50.4) & 5.3 & (8.6) & 42.2 & (41.0) \\
+\addlinespace
+{\bfseries Province} \\
+Western Cape & 40.0 & 55.1 & (51.3) &5.9 & (11.6) &39.0 & (37.0) \\
+Non-Western Cape & 59.9 & 46.8 & (41.9) & 8.6 & (17.2) & 44.6 & (41.0) \\
+\addlinespace
+{\bfseries Year of First Registration} \\
+{2006} & 11.6 & 87.8 & (79.9) & 11.3 & (18.9) & 0.9 & (1.2) \\
+{2007} & 11.9 & 88.2 & (79.4) & 10.1 & (19.2) & 1.7 & (1.4) \\
+{2008} & 12.6 & 87.1 & (76.7) & 10.3 & (20.3) & 2.6 & (3.0) \\
+{2009} & 11.9 & 80.9 & (64.9) & 9.7 & (24.9) & 9.4 & (10.2) \\
+{2010} & 11.1 & 62.6 & (57.5) & 6.4 & (12.7) & 31.1 & (29.8) \\
+{2011} & 11.7 & 15.8 & (15.3) & 7.2 & (12.8) & 77.0 & (71.9) \\
+{2012} & 14.1 & 0.0 & (0.0) & 5.4 & (7.5) & 94.6 & (92.5) \\
+{2013} & 15.1 & 0.0 & (0.0) & 1.7 & (3.0) & 98.3 & (97.0) \\
+%\end{longquadro}
+\end{longtable}
+
+\afterpage{ % Evita quebra de página ao inserir tabela rotacionada
+\begin{landscape} % Rotaciona a tabela
+\begin{table}%
+\centering\small
+\caption{Tabela rotacionada}\label{tab:rot}
+\setlength\tabcolsep{3pt} % define o espaçamento entre colunas
+\begin{tabular}{@{}L{1.1cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}L{1.6cm}@{}} % @{} elimina o espaço nas bordas laterais
+\toprule
+Sv,ieq & 000436xa & 000594xa & 001715xa & 001932ya & 006040ya & 006263xa & 007162ya & 007257ya & IT0605ya & IT0790xa & emiliaeo-retro & emilians-retro \\ \midrule
+0.4 & 2.447 & 2.177 & 2.304 & 4.921 & 4.298 & 2.121 & 3.928 & 3.478 & 3.462 & 1.751 & 0.875 & 0.525 \\
+0.8 & 4.894 & 4.354 & 4.609 & 9.843 & 8.597 & 4.241 & 7.857 & 6.957 & 6.924 & 3.502 & 1.750 & 1.049 \\
+1.2 & 7.341 & 6.530 & 6.913 & 14.764 & 12.895 & 6.362 & 11.785 & 10.435 & 10.386 & 5.252 & 2.625 & 1.574 \\
+1.6 & 9.789 & 8.707 & 9.218 & 19.686 & 17.194 & 8.482 & 15.713 & 13.914 & 13.848 & 7.003 & 3.500 & 2.099 \\
+2 & 12.236 & 10.884 & 11.522 & 24.607 & 21.492 & 10.603 & 19.642 & 17.392 & 17.310 & 8.754 & 4.375 & 2.624 \\
+2.4 & 14.683 & 13.061 & 13.827 & 29.529 & 25.791 & 12.723 & 23.570 & 20.871 & 20.772 & 10.505 & 5.250 & 3.148 \\
+2.8 & 17.130 & 15.237 & 16.131 & 34.450 & 30.089 & 14.844 & 27.498 & 24.349 & 24.234 & 12.256 & 6.125 & 3.673 \\
+3.2 & 19.577 & 17.414 & 18.435 & 39.372 & 34.388 & 16.965 & 31.427 & 27.828 & 27.697 & 14.006 & 7.000 & 4.198 \\
+3.6 & 22.024 & 19.591 & 20.740 & 44.293 & 38.686 & 19.085 & 35.355 & 31.306 & 31.159 & 15.757 & 7.875 & 4.723 \\
+4 & 24.471 & 21.768 & 23.044 & 49.215 & 42.984 & 21.206 & 39.283 & 34.784 & 34.621 & 17.508 & 8.750 & 5.247 \\
+4.4 & 26.919 & 23.945 & 25.349 & 54.136 & 47.283 & 23.326 & 43.212 & 38.263 & 38.083 & 19.259 & 9.625 & 5.772 \\
+4.8 & 29.366 & 26.121 & 27.653 & 59.058 & 51.581 & 25.447 & 47.140 & 41.741 & 41.545 & 21.009 & 10.500 & 6.297 \\
+5.2 & 31.813 & 28.298 & 29.957 & 63.979 & 55.880 & 27.567 & 51.068 & 45.220 & 45.007 & 22.760 & 11.375 & 6.821 \\
+5.6 & 34.260 & 30.475 & 32.262 & 68.900 & 60.178 & 29.688 & 54.996 & 48.698 & 48.469 & 24.511 & 12.250 & 7.346 \\
+6 & 36.707 & 32.652 & 34.566 & 73.822 & 64.477 & 31.809 & 58.925 & 52.177 & 51.931 & 26.262 & 13.125 & 7.871 \\ \bottomrule
+\end{tabular}
+\end{table}%
+\end{landscape}
+} \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/apendice-c.tex b/macros/latex/contrib/unbtex/unbtex-example/apendice-c.tex
new file mode 100644
index 0000000000..125f46d8cf
--- /dev/null
+++ b/macros/latex/contrib/unbtex/unbtex-example/apendice-c.tex
@@ -0,0 +1,12 @@
+% ----------------------------------------------------------
+\chapter{Códigos de programação}\label{apd:cdg}
+% ----------------------------------------------------------
+
+\section{Projeto do controlador por realimentação de estados}
+\lstinputlisting[language=Matlab,caption={Código de Matlab},label={cod:matlab}]{unbtex-example/codigos/controle.m}
+
+\section{Exemplo de teste em malha fechada com entrada rampa}
+\lstinputlisting[language=Python,caption={Código de Python},label={cod:python}]{unbtex-example/codigos/controleSmithPredictor.py}
+
+\section{Redução modal}
+\lstinputlisting[language=Julia,caption={Código de Julia},label={cod:julia}]{unbtex-example/codigos/ModalReduction.jl} \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex
index cb4ca3a6d5..2955b00ed7 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex
@@ -16,11 +16,8 @@ A classe UnB\TeX\ também contempla atualizações mais recentes das normas NBR
Este documento deve ser utilizado como complemento do manual do \abnTeX\ \cite{abntex2classe} e da classe \textsf{memoir} \cite{memoir}. Mais referências sobre o \LaTeX\ e sobre o \abnTeX\ podem ser obtidas em \url{https://github.com/abntex/abntex2/wiki/Referencias}.
-%\begin{mdframed}[style=defnSty] % azul
-\begin{mdframed}[style=plainSty] % verde
-
+%\begin{mdframed}[style=defnSty,innertopmargin=8pt] % azul
+\begin{mdframed}[style=plainSty,innertopmargin=8pt] % verde
{\center \textsc{Texto motivador} \par}
-
\noindent Esperamos que o UnB\TeX\ aprimore a qualidade do trabalho que você produzirá, de modo que o principal esforço seja concentrado no principal: na contribuição científica.
-
\end{mdframed} \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
index 1eb8ccc3b2..739fb3986c 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex
@@ -3,14 +3,14 @@
\label{cap:exemplos}
% ----------------------------------------------------------
-Este capítulo ilustra o uso de comandos do \LaTeX, do \abnTeX\ e do UnB\TeX.
+Este capítulo ilustra o uso de comandos do \LaTeX, do \abnTeX\ e do UnB\TeX\ para elaboração de trabalhos acadêmicos.
% ---
\section{Expressões matemáticas}
\label{sec:mat}
% ---
-Para que as expressões matemáticas fiquem na mesma linha do texto, como em $ \lim_{x \to \infty} \exp(-x) = 0 $, escreva-as entre \$ e \$.
+Escreva expressões matemáticas entre \$ e \$, como em $\lim_{x \to \infty}\exp(-x) = 0$, para que fiquem na mesma linha do texto.
Colchetes podem ser usados para indicar o início de uma expressão matemática não numerada:
\[
@@ -22,14 +22,14 @@ Colchetes podem ser usados para indicar o início de uma expressão matemática
O ambiente \texttt{equation} pode ser usado para escrever expressões matemáticas numeradas, como a seguinte:
\begin{equation}
- \forall x \in X, \quad \exists \: y \leq \epsilon.
+ \forall x \in \mathcal{X}, \quad \exists \: y \leq \epsilon.
\end{equation}
Se a equação fizer parte do parágrafo, não deixe no arquivo \texttt{tex} uma linha em branco entre o texto e o ambiente da equação. A linha em branco é entendida como começo de um novo parágrafo, que é iniciado com recuo e maior espaçamento.
Muitos cientistas gostam de usar \LaTeX\ porque essa ferramenta possibilita escrever facilmente equações como:
\begin{equation}
-p+\frac{1}{2}{\rho}v^2+{\rho}gh = \text{constante},
+p+\frac{1}{2}{\rho}v^2+{\rho}gh = \mathrm{constante},
\label{eq:bernoulli}
\end{equation}
em que $p$ é a pressão, $v$ é a velocidade e $h$ é a elevação, ou seja, a ``altura do tubo''. A \cref{eq:bernoulli} pode ser deduzida a partir do \textit{Teorema Trabalho-Energia}.
@@ -41,10 +41,8 @@ em que $p$ é a pressão, $v$ é a velocidade e $h$ é a elevação, ou seja, a
A seguir são apresentados mais alguns exemplos de equações feitas com o \LaTeX:
-\newcommand{\vt}[1]{\mathbf{#1}}
-
\begin{equation}\label{eq:R_f_usual}
-\vt{R}_r(t) = \vt{R}_{\chi}(t) \triangleq
+\mathbf{R}_r(t) = \mathbf{R}_{\chi}(t) \triangleq
\begin{bmatrix}
\cos \chi_0 (t) & -\sin \chi_0 (t) & 0
\\
@@ -55,11 +53,11 @@ A seguir são apresentados mais alguns exemplos de equações feitas com o \LaTe
\end{equation}
\begin{equation}
-\vt{L}_{ij} =
+\mathbf{L}_{ij} =
\begin{cases}
--a_{ij}, & \text{se } j \neq i \text{ e } j \in \mathcal{N}_i, \\
-\sum_{k \in \mathcal{N}_i} a_{ik}, & \text{se } j = i, \\
-0, & \text{caso contrário},
+-a_{ij}, & \textrm{se } j \neq i \textrm{ e } j \in \mathcal{N}_i, \\
+\sum_{k \in \mathcal{N}_i} a_{ik}, & \textrm{se } j = i, \\
+0, & \textrm{caso contrário},
\end{cases}
\end{equation}
@@ -83,11 +81,28 @@ u_{li}(t) &= - \textrm{sign}(s_{li}(t))\eta. \label{eq:u_xbi}
\end{align}
\end{subequations}
+Exemplos de fontes tipográficas específicas para uso em expressões matemáticas são apresentadas na \cref{tab:ftmath}.
+
+\begin{table}[htb]
+\centering
+\caption{Fontes matemáticas}
+\label{tab:ftmath}
+\begin{tabular}{llll}
+\toprule
+Exemplo & Comando & Exemplo & Comando \\ \cmidrule(lr){1-2} \cmidrule(lr){3-4}
+$\mathcal{RQSZ}$ & \verb|\mathcal{RQSZ}| & $\mathbfcal{RQSZ}$ & \verb|\mathbfcal{RQSZ}| \\
+$\mathscr{RQSZ}$ & \verb|\mathscr{RQSZ}| & $\mathbfscr{RQSZ}$ & \verb|\mathbfscr{RQSZ}| \\
+$\mathfrak{RQSZ}$ & \verb|\mathfrak{RQSZ}| & $\mathbffrak{RQSZ}$ & \verb|\mathbffrak{RQSZ}| \\
+$\mathbb{RQSZ}$ & \verb|\mathbb{RQSZ}| & $\mathbfbb{RQSZ}$ & \verb|\mathbfbb{RQSZ}| \\ \bottomrule
+\end{tabular}
+\fonte{Elaborada pelo autor}
+\end{table}
+
% ---
-\section{Listas}
+\section{Lista de abreviaturas e siglas e lista de símbolos}
% ---
-As listas de figuras e de tabelas numeradas, inseridas após o \emph{Abstract}, são geradas automaticamente. Incluídas após a lista de tabelas, a lista de abreviaturas e siglas e a lista de símbolos são geradas pelo pacote \textsf{nomencl} e têm seus itens definidos conforme descrição a seguir.
+A lista de abreviaturas e siglas e a lista de símbolos são elementos pré-textuais não obrigatórios de trabalhos acadêmicos. Incluídas por meio do comando \verb|\printnomenclature| no arquivo \texttt{tex} principal do trabalho, estas listas são geradas pelo pacote \textsf{nomencl}, e têm seus itens definidos conforme descrição a seguir.
Para definir um item a ser exibido na lista de abreviaturas e siglas, próximo do texto onde a sigla ou abreviatura aparece, utilize o comando \verb|\nomenclature|. Por exemplo, para definir a sigla UnB no \cref{cap:intr}, próximo dela foi utilizado o seguinte comando:
\begin{verbatim}
@@ -104,7 +119,7 @@ O argumento \texttt{[A]} do comando \verb|\nomenclature[A]| indica que o item pe
Os nomes dos grupos de símbolos (símbolos romanos, símbolos gregos, sobrescritos e subscritos), assim como as letras que os designam, podem ser alterados e novos grupos podem ser criados. Para isso, veja no arquivo da classe UnB\TeX\ (\texttt{unbtex.cls}) como o comando \verb|\nomgroup| do pacote \textsf{nomencl} é redefinido.
-É importante mencionar que enquanto no Overleaf, o pacote \textsf{nomencl} não necessite de nenhuma compilação adicional, em outros editores \LaTeX\ pode ser necessário compilar o documento usando, além do \texttt{pdfLaTeX}, o \texttt{Makeindex}. No TeXstudio, por exemplo, o \texttt{Makeindex} deve ser previamente configurado como a seguir:\footnote{Para mais informações: \url{https://tex.stackexchange.com/questions/27824/using-package-nomencl}}:
+É importante mencionar que no Overleaf, para compilar um documento com lista de abreviaturas e siglas ou lista de símbolos não é necessária nenhuma ação adicional. Em outros editores \LaTeX\ pode ser necessário compilar o documento usando usando o \texttt{pdfLaTeX}, seguido pelo \texttt{Makeindex} e pelo \texttt{pdfLaTeX} novamente. O \texttt{Makeindex} deve ser previamente configurado. No TeXstudio, por exemplo, o \texttt{Makeindex} deve ser receber a seguinte configuração\footnote{Para mais informações: \url{https://tex.stackexchange.com/questions/27824/using-package-nomencl}}:
\begin{verbatim}
makeindex %.nlo -s nomencl.ist -o %.nls -t %.nlg
\end{verbatim}
@@ -117,7 +132,7 @@ A formatação das referências bibliográficas conforme as regras da ABNT é um
A classe UnB\TeX\ aproveita o pacote \textsf{abntex2cite}, mas com arquivos de estilo (extensão \texttt{bst}) modificados para contemplar atualizações mais recentes das normas NBR 6023 \cite{NBR6023:2018} e NBR 10520 \cite{NBR10520:2023}. Além das opções para citações nos estilos autor-ano e numérico, na classe UnB\TeX\ foram adicionados arquivos de estilo customizados para citações em textos escritos em inglês.
-Para cada referência a ser citada em arquivos de texto (extensão \texttt{tex}), é preciso criar uma entrada no arquivo de referências (extensão \texttt{bib}). Informações sobre como criar entradas em arquivos \texttt{bib} para diferentes tipos de referências (artigos em periódicos, artigos em anais de eventos, livros, capítulos de livros, etc.) e como utilizá-las, podem ser obtidas nos manuais \citeonline{abntex2cite}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf}} e \citeonline{abntex2cite-alf}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}}. No \cref{apd:cit} há um exemplo de como criar e utilizar entradas para referências bibliográficas.
+Para cada referência a ser citada em arquivos de texto (extensão \texttt{tex}), é preciso criar uma entrada no arquivo de referências (extensão \texttt{bib}). Informações sobre como criar entradas em arquivos \texttt{bib} para diferentes tipos de referências (artigos em periódicos, artigos em anais de eventos, livros, capítulos de livros, etc.) e como utilizá-las, podem ser obtidas nos manuais \citeonline{abntex2cite}\footnote{Disponível em: \url{https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf}} e \citeonline{abntex2cite-alf}\footnote{Disponível em: \url{https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf}}. No \cref{apd:cit} há um exemplo de como criar e utilizar entradas para referências bibliográficas.
Embora as normas da ABNT permitam citações utilizando o estilo numérico, é recomendado o uso do estilo autor-data em trabalhos acadêmicos. A razão é que a leitura por parte do avaliador fica mais simples. Basta ver o nome e o ano para se lembrar rapidamente da referência, sem precisar recorrer frequentemente à lista de referências, que fica no final do texto, tornando a leitura mais agradável.
@@ -132,7 +147,7 @@ O pacote \textsf{biblatex}, com a opção \texttt{style=abnt}, também pode ser
Normalmente não há problemas em usar caracteres acentuados em arquivos bibliográficos (\texttt{bib}). Porém, como as regras da ABNT fazem uso frequente da conversão para letras maiúsculas, é preciso observar o modo como se escreve os nomes dos autores. Na \cref{tab:acentos} você encontra alguns exemplos das conversões mais importantes. Preste atenção especial para `ç' e `í' que devem estar envoltos em chaves. A regra geral é, nos arquivos \texttt{bib}, sempre fazer a acentuação de acordo com a \cref{tab:acentos}, especialmente nas palavras que têm suas letras convertidas para maiúsculas.
\begin{table}[htb]
-\begin{center}
+\centering
\caption{Tabela de conversão de acentuação}
\label{tab:acentos}
\begin{tabular}{llllllll} \toprule
@@ -144,7 +159,7 @@ Normalmente não há problemas em usar caracteres acentuados em arquivos bibliog
\'u & & & & \verb|\'u| & & & \\
{\c c} & & & & \multicolumn{2}{l}{\Verb{{\c c}}} & & \\ \bottomrule
\end{tabular}
-\end{center}
+\fonte{Adaptada de \citeonline{abntex2cite}}
\end{table}
% ---
@@ -159,8 +174,8 @@ As citações diretas, no texto, com mais de três linhas, devem ser destacadas
Use o ambiente assim:
\begin{verbatim}
\begin{citacao}
-As citações diretas, no texto, com mais de três linhas [...] deve-se observar
-apenas o recuo \cite[seção 5.3]{NBR10520:2002}.
+As citações diretas, no texto, com mais de três linhas [...] deve-se observar apenas o
+recuo \cite[seção 5.3]{NBR10520:2002}.
\end{citacao}
\end{verbatim}
@@ -185,15 +200,14 @@ Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um exemplo de r
O código usado para produzir o texto desta seção é:
\begin{verbatim}
-Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um
-exemplo de remissão interna, que também pode ser feita quando indicamos
-o \cref{cap:exemplos}, intitulado \emph{\nameref{cap:exemplos}}. O
-número do capítulo indicado é \ref{cap:exemplos}, que se inicia à
-\cpageref{cap:exemplos}\footnote{O número da página de uma remissão
-pode ser obtida também assim: \pageref{cap:exemplos}.}.
+Ao nomear a \cref{sec:mat} e a \cref{eq:bernoulli}, apresentamos um exemplo de remissão
+interna, que também pode ser feita quando indicamos o \cref{cap:exemplos}, intitulado
+\emph{\nameref{cap:exemplos}}. O número do capítulo indicado é \ref{cap:exemplos}, que se
+inicia à \cpageref{cap:exemplos}\footnote{O número da página de uma remissão pode ser
+obtida também assim: \pageref{cap:exemplos}.}.
\end{verbatim}
-As remissões internas neste documento foram feitas utilizando-se o pacote \textsf{cleveref}. Mais opções de uso (e de comandos) podem ser encontradas em seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf}}.
+As remissões internas neste documento foram feitas utilizando-se o pacote \textsf{cleveref}. Mais opções de uso (e de comandos) podem ser encontradas em seu manual\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/contrib/cleveref/cleveref.pdf}}.
% ---
\section{Enumerações: alíneas e subalíneas}
@@ -248,9 +262,7 @@ As notas de rodapé são detalhadas pela NBR 14724:2011 na seção 5.2.1\footnot
\label{sec:hifenizacao}
% ---
-O idioma principal do texto é definido no início do arquivo \texttt{tex} principal, como uma opção da classe UnB\TeX. Para português-brasileiro, utilize a opção \texttt{idioma=brazil} e para inglês, utilize a opção \texttt{idioma=english}. A opção de idioma define se nome das listas (de figuras, de tabelas, de abreviaturas e siglas, de símbolos), do sumário e das referências será em português ou inglês. Define também o idioma do rótulo das tabelas, figuras, equações, capítulos, seções, apêndices, anexos, etc.
-
-As últimas opções da classe UnB\TeX, \texttt{english} e \texttt{brazil}, referem-se a idiomas para hifenização e para uso em outros pacotes e, assim, não devem ser alteradas. Mesmo que o idioma principal do texto seja português, é possível incluir textos para serem hifenizados em inglês, como no exemplo a seguir\footnote{Extraído de: \url{http://en.wikibooks.org/wiki/LaTeX/Internationalization}}:
+O idioma principal do texto é definido no início do arquivo \texttt{tex} principal, como uma opção da classe UnB\TeX. Para português-brasileiro, utilize a opção \texttt{idioma=brazil} e para inglês, utilize a opção \texttt{idioma=english}. A opção de idioma define se nome das listas (de figuras, de tabelas, de abreviaturas e siglas, de símbolos), do sumário e das referências será em português ou inglês. Define também o idioma do rótulo das tabelas, figuras, equações, capítulos, seções, apêndices, anexos, etc. Mesmo que o idioma principal do texto seja português, é possível incluir textos para serem hifenizados em inglês, como no exemplo a seguir\footnote{Extraído de: \url{https://en.wikibooks.org/wiki/LaTeX/Internationalization}}:
\begin{otherlanguage*}{english}
\textit{Text in English language. This environment switches all language-related definitions, like the language specific names for figures, tables etc. to the other language. The starred version of this environment typesets the main text according to the rules of the other language, but keeps the language specific string for ancillary things like figures, in the main language of the document. The environment hyphenrules switches only the hyphenation patterns used; it can also be used to disallow hyphenation by using the language name `nohyphenation'.}
@@ -297,10 +309,10 @@ Para incluir documentos haver necessariamente quebra de páginas, utilize o coma
\input{documento-a-ser-incluido} % sem a extensão .tex
\end{verbatim}
-Também é possível incluir no documento, páginas de arquivos \texttt{pdf}. No \cref{anx:coresunb}, por exemplo, foi incluída uma página do manual de identidade visual da UnB. Para tanto, utilizou-se o comando \verb|\includepdf| do pacote \textsf{pdfpages}.
+Também é possível incluir no documento, páginas de arquivos \texttt{pdf}. No \cref{anx:coresunb}, por exemplo, foi incluída uma página do manual de identidade visual da UnB. Para tanto, utilizou-se o comando \verb|\includepdf| do pacote \textsf{pdfpages}. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/pdfpages/pdfpages.pdf}}.
% ---
\section{Consulte o manual da classe \abnTeX}
% ---
-Consulte o manual da classe \textsf{abntex2} \cite{abntex2classe}\footnote{Disponível em: \url{http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf}} para uma referência completa dos comandos e ambientes disponíveis. Além disso, o manual possui informações adicionais sobre as normas ABNT observadas pelo \abnTeX\ e considerações sobre eventuais requisitos específicos não atendidos. \ No newline at end of file
+Consulte o manual da classe \textsf{abntex2} \cite{abntex2classe}\footnote{Disponível em: \url{https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf}} para uma referência completa dos comandos e ambientes disponíveis. Além disso, o manual possui informações adicionais sobre as normas ABNT observadas pelo \abnTeX\ e considerações sobre eventuais requisitos específicos não atendidos. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
index 676cedb21c..082de889f9 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex
@@ -2,15 +2,17 @@
\chapter{Tabelas e figuras}
% ----------------------------------------------------------
+Tabelas e figuras (além de equações, códigos, algoritmos, definições, teoremas, etc.) são elementos comumente presentes em trabalhos acadêmicos. Na classe UnB\TeX, além de distinta e consecutiva, a numeração destes elementos pode ser feita por capítulo ou para o documento inteiro. No início do arquivo \texttt{tex} principal do trabalho, use a opção \texttt{numb=chap} para que a numeração destes elementos seja por capítulo ou use a opção \texttt{numb=abnt} para que a numeração seja para o documento inteiro. Note que este documento utiliza a numeração por capítulo, embora as normas da ABNT indiquem o uso da numeração consecutiva para o documento inteiro.
+
% ---
\section{Tabelas}
% ---
-As \cref{tab:nivel,tab:fluxo,tab:ibge} são exemplos de tabelas construída em
-\LaTeX. Observe que a \cref{tab:ibge} utiliza o padrão do \citeonline{ibge1993} para documentos técnicos e acadêmicos.
+As \cref{tab:nivel,tab:fluxo,tab:ibge} são exemplos de tabelas construídas com \LaTeX. Observe que a \cref{tab:ibge} utiliza o padrão do \citeonline{ibge1993}, indicada pela ABNT para documentos técnicos e acadêmicos. Neste padrão, o texto da legenda, incluído na parte superior com o comando \verb|\caption|, e os demais textos (fonte, nota e anotações), incluídos na parte inferior com os comandos \verb|\fonte| e \verb|\nota|, têm a mesma largura da tabela.
\begin{table}[htb]
-\begin{center}%
+%\begin{quadro}[htb]
+\centering
\small
\caption[Níveis de investigação]{Níveis de investigação}
\label{tab:nivel}
@@ -21,13 +23,15 @@ As \cref{tab:nivel,tab:fluxo,tab:ibge} são exemplos de tabelas construída em
Nível do objeto & Paradigmas do metanível e evidências do nível inferior & Ciência & Teorias e modelos \\ \hline
Nível inferior & Modelos e métodos do nível do objeto e problemas do nível inferior & Prática & Solução de problemas \\
\end{tabular}}
-\fonte{\citeonline{van86}}
-\end{center}%
+\fonte{\citeonline{gigch86}}
+%\end{quadro}
\end{table}
-\begin{table}[htb]
+%\afterpage{ % Evita quebra de página ao inserir tabela rotacionada
+%\begin{landscape} % Rotaciona a tabela
+\begin{table}
\small
-\begin{center}%
+\centering
\caption{Componentes curriculares do segundo nível}
\label{tab:fluxo}
{\renewcommand{\arraystretch}{1.3} % espaçamento entre as linhas da tabela
@@ -48,8 +52,10 @@ CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\ \hline%
\multicolumn{6}{|l|}{Componentes optativos ou eletivos} & 60 & \multicolumn{1}{r}{} \\ \cline{1-7}%
\multicolumn{6}{|l|}{Total de horas do 2º Nível} & 420 & \multicolumn{1}{r}{} \\ \cline{1-7}%
\end{tabular}}
-\end{center}%
+\fonte{Elaborada pelo autor}
\end{table}
+%\end{landscape}
+%}
\begin{table}[htb]
\IBGEtab{%
@@ -64,44 +70,49 @@ CIC0090 & Estruturas de Dados & 30 & 30 & 0 & 0 & 60 & CIC0004 \\ \hline%
Laura Vicuña & 05/04/1891 & 3111.111.111-11 \\ \bottomrule
\end{tabular}%
}{%
- \fonte{Produzido pelos autores.}%
- \nota{Esta é uma nota, que diz que os dados são baseados na regressão linear.}%
- \nota[Anotações]{Uma anotação adicional, que pode ser seguida de várias outras.}%
+ \fonte{Elaborada pelo autor}%
+ \nota{Esta é uma nota, que diz que os dados são baseados na regressão linear}%
+ \nota[Anotações]{Uma anotação adicional, que pode ser seguida de várias outras}%
}
\end{table}
-Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, utilize o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{anx:tabs} há exemplos de tabelas que os utilizam. Embora poderosos para construir tabelas, os pacotes \textsf{tabularray} e \textsf{nicematrix} não foram utilizados neste documento devido ao elevado tempo necessário para processamento no Overleaf. Muitos outros exemplos de tabelas feitas com \LaTeX\ podem ser facilmente encontrados na internet.
+Para alterar a cor de linhas e de células de tabelas, o pacote \textsf{colortbl} foi utilizado. Para mesclar linhas e colunas, como na \cref{tab:fluxo}, foi utilizado o pacote \textsf{multirow}. O pacote \textsf{longtable} pode ser usado para construir tabelas que ocupam mais de uma página e o pacote \textsf{rotating} pode ser usado para rotacionar tabelas. No \cref{apd:tabs} há exemplos de tabelas que os utilizam. Embora poderosos para construir tabelas, os pacotes \textsf{tabularray} e \textsf{nicematrix} não foram utilizados neste documento devido ao elevado tempo necessário para processamento no Overleaf. Muitos outros exemplos de tabelas feitas com \LaTeX\ podem ser facilmente encontrados na internet.
+
+Se possível, construa tabelas sem linhas verticais entre as colunas. Nas \cref{tab:nivel,tab:ibge} não há linhas verticais e as linhas horizontais são menos frequentes e feitas com os comandos \verb|\toprule|, \verb|\midrule| e \verb|\bottomrule| do pacote \textsf{booktabs}. Na \cref{tab:fluxo} foram utilizadas linhas verticais e as linhas horizontais foram feitas com o comando \verb|\hline|, separando quase todas as linhas. O comando \verb|\arraystretch| permitiu aumentar o espaçamento entre linhas.
+
+As normas da ABNT, além de tabelas, preveem inclusão de quadros. Enquanto tabelas sintetizam dados numéricos, quadros sintetizam informações textuais. Por exemplo, a \cref{tab:nivel} poderia ser considerada um quadro. Para construir um quadro, utilize o ambiente \texttt{quadro} (ao invés do ambiente \texttt{table}), disponível na classe UnB\TeX. Além da lista de tabelas, elemento pré-textual inserido por meio do comando \verb|\listoftables| no arquivo \texttt{tex} principal, também é possível incluir a lista de quadros com o comando \verb|\listofquadros|.
% ---
\section{Figuras}
% ---
-Se a figura que for incluída se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato \texttt{pdf}, como no caso da \cref{fig:grafico}. Assim, o tamanho do arquivo do trabalho será menor e as imagens terão uma apresentação melhor, uma vez que imagens vetoriais são escaláveis para qualquer dimensão.
+Se a figura a ser incluída no documento se tratar de um diagrama, um gráfico ou uma ilustração que você mesmo produza, priorize o uso de imagens vetoriais no formato \texttt{pdf}, como no caso da \cref{fig:blockdiag1}. Assim, o tamanho do arquivo será menor e as imagens terão uma apresentação melhor, uma vez que imagens vetoriais são escaláveis para qualquer dimensão. Para manter a coerência no uso de software livre (já que você está usando \LaTeX), teste a ferramenta \textsf{InkScape} (\url{https://inkscape.org/}). Ela é uma excelente opção de código-livre para produzir ilustrações vetoriais, similar ao CorelDraw ou ao Adobe Illustrator.
\begin{figure}[htb]
\centering
- \caption{Resposta em frequência de malha aberta}
- \label{fig:grafico}
- \includegraphics[scale=1]{bodediagram.pdf}
+ \caption{Sistema em malha fechada, com realimentação da saída}
+ \label{fig:blockdiag1}
+ \includegraphics[scale=1]{blockdiagram.pdf}
+ \fonte{Elaborada pelo autor}
\end{figure}
-Para manter a coerência no uso de software livre (já que você está usando \LaTeX), teste a ferramenta \textsf{InkScape} (\url{http://inkscape.org/}). Ela é uma excelente opção de código-livre para produzir ilustrações vetoriais, similar ao CorelDraw ou ao Adobe Illustrator.
+Caso não seja possível utilizar arquivos de imagens como \texttt{pdf}, utilize qualquer outro formato, como \texttt{jpeg}, \texttt{gif} e \texttt{bmp}. Estes formatos requerem maior tempo de processamento, mas você pode tentar aprimorar seus conteúdos com o software livre \textsf{Gimp} (\url{https://www.gimp.org/}), uma alternativa livre ao Adobe Photoshop.
-De todo modo, caso não seja possível utilizar arquivos de imagens como \texttt{pdf}, utilize qualquer outro formato, como \texttt{jpeg}, \texttt{gif} e \texttt{bmp}. Estes formatos requerem maior tempo de processamento, mas você pode tentar aprimorar seus conteúdos com o software livre \textsf{Gimp} (\url{http://www.gimp.org/}), uma alternativa livre ao Adobe Photoshop. A \cref{fig:logolatex} mostra como é fácil inserir uma figura com legenda e referência à fonte utilizando um arquivo no formato \texttt{png}.
+Também é possível criar figuras, diagramas e gráficos utilizando comandos de pacotes disponíveis para o \LaTeX, como \textsf{TikZ}. Entretanto, tais pacotes requerem elevado tempo de processamento no Overleaf e, por isso, não foram utilizados neste documento.
+
+Note que, de acordo com as normas da ABNT, a legenda (\texttt{caption}) das figuras e tabelas deve aparecer na parte superior. Na parte inferior deve ser informada a fonte e podem ser incluídas notas. Caso queira que a numeração e título da figura apareça na parte inferior, dentro do ambiente \texttt{figure} utilize o comando \verb|\caption| após o comando \verb|\includegraphics|. Observe também que, diferentemente da \cref{fig:blockdiag1}, a \cref{fig:blockdiag2} tem numeração e nota com a mesma largura da figura, conforme recomendado pela ABNT. A lista de todas as figuras pode ser incluída como elemento pré-textual do trabalho por meio do comando \verb|\listoffigures| no arquivo \texttt{tex} principal.
\begin{figure}[htb]
- \begin{center}
- \caption{Logo \LaTeX} \label{fig:logolatex}
- \includegraphics[width=0.5\linewidth]{1280px-LaTeX-logo.png}
- \captionsetup{aboveskip=0pt,belowskip=2pt}
- \fonte{Wikimedia Commons \cite{wikimedia-latex}}
- \end{center}
+\sbox0{\includegraphics[scale=1]{blockdiagram.pdf}}
+\centering\configurecaptions
+\begin{minipage}{\wd0}
+ \caption{Digrama de blocos de sistema de controle em malha fechada}
+ \label{fig:blockdiag2}
+ \usebox0
+ \nota{Elaborada pelo autor}
+\end{minipage}
\end{figure}
-Também é possível criar figuras, diagramas e gráficos utilizando comandos de pacotes disponíveis para o \LaTeX, como \textsf{TikZ}. Entretanto, tais pacotes requerem elevado tempo de processamento no Overleaf e, por isso, não foram utilizados neste documento.
-
-Note que, de acordo com as normas da ABNT, numeração e título das figuras e tabelas devem aparecer na parte superior. Na parte inferior deve ser informada a fonte.
-
% ---
\subsection{Figuras em \emph{minipages}}
% ---
@@ -116,6 +127,7 @@ Note que, de acordo com as normas da ABNT, numeração e título das figuras e t
\caption{Imagem da minipage}
\label{fig:minipage_circuito}
\includegraphics[scale=1]{circuito.pdf}
+ \fonte{Elaborada pelo autor}
\end{minipage}
\hfill
\begin{minipage}[t]{0.52\textwidth}
@@ -123,6 +135,7 @@ Note que, de acordo com as normas da ABNT, numeração e título das figuras e t
\caption{Gráfico da minipage}
\label{fig:minipage_grafico}
\includegraphics[scale=1.2]{diodocurva.pdf}
+ \fonte{Elaborada pelo autor}
\end{minipage}
\end{figure}
@@ -135,10 +148,11 @@ O pacote \textsf{subfig} foi utilizado para inserir as \cref{fig:subfigura_circu
\centering
\caption{Figura com subfiguras}
\label{fig:subfiguras}
- \subfloat[Primeira subfigura]{\label{fig:subfigura_circuito} \centering
- \includegraphics[scale=1]{circuito.pdf}}
- \subfloat[Segunda subfigura]{\label{fig:subfigura_grafico} \hspace{0.4em}
+ \subfloat[Primeira subfigura]{\label{fig:subfigura_circuito}
+ \centering \includegraphics[scale=1]{circuito.pdf}} \hfill
+ \subfloat[Segunda subfigura]{\label{fig:subfigura_grafico}
\centering \includegraphics[scale=1.2]{diodocurva.pdf}}
+ \fonte{Elaborada pelo autor}
\end{figure}
% utiliza o pacote subcaption
@@ -167,12 +181,12 @@ Caso queira utilizar as mesmas fontes tipográficas do texto para escrever dentr
\begin{figure}[htb]
\centering
- \caption{Uso do pacote \textsf{psfrag}}
- \subfloat[Arquivo \texttt{blockdiagram.pdf}]{\label{fig:psfrag1} \centering
- \includegraphics[scale=1]{blockdiagram.pdf}} \\
+ \caption{Uso do pacote \textsf{psfrag}}\label{fig:psgrag}
+ \subfloat[Arquivo \texttt{blockdiagram.pdf}]{\label{fig:psfrag1}
+ \centering \includegraphics[scale=1]{blockdiagram.pdf}} \\
\subfloat[Arquivo \texttt{blockdiagram.eps}]{\label{fig:psfrag2}
\centering \includegraphics[scale=1]{blockdiagram.eps}}
- \label{fig:psgrag}
+ \fonte{Elaborada pelo autor}
\end{figure}
Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro de um arquivo \texttt{tex} nomeado, por exemplo, como \texttt{blockdiagram.tex}. No menu do Overleaf, altere o compilador de \texttt{pdfLaTeX} para \texttt{LaTeX} e defina o arquivo \texttt{blockdiagram.tex} como principal. Coloque o arquivo \texttt{blockdiagram.eps} dentro do projeto e compile. A saída gerada, corresponde à \cref{fig:psfrag1}, deve ser salva como \texttt{blockdiagram.pdf}. Este arquivo poderá ser carregado no projeto do texto do trabalho (TCC, dissertação ou tese) que você estiver escrevendo com o UnB\TeX\ (que usa o \texttt{pdfLaTeX} como compilador). Observe na \cref{fig:psfrag2} que o ``\texttt{g}'' é substituído por ``$G(s)$'' na \cref{fig:psfrag1}. Para tal, o \cref{cod:tex} utiliza o seguinte comando do pacote \textsf{psfrag}:
@@ -180,8 +194,8 @@ Crie no Overleaf um novo projeto que tenha o conteúdo do \cref{cod:tex} dentro
\psfrag{g}[c][c]{\footnotesize $G(s)$}
\end{verbatim}
-\lstinputlisting[numbers=none,float,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
+\lstinputlisting[numbers=none,caption={\texttt{blockdiagram.tex}},label={cod:tex}]{unbtex-example/codigos/blockdiagram.tex}
-O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{http://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}.
+O pacote \textsf{psfrag} funciona apenas com o compilador \texttt{LaTeX}, o que torna a criação de um novo projeto no Overleaf uma boa solução. Este projeto poderá ser aproveitado para gerar outras figuras do documento principal. Para mais informações sobre o pacote, consulte seu manual\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/contrib/psfrag/pfgguide.pdf}}.
Evite o uso de figuras no formato \texttt{eps} no documento principal. Documentos que usam a classe UnB\TeX\ precisam ser compilados pelo \texttt{pdfLaTeX}, que inicialmente converte os arquivos \texttt{eps} para o formato \texttt{pdf}, exigindo maior tempo de processamento. O projeto auxiliar (\cref{cod:tex}) usa a classe \texttt{article} e admite compilador \texttt{LaTeX}, que não necessita de etapas adicionais para processar códigos que chamam arquivos \texttt{eps}. \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
index 71c5eaf5c6..db12917a52 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex
@@ -2,14 +2,24 @@
\chapter{Ambientes do UnB\TeX}
% ----------------------------------------------------------
-A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{thm:WYSIWYG}, \cref{exc:in}, \cref{alg:NNMPC}, etc.). Esses ambientes foram adaptados a partir do modelo de \citeonline{Castro2019}.
+A classe UnB\TeX\ disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos, que podem ser automaticamente numerados (por exemplo, \cref{def:WYSIWYG}, \cref{thm:WYSIWYG}, \cref{alg:ex}, etc.).
\section{Estilo teorema}
-\begin{definition}
+Criados com auxílio do pacote \textsf{mdframed}\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/contrib/mdframed/mdframed.pdf}} e inspirados no modelo de \citeonline{Castro2019}, estão disponíveis os ambientes: \texttt{theorem}, \texttt{lemma}, \texttt{proposition}, \texttt{corollary}, \texttt{definition}, \texttt{as\-sumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{property}, \texttt{example}, \texttt{exercise}, \texttt{problem}, \texttt{remark}, \texttt{proof} e \texttt{solution}. Alguns exemplos de uso são apresentados a seguir.
+
+\begin{definition}\label{def:WYSIWYG}
O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato final'') é um tipo de editor HTML que permite editar sua página da Web em uma visualização simplificada e sem código de aparência semelhante à do layout da página real.
\end{definition}
+\begin{theorem}[Teorema LaTeX-WYSIWYG]\label{thm:WYSIWYG}
+ Todo físico prefere usar código \LaTeX\ puro que qualquer editor WYSIWYG.
+\end{theorem}
+
+\begin{proof}
+ Físicos gostam de equações bonitas. Editores What-You-See-Is-What-You-Get não são apropriados para fazer equações bonitas\footnote{É certo que há editores WYSIWYG baseados em \LaTeX, mas eles não nos dão o mesmo nível de controle.}. Logo, se algum físico preferisse usar um editor WYSIWYG no lugar de \LaTeX, não seria muito inteligente. Como todo físico é inteligente, o teorema está demonstrado \textit{ad absurdum}.
+\end{proof}
+
\begin{proposition}\label{prop:WYSIWYG}
\LaTeX\ produz equações mais bonitas que qualquer editor WYSIWYG.
\end{proposition}
@@ -18,21 +28,13 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina
Teste.
\end{lemma}
-\begin{remark}
- \LaTeX\ produz equações mais bonitas que qualquer editor WYSIWYG.
-\end{remark}
-
-\begin{theorem}[Teorema LaTeX-WYSIWYG]\label{thm:WYSIWYG}
- Todo físico prefere usar código \LaTeX\ puro que qualquer editor WYSIWYG.
-\end{theorem}
-
\begin{corollary}
Teste.
\end{corollary}
-\begin{proof}
- Físicos gostam de equações bonitas. Editores What-You-See-Is-What-You-Get não são apropriados para fazer equações bonitas\footnote{É certo que há editores WYSIWYG baseados em \LaTeX, mas eles não nos dão o mesmo nível de controle.}. Logo, se algum físico preferisse usar um editor WYSIWYG no lugar de \LaTeX, não seria muito inteligente. Como todo físico é inteligente, o teorema está demonstrado \textit{ad absurdum}.
-\end{proof}
+\begin{remark}
+ \LaTeX\ produz equações mais bonitas que qualquer editor WYSIWYG.
+\end{remark}
\begin{exercise}\label{exc:in}
Explique como Isaac Newton usaria cada um dos pacotes seguintes, se vivesse no tempo presente:
@@ -44,53 +46,42 @@ O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato fina
\end{enumerate}
\end{exercise}
-\begin{example}\label{exp:ae}
- Einstein usaria um editor WYSIWYG ou \LaTeX? \\
- Einstein era físico. Portanto, usando o teorema LaTeX-WYSIWYG, concluímos que ele usaria \LaTeX.
-\end{example}
+%\begin{example}\label{exp:ae}
+% Einstein usaria um editor WYSIWYG ou \LaTeX? \\
+% Einstein era físico. Portanto, usando o teorema LaTeX-WYSIWYG, concluímos que ele usaria \LaTeX.
+%\end{example}
-\section{Algoritmo}
+\section{Pseudocódigos}
-O \cref{alg:NNMPC} é um exemplo de pseudo-código.
+O \cref{alg:ex} é um exemplo de pseudocódigo, inserido com auxílio do pacote \textsf{algorithm2e}. Mais opções de uso (e de comandos) podem ser encontradas em seu manual\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/contrib/algorithm2e/doc/algorithm2e.pdf}}.
\begin{algorithm}[htb]
-%\linespread{1.0}\selectfont % espaçamento entre as linhas do algoritmo
-\caption{Pseudocódigo de MPC baseado em redes neurais para consenso}
-\label{alg:NNMPC}
-\begin{algorithmic}[1] %\opção para numerar as linhas [1]
-%\Procedure{Roy}{$a,b$} \Comment{This is a test}
- \State Inicialização do sistema em $x(0), \theta(0)$
- \State $J = V(e(0),\theta(0))$
- \State $K^{ab}_0 = 0$ $\forall (a,b)$
- \State $dataset \gets [K_0,J]$
- \For{$k = 1:k_{max}$} \Comment{Laço de simulação}
- \State $(W,Y) \gets train(dataset)$
- \State $\tilde{J} = Y\sigma(Wz)$ $\forall K^{ab}_k\pm \delta_K$
- \State $K_k^{\ast} = arg \min_{K_k}(\tilde{J})$
- \State $u(k) = \left( L(\theta(k)) \otimes K_k^{\ast} \right) x(k)$
- \State $\hat{x}(k) = x(k)$; $\hat{\theta}(k) = \theta(k)$
- \For{$t = k+1:k+h+1$} \Comment{Laço de predição}
- \State $\hat{\theta}(t) = randMarkov(\hat{\theta}(t-1),\Pi)$
- \State $p = \hat{\theta}(t)$
- \State $\hat{u}(t) = \left( L(p) \otimes K_k^{\ast} \right) \hat{x}(t)$
- \State $\hat{x}(t+1) = F_{p}(\hat{x}(t))$
- \State $x_0(t) = mean(\hat{x}(t))$
- \State $\hat{e}(t) = F_{p}(\hat{x}(t)) - \boldsymbol{1_N} f_{p0}(x(t)) $
- \State $\hat{V}_{t} = \hat{e}^T(t)P_{p}\hat{e}(t)$
- \EndFor
- \State $\hat{J} = \sum_{t = k+1}^{k+h+1} \hat{V}_{t}$
- \State $dataset \gets [K^{\ast}_k,\hat{J}]$
- \State $x(k+1) = F_{p}(x(k))$
- \EndFor
-%\EndProcedure
-\end{algorithmic}
+\caption{Exemplo de pseudocódigo}\label{alg:ex}
+\KwData{$n \geq 0$}
+\KwResult{$y = x^n$}
+$y \gets 1$\;
+$X \gets x$\;
+$N \gets n$\;
+%\While{$N \neq 0$}{
+\While(\tcc*[f]{Isso é um comentário}){$N \neq 0$}{
+ \eIf{$N$ for par}{
+ $X \gets X \times X$\;
+ $N \gets \frac{N}{2}$ \tcc*[r]{Isso é outro comentário}
+ }{\If{$N$ for impar}{
+ $y \gets y \times X$\;
+ $N \gets N - 1$\;
+ }
+ }
+}
\end{algorithm}
-\section{Programa}
+A lista com todos os algoritmos é um elemento pré-textual não obrigatório de trabalhos acadêmicos e pode ser gerada e incluída utilizando-se o comando \verb|\listofalgorithms| no arquivo \texttt{tex} principal.
+
+\section{Códigos-fonte}
-O \cref{cod:exemplo} é um exemplo de programa. Para mais exemplos, confira o \cref{apd:cdg}.
+O \cref{cod:exemplo} é um exemplo de código-fonte, inserido com auxílio do pacote \textsf{listings}. Para mais exemplos e comandos, confira o \cref{apd:cdg} e o manual do pacote\footnote{Disponível em \url{https://mirrors.ctan.org/macros/latex/contrib/listings/listings.pdf}}. A lista com todos os códigos-fonte é um elemento pré-textual não obrigatório de trabalhos acadêmicos e pode ser gerada e incluída utilizando-se o comando \verb|\lstlistoflistings| no arquivo \texttt{tex} principal.
-\begin{lstlisting}[caption={Exemplo de programa},label={cod:exemplo}]
+\begin{lstlisting}[float=htb,caption={Exemplo de código-fonte},label={cod:exemplo}]
/**
* MSO: ativa o servo cujo eixo eh descrito
* por drive_axis; informacoes de controle
diff --git a/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex b/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex
index 5205f3e20d..fdcced02af 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex
+++ b/macros/latex/contrib/unbtex/unbtex-example/codigos/blockdiagram.tex
@@ -2,6 +2,7 @@
\usepackage{stickstootext}
\usepackage[stickstoo,vvarbb]{newtxmath}
+\usepackage[cal=stixplain,scr=stixtwofancy,frak=stixtwo,bb=stix]{mathalfa}
\usepackage[scale=0.90]{tgheros}
\usepackage[scale=1]{inconsolata}
\usepackage{pst-pdf}
diff --git a/macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m b/macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m
index 0c67f89df8..90df7ccc93 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m
+++ b/macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m
@@ -1,9 +1,7 @@
-% Controle com realimentação de estados
+% Controle por realimentação de estados
pC = (0.6)*ones(1,5);
pC(4) = 0.5 + 0.4*1i;
pC(5) = 0.5 - 0.4*1i;
-
-%Seguindo controle digital...
n = 4;
m = 1;
@@ -11,7 +9,5 @@ Ahat = [A, B; zeros(1,n), 0];
Bhat = [zeros(n,1); eye(m)];
Khat = acker(Ahat, Bhat, pC);
K = (Khat + [zeros(m, n), eye(m)])/([A - eye(n), B; H*A, H*B]);
-
-% Ganhos para utilizar na realimentação
Ki = K(5);
Kp = K(1:4); \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py b/macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py
index ebcea45cf4..fb56d1d343 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py
+++ b/macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py
@@ -19,7 +19,7 @@ t = numpy.array(range(0, n_t)) * Ts
# time = linspace(0,10,n_t)
# instantiate the plant that will be used, it should be a subclass of Plant
-plant = PlantOPC(opc,'[CLP_AB]position','[CLP_AB]speed',init_pos)
+plant = PlantOPC(opc, '[CLP_AB]position', '[CLP_AB]speed', init_pos)
model = Model(n, A, B, C, D, Ak, Bk, Ck, Q, R, Kp, Ki, epsilon, Ts, plant)
start = time.clock()
@@ -40,11 +40,11 @@ plt.plot(t, y_topo[0:n_t], label='ref topo (in)')
plt.legend(loc=4)
plt.xlabel('time (s)')
plt.ylabel('position (m)')
-plt.title('Position of cart - close loop')
+plt.title('Position of cart - closed loop')
plt.grid(True)
# plt.show()
-plt.savefig("resultados/closed_loop_trajetoria_rafael.png", format='png', dpi=200)
-File = open('resultados/trajetoria_rafael.npz','wb')
+plt.savefig("resultados/closed_loop.png", format='png', dpi=200)
+File = open('resultados/trajetoria.npz', 'wb')
numpy.savez(File, t=t, y_topo=y_topo, y_fundo=y_fundo, y_out=y_out, pC=pC, Ki=Ki, Kp=Kp)
File.close()
diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png b/macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png
deleted file mode 100644
index ee8e5109a7..0000000000
--- a/macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf
deleted file mode 100644
index c1410d377d..0000000000
--- a/macros/latex/contrib/unbtex/unbtex-example/figuras/bodediagram.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf b/macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf
deleted file mode 100644
index 57a7fd2881..0000000000
--- a/macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
index 699d20461f..0213a42828 100644
--- a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
+++ b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib
@@ -11,7 +11,7 @@
number = {3},
pages = {342--351}}
-@article{van86,
+@article{gigch86,
author = {John P. van Gigch and Leo L. Pipino},
journal = {Future Computing Systems},
number = {1},
@@ -24,7 +24,8 @@
address = {Rio de Janeiro},
author = {IBGE},
edition = {3},
- url = {http://biblioteca.ibge.gov.br/visualizacao/livros/liv23907.pdf},
+ url = {https://biblioteca.ibge.gov.br/visualizacao/livros/liv23907.pdf},
+ urlaccessdate = {24 jan. 2019},
publisher = {Centro de Documenta{\c c}\~ao e Dissemina{\c c}\~ao de Informa{\c c}ões. Funda{\c c}\~ao Instituto Brasileiro de Geografia e Estat{\'i}stica},
title = {Normas de apresenta{\c c}\~ao tabular},
year = {1993}}
@@ -47,7 +48,7 @@
pages = {2347-2360},
publisher = {CRC Press},
title = {Information},
- url = {http://pages.gseis.ucla.edu/faculty/bates/articles/information.html},
+ url = {https://pages.gseis.ucla.edu/faculty/bates/articles/information.html},
volume = {3},
year = {2010}}
@@ -69,33 +70,40 @@
author = {Lauro C{\'e}sar Araujo},
organization = {Equipe abnTeX2},
title = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'i}veis com a ABNT NBR 6023},
- url = {http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf},
- year = {2018},
- bdsk-Url-1 = {http://www.abntex.net.br/}}
+ url = {https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite.pdf},
+ year = {2018}}
@manual{abntex2cite-alf,
annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}},
author = {Lauro C{\'e}sar Araujo},
organization = {Equipe abnTeX2},
title = {O pacote abntex2cite: t{\'o}picos espec{\'i}ficos da ABNT NBR 10520:2002 e o estilo bibliogr{\'a}fico alfab{\'e}tico (sistema autor-data)},
- url = {http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf},
- year = {2018},
- bdsk-Url-1 = {http://www.abntex.net.br/}}
+ url = {https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2cite-alf.pdf},
+ year = {2018}}
@manual{abntex2classe,
author = {Lauro C\'esar Araujo},
organization = {Equipe abnTeX2},
title = {A classe abntex2: Documentos t\'ecnicos e cient\'ificos brasileiros compat\'iveis com as normas ABNT},
- url = {http://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf},
- year = {2018},
- bdsk-Url-1 = {http://www.abntex.net.br/}}
+ url = {https://mirrors.ctan.org/macros/latex/contrib/abntex2/doc/abntex2.pdf},
+ year = {2018}}
+
+@manual{metodista,
+ address = {S\~ao Bernardo do Campo},
+ organization = {Universidade Metodista de S\~ao Paulo},
+ org-short = {Metodista},
+ title = {Biblioteca Dr. Jalmar Bowden},
+ subtitle = {Manual de refer\^encia},
+ url = {http://portal.metodista.br/biblioteca/servicos/manual-de-referencias},
+ urlaccessdate = {5 set. 2024},
+ year = {$\lbrack$2015?$\rbrack$}}
@manual{memoir,
address = {Normandy Park, WA},
author = {Peter Wilson and Lars Madsen},
organization = {The Herries Press},
title = {The Memoir Class for Configurable Typesetting -- User Guide},
- url = {http://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/memoir/memman.pdf},
year = {2024}}
@manual{NBR10520:2002,
@@ -154,13 +162,6 @@
url = {https://www.overleaf.com/latex/templates/modelo-de-livro-para-editora-unb/trznrgjcsyfg},
year = {2019}}
-@misc{wikimedia-latex,
- author = {{Wikimedia Commons}},
- title = {File: {\normalfont LaTeX logo.svg}},
- year = {2008},
- url = {https://upload.wikimedia.org/wikipedia/commons/9/92/LaTeX_logo.svg},
- urlaccessdate={24 jan. 2019}}
-
@monography{morgado1990,
address = {S\~ao Paulo},
author = {M. L. C. Morgado},
@@ -176,7 +177,6 @@
author = {Giancarlo Guizzardi},
school = {Centre for Telematics and Information Technology, University of Twente},
title = {Ontological Foundations for Structural Conceptual Models},
- url = {http://www.loa.istc.cnr.it/Guizzardi/SELMAS-CR.pdf},
year = {2005}}
@TechReport{KrueBansBierDaziRash20,
@@ -185,5 +185,5 @@
institution = {Transport and Mobility Laboratory, Ecole Polytechnique F\'ed\'erale de Lausanne},
year = {2020},
type = {Technical Report},
- number = {arXiv:1905.00419},
- address = {Lausanne, Switzerland}} \ No newline at end of file
+ doi = {10.48550/arXiv.1905.00419},
+ address = {Lausanne, Switzerland}}
diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls
index 332fdce505..75535a7a14 100644
--- a/macros/latex/contrib/unbtex/unbtex.cls
+++ b/macros/latex/contrib/unbtex/unbtex.cls
@@ -1,7 +1,7 @@
%%
%% UnBTeX: A class for bachelor, master, and doctoral thesis at the
%% University of Brasilia (UnB), Brazil
-%% Version 1.5.2 2024/07/04
+%% Version 1.5.3 2024/10/07
%% Copyright (C) 2021-2024 by Henrique C. Ferreira <hcferreira@unb.br>
%%
%% This class file may be distributed and/or modified under the conditions
@@ -9,7 +9,7 @@
%% or (at your option) any later version. The latest version of this
%% license is in:
%%
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%%
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
@@ -21,7 +21,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{unbtex}[2024/07/04 v1.5.2 Modelo da Universidade de Brasília baseado em abnTeX2]
+\ProvidesClass{unbtex}[2024/10/07 v1.5.3 Modelo da Universidade de Brasília baseado em abnTeX2]
% ------------------------------------------------------------------------
% Opções para a classe
@@ -44,13 +44,22 @@
% ---
% ---
+% Opção para definição de estilo de numeração de figuras, tabelas, etc
+% ---
+\def\numb{chap} % Numeração por capítulo, por default
+\DeclareOption{numb=chap}{\def\numb{chap}}
+\DeclareOption{numb=abnt}{\def\numb{abnt}}
+% ---
+
+% ---
% Repassa demais opções à classe abntex2
% ---
\DeclareOption*{
\PassOptionsToClass{\CurrentOption}{abntex2}
}
+\PassOptionsToPackage{english,brazil}{babel}
\ProcessOptions\relax
-\LoadClass[12pt,a4paper,onecolumn,openright]{abntex2}
+\LoadClass[12pt,a4paper]{abntex2}
% ---
% ------------------------------------------------------------------------
@@ -60,7 +69,7 @@
% ---
% Pacotes matemáticos
% ---
-\RequirePackage{mathtools} % Melhoria nas equaões
+\RequirePackage{mathtools} % Melhoria nas equações
\RequirePackage{amsthm} % Para configuração de ambientes do tipo teorema
% ---
@@ -69,18 +78,12 @@
% ---
\RequirePackage{stickstootext} % Fonte principal (Stix2)
\RequirePackage[stickstoo,vvarbb]{newtxmath} % Fonte matemática (Stix2)
+\RequirePackage[cal=stixplain,scr=stixtwofancy,frak=stixtwo,bb=stix]{mathalfa}
\RequirePackage[scale=0.90]{tgheros} % Fonte sans serif (TeX Gyre Heros)
\RequirePackage[scale=1]{inconsolata} % Fonte monoespaçada
% ---
% ---
-% Pacotes para figuras
-% ---
-\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras
-%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras
-% ---
-
-% ---
% Cores verde e azul UnB
% http://www.marca.unb.br/arquivosdigitais/files/guia_pratico/guia_pratico.pdf
% ---
@@ -88,7 +91,6 @@
\RequirePackage[dvipsnames]{xcolor}
\definecolor{verdeunb}{cmyk}{1,0,1,0.2}
\definecolor{azulunb}{cmyk}{1,0.65,0,0.35}
-
% Cores nos títulos
\renewcommand{\tocheadstart}{}
\renewcommand{\ABNTEXchapterfont}{\bfseries\color{verdeunb}\sffamily}
@@ -96,8 +98,65 @@
% ---
% ---
-% Configurações para tabelas
+% Configurações para a opção article
+% ---
+\ifthenelse{\equal{\ABNTEXistwocolumn}{true}}{
+\renewcommand{\ABNTEXisarticle}{true}}{}
+\ifthenelse{\equal{\ABNTEXisarticle}{true}}{
+\chapterstyle{article}
+\numberwithin{section}{chapter}
+\renewcommand{\chaptitlefont}{\bfseries\sffamily\Large\color{verdeunb}}
+\setsecheadstyle{\large\bfseries\sffamily\color{verdeunb}}
+\setsubsecheadstyle{\normalfont\bfseries\sffamily}
+\renewcommand{\chapternamenum}[1]{\ifanappendix \chaptitlefont\appendixname\space#1\else #1\fi}
+\renewcommand{\afterchapternum}{\ifanappendix\space\hspace{-20pt}\enspace\textendash\enspace\fi}
+\setlength\absleftindent{0cm}
+\setlength\absrightindent{0cm}
+\renewcommand{\abstracttextfont}{\normalfont\normalsize}
+\ifthenelse{\equal{\ABNTEXistwocolumn}{false}}{
+\setlength{\parindent}{2.3em} % Tamanho da indentação da primeira linha do parágrafo
+\setlength{\parskip}{.1\baselineskip plus .05\baselineskip} % Espaço entre parágrafos
+\setlrmarginsandblock{2cm}{2cm}{*}
+\setulmarginsandblock{2.5cm}{2cm}{*}
+\checkandfixthelayout[nearest]}{
+\input{mem11.clo} % Tamanho da fonte
+\SingleSpacing
+\setlength{\parindent}{1.8em}
+\AtBeginEnvironment{thebibliography}{\linespread{0.8}\selectfont}
+\setlength{\columnsep}{7.5mm}
+\def\@mathmargin{0pt}
+\setlrmarginsandblock{1.5cm}{1.5cm}{*}
+\setulmarginsandblock{2.5cm}{2cm}{*}
+\checkandfixthelayout[nearest]}
+\ifthenelse{\boolean{ABNTEXsumario-tradicional}}{}{
+\renewcommand{\tocpartapendices}{\addtocontents{toc}{
+\cftsetindents{chapter}{\cftlastnumwidth}{2em}}\cftinserthook{toc}{A}}
+\renewcommand{\tocpartanexos}{\addtocontents{toc}{
+\cftsetindents{chapter}{\cftlastnumwidth}{2em}}
+\cftinserthook{toc}{A}}}}{ % Opção article não utilizada
+\setlrmarginsandblock{3cm}{2cm}{*} % Margens esquerda e direita
+\setulmarginsandblock{3cm}{2cm}{*} % Margens superior e inferior
+\checkandfixthelayout[nearest]
+\setlength{\parindent}{2.3em} % Tamanho da indentação da primeira linha do parágrafo
+\setlength{\parskip}{.1\baselineskip plus .05\baselineskip} % Espaço entre parágrafos
+}
+\renewcommand{\maketitlehookb}{\vskip -1.5\topsep\vskip -1.5\partopsep}
+\pretitle{\begin{center}\color{verdeunb}\LARGE\sffamily\bfseries}
+\posttitle{\par\end{center}\vskip 0.5em}
+\renewcommand{\and}{\unskip, }
+% ---
+
+% ---
+% Pacotes para figuras
+% ---
+\RequirePackage[captionskip=8pt]{subfig} % Permite fazer subfiguras
+%\RequirePackage[skip=8pt]{subcaption} % Permite fazer subfiguras
+% ---
+
+% ---
+% Configurações para tabelas e quadros
% ---
+\RequirePackage{longtable}% Para tabelas longas
\RequirePackage{multirow} % Para combinar linhas nas tabelas
\RequirePackage{colortbl} % Permite alterar cores de linhas e células das tabelas
\arrayrulecolor{verdeunb} % Define a cor das linhas das tabelas
@@ -107,6 +166,105 @@
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
+
+% Criacao dos ambientes flutuantes para quadros
+\newfloat[chapter]{quadro}{loq}{\Quadroname}
+\newlistof{listofquadros}{loq}{\listquadroname}
+\newlistentry{quadro}{loq}{0}
+\renewcommand{\cftquadroname}{\Quadroname\space}
+\IfStrEq{\numb}{chap}
+{\cftsetindents{quadro}{0em}{2.3em}}{\cftsetindents{quadro}{0em}{1.8em}}
+\renewcommand{\thequadro}{\thechapter.\arabic{quadro}}
+\def\QT@c@ption#1[#2]#3{%
+ \LT@makecaption#1\fnum@quadro{#3}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline{\ext@quadro}{quadro}{\protect\numberline{\thequadro}{#2}}}%
+ \fi}
+\newenvironment{longquadro}
+{\let\LT@c@ption\QT@c@ption\let\c@table\c@quadro\crefalias{table}{quadro}
+\renewcommand{\theHtable}{quadro\thechapter.\arabic{quadro}}\longtable}
+{\endlongtable}
+% ---
+
+% ---
+% Pacotes para algoritmos
+% ---
+\IfStrEq{\idioma}{brazil}
+{\usepackage[algochapter,linesnumbered,boxed,portuguese,onelanguage]{algorithm2e}
+\SetAlgorithmName{Algoritmo}{algoritmo}{Lista de algoritmos}}
+{\usepackage[algochapter,linesnumbered,boxed,english,onelanguage]{algorithm2e}
+\SetAlgorithmName{Algorithm}{algorithm}{List of algorithms}}
+\SetAlgoCaptionSeparator{\ABNTEXcaptiondelim}
+\renewcommand{\AlCapFnt}{\normalfont\small}
+\renewcommand{\AlCapNameFnt}{\small}
+\renewcommand{\@algocf@capt@boxed}{above}
+\DontPrintSemicolon
+\setlength{\algomargin}{1.8em}
+\xpatchcmd\algocf@makecaption{\hbox}{\hskip\algomargin\hbox}{}{\fail}
+\SetAlgoInsideSkip{smallskip}
+\renewcommand*\listofalgorithms{\listoftoc[\listalgorithmcfname]{loa}}
+\newcommand*{\noaddvspace}{\renewcommand*{\addvspace}[1]{}}
+\addtocontents{loa}{\protect\noaddvspace}
+% ---
+
+% ---
+% Pacote para códigos de programação
+% ---
+\RequirePackage{listings}
+% Julia (Linguagem não reconhecida automaticamente pelo pacote listings)
+\lstdefinelanguage{Julia}%
+ {morekeywords={abstract,break,case,catch,const,continue,do,else,elseif,%
+ end,export,false,for,function,immutable,import,importall,if,in,%
+ macro,module,otherwise,quote,return,switch,true,try,type,typealias,%
+ using,while},%
+ sensitive=true,%
+ alsoother={\$},%
+ morecomment=[l]\#,%
+ morecomment=[n]{\#=}{=\#},%
+ morestring=[s]{"}{"},%
+ morestring=[m]{'}{'},%
+}[keywords,comments,strings]%
+% Configurações gerais
+\definecolor{mygreen}{RGB}{28,172,0} % Color values Red, Green, Blue
+\definecolor{mylilas}{RGB}{170,55,241}
+\lstset{%
+ basicstyle=\linespread{1.08}\ttfamily\footnotesize,
+ numbers=left,%
+ numberstyle={\tiny \color{black}}, % Size of the numbers
+ numbersep=9pt, % This defines how far the numbers are from the text
+ backgroundcolor=\color{gray!10},
+ tabsize=2,
+ frame=single,
+ rulecolor=\color{black!30},
+ captionpos=t,
+ belowcaptionskip=10pt,
+ escapeinside={\%*}{*)},
+ breaklines=true,%
+ breakatwhitespace=true,
+ framextopmargin=2pt,
+ framexbottommargin=2pt,
+ keywordstyle=\color{blue},%
+ morekeywords=[2]{1}, keywordstyle=[2]{\color{black}},
+ identifierstyle=\color{black},%
+ stringstyle=\color{mylilas},
+ commentstyle=\color{mygreen},%
+ extendedchars=true,
+ inputencoding=utf8,
+ showstringspaces=false,% Without this there will be a symbol in the places where there is a space
+ literate={á}{{\'a}}1 {ã}{{\~a}}1 {é}{{\'e}}1 {ç}{{\c{c}}}1 {â}{{\^a}}1 {õ}{{\~o}}1 {ú}{{\'u}}1 {ó}{{\'o}}1 {í}{{\'i}}1 {Í}{{\'I}}1
+}
+% Configura lista de códigos
+\AtBeginDocument{%
+\renewcommand\lstlistoflistings{\bgroup
+ \let\contentsname\lstlistlistingname
+ \IfStrEq{\numb}{chap}
+ {\def\l@lstlisting##1##2{\@dottedtocline{1}{0em}{2.3em}{\lstlistingname~##1}{##2}}}
+ {\def\l@lstlisting##1##2{\@dottedtocline{1}{0em}{1.8em}{\lstlistingname~##1}{##2}}}
+ \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}%
+ \tableofcontents \egroup}
+}
% ---
% ---
@@ -115,18 +273,19 @@
\RequirePackage{indentfirst} % Indenta o primeiro parágrafo de cada seção.
\RequirePackage{microtype} % Para melhorias de justificação
\RequirePackage{icomma} % Configura casas decimais separadas por vírgula
-\setlength{\parindent}{3em} % Tamanho da indentação da primeira linha do parágrafo
\frenchspacing % Retira espaço extra entre as frases (após o ponto final)
-\setlength{\parskip}{3pt plus 1pt minus 1pt} % Espaço entre parágrafos
\pdfminorversion=7 % Configuração da versão do arquivo pdf produzido
-% Configurações das margens e cabeçalho
-\AtBeginDocument{
-\setlrmarginsandblock{3cm}{2cm}{*} % Margens esquerda e direita
-\setulmarginsandblock{3cm}{2cm}{*} % Margens superior e inferior
-\checkandfixthelayout[nearest] % Implementa as margens
-\pagestyle{myheadings} % Cabeçalho com linha e numeração da página
-}
+% Configurações dos cabeçalhos
+\makepagestyle{simple} % Cabeçalho com número de pagina e linha horizontal
+\makeevenhead{simple}{\footnotesize\thepage}{}{}
+\makeoddhead{simple}{}{}{\footnotesize\thepage}
+\makeheadrule{simple}{\textwidth}{\normalrulethickness}
+\makepagestyle{plain} % Cabeçalho com número de pagina e sem linha horizontal
+\makeevenhead{plain}{\footnotesize\thepage}{}{}
+\makeoddhead{plain}{}{}{\footnotesize\thepage}
+\newcommand{\textualsimples}{\ifthenelse{\equal{\ABNTEXisarticle}{true}}
+{\pagestyle{plain}}{\pagestyle{simple}\aliaspagestyle{chapter}{abntchapfirst}}}
% Espaçamento para notas de rodapé
\setlength{\skip\footins}{20pt plus 2pt minus 2pt} % Espaço entre o texto e as notas de rodapé
@@ -139,33 +298,47 @@
\setlength{\intextsep}{14pt plus 2pt minus 2pt} % Espaçamento entre texto e floats no meio da página
% Ajusta espaçamento nos ambientes itemize, enumerate, description e alineas
-\setlist[itemize]{topsep=0pt,itemsep=0pt,leftmargin=\parindent}
-\setlist[enumerate]{topsep=0pt,itemsep=0pt,leftmargin=\parindent}
-\setlist[description]{topsep=0pt,itemsep=0pt,leftmargin=\parindent}
-\setlist[alineas,1]{label={\alph*)},topsep=0pt,itemsep=0pt,leftmargin=\parindent}%
+\setlist[itemize,enumerate,description]{topsep=1pt,itemsep=0pt,parsep=1pt,partopsep=1pt,leftmargin=\parindent}
+\setlist[alineas,1]{label={\alph*)},topsep=1pt,itemsep=0pt,parsep=1pt,partopsep=1pt,leftmargin=\parindent}
-% Numeração por capítulo das figuras e tabelas
+% Numeração de figuras, tabelas, etc. por capítulo ou para o documento inteiro
+\AtBeginDocument{% Numeração por capítulo
+\IfStrEq{\numb}{chap}{
\renewcommand{\thefigure}{\thechapter.\arabic{figure}}\numberwithin{figure}{chapter}
\renewcommand{\thetable}{\thechapter.\arabic{table}}\numberwithin{table}{chapter}
-
+\renewcommand{\theequation}{\thechapter.\arabic{equation}}\numberwithin{equation}{chapter}
+}{% Numeração para o documento inteiro (padrão ABNT)
+\counterwithout{equation}{chapter}
+\counterwithout{quadro}{chapter}
+\counterwithout{lstlisting}{chapter}
+\counterwithout{algocf}{chapter}
+\counterwithout{theorem}{chapter}
+\counterwithout{lemma}{chapter}
+\counterwithout{proposition}{chapter}
+\counterwithout{corollary}{chapter}
+\counterwithout{definition}{chapter}
+\counterwithout{assumption}{chapter}
+\counterwithout{axiom}{chapter}
+\counterwithout{conjecture}{chapter}
+\counterwithout{property}{chapter}
+\counterwithout{example}{chapter}
+\counterwithout{exercise}{chapter}
+\counterwithout{problem}{chapter}
+\counterwithout{remark}{chapter}
+}}
% Modifica o tamanho da fonte e espaçamento entre linhas no ambiente verbatim
\RequirePackage{fvextra}
\renewenvironment{verbatim}{\VerbatimEnvironment
- \begin{Verbatim}[fontsize=\small,baselinestretch=1.1]%
+ \begin{Verbatim}[fontsize=\footnotesize,baselinestretch=1.08]%
}{%
\end{Verbatim}
}%
-\fvset{listparameters=\setlength{\topsep}{6pt}\setlength{\partopsep}{0pt}}
+\fvset{listparameters=\setlength{\topsep}{4pt}\setlength{\partopsep}{0pt}}
% ---
% ---
% Configurações do Sumário
% ---
-\settocdepth{subsection}
-\setlength{\cftbeforechapterskip}{5pt plus 1pt minus 1pt}
-\setlength{\cftbeforepartskip}{10pt plus 2pt minus 2pt}
-
-% Corrige fontes tipográficas dos anexos e apêndices no sumário
\ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}{
\renewcommand{\cftpartfont}{\bfseries\sffamily}
\renewcommand{\cftpartpagefont}{\bfseries\sffamily}
@@ -176,6 +349,9 @@
\renewcommand{\cftchapterfont}{\bfseries\sffamily}
\renewcommand{\cftpartpagefont}{\bfseries\sffamily}
\renewcommand{\cftchapterpagefont}{\bfseries\sffamily}
+\settocdepth{subsection}
+\setlength{\cftbeforechapterskip}{5pt plus 1pt minus 1pt}
+\setlength{\cftbeforepartskip}{10pt plus 2pt minus 2pt}
}
% Corrige warning do pacote hyperref para sumário ABNT
\renewcommand{\PRIVATEapendiceconfig}[2]{%
@@ -187,9 +363,25 @@
\renewcommand{\appendixtocname}{#2}
}
\renewcommand{\appendixpagename}{#2}
- \switchchapname{#1}
+ \ifthenelse{\boolean{ABNTEXsumario-abnt-6027-2012}}
+ {\switchchapname{\MakeTextUppercase{#1}}}{\switchchapname{#1}}
\renewcommand*{\cftappendixname}{#1 \space}
}
+% Apendices - comando
+\renewcommand{\apendices}{%
+ \PRIVATEapendiceconfig{\apendicename}{\apendicesname}
+ \appendix
+}
+% Apendices - ambiente
+\renewenvironment{apendicesenv}{%
+ \PRIVATEapendiceconfig{\apendicename}{\apendicesname}
+ \crefalias{chapter}{appendix} % Adicionado
+ \begin{appendix}
+}{
+ \end{appendix}
+ \setboolean{abntex@apendiceousecao}{false}
+ \bookmarksetup{startatroot}
+}
% Corrige nome dos anexos nas referências cruzadas
\renewcommand{\anexos}{%
\cftinserthook{toc}{AAA}
@@ -202,7 +394,8 @@
\cftinserthook{toc}{AAA}
%\PRIVATEapendiceconfig{\anexoname}{\anexosname}
\PRIVATEapendiceconfig{\Anexoname}{\Anexosname}
- \crefalias{appendix}{annex}
+ %\crefalias{appendix}{annex}
+ \crefalias{chapter}{annex}%
\begin{appendix}
\renewcommand\theHchapter{anexochapback.\arabic{chapter}}
}{%
@@ -216,8 +409,7 @@
% Configurações das legendas
% ---
% Legenda das figuras/tabelas na parte superior, tamanho da fonte e espaçamento
-\captionsetup{figureposition=t,font={small},skip=10pt}
-
+\captionsetup{font=small,belowskip=2pt}
% Espaçamento vertical do comando \legend
\renewcommand{\legend}[1]{%
\M@gettitle{#1}%
@@ -234,8 +426,7 @@
\@makecaption{}{\ABNTEXfontereduzida #1}\par
\endgroup
}
-% Espaçamento vertical do comando \fonte
-% Também define o espaçamento do comando \nota
+% Espaçamento vertical do comando \fonte (e de \nota)
\renewcommand{\fonte}[2][\fontename]{%
\M@gettitle{#2}%
\memlegendinfo{#2}%
@@ -262,69 +453,7 @@
colorlinks=true,
allcolors=azulunb,
linktocpage,
- bookmarksdepth=4
-}
-% ---
-
-% ---
-% Pacotes para inserir algoritmos
-% ---
-\RequirePackage[chapter]{algorithm}
-\RequirePackage{algpseudocode}
-% Fix anchor names for algorithm lines
-\newcounter{Halgorithmic}
-\AtBeginEnvironment{algorithmic}{\stepcounter{Halgorithmic}}
-\ExpandArgs{c}\renewcommand{theHALG@line}{\arabic{Halgorithmic}.\arabic{ALG@line}}
-% ---
-
-% ---
-% Pacote para inserir códigos de programação
-% ---
-\RequirePackage{listings}
-
-% Julia (Linguagem não reconhecida automaticamente pelo pacote listings)
-\lstdefinelanguage{Julia}%
- {morekeywords={abstract,break,case,catch,const,continue,do,else,elseif,%
- end,export,false,for,function,immutable,import,importall,if,in,%
- macro,module,otherwise,quote,return,switch,true,try,type,typealias,%
- using,while},%
- sensitive=true,%
- alsoother={\$},%
- morecomment=[l]\#,%
- morecomment=[n]{\#=}{=\#},%
- morestring=[s]{"}{"},%
- morestring=[m]{'}{'},%
-}[keywords,comments,strings]%
-
-\definecolor{mygreen}{RGB}{28,172,0} % Color values Red, Green, Blue
-\definecolor{mylilas}{RGB}{170,55,241}
-
-\lstset{%
- basicstyle=\linespread{1.1}\ttfamily\footnotesize,
- numbers=left,%
- numberstyle={\scriptsize \color{black}}, % Size of the numbers
- numbersep=9pt, % This defines how far the numbers are from the text
- backgroundcolor=\color{gray!10},
- tabsize=2,
- frame=single,
- rulecolor=\color{black!30},
- %title=\lstname,
- captionpos=t,
- belowcaptionskip=10pt,
- escapeinside={\%*}{*)},
- breaklines=true,%
- breakatwhitespace=true,
- framextopmargin=2pt,
- framexbottommargin=2pt,
- keywordstyle=\color{blue},%
- morekeywords=[2]{1}, keywordstyle=[2]{\color{black}},
- identifierstyle=\color{black},%
- stringstyle=\color{mylilas},
- commentstyle=\color{mygreen},%
- extendedchars=true,
- inputencoding=utf8,
- showstringspaces=false,% Without this there will be a symbol in the places where there is a space
- literate={á}{{\'a}}1 {ã}{{\~a}}1 {é}{{\'e}}1 {ç}{{\c{c}}}1 {â}{{\^a}}1 {õ}{{\~o}}1 {ú}{{\'u}}1 {ó}{{\'o}}1 {í}{{\'i}}1 {Í}{{\'I}}1
+ bookmarksdepth=4,
}
% ---
@@ -332,13 +461,27 @@
% Pacote para remissões internas
% ---
\IfStrEq{\idioma}{brazil}
-{\RequirePackage[nameinlink,noabbrev,brazilian]{cleveref}}{\RequirePackage[nameinlink,noabbrev,english]{cleveref}}
+{\RequirePackage[nameinlink,noabbrev,brazilian]{cleveref}}
+{\RequirePackage[nameinlink,noabbrev,english]{cleveref}}
\crefname{annex}{\anexoname}{\anexosname}
\Crefname{annex}{\Anexoname}{\Anexosname}
\crefname{listing}{\codigoname}{\codigosname}
\Crefname{listing}{\Codigoname}{\Codigosname}
\crefname{subsection}{\subsectionname}{\subsectionsname}
\Crefname{subsection}{\Subsectionname}{\Subsectionsname}
+\crefname{quadro}{\quadroname}{\quadrosname}
+\Crefname{quadro}{\Quadroname}{\Quadrosname}
+\newcommand\cref@smugglelabel{\let\cref@currentlabel\cref@gcurrentlabel@temp}
+\newcommand\cref@updatelabeldata[1]{%
+ \cref@constructprefix{#1}{\cref@result}%
+ \@ifundefined{cref@#1@alias}%
+ {\def\@tempa{#1}}%
+ {\def\@tempa{\csname cref@#1@alias\endcsname}}%
+ \protected@xdef\cref@gcurrentlabel@temp{%
+ [\@tempa][\arabic{#1}][\cref@result]%
+ \csname p@#1\endcsname\csname the#1\endcsname}%
+ \aftergroup\cref@smugglelabel}
+\AddToHook{label}{\cref@updatelabeldata{\@currentcounter}}
% ---
% ---
@@ -347,14 +490,14 @@
\RequirePackage{mdframed}
\theoremstyle{definition}
-\mdfdefinestyle{plainSty}{hidealllines=true,backgroundcolor=verdeunb!10}
+\mdfdefinestyle{plainSty}{hidealllines=true,backgroundcolor=verdeunb!10,innertopmargin=0pt}
\newmdtheoremenv[style=plainSty]{theorem}{\thname}[chapter] % Teorema
\newmdtheoremenv[style=plainSty]{lemma}{\lmname}[chapter] % Lema
\newmdtheoremenv[style=plainSty]{proposition}{\prname}[chapter] % Proposição
\newmdtheoremenv[style=plainSty]{corollary}{\crname}[chapter] % Corolário
\theoremstyle{definition}
-\mdfdefinestyle{defnSty}{hidealllines=true,backgroundcolor=azulunb!10}
+\mdfdefinestyle{defnSty}{hidealllines=true,backgroundcolor=azulunb!10,innertopmargin=0pt}
\newmdtheoremenv[style=defnSty]{definition}{\dfname}[chapter] % Definição
\newmdtheoremenv[style=defnSty]{assumption}{\aptname}[chapter] % Hipótese
\newmdtheoremenv[style=defnSty]{axiom}{\axname}[chapter] % Axioma
@@ -367,22 +510,24 @@
\theoremstyle{remark}
\let\proof\relax
\let\endproof\relax
-\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{remark}{\rmname}[chapter] % Observação
+\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false,innertopmargin=4pt]{remark}{\rmname}[chapter] % Observação
\newtheoremstyle{myproof}{\topsep}{\topsep}{}{}{\bfseries}{}{ }{\thmname{#1} \thmnote{#3}}
\theoremstyle{myproof}
\let\proof\relax
\let\endproof\relax
-\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false]{proof}{\proofname.} % Prova
+\newmdtheoremenv[linecolor=verdeunb,linewidth=1pt,hidealllines=false,innertopmargin=0pt]{proof}{\proofname.} % Prova
\AtEndEnvironment{proof}{\hfill$\square$}
-\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false]{solution}{\sltname.} % Solução
+\newmdtheoremenv[linecolor=azulunb,linewidth=1pt,hidealllines=false,innertopmargin=0pt]{solution}{\sltname.} % Solução
% ---
% ---
% Referências bibliográficas
% ---
% Lista na bibliografia o número das páginas em que cada referência é citada
-\RequirePackage[hyperpageref]{backref}
+\IfStrEq{\idioma}{brazil}
+{\RequirePackage[hyperpageref,brazilian]{backref}}
+{\RequirePackage[hyperpageref,english]{backref}}
\AtBeginDocument{
\renewcommand*{\backref}[1]{}
\renewcommand*{\backrefalt}[4]{\ifcase#1\nocitation\or\citedp~#2.\else\citedpp~#2.\fi}
@@ -395,13 +540,13 @@
% Gera as referências bibliográficas de acordo com as normas da ABNT
\newcommand{\bibhang}[1]{\setlength{\bibindent}{#1}}
\IfStrEq{\bibsty}{alf}{% Estilo autor-data
-\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[alf,abnt-etal-list=0,abnt-etal-cite=3,abnt-emphasize=bf,abnt-missing-year=sd,bibjustif]{abntex2cite}
\renewcommand{\@biblabel}[1]{}%
\IfStrEq{\idioma}{brazil} % Seleciona o arquivo de estilo de citação
{\bibliographystyle{unbtexcite/unbtex-alf-pt}}{\bibliographystyle{unbtexcite/unbtex-alf-en}}
}{%
\IfStrEq{\bibsty}{num}{% Estilo numérico
-\RequirePackage[num,abnt-etal-list=0,abnt-emphasize=bf,bibjustif]{abntex2cite}
+\RequirePackage[num,abnt-etal-list=0,abnt-emphasize=bf,abnt-missing-year=sd,bibjustif]{abntex2cite}
\RequirePackage{cite} % Para ordenar, comprimir e colocar entre colchetes os números nas citações
\renewcommand{\@biblabel}[1]%
{%
@@ -438,7 +583,7 @@
\renewcommand\nomgroup[1]{%
\IfStrEqCase{#1}{%
{A}{\vspace{-38pt}\nomenclheader{}} % Lista de abreviaturas e siglas
- {B}{\cleardoublepage % Quebra de página
+ {B}{\PRIVATEclearpageifneeded % Quebra de página
\pretextualchapter{\hspace{-\leftmargin}\listadesimbolosname} % Lista de símbolos
\vspace{-10pt}\nomenclheader{\nomBname}} % Símbolos romanos
{C}{\nomenclheader{\nomCname}} % Símbolos gregos
@@ -467,18 +612,24 @@
% ---
% Ajusta a indentação das listas de figuras e de tabelas
% ---
-%\RequirePackage{tocbasic} % Já carregado pelo pacote nomencl
+\RequirePackage{tocbasic} % Já carregado pelo pacote nomencl
\DeclareTOCStyleEntry[
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\figurename},
dynnumwidth,
]{tocline}{figure}
-
\DeclareTOCStyleEntry[
indent=0pt,
entrynumberformat=\entrynumberwithprefix{\tablename},
dynnumwidth,
]{tocline}{table}
+\DeclareTOCStyleEntry[
+ level:=figure,
+ numwidth:=figure,
+ indent=0pt,
+ entrynumberformat=\entrynumberwithprefix{\algorithmname},
+ dynnumwidth,
+]{tocline}{algocf}
\newcommand\entrynumberwithprefix[2]{#1~#2\thinspace\hfill}
% ---
@@ -493,31 +644,27 @@
}
\renewenvironment*{citacao}[1][default]{%
\begin{adjustwidth}{\ABNTEXcitacaorecuo}{0mm}%
- \ABNTEXfontereduzida%
+ \ABNTEXfontereduzida\vspace{4pt}
\begin{SingleSpace}%
\ifthenelse{\not\equal{#1}{default}}{\itshape\selectlanguage{#1}}{}%
}{%
- \end{SingleSpace}%
- \end{adjustwidth}}
+ \end{SingleSpace}\vspace{4pt}%
+ \end{adjustwidth}
+}
% ---
% ---
% Define o texto dos rótulos de acordo com o idioma principal selecionado
% ---
-\AtBeginDocument{
-\IfStrEq{\idioma}{brazil}{
-\selectlanguage{brazil}
-\renewcommand{\listfigurename}{Lista de figuras}
-\renewcommand{\bibname}{Referências}
-\renewcommand{\apendicename}{Apêndice}
-\renewcommand{\anexoname}{anexo}\renewcommand{\anexosname}{anexos}
\newcommand{\Anexoname}{Anexo}\newcommand{\Anexosname}{Anexos}
\newcommand{\subsectionname}{subseção}\newcommand{\subsectionsname}{subseções}
\newcommand{\Subsectionname}{Subseção}\newcommand{\Subsectionsname}{Subseções}
-\renewcommand{\lstlistingname}{Código}
\newcommand{\codigoname}{código}\newcommand{\codigosname}{códigos}
\newcommand{\Codigoname}{Código}\newcommand{\Codigosname}{Códigos}
-\renewcommand{\ALG@name}{Algoritmo}
+\newcommand{\algorithmname}{Algoritmo}
+\newcommand{\listquadroname}{Lista de quadros}
+\newcommand{\quadroname}{quadro}\newcommand{\quadrosname}{quadros}
+\newcommand{\Quadroname}{Quadro}\newcommand{\Quadrosname}{Quadros}
\newcommand{\thname}{Teorema}
\newcommand{\lmname}{Lema}
\newcommand{\prname}{Proposição}
@@ -532,47 +679,62 @@
\newcommand{\prbname}{Problema}
\newcommand{\sltname}{Solução}
\newcommand{\rmname}{Observação}
-\renewcommand{\proofname}{Demonstração}
\newcommand{\nocitation}{Nenhuma citação no texto.}
\newcommand{\citedp}{Citado na p.}
\newcommand{\citedpp}{Citado nas pp.}
\newcommand{\nomBname}{Símbolos romanos}
\newcommand{\nomCname}{Símbolos gregos}
-}{
-\selectlanguage{english}
+\addto\captionsbrazil{
+\renewcommand{\listfigurename}{Lista de figuras}
+\renewcommand{\apendicename}{Apêndice}
+\renewcommand{\anexoname}{anexo}\renewcommand{\anexosname}{anexos}
+\renewcommand{\lstlistingname}{Código}
+\renewcommand{\lstlistlistingname}{Lista de códigos}
+\renewcommand{\proofname}{Demonstração}
+}
+\addto\captionsenglish{
+\renewcommand{\bibname}{References}
\renewcommand{\listfigurename}{List of figures}
\renewcommand{\listtablename}{List of tables}
-\renewcommand{\bibname}{References}
-\renewcommand{\apendicename}{Appendix}\renewcommand{\apendicesname}{Appendices}
+\renewcommand{\apendicename}{Appendix}
+\renewcommand{\apendicesname}{Appendices}
\renewcommand{\anexoname}{annex}\renewcommand{\anexosname}{annexes}
-\newcommand{\Anexoname}{Annex}\newcommand{\Anexosname}{Annexes}
-\newcommand{\subsectionname}{subsection}\newcommand{\subsectionsname}{subsections}
-\newcommand{\Subsectionname}{Subsection}\newcommand{\Subsectionsname}{Subsections}
+\renewcommand{\Anexoname}{Annex}\renewcommand{\Anexosname}{Annexes}
+\renewcommand{\subsectionname}{subsection}\renewcommand{\subsectionsname}{subsections}
+\renewcommand{\Subsectionname}{Subsection}\renewcommand{\Subsectionsname}{Subsections}
\renewcommand{\lstlistingname}{Code}
-\newcommand{\codigoname}{code}\newcommand{\codigosname}{codes}
-\newcommand{\Codigoname}{Code}\newcommand{\Codigosname}{Codes}
-\renewcommand{\ALG@name}{Algorithm}
-\newcommand{\thname}{Theorem}
-\newcommand{\lmname}{Lemma}
-\newcommand{\prname}{Proposition}
-\newcommand{\crname}{Corollary}
-\newcommand{\aptname}{Assumption}
-\newcommand{\dfname}{Definition}
-\newcommand{\axname}{Axiom}
-\newcommand{\cjcname}{Conjecture}
-\newcommand{\prpname}{Property}
-\newcommand{\expname}{Example}
-\newcommand{\excname}{Exercise}
-\newcommand{\prbname}{Problem}
-\newcommand{\sltname}{Solution}
-\newcommand{\rmname}{Remark}
+\renewcommand{\lstlistlistingname}{List of codes}
+\renewcommand{\codigoname}{code}\renewcommand{\codigosname}{codes}
+\renewcommand{\Codigoname}{Code}\renewcommand{\Codigosname}{Codes}
+\renewcommand{\algorithmname}{Algorithm}
+\renewcommand{\listquadroname}{List of charts}
+\renewcommand{\quadroname}{chart}\renewcommand{\quadrosname}{charts}
+\renewcommand{\Quadroname}{Chart}\renewcommand{\Quadrosname}{Charts}
+\renewcommand{\thname}{Theorem}
+\renewcommand{\lmname}{Lemma}
+\renewcommand{\prname}{Proposition}
+\renewcommand{\crname}{Corollary}
+\renewcommand{\aptname}{Assumption}
+\renewcommand{\dfname}{Definition}
+\renewcommand{\axname}{Axiom}
+\renewcommand{\cjcname}{Conjecture}
+\renewcommand{\prpname}{Property}
+\renewcommand{\expname}{Example}
+\renewcommand{\excname}{Exercise}
+\renewcommand{\prbname}{Problem}
+\renewcommand{\sltname}{Solution}
+\renewcommand{\rmname}{Remark}
\renewcommand{\proofname}{Proof}
-\newcommand{\nocitation}{No citations.}
-\newcommand{\citedp}{Cit. on p.}
-\newcommand{\citedpp}{Cit. on pp.}
-\newcommand{\nomBname}{Roman letters}
-\newcommand{\nomCname}{Greek letters}
-}}
+\renewcommand{\nocitation}{No citations.}
+\renewcommand{\citedp}{Cit. on p.}
+\renewcommand{\citedpp}{Cit. on pp.}
+\renewcommand{\nomBname}{Roman letters}
+\renewcommand{\nomCname}{Greek letters}
+}
+\AtBeginDocument{
+\IfStrEq{\idioma}{brazil}
+{\selectlanguage{brazil}}{\selectlanguage{english}}
+}
% ---
% ------------------------------------------------------------------------
@@ -630,16 +792,16 @@
% ---
% ---
-% Imprime capa
+% Imprime capa e contracapa
% ---
+\RequirePackage{pdfpages}
+% Imprime capa
\renewcommand{\imprimircapa}{%
\hypersetup{pageanchor=false}
-\setlrmargins{*}{*}{1} % Margens laterais iguais para a capa
-\setulmarginsandblock{3cm}{2cm}{*}
-\checkandfixthelayout[fixed]
+\begin{adjustwidth}{0cm}{1cm}
\begin{capa}%
- \center
- \AddToShipoutPicture*{\BackgroundPic}
+ \begin{center}
+ \AddToShipoutPictureBG*{\includegraphics[height=\paperheight]{unbtexcover/capa.pdf}}
\vspace*{7.5cm}
{\LARGE\sffamily\bfseries\instituicaoi \\ \instituicaoii \\
\abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
@@ -654,33 +816,34 @@
{\Large\autorinome\ \autorisobrenome \\
\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
\vfill\vfill
- \begin{center}
\color{white}{\sffamily\large\MakeUppercase \imprimirtipotrabalho \\[2pt]
\MakeUppercase\imprimircurso \\
% Define o espaçamento vertical entre o nome do curso e o local (Brasília)
\autotitle[1]{\MakeUppercase\imprimircurso}
\ifdefined\decvspace \vspace{2pt} \else \vspace{20pt} \fi
\imprimirlocal \\ \imprimirano\par}
- \end{center}
+ \end{center}
\end{capa}
% Reestabelece as margens
-\setlrmarginsandblock{3cm}{2cm}{*}
-\setulmarginsandblock{3cm}{2cm}{*}
-\checkandfixthelayout[nearest]
+\end{adjustwidth}
\cleardoublepage
\hypersetup{pageanchor=true}
+\AtEndDocument{\imprimircontracapa}
}
-
-% Figura de fundo da capa
-\RequirePackage{pdfpages} % Também funciona com o pacote eso-pic
-\newcommand\BackgroundPic{%
- \put(0,0){%
- \parbox[b][\paperheight]{\paperwidth}{%
- \vfill
- \centering \includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{capa_fundo.pdf}%
- \vfill
- }
- }
+% Imprime contracapa
+\newcommand{\imprimircontracapa}{%
+\cleardoublepage
+\pagestyle{empty}
+\if@twoside
+\addtocounter{page}{-2}
+\ifoddpage\else\ \fi
+\else
+\addtocounter{page}{-1}
+\fi
+\hypersetup{pageanchor=false}
+\newpage
+\includepdf[height=\paperheight]{unbtexcover/contracapa.pdf}
+\hypersetup{pageanchor=true}
}
% ---
@@ -692,7 +855,6 @@
{\LARGE\sffamily\bfseries \instituicaoi \\ \instituicaoii \\
\abntex@ifnotempty{\instituicaoiii}{\instituicaoiii}\par}
\vfill\vfill
-
\begin{center}
% Define o tamanho da fonte do título
\ifthenelse{\equal{\imprimirtituloestrangeiro}{}}
@@ -700,11 +862,9 @@
{\autotitle[4]{\bfseries\imprimirtituloestrangeiro}{\color{verdeunb}\titleformat\bfseries \imprimirtituloestrangeiro\par}}
\end{center}
\vfill
-
{\Large\autorinome\ \autorisobrenome \\
\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
\vfill
-
\abntex@ifnotempty{\imprimirpreambulo}{%
\begin{flushright}
\begin{minipage}{.5\textwidth}
@@ -714,13 +874,10 @@
\end{otherlanguage*}}
\end{minipage}%
\end{flushright}
-}%
-\vfill
-
-{\large \orientname: \orienttitulo\ \orientnome\ \orientsobrenome \\
-\abntex@ifnotempty{\coorientnome}{\coorientname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}\par}
+\vfill}%
+{\abntex@ifnotempty{\orientnome}{\large \orientname: \orienttitulo\ \orientnome\ \orientsobrenome \\
+\abntex@ifnotempty{\coorientnome}{\coorientname: \coorienttitulo\ \coorientnome\ \coorientsobrenome}\par}}
\vfill
-
{\sffamily\large\abntex@ifnotempty{\imprimirpublicacao}{\imprimirpublicacao \\ \vfill} \imprimirlocal \\ \imprimirano\par}
\end{center}
}
@@ -753,7 +910,7 @@
\\ \cutter
\hspace*{2em}\noindent\begin{otherlanguage*}{brazil}\imprimirtipotrabalho\ (\imprimircurso)\ \texttt{-{}-} \instituicaoi, \imprimirano.\end{otherlanguage*} \\ \cutter
\\ \cutter
-\hspace*{2em}\noindent\IfStrEq{\idioma}{brazil}{1. \pchaveinome. 2. \pchaveiinome. 3. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \pchavevnome.}}}{1. \kwordinome. 2. \kwordiinome. 3. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \kwordvnome.}}}%
+\hspace*{2em}\noindent\IfStrEq{\idioma}{brazil}{1. \expandafter\MakeUppercase\pchaveinome. 2. \expandafter\MakeUppercase\pchaveiinome. 3. \expandafter\MakeUppercase\pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{4. \expandafter\MakeUppercase\pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{5. \expandafter\MakeUppercase\pchavevnome.~}}}{1. \expandafter\MakeUppercase\kwordinome. 2. \expandafter\MakeUppercase\kwordiinome. 3. \expandafter\MakeUppercase\kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{4. \expandafter\MakeUppercase\kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{5. \expandafter\MakeUppercase\kwordvnome.~}}}%
\begin{otherlanguage*}{brazil}{\ifthenelse{\equal{\autoriinome}{}}{\ifthenelse{\equal{\coorientnome}{}}{I. \orientsobrenome, \orientnome, orient. II. Título.}{I. \orientsobrenome, \orientnome, orient. II. \coorientsobrenome, \coorientnome, coorient. III. Título.}}{\ifthenelse{\equal{\coorientnome}{}}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. Título.}{I. \autoriisobrenome, \autoriinome. II. \orientsobrenome, \orientnome, orient. III. \coorientsobrenome, \coorientnome, coorient. IV. Título.}}}\end{otherlanguage*}
\IfInteger{\imprimircutter}{\end{tabular}}{}
\end{minipage}}
@@ -781,11 +938,9 @@
{\color{verdeunb}\titleformat\bfseries \StrDel{\imprimirtitulo}{\\}\par}
\end{center}
\vfill
-
{\large\autorinome\ \autorisobrenome \\[2pt]
\abntex@ifnotempty{\autoriinome}{\autoriinome\ \autoriisobrenome}\par}
\vfill
-
\abntex@ifnotempty{\imprimirpreambulo}{%
\begin{flushright}
\begin{minipage}{.5\textwidth}
@@ -797,7 +952,6 @@
\end{flushright}
}%
\vspace{24pt}
-
\raggedright{Trabalho aprovado. \imprimirlocal, \imprimirdia\ de \imprimirmes\ de \imprimirano:}
{%
\assinatura{\textbf{\membrodabancainome} \\ \membrodabancaifuncaonome}
@@ -808,6 +962,7 @@
}
\end{center}
\end{folhadeaprovacao}
+\cleardoublepage
}
% ---
@@ -817,27 +972,25 @@
% ---
\newenvsc{DedicatoriaAutorI}[store-env=dedicatoriaautori]
\newenvsc{DedicatoriaAutorII}[store-env=dedicatoriaautorii]
+
\newcommand{\imprimirdedicatoria}{
\begin{dedicatoria}
\centering
\vspace*{\fill}
-
% Primeiro autor
-{\itshape\getstored{dedicatoriaautori}}
-
+{\itshape\getstored{dedicatoriaautori}}\par
\ifthenelse{\equal{\autoriinome}{}}{}{
-\vspace{1cm}
+\vspace{\baselineskip}
\autorinome\ \autorisobrenome \par
\vspace*{\fill}
-
% Segundo autor
-{\itshape\getstored{dedicatoriaautorii}}
-
-\vspace{1cm}
+{\itshape\getstored{dedicatoriaautorii}}\par
+\vspace{\baselineskip}
\autoriinome\ \autoriisobrenome
}
\vspace*{\fill}
\end{dedicatoria}
+\cleardoublepage
}
% ---
@@ -846,32 +999,28 @@
% ---
\newenvsc{AgradecimentosAutorI}[store-env=agradecimentosautori]
\newenvsc{AgradecimentosAutorII}[store-env=agradecimentosautorii]
-\newcommand{\idiomaagradecimentos}[1]{\def\acklang{#1}}
+\newcommand{\idiomaagradecimentos}[1]{\def\acklang{#1}}
\newcommand{\imprimiragradecimentos}{
% Define o título da seção de agradecimentos
\IfStrEq{\acklang}{brazil}{
\renewcommand{\agradecimentosname}{Agradecimentos}
}{% Caso os agradecimentos sejam escritos em inglês
\renewcommand{\agradecimentosname}{Acknowledgements}}
-
\begin{agradecimentos}
-
% Primeiro autor
-\getstored{agradecimentosautori}
-
+\getstored{agradecimentosautori}\par
+\vspace{\baselineskip}
\ifthenelse{\equal{\autoriinome}{}}{}{
-\vspace{1cm}
-\hfill \autorinome\ \autorisobrenome
-\vspace{1cm}
-
+\hfill \autorinome\ \autorisobrenome \par
+\vspace{2\baselineskip}
% Segundo autor
-\getstored{agradecimentosautorii}
-
-\vspace{1cm}
+\getstored{agradecimentosautorii}\par
+\vspace{\baselineskip}
\hfill \autoriinome\ \autoriisobrenome
}
\end{agradecimentos}
+\cleardoublepage
}
% ---
@@ -881,44 +1030,122 @@
\newenvsc{Epigrafe}[store-env=epigrafe]
\newcommand{\imprimirepigrafe}{
\begin{epigrafe}
-\getstored{epigrafe}
+\getstored{epigrafe}\par
\end{epigrafe}
+\cleardoublepage
}
% ---
% ---
-% Imprime resumo (em português)
+% Imprime resumo e abstract
% ---
+% Resumo
\newenvsc{Resumo}[store-env=resumo]
\newcommand{\imprimirresumo}{
-\newpage
\setlength{\absparsep}{\parsep}
\begin{resumo}[Resumo]\vspace{\baselineskip}
\begin{otherlanguage*}{brazil}
-\getstored{resumo}
-\vspace{\onelineskip}
-
-{\sffamily\bfseries Palavras-chave:} \pchaveinome. \pchaveiinome. \pchaveiiinome. \ifthenelse{\equal{\pchaveivnome}{}}{}{\pchaveivnome. \ifthenelse{\equal{\pchavevnome}{}}{}{\pchavevnome.}}
+\getstored{resumo}\par
+\vspace{\baselineskip}
+{\sffamily\bfseries Palavras-chave:} \pchaveinome; \pchaveiinome; \pchaveiiinome\ifthenelse{\equal{\pchaveivnome}{}}{.}{;~\pchaveivnome\ifthenelse{\equal{\pchavevnome}{}}{.}{;~\pchavevnome.}}
\end{otherlanguage*}
+\vspace{\baselineskip}
\end{resumo}
+\PRIVATEclearpageifneeded
}
-% ---
-
-% ---
-% Imprime resumo (em inglês)
-% ---
+% Abstract
\newenvsc{Abstract}[store-env=abstract]
\newcommand{\imprimirabstract}{
-\newpage
\setlength{\absparsep}{\parsep}
\begin{resumo}[Abstract]\vspace{\baselineskip}
\begin{otherlanguage*}{english}
-\getstored{abstract}
-\vspace{\onelineskip}
-
-{\sffamily\bfseries Keywords:} \kwordinome. \kwordiinome. \kwordiiinome. \ifthenelse{\equal{\kwordivnome}{}}{}{\kwordivnome. \ifthenelse{\equal{\kwordvnome}{}}{}{\kwordvnome.}}
+\getstored{abstract}\par
+\vspace{\baselineskip}
+{\sffamily\bfseries Keywords:} \kwordinome; \kwordiinome; \kwordiiinome\ifthenelse{\equal{\kwordivnome}{}}{.}{;~\kwordivnome\ifthenelse{\equal{\kwordvnome}{}}{.}{;~\kwordvnome.}}
\end{otherlanguage*}
\end{resumo}
+\vspace{\baselineskip}
+\PRIVATEclearpageifneeded
+}
+% Insere resumo e abstract
+\newcommand{\imprimirresumos}{
+\IfStrEq*{\idioma}{brazil}
+{\imprimirresumo
+\imprimirabstract}
+{\imprimirabstract
+\imprimirresumo}
+}
+% ---
+
+% ---
+% Imprime lista de figuras
+% ---
+\newcommand{\imprimirlistadefiguras}{
+\pdfbookmark[0]{\listfigurename}{lof}
+\listoffigures*
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime lista de quadros
+% ---
+\newcommand{\imprimirlistadequadros}{
+\pdfbookmark[0]{\listquadroname}{loq}
+\listofquadros*
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime lista de tabelas
+% ---
+\newcommand{\imprimirlistadetabelas}{
+\pdfbookmark[0]{\listtablename}{lot}
+\listoftables*
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime lista de algoritmos
+% ---
+\newcommand{\imprimirlistadealgoritmos}{
+\pdfbookmark[0]{\listalgorithmcfname}{loa}
+\listofalgorithms
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime lista de códigos
+% ---
+\newcommand{\imprimirlistadecodigos}{
+\pdfbookmark[0]{\lstlistlistingname}{lol}
+\begin{KeepFromToc} % Não inclui a lista de códigos no sumário
+\lstlistoflistings
+\end{KeepFromToc}
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime lista de abreviaturas e siglas e lista de símbolos
+% ---
+\newcommand{\imprimirlistadesiglasesimbolos}{
+\PRIVATEbookmarkthis{\listadesiglasname}
+\printnomenclature
+\PRIVATEclearpageifneeded
+}
+% ---
+
+% ---
+% Imprime sumário
+% ---
+\newcommand{\imprimirsumario}{
+\pdfbookmark[0]{\contentsname}{toc}
+\tableofcontents*
+\PRIVATEclearpageifneeded
}
% ---
@@ -950,4 +1177,40 @@
\fi
\newcommand{\titleformat}{\testfontsize}
}
+% ---
+
+% ---
+% Configuracoes para definir idioma principal do documento
+% ---
+\def\HyLang@DeclareLang#1#2#3{%
+ \expandafter\HyLang@addto
+ \csname extras#1\expandafter\endcsname
+ \csname HyLang@#2\endcsname
+ \begingroup
+ \edef\x{\endgroup
+ #3%
+ }%
+ \x
+ \@namedef{HyLang@#1@done}{}%
+ \begingroup
+ \edef\x##1##2{%
+ \noexpand\ifx##2\relax
+ \errmessage{No definitions for language #2' found!}%
+ \noexpand\fi
+ \endgroup
+ \noexpand\define@key{Hyp}{#1}[]{%
+ \noexpand\@ifundefined{HyLang@#1@done}{%
+ \noexpand\HyLang@addto{\noexpand##1}{\noexpand##2}%
+ #3%
+ \noexpand\@namedef{HyLang@#1@done}{}%
+ }{}%
+ }%
+ }%
+ \expandafter\x\csname extras#1\expandafter\endcsname
+ \csname HyLang@#2\endcsname
+}
+\HyLang@DeclareLang{english}{english}{}
+\HyLang@DeclareLang{brazil}{portuges}{}
+\HyLang@DeclareLang{brazilian}{portuges}{}
+\HyLang@DeclareLang{portuguese}{portuges}{}
% --- \ No newline at end of file
diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst
index 8020e2e98d..3c4fa457be 100644
--- a/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst
+++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-en.bst
@@ -6,13 +6,13 @@
%% https://github.com/abntex/abntex2/issues/97
%%
%% abntex2-alf.bst, v-1.9.7 laurocesar
-%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/
+%% Copyright 2012-2018 by abnTeX2 group at https://www.abntex.net.br/
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3 of this license or (at
%% your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%%
@@ -20,7 +20,7 @@
%%
%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
%% César Araujo. Further information are available on
-%% http://www.abntex.net.br/
+%% https://www.abntex.net.br/
%%
ENTRY
@@ -33,7 +33,7 @@ ENTRY
isbn issn journal key month note marginnote number organization
org-short pages pagename
publisher reprinted-from reprinted-text school
- series subtitle section title type url urlaccessdate
+ series subtitle section title type doi url urlaccessdate
volume year year-presented
abnt-and-type
abnt-doi abnt-dont-use-etal
@@ -249,7 +249,7 @@ FUNCTION {bbl.edby} { "edited by" }
FUNCTION {bbl.edition} { "ed." }
FUNCTION {bbl.empty} {""}
FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
-FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.doi.url} {"https://dx.doi.org/"}
FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
{abnt.ldots.type
@@ -261,14 +261,14 @@ if$}
FUNCTION {bbl.master} { "Master of Science" }
FUNCTION {bbl.missing.year}
{abnt.missing.year
-{""} %{"[s.d.]"} %#1
-{""} %#0
+ {"[\emph{n.d.}]"} %#1
+ {""}
if$}
FUNCTION {bbl.monography} { "Monography" }
FUNCTION {bbl.mthesis} { "Dissertation" }
-FUNCTION {bbl.no.address} {""}%{"[S.l.]"}
-FUNCTION {bbl.no.address.no.publisher} {""}%{"[S.l.: s.n.]"}
-FUNCTION {bbl.no.publisher} {""}%{"[s.n.]"}
+FUNCTION {bbl.no.address} {"[\emph{S.l.}]"}
+FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.}: \emph{s.n.}]"}
+FUNCTION {bbl.no.publisher} {"[\emph{s.n.}]"}
FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
FUNCTION {bbl.nr} { "n." }
FUNCTION {bbl.of} { "of" }
@@ -399,6 +399,7 @@ FUNCTION {write.entry.verbatim2}
}
FUNCTION {write.entry.verbatim3}
{
+ "doi" doi write.field.verbatim
"url" url write.field.verbatim
"urlaccessdate" urlaccessdate write.field.verbatim
"volume" volume write.field.verbatim
@@ -610,6 +611,13 @@ FUNCTION {format.issn}
if$
}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {new.block duplicate$ "DOI \href{https://dx.doi.org/" swap$ * "}{" * swap$ * "}" *}
+ if$
+}
+
FUNCTION {format.note}
{ note empty$
{ "" }
@@ -899,7 +907,7 @@ FUNCTION {format.journal.pages}
}
FUNCTION {get.url.type}
-{s #1 #5 substring$ "http:" = {http.url}
+{s #1 #5 substring$ "https:" = {http.url}
{s #1 #6 substring$ "https:" = {http.url}
{s #1 #5 substring$ "file:" = {file.url}
{s #1 #4 substring$ "ftp:" = {ftp.url}
@@ -1087,8 +1095,8 @@ FUNCTION {format.type}
FUNCTION {format.year}
{year empty$
{ "campo year vazio ou faltando em " cite$ *
- abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
- abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+ abnt.missing.year {" (reference with [n.d.] no data)" *} 'skip$ if$ warning$
+ abnt.missing.year {" " } {""} if$ bbl.missing.year *}
{year n.dashify "year" bibinfo.check}
if$
}
@@ -1106,8 +1114,7 @@ FUNCTION {format.field.address}
{bbl.no.address.no.publisher}
{address empty$
%if an url is present we don't give a missing address "[s.l.]" notice
- %{url empty$ {bbl.no.address ": "} {"" ""} if$} % remove : após [s.l.] em book
- {url empty$ {bbl.no.address " "} {"" ""} if$}
+ {url empty$ {bbl.no.address ": "} {"" ""} if$}
{address ": "}
if$
t empty$
@@ -1645,6 +1652,7 @@ FUNCTION {article}
non.iso.date
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1668,6 +1676,7 @@ FUNCTION {book}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1687,6 +1696,7 @@ FUNCTION {booklet}
format.volume.number.series output new.sentence
format.note output
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1712,6 +1722,7 @@ FUNCTION {inbook}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1732,6 +1743,7 @@ FUNCTION {incollection}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1751,6 +1763,7 @@ FUNCTION {inproceedings}
format.isbn output
format.issn output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1774,6 +1787,7 @@ FUNCTION {journalpart}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1793,6 +1807,7 @@ FUNCTION {manual}
format.book.pages output new.sentence
format.volume.number.series output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1814,6 +1829,7 @@ FUNCTION {misc}
format.howpublished output new.block
format.volume.number.series output new.sentence
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
empty.misc.check
@@ -1878,6 +1894,7 @@ FUNCTION {thesis}
abnt.thesis.year #0 = abnt.thesis.year #2 = or
{format.date "year" output.check new.sentence} 'skip$ if$
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1912,6 +1929,7 @@ FUNCTION {proceedings}
format.isbn output
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1927,6 +1945,7 @@ FUNCTION {unpublished}
%format.date output new.sentence
iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
{format.year output new.sentence} if$
+ format.doi output new.block
format.url
fin.entry
}
@@ -2039,7 +2058,7 @@ FUNCTION {set.default.abnt.variables}
#0 'abnt.full.initials :=
#0 'abnt.last.names := %#0 abnt-style, #1 bibtex-style
#1 'abnt.ldots.type := %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
- #0 'abnt.missing.year := %#0 "void"; #1 "[s.d.]"
+ #0 'abnt.missing.year := %#0 "void"; #1 "[n.d.]"
#0 'repeated.author :=
#0 'abnt.repeated.author.omit :=
#0 'abnt.repeated.title.omit :=
@@ -2130,7 +2149,7 @@ FUNCTION {begin.bib}
'skip$ if$
"\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
% Ajusta o espaçamento entre linhas nas referências bibliográficas
-"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$
+"\setlength{\baselineskip}{1.25\baselineskip}" write$ newline$
"\setlength{\itemsep}{0pt}" write$ newline$
}
EXECUTE {begin.bib}
@@ -2143,7 +2162,7 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
FUNCTION {apresentacao}
{ "+---------------------------------------------------------+"
- "| http://www.abntex.net.br/ |"
+ "| https://www.abntex.net.br/ |"
"| Em caso de dúvidas ou problemas com este estilo procure |"
abnt.alf
{"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * " |" *}
diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst
index aa2e3d645f..0dc6c38a22 100644
--- a/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst
+++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-alf-pt.bst
@@ -4,13 +4,13 @@
%% scheme for documents written in Portuguese.
%%
%% abntex2-alf.bst, v-1.9.7 laurocesar
-%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/
+%% Copyright 2012-2018 by abnTeX2 group at https://www.abntex.net.br/
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3 of this license or (at
%% your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%%
@@ -18,7 +18,7 @@
%%
%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
%% César Araujo. Further information are available on
-%% http://www.abntex.net.br/
+%% https://www.abntex.net.br/
%%
ENTRY
@@ -31,7 +31,7 @@ ENTRY
isbn issn journal key month note marginnote number organization
org-short pages pagename
publisher reprinted-from reprinted-text school
- series subtitle section title type url urlaccessdate
+ series subtitle section title type doi url urlaccessdate
volume year year-presented
abnt-and-type
abnt-doi abnt-dont-use-etal
@@ -247,7 +247,7 @@ FUNCTION {bbl.edby} { "editado por" }
FUNCTION {bbl.edition} { "ed." }
FUNCTION {bbl.empty} {""}
FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
-FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.doi.url} {"https://dx.doi.org/"}
FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
{abnt.ldots.type
@@ -265,7 +265,7 @@ FUNCTION {bbl.missing.year}
FUNCTION {bbl.monography} { "Monografia" }
FUNCTION {bbl.mthesis} { "Disserta\c{c}\~{a}o" }
FUNCTION {bbl.no.address} {"[\emph{S.l.}]"}
-FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.: s.n.}]"}
+FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.}: \emph{s.n.}]"}
FUNCTION {bbl.no.publisher} {"[\emph{s.n.}]"}
FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
FUNCTION {bbl.nr} { "n." }
@@ -397,6 +397,7 @@ FUNCTION {write.entry.verbatim2}
}
FUNCTION {write.entry.verbatim3}
{
+ "doi" doi write.field.verbatim
"url" url write.field.verbatim
"urlaccessdate" urlaccessdate write.field.verbatim
"volume" volume write.field.verbatim
@@ -608,6 +609,13 @@ FUNCTION {format.issn}
if$
}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {new.block duplicate$ "DOI \href{https://dx.doi.org/" swap$ * "}{" * swap$ * "}" *}
+ if$
+}
+
FUNCTION {format.note}
{ note empty$
{ "" }
@@ -897,7 +905,7 @@ FUNCTION {format.journal.pages}
}
FUNCTION {get.url.type}
-{s #1 #5 substring$ "http:" = {http.url}
+{s #1 #5 substring$ "https:" = {http.url}
{s #1 #6 substring$ "https:" = {http.url}
{s #1 #5 substring$ "file:" = {file.url}
{s #1 #4 substring$ "ftp:" = {ftp.url}
@@ -1085,8 +1093,8 @@ FUNCTION {format.type}
FUNCTION {format.year}
{year empty$
{ "campo year vazio ou faltando em " cite$ *
- abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
- abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+ abnt.missing.year {" (referencia com [s.d.] sem data)" *} 'skip$ if$ warning$
+ abnt.missing.year {" " } {""} if$ bbl.missing.year *}
{year n.dashify "year" bibinfo.check}
if$
}
@@ -1641,6 +1649,7 @@ FUNCTION {article}
non.iso.date
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1664,6 +1673,7 @@ FUNCTION {book}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1683,6 +1693,7 @@ FUNCTION {booklet}
format.volume.number.series output new.sentence
format.note output
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1708,6 +1719,7 @@ FUNCTION {inbook}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1728,6 +1740,7 @@ FUNCTION {incollection}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1747,6 +1760,7 @@ FUNCTION {inproceedings}
format.isbn output
format.issn output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1770,6 +1784,7 @@ FUNCTION {journalpart}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1789,6 +1804,7 @@ FUNCTION {manual}
format.book.pages output new.sentence
format.volume.number.series output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1810,6 +1826,7 @@ FUNCTION {misc}
format.howpublished output new.block
format.volume.number.series output new.sentence
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
empty.misc.check
@@ -1874,6 +1891,7 @@ FUNCTION {thesis}
abnt.thesis.year #0 = abnt.thesis.year #2 = or
{format.date "year" output.check new.sentence} 'skip$ if$
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1908,6 +1926,7 @@ FUNCTION {proceedings}
format.isbn output
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1923,6 +1942,7 @@ FUNCTION {unpublished}
%format.date output new.sentence
iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
{format.year output new.sentence} if$
+ format.doi output new.block
format.url
fin.entry
}
@@ -2126,7 +2146,7 @@ FUNCTION {begin.bib}
'skip$ if$
"\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
% Ajusta o espaçamento entre linhas nas referências bibliográficas
-"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$
+"\setlength{\baselineskip}{1.25\baselineskip}" write$ newline$
"\setlength{\itemsep}{0pt}" write$ newline$
}
EXECUTE {begin.bib}
@@ -2139,7 +2159,7 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
FUNCTION {apresentacao}
{ "+---------------------------------------------------------+"
- "| http://www.abntex.net.br/ |"
+ "| https://www.abntex.net.br/ |"
"| Em caso de dúvidas ou problemas com este estilo procure |"
abnt.alf
{"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * " |" *}
diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst
index 214bf6dc40..570f8f93b3 100644
--- a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst
+++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-en.bst
@@ -6,13 +6,13 @@
%% https://github.com/abntex/abntex2/issues/97
%%
%% abntex2-num.bst, v-1.9.7 laurocesar
-%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/
+%% Copyright 2012-2018 by abnTeX2 group at https://www.abntex.net.br/
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3 of this license or (at
%% your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%%
@@ -20,7 +20,7 @@
%%
%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
%% César Araujo. Further information are available on
-%% http://www.abntex.net.br/
+%% https://www.abntex.net.br/
%%
ENTRY
@@ -33,7 +33,7 @@ ENTRY
isbn issn journal key month note marginnote number organization
org-short pages pagename
publisher reprinted-from reprinted-text school
- series subtitle section title type url urlaccessdate
+ series subtitle section title type doi url urlaccessdate
volume year year-presented
abnt-and-type
abnt-doi abnt-dont-use-etal
@@ -249,7 +249,7 @@ FUNCTION {bbl.edby} { "edited by" }
FUNCTION {bbl.edition} { "ed." }
FUNCTION {bbl.empty} {""}
FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
-FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.doi.url} {"https://dx.doi.org/"}
FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
{abnt.ldots.type
@@ -261,14 +261,14 @@ if$}
FUNCTION {bbl.master} { "Master of Science" }
FUNCTION {bbl.missing.year}
{abnt.missing.year
- {""} %{"[s.d.]"} %#1
+ {"[\emph{n.d.}]"} %#1
{""} %#0
if$}
FUNCTION {bbl.monography} { "Monography" }
FUNCTION {bbl.mthesis} { "Dissertation" }
-FUNCTION {bbl.no.address} {""}%{"[S.l.]"}
-FUNCTION {bbl.no.address.no.publisher} {""}%{"[S.l.: s.n.]"}
-FUNCTION {bbl.no.publisher} {""}%{"[s.n.]"}
+FUNCTION {bbl.no.address} {"[\emph{S.l.}]"}
+FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.}: \emph{s.n.}]"}
+FUNCTION {bbl.no.publisher} {"[\emph{s.n.}]"}
FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
FUNCTION {bbl.nr} { "n." }
FUNCTION {bbl.of} { "of" }
@@ -399,6 +399,7 @@ FUNCTION {write.entry.verbatim2}
}
FUNCTION {write.entry.verbatim3}
{
+ "doi" doi write.field.verbatim
"url" url write.field.verbatim
"urlaccessdate" urlaccessdate write.field.verbatim
"volume" volume write.field.verbatim
@@ -610,6 +611,13 @@ FUNCTION {format.issn}
if$
}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {new.block duplicate$ "DOI \href{https://dx.doi.org/" swap$ * "}{" * swap$ * "}" *}
+ if$
+}
+
FUNCTION {format.note}
{ note empty$
{ "" }
@@ -899,7 +907,7 @@ FUNCTION {format.journal.pages}
}
FUNCTION {get.url.type}
-{s #1 #5 substring$ "http:" = {http.url}
+{s #1 #5 substring$ "https:" = {http.url}
{s #1 #6 substring$ "https:" = {http.url}
{s #1 #5 substring$ "file:" = {file.url}
{s #1 #4 substring$ "ftp:" = {ftp.url}
@@ -1086,8 +1094,8 @@ FUNCTION {format.type}
FUNCTION {format.year}
{year empty$
{ "campo year vazio ou faltando em " cite$ *
- abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
- abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+ abnt.missing.year {" (reference with [n.d.] no data)" *} 'skip$ if$ warning$
+ abnt.missing.year {" " } {""} if$ bbl.missing.year *}
{year n.dashify "year" bibinfo.check}
if$
}
@@ -1637,6 +1645,7 @@ FUNCTION {article}
non.iso.date
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1660,6 +1669,7 @@ FUNCTION {book}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1679,6 +1689,7 @@ FUNCTION {booklet}
format.volume.number.series output new.sentence
format.note output
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1704,6 +1715,7 @@ FUNCTION {inbook}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1724,6 +1736,7 @@ FUNCTION {incollection}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1743,6 +1756,7 @@ FUNCTION {inproceedings}
format.isbn output
format.issn output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1766,6 +1780,7 @@ FUNCTION {journalpart}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1785,6 +1800,7 @@ FUNCTION {manual}
format.book.pages output new.sentence
format.volume.number.series output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1806,6 +1822,7 @@ FUNCTION {misc}
format.howpublished output new.block
format.volume.number.series output new.sentence
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
empty.misc.check
@@ -1870,6 +1887,7 @@ FUNCTION {thesis}
abnt.thesis.year #0 = abnt.thesis.year #2 = or
{format.date "year" output.check new.sentence} 'skip$ if$
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1904,6 +1922,7 @@ FUNCTION {proceedings}
format.isbn output
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1919,6 +1938,7 @@ FUNCTION {unpublished}
%format.date output new.sentence
iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
{format.year output new.sentence} if$
+ format.doi output new.block
format.url
fin.entry
}
@@ -2031,7 +2051,7 @@ FUNCTION {set.default.abnt.variables}
#0 'abnt.full.initials :=
#0 'abnt.last.names := %#0 abnt-style, #1 bibtex-style
#1 'abnt.ldots.type := %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
- #0 'abnt.missing.year := %#0 "void"; #1 "[s.d.]"
+ #0 'abnt.missing.year := %#0 "void"; #1 "[n.d.]"
#0 'repeated.author :=
#0 'abnt.repeated.author.omit :=
#0 'abnt.repeated.title.omit :=
@@ -2122,7 +2142,7 @@ FUNCTION {begin.bib}
'skip$ if$
"\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
% Ajusta o espaçamento entre linhas nas referências bibliográficas
-"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$
+"\setlength{\baselineskip}{1.25\baselineskip}" write$ newline$
"\setlength{\itemsep}{0pt}" write$ newline$
}
EXECUTE {begin.bib}
@@ -2135,7 +2155,7 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
FUNCTION {apresentacao}
{ "+---------------------------------------------------------+"
- "| http://www.abntex.net.br/ |"
+ "| https://www.abntex.net.br/ |"
"| Em caso de dúvidas ou problemas com este estilo procure |"
abnt.alf
{"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * " |" *}
diff --git a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst
index 6a5eb58034..5319a126c0 100644
--- a/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst
+++ b/macros/latex/contrib/unbtex/unbtexcite/unbtex-num-pt.bst
@@ -4,13 +4,13 @@
%% scheme for documents written in Portuguese.
%%
%% abntex2-num.bst, v-1.9.7 laurocesar
-%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/
+%% Copyright 2012-2018 by abnTeX2 group at https://www.abntex.net.br/
%%
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3 of this license or (at
%% your option) any later version.
%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%%
@@ -18,7 +18,7 @@
%%
%% The Current Maintainer of this work is the abnTeX2 team, led by Lauro
%% César Araujo. Further information are available on
-%% http://www.abntex.net.br/
+%% https://www.abntex.net.br/
%%
ENTRY
@@ -31,7 +31,7 @@ ENTRY
isbn issn journal key month note marginnote number organization
org-short pages pagename
publisher reprinted-from reprinted-text school
- series subtitle section title type url urlaccessdate
+ series subtitle section title type doi url urlaccessdate
volume year year-presented
abnt-and-type
abnt-doi abnt-dont-use-etal
@@ -247,7 +247,7 @@ FUNCTION {bbl.edby} { "editado por" }
FUNCTION {bbl.edition} { "ed." }
FUNCTION {bbl.empty} {""}
FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$}
-FUNCTION {bbl.doi.url} {"http://dx.doi.org/"}
+FUNCTION {bbl.doi.url} {"https://dx.doi.org/"}
FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$}
FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...}
{abnt.ldots.type
@@ -259,14 +259,14 @@ if$}
FUNCTION {bbl.master} { "Mestrado" }
FUNCTION {bbl.missing.year}
{abnt.missing.year
- {"[s.d.]"} %#1
+ {"[\emph{s.d.}]"} %#1
{""} %#0
if$}
FUNCTION {bbl.monography} { "Monografia" }
FUNCTION {bbl.mthesis} { "Disserta\c{c}\~{a}o" }
-FUNCTION {bbl.no.address} {"[S.l.]"}
-FUNCTION {bbl.no.address.no.publisher} {"[S.l.: s.n.]"}
-FUNCTION {bbl.no.publisher} {"[s.n.]"}
+FUNCTION {bbl.no.address} {"[\emph{S.l.}]"}
+FUNCTION {bbl.no.address.no.publisher} {"[\emph{S.l.}: \emph{s.n.}]"}
+FUNCTION {bbl.no.publisher} {"[\emph{s.n.}]"}
FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ }
FUNCTION {bbl.nr} { "n." }
FUNCTION {bbl.of} { "de" }
@@ -397,6 +397,7 @@ FUNCTION {write.entry.verbatim2}
}
FUNCTION {write.entry.verbatim3}
{
+ "doi" doi write.field.verbatim
"url" url write.field.verbatim
"urlaccessdate" urlaccessdate write.field.verbatim
"volume" volume write.field.verbatim
@@ -608,6 +609,13 @@ FUNCTION {format.issn}
if$
}
+FUNCTION {format.doi}
+{ doi "doi" bibinfo.check
+ duplicate$ empty$ 'skip$
+ {new.block duplicate$ "DOI \href{https://dx.doi.org/" swap$ * "}{" * swap$ * "}" *}
+ if$
+}
+
FUNCTION {format.note}
{ note empty$
{ "" }
@@ -897,7 +905,7 @@ FUNCTION {format.journal.pages}
}
FUNCTION {get.url.type}
-{s #1 #5 substring$ "http:" = {http.url}
+{s #1 #5 substring$ "https:" = {http.url}
{s #1 #6 substring$ "https:" = {http.url}
{s #1 #5 substring$ "file:" = {file.url}
{s #1 #4 substring$ "ftp:" = {ftp.url}
@@ -1084,8 +1092,8 @@ FUNCTION {format.type}
FUNCTION {format.year}
{year empty$
{ "campo year vazio ou faltando em " cite$ *
- abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$
- abnt.missing.year {", " } {""} if$ bbl.missing.year *}
+ abnt.missing.year {" (referencia com [s.d.] sem data)" *} 'skip$ if$ warning$
+ abnt.missing.year {" " } {""} if$ bbl.missing.year *}
{year n.dashify "year" bibinfo.check}
if$
}
@@ -1635,6 +1643,7 @@ FUNCTION {article}
non.iso.date
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1658,6 +1667,7 @@ FUNCTION {book}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1677,6 +1687,7 @@ FUNCTION {booklet}
format.volume.number.series output new.sentence
format.note output
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1702,6 +1713,7 @@ FUNCTION {inbook}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1722,6 +1734,7 @@ FUNCTION {incollection}
format.chapter.pages output new.sentence
format.isbn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1741,6 +1754,7 @@ FUNCTION {inproceedings}
format.isbn output
format.issn output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1764,6 +1778,7 @@ FUNCTION {journalpart}
format.note output
format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro
format.isbn output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1783,6 +1798,7 @@ FUNCTION {manual}
format.book.pages output new.sentence
format.volume.number.series output new.sentence
format.note output new.sentence
+ format.doi output new.block
format.url
fin.entry
}
@@ -1804,6 +1820,7 @@ FUNCTION {misc}
format.howpublished output new.block
format.volume.number.series output new.sentence
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
empty.misc.check
@@ -1868,6 +1885,7 @@ FUNCTION {thesis}
abnt.thesis.year #0 = abnt.thesis.year #2 = or
{format.date "year" output.check new.sentence} 'skip$ if$
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1902,6 +1920,7 @@ FUNCTION {proceedings}
format.isbn output
format.issn output new.block
format.note output new.block
+ format.doi output new.block
format.url
fin.entry
}
@@ -1917,6 +1936,7 @@ FUNCTION {unpublished}
%format.date output new.sentence
iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$}
{format.year output new.sentence} if$
+ format.doi output new.block
format.url
fin.entry
}
@@ -2120,7 +2140,7 @@ FUNCTION {begin.bib}
'skip$ if$
"\abntbstabout{" abnt.bst.revision * "}" * write$ newline$
% Ajusta o espaçamento entre linhas nas referências bibliográficas
-"\setlength{\baselineskip}{1.2\baselineskip}" write$ newline$
+"\setlength{\baselineskip}{1.25\baselineskip}" write$ newline$
"\setlength{\itemsep}{0pt}" write$ newline$
}
EXECUTE {begin.bib}
@@ -2133,7 +2153,7 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
FUNCTION {apresentacao}
{ "+---------------------------------------------------------+"
- "| http://www.abntex.net.br/ |"
+ "| https://www.abntex.net.br/ |"
"| Em caso de dúvidas ou problemas com este estilo procure |"
abnt.alf
{"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * " |" *}
diff --git a/macros/latex/contrib/unbtex/unbtexcover/capa.pdf b/macros/latex/contrib/unbtex/unbtexcover/capa.pdf
new file mode 100644
index 0000000000..8f4a3abf23
--- /dev/null
+++ b/macros/latex/contrib/unbtex/unbtexcover/capa.pdf
@@ -0,0 +1,54 @@
+%PDF-1.7 % %
+1 0 obj
+<</Type/Catalog/Pages 2 0 R/OCProperties<</D<</Name(DefaultOC)/Order[7 0 R]/ON[7 0 R]/OFF[]/RBGroups[]>>/OCGs[7 0 R]>>/Extensions<</ADBE<</BaseVersion/1.7/ExtensionLevel 3>>>>/Names 8 0 R/AcroForm 9 0 R/Metadata 10 0 R>>
+endobj
+2 0 obj
+<</Type/Pages/Kids[4 0 R]/Count 1/DefaultValue(GykqNSk/dAoeHHo8NSh6dBQfDnpobnRsdGo=)>>
+endobj
+3 0 obj
+<</Producer(Aspose.PDF for .NET 24.6.0)/Creator(Aspose Pty Ltd.)/ModDate(D:20240828033854+00'00')>>
+endobj
+4 0 obj
+<</Type/Page/Parent 2 0 R/Contents 5 0 R/MediaBox[0 0 595.0001 841]/TrimBox[0 0 595.0001 841]/CropBox[0 0 595.0001 841]/Resources<</ProcSet[/PDF]/ExtGState<</GS6 6 0 R>>/Properties<</Pr7 7 0 R>>>>>>
+endobj
+5 0 obj
+<</Filter[/FlateDecode]/Length 559>>stream
+xڕMn1#|*{K@H! l%;3YٴU^LuJ/,?=.rĚ) Շz=Z3&3ˡm{9\N|(K٪ֳ*:Zbݭd&3d.\ eW+V$ki9iKrw-:[FYC1\5
+Ep y TTF@!TRw)95bٮ8#e9^|>L10sca4bn8*Oܸ%IښD!M,=MKR&noqB>p{uO{U4@BZT$F^;rd좢#ÉiF15hZg)Ma|4 WblF6S0CJ1Rźbu>F7t^p]3 #.J x' 0;gpHO]WLgp SWgp܃Rͺcm2bfp0]na,7i񀶹i ݊~7W+
+endstream
+endobj
+6 0 obj
+<</Type/ExtGState/RI/RelativeColorimetric>>
+endobj
+7 0 obj
+<</Type/OCG/Name<FEFF00430061006D00610064006100200031>>>
+endobj
+8 0 obj
+<<>>
+endobj
+9 0 obj
+<</Fields[]>>
+endobj
+10 0 obj
+<</Length 0>>stream
+
+endstream
+endobj
+xref
+0 11
+0000000000 65535 f
+0000000023 00000 n
+0000000260 00000 n
+0000000363 00000 n
+0000000479 00000 n
+0000000694 00000 n
+0000001325 00000 n
+0000001385 00000 n
+0000001458 00000 n
+0000001479 00000 n
+0000001509 00000 n
+trailer
+<</Root 1 0 R/Info 3 0 R/ID[<D7A7AAB3F21341C630D8B19B8BE0160F><38342D31412D34442D34442D31372D45>]/Size 11>>
+startxref
+1559
+%%EOF
diff --git a/macros/latex/contrib/unbtex/unbtexcover/contracapa.pdf b/macros/latex/contrib/unbtex/unbtexcover/contracapa.pdf
new file mode 100644
index 0000000000..3c6bce18e0
--- /dev/null
+++ b/macros/latex/contrib/unbtex/unbtexcover/contracapa.pdf
Binary files differ
diff --git a/macros/latex/contrib/updatemarks/doc/updatemarks.pdf b/macros/latex/contrib/updatemarks/doc/updatemarks.pdf
index 7c2e6e949b..424af0e3f0 100644
--- a/macros/latex/contrib/updatemarks/doc/updatemarks.pdf
+++ b/macros/latex/contrib/updatemarks/doc/updatemarks.pdf
Binary files differ
diff --git a/macros/latex/contrib/updatemarks/doc/updatemarks.tex b/macros/latex/contrib/updatemarks/doc/updatemarks.tex
index a462711ab9..faeedb3b08 100644
--- a/macros/latex/contrib/updatemarks/doc/updatemarks.tex
+++ b/macros/latex/contrib/updatemarks/doc/updatemarks.tex
@@ -4,7 +4,7 @@
\title{Update marks in box\thanks{Issues: \url{https://github.com/Sophanatprime/updatemarks/issues}}}
\author{WenJian Chern\thanks{Email: longaster@163.com}}
-\date{\today\qquad v0.2e}
+\date{\today\qquad v0.2f}
\begin{document}
@@ -216,8 +216,7 @@ they are the automatical updating list.
\verb|\ExtractMarks| * \marg{text} \marg{cmd}
\verb|\ExtractMarks| * \oarg{number list} \marg{text} \marg{cmd}
\end{syntax}
-It collect all marks to \tn[no-index]{cmd}, you can use \tn[no-index] to reinsert
-these marks.
+It collect all marks to \meta{cmd}, you can use \meta{cmd} to reinsert these marks.
\texttt{insertmark} hook would not be used as it's already been used.
\end{function}
diff --git a/macros/latex/contrib/updatemarks/tex/updatemarks.sty b/macros/latex/contrib/updatemarks/tex/updatemarks.sty
index 244ce20b5f..4c55fb2481 100644
--- a/macros/latex/contrib/updatemarks/tex/updatemarks.sty
+++ b/macros/latex/contrib/updatemarks/tex/updatemarks.sty
@@ -13,11 +13,11 @@
%
% The Current Maintainer of this work is Wenjian Chern.
%
-% This work consists of the files updatemarks.sty and updatemarks.tex
+% This work consists of the files updatemarks.sty, updatemarks.tex and updatemarks-nums.sty
%
\NeedsTeXFormat{LaTeX2e}
\@ifundefined{NewDocumentCommand}{\RequirePackage{xparse}}{}
-\ProvidesExplPackage{updatemarks}{2024/02/19}{0.2e}{extract and update marks from box}
+\ProvidesExplPackage{updatemarks}{2024/10/07}{0.2f}{extract and update marks from box}
\RequirePackage{etoolbox}
\RequirePackage{updatemarks-nums}
@@ -451,8 +451,17 @@
{ \color@endgroup\egroup\extractmarks@of{tcolorbox}{\unvcopy\@tempboxa} }
{ } { \ERROR }
\let\endtcb@savebox=\endtcb@lrbox
- \patchcmd \tcb@drawing@env@end { \csname }
- { \updatemarks@of{tcolorbox}\csname } { } { \ERROR }
+ \ifdefined\tcb@drawing@env@end
+ \patchcmd \tcb@drawing@env@end { \csname }
+ { \updatemarks@of{tcolorbox}\csname } { } { \ERROR }
+ \else
+ \ifcsname environment~tcb@drawing~end~aux~ \endcsname
+ \tl_set:Nv \l_tmpa_tl { environment~tcb@drawing~end~aux~ }
+ \tl_if_in:NnF \l_tmpa_tl { \use:c } { \ERROR }
+ \tl_replace_once:Nnn \l_tmpa_tl { \use:c } { \updatemarks@of{tcolorbox}\use:c }
+ \exp_args:Nno \cs_set_nopar:cpn { environment~tcb@drawing~end~aux~ } \l_tmpa_tl
+ \else \ERROR \fi
+ \fi
% breakable library
\ifdefined \tcb@vsplit@upper
\apptocmd \tcb@vsplit@upper { \extractsplitmarks@of{tcolorbox} } { } { \ERROR }
diff --git a/macros/luatex/latex/letgut/README.md b/macros/luatex/latex/letgut/README.md
index 1dbce82b4a..cc66ceb67f 100644
--- a/macros/luatex/latex/letgut/README.md
+++ b/macros/luatex/latex/letgut/README.md
@@ -8,7 +8,7 @@ to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Gr
Release
-------
-2024-03-07 v0.9.9
+2024-10-07 v0.9.10
Development
-----------
diff --git a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
index 3c9499367d..ed358cda68 100644
--- a/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut-banner-code.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut-code.pdf b/macros/luatex/latex/letgut/doc/letgut-code.pdf
index fb88b947ba..7c669f2a94 100644
--- a/macros/luatex/latex/letgut/doc/letgut-code.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut-code.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut.pdf b/macros/luatex/latex/letgut/doc/letgut.pdf
index 7b9adbc8e2..343f249e1a 100644
--- a/macros/luatex/latex/letgut/doc/letgut.pdf
+++ b/macros/luatex/latex/letgut/doc/letgut.pdf
Binary files differ
diff --git a/macros/luatex/latex/letgut/doc/letgut.tex b/macros/luatex/latex/letgut/doc/letgut.tex
index 14f005d8d7..773feef459 100644
--- a/macros/luatex/latex/letgut/doc/letgut.tex
+++ b/macros/luatex/latex/letgut/doc/letgut.tex
@@ -377,6 +377,28 @@ Les options de la \letgutcls{} peuvent être spécifiées de deux façons :
défaut.
\end{docKey}
+\begin{docKeys}[doc new={2024-10-07}]
+ {
+ {
+ doc name = watermark letter,
+ doc description = {\valinitdef[g]},
+ },
+ {
+ doc name = watermark scale,
+ doc description = {\valinitdef[1]},
+ },
+ }%
+ La première page de la \lettre{} comporte, en filigrane et en gris clair,
+ (entre autre) un (très grand) \enquote{g}, composé avec la fonte
+ \enquote{normale}.
+ \begin{itemize}
+ \item La clé \refKey{watermark letter} permet de spécifier une lettre autre
+ qu'un \enquote{g} et/ou composé avec une fonte autre que \enquote{normale}.
+ \item La clé \refKey{watermark scale} permet de spécifier échelle autre que~1
+ pour cette lettre (par exemple si celle-ci s'avère par défaut trop grande).
+ \end{itemize}
+\end{docKeys}
+
\subsection{Options autres}
\label{sec:options-autres}
@@ -716,7 +738,7 @@ Unicode a prévu le caractère \Ucode[symbole numéro]{2116}.
{ doc name = gut },
{ doc name = assogut, doc new={2023-01-14} },
{ doc name = Assogut, doc new={2023-01-14} },
- { doc name = lettresn doc new={2023-01-14} },
+ { doc name = lettres, doc new={2023-01-14} },
{ doc name = lettresgut, doc new={2023-01-14} },
{ doc name = cahier },
{ doc name = cahiers },
@@ -1109,54 +1131,21 @@ fournit la commande à arguments \enquote{verbatim} suivante.
Ainsi le code suivant :
\begingroup
-\lstset{basicstyle=\ttfamily\scriptsize}
-\begin{ltx-code}[listing options app={%
- deletekeywords={[3]{latex,width,height,string,label,by,example,system,tex}},%
- deletetexcs={edef,rlap,smash,expandafter,string}%
-}]
-\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
-445:% \usepackage[option1,option2]{foobar}
-447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
-197:%%% support for keyval-style: restate=foobar
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
-284:\edef\foobar{[width=\@p@swidth sp,height=\@p@sheight sp]{\@p@dffile}}%
-286:\@message{\string\@includegraphics@\foobar}%
-287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
-129: its label by ``\thlabel{foobar}''. For example,
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
-12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
-rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+% \lstset{basicstyle=\ttfamily\scriptsize}
+\begin{ltx-code}
+\terminal{lualatex}{
+This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)
+ restricted system commands enabled.
+**
}
\end{ltx-code}
donne-t-il :
-\terminal{time rg foobar -g "*.sty" "/home/bitouze/texlive/2022"}{
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/skeyval/skeyval.sty
-445:% \usepackage[option1,option2]{foobar}
-447:% \expandafter\show\csname foobar.sty.poxkeys\endcsname
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/thmtools/thm-restate.sty
-197:%%% support for keyval-style: restate=foobar
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/pinlabel/pinlabel.sty
-284:\edef\foobar{[width=\@p@swidth sp,height=\@p@sheight sp]{\@p@dffile}}%
-286:\@message{\string\@includegraphics@\foobar}%
-287:\rlap{\smash{\expandafter\@includegraphics@\foobar}}%
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/theoremref/theoremref.sty
-129: its label by ``\thlabel{foobar}''. For example,
-
-/home/bitouze/texlive/2022/texmf-dist/tex/latex/qrbill/qrbill.sty
-12:%% Marei Peischl (peiTeX) and Alex Antener (foobar LLC).
-rg -g 0,25s user 0,23s system 320% cpu 0,150 total
+\terminal{lualatex}{
+This is LuaHBTeX, Version 1.18.0 (TeX Live 2024)
+ restricted system commands enabled.
+**
}
\endgroup
@@ -1290,7 +1279,7 @@ Les fiches de lecture d'un livre sont créées au moyen de l'environnement
fichier local de configuration, cf. \vpageref{sec:fichier-local-de}) au
moyen de la commande :
\begin{ltx-code}
-\addbibressource{£\meta{bibliographie}£.bib}
+\addbibresource{£\meta{bibliographie}£.bib}
\end{ltx-code}
\end{dbwarning}
\end{docKey}
diff --git a/macros/luatex/latex/letgut/source/letgut-banner.org b/macros/luatex/latex/letgut/source/letgut-banner.org
index b9c59dcee8..f618599196 100644
--- a/macros/luatex/latex/letgut/source/letgut-banner.org
+++ b/macros/luatex/latex/letgut/source/letgut-banner.org
@@ -2,7 +2,7 @@
#+TITLE: Support for the banner of the newsletter "La Lettre de GUTenberg"
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat@gutenberg.eu.org
+#+EMAIL: secretariat@gutenberg-asso.fr
#+DESCRIPTION: ...
#+KEYWORDS: ...
#+LANGUAGE: en
@@ -23,6 +23,9 @@
#+export_file_name: ../../../doc/lualatex/letgut/letgut-banner-code
* Readme file
+:PROPERTIES:
+:CUSTOM_ID: Readmefile-dlkgxqt0fck0
+:END:
#+begin_src markdown :tangle no :exports none
letgut-banner - Support for the banner of the newsletter
@@ -31,12 +34,12 @@
About
-------
- This package automatically draw the banner of the newsletter "La Lettre de
+ This package automatically draws the banner of the newsletter "La Lettre de
GUTenberg" with the current main font.
Release
-------
- 2022-03-17 v0.9
+ 2024-10-07 v0.10
Development
-----------
@@ -50,13 +53,13 @@
letgut:| Package for the banner of the newsletter
| "La Lettre de GUTenberg"
Author:| Association GUTenberg
- E-mail:| secretariat@gutenberg.eu.org
+ E-mail:| secretariat@gutenberg-asso.fr
License:| Released under the LaTeX Project Public License
| v1.3c or later
See:| http://www.latex-project.org/lppl.txt
-Copyright (C) 1994-2022 by Association GUTenberg
- <secretariat@gutenberg.eu.org>
+Copyright (C) 1994-2024 by Association GUTenberg
+ <secretariat@gutenberg-asso.fr>
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License (LPPL), either
@@ -70,8 +73,14 @@ by Association GUTenberg.
#+end_src
* Implementation
+:PROPERTIES:
+:CUSTOM_ID: Implementation-ckogxqt0fck0
+:END:
** Identification
+:PROPERTIES:
+:CUSTOM_ID: ImplementationIdentification-gwqgxqt0fck0
+:END:
#+begin_src
This is file `letgut-banner.sty,
@@ -93,21 +102,17 @@ Now, we can announce the package name and its version:
#+begin_src latex
\ProvidesExplPackage{letgut-banner}
-{2022-03-17}
-{0.9}
+{2024-10-07}
+{0.10}
{
Package for the banner of the newsletter "La Lettre de GUTenberg"
}
#+end_src
** Packages loaded
-
-In order to provide class options, we load the \package{l3keys2e} which provides
-\LaTeXe{} option processing using \LaTeX3 keys:
-
- #+begin_src latex
-\RequirePackage{l3keys2e}
- #+end_src
+:PROPERTIES:
+:CUSTOM_ID: ImplementationPackagesloaded-etvgxqt0fck0
+:END:
Till the Lua-based color will be added to the core \package{l3color} approach,
we have to rely on \package{xcolor}
@@ -123,32 +128,19 @@ reader who wants to copy the interesting text be able to select it (see below).
\RequirePackage{accsupp}
#+end_src
-What follows has to be done at this end of the preamble, otherwise the font set
-with ~\setmainfont~ in the preamble isn't taken in account in the banner.
-
-We define an option for the color of the text in the "L" (that has to be the
-same as the page color of the document).
-
-#+begin_src latex
- \keys_define:nn { letgut-banner }
- {
- , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
- , pagecolor .initial:n = { 1,1,1 }
- }
- \ProcessKeysOptions { letgut-banner }
-#+end_src
-
-#+begin_src latex
-\AddToHook{begindocument}{
-#+end_src
-
#+begin_src latex
\cs_generate_variant:Nn \color_fill:nn { nV }
#+end_src
** Declarations
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarations-u0ygxqt0fck0
+:END:
*** Dimensions
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsDimensions-9t0hxqt0fck0
+:END:
#+begin_src latex
\dim_new:N \g__letgutbanner_area_height_dim
@@ -163,6 +155,7 @@ same as the page color of the document).
\dim_if_exist:NF \g__letgutbanner_first_page_shrink_dim {
\dim_new:N \g__letgutbanner_first_page_shrink_dim
}
+ \dim_new:N \g__letgutbanner_textwidth_dim
#+end_src
- Dimensions of the page. If the present package is used with the
@@ -179,11 +172,9 @@ same as the page color of the document).
{ 25cm }
}
\dim_if_exist:NTF \c__letgut_textwidth_dim {
- \dim_const:NV \c__letgutbanner_textwidth_dim
- \c__letgut_textwidth_dim
+ \dim_gset_eq:NN \g__letgutbanner_textwidth_dim \c__letgut_textwidth_dim
}{
- \dim_const:Nn \c__letgutbanner_textwidth_dim
- { 14cm }
+ \dim_gset:Nn \g__letgutbanner_textwidth_dim { 14cm }
}
\dim_if_exist:NTF \c__letgut_lmargin_dim {
\dim_const:NV \c__letgutbanner_lmargin_dim
@@ -260,7 +251,7 @@ same as the page color of the document).
margin and the width ($d$) of the "L": $=w+l-(l-d)/2=w+(l+d)/2$).
#+begin_src latex
\dim_const:Nn \c__letgutbanner_banner_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
+
(
\c__letgutbanner_banner_thickness_dim
@@ -285,7 +276,7 @@ same as the page color of the document).
#+begin_src latex
\dim_const:Nn
\c__letgutbanner_banner_horizontal_contents_width_dim {
- \c__letgutbanner_textwidth_dim
+ \g__letgutbanner_textwidth_dim
- (
\c__letgutbanner_banner_thickness_dim
-
@@ -297,6 +288,9 @@ same as the page color of the document).
#+end_src
*** Boxes
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsBoxes-s83hxqt0fck0
+:END:
New boxes, for each of the letters in the word "LETTRE" (!), and then for the
rest of the content listed in the banner.
@@ -312,6 +306,9 @@ rest of the content listed in the banner.
#+end_src
*** Floating point numbers
+:PROPERTIES:
+:CUSTOM_ID: ImplementationDeclarationsFloatingpointnumbers-e75hxqt0fck0
+:END:
- Minimum percentage of the common height of the letters of the word "LETTRE"
that their line spacing must represent.
@@ -324,13 +321,16 @@ rest of the content listed in the banner.
\fp_const:Nn \c__letgutbanner_leading_La_factor_fp { 1.5 }
#+end_src
-** Application des dimensions de la page
+** Applying the page dimensions
+:PROPERTIES:
+:CUSTOM_ID: ImplementationApplyingthepagedimensions-187hxqt0fck0
+:END:
#+begin_src latex
\geometry{
asymmetric,
textheight = \c__letgutbanner_textheight_dim,
- textwidth = \c__letgutbanner_textwidth_dim,
+ textwidth = \g__letgutbanner_textwidth_dim,
lmargin = \c__letgutbanner_lmargin_dim,
tmargin = \c__letgutbanner_tmargin_dim,
head = \c__letgutbanner_head_dim,
@@ -342,6 +342,9 @@ rest of the content listed in the banner.
#+end_src
** Filling of the boxes
+:PROPERTIES:
+:CUSTOM_ID: ImplementationFillingoftheboxes-q49hxqt0fck0
+:END:
#+begin_src latex
\hbox_gset:Nn \g__letgutbanner_L_box { \textbf{L} }
\hbox_gset:Nn \g__letgutbanner_E_box { \textbf{E} }
@@ -354,7 +357,43 @@ rest of the content listed in the banner.
\hbox_gset:Nn \g__letgutbanner_g_box { \textbf{g} }
#+end_src
+** Options of the package
+:PROPERTIES:
+:CUSTOM_ID: ImplementationOptionsofthepackage-21ri36v0fck0
+:END:
+
+We define:
+
+- an option for the color of the text in the "L" (that has to be the same as the
+ page color of the document),
+- an option that let us choose another letter than “g” as the watermark letter.
+
+#+begin_src latex
+ \keys_define:nn { letgut-banner }
+ {
+ , pagecolor .clist_gset:N = \g__letgutbanner_pagecolor_clist
+ , pagecolor .initial:n = { 1,1,1 }
+ , watermark~ letter .code:n = {
+ \hbox_gset:Nn \g__letgutbanner_g_box { \textbf{#1} }
+ }
+ , watermark~ scale .tl_gset:N = \g__letgutbanner_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
+ }
+ \ProcessKeyOptions [ letgut-banner ]
+#+end_src
+
+What follows has to be done at this end of the preamble, otherwise the font set
+with ~\setmainfont~ in the preamble isn't taken in account in the banner.
+
+#+begin_src latex
+\AddToHook{begindocument}{
+#+end_src
+
+
** Computations
+:PROPERTIES:
+:CUSTOM_ID: ImplementationComputations-r7bhxqt0fck0
+:END:
Determination of the widths of each of the letter boxes of the word "LETTRE".
#+begin_src latex
@@ -622,9 +661,13 @@ as well.
#+end_src
Resize the box containing "g" to the width of the text.
#+begin_src latex
- \box_gresize_to_wd:Nn \g__letgutbanner_g_box {
- \c__letgutbanner_textwidth_dim
+ \box_gresize_to_wd:Nn \g__letgutbanner_g_box {
+ \fp_to_dim:n {
+ \g__letgutbanner_watermark_scale_tl
+ *
+ \g__letgutbanner_textwidth_dim
}
+ }
#+end_src
Calculates the size by which the height of the text box on the 1st page must be
reduced so that the banner does not encroach on the text. Relative to the top of
@@ -647,6 +690,7 @@ the page:
.5\baselineskip
}
#+end_src
+
Automatic addition on the 1st page (only) of the banner.
#+begin_src latex
\AddToHookNext{shipout/background}{
@@ -681,85 +725,91 @@ We put now the big "L" at the right place.
The color should not be systematically white, but should be identical to the one
chosen for the page background.
#+begin_src latex
- % \color_fill:nV {rgb}{ \g__letgutbanner_pagecolor_clist }
- \color[rgb]{ \g__letgutbanner_pagecolor_clist }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \g__letgutbanner_La_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_La_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -0\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_L_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -1\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_E_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -2\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_T_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -3\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_T_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -4\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_R_box
- }
- \put(
- \g__letgutbanner_banner_padding_dim
- ,
- \c__letgutbanner_first_letter_yoffset_dim
- -5\g__letgutbanner_between_letters_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_E_box
- }
- \put(
- \c__letgutbanner_banner_thickness_dim
- ,
- \c__letgutbanner_GUTenberg_yoffset_dim
- ){
- \box_use:N \g__letgutbanner_GUTenberg_box
- }
- % \color_fill:n {black!10}
- \color{ black!10 }
- \put(
- .5\c__letgutbanner_lmargin_dim+.5\c__letgutbanner_banner_thickness_dim
- ,
- .5\paperheight
- +
- .5\c__letgutbanner_banner_height_dim
- -
- \c__letgutbanner_tmargin_dim
- ){
- \box_move_down:nn {.5\c__letgutbanner_textheight_dim}
- {\box_use:N \g__letgutbanner_g_box}
+ % \color_fill:nV {rgb}{ \g__letgutbanner_pagecolor_clist }
+ \color[rgb]{ \g__letgutbanner_pagecolor_clist }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \g__letgutbanner_La_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_La_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -0\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_L_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -1\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_E_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -2\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_T_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -3\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_T_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -4\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_R_box
+ }
+ \put(
+ \g__letgutbanner_banner_padding_dim
+ ,
+ \c__letgutbanner_first_letter_yoffset_dim
+ -5\g__letgutbanner_between_letters_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_E_box
+ }
+ \put(
+ \c__letgutbanner_banner_thickness_dim
+ ,
+ \c__letgutbanner_GUTenberg_yoffset_dim
+ ){
+ \box_use:N \g__letgutbanner_GUTenberg_box
+ }
+ % \color_fill:n {black!10}
+ \color{ black!10 }
+ \put(
+ .5\c__letgutbanner_lmargin_dim
+ +
+ .5\c__letgutbanner_banner_thickness_dim
+ +
+ \fp_to_dim:n {
+ (1-\g__letgutbanner_watermark_scale_tl)/2*\g__letgutbanner_textwidth_dim
+ }
+ ,
+ .5\paperheight
+ +
+ .5\c__letgutbanner_banner_height_dim
+ -
+ \c__letgutbanner_tmargin_dim
+ ){
+ \box_move_down:nn {.5\c__letgutbanner_textheight_dim}
+ {\box_use:N \g__letgutbanner_g_box}
+ }
}
-}
#+end_src
We end the part which isn't selectable.
#+begin_src latex
@@ -789,6 +839,9 @@ textheight of the first page of the height of the horizontal bar of the "L".
#+end_src
* Example file (=letgut-banner-example.tex=)
+:PROPERTIES:
+:CUSTOM_ID: Examplefileletgutbannerexampletex-heehxqt0fck0
+:END:
#+begin_src latex :tangle ../../../doc/lualatex/letgut/letgut-banner-example.tex :exports none
\documentclass[twoside]{article}
diff --git a/macros/luatex/latex/letgut/source/letgut.org b/macros/luatex/latex/letgut/source/letgut.org
index 2a96939cd7..f0c4246487 100644
--- a/macros/luatex/latex/letgut/source/letgut.org
+++ b/macros/luatex/latex/letgut/source/letgut.org
@@ -2,7 +2,7 @@
#+TITLE: Support for the newsletter “La Lettre GUTenberg”
#+AUTHOR: Association GUTenberg
-#+EMAIL: secretariat@gutenberg.eu.org
+#+EMAIL: secretariat@gutenberg-asso.fr
#+DESCRIPTION: ...
#+KEYWORDS: ...
#+LANGUAGE: en
@@ -54,7 +54,7 @@ new versions of the class on CTAN.
% This field contains the version of the package.
% The value is optional.
% The value is restricted to 32 characters.
- \version{0.9.9 2024-03-07}
+ \version{0.9.10 2024-10-07}
% -------------------------------------------------------------------------
% This field contains the name of the author(s).
% The value is optional.
@@ -64,7 +64,7 @@ new versions of the class on CTAN.
% This field contains the email address of the uploader.
% The value is an email address.
% The value is restricted to 255 characters.
- \email{secretariat@gutenberg.eu.org}
+ \email{secretariat@gutenberg-asso.fr}
% -------------------------------------------------------------------------
% This field contains the name of the uploader.
% The value is restricted to 255 characters.
@@ -131,8 +131,18 @@ new versions of the class on CTAN.
% The value is optional.
% The value is restricted to 8192 characters.
\begin{announcement}
+ ### Changed
+ - Multiple rebuses handled
+ - Paper clips (links to source files of the articles) not in the magin anymore and separated by spaces
+ - Watermark letter and scale can now be specified
+
### Fixed
- Private scratch variables not declared.
+ - Wrong output with \terminal
+ - Title of publication in small capitals
+ - Options of `letgut-banner` never taken in account
+ - Not all included graphics attached to the PDF
+ - Variables wrongly local or not reset
+ - `\citeauthor` displayed family name in small caps
\end{announcement}
% -------------------------------------------------------------------------
% This field contains the one-liner for the package.
@@ -202,6 +212,21 @@ new versions of the class on CTAN.
## [Unreleased]
+ ## [0.9.10] - 2024-10-07
+
+ ### Changed
+ - Multiple rebuses handled
+ - Paper clips (links to source files of the articles) not in the magin anymore and separated by spaces
+ - Watermark letter and scale can now be specified
+
+ ### Fixed
+ - Wrong output with \terminal
+ - Title of publication in small capitals
+ - Options of `letgut-banner` never taken in account
+ - Not all included graphics attached to the PDF
+ - Variables wrongly local or not reset
+ - `\citeauthor` displayed family name in small caps
+
## [0.9.9] - 2024-03-07
### Fixed
@@ -325,7 +350,7 @@ to the newsletter “La Lettre GUTenberg” of GUTenberg, the French TeX User Gr
Release
-------
-2024-03-07 v0.9.9
+2024-10-07 v0.9.10
Development
-----------
@@ -399,13 +424,13 @@ the corresponding `.tex` file (which doesn't derive from an Org Mode file).
% -------:| ----------------------------------------------------
% letgut:| Class for the newsletter “La Lettre GUTenberg”
% Author:| Association GUTenberg
-% E-mail:| secretariat@gutenberg.eu.org
+% E-mail:| secretariat@gutenberg-asso.fr
% License:| Released under the LaTeX Project Public License
% | v1.3c or later
% See:| http://www.latex-project.org/lppl.txt
%
% Copyright (C) 1994-2024 by Association GUTenberg
-% <secretariat@gutenberg.eu.org>
+% <secretariat@gutenberg-asso.fr>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License (LPPL), either
@@ -449,15 +474,22 @@ We define some constant token lists immediately useful.
#+begin_src latex
\ExplSyntaxOn
- \tl_const:Nn \c__letgut_Lettre_tl { \emph{ Lettre } }
+ \tl_const:Nn \c__letgut_Lettre_plain_tl { Lettre }
+ \tl_const:Nn \c__letgut_Lettre_tl { \emph{ \c__letgut_Lettre_plain_tl } }
\tl_const:Nn \c__letgut_Lettres_tl {
\c__letgut_Lettre_tl \emph{ s }
}
\tl_const:Nn \c__letgut_gutenberg_tl { GUTenberg }
\tl_const:Nn \c__letgut_association_tl { association }
+ \tl_const:Nn \c__letgut_Lettre_gutenberg_plain_tl {
+ \c__letgut_Lettre_plain_tl~\c_space_tl \c__letgut_gutenberg_tl
+ }
\tl_const:Nn \c__letgut_Lettre_gutenberg_tl {
\c__letgut_Lettre_tl~\c_space_tl \c__letgut_gutenberg_tl
}
+ \tl_const:Nn \c__letgut_la_lettre_gutenberg_plain_tl {
+ la~ \c__letgut_Lettre_gutenberg_plain_tl
+ }
\tl_const:Nn \c__letgut_la_lettre_gutenberg_tl {
la~ \c__letgut_Lettre_gutenberg_tl
}
@@ -471,8 +503,8 @@ Now, we can announce the class name and its version:
#+begin_src latex
\ProvidesExplClass{letgut}
- {2024-03-07}
- {0.9.9}
+ {2024-10-07}
+ {0.9.10}
{
Class for the newsletter “The GUTenberg Letter”
}
@@ -1578,7 +1610,10 @@ We now define the options of the class:
- ~date~ for the date of the issue, either empty (hence the current (month)
date) or at the format ~YYYY-MM~ or as free input,
- ~pagecolor~ (relevant only with the (default) ~screen~ load time option) for
- a color of the page other than the default one,
+ a color of the page other than the default one (used behind the scene by the
+ ~letgut-banner~ package),
+- ~watermark letter~ for another letter than the “g” in watermark,
+- ~watermark scale~ for the case the letter in watermark is too big,
- ~allcolorslinks~ for the color of (all) the links,
- ~membership-reminder~ that typesets a membership reminder on the first page,
- ~editorial~ depending on the editorial is wanted or not,
@@ -1587,7 +1622,7 @@ We now define the options of the class:
subparagraphs) detailed or not.
#+begin_src latex
- \DeclareKeys[ letgut ]
+ \keys_define:nn { letgut }
{
, for-readers .bool_gset:N = \g__letgut_for_readers_bool
, for-readers .initial:n = { true }
@@ -1624,6 +1659,10 @@ We now define the options of the class:
}
}
}
+ , watermark~ letter .tl_gset:N = \g__letgut_watermark_letter_tl
+ , watermark~ letter .initial:n = g
+ , watermark~ scale .tl_gset:N = \g__letgut_watermark_scale_tl
+ , watermark~ scale .initial:n = 1
, allcolorslinks .code:n = {
\colorlet{letgut_allcolors_links}{#1}}
, allcolorslinks .initial:V
@@ -1688,7 +1727,7 @@ We now define the headers.
#+begin_src latex
\fancyhf{}
\fancyhead[RO,LE]{\thepage}
- \fancyhead[RE,LO]{\g__letgut_mark_tl}
+ \fancyhead[RE,LO]{\scshape \g__letgut_mark_tl}
#+end_src
- The headers are left offset
#+begin_src latex
@@ -1889,6 +1928,7 @@ We now define the headers.
:END:
#+begin_src latex
+ \int_new:N \g__letgut_rebus_int
\NewDocumentCommand{\solution}{}{\tcblower}
\NewDocumentCommand{\displaysolutions}{}{%
\tcbstoprecording\tcbinputrecords%
@@ -1923,25 +1963,27 @@ We now define the headers.
},
}
}
- \NewTColorBox[auto~ counter]{rebus}{+!O{}}{%
+ \NewTColorBox{rebus}{+!O{}}{%
+ before~ title~ pre = {\int_gincr:N \g__letgut_rebus_int},
rebus~ style,
fonttitle=\bfseries,
title={Rébus},
- label={rebus@\thetcbcounter},
- after~ upper={\vpageref[ci-dessous]{solution@\thetcbcounter}},
+ label={rebus@\int_use:N\g__letgut_rebus_int},
+ after~ upper={\vpageref[ci-dessous]{solution@\int_use:N\g__letgut_rebus_int}},
after~ upper~ pre={
\par\bigskip\hfill\scriptsize\itshape
Solution\c_space_tl
},
lowerbox=ignored,
- savelowerto=rebus-\thetcbcounter.tex,
- record={\string\rebussolution*[\thetcbcounter][][]},
+ savelowerto=rebus-\int_use:N\g__letgut_rebus_int.tex,
+ record={\string\rebussolution*[\int_use:N\g__letgut_rebus_int][][]},
#1
}
\NewDocumentCommand{\rebussolution}{s +o o O{}}{%
\IfValueTF{#2}{
\begin{tcolorbox}[
rebus~ style,
+ label=solution@\int_use:N\g__letgut_rebus_int,
halign=justify,
before~ title={\lefthand{}~Solution~ du~ rébus\c_space_tl},
title={
@@ -2014,23 +2056,23 @@ $>0$.
# detection of my editor.)
#+begin_src latex
- > \c_zero_int
- {numéro~ \int_use:N\g__letgut_number_int{}~ --~ }
- \g__letgut_date_tl
- }
- \str_if_empty:NTF \g__letgut_@title_str {
- \tl_gset:Nn \g__letgut_mark_tl {
- \textit{\c__letgut_La_lettre_gutenberg_tl}
- }
- }{
- \tl_gset:Nn \g__letgut_mark_tl {
- \g__letgut_@title_str
+ > \c_zero_int
+ {numéro~ \int_use:N\g__letgut_number_int{}~ --~ }
+ \g__letgut_date_tl
+ }
+ \str_if_empty:NTF \g__letgut_@title_str {
+ \tl_gset:Nn \g__letgut_mark_tl {
+ \c__letgut_la_lettre_gutenberg_plain_tl
+ }
+ }{
+ \tl_gset:Nn \g__letgut_mark_tl {
+ \g__letgut_@title_str
+ }
+ }
+ \tl_gput_right:Nn \g__letgut_mark_tl {
+ ,~\g__letgut_title_tl
+ }
}
- }
- \tl_gput_right:Nn \g__letgut_mark_tl {
- ,~\g__letgut_title_tl
- }
- }
#+end_src
** First page handling
@@ -2059,7 +2101,7 @@ Lettre.
{
\begin{picture}(0,0)
\put(-2cm,-25.275cm){
- \includegraphics*[scale=0.96]{
+ \__letgut_orig_includegraphics*[scale=0.96]{
\c__letgut_banner_file_tl.pdf
}
}
@@ -2074,11 +2116,13 @@ following code has to be postponed after the former (hence here
~\AddToHook{begindocument}~ and with ~\AddToHook{begindocument/before}~).
#+begin_src latex
- \msg_term:nn{letgut}{Banner~file~not~provided}
- \RequirePackage[pagecolor={\g__letgut_pagecolor_clist}]{
- letgut-banner
+ \msg_term:nn{letgut}{Banner~file~not~provided}
+ \RequirePackage[
+ , pagecolor = { \g__letgut_pagecolor_clist }
+ , watermark~ letter = { \g__letgut_watermark_letter_tl }
+ , watermark~ scale = { \g__letgut_watermark_scale_tl }
+ ]{letgut-banner}
}
- }
#+end_src
Here starts what is automatically added at the beginning of the document.
@@ -2595,7 +2639,7 @@ We define the command that lets us specify the newsletter setup.
#+begin_src latex
\NewDocumentCommand {\francophony} { } {
\raisebox{-1.5pt}{
- \includegraphics*[width=\f@size pt]{
+ \__letgut_orig_includegraphics*[width=\f@size pt]{
letgut-francophony-icon
}
}
@@ -3385,7 +3429,11 @@ full name of the authors.
\citeauthor
}
\RenewDocumentCommand {\citeauthor} { O{} O{} m } {
- \AtNextCite{\DeclareNameAlias{labelname}{given-family}}
+ \AtNextCite{
+ \DeclareNameAlias{labelname}{given-family}
+ \protected\def\mkbibnamefamily#1{%
+ \textnohyphenation{#1}}%
+ }
\__letgut_old_citeauthor[#1][#2]{#3}
}
#+end_src
@@ -3396,7 +3444,7 @@ full name of the authors.
:END:
#+begin_src latex
- \tl_new:N \g__letgut_bookreview_frontcover_tl
+ \tl_new:N \l__letgut_bookreview_frontcover_tl
\tl_new:N \g__letgut_bookreview_bibkey_tl
#+end_src
The keys options are created.
@@ -3404,7 +3452,7 @@ The keys options are created.
\keys_define:nn { letgut/bookreview }
{
title .tl_gset:N = \g__letgut_bookreview_title_tl,
- frontcover .tl_gset:N = \g__letgut_bookreview_frontcover_tl,
+ frontcover .tl_set:N = \l__letgut_bookreview_frontcover_tl,
bibkey .tl_gset:N = \g__letgut_bookreview_bibkey_tl,
reviewer .tl_gset:N = \g__letgut_bookreview_reviewer_tl,
price .tl_gset:N = \g__letgut_bookreview_price_tl,
@@ -3423,17 +3471,18 @@ All these options, when used, must receive a value.
We create the new environment for the book reviews.
#+begin_src latex
- \cs_generate_variant:Nn \msg_warning:nnn { nnV }
- \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
- \NewDocumentEnvironment{bookreview}{ m }
- {
- \keys_set:nn { letgut/bookreview } { #1 }
- \section{\g__letgut_bookreview_title_tl}
- \tl_if_empty:NTF \g__letgut_bookreview_frontcover_tl {
- \msg_warning:nnV{letgut}{frontcover-missing}{
- \g__letgut_bookreview_title_tl
- }
- }{
+ \cs_generate_variant:Nn \msg_warning:nnn { nnV }
+ \cs_generate_variant:Nn \msg_error:nnnn { nnVV }
+ \NewDocumentEnvironment{bookreview}{ m }
+ {
+ \tl_gclear:N \g__letgut_bookreview_price_tl
+ \keys_set:nn { letgut/bookreview } { #1 }
+ \section{\g__letgut_bookreview_title_tl}
+ \tl_if_empty:NTF \l__letgut_bookreview_frontcover_tl {
+ \msg_warning:nnV{letgut}{frontcover-missing}{
+ \g__letgut_bookreview_title_tl
+ }
+ }{
#+end_src
We check if the front cover file is available against the list of accepted
@@ -3441,7 +3490,7 @@ extensions of the ~graphicx~ package.
#+begin_src latex
\clist_map_inline:Nn \Gin@extensions {
- \file_if_exist:nT{\g__letgut_bookreview_frontcover_tl##1}{
+ \file_if_exist:nT{\l__letgut_bookreview_frontcover_tl##1}{
\bool_set_true:N \l__letgut_tmpa_bool
\clist_map_break:
}
@@ -3452,8 +3501,8 @@ extensions of the ~graphicx~ package.
% \raggedleft
\raisebox{-\totalheight}{
\fbox{
- \includegraphics[width=-\c__letgut_title_hoffset_dim]{
- \g__letgut_bookreview_frontcover_tl
+ \includegraphics*[width=-\c__letgut_title_hoffset_dim]{
+ \l__letgut_bookreview_frontcover_tl
}
}
}
@@ -3463,7 +3512,7 @@ extensions of the ~graphicx~ package.
{letgut}
{frontcover-file-not-found}
{\g__letgut_bookreview_title_tl}
- {\g__letgut_bookreview_frontcover_tl}
+ {\l__letgut_bookreview_frontcover_tl}
}
}
\noindent
@@ -3628,9 +3677,9 @@ the current directory and is non empty. This will be applied to both the
#+begin_src latex
\cs_new_protected:Npn \__letgut_attach_non_empty_existing_file:n #1 {
- \file_get_size:nN {./#1} \tmpa_tl
- \quark_if_no_value:NF \tmpa_tl {
- \tl_if_eq:NnF \tmpa_tl {0} {
+ \file_get_size:nN {./#1.tex} \l__letgut_tmpa_tl
+ \quark_if_no_value:NF \l__letgut_tmpa_tl {
+ \tl_if_eq:NnF \l__letgut_tmpa_tl {0} {
\seq_gput_left:Nn \g__letgut_included_files_seq {
\attachfile[
description={Source~ nécessaire~ (fichier~ `#1.tex`)},
@@ -3648,7 +3697,9 @@ the current directory and is non empty. This will be applied to both the
\FloatBarrier
\lstset{ style=__letgut_reset_listings_styles }
\acresetall%
- \input{#2}%
+ \begin{refsection}
+ \input{#2}%
+ \end{refsection}
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\__letgut_attach_non_empty_existing_file:n {
@@ -3674,7 +3725,7 @@ the current directory and is non empty. This will be applied to both the
}
}
\seq_remove_duplicates:N \g__letgut_included_files_seq
- \marginpar{\seq_use:Nn \g__letgut_included_files_seq { } }
+ \seq_use:Nn \g__letgut_included_files_seq { \c_space_tl }
\seq_clear:N \g__letgut_included_files_seq
\bool_gset_false:N \g__letgut_acronyms_file_attached_bool
\bool_gset_false:N \g__letgut_lstlanguage_file_attached_bool
@@ -3699,7 +3750,7 @@ to the \pdf{} (if desired, otherwise, use the starred version).
\clist_set:Nx \l__letgut_tmpa_clist {\Gin@extensions}
\cs_new_protected:Npn \__letgut_includegraphics:nnn #1 #2 #3
{
- \file_if_exist:nTF {#3} {
+ \file_if_exist:nTF {./#3} {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
\seq_gput_left:Nn \g__letgut_included_files_seq {
@@ -3709,16 +3760,15 @@ to the \pdf{} (if desired, otherwise, use the starred version).
présent~ article~ (fichier~ `#3`)
},
mimetype=image
- ]
- {#3}
+ ]{./#3}
}
}
}
- \__letgut_orig_includegraphics[#2]{#3}
+ \__letgut_orig_includegraphics[#2]{./#3}
}{
\bool_gset_false:N \g__letgut_tmpa_bool
\clist_map_inline:Nn \l__letgut_tmpa_clist {%
- \file_if_exist:nTF {#3##1} {
+ \file_if_exist:nT {./#3##1} {
\clist_map_break:n {
\bool_if:NT \g__letgut_included_files_attached_bool {
\IfBooleanF {#1}{
@@ -3726,8 +3776,7 @@ to the \pdf{} (if desired, otherwise, use the starred version).
\attachfile[
description={Fichier~ image~ inclus~ dans~ le~ présent~ article~ (fichier~ `#3##1`)},
mimetype=image/##1
- ]
- {#3##1}
+ ]{./#3##1}
}
}
}
@@ -3736,11 +3785,11 @@ to the \pdf{} (if desired, otherwise, use the starred version).
}
}
}
- \bool_if:NF \g__letgut_tmpa_bool {
- \@latex@error{File~ `#3'~ not~ found}%
- {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
- \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
- }
+ % \bool_if:NF \g__letgut_tmpa_bool {
+ % \@latex@error{File~ `#3'~ not~ found}%
+ % {I~ could~ not~ locate~ the~ file~ with~ any~ of~ these~ extensions:^^J%
+ % \clist_use:Nn \l__letgut_tmpa_clist { ~ }^^J\@ehc}%
+ % }
}
}
\RenewDocumentCommand {\includegraphics} {s O{} m } {
@@ -4478,41 +4527,18 @@ We define some colors used in the terminal listings.
style=__letgut_terminal_listings_style,
language=terminal,
},
- every~ listing~ line={%
- \textcolor{__letgut_terminal_prompt}{%
- \ttfamily%
- \bfseries%
- \__letgut_unselectable:n {#1\c_space_tl}
- }
- },
+ fontupper=\ttfamily,
+ fontlower=\ttfamily,
},
}
#+end_src
- We define now the command
+ We now define the command.
#+begin_src latex
\cs_new_protected:Npn \__letgut_terminal:nnnn #1 #2 #3 #4
{
\bool_set_false:N \l__letgut_tmpa_bool
- \tl_if_empty:nF {#3}{
- \tcbset{tempfile=\jobname-stdin.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #3
- \token_to_str:N\end{tcbwritetemp}
- }
- }
- \tl_if_empty:nF {#4}{
- \tcbset{tempfile=\jobname-stdout.tex}
- \exp_args:Nx \scantokens
- {
- \token_to_str:N\begin{tcbwritetemp}
- #4
- \token_to_str:N\end{tcbwritetemp}
- }
- }
\tl_if_empty:nTF {#3}{
\tl_if_empty:nTF {#4}{
\bool_set_true:N \l__letgut_tmpa_bool
@@ -4521,24 +4547,25 @@ We define some colors used in the terminal listings.
}
}{
\tcbset{colback=__letgut_background_terminal_stdin}
- \tl_if_empty:nTF {#4}{
- }{
+ \tl_if_empty:nF {#4}{
\tcbset{
bicolor,
- middle=0mm,
- boxsep=0mm,
colbacklower=__letgut_background_terminal_stdout,
}
}
}
\bool_if:NF \l__letgut_tmpa_bool {
- \begin{tcolorbox}[terminal={#1},#2]
+ \begin{tcolorbox}[terminal,#2]
\lstset{aboveskip=0pt}
\tl_if_empty:nF {#3}{
- \tcbset{
- tempfile=\jobname-stdin.tex,
+ \tl_if_empty:nF {#1}{
+ \textcolor{__letgut_terminal_prompt}{%
+ \ttfamily%
+ \bfseries%
+ \__letgut_unselectable:n {#1\c_space_tl}
+ }
}
- \tcbusetemplisting
+ #3
\tl_if_empty:nF {#4}{
\tcblower
}
@@ -4548,13 +4575,12 @@ We define some colors used in the terminal listings.
\lstset{aboveskip=0pt}
}
\tcbset{
- tempfile=\jobname-stdout.tex,
every~ listing~ line={},
listing~ options~ app={
language={}
}
}
- \tcbusetemplisting
+ #4
}
\end{tcolorbox}
}
@@ -4575,14 +4601,14 @@ We define some colors used in the terminal listings.
:CUSTOM_ID: ImplementationListingsUnicodecharacterswithpositionsabove256-4l6h55h0jlj0
:END:
-Unicode characters with positions above 256 causes troubles in
+Unicode characters with positions above 256 cause troubles in
listings. Here is a workaround for some of them (see
https://tex.stackexchange.com/a/25396).
#+begin_src latex
\lst@InputCatcodes
\def\lst@DefEC{%
- \lst@CCECUse \lst@ProcessLetter
+ \lst@CCECUse \lst@ProcessLetter
^^80^^81^^82^^83^^84^^85^^86^^87^^88^^89^^8a^^8b^^8c^^8d^^8e^^8f%
^^90^^91^^92^^93^^94^^95^^96^^97^^98^^99^^9a^^9b^^9c^^9d^^9e^^9f%
^^a0^^a1^^a2^^a3^^a4^^a5^^a6^^a7^^a8^^a9^^aa^^ab^^ac^^ad^^ae^^af%
@@ -4591,11 +4617,16 @@ https://tex.stackexchange.com/a/25396).
^^d0^^d1^^d2^^d3^^d4^^d5^^d6^^d7^^d8^^d9^^da^^db^^dc^^dd^^de^^df%
^^e0^^e1^^e2^^e3^^e4^^e5^^e6^^e7^^e8^^e9^^ea^^eb^^ec^^ed^^ee^^ef%
^^f0^^f1^^f2^^f3^^f4^^f5^^f6^^f7^^f8^^f9^^fa^^fb^^fc^^fd^^fe^^ff%
- ^^^^201c^^^^201d% for “ and ”
+ ^^^^201c% for “
+ ^^^^201d% for ”
^^^^215b% for ⅛
^^^^2122% for ™
^^^^2019% for ’
^^^^0153% for œ
+ ^^^^0152% for Œ
+ ^^^^20ac% for €
+ ^^^^27e8% for ⟨
+ ^^^^27e9% for ⟩
^^00%
}
\lst@RestoreCatcodes
@@ -4646,7 +4677,7 @@ several purposes:
- the books advertisements.
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.lbx :exports both
-\ProvidesFile{letgut.lbx}[2024-03-07 v0.9.9 letgut localization]
+\ProvidesFile{letgut.lbx}[2024-10-07 v0.9.10 letgut localization]
\InheritBibliographyExtras{french}
\DeclareBibliographyStrings{
inherit = {french},
@@ -4660,7 +4691,7 @@ several purposes:
create the corresponding new entry).
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.dbx :exports both
- \ProvidesFile{letgut.dbx}[2024-03-07 v0.9.9 letgut data model macros]
+ \ProvidesFile{letgut.dbx}[2024-10-07 v0.9.10 letgut data model macros]
\DeclareBibliographyDriver{bookreview}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
@@ -4715,7 +4746,7 @@ several purposes:
We provide a specific ~biblatex~ citation style .
#+begin_src latex :tangle ../../../tex/lualatex/letgut/letgut.cbx :exports both
- \ProvidesFile{letgut.cbx}[2024-03-07 v0.9.9 letgut base citation style]
+ \ProvidesFile{letgut.cbx}[2024-10-07 v0.9.10 letgut base citation style]
\RequireCitationStyle{numeric}
#+end_src
@@ -4879,162 +4910,166 @@ well...
:CUSTOM_ID: ProvidedfilesInformationsabout\gutenberg-hqah55h0jlj0
:END:
- #+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both
- % Hey, Emacs! This is a -*- mode: latex -*- file!
+#+begin_src latex :tangle ../../../tex/lualatex/letgut/informations-gut.tex :exports both
+ % Hey, Emacs! This is a -*- mode: latex -*- file!
- \enlargethispage{1.5cm}
- \small
- \vspace*{-1cm}
- \hspace*{-1.5cm}%
- \raisebox{-\height+0.7\baselineskip}{%
- \begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
- \includegraphics*[width=\linewidth]{logo-gut.pdf}
- \end{minipage}%
- }%
- \hfill%
- \begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
- \footnotesize\raggedleft%
- Association \gut{}\\
- 15 rue des Halles -- \textsc{bp} 74\\
- 75001 Paris\\
- France\\
- \url{secretariat[at]gutenberg[dot]eu[dot]org}
- \end{minipage}%
-
- \begin{description}
- \item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
- \item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
- \item[Problèmes techniques :]
- \leavevmode
- \begin{description}
- \item[la liste \texttt{gut} :]
- \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
- \item[le site \hologo{TeX}nique de questions et réponses :]
- \url{https://texnique.fr/}
- \item[la foire aux questions :]
- \url{https://faq.gutenberg-asso.fr/}
- \end{description}
- \end{description}
- %
- \alertbox{%
- Cette association est la vôtre : faites-nous part de
- vos idées, de vos envies, de vos préoccupations
- à l'adresse \url{secretariat[at]gutenberg[dot]eu[dot]org}.%
- }
+ \enlargethispage{1.5cm}
+ \scriptsize
+ \vspace*{-1cm}
+ \hspace*{-1.5cm}%
+ \ExplSyntaxOn
+ \raisebox{-\height+0.7\baselineskip}{%
+ \begin{minipage}[t]{.6\textwidth}%\vspace{0pt}%
+ \__letgut_orig_includegraphics*[width=\linewidth]{logo-gut.pdf}
+ \end{minipage}%
+ }%
+ \ExplSyntaxOff
+ \hfill%
+ \begin{minipage}[t]{.5\textwidth}%\vspace{0pt}%
+ \footnotesize\raggedleft%
+ Association \gut{}\\
+ 15 rue des Halles -- \textsc{bp} 74\\
+ 75001 Paris\\
+ France\\
+ \url{secretariat[at]gutenberg-asso[dot]fr}
+ \end{minipage}%
- % \section[Association GUTenberg (tout sur l')]
- % {Adhésion à l'association}
- \title{Adhésion à l'association}
- \label{letgut_label_adhesions}
-
- \begin{itemize}
- \item % Adhésions et abonnements
- Les adhésions sont à renouveler en début d'année
- pour l'année civile.
- % \item Il n'y a pas de lettre de rappel, chaque membre
- % doit faire son renouvellement annuel; %\hspace*{1em}
- % merci de renvoyer spontanément le bulletin ci-dessous
- % en début d'année.
- \item Les administrations peuvent joindre un bon de commande
- revêtu de la signature de la personne responsable ;
- les étudiants doivent joindre un justificatif.
- % \item Si vous souhaitez que vos coordonnées restent
- % confidentielles, merci de le signaler.
- \end{itemize}
-
- \vspace*{-0.7cm}
- \section{Tarifs \the\year}
-
- Les membres de \gut\ peuvent adhérer à l'association
- internationale, le \acf{tug}, et recevoir son bulletin
- \tugboat{} à un tarif préférentiel :
- \begin{description}
- \item[tarif normal :] 65~€ (au lieu de 85~\$)
- \item[tarif étudiant :] 40~€ (au lieu de 55~\$)
- \end{description}
- % (49~€50}, étudiants et demandeurs d'emploi :
- % 29~€, au lieu de 85\$ et % 65\$). Voir
- % \url{%
- % https://www.gutenberg-asso.fr/?Adherer-en-ligne%
- % }.
-
- \footnotesize
- \begin{center}
- \begin{tabular}{lr}
- \toprule
- \textbf{Type d'adhésion} & \textbf{Prix} \\
- \midrule
- Membre individuel & 30~€ \\
- Membre individuel + adhésion \acs{tug} & 95~€ \\
- Membre individuel étudiant/demandeur d'emploi & 15~€ \\
- Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
- Association d'étudiants & 65~€ \\
- Organisme à but non lucratif & 130~€ \\
- Organisme à but lucratif & 229~€ \\
- \bottomrule
- \end{tabular}
- \end{center}
-
- \section{Règlements}
-
- Les règlements peuvent s'effectuer par :
- \begin{itemize}
- \item \textbf{virement bancaire}%
- \footnote{Nous vous remercions de \textbf{privilégier}
- le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
- FR76 1870 7000 3003 0191 3568 475)%
- \leavevmode
-
- \alertbox{%
- Veillez à bien \emph{indiquer vos nom et prénom}
- dans les références du virement !%
- }
- \item Paypal\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
- \item bulletin et chèque\footnotemark[\value{footnote}] :
- \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
- \end{itemize}
+ \begin{description}
+ \item[Site Internet :] \url{https://www.gutenberg-asso.fr/}
+ \item[\Cahiers{} :] \url{http://www.numdam.org/journals/CG/}
+ \item[Problèmes techniques :]
+ \leavevmode
+ \begin{description}
+ \item[la liste \texttt{gut} :]
+ \url{https://www.gutenberg-asso.fr/-Listes-de-diffusion-}
+ \item[le site \hologo{TeX}nique de questions et réponses :]
+ \url{https://texnique.fr/}
+ \item[la foire aux questions :]
+ \url{https://faq.gutenberg-asso.fr/}
+ \end{description}
+ \end{description}
+ %
+ \alertbox{%
+ Cette association est la vôtre : faites-nous part de
+ vos idées, de vos envies, de vos préoccupations
+ à l'adresse \url{secretariat[at]gutenberg-asso[dot]fr}.%
+ }
- \vfill
+ % \section[Association GUTenberg (tout sur l')]
+ % {Adhésion à l'association}
+ \title{Adhésion à l'association}
+ \label{letgut_label_adhesions}
+
+ \begin{itemize}
+ \item % Adhésions et abonnements
+ Les adhésions sont à renouveler en début d'année
+ pour l'année civile.
+ % \item Il n'y a pas de lettre de rappel, chaque membre
+ % doit faire son renouvellement annuel; %\hspace*{1em}
+ % merci de renvoyer spontanément le bulletin ci-dessous
+ % en début d'année.
+ \item Les administrations peuvent joindre un bon de commande
+ revêtu de la signature de la personne responsable ;
+ les étudiants doivent joindre un justificatif.
+ % \item Si vous souhaitez que vos coordonnées restent
+ % confidentielles, merci de le signaler.
+ \end{itemize}
+
+ \vspace*{-0.7cm}
+ \section{Tarifs \the\year}
+
+ Les membres de \gut\ peuvent adhérer à l'association
+ internationale, le \acf{tug}, et recevoir son bulletin
+ \tugboat{} à un tarif préférentiel :
+ \begin{description}
+ \item[tarif normal :] 65~€ (au lieu de 85~\$)
+ \item[tarif étudiant :] 40~€ (au lieu de 55~\$)
+ \end{description}
+ % (49~€50}, étudiants et demandeurs d'emploi :
+ % 29~€, au lieu de 85\$ et % 65\$). Voir
+ % \url{%
+ % https://www.gutenberg-asso.fr/?Adherer-en-ligne%
+ % }.
+
+ \footnotesize
+ \begin{center}
+ \begin{tabular}{lr}
+ \toprule
+ \textbf{Type d'adhésion} & \textbf{Prix} \\
+ \midrule
+ Membre individuel & 30~€ \\
+ Membre individuel + adhésion \acs{tug} & 95~€ \\
+ Membre individuel étudiant/demandeur d'emploi & 15~€ \\
+ Membre individuel étudiant + adhésion \acs{tug} & 55~€ \\
+ Association d'étudiants & 65~€ \\
+ Organisme à but non lucratif & 130~€ \\
+ Organisme à but lucratif & 229~€ \\
+ \bottomrule
+ \end{tabular}
+ \end{center}
+
+ \section{Règlements}
+
+ Les règlements peuvent s'effectuer par :
+ \begin{itemize}
+ \item \textbf{virement bancaire}%
+ \footnote{Nous vous remercions de \textbf{privilégier}
+ le \textbf{virement bancaire}.\label{fn:1}} (\textsc{iban} :
+ FR76 3000 3001 0900 0372 6086 280)%
+ \leavevmode
+
+ \alertbox{%
+ Veillez à bien \emph{indiquer vos nom et prénom}
+ dans les références du virement !%
+ }
+ \item Paypal\footnotemark[\value{footnote}] :
+ \url{https://www.gutenberg-asso.fr/?Adherer-en-ligne}
+ \item bulletin et chèque\footnotemark[\value{footnote}] :
+ \url{https://www.gutenberg-asso.fr/?Adherer-a-l-association}
+ \end{itemize}
- \begin{center}
- \begin{tblr}{
- width=.75\linewidth,
- colspec={
- % < (Just not to disturb the parentheses
- % balancing detection of my editor.)
- >{\bfseries}r@{ }X
- },
- vline{1,3}={solid},
- hline{1,7}={solid},
- rowsep=0mm,
- row{1} = {abovesep+=.25cm},
- row{2} = {belowsep+=.125cm},
- row{6} = {belowsep+=.25cm},
- % colsep=2.5mm,
- }
- \SetCell[c=2]{c} \emph{La \lettregut}\\
- \SetCell[c=2]{c} \mdseries Bulletin irrégulomestriel
- de l'association \gut\\
- Directeur de la publication :
- & \person{Bideault, Patrick} \\
- Comité de rédaction :
- & {Patrick Bideault, Denis Bitouzé, \\
- Céline Chevalier \& Maxime Chupin} \\
- Adresse de la rédaction : &
- {
- Association \gut\\
- 15 rue des Halles -- \textsc{bp} 74\\
- 75001 Paris
- }
- \\
- \acs{issn} : & \letgutissn
- \end{tblr}
- \end{center}
- \vfill
- \mbox{}
- \clearpage
- #+end_src
+ \vfill
+
+ \mbox{}
+
+ \vfill{}
+
+ \begin{center}
+ \begin{tblr}{
+ width=.9\linewidth,
+ colspec={
+ % < (Just not to disturb the parentheses
+ % balancing detection of my editor.)
+ >{\bfseries}r@{ }X
+ },
+ vline{1,3}={solid},
+ hline{1,7}={solid},
+ rowsep=0mm,
+ row{1} = {abovesep+=.25cm},
+ row{2} = {belowsep+=.125cm},
+ row{6} = {belowsep+=.25cm},
+ % colsep=2.5mm,
+ }
+ \SetCell[c=2]{c} \emph{La \lettregut}\\
+ \SetCell[c=2]{c} \mdseries Bulletin irrégulomestriel
+ de l'association \gut\\
+ Directeur de la publication :
+ & \person{Bideault, Patrick} \\
+ Comité de rédaction :
+ & {Patrick Bideault, Denis Bitouzé, \\
+ Céline Chevalier, Maxime Chupin \& Bastien Dumont} \\
+ Adresse de la rédaction : &
+ {
+ Association \gut\\
+ 15 rue des Halles -- \textsc{bp} 74\\
+ 75001 Paris
+ }
+ \\
+ \acs{issn} : & \letgutissn
+ \end{tblr}
+ \end{center}
+ \clearpage
+#+end_src
** Acronyms
:PROPERTIES:
diff --git a/macros/unicodetex/latex/bithesis/README.md b/macros/unicodetex/latex/bithesis/README.md
index e281ceb931..70af69b245 100644
--- a/macros/unicodetex/latex/bithesis/README.md
+++ b/macros/unicodetex/latex/bithesis/README.md
@@ -10,7 +10,7 @@ The current maintainer of this project is [Feng Kaiyu](https://github.com/fky201
[![Latexmk](https://badgen.net/badge/compiler/latexmk/blue)](https://mg.readthedocs.io/latexmk.html)
[![License](https://badgen.net/github/license/BITNP/BIThesis?color=008080&labelColor=2b2b2b)](./LICENSE)
-BIThesis is an unofficial LaTeX template set for your
+BIThesis is an unofficial LaTeX template set for your
**undergraduate, master, or doctoral thesis** as well as other academic writing here at BIT.
This project is supported by the _[Dept. of Undergraduate Academic Affairs, BIT](https://jwb.bit.edu.cn/)_ and the _[School of Computer Science and Technology, BIT](https://cs.bit.edu.cn/)_. See [Acknowledgements - Official Sponsors](https://bithesis.bitnp.net/guide/acknowledgements.html#%E5%AE%98%E6%96%B9%E8%B5%9E%E5%8A%A9-official-sponsors).
@@ -40,4 +40,3 @@ For more details, please see the [contributing doc](./contributing.md).
## Contributors
For more information, please see: [GitHub Contributors](https://github.com/BITNP/BIThesis/graphs/contributors) and [Acknowledgements](https://bithesis.bitnp.net/guide/acknowledgements.html).
-
diff --git a/macros/unicodetex/latex/bithesis/bithesis.dtx b/macros/unicodetex/latex/bithesis/bithesis.dtx
index ee8c145963..88157edae0 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.dtx
+++ b/macros/unicodetex/latex/bithesis/bithesis.dtx
@@ -21,10 +21,10 @@
%<thesis>\ProvidesExplClass{bithesis}
%<report>\ProvidesExplClass{bitreport}
%<beamer>\ProvidesExplClass{bitbeamer}
-%<cls>{2024-05-30}{3.7.9}{BIT Thesis Templates}
+%<cls>{2024-10-07}{3.8.0}{BIT Thesis Templates}
%
%<*driver>
-\ProvidesFile{bithesis.dtx}[2024/05/30 3.7.9 BIT Thesis Templates]
+\ProvidesFile{bithesis.dtx}[2024/10/07 3.8.0 BIT Thesis Templates]
\documentclass[letterpaper]{l3doc}
\usepackage{dtx-style}
@@ -66,7 +66,7 @@
%
% 定义全局变量。
% \begin{variable}{\g_@@_thesis_type_int}
-% 论文类型,取值从 1 开始,分别对应:
+% 论文类型,取值从 1 开始,分别对应:
% \begin{enumerate}
% \item 本科生毕业设计(论文)
% \item 本科生毕业设计(论文)外文翻译
@@ -160,7 +160,7 @@
%
% \end{macro}
%
-% \begin{macro}[added=2023-03-16]{\@@_get_const:}
+% \begin{macro}[added=2023-03-16]{\@@_get_const:N}
% 获取标题、章节、表格、图形等的常量名称。
% 会区别英文模式和中文模式。
% \begin{macrocode}
@@ -216,7 +216,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_if_thesis_int_type:nTF #1#2#3 {\int_compare:nNnTF {\g_@@_thesis_type_int} = {#1} {#2} {#3}}
\cs_new:Npn \@@_if_thesis_int_type:nT #1#2 {\@@_if_thesis_int_type:nTF {#1} {#2} {}}
-\cs_new:Npn \__bithesis_if_thesis_int_type:nF #1#2 {\__bithesis_if_thesis_int_type:nTF {#1} {} {#2}}
+\cs_new:Npn \@@_if_thesis_int_type:nF #1#2 {\@@_if_thesis_int_type:nTF {#1} {} {#2}}
% \end{macrocode}
% \end{macro}
@@ -260,7 +260,7 @@
\cs_new_protected:Npn \@@_define_label:nn #1#2
{ \tl_const:cn { c_@@_label_ #1 _tl } {#2} }
-\cs_new_protected:Npn \@@_define_label_by_thesis_type:nnn #1#2#3
+\cs_new_protected:Npn \@@_define_label_by_thesis_type:nnn #1#2#3
{
\tl_const:cn { c_@@_ #1 _label_ #2 _tl } {#3}
}
@@ -370,9 +370,9 @@
\circled{2}~学校可以采用影印、缩印或其它复制手段复制并保存本毕业设计(论文);
\circled{3}~学校可允许本毕业设计(论文)被查阅或借阅;\circled{4}~学校可以学术交流为目的,
复制赠送和交换本毕业设计(论文);\circled{5}~学校可以公布本毕业设计(论文)的全部或部分内容。},
- {originality_author_signature}
+ {originality_author_signature}
{本人签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{13mm}年\hspace{8mm}月\hspace{8mm}日},
- {originality_supervisor_signature}
+ {originality_supervisor_signature}
{指导老师签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{13mm}年\hspace{8mm}月\hspace{8mm}日},
} {\@@_define_label_by_thesis_type:nnn {bachelor} #1}
% \end{macrocode}
@@ -388,7 +388,7 @@
本人郑重声明:所呈交的毕业设计(论文),
是本人在指导老师的指导下独立进行研究所取得的成果。除文中已经注明引用的内容外,
本文不包含任何其他个人或集体已经发表或撰写过的研究成果。
- 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。特此申明。\par
+ 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。特此申明。\par
\arialfamily I,\dunderline[-1pt]{1pt}{\makebox[18mm]{}},~solemnly~
declare:~the~submitted~graduation~design~(thesis),~
is~the~research~achievement~completed~independently~by~myself~
@@ -441,9 +441,9 @@
\par~\circled{3}~学校可允许学位论文被查阅或借阅;
\par~\circled{4}~学校可以学术交流为目的,复制赠送和交换学位论文;
\par~\circled{5}~学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵守此规定)。},
- {originality_author_signature}
+ {originality_author_signature}
{签\qquad 名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{30mm}\quad},
- {originality_supervisor_signature}
+ {originality_supervisor_signature}
{导师签名:\hspace{40mm}日\hspace{2.5mm}期:\hspace{30mm}\quad},
} {\@@_define_label_by_thesis_type:nnn {graduate} #1}
% \end{macrocode}
@@ -458,7 +458,7 @@
{school} {学\quad 院\quad 名\quad 称} {School~or~Department},
{supervisor} {指\quad 导\quad 教\quad 师} {Faculty~Mentor},
{chairman} {答辩委员会主席} {Chair,~Thesis~Committee},
- {degree}
+ {degree}
{申\quad 请\quad 学\quad 位}
{Degree~Applied},
{major} {学\quad 科\hspace{0.8ex} / \hspace{0.8ex} 类\quad 别} {Major},
@@ -475,7 +475,7 @@
% \begin{variable}{\c_@@_label_xxx_tl,\c_@@_label_xxx_en_tl}
% 常用的中英常量。
% \begin{macrocode}
-\clist_map_inline:nn
+\clist_map_inline:nn
{
{school} {学\qquad 院} {School},
{major} {专\qquad 业} {Degree},
@@ -491,14 +491,16 @@
{toc} {目\label_space: 录} {Table~of~Contents},
{abstract} {摘\label_space: 要} {Abstract},
{conclusion} {结\label_space: 论} {Conclusions},
+ % 附录部分的总标题
{appendix} {附\label_space: 录} {Appendices},
- {ack} {致\label_space: 谢} {Acknowledgement},
+ {ack} {致\label_space: 谢} {Acknowledgements},
{figure} {插\label_space: 图} {Illustrations},
{table} {表\label_space: 格} {Tables},
+ % 附录下各部分编号的前缀
{appendix_prefix} {附录} {Appendix},
{reference} {参考文献} {References},
{university} {北京理工大学} {Beijing~Institute~of~Technology},
- {publications} {攻读学位期间发表论文与研究成果清单}
+ {publications} {攻读学位期间发表论文与研究成果清单}
{Publications~During~Studies},
% TODO: Not so sure about the translation.
{resume} {作者简介} {Author~Biography},
@@ -527,8 +529,8 @@
% \begin{macrocode}
\clist_const:Nn \c_@@_bachelor_thesis_header_clist
{
- 北京理工大学本科生毕业设计(论文),
- 北京理工大学本科生毕业设计(论文)外文翻译,
+ 北京理工大学本科生毕业设计(论文),
+ 北京理工大学本科生毕业设计(论文)外文翻译,
Beijing~Institute~of~Technology~Bachelor's~Thesis,
北京理工大学硕士学位论文,
北京理工大学博士学位论文,
@@ -568,8 +570,8 @@
type .value_required:n = true,
type .choices:Vn =
\c_@@_thesis_type_clist
- {
- \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int
+ {
+ \int_set_eq:NN \g_@@_thesis_type_int \l_keys_choice_int
\int_case:nn {\l_keys_choice_int} {
% 本科全英文也是英文模板。
{3} {\@@_set_english_mode:}
@@ -598,7 +600,7 @@
xiheiFont .tl_set:N = \l_@@_cover_xihei_font_path_tl,
xiheiFont .default:n = {STXihei},
%% cover entry
- dilimiter .tl_set:N = \l_@@_cover_dilimiter_tl,
+ delimiter .tl_set:N = \l_@@_cover_delimiter_tl,
labelAlign .tl_set:N = \l_@@_cover_label_align_tl,
labelAlign .initial:n = {r},
valueAlign .tl_set:N = \l_@@_cover_value_align_tl,
@@ -614,10 +616,20 @@
underlineOffset .dim_set:N = \l_@@_cover_underline_offset_dim,
underlineOffset .initial:n = { -10pt },
hideCoverInPeerReview .bool_set:N = \l_@@_cover_hide_cover_in_peer_review_bool,
+ % 此处暂且填充默认值为`false`,待确定`\g_@@_thesis_type_int`后再根据论文类型覆盖默认值
hideCoverInPeerReview .initial:n = {false},
% 研究生的「特殊类型」
showSpecialTypeBox .bool_set:N = \l_@@_cover_show_special_type_box_bool,
- showSpecialTypeBox .initial:n = {false}
+ showSpecialTypeBox .initial:n = {false},
+ % 本科英文模板也可以使用中文封面
+ prefer-zh .bool_set:N = \l_@@_cover_prefer_zh_bool,
+ prefer-zh .initial:n = {false},
+ % 本科英文模板使用中文封面时可能需要调换中英文标题顺序
+ reverse-titles .bool_set:N = \l_@@_cover_reverse_titles_bool,
+ reverse-titles .initial:n = {false},
+ % 本科英文模板可加入中文标题
+ addTitleZh .bool_set:N = \l_@@_cover_add_titlezh_bool,
+ addTitleZh .initial:n = {true},
}
% \end{macrocode}
%
@@ -743,7 +755,7 @@
tabularRowSeparation .initial:n = {1},
}
% \end{macrocode}
-%
+%
% 定义 |bithesis/const| 键值对类。
% \begin{macrocode}
\keys_define:nn { bithesis / const }
@@ -751,6 +763,7 @@
autoref .meta:nn = { bithesis / const / autoref } { #1 },
style .meta:nn = { bithesis / const / style } { #1 },
info .meta:nn = { bithesis / const / info } { #1 },
+ heading .meta:nn = { bithesis / const / heading } { #1 },
}
\keys_define:nn { bithesis / const / autoref }
{
@@ -803,6 +816,13 @@
}
},
}
+\keys_define:nn { bithesis / const / heading }
+ {
+ acknowledgements .tl_set:N = \g_@@_const_heading_acknowledgements_tl,
+ acknowledgements .initial:n = {
+ \@@_get_const:N {ack}
+ },
+ }
% \end{macrocode}
%
% 定义 |bithesis/style| 键值对类。
@@ -825,6 +845,10 @@
{ \flushbottom }
},
pageVerticalAlign .initial:n = {top},
+ non-CJK-font-in-headings .choice:,
+ non-CJK-font-in-headings / serif .code:n = { \bool_set_false:N \l_@@_arial_as_title_font_bool },
+ non-CJK-font-in-headings / sans .code:n = { \bool_set_true:N \l_@@_arial_as_title_font_bool },
+ non-CJK-font-in-headings .initial:n = {serif},
% 数学字体配置
mathFont .choices:nn = {
asana, bonum, cm, concrete, dejavu, erewhon, euler,
@@ -854,10 +878,16 @@
% \begin{macrocode}
\keys_define:nn { bithesis / TOC }
{
+ title .tl_set:N = \l_@@_toc_title_tl,
+ title .initial:n = {
+ \@@_get_const:N {toc}
+ },
abstract .bool_set:N = \l_@@_add_abstract_to_toc_bool,
abstract .initial:n = {true},
abstractEn .bool_set:N = \l_@@_add_abstract_en_to_toc_bool,
abstractEn .initial:n = {true},
+ TOC .bool_set:N = \l_@@_add_toc_to_toc_bool,
+ TOC .initial:n = {false},
symbols .bool_set:N = \l_@@_add_symbols_to_toc_bool,
symbols .initial:n = {true},
}
@@ -879,7 +909,7 @@
{
% mode .choice:,
% mode .value_required:n = true,
- % mode .choices:Vn =
+ % mode .choices:Vn =
% \c_@@_publication_modes_clist
% {
% \int_new:N \l_@@_publication_mode_int
@@ -896,11 +926,19 @@
minbibnames .initial:n = {10},
}
% \end{macrocode}
-% 在宏加载时,处理 |bithesis/option| 中的值。使得 |bithesis|
+% 在宏加载时,处理 |bithesis/option| 中的值。使得 |bithesis|
% 宏包的模板选项可以在宏加载时生效。
% \begin{macrocode}
\ProcessKeysOptions { bithesis / option }
% \end{macrocode}
+% 确定 |bithesis/option| 中的 |\g_@@_thesis_type_int| 后,根据论文类型自动覆盖某些选项的默认值。
+% \begin{macrocode}
+\@@_if_graduate:TF {
+ \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = false}
+} {
+ \keys_set:nn {bithesis} {cover/hideCoverInPeerReview = true}
+}
+% \end{macrocode}
%
% \subsubsection{处理模板选项}
%
@@ -952,6 +990,9 @@
\RequirePackage{geometry}
\RequirePackage[table,xcdraw]{xcolor}
\RequirePackage{xeCJK}
+% 恢复数学行距(restoremathleading),同时避免改变正文行距。
+% (ctex 默认 linespread 1.3 × LaTeX 默认倍数 1.2 = 1.56)
+\RequirePackage[bodytextleadingratio=1.56]{zhlineskip}
\RequirePackage{titletoc}
\RequirePackage{graphicx}
\RequirePackage{fancyhdr}
@@ -980,12 +1021,12 @@
% 抑制 \pkg{hyperref} 中对 |\hskip| 的 warning 信息。
% \begin{macrocode}
\pdfstringdefDisableCommands{%
- \let\quad\empty
+ \let\quad\empty
}
% \end{macrocode}
%
% 设置页眉字号,页边距。
-%
+%
% 需要注意的是,根据 \pkg{geometry} 的规则,
% |headsep| 和 |footskip| 分别受到 |top| 与 |bottom| 的影响。
% 所以你能看到在计算 |headsep| 与 |footskip| 时,我们
@@ -1040,7 +1081,7 @@
% \end{macrocode}
%
% \subsubsection{定义字体相关选项}
-%
+%
% 设置 Times New Roman 字体。
% 根据学校规范要求,默认情况下也使用 Times New Roman 字体。
% \begin{macrocode}
@@ -1073,7 +1114,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_load_unicode_math_pkg:}
% 加载\pkg{unicode-math}宏包。
% \begin{macrocode}
@@ -1133,7 +1174,7 @@
\cs_new:Npn \@@_load_math_font_cm: { }
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_load_math_font_none:}
% 数学字体配置 |none|。
% \begin{macrocode}
@@ -1173,28 +1214,27 @@
{
\hypersetup { hidelinks }
} {
- \definecolor{blue}{RGB}{10,10,110}
+ \definecolor{blue}{RGB}{10,10,110}
\hypersetup{
colorlinks=true,
}
}
-
- \@@_if_thesis_english:TF {
- \@@_if_thesis_int_type:nT {3} {
- % 对于本科全英文专业模板
- % Font Arial is needed.
- \newfontfamily\arialfamily{Arial}
- }
+ \bool_if:NTF \l_@@_arial_as_title_font_bool {
+ % 手动指定时要加载 Arial
+ \newfontfamily\arialfamily{Arial}
} {
- % 对于其他的中文模板,
- % 需要加载细黑体。
- \tl_if_blank:VTF \l_@@_cover_xihei_font_path_tl {}
- {
- \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant]
- {\l_@@_cover_xihei_font_path_tl}
+ % 即使未指定,本科全英文专业模板的声明也需要 Arial
+ \@@_if_thesis_int_type:nT {3} {
+ \newfontfamily\arialfamily{Arial}
}
}
+ % 无论中英文,封面都可能需要细黑体。
+ \tl_if_blank:VTF \l_@@_cover_xihei_font_path_tl {}
+ {
+ \setCJKfamilyfont{xihei}[AutoFakeBold,AutoFakeSlant]
+ {\l_@@_cover_xihei_font_path_tl}
+ }
% 对于本科全英文专业模板,需要自定义日期格式。
\@@_if_thesis_int_type:nT {3} {
@@ -1219,7 +1259,7 @@
}
% 修改 biblatex 中「专利」(patent)部分的著录格式。
- % 主要根据北理工自定义的规范,参考 biblatex 和
+ % 主要根据北理工自定义的规范,参考 biblatex 和
% biblatex-gb7714-2015 的实现修改而成。
%
% 默认不开启,因为此修改可能会产生其他边界问题。
@@ -1295,7 +1335,7 @@
}
}
% \end{macrocode}
-%
+%
% \begin{macro}{\xihei:n}
% 定义细黑字体。
% \begin{macrocode}
@@ -1308,21 +1348,23 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\l_@@_title_font_cs:n}
% 定义标题字体。
% \begin{macrocode}
\cs_new:Npn \l_@@_title_font_cs:n #1 {
- \int_compare:nNnTF {\g_@@_thesis_type_int} = {3}
+ \bool_if:NTF \l_@@_arial_as_title_font_bool
{
- \arialfamily #1
+ % 即使是英文模板,仍可能出现中文,也需设置中文字体。
+ \heiti\arialfamily #1
} {
+ % 西文保持原本的 Times New Roman。黑体一般不搭配衬线体,但学校要求如此。
\heiti #1
}
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\l_@@_unnumchapter_style_cs:n}
% 定义无序章节的样式。
% \begin{macrocode}
@@ -1344,7 +1386,7 @@
\cs_set:Npn \arabicHeiti #1 {#1}
% \end{macrocode}
% \end{macro}
-%
+%
% 定义 \pkg{fancyhdr} 的页眉页脚。
% \begin{macrocode}
\fancypagestyle{BIThesis}{
@@ -1470,20 +1512,14 @@
{\tablename~\thecontentslabel\quad}{\hspace*{-1.5cm}}
{\hspace{.5em}\titlerule*{.}\contentspage}
% \end{macrocode}
-%
+%
% \subsubsection{定义样式相关函数}
%
% \begin{macro}{\frontmatter}
% 定义前置内容的页面样式。
% \begin{macrocode}
\RenewDocumentCommand \frontmatter {} {
- \int_compare:nNnTF {\g_@@_thesis_type_int} = {3}
- {
- % 本科全英文专业论文,页码使用小罗马数字。
- \pagenumbering{roman}
- } {
- \pagenumbering{Roman}
- }
+ \pagenumbering{Roman}
% 这部分的章节标题不进行编号。
\ctexset{
chapter = {
@@ -1492,9 +1528,9 @@
}
\linespread{1.53}\selectfont
\pagestyle{BIThesis}
-
+
% 调整表格内容字号(默认五号)和各行之间的距离。
- %
+ %
% 由于这种方式会影响所有的表格,
% 所以我们尽可能延迟这种影响。
%
@@ -1507,7 +1543,7 @@
% 为保证各种表格效果一致,要先手动重置setspace宏包漏掉的longtable;
\AtBeginEnvironment {longtable} {\singlespacing}
% 之后再统一设置。
- \clist_map_inline:nn
+ \clist_map_inline:nn
{tabular, tabular*, tabularx, longtable}
{
\AtBeginEnvironment {##1} {
@@ -1522,7 +1558,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\mainmatter}
% 主体内容的页面样式。
% \begin{macrocode}
@@ -1547,7 +1583,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\backmatter}
% 后置内容的页面样式。
% \begin{macrocode}
@@ -1569,7 +1605,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% 定义标题的前后间距。
% \begin{macrocode}
\setlength{\abovecaptionskip}{11pt}
@@ -1580,7 +1616,7 @@
% 为了满足 “前后一行空白的问题”,需要删除 caption 下方的间距。
% 详见 `caption` 宏包手册和
% https://github.com/CTeX-org/forum/issues/86
- %
+ %
% 这里实际的 skip 在 15pt 左右,但是全部移除会导致当图片置于页面顶部时,
% 图片与上方的间距过小,因此这里只移除 5pt。
% 当然,这样会导致文本间的图片的 caption 下方的间距微微大于一行。
@@ -1601,7 +1637,7 @@
\setlength{\belowcaptionskip}{9pt}
}
% \end{macrocode}
-%
+%
% 定义分隔字符。
% \begin{macrocode}
\@@_if_graduate:TF {
@@ -1622,7 +1658,7 @@
\captionsetup[algorithm]{font=small,labelsep=space}
}
% \end{macrocode}
-%
+%
% \begin{macro}{\thefigure,\thetable,\theequation,\thelstlisting,\lstlistingname}
% 定义各种计数器的格式。
% \begin{macrocode}
@@ -1639,21 +1675,21 @@
\AtBeginDocument{
\cs_gset:Npn \thelstlisting {\thechapter\g_@@_label_divide_char_tl\arabic{lstlisting}}
\cs_gset:Npn \lstlistingname {\c_@@_label_code_tl}
-
+
% 算法变成「章节号-序号」
% 为了减少修改,我们只适配按章编号的情况。
% 针对 algorithm 宏包
\@ifpackagewith{algorithm}{chapter}{
\cs_gset:Npn \thealgorithm
- {\thechapter\g__bithesis_label_divide_char_tl\arabic{algorithm}}
+ {\thechapter\g_@@_label_divide_char_tl\arabic{algorithm}}
}{}
% 针对 algorithm2e 宏包
\@ifpackagewith{algorithm2e}{algochapter}{
% 名字中的“cf”是指其作者 Christophe Fiorio。
\cs_gset:Npn \thealgocf
- {\thechapter\g__bithesis_label_divide_char_tl\arabic{algocf}}
+ {\thechapter\g_@@_label_divide_char_tl\arabic{algocf}}
}{}
-
+
% 默认的情况下,保留公式和上下文的一定间距。(会比 Word 稍宽一些)
\setlength{\abovedisplayskip}{\l_@@_style_math_above_display_skip_dim}
\setlength{\abovedisplayshortskip}{\l_@@_style_math_above_display_skip_dim}
@@ -1676,7 +1712,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% 调整底层 TeX 排版引擎参数以保证所有段落能够很好地以两端对齐的方式呈现。
% 是的,这是祖传代码。
% 在英文模式下禁用,因为这段代码会禁用 hyphenation.
@@ -1715,13 +1751,13 @@
}
\lstset{style=examplestyle}
% \end{macrocode}
-%
+%
% 调整插图目录与表格目录的标题。
% \begin{macrocode}
-\cs_set:Npn \listfigurename {\currentpdfbookmark{\c__bithesis_label_figure_tl}{ch:figures}\@@_get_const:N {figure}}
-\cs_set:Npn \listtablename {\currentpdfbookmark{\c__bithesis_label_table_tl}{ch:tables}\@@_get_const:N {table}}
+\cs_set:Npn \listfigurename {\currentpdfbookmark{\c_@@_label_figure_tl}{ch:figures}\@@_get_const:N {figure}}
+\cs_set:Npn \listtablename {\currentpdfbookmark{\c_@@_label_table_tl}{ch:tables}\@@_get_const:N {table}}
% \end{macrocode}
-%
+%
% 预定义用户常用的证明环境。
% \begin{macrocode}
\theoremstyle{plain}
@@ -1740,10 +1776,10 @@
\newtheorem{rem}{\@@_get_const:N {rem}}
\renewcommand{\qedsymbol}{\ensuremath{\blacksquare}}
% \end{macrocode}
-%
+%
% \begin{macro}{\@@_dunderline:nnn,\@@_dunderline:nn,\@@_dunderline:n}
% 用于渲染下划线。
-%
+%
% 参数如下:
% \begin{itemize}
% \item \#1 位置,可选值为 \texttt{c}enter、\texttt{l}eft、\texttt{r}ight。
@@ -1781,7 +1817,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_render_cover_entry:nn #1#2 {
\makebox[\l_@@_cover_label_max_width_dim][\l_@@_cover_label_align_tl]{
- \tl_if_blank:VTF #1 {} {#1\l_@@_cover_dilimiter_tl}
+ \tl_if_blank:VTF #1 {} {#1\l_@@_cover_delimiter_tl}
}
\hspace{1ex}
\@@_dunderline:nnn{\l_@@_cover_underline_offset_dim}
@@ -1791,7 +1827,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{|@@_get_text_width:Nn,\@@_get_text_width:NV}
% 计算 \#2 所占用的宽度,将结果存储在 \#1 中。
%
@@ -1809,7 +1845,7 @@
\cs_generate_variant:Nn \@@_get_text_width:Nn { NV }
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_get_max_text_width:NN}
% 从 \#2 中获取最大的文本宽度,然后设置到 \#1 中。
%
@@ -1876,7 +1912,7 @@
% 比如 {label_1} {value \\ 1} 会被转换成
% { {label_1} {value}, {} {1} }
\@@_parse_entry ##1
- % 然后将这些 label - value 对添加到 \l_@@_right_seq
+ % 然后将这些 label - value 对添加到 \l_@@_right_seq
% 或者 \l_@@_left_sql 中。
% left 就是 label,right 就是 value。
\seq_concat:NNN \l_@@_right_seq \l_@@_right_seq \l_@@_tmp_right_seq
@@ -1888,7 +1924,7 @@
\@@_get_max_text_width:NN \l_@@_cover_label_max_width_dim \l_@@_left_seq
\@@_get_max_text_width:NN \l_@@_cover_value_max_width_dim \l_@@_right_seq
}
-
+
% 最后,根据宽度渲染 label 和 value 对。
\group_begin:
@@ -1904,7 +1940,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\make_graduate_cover:}
% 制作研究生论文模板封面。
% \begin{macrocode}
@@ -1948,7 +1984,7 @@
\centering
{
\heiti\zihao{3}
- \tl_if_blank:VTF \l_@@_value_vertical_title_tl
+ \tl_if_blank:VTF \l_@@_value_vertical_title_tl
{\l_@@_value_title_tl}{\l_@@_value_vertical_title_tl}
}
\par
@@ -2024,8 +2060,8 @@
{
\renewcommand{\baselinestretch}{2}
- \tl_if_empty:NT \l_@@_cover_dilimiter_tl {
- \tl_set:Nn \l_@@_cover_dilimiter_tl {\qquad}
+ \tl_if_empty:NT \l_@@_cover_delimiter_tl {
+ \tl_set:Nn \l_@@_cover_delimiter_tl {\qquad}
}
\tl_set:Nn \l_@@_cover_underline_offset_dim {-5pt}
@@ -2034,10 +2070,10 @@
\bool_if:NF \l_@@_cover_auto_width_bool {
\dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_label_max_width_dim {45mm}
- }
+ }
\dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_value_max_width_dim {60mm}
- }
+ }
}
% 渲染信息。
@@ -2080,8 +2116,8 @@
\vskip \stretch{1}
{
- \tl_if_empty:NT \l_@@_cover_dilimiter_tl {
- \tl_set:Nn \l_@@_cover_dilimiter_tl {:~}
+ \tl_if_empty:NT \l_@@_cover_delimiter_tl {
+ \tl_set:Nn \l_@@_cover_delimiter_tl {:~}
}
\tl_set:Nn \l_@@_cover_label_align_tl {l}
@@ -2092,10 +2128,10 @@
\bool_if:NF \l_@@_cover_auto_width_bool {
\dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_label_max_width_dim {55mm}
- }
+ }
\dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_value_max_width_dim {85mm}
- }
+ }
}
% 渲染信息。
@@ -2279,7 +2315,15 @@
\begin{blindPeerReview}[\l_@@_cover_hide_cover_in_peer_review_bool]
\group_begin:
- \int_case:nn {\g_@@_thesis_type_int}
+ % 封面使用的 thesis-type 可能与整体不同。
+ \int_new:N \l_@@_thesis_type_int
+ \bool_if:NTF \l_@@_cover_prefer_zh_bool {
+ \int_set:Nn \l_@@_thesis_type_int {1}
+ } {
+ \int_set:Nn \l_@@_thesis_type_int \g_@@_thesis_type_int
+ }
+
+ \int_case:nn {\l_@@_thesis_type_int}
{
{1}
{
@@ -2297,32 +2341,43 @@
\zihao{-0}\textbf{\ziju{0.12}\songti{\l_@@_style_headline_tl}}\par
- \vspace{16mm}
-
- \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par
+ \vspace{0.5em plus 1fill}
- \vspace{3mm}
+ \group_begin:
+ % 中文标题
+ \tl_set:Nn \l_tmpa_tl {
+ \linespread{1.46}\selectfont
+ \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par
+ }
+ % 英文标题
+ \tl_set:Nn \l_tmpb_tl {
+ \linespread{1.65}\selectfont
+ \zihao{3}\textbf{\l_@@_value_title_en_tl}\par
+ }
- \begin{spacing}{1.2}
- \zihao{3}\selectfont{\textbf{\l_@@_value_title_en_tl}}\par
- \end{spacing}
+ \bool_if:NTF \l_@@_cover_reverse_titles_bool {
+ \l_tmpb_tl \vspace{3mm} \l_tmpa_tl
+ } {
+ \l_tmpa_tl \vspace{3mm} \l_tmpb_tl
+ }
+ \group_end:
- \vspace{15mm}
+ \vspace{0em plus 1fill}
\begin{spacing}{1.8}
\begin{center}
- \tl_if_empty:NT \l_@@_cover_dilimiter_tl {
- \tl_set:Nn \l_@@_cover_dilimiter_tl {:}
+ \tl_if_empty:NT \l_@@_cover_delimiter_tl {
+ \tl_set:Nn \l_@@_cover_delimiter_tl {:}
}
% if not auto width, try override width
\bool_if:NF \l_@@_cover_auto_width_bool {
\dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_label_max_width_dim {35mm}
- }
+ }
\dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_value_max_width_dim {78mm}
- }
+ }
}
\clist_set:Nn \l_@@_input_clist {
@@ -2341,14 +2396,16 @@
\zihao{3}
\@@_render_cover_entry:n \l_@@_input_clist
-
+
\end{center}
\end{spacing}
- \vspace*{\fill}
+ \vspace*{1.5em plus 1.5fill}
\centering
\zihao{3}\ziju{0.5}\songti{
\tl_if_empty:NTF \l_@@_cover_date_tl {
+ % 英文模板中 ctex 不会预设日期格式,但仍要保证中文封面的日期按中文习惯
+ \ctexset{today=small}
\today
} {
\l_@@_cover_date_tl
@@ -2375,8 +2432,8 @@
{
\begin{spacing}{1.8}
-
- \tl_set:Nn \l_@@_cover_dilimiter_tl {\textbf{:}}
+
+ \tl_set:Nn \l_@@_cover_delimiter_tl {\textbf{:}}
\bool_set_false:N \l_@@_cover_auto_width_bool
\dim_set:Nn \l_@@_cover_label_max_width_dim {35mm}
\dim_set:Nn \l_@@_cover_value_max_width_dim {115mm}
@@ -2408,8 +2465,8 @@
\vspace{\stretch{0.67}}
\begin{spacing}{1.8}
- \tl_if_empty:NT \l_@@_cover_dilimiter_tl {
- \tl_set:Nn \l_@@_cover_dilimiter_tl {:}
+ \tl_if_empty:NT \l_@@_cover_delimiter_tl {
+ \tl_set:Nn \l_@@_cover_delimiter_tl {:}
}
% 如果不是自动计算宽度,且用户没有自定义宽度,
@@ -2417,10 +2474,10 @@
\bool_if:NF \l_@@_cover_auto_width_bool {
\dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_label_max_width_dim {35mm}
- }
+ }
\dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_value_max_width_dim {78mm}
- }
+ }
}
\zihao{3}
@@ -2437,7 +2494,7 @@
}
\@@_render_cover_entry:n \l_@@_input_clist
-
+
\end{spacing}
\vspace{\stretch{0.67}}
@@ -2459,6 +2516,11 @@
\vspace{18mm}
+ \bool_if:NT \l_@@_cover_add_titlezh_bool {
+ \zihao{2}\textbf{\xihei:n \l_@@_value_title_tl}\par
+ \vspace{16mm}
+ }
+
\zihao{2}\textbf{\xihei:n \l_@@_value_title_en_tl}\par
\vspace{10mm}
@@ -2466,25 +2528,25 @@
\begin{spacing}{1.8}
\begin{center}
- \tl_if_empty:NT \l_@@_cover_dilimiter_tl {
- \tl_set:Nn \l_@@_cover_dilimiter_tl {:}
+ \tl_if_empty:NT \l_@@_cover_delimiter_tl {
+ \tl_set:Nn \l_@@_cover_delimiter_tl {:}
}
% if not auto width, try override width
\bool_if:NF \l_@@_cover_auto_width_bool {
\dim_compare:nNnT {\l_@@_cover_label_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_label_max_width_dim {20mm}
- }
+ }
\dim_compare:nNnT {\l_@@_cover_value_max_width_dim} = {0pt} {
\dim_set:Nn \l_@@_cover_value_max_width_dim {105mm}
- }
+ }
}
\zihao{4}
\clist_set:Nn \l_@@_input_clist {
{\c_@@_label_school_en_tl} {\l_@@_value_school_tl},
- {\c_@@_label_major_en_tl} {\l_@@_value_major_tl},
+ {\g_@@_const_info_major_tl} {\l_@@_value_major_tl},
{\c_@@_label_author_en_tl} {\l_@@_value_author_tl},
{\c_@@_label_student_id_en_tl} {\l_@@_value_student_id_tl},
{\c_@@_label_supervisor_en_tl} {\l_@@_value_supervisor_tl},
@@ -2524,13 +2586,13 @@
% \begin{macro}{\MakeOriginality}
% 原创性声明。
% \begin{macrocode}
-\NewDocumentCommand \MakeOriginality {}
+\NewDocumentCommand \MakeOriginality {}
{
\group_begin:
\begin{blindPeerReview}[\l_@@_cover_hide_cover_in_peer_review_bool]
\int_case:nn {\g_@@_thesis_type_int}
{
- {1}
+ {1}
{
\currentpdfbookmark{声明}{frontmatter:originality}
\pagestyle{BIThesis}
@@ -2580,7 +2642,10 @@
\newpage
}
{3} {
- \linespread{1.26}\selectfont
+ \currentpdfbookmark{Statements}{frontmatter:originality}
+ \pagestyle{BIThesis}
+ \pagenumbering{gobble}
+
% 原创性声明部分
\begin{center}
\vspace*{-2bp}
@@ -2591,7 +2656,7 @@
}
\end{center}~\par
- % 本部分字号为小三
+ % 本部分字号为小四
\zihao{-4}
\c_@@_bachelor_english_label_originality_clause_tl
@@ -2599,7 +2664,7 @@
Student~(Signature):~\dunderline[-1pt]{1pt}{\makebox[18mm]{}}~Date:\par
- \vspace{6mm}
+ \vspace{\stretch{1}}
% 使用授权声明部分
\begin{center}
@@ -2679,12 +2744,6 @@
\renewcommand{\baselinestretch}{1.56}
}
- \@@_if_thesis_english:TF {
- \tl_set:Nn \l_@@_toc_title_tl {\c_@@_label_toc_en_tl}
- } {
- \tl_set:Nn \l_@@_toc_title_tl {\c_@@_label_toc_tl}
- }
-
% 自定义目录样式
\cs_set:Npn \contentsname {
\fontsize{16pt}{\baselineskip}
@@ -2694,19 +2753,19 @@
\vspace{-8pt}
}
- % 添加目录书签
- \__bithesis_if_thesis_int_type:nF {3} {
- \currentpdfbookmark{\c__bithesis_label_toc_tl}{ch:toc}
+ \bool_if:NTF \l_@@_add_toc_to_toc_bool {
+ % 添加「目录」本身到目录中,同时自动添加书签
+ % 此处必须有`\phantomsection`,不然 hyperref 会把链接指向之前摘要的标题。
+ \phantomsection
+ \addcontentsline{toc}{chapter}{\c_@@_label_toc_en_tl}
+ } {
+ % 手动添加目录书签
+ \currentpdfbookmark{\l_@@_toc_title_tl}{ch:toc}
}
% 制作目录
\tableofcontents
- % 在本科生全英文模板中,添加「目录」本身到目录中。
- \__bithesis_if_thesis_int_type:nT {3} {
- \addcontentsline{toc}{chapter}{\c__bithesis_label_toc_en_tl}
- }
-
% 单独成页
\clearpage
}
@@ -2744,16 +2803,8 @@
}
\@@_if_bachelor_thesis:T {
- \int_compare:nNnTF {\g_@@_thesis_type_int} = {3}
- {
- \ctexset{
- chapter/titleformat = {\heiti}
- }
- }
- {
- \ctexset{
- chapter/titleformat = {\textmd}
- }
+ \ctexset{
+ chapter/titleformat = {\textmd}
}
}
@@ -2798,39 +2849,25 @@
\centering
\vspace*{-2bp}
- \@@_if_thesis_int_type:nTF {3} {
- \arialfamily\zihao{-2}\textbf
- \l_@@_value_title_en_tl\\
- } {
- \heiti\zihao{3}\textbf
+ \l_@@_title_font_cs:n {
+ \zihao{3}\textbf
\l_@@_value_title_en_tl\\
}
\end{spacing}
\vspace*{10mm}
}
-
+
\ctexset{
chapter/numbering = false,
}
\@@_if_bachelor_thesis:TF {
- \int_compare:nNnTF {\g_@@_thesis_type_int} = {3}
- {
- \ctexset{
- chapter = {
- titleformat = {\heiti\zihao{3}\centering\textbf},
- }
- }
- } {
- \ctexset{
- chapter = {
- titleformat = {\heiti\zihao{-3}\centering\textmd},
- }
- }
+ \ctexset{
+ chapter/titleformat = {\zihao{-3}\textmd}
}
} {
\ctexset {
- chapter/titleformat = {\heiti\zihao{3}\centering\textbf}
+ chapter/titleformat = {\heiti\zihao{3}\centering\textbf}
}
}
@@ -2945,13 +2982,13 @@
}
\bool_if:NTF \l_@@_appendices_chapter_level_bool {
- % 附录章节级别
-
+ % 使用以「chapter」为顶层的附录格式
+
% 仅设置 \setcounter{chapter}{0} 时,pdf 目录会索引到正文章节。
% 因此,需要使用 \appendix 重置计数器,并将附录后面的
% 几个章节视为特殊的附录页。
\appendix
-
+
\ctexset{
chapter/numbering = true,
chapter/name = {},
@@ -2964,7 +3001,7 @@
\Alph{chapter}
}
} {
- % 附录节(section)级别
+ % 使用以「section」为顶层的附录格式
% 因为不需要用到 chapter counter, 所以直接加一即可。
\stepcounter{chapter}
@@ -3021,11 +3058,7 @@
subsubsection/number = \arabic{section}. \arabic{subsection}. \arabic{subsubsection},
}
- \@@_if_thesis_english:TF {
- \chapter{\c_@@_label_ack_en_tl}
- } {
- \chapter{\c_@@_label_ack_tl}
- }
+ \chapter{\g_@@_const_heading_acknowledgements_tl}
\@@_if_graduate:TF {\fangsong}{}
#1
\end{blindPeerReview}
@@ -3323,7 +3356,7 @@
% \subsubsection{全局变量与临时变量}
%
% \begin{variable}{\g_@@_thesis_type_int}
-% 论文类型,取值从 1 开始,分别对应:
+% 论文类型,取值从 1 开始,分别对应:
% \begin{enumerate}
% \item 课程实验报告
% \item (计算机学院)本科生毕业(设计)开题报告(已废弃)
@@ -3332,7 +3365,7 @@
\int_new:N \g_@@_report_type_int
% \end{macrocode}
% \end{variable}
-%
+%
% \begin{variable}{\c_@@_report_type_clist}
% 定义报告类型的列表。
% \begin{macrocode}
@@ -3340,7 +3373,7 @@
{ common, undergraduate_proposal}
% \end{macrocode}
% \end{variable}
-%
+%
% \begin{variable}{\l_@@_right_seq,\l_@@_left_seq}
% 临时变量。
% \begin{macrocode}
@@ -3348,12 +3381,12 @@
\seq_new:N \l_@@_left_seq
% \end{macrocode}
% \end{variable}
-%
+%
% 手动开启伪粗体、伪斜体。
% \begin{macrocode}
\PassOptionsToPackage{AutoFakeBold,AutoFakeSlant}{xeCJK}
% \end{macrocode}
-%
+%
% \subsubsection{l3keys 接口键值对定义}
%
% 定义 |bitreport| 模板类的键值对。
@@ -3366,7 +3399,7 @@
misc .meta:nn = { bitreport / misc } {#1}
}
% \end{macrocode}
-%
+%
% 定义 |bitreport/option| 模板类的键值对。
% \begin{macrocode}
\keys_define:nn { bitreport / option }
@@ -3375,14 +3408,14 @@
type .value_required:n = true,
type .choices:Vn =
\c_@@_report_type_clist
- {
- \int_set_eq:NN \g_@@_report_type_int \l_keys_choice_int
+ {
+ \int_set_eq:NN \g_@@_report_type_int \l_keys_choice_int
},
type .initial:n = common,
ctex .tl_set:N = \l_@@_options_to_ctex_tl,
}
% \end{macrocode}
-%
+%
% 定义 |bitreport/cover| 模板类的键值对。
% \begin{macrocode}
\keys_define:nn { bitreport / cover }
@@ -3390,7 +3423,7 @@
imagePath .tl_set:N = \l_bit_coverimagepath_tl,
date .tl_set:N = \l_@@_cover_date_tl,
%% cover entry
- dilimiter .tl_set:N = \l_@@_cover_dilimiter_tl,
+ delimiter .tl_set:N = \l_@@_cover_delimiter_tl,
labelAlign .tl_set:N = \l_@@_cover_label_align_tl,
labelAlign .initial:n = {r},
valueAlign .tl_set:N = \l_@@_cover_value_align_tl,
@@ -3407,7 +3440,7 @@
underlineOffset .initial:n = { -10pt },
}
% \end{macrocode}
-%
+%
% 定义 |bitreport/info| 模板类的键值对。
% \begin{macrocode}
\keys_define:nn { bitreport / info }
@@ -3422,7 +3455,7 @@
studentId .tl_set:N = \l_@@_value_student_id_tl,
}
% \end{macrocode}
-%
+%
% 定义 |bitreport/misc| 模板类的键值对。
% \begin{macrocode}
\keys_define:nn { bitreport / misc }
@@ -3430,20 +3463,20 @@
reviewTable .tl_set:N = \l_bit_reviewtable_tl,
}
% \end{macrocode}
-%
+%
% 将 |bithesis/option/ctex| 中的值传递给 ctexbook 模板类。
% \begin{macrocode}
\DeclareOption*{
\PassOptionsToClass{\l_@@_options_to_ctex_tl}{ctexart}
}
% \end{macrocode}
-%
+%
% 加载 ctexbook 模板类。
% \begin{macrocode}
\ProcessOptions\relax
\LoadClass[zihao=-4]{ctexart}
% \end{macrocode}
-%
+%
% \subsubsection{定义模板类样式}
% 加载所需的宏包。
% \begin{macrocode}
@@ -3454,13 +3487,13 @@
\RequirePackage{booktabs}
\RequirePackage{pdfpages}
% \end{macrocode}
-%
-% 在宏加载时,处理 |bitreport/option| 中的值。使得 |bitreport|
+%
+% 在宏加载时,处理 |bitreport/option| 中的值。使得 |bitreport|
% 宏包的模板选项可以在宏加载时生效。
% \begin{macrocode}
\ProcessKeysOptions { bitreport / option }
% \end{macrocode}
-%
+%
% \subsubsection{辅助函数与常量}
%
% \begin{macro}{\tl_if_empty:xTF,\seq_set_split:Nnx}
@@ -3470,10 +3503,10 @@
\cs_generate_variant:Nn \seq_set_split:Nnn {Nnx}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_dunderline:nnn}
% 用于渲染下划线。
-%
+%
% 参数如下:
% \begin{itemize}
% \item \#1 位置,可选值为 \texttt{c}enter、\texttt{l}eft、\texttt{r}ight。
@@ -3486,7 +3519,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{|@@_render_cover_entry:nn}
% 用于渲染封面的辅助函数。
%
@@ -3501,7 +3534,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_render_cover_entry:nn #1#2 {
\makebox[\l_@@_cover_label_max_width_dim][\l_@@_cover_label_align_tl]{
- \tl_if_blank:VTF #1 {} {#1\l_@@_cover_dilimiter_tl}
+ \tl_if_blank:VTF #1 {} {#1\l_@@_cover_delimiter_tl}
}
\hspace{1ex}
\@@_dunderline:nnn{\l_@@_cover_underline_offset_dim}{\l_@@_cover_underline_thickness_dim}{
@@ -3510,7 +3543,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{|@@_get_text_width:Nn,\@@_get_text_width:NV}
% 计算 \#2 所占用的宽度,将结果存储在 \#1 中。
%
@@ -3529,7 +3562,7 @@
\cs_generate_variant:Nn \@@_get_text_width:Nn { NV }
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_get_max_text_width:NN}
% 从 \#2 中获取最大的文本宽度,然后设置到 \#1 中。
%
@@ -3556,7 +3589,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_parse_entry}
% 解析封面信息条目。
%
@@ -3579,7 +3612,7 @@
}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\@@_render_cover_entry}
% 渲染封面信息项。此函数为主函数。
% \begin{macrocode}
@@ -3596,7 +3629,7 @@
% 比如 {label_1} {value \\ 1} 会被转换成
% { {label_1} {value}, {} {1} }
\@@_parse_entry ##1
- % 然后将这些 label - value 对添加到 \l_@@_right_seq
+ % 然后将这些 label - value 对添加到 \l_@@_right_seq
% 或者 \l_@@_left_sql 中。
% left 就是 label,right 就是 value。
\seq_concat:NNN \l_@@_right_seq \l_@@_right_seq \l_@@_tmp_right_seq
@@ -3608,7 +3641,7 @@
\@@_get_max_text_width:NN \l_@@_cover_label_max_width_dim \l_@@_left_seq
\@@_get_max_text_width:NN \l_@@_cover_value_max_width_dim \l_@@_right_seq
}
-
+
% 最后,根据宽度渲染 label 和 value 对。
\group_begin:
@@ -3626,7 +3659,7 @@
% \end{macro}
%
% \subsubsection{定义用户接口}
-%
+%
% \begin{macro}{\BITSetup}
% 提供用户配置的接口。
% \begin{macrocode}
@@ -3736,7 +3769,7 @@
% \begin{macro}{\MakeReviewTable}
% 渲染评阅表。
% \begin{macrocode}
-\DeclareDocumentCommand \MakeReviewTable {}
+\DeclareDocumentCommand \MakeReviewTable {}
{
\group_begin:
\begin{titlepage}
@@ -3751,35 +3784,35 @@
% \begin{macrocode}
\DeclareCaptionFont{kaiticaption}{\kaishu \normalsize}
% \end{macrocode}
-%
+%
% 设置图片的 caption 格式
% \begin{macrocode}
\renewcommand{\thefigure}{\thesection-\arabic{figure}}
\captionsetup[figure]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption}
% \end{macrocode}
-%
+%
% 设置表格的 caption 格式
% \begin{macrocode}
\renewcommand{\thetable}{\thesection-\arabic{table}}
\captionsetup[table]{font=small,labelsep=space,skip=10bp,labelfont=bf,font=kaiticaption}
% \end{macrocode}
-%
+%
% 输出大写数字日期
% \begin{macrocode}
\ctexset{today=big}
% \end{macrocode}
-%
+%
% 将西文字体设置为 Times New Roman
% \begin{macrocode}
\setromanfont{Times~New~Roman}
% \end{macrocode}
-%
+%
% 设置文档标题深度
% \begin{macrocode}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
% \end{macrocode}
-%
+%
% 设置一级标题、二级标题格式。
% \begin{macrocode}
% 一级标题:小三,宋体,加粗,段前段后各半行。
@@ -3804,7 +3837,7 @@
}
}
% \end{macrocode}
-%
+%
% 页眉和页脚(页码)的格式设定。
% \begin{macrocode}
\fancyhf{}
@@ -3826,13 +3859,13 @@
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{0pt}
% \end{macrocode}
-%
+%
% 正文开始
% \begin{macrocode}
\pagestyle{fancy}
\setcounter{page}{1}
% \end{macrocode}
-%
+%
% \begin{macrocode}
% 正文 22 磅的行距,段前段后间距为 0
% \setlength{\parskip}{0em}
@@ -3861,27 +3894,27 @@
framelogo .tl_set:N = \l_bit_framelogo_tl,
}
% \end{macrocode}
-%
-% 在宏加载时,处理 |bitbeamer| 中的值。使得 |bitbeamer|
+%
+% 在宏加载时,处理 |bitbeamer| 中的值。使得 |bitbeamer|
% 宏包的模板选项可以在宏加载时生效。
% \begin{macrocode}
\ProcessKeysOptions { bitbeamer }
% \end{macrocode}
-%
+%
% Pass every option not explicitly defined to `ctexbeamer`.
% \begin{macrocode}
\DeclareOption*{
\PassOptionsToClass{\CurrentOption}{ctexbeamer}
}
% \end{macrocode}
-%
+%
% Executes the code for each option.
% Load.
% \begin{macrocode}
\ProcessOptions\relax
\LoadClass{ctexbeamer}
% \end{macrocode}
-%
+%
% \subsubsection{定义模板类样式}
%
% 加载所需的宏包。
@@ -3898,7 +3931,7 @@
\definecolor{bitdarkgreen}{HTML}{005B30}
\colorlet{beamer@blendedblue}{bitdarkgreen}
% \end{macrocode}
-%
+%
%
% \begin{macro}{\CJKhl:nn}
% 高亮中文字符。
@@ -3907,8 +3940,8 @@
{ \CJKsout*[thickness=2.5ex, format=\color{#1}]{#2} }
% \end{macrocode}
% \end{macro}
-%
-% Set header if logo path is provided.
+%
+% Set header if logo path is provided.
% \begin{macrocode}
\tl_if_empty:NF \l_bit_titlegraphic_tl {
% BIT Logo
@@ -3917,19 +3950,19 @@
}
}
% \end{macrocode}
-%
+%
% Set title logo if logo path is provided.
% \begin{macrocode}
\tl_if_empty:NF \l_bit_framelogo_tl {
\addtobeamertemplate{frametitle}{}{%
\begin{tikzpicture}[remember~picture,overlay]
- \node[anchor=north~east,yshift=2pt] at (current~page.north~east)
+ \node[anchor=north~east,yshift=2pt] at (current~page.north~east)
{\includegraphics[height=0.8cm]{\tl_use:N \l_bit_framelogo_tl}};
\end{tikzpicture}
}
}
% \end{macrocode}
-%
+%
% \subsubsection{定义用户接口}
%
% \begin{macrocode}
@@ -4274,4 +4307,3 @@
% TeX-master: t
% End:
% \fi
-
diff --git a/macros/unicodetex/latex/bithesis/bithesis.pdf b/macros/unicodetex/latex/bithesis/bithesis.pdf
index 899c03fe26..cf28b5d09a 100644
--- a/macros/unicodetex/latex/bithesis/bithesis.pdf
+++ b/macros/unicodetex/latex/bithesis/bithesis.pdf
Binary files differ