Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% -*- coding: raw-text-unix -*- % Autor: Eduardo Ochs (o currículo é meu, ora bolas) % Versão: 2008mar17 / 2010apr29 % (find-angg "CV/cv-edrx-2008-pt.tex") % (find-dn4ex "edrx08.sty") % (find-angg ".emacs.templates" "s2008a") % (defun c () (interactive) (find-zsh "cd ~/CV/ && latex cv-edrx-2008-pt.tex")) % (defun c () (interactive) (find-zsh "cd ~/CV/ && pdflatex cv-edrx-2008-pt.tex")) % (eev "cd ~/CV/ && Scp cv-edrx-2008-pt.{dvi,pdf} edrx@angg.twu.net:slow_html/CV/") % (defun d () (interactive) (find-dvipage "~/CV/cv-edrx-2008-pt.dvi")) % (find-dvipage "~/CV/cv-edrx-2008-pt.dvi") % (find-pspage "~/CV/cv-edrx-2008-pt.pdf") % (find-pspage "~/CV/cv-edrx-2008-pt.ps") % (find-zsh0 "cd ~/CV/ && dvips -D 300 -o cv-edrx-2008-pt.ps cv-edrx-2008-pt.dvi") % (find-zsh0 "cd ~/CV/ && dvips -D 600 -P pk -o cv-edrx-2008-pt.ps cv-edrx-2008-pt.dvi && ps2pdf cv-edrx-2008-pt.ps cv-edrx-2008-pt.pdf") % (find-zsh0 "cd ~/CV/ && dvips -D 300 -o tmp.ps tmp.dvi") % (find-pspage "~/CV/tmp.ps") % (ee-cp "~/CV/cv-edrx-2008-pt.pdf" (ee-twupfile "CV/cv-edrx-2008-pt.pdf") 'over) % (ee-cp "~/CV/cv-edrx-2008-pt.pdf" (ee-twusfile "CV/cv-edrx-2008-pt.pdf") 'over) % (defun c () (interactive) (find-zsh "cd ~/CV/ && latex cv-edrx-2008-pt.tex && pdflatex cv-edrx-2008-pt.tex")) % (find-sh0 "cd ~/CV/ && dvips -D 1200 -o cv-edrx-2008-pt.ps cv-edrx-2008-pt.dvi") % (find-sh0 "cd ~/CV/ && dvips -D 300 -o cv-edrx-2008-pt.ps cv-edrx-2008-pt.dvi") % (find-dvipage "~/CV/cv-edrx-2008-pt.dvi") % (find-pspage "~/CV/cv-edrx-2008-pt.ps") % (find-pspage "~/LATEX/o.ps") % (find-fline "~/CV/") % (eev "cd ~/CV/ && Scp cv-edrx-2008-pt.{dvi,pdf,ps} edrx@angg.twu.net:slow_html/CV/") % (find-eevtmpfile "tmp.tex") \documentclass[oneside]{book} \usepackage[brazilian,english]{babel} % edrx \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{graphicx} % (find-lsrcfile "hyperref/") % (find-lsrcfile "hyperref/test/testurl.tex") % \usepackage[letterpaper,colorlinks,breaklinks,backref]{hyperref} \usepackage{hyperref} \begin{document} %* % (eelatex-bounded) % (find-eevtmpfile "") % (find-es "tex" "portug-hyph") % (find-lsrcfile "hyperref/test/testurl.tex") \def\myBig#1{{\large\bf\textsf{#1}}} \def\mybig#1{{\large\bf\textsf{#1}}} \setlength{\parindent}{0em} \setlength{\parskip}{10pt plus 10pt minus 10pt} % \setlength{\footskip}{.5in} % Kopka/Daly p.35 \setlength{\textheight}{8in} % Kopka/Daly p.35 % \setlength{\rightmargin}{0em} \catcode`*=13 \def*{$\bullet$} \def\Set{{\mathbf{Set}}} \def\catC{{\mathbf{C}}} \def\arroba{@} \def\httpurl#1{http:/\!/#1} \def\httpurl#1{\url{http://#1}} % «.miniforth» (to "miniforth") % «.middle-c» (to "middle-c") \myBig{CURRICULUM VITAE} \bigskip \mybig{Dados pessoais:} \bigskip \begin{tabular}{p{10em}p{23em}} Nome completo: & Eduardo Nahum Ochs \\ Data de nascimento: & 7 de fevereiro de 1971 \\ Nacionalidade: & brasileira \\ Sexo: & masculino \\ Estado civil: & solteiro \\ % Identidade: & ........-. (Detran) \\ % HIDE % CPF: & .........-.. \\ % HIDE \\ Telefones: & (21)3970-2870 - casa \\ & (21)9554-7914 - celular \\ E-mail: & eduardoochs{\arroba}gmail.com \\ %& eduardoochs{\arroba}fastmail.fm \\ %& edrx{\arroba}mat.puc-rio.br \\ % MSN: & eduardoochs{\arroba}hotmail.com \\ % HIDE Home page: & \httpurl{angg.twu.net/} \\ Endereço: & R. Joaquim Murtinho 786/s302 \\ % DOTS 6 & Santa Teresa \\ & Rio de Janeiro, RJ, Brasil \\ & CEP 20241-320 \\ \end{tabular} \bigskip \mybig{Formação:} Doutorado em Matemática Aplicada pela PUC-Rio, concluído em agosto de 2003; o doutorado incluiu uma estadia-sanduíche de oito meses --- de janeiro a agosto de 2002 --- na universidade McGill, em Montreal (Canadá). Mestrado em Matemática Aplicada pela PUC-Rio, concluído em abril de 1999. Bacharelado em Matemática pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), concluído em agosto de 1996. Do 2º ano do 1º grau até o 3º ano do 2º grau no Instituto Metodista Bennett, Flamengo, Rio de Janeiro. %-------------------------------------------------- \newpage \mybig{Línguas estrangeiras:} % \bigskip Fluente em Inglês. Ótima compreensão de Francês e Espanhol falados e escritos. % Noções de Italiano. \bigskip \mybig{Experiência didática:} Professor substituto da UERJ/FEBF (Duque de Caxias/RJ) durante o primeiro e o segundo semestres de 2004. Cursos ministrados para turmas de graduação: No primeiro semestre (abril a agosto de 2004): % \begin{itemize} \item Fundamentos da Computação (para Licenciatura em Matemática) \item Geometria Analítica (idem) \item Estatística aplicada à Pesquisa Educacional (para Pedagogia) \end{itemize} No segundo semestre (setembro a dezembro de 2004): % \begin{itemize} \item Fundamentos da Matemática (para Pedagogia) \item Tendências Atuais do Ensino de Ciências (para o curso de Formação de Professores do Ensino Fundamental) \end{itemize} \mybig{Outros cursos ministrados:} Minicurso de 12 horas sobre programação na linguagem Lua na 1ª Semana de Computação da UFPR (Curitiba), outubro de 2005. Minicurso de 12 horas sobre programação em Lua no evento ``HackerUnion 2'', organizado pela GNU Solutions, setembro de 2004. Local: Faculdades ESEEI, Curitiba. \bigskip \mybig{Concursos:} Aprovado (em 2º lugar) no concurso para Professor Adjunto de Matemática para o Pólo Universitário de Rio das Ostras, da UFF (RJ), em abril de 2008. %-------------------------------------------------- \newpage \mybig{Apresentações e publicações:} % 2006apr27: http://www.tecmf.inf.puc-rio.br/EBL06/Program % 2005oct16: eev: http://3semana.uniriotec.br/palestras.php % http://www.c3sl.ufpr.br/secomp/ % 2005oct04: eev http://wiki.c3sl.ufpr.br/cgi-bin/twiki/view/SeComp/Programacao % 2005oct05-06: lua http://wiki.c3sl.ufpr.br/cgi-bin/twiki/view/SeComp/MiniCursos#Laborat_rio_Multi_terminal_Depar % 2005oct07: deb http://wiki.c3sl.ufpr.br/cgi-bin/twiki/view/SeComp/Workshops % http://www.uff.br/grupodelogica/seminarios/sem06.html % http://www.uff.br/grupodelogica/seminarios/sem05.html % http://www.math.mcgill.ca/rags/seminar/seminars02.html % http://www.cms.math.ca/Events/summer02/abs/speakers.html % http://www.cms.math.ca/Events/summer02/abs/CP.html#eo % http://www.inf.puc-rio.br/nd/program_i.html % (find-THfile "miniforth-article.blogme") % http://www.amazon.com/Programming-Gems-Luiz-Henrique-Figueiredo/dp/8590379841/ % http://www.lua.org/gems/ ``Boostrapping a Forth in 40 lines of Lua code'' -- artigo aceito para o livro ``Lua Programming Gems''. O livro está em fase de edição e deve ser publicado em 2008. ``Symplifying Proofs in Categorical Semantics Using Downcased Types'' -- apresentação no XIV Encontro Brasileiro de Lógica, ocorrido entre 24 e 28 de abril de 2006, em Itatiata (RJ). ``Emacs e eev, ou: como auto\-ma\-tizar quase tudo'' -- palestra apresentada na 3ª Semana de Software Livre da UNI-Rio, em 16 de outubro de 2005. ``Emacs e eev, ou: como auto\-ma\-tizar quase tudo'' e ``Como ler as entranhas do Debian'' -- palestras apresentadas na 1ª Semana de Computação da Universidade Federal do Paraná, de 4 a 7 de outubro de 2005. ``A linguagem de programação Lua'' (palestra) e ``Emacs e eev, ou: como auto\-ma\-tizar quase tudo'' (workshop), apresentados no ``2º Dia D'', evento organizado pelo grupo Debian-RJ, em 13 de agosto de 2005. ``Debian e Software Livre'' -- Apresentação no ``Dia D'', evento organizado pelo grupo Debian-RJ, em 21 de agosto de 2004. ``O que é o esqueleto de uma demonstração?'' -- Tese de Doutorado, agosto de 2003. Apresentações feitas durante a bolsa-sanduíche, todas com o título ``A System of Natural Deduction for Categories'': \begin{itemize} \item No encontro ``CMS Summer Meeting 2002'', em 17 de junho de 2002. \item No encontro ``FMCS 2002'', em 8 de junho de 2002. \item No seminário de Lógica da Universidade de Ottawa, em fevereiro de 2002. \item No seminário de Categorias da Universidade McGill, em janeiro de 2002. \end{itemize} % (find-TH "math-b" "Natural-Deduction-Rio-2001") % http://www.inf.puc-rio.br/nd/program_i.html % O resumo consta dos anais. % http://angg.twu.net/math/ % ``A system of natural deduction for categories'' -- apresentado no encontro ``Natural Deduction Rio 2001'', ocorrido entre 2 e 6 de julho de 2001 na PUC-Rio. % (find-TH "math-b" "2001-campinas") % `` `$\Set^\catC$ is a topos' has a syntactical proof'' -- apresentação no seminário de Lógica e Categorias do Centro de Lógica e Epistemologia da UNICAMP, em 25 de abril de 2001. % (find-TH "math-b" "2000-uff") % ``Análise não-standard com filtros'' -- apresentação no Encontro de Lógica da UFF, em 24 de fevereiro de 2000. % (find-TH "math-b" "MsC") % ``Categorias, filtros e infinitesimais naturais'' -- Tese de Mestrado, abril de 1999. %-------------------------------------------------- \newpage \mybig{Apresentações recentes em seminários:} Todas as apresentações abaixo foram feitas no Seminário de Lógica da UFF e correspondem a pesquisa que ainda não foi publicada formalmente. \long\def\sem#1#2{\par {*} #1: #2} \sem {13/03/2008} {Feixes para Não-Categoristas} \sem {28/11/2006} {Sistemas de Tipos com Dicionários - Parte IV: Uma Aplicação} \sem {14/11/2006} {Sistemas de Tipos com Dicionários - Parte III} \sem {24/10/2006} {Sistemas de Tipos com Dicionários - Parte II} \sem {03/10/2006} {Sistemas de Tipos com Dicionários} \sem {06/12/2005} {A Language for Categorical Semantics: System DNC (III)} \sem {01/11/2005} {A Language for Categorical Semantics: System DNC (II)} \sem {20/10/2005} {A Language for Categorical Semantics: System DNC (I)} \smallskip Para mais informações veja a página do seminário: \medskip % http://www.uff.br/grupodelogica/ \centerline{ \httpurl{www.uff.br/grupodelogica/} } \bigskip \mybig{Participação em mesas-redondas:} ``Software Livre, TV Digital e Rádio Digital: desafios e perspectivas para a Educação'' --- em 13/nov/2007, no 5º Encontro de Educação e Tecnologia de Informação e Comunicação, Universidade Estácio de Sá, Rio de Janeiro. Texto da apresentação e detalhes disponíveis em: \medskip % http://angg.twu.net/2007mesa.html \centerline{ \httpurl{angg.twu.net/2007mesa.html} } %-------------------------------------------------- \newpage \mybig{Experiência com computadores:} Mais de dez anos de experiência com criação e implementação de domain-specific languages (ou: "mini-linguagens"). As mais interessantes estão descritas nesta página: %\medskip \smallskip \centerline{ \httpurl{angg.twu.net/littlelangs.html} } % \smallskip Fluente nas seguintes linguagens de programação: Emacs Lisp, Lua, shell scripts (Zsh/Bash), Tcl/Tk/Expect, Icon, C, AWK, \TeX{} e \LaTeX. Ótimo conhecimento das seguintes linguagens, sistemas, protocolos e ferramentas: HTML básico, Debian, makefiles, \TeX{}info, Forth, GDB, CGIs. Bom conhecimento de C++ (com a biblioteca Qt) e Ruby. Conhe\-ci\-mentos razoáveis de PHP e Perl. Noções de Python, SmallTalk, SQL e PostScript. Autor do pacote `eev' para o editor de texto Emacs; o Emacs é um dos dois editores de texto considerados principais em sistemas *NIX. Uma resenha sobre o eev foi publicada no número 13 da revista eletrônica ``Brave Gnu World'', em 1999. Alguma experiência com MS-DOS e Microsoft Windows. Usuário de GNU/Linux desde 1994. % \bigskip %-------------------------------------------------- \newpage \mybig{Principais trabalhos como programador profissional:} De dezembro/2007 a fevereiro/2008: implementação da primeira versão da interface homem-máquina de um sistema de rastreio ótico de foguetes. Omnisys Engenharia, São Caetano do Sul, SP. De julho/2007 a outubro/2007: início da implementação de um debugador gráfico para a linguagem Lua, integrando um toolkit de janelas desenvolvido pelo TecGraf (``IUP''), as rotinas gráficas (``Scintilla'') de um editor de texto (``Scite''), e um debugador para Lua com uma interface de linha de comando (``ldb''). Como programador free-lancer, no TecGraf, PUC-Rio, Rio de Janeiro. De abril/2007 a junho/2007: implementação de novas funções num sistema de backup incremental escrito em Ruby. Digirati Informática, Rio de Janeiro. De junho/2006 a agosto/2006: implementação de um ``daemon'' -- um analisador de logs de mensagens SMS de celular -- em C, usando SWIG para escrever parte das funções do programa em Lua; implementação de interfaces amigáveis para scripts em shell. Empresa: DBA; cliente: Vivo. Rio de Janeiro. De novembro/2005 a março/2006: manutenção de um sistema legado implementado em C++, SQL e ksh e que roda em servidores AIX. Obs: como eu só tinha acesso ao sistema através de máquinas Windows tive que adaptar o Eev para rodar em Windows para poder automatizar as tarefas necessárias e manter logs do que era feito. Empresa: DBA; cliente: Vivo. Rio de Janeiro. De dezembro/2004 ao fevereiro/2005: programação de uma jukebox em Linux (sistema embarcado, controlado por apenas 6 botões). Cliente particular, Rio de Janeiro. De setembro/2000 a novembro/2000: programação de CGIs em PHP. Empresa: Canvas Webhouse, Rio de Janeiro. De junho/1998 a janeiro/1999: programação de CGIs em Perl. Empresa: Bowne Internet, Rio de Janeiro. %-------------------------------------------------- \newpage \mybig{Principais projetos de Software Livre:} {*} Eev -- ``uma ferramenta para automatizar quase tudo'', implementada como uma extensão em Emacs Lisp para o editor de texto GNU Emacs, com ferramentas auxiliares escritas em Tcl/Expect, Shell e Awk. Uma resenha sobre o eev foi publicada no número 13 da revista eletrônica "Brave GNU World", em 1999. Atualmente (março de 2008) o eev está no meio do processo para se tornar um projeto oficial da GNU; ele já foi aceito pela GNU e os detalhes legais já foram resolvidos, mas ainda faltam algumas padronizações e o aceite final. Links principais: \medskip \centerline{ \begin{tabular}{l} \httpurl{angg.twu.net/} \\ \httpurl{angg.twu.net/eev-article.html} \\ \httpurl{angg.twu.net/eev-current/} \\ \httpurl{angg.twu.net/eev-current/README.html} \\ \end{tabular} } \smallskip % (Observação: a página na internet é quase toda em Inglês, mas há um % resumo em português do eev na próxima página). {*} Várias mini-linguagens para geração de diagramas para serem incluídos em textos matemáticos escritos em \LaTeX. Os programas que interpretam estas linguagens de diagramas e geram código \LaTeX{} tiveram várias implementações, em várias linguagens diferentes: em Icon (1997/98), em Icon e Tcl/Tk (1998--2002), e em Lua (2003--). A versão atual processa arquivos em \LaTeX, interpreta certos blocos de comentários como sendo representações ASCII bidimensionais de diagramas categóricos e de árvores de dedução, e produz o código \TeX{} correspondente. Link principal: \medskip \centerline{ \httpurl{angg.twu.net/dednat4.html} } \smallskip {*} BlogMe: uma mini-linguagem para geração de código HTML, baseada numa sintaxe em que só colchetes e espaços são caracteres especiais, e com regras de avaliação e expansão de expressões inspiradas em Forth e Lisp; o núcleo do programa consiste em cerca de 100 linhas de código Lua. As páginas principais em HTML do site http:/\!/angg.twu.net/ (cerca de 40) são geradas usando o BlogMe; as outras --- cerca de 700 --- são geradas usando um antecessor do BlogMe, que é escrito em Tcl e existe desde 1999. Link principal: \medskip \centerline{ \httpurl{angg.twu.net/blogme3.html} } \smallskip %-------------------------------------------------- \newpage \mybig{Principais projetos de Software Livre (continuação):} % «middle-c» (to ".middle-c") {*} Middle-C: uma variação da linguagem C em que os operadores `\verb|[index]|', `\verb|[]|', `\verb|(args)|' e `\verb|.fieldname|' passam a ser ``prefix operators'' ao invés de ``postfix''. Com esta modificação na sintaxe e umas poucas outras obtemos uma linguagem na qual todos os tipos do C podem ser expressos canonicamente como strings sem espaços, e as declarações ficam bem mais simples. Por exemplo: % \begin{verbatim} (C) (Middle-C) int *((*a)[20]); int*[20]* a; int main(int argv, int(int,char[]*) main; char *argv[]); \end{verbatim} % A idéia principal do Middle-C não é ser uma linguagem autônoma, mas implementar todo o sistema de tipos do C em Lua. A partir de um interpretador Lua chamado a partir de um programa em C podemos ler uma biblioteca em Lua (``peek.lua'') de poucas centenas de linhas que entende arquivos de declarações do C (``.h''s) convertidos para a sintaxe do Middle-C, e aí examinar e manipular as estruturas de dados do programa em C interativamente, de um modo que é tecnicamente bem mais simples do que, por exemplo, pela linha de comando do GDB. % Link principal: \medskip \centerline{ \httpurl{angg.twu.net/peek.html} } \smallskip % «miniforth» (to ".miniforth") {*} MiniForth (descrito no artigo ``Boostrapping a Forth in 40 lines of Lua code''). Um sistema Forth experimental implementado sobre Lua que explora vários modos de traduzir as idéias do Forth para um ambiente em que a ``memória'' não é mais um array de bytes, e sim um array de ``células'', em que cada uma pode conter um número, um string, uma função, um array, etc, e onde muitas vezes é mais prático usar funções do Lua -- por exemplo, para ``regexp matching'' no parser -- do que implementar tudo a partir do zero em Forth ``puro'', operando diretamente sobre os bytes da memória. % Link principal: \medskip \centerline{ \httpurl{angg.twu.net/miniforth-article.html} } \smallskip {*} RubyForth -- escrito em conjunto com Marc D.\ Simpson -- é uma versão ``usável'' do MiniForth, que implementa boa parte das funções descritas no ANS Forth Standard e várias funções e estruturas inspiradas por Forths escritos pelo criador da linguagem, que se afastou do mainstream da comunidade no início da década de 1990. Link principal: \medskip \centerline{ \httpurl{angg.twu.net/rubyforth.html} } \smallskip %-------------------------------------------------- % \newpage % \mybig{Principais projetos de Software Livre (continuação):} % {*} Uma mini-distribuição de Debian voltada para pessoas que querem % entender como o sistema funciona e fazer as próprias % mini-distribuições. Este projeto está em andamento: o sistema já % gera um CD que é ao mesmo tempo um ``livecd'' e um CD de instalação, % e ambos funcionam --- mas seria de se esperar que a partir de um % sistema instalado por este CD seria possível produzir uma versão % modificada do próprio CD, e por enquanto o sistema sempre acaba % precisando de pacotes extras que ainda não estão sendo incluídos no % CD. Observação: os scripts deste projeto que já estão funcionais % estão sendo distribuídas junto com o eev, como exemplos de % ``e-scripts'' (veja a descrição do eev). % {*} ``Internet Skills For Disconnected People'' --- uma variação do % projeto anterior em que a mini-distribuição roda dentro de um % emulador dentro do sistema que a gerou, e os dois sistemas, o % original e o emulado, se comportam como duas máquinas independentes % que se comunicam através de uma interface de rede. O objetivo deste % projeto é fazer com que pessoas que usam GNU/Linux e que não têm % acesso nem a um segundo computador nem a administradores de sistemas % possam aprender TCP/IP e redes sozinhas, na prática, usando só o % computador que elas têm em casa. %-------------------------------------------------- \newpage \mybig{Uma descrição mais detalhada do projeto eev} O eev é uma biblioteca para o Emacs que faz com que o Emacs suporte ``e-scripts''. E-scripts são arquivos de ``anotações executáveis'' sobre como fazer determinadas tarefas no computador. Um e-script é tipicamente um arquivo de texto no qual alguns pedacos estão em ``linguagens humanas'', como Português ou Inglês, e outros pedaços são trechos de código em várias linguagens de computador, ou sequências de comandos para vários programas. Muitos dos programas textuais interativos, por exemplo shells e linguagens de programação, contêm pequenos editores de texto embutidos --- chamados ``editores de linha'' --- que mantêm um histórico dos \'ultimos comandos recebidos e permitem que o usuário edite estes comandos e os execute de novo, com ou sem alterações. A idéia do eev é não precisarmos nos restringir somente a estas ferramentas simplificadas de edição de comandos --- com o eev o Emacs passa a poder ser utilizado como um ``editor universal de comandos''. Os e-scripts são como históricos globais de comandos dados para o sistema, mas que podem ser editados como arquivos de texto comuns, podem conter todo tipo de comentário e de hiperlink, e podem conter comandos para vários programas e linguagens diferentes. Não existe nenhum modo de executar um e-script inteiro de uma vez só: cabe sempre ao usuário selecionar trechos de um e-script interativamente e decidir o que fazer com eles. O usuário seleciona a parte a executar (pode ser a linha em que o cursor está, a ``região'' selecionada pelo Emacs, tudo ao redor do cursor até a primeira ocorrência para a frente e para trás de certos delimitadores, etc) e aí pede que esse trecho seja ``executado'' de algum modo: interpretado como código Lisp e executado imediatemente pelo Emacs, ou gravado num script temporário que depois vai ser lido por um shell, ou mandado imediatamente para um programa interativo com qual o Emacs estabeleceu um canal de comunicação,~etc. Os ``hiperlinks'' em e-scripts são simplesmente blocos executáveis, em geral ocupando uma linha só ou parte de uma linha, que quando são executados têm uma ação correspondente à de seguir um hiperlink. Um exemplo: % $$ \hbox{\tt\#{} (find-node "(make)Automatic" "\$\^{}")} $$ % quando o Emacs executa essa expressão entre parênteses (essa expressão \'e um comando em Emacs Lisp) ele abre a página intitulada ``Automatic'' do manual do GNU Make e leva o cursor para logo depois da primeira ocorrência do string ``\verb|$^|'' no texto. Repare que este tipo de hiperlink pode aparecer no meio de blocos de código pra praticamente qualquer programa ou linguagem --- já que quase todos os programas num sistema *NIX aceitam ``comentários''. Por exemplo, em shell scripts todas as linhas começadas com ``{\tt\#}'' são tratadas como comentários e ignoradas. % (eelatex-bounded) %* \end{document} %%% %%% LaTeX ignores the rest %%% %* % (eedn4a-bounded) % (find-angg ".emacs.papers" "texbytopic") % \def\hangfrom#1{\def\hangobject{#1}\setbox0=\hbox{\hangobject}% \hangindent \wd0 \noindent \hangobject \ignorespaces} \def\mywid{5em} \def\compr#1#2#3{\hangfrom{\hbox to \mywid{\bf #1:\hss}}} \long\def\compr#1 #2 #3{\hangfrom{\hbox to \mywid{\bf #1\hss}}{#3}\par} %* #* # (eev-bounded) cd ~/CV/ lua51 -e ' for li in io.lines() do if string.find(li, "%".." HIDE") then print("% " .. string.gsub(li, "[0-9]", ".")) elseif string.find(li, "%".." DOTS") then print(string.gsub(li, "[0-9]", ".")) else print(li) end end ' < cv-edrx-2008-pt.tex > cv-edrx-2008-pt-.tex # (find-tkdiff "~/CV/cv-edrx-2008-pt.tex" "~/CV/cv-edrx-2008-pt-.tex") cd ~/CV/ i=cv-edrx-2008-pt- latex $i && pdflatex $i && dvips -o $i.ps $i.dvi && gzip -c9 < $i.ps > $i.ps.gz i=cv-edrx-2008-pt latex $i && pdflatex $i && dvips -o $i.ps $i.dvi && gzip -c9 < $i.ps > $i.ps.gz #* # (find-fline "/edrx@angg.twu.net:~/slow_html/CV/") # (eekill "~/CV/cv-edrx-2008-pt.pdf") cd ~/CV/ Scp cv-edrx-2008-pt-.{dvi,ps,ps.gz,pdf} angg.twu.net:slow_html/CV/ #* # (find-dvipage "~/CV/cv-edrx-2005-pt.dvi") # (find-pspage "~/CV/cv-edrx-2005-pt.ps") # (find-pspage "~/CV/cv-edrx-2005-pt.ps.gz") # (find-pspage "~/CV/cv-edrx-2005-pt.pdf") # (find-zsh0 "cd ~/CV/; rm -v cv-edrx-2005-pt.{aux,log}") # (find-zsh0 "cd ~/CV/; rm -v cv-edrx-2005-pt.tex~") # (find-fline "~/CV/") % Local Variables: % coding: raw-text-unix % modes: (my-org-mode emacs-lisp-mode) % End: