Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-angg "LATEX/2019clg-slides-6.tex") % (defun c () (interactive) (find-LATEXsh "lualatex -record 2019clg-slides-6.tex")) % (defun d () (interactive) (find-xpdfpage "~/LATEX/2019clg-slides-6.pdf")) % (defun e () (interactive) (find-LATEX "2019clg-slides-6.tex")) % (defun u () (interactive) (find-latex-upload-links "2019clg-slides-6")) % (find-xpdfpage "~/LATEX/2019clg-slides-6.pdf") % (find-sh0 "cp -v ~/LATEX/2019clg-slides-6.pdf /tmp/") % (find-sh0 "cp -v ~/LATEX/2019clg-slides-6.pdf /tmp/pen/") % file:///home/edrx/LATEX/2019clg-slides-6.pdf % file:///tmp/2019clg-slides-6.pdf % file:///tmp/pen/2019clg-slides-6.pdf % http://angg.twu.net/LATEX/2019clg-slides-6.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,8 e 13,14,\ColorRed{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 6}} \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: