;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Catulo Poeta latino

entre 87 e 84 a.C., Verona (Império Romano)

entre 57 e 54 a.C., Roma (Império Romano)

Da Página 3 Pedagogia & Comunicação

28/10/2009 19h09

Caio Valério Catulo (Caius Valerius Catulus) relacionou-se com as figuras mais famosas de sua época, como Cícero, o historiador Cornélio Nepos e o próprio Júlio César. Contudo, a maior presença em sua curta vida foi a da amante, Clódia, que em seus poemas recebe o nome de Lésbia, nome inspirado em Safo, a poetisa grega.

Segundo as poucas informações de que os estudiosos dispõem, Catulo parece ter começado a escrever na adolescência, publicando seus poemas separadamente ou em pequenos conjuntos, até formar uma coletânea, dedicada a Cornélio Nepos.
 

Maior poeta lírico da Roma antiga

De acordo com o professor João Angelo Oliva Neto, "Catulo pertenceu a um grupo de poetas e intelectuais que, nos meados do século 1 a.C., rompeu com o ado literário romano". Daí as críticas que tal grupo recebia, por exemplo, de Cícero, que os chamava, ironicamente, de "poetas novos".

Os poemas longos de Catulo apresentam diversidade de metrificação. Quanto às peças curtas, nelas se destacam os epigramas elegíacos. Sua obra tem nítida influência dos modelos alexandrinos. E, em alguns casos, é evidente o uso que ele faz - verdadeira transposição - de poemas escritos por gregos, como Calímaco.

Catulo inaugurou na literatura romana uma forma nova - o poema leve, gracioso e elegante, para preencher uma lacuna existente entre a tragédia e poema épico de um lado, e a comédia e a sátira do outro. Ele exerceu considerável influência sobre seus sucessores romanos - e também sobre Ovídio, Horácio e Marcial.

Tornou-se, assim, o maior poeta lírico da Roma antiga. Foi um dos primeiros poetas a incorporar elementos da paisagem a seu mundo verbal, como reflexo de sentimentos pessoais. Seus poemas, muitas vezes, parecem falar de emoções próprias do homem ocidental contemporâneo.
 

Enciclopédia Mirador Internacional; O livro de Catulo (Edusp, 1996); Dicionário Oxford de Literatura Clássica