|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-angg "LATEX/2019clg-slides-3.tex")
% (defun c () (interactive) (find-LATEXsh "lualatex -record 2019clg-slides-3.tex"))
% (defun d () (interactive) (find-xpdfpage "~/LATEX/2019clg-slides-3.pdf"))
% (defun b () (interactive) (find-zsh "bibtex 2019clg-slides-3; makeindex 2019clg-slides-3"))
% (defun e () (interactive) (find-LATEX "2019clg-slides-3.tex"))
% (defun u () (interactive) (find-latex-upload-links "2019clg-slides-3"))
% (find-xpdfpage "~/LATEX/2019clg-slides-3.pdf")
% (find-sh0 "cp -v ~/LATEX/2019clg-slides-3.pdf /tmp/")
% (find-sh0 "cp -v ~/LATEX/2019clg-slides-3.pdf /tmp/pen/")
% file:///home/edrx/LATEX/2019clg-slides-3.pdf
% file:///tmp/2019clg-slides-3.pdf
% file:///tmp/pen/2019clg-slides-3.pdf
% http://angg.twu.net/LATEX/2019clg-slides-3.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}
Na aula 1 nós vimos:
uma introdução ao \LaTeX{}, ao Emacs e ao eev,
como instalar o eev copiando um script para o terminal
e executando-o (``copy e paste para o terminal''),
e seguimos o tutorial do eev.
\newpage
{\bf Revisão (2)}
Na aula 2 nós vimos:
como usar o eev para abrir PDFs no xpdf,
como instalar o \co{clg} com copy e paste para o terminal,
como usar o \qco{find-latex-links},
como `c'ompilar um \co{.tex} e `d'isplayar o \co{.pdf},
como abrir o \co{.tex} no \TeX`w'orks,
como copiar hiperlinks do \co{.emacs.clg} pro \co{.tex}...
\newpage
{\bf Hoje}
Introdução ao \co{\\def}, a environments e ao math mode
Introdução a catcodes e verbatim
...e aí a gente vai se {\sl preparar} pra entender
essas coisas complicadas aprendendo muitas coisas mais simples.
\newpage
{\bf Um exemplo}
\footnotesize
\begin{verbatim}
$\begin{pmatrix}
& one & \\
two & & three \\
& four & \\
& five & \\
\end{pmatrix}
$
\def\foo#1#2#3#4#5{
\begin{pmatrix}
& #1 & \\
#2 & & #3 \\
& #4 & \\
& #5 & \\
\end{pmatrix}
}
\end{verbatim}
\newpage
\begin{verbatim}
$\foo12345
\foo abcde
\foo{one}{two}{three}
{four}{five}
$
\end{verbatim}
\newpage
Exercício:
Descubra como typesettear isto aqui:
$a'' + \sqrt{x^2 + y^2}$
\end{document}
{\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: