Triángulo mágico de la diosa hindú Durga

Excel para resolver el problema del triángulo mágico de la diosa Durga

Fichero Excel (Libro de Excel 97-2003) con 4 hojas de cálculo. En la primera hoja se plantea resolver el problema del llamado triángulo mágico de la diosa hindú Durga.

Hay que poner los números del 1 al 9, todos y sin repetición, en los 3 lados del triángulo, de forma que los 3 lados sumen lo mismo. En cada lado se ponen 4 números del 1 al 9 y hay 3 celdas que son comunes a 2 lados, teniendo en total 9 celdas.

Las 3 hojas siguiente muestran las 3 soluciones posibles. En principio no habría que verlas hasta haber solucionado por uno mismo el problema del triángulo.

Las operaciones se corrigen automáticamente. Si el número introducido sale azul es que está bien y si sale en rojo es que está mal.

En la primera hoja hay una celda de control que permite fijar la solución que hay que buscar de entre las 3 existentes (sin contar giros).

15 puzle (3x3) y 65 puzle (5x5)

Excel con el 15 puzle (3x3) y 65 puzle (5x5) resueltos

Fichero Excel de Microsoft formado por una sola hoja de cálculo, que contiene:

  • El llamado problema del 15 puzle, de 3x3 celdas, con todos los números de 1 al 9, uno por celda sin repetirse, que suman siempre 15 tanto por filas, como por columnas y diagonales, y
  • El problema del 65 puzle, menos conocido que el anterior, de 5x5 celdas, con todos los números de 1 al 25, uno por celda sin repetirse, que suman siempre 65 tanto por filas, como por columnas y diagonales.

En este fichero Excel se muestran ambos problemas ya resueltos. La versión es la de Excel 97-2003.

Libro Blanco de los Quioscos de Prensa en Madrid

Resumen ejecutivo del Libro Blanco de los quioscos de Madrid

Universidad Rey Juan Carlos, «Libro Blanco del Quiosco de Prensa en Madrid», elaborado por encargo del Ayuntamiento de Madrid, Agencia de Desarrollo Económico Madrid Emprende y desarrollado con la colaboración de la Asociación de Vendedores Profesionales de Prensa de Madrid (AVPPM), Madrid, 2007.

Colaboré como investigador en la creación de este Libro Blanco que posteriormente tuvo una influencia fundamental en la Ordenanza municipal del Ayuntamiento de Madrid, «Ordenanza Reguladora de los Quioscos de Prensa», aprobada por el Pleno del Ayuntamiento, en sesión ordinaria celebrada el día 27 de febrero de 2009, publicada en el Boletín Oficial de la Comunidad de Madrid, BOCM, número 69, páginas 102 a 108, Madrid, lunes 23 de marzo de 2009.

  • Coresearcher of «White Book of Newspapers Sales Stores», Council of Madrid & Rey Juan Carlos University, Madrid, January of 2007.
  • Coinvestigador de «Libro Blanco de los quioscos de Madrid», Ayuntamiento de Madrid y Universidad Rey Juan Carlos, Madrid, enero de 2007.

InkWatercolor, invierno 2007

Cuando el sol se niega a brillar, when the sun refuses to shine, catálogo de invierno 2007

Cuando el sol se niega a brillar | When the sun refuses to shine

Catálogo de invierno del año 2007 de InkWatercolor, 16 páginas, color, inglés y español.

Este catálogo contiene un proceso paso a paso de elaboración de una obra del inicio al fin y obras artísticas como: when the sun refuses to shine ~ cuando el sol se niega a brillar; news of the new world [Apocalypse] ~ noticias del nuevo mundo [Apocalipsis]; against the violet sky [squeletum of a underlying fractal] ~ contra un cielo violeta [esqueleto del fractal subyacente]; requiescant in pace [Vincent van Gogh] ~ descanse en paz [Vincent van Gogh]; a very long speach [Paul Klee] ~ un discurso muy largo [Paul Klee]; representation of the uncertainty ~ representación de la incertidumbre; random, ordered, or networked [Marvin Minsky] ~ aleatorio, ordenado o conectado [Marvin Minsky]; hills architecture and landscaping ~ arquitectura de colinas y paisajismo; y praying mantis ~ mantis religiosa.

Cuando el sol se niega a brillar, InkWatercolor, invierno 2007

640 palabras con las 5 vocales, una de cada

Creo que hay 640 palabras en español que contienen todas las 5 vocales a, e, i, o y u, una de cada y sin repetirse ninguna. Algunas de ellas son estupendas, por ejemplo, la primera de ellas abrenuncio, que es tan buena que la tengo apadrinada en la Reserva de Palabras.

A continuación enumero estas 640 palabras:

abrenuncio, aceituno, acudidero, acuífero, adoquier, adulterino, adulterio, aguerrido, aguiero, aguijeño, aguileño, ahuizote, ajicuervo, ajipuerro, albugíneo, almizqueño, amiguero, anfineuro, anguilero, angurriento, anquiseco, antequino, antetítulo, anticuerpo, aperturismo, aquenio, aquileño, ariqueño, arquetipo, arquíptero, arquitecto, arquitector, arseniuro, arundíneo, asecución, aucténtico, audímetro, aurífero, aurígero, auténtico, autocine, aztequismo, azufeifo, barbiluengo, barbiquejo, barquillero, betuminosa, bielorrusa, birrectángulo, bisabuelo, bisagüelo, blanquecino, blanquimento, blanquinegro, bolsiquear, boquifresca, boquillera, boquinegra, boquiseca, borinqueña, borriqueña, borriquera, botijuela, branquífero, braquícero, bribonzuela, brumamiento, bucelario, bufonería, buhonería, buñolería, burielado, buscamiento, buscapleitos, butadieno, butifarrero, buzamiento, cabeciduro, cachicuerno, calumbriento, campichuelo, cañihueco, capitulero, caquéctico, carguerío, carguillero, castilluelo, catequismo, caulífero, cauliforme, cauterio, cedulario, celulario, celulósica, censuario, centrifugado, centrifugador, centunvirato, cigoñuela, cigüeñato, cincuentavo, cincuentona, cochiquera, coguilera, colecturía, coliquera, collipullensa, comiquear, comisquear, comunicable, comunicante, concienzuda, concurrencia, conducencia, confesuría, confiturera, confluencia, confulgencia, conglutinante, congruencia, conquistable, consecutiva, contertulia, contradique, contumelia, contundencia, conventícula, coquería, coquinera, coquizable, corpulencia, correduría, cortisquear, cosquillear, criaduelo, cruentación, cruzamiento, cuadernillo, cuadriforme, cuadrillero, cuajicote, cuajilote, cuajiote, cuakerismo, cuarcífero, cuartelillo, cuartillero, cuatrerismo, cuellicorta, cuellilargo, cuentahílos, cuestación, cuestionar, cuicacoche, culteranismo, cuñaderío, cuodlibetal, curamiento, curanderismo, curialesco, curiosear, charquecillo, chupaderito, chuzonería, decuriato, deglutoria, degustación, delicaducho, delictuosa, delusoria, demudación, denticulado, denudación, denunciador, depuración, depurativo, desahucio, desboquillar, descontinua, descontinuar, descubridora, descuidado, descuitado, desdibujado, desguisado, deslánguido, despumación, destitulado, destruidora, desucación, desudación, deturpación, devolutiva, dominguera, doquiera, droguería, dudamiento, duenario, dulzainero, duodécima, duodecimal, duomesina, eburnación, ecuación, educación, educativo, elocutiva, emboquillar, embrosquilar, embustidora, embutidora, emulación, emulsionar, emundación, encáustico, encubridora, englutativo, enguichado, engullidora, engurriado, enjundiosa, enluciado, enlucidora, enmochiguar, enquillotrar, enquistado, enrubiador, ensuciador, entubación, enturbiador, entusiasmo, enunciado, equitador, equívoca, equivocar, eructación, eruginosa, erupcionar, erutación, escorbútica, escrutiñador, escuálido, escudillador, escudriñador, escultórica, escupidora, escupitajo, esfumación, esguízaro, espiráculo, esquiador, esquifazón, esquilador, esquinado, esquinanto, esquinazo, esquinzador, esquipazón, esquistosa, esquizado, estanquillo, estimulador, estimulosa, estuación, estuario, estudiado, estudiador, estudiantón, estudiosa, estuosidad, euboica, eubolia, eucalipto, eucrático, eufonía, eufónica, euforia, eufórica, eufótida, eutrofia, eutrófica, eutrofizar, evolutiva, excautivo, excluidora, exculpación, excusación, exhaustivo, exhumación, expugnación, expurgación, exudación, exultación, fabriquero, faleucio, fecundación, fecundativo, fecundizador, ferruginosa, feudalismo, filautero, flamenquismo, freudiano, frumentario, funerario, galleguismo, gatuperio, gerundiano, gesticulador, gesticulosa, granujiento, guadijeño, guaridero, guarnecido, gubernación, gubernativo, guijarreño, guineano, guionaje, guisandero, guitarreo, guitarrero, guitarresco, guitonear, gusaniento, hevicultora, hidalguejo, hidalgüelo, hieródula, hipotenusa, hociquear, hormiguear, hormigüela, hormiguera, hormiguesca, humectación, humectativo, humilladero, hurgamiento, hurtadineros, imbabureño, impetuosa, incestuosa, incompuesta, inconmutable, ineducado, inexhausto, infernáculo, inocultable, insepultado, interruptora, interurbano, invernáculo, iroquesa, irresoluta, jaquimero, jerárquico, juntamiento, juramiento, juzgamiento, latigueo, latiguero, latréutico, laudemio, laurífero, lauríneo, lectuario, leguario, leguminosa, lengüicorta, lengüilargo, letuario, lombriguera, longuería, loquería, loriguera, lucianesco, luciérnago, lucharniego, lustramiento, luteranismo, lloriquear, maldispuesto, mallequino, manguillero, manguitero, manigüero, manipuleo, maniqueo, manuelino, manutención, manutergio, maquilero, marisqueo, marisquero, matihuelo, meditabundo, menorquina, menstruación, mensuración, mensurativo, metalúrgico, meticulosa, milonguera, moquitear, morceguila, mordisquear, morisqueta, mosquitera, mudamiento, muestrario, multilátero, murciégalo, murciélago, murcigallero, narigueto, navichuelo, nebulizador, nebulosidad, neptuniano, neumático, neumonía, neumónica, neurálgico, neuroglia, neurótica, neutralismo, neutrónica, niquelado, niquelador, nucleario, numeración, numerario, numerosidad, obsequiar, obsequias, ocurrencia, ojienjuta, ojituerta, olisquear, opulencia, orquestina, orquídea, pacienzudo, palitoque, palitroque, pandemónium, pañizuelo, paquidermo, parquímetro, patimuleño, patituerto, patizuelo, pauperismo, paupérrimo, pecuario, peliagudo, perdulario, perduración, perfunctoria, perjudicado, perjudicador, permutación, persuadidor, persuasión, persuasivo, perturbación, peruanismo, peruviano, petrarquismo, picapuerco, pichagüero, pichuleador, pindonguear, piragüero, piruétano, pitanguero, plumbagíneo, porquecilla, porquería, porqueriza, precaución, preciosura, pregustación, prepositura, presunciosa, primuláceo, progenitura, pronunciable, prosénquima, pudelación, pujamiento, pulsamiento, pulverizador, punicáceo, punzonería, purgamiento, putrefacción, putrefactivo, quebradillo, quebradizo, quejicosa, quejillosa, querindango, quietador, quijotesa, quijotesca, quincallero, quinceavo, quinolear, quintaleño, quintalero, quiroteca, ranquelino, raquídeo, reasunción, rebollidura, recitáculo, reconquista, reconquistar, reconstructiva, recusación, redargución, reducidora, refugiado, refundidora, refutación, regulación, regulativo, reproductiva, republicano, reputación, requintador, resolutiva, resucitado, resucitador, resudación, reumático, reumatismo, revulsoria, riachuelo, rompesquinas, rosquillera, rostrituerta, rubefacción, rubiáceo, rufianesco, rumeliota, saduceísmo, sahumerio, salubérrimo, salutífero, sanguífero, sanguíneo, sanluiseño, sanluisero, saquerío, sardónique, secundario, secutoria, seguidora, segundario, sensualismo, sericultora, sesquiplano, seudónima, simultáneo, sobrequilla, soguería, sonrisueña, sortijuela, subarriendo, subdirectora, subdominante, subitáneo, sublevación, subordinante, subvencionar, sucesoria, sudorienta, sudorífera, sugeridora, sugestionar, superación, superádito, superiora, superlación, superlativo, supersónica, supervisora, supletoria, surrealismo, suspensoria, sustentación, tabiquero, tampiqueño, taquillero, taquímetro, taquinero, tenutario, tertuliano, teutónica, tiracuello, tiracuero, topiquera, toquería, tosiguera, triaquero, trirrectángulo, truncamiento, tuberosidad, tumefacción, turbamiento, turronería, ugrofinesa, ulceración, ulcerativo, ultraligero, unipersonal, univocarse, untamiento, urogenital, urticáceo, useñoría, vaqueiro, vaquerizo, ventrílocua, venusiano, vesiculosa, vestuario, vituperador, vituperosa, volumetría, volumétrica, vomipurgante, vulneración, vulnerario, yeguarizo, zatiquero y zurrapiento.

Las siguientes 35 líneas de código TOL muestran como extraer a partir de un fichero de palabras, una por línea, todas las palabras que tienen las 5 vocales, volcando en un fichero las que tienen las 5 vocales una de cada (sin repetición) y volcando en otro fichero las palabras que también tienen las 5 vocales pero con alguna repetida.


Text inpFil = "fichero.de.palabras.txt";
Text sinFil = "aeiou.sin.rep.txt";
Text conFil = "aeiou.con.rep.txt";

Text WriteFile(sinFil, "");
Text WriteFile(conFil, "");

Text filTxt = ReadFile(inpFil);
Set  linSet = Unique(Tokenizer(filTxt, "\n"));
Set  linCic = EvalSet(linSet, Real(Text linTxt)
{
  Text linRep = ReplaceTable(linTxt,
    [[ [["á", "a"]], [["é", "e"]], [["í", "i"]], [["ó", "o"]],
       [["ú", "u"]], [["ü", "u"]] ]]);

  Real aCnt = TextOccurrences(linRep, "a");
  Real eCnt = TextOccurrences(linRep, "e");
  Real iCnt = TextOccurrences(linRep, "i");
  Real oCnt = TextOccurrences(linRep, "o");
  Real uCnt = TextOccurrences(linRep, "u");
  
  If(And(EQ(aCnt,1), EQ(eCnt,1), EQ(iCnt,1), EQ(oCnt,1), EQ(uCnt,1)),
  {
    Text WriteLn(linTxt);
    Text AppendFile(sinFil, linTxt+"\n");
    1
  },
  If(And(GE(aCnt,1), GE(eCnt,1), GE(iCnt,1), GE(oCnt,1), GE(uCnt,1),
         GE(aCnt+eCnt+iCnt+oCnt+uCnt, 6)),
  {
    Text WriteLn(linTxt);
    Text AppendFile(conFil, linTxt+"\n");
    1
  },
  0))
});
  

Mini sistema de flujo de datos

Mini sistema de flujo de datos

Fichero con dos hojas Excel (Libro de Excel 97-2003) para practicar suma y resta con un mini sistema de flujo de datos. Las dos hojas Excel contienen el mismo flujo de datos, sólo difiere su anchura.

Las celdas de fondo verde claro son las que contienen los datos de partida. En las celdas de fondo azul claro es en las que hay que introducir los resultados. Las operaciones se corrigen automáticamente. Si el número introducido sale azul es que está bien y si sale en rojo es que está mal.

En la hoja hay dos celdas negras de control, arriba a la izquierda, que permiten fijar la complejidad de las operaciones (máximo) y generar diferentes conjuntos de operaciones.

Operaciones básicas + - x /, disposición horizontal

Practicar las 4 operaciones básicas, disposición horizontal

Fichero Excel (Libro de Excel 97-2003) con 4 hojas de cálculo para practicar sumas, restas, multiplicaciones y divisiones básicas.

Las operaciones se corrigen automáticamente. Si el número introducido sale azul es que está bien y si sale en rojo es que está mal.

En cada hoja hay dos celdas negras de control que permiten fijar la complejidad de las operaciones (máximo) y generar diferentes conjuntos de operaciones (actuando de semilla para la generación aleatoria de operaciones).

Operaciones básicas + - x /, disposición vertical

Practicar las 4 operaciones básicas, disposición vertical

Fichero Excel (Libro de Excel 97-2003) con 7 hojas de cálculo para practicar las operaciones básicas en disposición vertical:

  1. Hoja de sumas básicas.
  2. Hoja de restas básicas.
  3. Hoja para practicar las tablas de multiplicar.
  4. Dos hojas de multiplicaciones básicas.
  5. Dos hojas de divisiones básicas.

Las operaciones se corrigen automáticamente. Si el número introducido sale azul es que está bien y si sale en rojo es que está mal.

En cada hoja hay una celda negra de control que permiten generar nueve diferentes conjuntos de operaciones.

der Rückfall, Zeitung der Fachschaft Medizin

der Rückfall, Zeitung der Fachschaft Medizin, Technische Universität München

Cover painting, 2006-2007, Technische Universität München.

Publicación como portada de la revista «der Rückfall» de mi cuadro: «news of the new world [Apocalypse]».

«Noticias del nuevo mundo [Apocalipsis]» fue terminada de pintar el 12 de febrero de 1994, está numerado con el 22 de la serie ChpPho, fue realizado con rotuladores Stabilo Layout y tintas Pilot Hi-Tecpoint V5 / V7 en negra, naranja y rosa sobre fondo de acuarela Vallejo roja y sobre papel Fabriano de 300 gramos / metro cuadrado (140 libras), 100% algodón y tiene unas dimensiones 31 x 46 centímetros.

  • Illustrator of the cover painting of the magazine «der Rückfall, Zeitung der Fachschaft Medizin», Technische Universität München, 2006-2007.
  • Ilustrador del cuadro de la portada de la revista «der Rückfall, Zeitung der Fachschaft Medizin», Technische Universität München, 2006-2007.

Superficie, trazos, sopas de letras, sudokus, series

Superficie, trazos, sopas de letras, sudokus y series

Cálculos de superficies de rectángulo y triángulos, trazos con numeración y laberinto, sopas de letras de capitales europeas, capitales de provincias españolas, continentes, océanos, animales carnívoros y hervívoros, mamíferos y reptiles, tres sudokus y series de cierto nivel.

Como curiosidad, el dibujo de Kim Possible está realizado únicamente con líneas rectas y arcos de elipses.

First Forecasting Event

Sas, First Forecasting Event, Vertice

Desde Cetiver, participación junto con Luis Torrijos en el First Forecasting Event de SAS Institute. Ambos trabajamos sobre una presentación conjunta a partir de la cual cada uno realizada su ponencia. La mía titulada «Automatización a gran escala de previsiones de base estadística: Soluciones racionales a problemas de incertidumbre masiva».

La portada de la presentación corresponde a un diseño de Luis Torrijos a partir de su idea de las gafas y la carretera.

  • Speaker on «First Forecasting Event», SAS Institute, Madrid, June of 2006.
  • Ponente en «Primer Evento sobre Previsión», SAS Institute, Madrid, junio de 2006.

20 Minutos, Madrid, 2006

20 Minutos, Madrid, 2006

Publicación en la página 30 de la sección «Cultura y tendencias», del suplemento «La Revista», del periódico «20 Minutos», de la edición de Madrid, de una imagen de mi cuadro: «A residence crowned by gigantic eggs [a memorial of Salvador Dalí]».

Este cuadro que puede verse en mi página de pintura InkWatercolor.

«Residencia coronada por huevos gigantes [en honor de Salvador Dalí]» fue terminada de pintar el 7 de diciembre de 1991, está numerado con el 8 de la serie ChpPho, fue realizado con rotuladores Stabilo Layout y tintas Pilot Hi-Tecpoint V5 / V7 en color negro, naranja, rosa, rojo y amarillo sobre papel Fabriano de 300 gramos / metro cuadrado (140 libras), 100% algodón y tiene unas dimensiones 31 x 46 centímetros.

  • Illustrator of «A residence crowned by gigantic eggs [a memorial of Salvador Dalí]», published in the «20 Minutos» newspaper, page 30, Madrid, June of 2010.
  • Ilustrador de «Residencia coronada por huevos gigantes [en honor de Salvador Dalí]», publicado en el periódico «20 Minutos», página 30, Madrid, junio de 2010.

Finding Resonance and Relevance in Revelation

Time's Up; Finding Resonance and Relevance in Revelation; A Ten-Class Bible Study

Decoración con 11 cuadros míos del libro de Bill Albing «Time's Up; Finding Resonance and Relevance in Revelation; A Ten-Class Bible Study».

Bill Albing eligió mis cuadros para decorar cada capítulo (clase) de este libro y su portada, incluyendo la siguiente cita en sus agradecimientos «The artwork in this workbook is from www.inkwatercolor.com. Thanks.», lo que me sorprendió gratamente.

Desgraciadamente este libro es ya muy difícil de encontrar y el enlace que aparece abajo es sólo el encabezamiento de uno de sus capítulo a modo de ejemplo. Conservo un ejemplar en PDF completo, de su edición de la Pascua de 2006 (Easter of 2006), en mi biblioteca digital.

  • Illustrator for «Time's Up; Finding Resonance and Relevance in Revelation; A Ten-Class Bible Study» by Bill Albing, April of 2006.
  • Ilustrador para «Time's Up; Finding Resonance and Relevance in Revelation; A Ten-Class Bible Study» de Bill Albing, abril de 2006.

InkWatercolor, invierno 2006

Condenados, damned, catálogo de invierno 2006

Condenados | Damned

Catálogo de invierno del año 2006 de InkWatercolor, 12 páginas, color, inglés y español.

Contiene las siguientes obras de arte: damned ~ condenados; the cross and the sword [Manuel de Jesus Galvan] ~ la cruz y la espada [Manuel de Jesús Galván]; like the old yellow fire he silently overlooks the land [the sleeping giant] ~ como el viejo fuego, silencioso observa la tierra [el gigante dormido]; there are not enough room for the blue mussels [Maurits Cornelis Escher] ~ no hay suficiente espacio para los mejillones azules [Maurits Cornelis Escher]; flowers in the orange lagoon ~ flores en el lago naranja; petrified forest ~ bosque petrificado; the paths of the dream ~ los caminos del sueño; a eager evaluator [Donald E. Knuth] ~ un evaluador hambriento [Donald E. Knuth]; a place of heat ~ un lugar caluroso; when the sun refuses to shine [when the saints go marching in] ~ cuando el sol se niega a brillar [cuando los santos marchan]; y hornets nests ~ nidos de avispas.

Condenados, damned, InkWatercolor, invierno 2006
  • Painting with inks and watercolors.
  • Pintar con tintas y acuarelas.

Imágenes como tablas en HTML

Poner en HTML una imagen como una tabla

Hace unos meses me encontré con el problema de tener que realizar páginas HTML de texto puro sin poder incrustar imágenes. Sin embargo, había que insertar un pequeño logotipo del cliente.

El problema puede resolverse convirtiendo la imagen del logotipo en una gran tabla HTML de celdas de tamaño de 1 pixel por 1 pixel y cada una del color de fondo de su pixel asociado.

En la imagen de este post puede verse el logotipo en imagen PNG, en este caso de ejemplo mi propio logotipo, no el del cliente, y abajo la misma imagen como tabla.

Como para esta publicación no he utilizado el logotipo original de la empresa que me lo encargó, sino el mio, y para simplificar el ejemplo sólo he utilizado 3 colores en la tabla, es por eso que se nota el pixelado. Pero si se usan más colores el resultado puede se muy parecido al logotipo original en imagen.

En estos casos, y limitándome a 16 colores, suelo convertir las imágenes en formato BMP (bitmap) a especificaciones en texto utilizando el conversor Bmp2Ico realizado por Juan Ramón Miráz y por mi.

Incluyo dos realizaciones del mismo código fuente: con CSS sólo para la página y con CSS para las celdas de la tabla por lo que el tamaño del código a 1/3. Como página HTML de resultado sólo incluyo en el PDF la última, por ser más reducida.

A continuación se muestra parte del código TOL utilizado para esta conversión, aunque reducido en la parte del mapa de letras del logotipo para no saturar el post. En el código PDF que se adjunta a este post se puede ver el código fuente completo.


Set repTab = 
[[
  [["+", "<td class='r'></td>"]],
  [[".", "<td class='b'></td>"]],
  [["-", "<td class='s'></td>"]]
]];

Set picSet = [[
"+++++++-..................++++++++++++++++++++++++++++++++++",
"++++++-................+++++++++++++++++++++++++++++++++++++",
"++++++-...............++++++++++++++++++++++++++++++++++++++",
"+++++-..............++++++++++++++++++++++++++++++++++++++++",
... recortado ...
"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
]];

Set repCic = EvalSet(picSet, Text(Text lin)
{ // Replace 1 time
  "    <tr>\n      "+ReplaceTable(lin, repTab, 1)+"\n    </tr>\n" 
});

Text outHtm =
"
<html>
<head>
<style type='text/css'>
body { margin: 20px 20px 20px 20px; background-color: #ffffff; }
td.b { width: 1px; height: 1px; background-color: #ffffff; }
td.r { width: 1px; height: 1px; background-color: #ff0000; }
td.s { width: 1px; height: 1px; background-color: #ff9090; }
</style>
<title>Imagen en tabla</title>
</head>
<body>
  <img src='logo.bmp'>
  <br>
  <br>
  <br>
  <table bgcolor='+ffffff' cellpadding=0 cellspacing=0 border=0>
"+
  BinGroup("+",repCic)+
"
  </table>
</body>
</html>
";

Text WriteFile("logocss.htm", outHtm);