Reafirmándome bajo la luna llena

Hoy era el día clave: si lograba salir, con mucha probabilidad podría lograr los cuatro entrenamientos en la semana, respetando escrupulosamente el día de descanso. Si fallaba, todo quedaría en tres. Y no es que eso estuviera mal, pero un cuarto entreno, en pleno mes de julio, sería una rúbrica perfecta para una semana disciplinada.

He de admitir que no ha resultado fácil. Tenía mucho trabajo por delante compitiendo por las últimas horas del día. Mi mente ya había ideado, incluso, la justificación perfecta para no correr hoy y, aplazarlo, en su lugar, a primera hora de la mañana del día siguiente. Por un lado, me beneficiaría de temperaturas de ocho o nueve grados menos, lo que me permitiría correr más rápido y, por otro, redundaría en beneficios psicológicos por la consolidación del hábito de correr temprano.

Ni que decir tiene que ignoré todas esas buenas razones. El truco favorito del postergador estaba demasiado visto ya.

Sesenta minutos, con una frecuencia cardíaca media de 148 ppm (que en primavera hubieran sido 138).

Además, ¿cómo podía perderme esa preciosa luna llena que impregnaba de plata la superficie del río?

Javier Montero

LaTeX – Capítulo 4: Espacios, párrafos y saltos de línea

Objetivo: aprender los conceptos fundamentales sobre los espacios en blanco, los párrafos y los saltos de línea.

Todo estudiante de \LaTeX debe tener grabadas a fuego las siguientes cinco reglas básicas:

1) Por muchos espacios en blanco que agregues entre palabras, \LaTeX los considera como uno solo.

2) Pulsar la tecla ENTER no provoca un salto de línea. Es lo mismo que si hubieses introducido un espacio en blanco.

3) Para empezar un nuevo párrafo es necesario dejar una línea en blanco completa entre los dos.

4) Por muchas líneas en blanco completas que agregues entre los párrafos, \LaTeX las trata como si sólo hubiera una.

5) Si quieres provocar un salto de línea, pero aún seguir permaneciendo en el mismo párrafo, debes concluir la línea con dos barras invertidas \\.

El fichero .tex que adjunto ilustra estos conceptos de una manera gráfica. Descárgalo y visualiza su contenido con un editor de textos plano.

El pdf resultante de la compilación puede descargarse y visualizarse aquí.

Javier Montero Gabarró


Fecha de la última revisión: 24 de octubre de 2012


LaTeX – Capítulo 4: Espacios, párrafos y saltos de línea


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Python – Capítulo 10: Continúe, por favor

Objetivo: aprender a utilizar la instrucción continue para saltar directamente a la siguiente iteración en un bucle en Python.

En el artículo anterior presentamos la instrucción break, que nos permitía interrumpir la ejecución de un bucle y salir de él. Hoy mostraremos la sentencia continue, muy relacionada con la anterior.

Al igual que break, continue cancela la ejecución de las instrucciones que quedan pendientes del bucle a partir del mismo momento de su aparición.

Pero, a diferencia de break, que ocasionaba, además, la terminación brusca del bucle, dejando de producirse más repeticiones, continue hace que se salte inmediatamente a la siguiente repetición. Es decir, vuelve a comprobarse nuevamente si se cumple la condición y, en caso afirmativo, continúa ejecutándose el bloque desde el principio otra vez.

Para ilustrar su uso, diseñaremos un programa que nos inste a introducir un número. Su misión será calcular la suma de todo lo que vayamos introduciendo, pero sólo teniendo en cuenta los números pares, ignorando los impares.

suma = 0

while True:
    numero = int(input('Introduce un número (0 para terminar):'))
    if numero == 0:
        break
    if numero % 2 != 0:
        continue
    suma = suma + numero

print(suma)

Comenzamos inicializando la variable suma, que contendrá la suma final buscada.

suma = 0

Y nos adentramos en un bucle infinito:

while True:

La condición es cierta siempre, por lo que habrá dotar al programa de mecanismos para interrumpir el bucle.

Introducimos un número, lo convertimos a entero y lo asignamos a la variable numero.

numero = int(input('Introduce un número (0 para terminar):'))

Si el número introducido es cero (el valor centinela) rompemos el bucle con la instrucción break.

if numero == 0:
    break

Pero, si no lo es, nos encontramos con el siguiente bloque if, que contiene la instrucción objeto del artículo de hoy:

if numero % 2 != 0:
    continue

El % es el operador módulo, que calcula el resto de una división. Que el resto de dividir un número entre dos no sea cero significa que el número es impar.

Los números impares, tal como está planteado el problema, debemos ignorarlos y no tenemos que incluirlos en la suma. ¿Qué hacer?

Continuar, así de simple: deja de ejecutarse lo que queda de bucle y vuelve otra vez al comienzo, reevaluando la condición. Eso es precisamente lo que hace la sentencia continue.

Cuando el número introducido es par, entonces si se acumulará a la suma total:

suma = suma + numero

Y así sucesivamente hasta que nos cansemos e introduzcamos el centinela, momento en el cual se rompe el bucle y se prosigue con la primera sentencia fuera de él: la impresión del resultado final.

print(suma)

Vuelve al código completo más arriba y comprueba el programa globalmente. Presta mucha atención a las indentaciones que delimitan cada bloque.

Naturalmente, hay medios de resolver este problema sin emplear una instrucción continue, pero he preferido esta solución, en la que se aprecia claramente el uso y diferencia entre los dos modos de alterar la ejecución de un bucle: break y continue.

Javier Montero Gabarró


Fecha de la última revisión: 24 de septiembre de 2012


http://elclubdelautodidacta.es/wp/2011/07/python-capitulo-10-continue-por-favor/


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Consulta el índice completo de artículos relacionados con Python.

Disciplina, un recurso imprescindible… y transferible

Al igual que hice el lunes de la semana pasada, hoy he vuelto a poner el despertador a las seis menos diez de la mañana para poder entrenarme antes de acudir al trabajo.

Por mucho que nos pueda gustar esta actividad, hay que admitir que es bastante duro, y un poco de colgados, robar más de una hora del ya de por sí escaso tiempo de sueño y echarse a la calle en ayunas a recorrer una decena de kilómetros.

La misma ruta que la otra vez, rodeando Sevilla por la ronda. El mismo escenario y casi los mismos personajes.

Corriendo por Resolana, escucho a un borracho decirme, desde el lado opuesto al que yo estaba: «Anda, que corres menos que…». El resto no lo escuché, pero no parecía que estuviese alabando mi manera de correr. Ya sabemos lo que se dice: los niños y los borrachos siempre son sinceros.

Pasando la Barqueta y enfilando Torneo abajo, diviso, a unos doscientos metros delante mía, al mismo corredor que el lunes pasado me sirvió de liebre y que en el minuto 15 invirtió el rumbo para completar su entrenamiento de media hora. Al poco tiempo, más o menos a la misma altura que la otra vez, lo veo repetir la maniobra, cruzándome con él de frente.

Doblando el paseo de Cristina hacia la puerta de Jerez, y mirando ya al este, me doy cuenta de que ha amanecido.

El trayecto se me está haciendo cortísimo. No miro el reloj más que para comprobar, de cuando en cuando, que el pulso está bien asentado por debajo de las 150 ppm.

Completo la vuelta a Sevilla, de puerta a puerta de casa, en 49:38 a una media de 147 ppm.

Estoy seguro de que todos los corredores que me leéis volcáis vuestra pasión, además de en este enriquecedor deporte, en otras actividades diversas. Todo el esfuerzo que realizamos corriendo, y especialmente el que emana de los entrenamientos que consideramos más exigentes, revierte en cada uno de nuestros empeños de superación personal, deportivos o no.

Un entrenamiento como el de hoy requiere mucha disciplina. Cuando uno es capaz de ser disciplinado en una actividad, tiene la potencialidad de serlo en cualquier otra.

Si empezamos la semana siendo disciplinados para cumplir con una tarea dura, ¿acaso no seremos capaces de demostrar esa disciplina en tareas menos exigentes?

Cuando corro, no lo hago sólo por estar en mejor forma física y mejorar mis marcas personales. Lo hago para poder mostrar lo mejor de mí en cualquier otra faceta de mi vida.

Javier Montero

mIRC – Capítulo 2: La primera conexión

En la práctica de hoy efectuaremos nuestra primera conexión al IRC y crearemos un canal en el que podremos empezar a chatear tan pronto otros visitantes se unan también a él.

Comencemos instalando el programa mIRC que descargamos en el capítulo anterior.

La instalación es tan simple como hacer doble-clic sobre el ejecutable y aceptar todas las opciones que aparecen por defecto.

Una vez instalado nos vamos a Inicio | Todos los programas | mIRC y arrancamos la aplicación.

Lo primero que nos aparece es una ventana invitándonos a que registremos el programa. Ignoramos, por el momento, amablemente la propuesta dándole a «Continuar».

Se nos abre a continuación la ventana «mIRC Options» en la que configuraremos el mIRC.

A la derecha, en «Nickname» elegiremos el nick con el que nos identificaremos en el chat. En el campo «Alternativo», pondremos otro apodo para el caso en que ya haya un usuario con ese nombre conectado.

Es importante entender cómo funciona esto:

En principio, se puede emplear cualquier «nick» que no esté usándose en ese momento. Es más, nada nos garantiza que la persona que hay detrás de un nick sea quien nosotros pensamos que es.

En algunas redes IRC, como IRC-Hispano, existe un mecanismo que nos permite «registrar» un determinado nick para que nadie pueda utilizarlo salvo nosotros (verificándolo mediante una contraseña). Explicaré cómo hacer esto en el siguiente capítulo.

Si continuamos con la configuración vemos que tenemos la posibilidad opcional de rellenar nuestro nombre y correo electrónico. Podemos poner cualquier dato, sea verdadero o falso, o podemos optar por no escribir nada.

En la parte de la izquierda, seleccionamos «Servers». Se nos despliega, a la derecha, una lista con las principales redes IRC. Buscamos «IRC-Hispano» y pulsamos el botón «Select».

Una vez hecho esto, apretamos el botón «Connect», lo que nos conectará a un servidor aleatorio dentro de la red IRC-Hispano.

Observamos la ventana Status, indicándonos todo el proceso, así como otra información referente al nuevo de usuarios conectados y el de servidores activos en la red.

Una vez realizada la conexión se nos muestra la ventana «mIRC Favorites», que también podemos invocar en cualquier momento mediante la opción de menú Favorites | Organize favorites (o pulsando Alt-J).

Nos ofrece dos posibilidades: conectarnos al canal que especifiquemos escribiendo su nombre, o bien elegir uno de los existentes en nuestra lista de favoritos (más adelante veremos cómo configurar esta lista con los canales más frecuentados).

En este caso, en el cuadro de arriba escribimos: #foroatletismo

O el nombre de cualquier otro canal. La almohadilla que precede a foroatletismo indica que estamos refiriéndonos a un canal de chat. Los canales de chat son referenciados precediéndolos por ese símbolo.

Una vez hemos escrito el nombre del canal, apretamos el botón «Join», apareciendo a continuación una nueva ventana exclusiva para todo el chat que suceda dentro de ese canal.

Si el canal no existe cuando pulsamos el botón «Join» se creará en ese momento. Si ya existe un canal con ese nombre, nos uniremos a él y seremos partícipes de todas las conversaciones que allí sucedan.

Observemos el área de la derecha en la ventana de canal. Ahí aparecen todos los usuarios que están dentro de él. Si acabamos de crearlo, figuraremos sólo nosotros, hasta que otros se animen a visitarnos.

Observemos también, si hemos sido los creadores del canal, el signo «@» precediendo nuestro nombre. Eso significa que somos «operadores» del canal, es decir, administradores de él. El primero que crea un canal recibe esa condición.

Aprenderemos más adelante todo lo que un operador puede hacer con su canal, como nombrar a otros usuarios como administradores también, echar a los que molesten, o configurar el canal para que sea público o privado.

Un canal tiene vida mientras haya al menos un usuario en él. Cuando el último lo abandona, el canal desaparece.

Cuando nos cansemos, pulsamos sobre el icono «Disconnect», arriba a la izquierda y cerramos la aplicación.

La próxima vez que arranquemos mIRC el programa recordará los datos de configuración de la sesión anterior, por lo que no será necesario repetirlos, a no ser que queramos modificar el «nick» o la red IRC. Bastará, entonces, con pulsar el botón «Connect» y unirnos al canal o canales que deseemos.

Javier Montero

Motín en Viciosfera

Lo habían intentado unas cuantas veces, pero, hasta hace dos días, siempre había conseguido mantener a los instigadores a raya…

Viciosfera no tocará nunca versión alguna, por mucho que pueda gustar y animar al público escuchar temas familiares y por muy particulares que pudiéramos lograr los arreglos.

Si en algo quiero que diferencie a nuestra banda del resto es en la calidad de nuestras composiciones. Creo firmemente en ella y no puedo permitir que se pierda el tiempo escaso del grupo arreglando versiones cuando hay tanto trabajo por delante.

Puede parecer autoritario, pero es uno de los axiomas incuestionables que dio inicio al proyecto hace unos cuantos años.

La única cesión a este respecto sucedió hace unos diez días cuando Raúl sugirió, ya sin mucha convicción tras mis continuas negativas, que adaptásemos «Les feuilles mortes» (también conocida como «Autumn leaves», en su traducción al inglés).

Me pareció una propuesta interesante. Se trata de una canción compuesta en 1945 y que se ha convertido en un estándar de jazz, lo cual, en cierta manera, autoriza e invita a cualquier músico a incluirla en su repertorio.

Raúl me cedería el bajo para ocuparse exclusivamente de la parte vocal en francés. No habría, entonces, guitarra, y toda la armonía estaría sustentada por el teclado de Loreto y el bajo.

Ocasión perfecta para que Loreto profundizase en las disonancias del jazz y para que Vitor demostrase una vez más su versatilidad tocando la batería.

Y, como no, el debut de Raúl como cantante…, ¡y en francés!

Propuesta en conjunto irresistible, como comprenderéis.

Pero, como os iba diciendo, hace un par de días, hubo un motín…

Estábamos cargando los coches para el concierto que íbamos a dar unas horas después cuando, en un descanso, se sientan Raúl y Vitor y me dicen:

– Hemos decidido Vitor y yo que, a partir de septiembre, por cada mes que transcurra en el que no traigas una canción nueva, agregaremos una versión al repertorio.

Y acto seguido comenzaron a enumerar una relación de versiones candidatas, cada cual más espantosa.

No pude hacer otra cosa sino asentir. Tenían razón. Aceptan que no haya versiones, pero siempre y cuando haya material de trabajo suficiente en el que volcarse.

Y ese es mi compromiso. Cada mes compondré una melodía nueva. Que se pongan también las pilas los letristas, porque prefiero no tener que ocuparme de escribir letras. Dejo demasiado de mi alma en ellas.

Es mi compromiso, y así lo dejo por escrito…

Javier Montero

LaTeX – Capítulo 3: Documentos en español

Objetivo: realizar los preparativos básicos para poder escribir correctamente texto en español.

A poco que hayas enredado con lo explicado en el capítulo anterior te habrás dado cuenta de un problema importante: ¿dónde están nuestros acentos?, ¿por qué no sale la letra eñe?

\LaTeX, tal cual, no entiende el español.

Estrictamente, \LaTeX solo comprende el limitado juego de caracteres ASCII, sistema que no sabe nada de acentos ni de caracteres propios de otras lenguas aparte del inglés.

Para poder generar todos estos símbolos, \LaTeX ofrece dos aproximaciones: una engorrosa y otra elegante.

La engorrosa consiste en introducir comandos especiales cada vez que se necesita uno de esos símbolos. Por ejemplo, para escribir la frase «un camión trasladaría a todo el rebaño», deberíamos hacerlo así:

un cami\'on trasladar\'ia a todo el reba\~no

Observa el uso de \' y de \~ para generar el símbolo adecuado sobre la letra que aparece a continuación.

Descuida, que no voy a pedirte que hagas eso por cada acento que tengas que escribir, ya que \LaTeX resuelve esto con elegancia empleando paquetes.

Un paquete no es más que un módulo que extiende la funcionalidad de \LaTeX. Hay, literalmente, miles de ellos, capaces de hacer casi cualquier cosa que puedes imaginar relacionada con la tipografía digital.

Para utilizar un paquete disponemos del comando \usepackage, al que le sigue, entre llaves, el nombre del paquete:

\usepackage{paquete}

En el caso de que el paquete admita parámetros opcionales, deberán facilitarse entre corchetes y posicionados antes que las llaves:

\usepackage[opciones]{paquete}

Vete familiarizando con este tipo de usos de llaves y corchetes: las llaves se emplean en los comandos para facilitar argumentos obligatorios, mientras que los corchetes para los opcionales.

Para poder utilizar los paquetes deben estar cargados en nuestro sistema. Por lo general, cualquier distribución incluye directamente los más comunes. Hay algunas que, si no detectan la presencia de un determinado paquete, tratan de conectarse a internet para descargarlo e instalarlo sin necesidad de que el usuario intervenga.

Vamos a utilizar dos paquetes para realizar una preparación básica de nuestro documento: babel y inputenc.

El paquete babel se ocupará de lidiar con partilaridades propias de nuestro idioma, como la subdivisión de sílabas (en el caso de que tenga que romper palabras al final de la línea), el título de las secciones (como Capítulo en lugar de Chapter) y un buen número de consideraciones propias de nuestro lenguaje.

El paquete inputenc se ocupa de traducir otras codificaciones de caracteres para que \LaTeX las entienda. Es el que se va ocupar por nosotros de gestionar todo el trasiego que a mano sería engorroso.

Estos dos comandos se ocupan de preparar nuestro sistema:

\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}

Observa cómo, en ambos casos, pasamos parámetros adicionales usando los corchetes.

En babel, pensado para multitud de idiomas, indicamos expresamente que optamos por el español. En inputenc, pensado para buen número de codificaciones, indicamos que emplearemos Unicode (utf8) como codificación de entrada. Otra opción que también podría servir es el alfabeto latino (latin1).

La ventaja de usar Unicode es que no sólo vamos a tener a nuestro disposición los caracteres de nuestro idioma, sino virtualmente los de cualquier otro, incluso los kanjis japoneses (si somos capaces de generarlos en nuestra interfaz).

Estos dos comandos debemos situarlos en el preámbulo, que es la zona comprendida entre \documentclass y \begin{document}.

Es en el preámbulo donde situaremos los paquetes que extenderán la funcionalidad de \LaTeX.

El siguiente ejemplo muestra un código más elaborado preparado para escribir en espanol correctamente.


\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
Para escribir en español y que nos salgan las eñes y demás acentos nuestros, así como
para otras funciones como los guiones al final de la línea, es necesario usar
los paquetes babel e inputenc.
\end{document}

A medida que vaya creciendo tu pericia en \LaTeX irás descubriendo nuevos paquetes que te ayudarán a personalizar tu experiencia. Lo preámbulos ya no serán tan simples como en el ejemplo anterior, y no será mala idea que te crees plantillas con configuraciones típicas, algo que, sin duda, te ahorrará mucho tiempo después.

Javier Montero Gabarró


Fecha de la última revisión: 10 de octubre de 2012


LaTeX – Capítulo 3: Documentos en español


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Juegos de verano – CR-III

Tras una semana muy intensa, repleta de emociones, esperaba ya con ganas la llegada del sábado para una buena sesión deportiva en la que pretendía experimentar un peculiar ejercicio de cambio de ritmo.

El lugar de trabajo sería el gimnasio, para poder combinar una sesión de acondicionamiento de brazos con un ejercicio aeróbico sobre la cinta de correr.

Mi bicicleta se ha roto. Se ha partido una barra crítica para la seguridad y he decidido, con cierta tristeza (recuerdos y economía), que voy a remplazarla.

Las opciones de autobús o coche para desplazarme al gimnasio no han entrado siquiera en consideración. Ir andando, a paso ligero, era una posibilidad. Pero lo que realmente me apetecía era desplazarme corriendo.

Gafas de sol, gorra, pulsómetro, botella de agua y la mochila con la toalla, guantes y demás parafernalia, en la espalda.

A ritmo suave, muy tranquilo, llego al gimmasio en unos veinte minutos.

Comienzo con el circuito de ejercitación de brazos y, en algo menos de media hora, me subo a la cinta a estrenar el nuevo cambio de ritmo, que denomino CR-III.

La estructura de CR-III es la siguiente:

CR-III (FC1, FC2, t, n)

y su descripción es la siguiente:

Se organiza el ejercicio en tramos de t minutos. Durante el primero, la frecuencia cardíaca máxima ha de ser FC1. Finalizado, comienza el segundo a una frecuencia cardíaca máxima de FC1 + 5 ppm, y así sucesivamente hasta que se alcanza el último tramo a una frecuencia máxima de FC2.

En ese momento comienza el descenso, también en tramos de t minutos, restándole 5 ppm cada vez, hasta realizar el último a FC1 + 5, momento en el que termina el primer bloque.

Todo eso se repite un total de n veces.

Enunciadas las reglas del juego de hoy, el ejercicio ha sido el siguiente:

CR-III (140, 155, 4, 2)

Es decir, tramos de 4 minutos en los que las frecuencias máximas han sido:

140 – 145 – 150 – 155 – 150 – 145, y repetimos: 140 – 145 – 150 – 155 – 150 – 145

La duración del entrenamiento ha sido, por lo tanto, 48 minutos.

Un ejercicio muy entretenido (los cambios de ritmo consiguen que el tiempo parezca pasar más deprisa) y sumamente didáctico del que podemos extraer importantes lecciones sobre el control del pulso y nuestra capacidad de recuperación.

Concluyo mi estancia en la sala con una repetición idéntica del circuito de acondicionamiento de brazos que realicé al comienzo.

Mochila de nuevo a la espalda y me echo a correr de vuelta a casa.

Sesión de running completita. En total, 48 minutos en la cinta más otros 38 en los desplazamientos, totalizando así 1 hora y 26 minutos más para el curriculum.

Javier Montero

mIRC – Capítulo 1: Introducción

Objetivo: Presentación de la serie de artículos dedicada al programa clásico de chat mIRC.

El protocolo de chat por excelencia en la red y el más veterano es el IRC (Internet Relay Chat), que ya existía mucho antes del auge de los programas de mensajería instantánea. Hoy día, pese a ser un gran desconocido para las nuevas generaciones de internautas, absortas bajo el influjo del messenger y las redes sociales, continúa siendo el mecanismo de chat más potente, flexible y libre de internet.

El protocolo se estructura en redes. Una red no es más que un conjunto de servidores IRC interconectados entre sí. Cuando un cliente se conecta a uno de estos servidores, tiene la capacidad de interactuar con cualquier otro cliente de la red a la que pertenece el servidor.

Ejemplos de redes IRC son Undernet, DALnet o Freenode, entre muchas otras. En España, desde hace muchos años, se ha popularizado la red IRC-Hispano.

Un cliente puede conectarse a la red que desee (salvo que sea una red privada).

Existen clientes IRC para todos los sistemas operativos. IRC es un protocolo, y cualquier programa que cumpla con la especificación puede ser empleado para conectarse a los servidores y chatear.

Mi favorito, en el mundo Windows, siempre ha sido mIRC, objeto de esta serie, una delicia de programa creada por Khaled Mardam-Bey que ha cautivado a miles y miles de usuarios.

Lo que siempre me ha atraído de este programa es que es mucho más que un simple cliente IRC. Posee un elaborado lenguaje de programación de scripts que hace que la experiencia de chatear sea algo mágico, fascinante y tremendamente adictivo.

No voy a explicar ahora en qué consiste esa magia; si te interesa el tema deberás descubrirla a su debido momento.

En este curso comenzaremos tratando los aspectos básicos que nos permitirán manejarnos con soltura en el uso de los canales de chat y en la interacción con otros usuarios. Una vez dominados, comenzaremos a dar vida a nuestros chats con la programación de scripts mIRC.

Lo primero que hay que hacer es bajar el programa (que ya ha sido descargado más de 35 millones de veces) del sitio oficial.

mIRC es un programa shareware. Quiere decir que si, tras un determinado período de pruebas, decidimos seguir haciendo uso de él, deberíamos pensar en adquirirlo.

Disponemos de 30 días para evaluar mIRC. Transcurrido ese tiempo el programa seguirá funcionando completamente, con la única limitación de que nos recordará que nos registremos cada vez que lo arranquemos.

No obstante, pese a que el programa funcionará al cien por cien aunque no lo compremos, recomiendo su adquisición como agradecimiento al autor, que ha dedicado (y sigue dedicando) tantos años de su vida a su mantenimiento.

Si el programa termina resultándote útil, considera comprarlo. Cuesta 20 dólares que pueden ser pagados de muchas formas. La licencia es de por vida, valedera para cualquier versión futura y permite su instalación hasta en tres equipos.

Yo soy usuario legítimo desde hace ya más de quince años.

Javier Montero Gabarró


Fecha de la última revisión: 27 de octubre de 2012


mIRC – Capítulo 1: Introducción


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos de la categoría mIRC.

LaTeX – Capítulo 2: El primer documento

Objetivo: generar un primer documento en LaTeX y conocer el entorno.

Uno de los grandes momentos para un programador, cuando afronta el aprendizaje de un nuevo lenguaje, es la creación del obligado Hola, mundo, programa con el que comienza con paso firme su andadura en él.

Y es que realmente no es poca cosa: con ese sencillo Hola, mundo aprendemos a editar, compilar y ejecutar un programa.

Pero no sirve leerlo en un libro. Es un proceso que hay que «picarlo», experimentarlo, sentirlo, comprobar que lo que aparece escrito se corresponde con la realidad esperada. Eso es construir experiencia.

Cuando obtenemos el resultado, nos vemos ya, en cierta medida, como programadores. Por supuesto que aún nos faltarán algunas técnicas por aprender más, pero hemos programado, por lo que, legítimamente, ¡ya somos programadores!

Vamos a bautizarnos formalmente hoy en \LaTeX ejecutando nuestro Hola mundo particular.

Usa tu distribución favorita. En particular, la sesión de hoy la he generado utilizando MikTeX para Windows, a través del universal TeXworks. Con él he escrito el código, lo he compilado y he visualizado el resultado.

Estrictamente, un término más adecuado que compilación sería establecimiento de tipos (typesetting), pero me gusta el primero por su analogía con los lenguajes de programación.

Escribe, cuidadosamente, las cuatro siguientes líneas:

\documentclass{article}
\begin{document}
La casa de la pradera era una serie de TV la mar de entretenida...
\end{document}

Guarda el fichero y ponle nombre. Observa la extensión .tex que caracteriza a los archivos de código \LaTeX.

Para compilarlo en TeXworks basta con pulsar la flecha que aparece en la parte superior izquierda. Asegúrate de elegir el compilador adecuado, en este caso pdfLaTeX, para que nos genere un fichero PDF.

TeXworks se ocupa de todos los trámites que hay en el proceso de la compilación, invocando entre bastidores los procesos necesarios. Para nosotros es algo tan sencillo como pulsar ese botón, sin necesidad de preocuparnos de nada más.

Durante la compilación se nos abre un nuevo papel, el de salida, que nos muestra detalles de todo lo que está sucediendo. Si no han ocurrido errores, nos aparecerá a la derecha una visualización del documento generado.

Fijémonos en los comandos que han producido ese resultado final:

\documentclass{article}

Observa, en primer lugar, que los comandos \LaTeXcomienzan con la barra invertida, el backslash.

Entre llaves encontramos los argumentos que le pasamos al comando. En este caso, \documentclass, con el parámetro {article} nos indica que vamos a generar un documento que se va a tratar de un artículo.

El cuerpo del documento aparece construido entre los comandos \begin{document} y \end{document}

\begin{document}
La casa de la pradera era una serie de TV la mar de entretenida...
\end{document}

En la misma carpeta en la que hemos almacenado el fichero .tex encontraremos el resultado final tras la compilación o establecimiento de tipos.

Aquí puedes encontrar el fichero PDF generado, capitulo2.pdf, pero te recomiendo encarecidamente que vivas la experiencia por ti mismo si aún no te has bautizado en \LaTeX.

Puede parecer simple, pero me dan ganas hasta de encuadernarlo.

Sin duda te habrán surgido algunos interrogantes. Eso siempre es buena señal; poco a poco encontrarás las respuestas, pero lo verdaderamente importante de hoy es que has aprendido a generar un primer documento, y eso supone un gran paso.

Javier Montero Gabarró


Fecha de la última revisión: 17 de septiembre de 2012


LaTeX – Capítulo 2: El primer documento


El texto de este artículo se encuentra sometido a una licencia Creative Commons del tipo CC-BY-NC-ND (reconocimiento, no comercial, sin obra derivada, 3.0 unported)


El Club del Autodidacta


Índice completo de artículos relacionados con \LaTeX.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies