C. Lente

Tomando Notas em uma Aula de Exatas

Meu maior problema na faculdade (fora passar nas matérias) sempre foi anotar as aulas. Eu sou o tipo de pessoa que gosta anotar absolutamente tudo que o(a) professor(a) fala para o caso de algum detalhe obscuro de uma aula perdida ser cobrado na prova.

Em pouco tempo percebi que anotar tudo em papel era impraticåvel. Fora o cansaço de copiar lousas interminåveis, muitos professores são desorganizados demais para que seja possível anotar linearmente o que estå sendo dito em aula. Que atire a primeira pedra aquele aluno que nunca desistiu de anotar uma aula ao perceber que o(a) professor(a) havia cometido um erro duas lousas atrås.

Possíveis soluçÔes

A primeira coisa que todo aluno pensa nesses momentos de raiva Ă© em fazer suas anotaçÔes no computador (caso ele(a) o tenha). Por um segundo essa pode parecer a solução perfeita, mas ela nem sempre funciona; se vocĂȘ Ă© um aluno de humanas pode atĂ© ser que um editor de texto comum como Word ou Pages funcione para anotar as suas aulas, mas se vocĂȘ tiver que anotar ao menos uma equação esses programas jĂĄ se tornam uma solução menos que ideal.

Como sou aluno de CiĂȘncia da Computação ainda tenho um problema a mais: anotar cĂłdigo. Falando com meus amigos, chegamos Ă  conclusĂŁo de que anotar as nossas aulas em LaTeX talvez fosse a Ășnica saĂ­da. Dito isso, sugiro que o leitor tente anotar pelo menos uma aula na vida em LaTeX para entender porque descarto essa ideia


Dessa forma cheguei a trĂȘs critĂ©rios que qualquer solução deveria atender para ser considerada Ăłtima:

  • Praticidade (descartamos dessa forma anotar as aulas em papel)
  • Facilidade de anotar equaçÔes e cĂłdigo (descartamos editores de texto comuns)
  • Velocidade na hora de escrever (descartamos LaTeX)

Não ia ser fácil


Uma luz no fim do tĂșnel

Depois de muito tempo procurando uma solução ideal, acabei a encontrando debaixo do meu nariz. Para programar eu jå usava hå alguns anos um editor de código chamado Atom, mas o que eu ainda não sabia é que esse editor é extremamente customizåvel, permitindo que o usuårio baixe plugins cuja função é estender a funcionalidade do editor.

Um desses plugins se chama Markdown Preview Plus (MMP) e ele foi a luz no fim do tĂșnel que era o meu caderno de anotaçÔes. Ele junta duas tecnologias opostas de forma que temos o melhor dois dois mundos! Para texto e cĂłdigo ele nos permite usar Markdown, enquanto para equaçÔes ele nos permite usar LaTeX (mas sem a parte de formatação de texto, que tornava qualquer solução LaTeX-pura lenta e ineficiente).

Ler essas duas palavras juntas na mesma frase pode ser intimidador, mas acredite em mim quando digo que ela salvou minha vida. NĂŁo posso dizer que nĂŁo existe uma curva de aprendizado, porĂ©m a recompensa Ă© muito maior que os poucos dias que vocĂȘ perderĂĄ aprendendo Markdown ou LaTeX.

Como instalar o MMP

Para que tudo isso funcione, vocĂȘ precisa primeiro instalar o Atom. Feito isso, navegue atĂ© o menu do editor e procure a aba denominada Install e instale tambĂ©m o Markdown Preview Plus. O passo final Ă© ir atĂ© a aba Packages, procurar o MMP e, em suas configuraçÔes, habilitar a opção Enable Math Rendering By Default.

Crie um arquivo .md e pressione a combinação ctrl + shift + M para ativar o preview do Markdown. Agora é só escrever em Markdown e colocar qualquer código LaTeX entre dois cifrÔes para renderizar qualquer fórmula matemåtica!

E em teoria isso Ă© tudo 😊 Essa solução une a praticidade do computador, as funcionalidades do LaTeX e a velocidade do Markdown de forma que eu nunca imaginei que fosse possĂ­vel. Mas para aqueles que nĂŁo estĂŁo familiarizados com Markdown ou LaTeX, ainda resta o desafio de aprendĂȘ-los


Exemplos

Para saber mais sobre Markdown, sugiro o tutorial criado pelo GitHub: Mastering Markdown. JĂĄ LaTeX nĂŁo precisa exatamente de um tutorial no nosso caso, mas sim de uma cola: LaTeX/Mathematics.

Para fins ilustrativos, veja o texto escrito abaixo:


## Aula de hoje

Com Markdown podemos criar
- *Uma lista*
- `Com itens`
- **Em diversas**
- formataçÔes

Seja $X$ o nĂșmero de comparaçÔes executadas na linha 4 da função
`particione()`. Observe que $X$ Ă© uma variĂĄvel aleatĂłria.
Tome $X_{ab}$ a variåvel aleatória binåria com interpretação
$X_{ab} = 1$ se e somente se $a$ e $b$ sĂŁo comparados na linha 4. 

Algo bem complicado (e sem sentido):

$m = \begin{cases}
    m[i, j] = n + \sum_{k = 0}^{\lfloor \lg n \rfloor} 2^k = n +
    2^{\lfloor \lg n \rfloor} - 1 ≀ n + 2.2^{\lg n} & i = j \\
    m[i, j] = min_{\ i ≀ k ≀ j-1}\{ m[i, k] + m[k+1, j] +
    p_{i-1} \ p_k \ p_j\} & i \not = j
\end{cases}$

Esse Ă© o seu resultado quando renderizado pelo MMP:

Funcionalidades bĂŽnus

Se vocĂȘ quiser maximizar a velocidade com que vocĂȘ faz as anotaçÔes, sugiro tirar vantagem de snippets do Atom. Os que eu uso estĂŁo disponĂ­veis em um Gist.

Para exportar suas anotaçÔes como PDF, clique com o botão direito no preview e selecione Save as HTML. Esse arquivo pode ser aberto no seu navegador e assim ser salvo como PDF com cmd/ctrl + P.