% (find-angg "LATEX/2019clg-slides-2.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2019clg-slides-2.tex"))
% (defun d () (interactive) (find-xpdfpage "~/LATEX/2019clg-slides-2.pdf"))
% (defun b () (interactive) (find-zsh "bibtex 2019clg-slides-2; makeindex 2019clg-slides-2"))
% (defun e () (interactive) (find-LATEX "2019clg-slides-2.tex"))
% (defun u () (interactive) (find-latex-upload-links "2019clg-slides-2"))
% (find-xpdfpage "~/LATEX/2019clg-slides-2.pdf")
% (find-sh0 "cp -v  ~/LATEX/2019clg-slides-2.pdf /tmp/")
% (find-sh0 "cp -v  ~/LATEX/2019clg-slides-2.pdf /tmp/pen/")
%   file:///home/edrx/LATEX/2019clg-slides-2.pdf
%               file:///tmp/2019clg-slides-2.pdf
%           file:///tmp/pen/2019clg-slides-2.pdf
% http://angg.twu.net/LATEX/2019clg-slides-2.pdf
% «.verbatim»			(to "verbatim")
% «.colors»			(to "colors")
% «.myhbox»			(to "myhbox")
% «.bgcolorhbox»		(to "bgcolorhbox")
%
% «.title-page»	(to "title-page")

\documentclass[oneside]{book}
\usepackage[colorlinks,urlcolor=violet]{hyperref} % (find-es "tex" "hyperref")
%\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{pict2e}
\usepackage[x11names]{xcolor}     % (find-es "tex" "xcolor")
\usepackage{colorweb}             % (find-es "tex" "colorweb")
%
\usepackage{edrx15}               % (find-LATEX "edrx15.sty")
\input edrxaccents.tex            % (find-LATEX "edrxaccents.tex")
\input edrxchars.tex              % (find-LATEX "edrxchars.tex")
\input edrxheadfoot.tex           % (find-LATEX "edrxheadfoot.tex")
\input edrxgac2.tex               % (find-LATEX "edrxgac2.tex")
%
% (find-angg ".emacs.papers" "latexgeom")
% (find-LATEXfile "2016-2-GA-VR.tex" "{geometry}")
% (find-latexgeomtext "total={6.5in,8.75in},")
\usepackage[paperwidth=11cm, paperheight=8.5cm,
            %total={6.5in,4in},
            %textwidth=4in,  paperwidth=4.5in,
            %textheight=5in, paperheight=4.5in,
            %a4paper,
            top=1.5cm, bottom=.5cm, left=1cm, right=1cm, includefoot
           ]{geometry}
%
\begin{document}

\catcode`\^^J=10
\directlua{dofile "dednat6load.lua"}  % (find-LATEX "dednat6load.lua")


% «verbatim» (to ".verbatim")
\directlua{dofile "2018tug-dednat6.lua"} % (find-LATEX "2018tug-dednat6.lua")
\def\verbahbox#1{\hbox{\tt#1}}

% «myhbox» (to ".myhbox")
% (find-es "tex" "hbox")
\def\myhbox#1#2#3{\setbox0=\hbox{#3}\ht0=#1\dp0=#2\box0}
% \bhbox{\myhbox{7pt}{2pt}{\tt pb}}

\def\verbahbox#1{\myhbox{7pt}{2pt}{{\tt#1}}}

% «colors» (to ".colors")
% (find-LATEX "2017ebl-slides.tex" "colors")
% (find-LATEX "2017ebl-slides.tex" "colors" "\\def\\ColorGreen")
\long\def\ColorRed   #1{{\color{Red}#1}}
\long\def\ColorViolet#1{{\color{MagentaVioletLight}#1}}
\long\def\ColorGreen #1{{\color{SpringDarkHard}#1}}
\long\def\ColorGreen #1{{\color{SpringGreenDark}#1}}
\long\def\ColorGray  #1{{\color{GrayLight}#1}}

% (find-LATEXfile "istanbulglyphs.el" "Bold:")
\catcode`𝐚=13 \def𝐚{\color{SpringGreenDark}}
\catcode`𝐛=13 \def𝐛{\color{black}}
\catcode`𝐠=13 \def𝐠{\color{SpringGreenDark}}
\catcode`𝐫=13 \def𝐫{\color{Red}}
\catcode`𝐧=13 \def𝐧{\color{blue}}
\catcode`𝐮=13 \def𝐮{\color{blue}}
\catcode`𝐜=13 \def𝐜{\color{pink}}
\catcode`𝐰=13 \def𝐰{\color{YellowOrangeLight}}

% «bgcolorhbox» (to ".bgcolorhbox")
% (find-LATEX "edrx15.sty" "colors")
% (find-es "tex" "fbox")
\def\bgcolorhbox#1#2{{%
  \setbox0\hbox{#2}%
  \setbox0\vbox{\vskip\fboxsep\box0\vskip\fboxsep}%
  \setbox0\hbox{\kern\fboxsep\box0\kern\fboxsep}%
  {\color{#1}{\smashedvrule{\wd0}{\ht0}{\dp0}}}%
  \box0%
  }}

%\bgcolorhbox{blue}{Hello}
%\bgcolorhbox{YellowOrangeLight}{Hello}

\def\bgbox#1{\bgcolorhbox{YellowOrangeLight}{#1}}

\def\myvcenter#1{\begin{matrix}#1\end{matrix}}

\catcode`\^^O=13 \def{{\color{red}*}}

\setlength{\parindent}{0em}

% (find-es "tex" "co")
% \co: a low-level way to typeset code; a poor man's "\verb"
\def\co#1{{%
  \def\\{\char92}%
  \def\^{\char94}%
  \def\~{\char126}%
  \tt#1%
  }}
\def\qco#1{`\co{#1}'}
\def\qqco#1{``\co{#1}''}





%  _____ _ _   _                               
% |_   _(_) |_| | ___   _ __   __ _  __ _  ___ 
%   | | | | __| |/ _ \ | '_ \ / _` |/ _` |/ _ \
%   | | | | |_| |  __/ | |_) | (_| | (_| |  __/
%   |_| |_|\__|_|\___| | .__/ \__,_|\__, |\___|
%                      |_|          |___/      
%
% «title-page» (to ".title-page")
% (cl1p 1)
% (find-es "tex" "huge")
% (find-kopkadaly4page (+ 12 63) "\\Huge")

\begin{tabular}[b]{c}
{\huge {\bf Um curso de \LaTeX{},}}                \\[1.5pt]
{\LARGE {\bf \TeX works e \ColorGreen{Emacs+eev}}} \\[0pt]
\phantom{mmmmmmmmmmmm} \ColorRed{\scriptsize ($↑$ Supresa!!!)} \\
\\
%\includegraphics[width=2cm]{2018tug-edrx-hoop.png}\\
Eduardo Ochs (UFF, Rio das Ostras) \\
UFF, Niterói - 6,7,\ColorRed{8} e 13,14,15/fev 2019 \\
no Laboratório do bloco H do Gragoatá \\
\url{http://angg.twu.net/\#eev} \\
\url{http://angg.twu.net/\#clg} \\
{\scriptsize (``CLG'' $=$ Curso de \LaTeX{} do Gragoatá)} \\
\\
{\Large \bf \ColorRed{Aula 3}}
\end{tabular}

% https://www.tug.org/tug2018/ TUG2018

\newpage

\noedrxfooter


{\bf Revisão}

O material do curso está em \url{http://angg.twu.net/2019-2019-curso-latex.html}


{\bf O que é o \LaTeX?}

Visão simplista: uma ``markup language'' -- como HTML.

HTML gera webpages (control-P no browser $→$ PDFs).

\LaTeX{} gera PDFs \ColorGray{(e DVIs)}.

\TeX{} gera PDFs \ColorGray{(e DVIs)}.

O \LaTeX{} é implementado em cima do \TeX.

\msk

Visão realista: o \TeX{} é uma linguagem de programação;

o \LaTeX{} é o \TeX{} ``com bibliotecas extras''.

História: \TeX76 $→$ \TeX82 $→$ \TeX Book (1984)

O \TeX Book é tão detalhado e preciso,

e o \TeX82 é tão bug-free, que...


\newpage


{\bf O que é o \LaTeX? (2)}

Visão realista: o \TeX{} é uma linguagem de programação;

o \LaTeX{} é o \TeX{} ``com bibliotecas extras''.

História: \TeX76 $→$ \TeX82 $→$ \TeX Book (1984)

O \TeX Book é tão detalhado e preciso,

e o \TeX82 é tão bug-free,

e eles foram tão revolucionários

e tão usados pela comunidade acadêmica

que se tornaram ``standard'' pra preparar

artigos e livros...



\newpage


{\bf O que é o \LaTeX? (3)}

...que a \ColorRed{comunidade} começou a criar \ColorRed{extensões} pro \TeX...

Exemplo: o arquivo {\tt meuartigo.tex} (em plain text!)

começa com uma parte que faz o \TeX{} entrar em

modo ``two-column'', e depois disso todo o resto dele é

texto com um mark-up simples.

{\color{SpringGreenDark}
 \color{Chocolate4}
\begin{verbatim}
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\begin{document}

\lipsum  % Parágrafos 1 a 7 do "Lorem ipsum"

\end{document}
\end{verbatim}
}


\newpage



{\bf `\%' inicia um comentário}

Linguagens de programação admitem \ColorRed{comentários}.

Tudo numa linha de \TeX{} depois de um `\%' é ignorado.

No exemplo abaixo o único comando \co{\\documentclass} \ColorRed{ativo}

é o que seleciona a ``classe'' \co{article} com a opção \co{twocolumn}.

{\color{Chocolate4}\footnotesize
\begin{verbatim}
%\documentclass[twocolumn]{book}
 \documentclass[twocolumn]{article}
%\documentclass           {book}
%\documentclass           {article}
\usepackage{lipsum}
\begin{document}
  \lipsum  % Parágrafos 1 a 7 do "Lorem ipsum"
\end{document}
\end{verbatim}
}


\newpage


{\bf Como assim, ``a comunidade''?}

TUG: \TeX{} users group

Revista: TUGBoat (vamos ver como acessá-la!)

Site: \url{http://www.tug.org/}

\msk

CTAN: Comprehensive \TeX{} Archive Network

Site: \url{http://mirror.ctan.org/}

\msk

\TeX Live: distribuição (com parte do CTAN)

Debian: pacotes \co{texlive*}

Pro curso nós instalamos a versão ``upstream'':

\url{https://www.tug.org/texlive/quickinstall.html}



\newpage


{\bf O \TeX Live é MUITO grande}

Zilhõõõõões (mais de 3000!) pacotes,

incluindo FAQs e tutoriais...

Como é que a gente vai lidar com isso?

\msk

Resposta: \ColorGreen{Emacs+eev}



\newpage

{\bf O que é o Emacs?}

Resposta simplista: um editor de texto.

Resposta melhor: um ambiente Lisp.

\ColorRed{A idéia de software livre surgiu do Emacs.}

($↑$) O Emacs também tem/é uma comunidade.

\msk

Na década de 70 criaram um editor de texto chamado

TECO, que era extensível por ``macros''.

As pessoas começaram a criar extensões incríveis

pra ele pra deixá-lo mais poderoso.

As pessoas começaram a \ColorRed{compartilhar extensões},

mas o código de cada extensão era feio,

elas eram difíceis de entender e às vezes

algumas eram incompatíveis entre si.



\newpage

{\bf O que é o Emacs? (2)}

``Nós precisamos de um TECO melhor!''

Solução: pegue a linguagem de programação

mais elegante e extensível de todas: \ColorRed{Lisp},

adicione algumas funções básicas de

``editor de texto'' nela,

e faça {\sl todo o resto} em Lisp.

\msk

O Emacs é um \ColorRed{ambiente Lisp}

que geralmente é usado como editor de texto.



\newpage

{\bf ``Lisp is available from anywhere''}

Lisp:

\begin{verbatim}
   (* 2 3)           --> 6
           (* 4 5)   --> 20
(+ (* 2 3) (* 4 5))  --> 26
(+       6      20)  --> 26
\end{verbatim}

Essas expressões entre parênteses ---

listas sem vírgulas entre os elementos ---

são chamadas de ``S-expressions'', ou ``\ColorGreen{sexps}''.

O Emacs tem um comando chamado \qco{eval-last-sexp}

que executa a expressão em Lisp \ColorGreen{antes do cursor}.


\newpage

{\bf ``Lisp is available from anywhere'' (2)}

O Emacs tem um comando chamado \qco{eval-last-sexp}

que executa a expressão em Lisp \ColorGreen{antes do cursor}...

ou: a ``\ColorGreen{sexp}'' antes do ``\ColorGreen{point}'' --- e mostra o resultado

na ``\ColorGreen{echo area}''.


\begin{verbatim}
  (+ (* 2 3) (* 4 5))
            ^       ^^
            |       | \
            6      20  26
\end{verbatim}

Se digitarmos \qco{M-x find-file RET \~/2019-CLG/}

Isto equivale a: \co{(find-file "\~/2019-CLG/")}

O Emacs ``visita'' o diretório \qqco{\~/2019-CLG/}.



\newpage

{\bf ``Lisp is available from anywhere'' (3)}

LShort: ``The Not So Short Introduction to \LaTeX$2_ε$'',

um tutorial que todo mundo usa.

Isto é uma sexp que abre o LShort

num PDF viewer (o xpdf) \ColorRed{na p.23}:

\begin{verbatim}
(find-lshortpage (+ 14 9) "\\documentclass")
\end{verbatim}

O eev é uma extensão pro Emacs que define

``elisp hyperlinks''... esses ``elisp hyperlinks'' podem

aparecer em comentários ---

por exemplo, depois do `\co{\%}' num arquivo \co{.tex}.


\newpage

{\bf ``Lisp is available from anywhere'' (4)}

Se editarmos este arquivo \co{.tex} \ColorRed{no Emacs} podemos

seguir os hyperlinks para páginas do LShort

usando `\co{eval-last-sexp}':


{\color{Chocolate4}\footnotesize
\begin{verbatim}
% (find-lshortpage (+ 14  9) "1.6.1 Document Classes")
% (find-lshortpage (+ 14  9)   "\\documentclass")
% (find-lshortpage (+ 14 10)   "twocolumn")
\documentclass[twocolumn]{article}

% (find-lshortpage (+ 14  7) "1.4 Input File Structure")
% (find-lshorttext (+ 14  7)   "\\begin{document}")
\begin{document}
Hello
\end{document}
\end{verbatim}
}



\newpage

{\bf \TeX works}

O \TeX works é um ambiente beginner-friendly

para \TeX{} e \LaTeX{}.

\msk

Nós vamos aprender \ColorRed{um pouquinho} de Emacs+eev...

o suficiente pra usar (e criar) links para páginas

de alguns PDFs que nos interessam --- por exemplo

o LShort, o manual do \TeX works,

um FAQ do CTAN, estes slides...

\msk

Nós vamos aprender a editar arquivos \co{.tex}

com o \TeX works e \ColorRed{ao mesmo tempo}

com o Emacs+eev --- que (por enquanto!)

vai servir principalmente para os hiperlinks.











% (find-tlsh "find * | sort")
% (find-tlfile "texmf-dist/doc/generic/FAQ-en/faq-getit.tex")
% (find-angg ".emacs.papers" "tlfaq")







\end{document}

% Local Variables:
% coding: utf-8-unix
% End:
