1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
% ----------------------------------------------------------
\chapter{Ambientes}
% ----------------------------------------------------------
Este modelo disponibiliza alguns ``ambientes'', ou seja, caixas de texto com formatação especial para certos tipos de elementos que são automaticamente numerados (por exemplo, \cref{prop:WYSIWYG}, \cref{thm:WYSIWYG}, etc.). Esses ambientes foram adaptados para o UnB\TeX\ a partir soluções utilizadas por \citeonline{Castro2019}.
\section{Exemplos de ambientes disponíveis}
\begin{definition}
O WYSIWYG (ou ``What You See Is What You Get - O que você vê é o formato final'') é um tipo de editor HTML que permite editar sua página da Web em uma visualização simplificada e sem código de aparência semelhante à do layout da página real.
\end{definition}
\begin{proposition}\label{prop:WYSIWYG}
\LaTeX\ produz equações mais bonitas que qualquer editor WYSIWYG.
\end{proposition}
\begin{lemma}
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{exercise}\label{exc:in}
Explique como Isaac Newton usaria cada um dos pacotes seguintes, se vivesse no tempo presente:
\begin{enumerate}[label=(\alph*)]
\item Metapost
\item TikZ
\item PGFPlots
\item PSTricks
\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}
\section{Algoritmo}
O \cref{alg:NNMPC} é um pseudo-código para obtenção de um controlador preditivo baseado em modelo e em redes neurais.
\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}
\end{algorithm}
\section{Programa}
O \cref{cod:exemplo} é um exemplo de programa. Para mais exemplos, confira o \cref{apd:cdg}.
\begin{lstlisting}[caption={Exemplo de programa},label={cod:exemplo}]
/**
* MSO: ativa o servo cujo eixo eh descrito
* por drive_axis; informacoes de controle
* sao gravadas em MSO_1
*/
MSO(drive_axis,MSO_1);
/* Atribui o valor 0.0 ao primeiro elemento do array speed */
speed[0] := 0.0;
/* Atribui 1 para dataInitialized */
dataInitialized := 1;
\end{lstlisting}
|