Minicurso de LaTeX - parte 1

Introdução

Este post é um apoio e resumo para o minicurso de LaTeX realizado na Semana da Matemática 2024, de nome “LaTeX: (quase) tudo o que você precisa saber de LaTeX sendo matemático”, ministrado por mim.

O objetivo do curso é dar uma boa base ja direcionada para a matemática + ABNT. Essa base vem dos princípios do clean code que aprendi durante minha experiência como programador e como aluno do curso de Matemática.

E no overleaf, procure por templates (com as palavras chaves ‘UFPR’ ou ‘ABNT’ ou conforme sua necessidade) não precisa reinventar a roda!

No caso de trabalhar com diagramas do tipo no que se usa em Teoria de Categorias ou com quivers (que é o meu caso) tem esse site:

Ele da algum tipo de conflito com o pacote [portuguese]{babel}, mas não descobri ainda o que :(

ABNT e LaTeX

As normas de citações foram atualização com a NBR 10520:2023, e o abntex2, cuja ultima atualização foi em 2018 (no momento de escrita do minicurso) ja está desatualizado. Tem uma issue aberta sobre esse problema no repositório do github do pacote.

Uma solução foi encontrada, e um modelo (bem completo) está disponível neste repositório

Minha solução para o minicurso: utilizar só o que comumente vi sendo cobrado de ABNT ao longo da minha graduação.

Códigos para copiar e colar

Exemplo minimal


\documentclass{article}

\begin{document}

Olá Mundo 

\end{document}

Exemplo minimal com comentário


\documentclass{article}

\begin{document}

Olá Mundo 
% isso é um comentário e não vai aparecer

\end{document}

Exemplo com alguma configuração e um pacote


\documentclass[
    12pt,
    a4paper
    ]{article}

% Faz todo paragrafo depois de um \chapter ou \section ser identado
\usepackage{indentfirst}

\begin{document}

Olá Mundo 
% isso é um comentário e não vai aparecer

\end{document}

Um quase-modelo


\documentclass[
    12pt,
    a4paper
    ]{article}

% para escrever em pt-br, não são mais necessários na nova versão do pdfLaTeX, mas nao machuca deixar.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[brazilian]{babel}
\usepackage{csquotes} % carregamos esse também pois estamos usando biblatex

% margens
\usepackage{geometry}
\geometry{
    left=3cm,
    top=3cm,
    right=2cm,
    bottom=2cm
}

% Um jeito de usar a fonte Times New Roman ou Arial é compilando com XeLaTeX (nesse caso, deve retirar o inputenc):
\usepackage{fontspec}
\setmainfont{Times New Roman} % ou \setmainfont{Arial} 

% faz todo paragrafo depois de um \chapter ou \section ser identado
\usepackage{indentfirst}
% mudar o espaçamento do paragrafo
\usepackage{setspace}


% créditos ao usuario https://github.com/eekBR pela solução das refencias e citações para a NBR 10520:2023
\usepackage[
    style=abnt,
    hyperref=true,
    giveninits=true,
    mincitenames=1,
    maxcitenames=2]{biblatex}    
\addbibresource{referencias.bib}

\renewcommand*{\mkbibnamefamily}[1]{#1}

% configuração de um ambiente de citação direta longa conforme ABNT
\usepackage[
    leftmargin=4cm, % recuo de margem da abnt
    rightmargin=0cm, % pra manter no mesmo tamanho do texto
    indentfirst=false, % tira o paragrafo
    font={singlespacing, small} % define espaçamento simples e texto pequeno
    ]{quoting}

% para incluir imagens
\usepackage{graphicx}

% fazer tabelas de mais de uma pagina
\usepackage{longtable}

% permite usar multiplas figuras
\usepackage{caption}
\usepackage{subcaption}

% para usar a opção 'H' no ambiente figure e table
\usepackage{float}

% permite manipular o enumerate pra facilitar customização
\usepackage[shortlabels]{enumitem}

% incluir código com highlights
\usepackage{listings}

% para uso de cores
\usepackage{color}
\usepackage[dvipsnames]{xcolor}

% inlcuir pdfs no meio do documento
\usepackage{pdfpages}

% permite o uso de varias colunas
\usepackage{multicol}

% Normalmente é para ser o ultimo pacote importado. Permite customizar hiperlinks. ELe permite fazer a \tableofcontents com links
\usepackage[
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,      
    urlcolor=cyan,
    pdftitle={Exemplo de titulo}, % Muda o titulo do pdf gerado (diferente do nome do arquivo)
    pdfpagemode=FullScreen, % faz o pdf ser aberto em full screen
]{hyperref}

% tamanho do paragrafo
\setlength\parindent{1.25cm}

\begin{document}

% gera o título
\maketitle

% gera o sumário
\tableofcontents

% define espaçamento 1.5 em todo o texto
\onehalfspacing


\printbibliography

\end{document}

pdf do documento

Comentários