BitBite English #20: Neither … nor

En el último BitBite tratamos la conjunción either A or B, para referirnos a dos acciones o hechos de los cuales sólo uno de ellos es cierto, pero no ambos.

Hoy veremos el caso en que ninguno de los dos se cumple: ni el uno ni el otro.

neither A nor B; ni A ni B

Juan y Luis son unos peligros al volante. Neither Juan nor Luis drive well.

Neither you nor I will be here forever, my friend. Live every day as if it were your last.

Javier Montero

Tiempo para filtrar y tiempo para leer con Instapaper

Internet es un mundo fascinante para los que nos encanta leer. Es una fuente inagotable de información y podríamos pasarnos la vida entera leyendo sin parar y, aún así, no cubriríamos más que un infinitésimo de todo el material que podría interesarnos.

Por otro lado, no toda la información es de calidad y una de nuestras principales habilidades para no perdernos en esta maraña de lecturas debe ser saber establecer los filtros adecuados de acuerdo a nuestros intereses y circunstancias personales.

Quiero compartir con vosotros una técnica que aplico junto a una herramienta que me ayuda a conseguirlo.

Por lo general, salvo que esté leyendo simplemente como ocio, procuro separar los procesos de filtrado y de lectura.

Hay determinados momentos del día que dedico a la caza de material importante. A veces esos momentos no están planificados y surgen espontáneamente durante mi propia actividad cotidiana: un correo electrónico, una página con la que nos cruzamos; en cualquier instante podemos encontrarnos un texto cuya lectura nos podría resultar interesante.

A no ser que la lectura requiera mi atención profunda inmediata, me limito a echar un vistazo superficial al texto para juzgar su calidad, la importancia y el valor que me puede ofrecer. En ese instante tomo la decisión de si lo voy a leer o no.

Pero no lo leo en ese momento, pues probablemente con eso no haría más que olvidarme de lo que hasta entonces tenía entre manos para, descontroladamente, cambiar el rumbo de mis acciones. Es uno de los problemas de asomarse a Internet, uno sabe dónde empieza pero no dónde termina.

Reservo el documento para una lectura posterior y eso hago con todos los que me interesan y me voy encontrando en mi camino. Llegado el instante adecuado, concentro mis energías en la lectura del material pendiente.

El concepto es muy sencillo: tiempo para filtrar la información y tiempo diferente para leerla.

Para lograr esto, desde luego, se precisa de buenas herramientas. Voy a mostraros una que yo utilizo: Instapaper.

Instapaper nos permite recopilar todas esas páginas o artículos que nos interesan y cuya lectura deseamos aplazar.

Su uso es muy sencillo: en la web, de un modo absolutamente gratuito, creamos una cuenta de usuario. Una vez hecho esto, agregamos al navegador el botón Read Later. Instalarlo es tan fácil como arrastrarlo desde la propia página de Instapaper a la barra de herramientas, tal como se nos indica en la web.

Desde ese momento, cada vez que paremos en una página o artículo que nos interese, bastará con hacer clic sobre ese botón para que, automáticamente, se almacene su enlace en nuestra cuenta Instapaper.

Llegada la hora de leer material, entramos en la página de Instapaper, donde nos encontraremos con todo el contenido pendiente para que lo procesemos a conveniencia.

Esto no sólo nos facilita la lectura del contenido filtrado en el momento temporal que deseemos, sino que disponemos de un único repositorio en el que encontrar toda la información sin necesidad de ir saltando de una web a otra.

Pero ahí no acaba todo…

Los usuarios de iPhone o iPad tienen la aplicación Instapaper, disponible en la App Store. Una vez la configuramos con la misma cuenta que creamos en la web, el dispositivo descargará todo el contenido pendiente, con lo cual podríamos leerlo cómodamente offline cuando estuviésemos sin conexión a Internet. Nosotros decidimos cuántos artículos se almacenarán en el dispositivo.

Podemos agregar también el botón Read Later a Safari desde el propio programa del iPhone/iPad. Gran número de aplicaciones, como los lectores de feeds también tienen mecanismos para enviar los enlaces a Instapaper.

La funcionalidad de Instapaper se extiende también al mundo del correo electrónico. En el momento en el que creamos nuestra cuenta se nos asigna una dirección de correo «especial». Guardamos esa dirección como nuevo contacto en nuestro correo. Ahora, cada vez que nos llegue un mensaje extenso que juzguemos interesante, podemos reenviarlo a esa dirección de correo, de modo que su contenido se agregará a nuestra lista de material pendiente.

Desde la web también podemos exportar nuestros artículos pendientes a un único fichero .epub o .mobi para su lectura cómoda en un ebook. O incluso podemos generar una salida de impresión adecuada por si queremos leerlo en papel, aunque esto es algo que desaconsejo completamente por cuestiones medio-ambientales.

Espero que lo explicado en este artículo os ayude a tener control sobre la información, y no al revés.

Javier Montero

Permalinks de WordPress que no funcionan sobre WampServer

Uno de los usos que le doy a WampServer es como plataforma de pruebas local antes de hacer cambios en el hosting.

Particularmente, tengo instalado WordPress con una réplica idéntica al entorno real. Me gusta experimentar con los plugins antes de utilizarlos en el site. Sólo cuando estoy convencido de su utilidad, y después de haber comprobado que no provocan ningún efecto nocivo en el sistema, los subo a producción.

En el site real utilizo permalinks del tipo año/mes/título_del_artículo. Sin embargo, si en el entorno de pruebas intento replicar esa configuración, todos mis artículos se vuelven inalcanzables.

WordPress no me devuelve ningún mensaje de error al configurar el estilo de permalinks, y la escritura de las normas en el fichero .htaccess son correctas. ¿Qué está sucediendo entonces?

La solución pasa por hurgar en las entrañas del servidor Apache y activar el módulo mod_rewrite.

El módulo mod_rewrite es el encargado de hacer todas estas transformaciones dinámicas en tiempo real. Gracias a él podemos acceder a todas esas direcciones «ficticias» de nuestros permalinks.

Su activación es muy sencilla, basta con indicárselo en el fichero de configuración de Apache, httpd.conf.

En WampServer 2 podemos acceder a este fichero en la ruta c:\wamp\bin\apache\apache2.2.17\conf\httpd.conf (en el supuesto de que hayamos instalado WampServer en ese path). Para editarlo basta con utilizar el bloc de notas y realizar los cambios directamente, pues se trata de un fichero de texto plano.

Pero más sencillo aún es recurrir al menu que nos ofrece WampServer al pulsar con el botón izquierdo del ratón sobre su icono en la barra del sistema. Desde ahí podemos acceder a todos los ficheros y herramientas de configuración del servidor.

Al hacer clic en httpd.conf se cargará automáticamente el bloc de notas con su contenido.

Buscamos la siguiente línea:

#LoadModule rewrite_module modules/mod_rewrite.so

Observamos que nos aparece comentada, por lo que el módulo no se está cargando al arrancar Apache. Eliminamos el símbolo # para que deje de ser un comentario y rearrancamos WampServer.

Hay un tercer modo: en el mismo menú nos encontramos con la carpeta «Módulos de Apache». Entre todos los módulos localizamos rewrite_module y lo activamos. Este gesto eliminará el comentario por nosotros y reiniciará el servidor automáticamente.

Ya podemos configurar tranquilamente el estilo de permalinks que más nos guste en WordPress, que mod_rewrite se ocupará de que nuestros enlaces estén visibles al público con el nuevo esquema.

Javier Montero

HTML: Saltos de línea y párrafos

Objetivo: aprender a generar saltos de línea y párrafos en HTML.

En el artículo anterior vimos que todo intento de agregar más espacios en blanco o tabuladores para separar las palabras resultaba infructuoso, pues era considerado como un único espacio. Tampoco conseguíamos saltar de línea por mucho que pulsáramos Enter. Hoy explicaremos el modo de hacer esto último.

Existen dos formas básicas para separar los bloques de texto: los saltos de línea y los párrafos.

Para insertar un salto de línea disponemos de la etiqueta <br>. Es un tanto peculiar, pues no encierra texto entre medias.

Si no alberga texto entre medias, ¿cómo la cerramos?

Sobre esto hay que contar algo…

En HTML este tipo de etiquetas no se cierran. Pero, cuando el mundo del HTML apuntaba decididamente hacia XHTML, con las reglas estrictas XML, estas etiquetas debían cerrarse. Ahora que parece que XHTML ha tocado techo y que vamos destinados a HTML5, estas etiquetas pueden dejarse perfectamente sin cerrar. Lo mismo ha sucedido con otras normas estrictas, como la del código rigurosamente en minúsculas. HTML5 es «case insensitive», no le preocupa lo más mínimo si lo escribes en mayúsculas, minúsculas, o una combinación de ambos.

Si tu página está en HTML5, escribe:

<br>

Si está en XHTML:

<br />

Hay un espacio en blanco separando br de la barra inclinada.

Puedes insertar tantas etiquetas <br> como saltos de línea necesites.

El concepto de párrafo es muy distinto. Debes pensar en él como en un contenedor.

Englobamos un párrafo dentro de las etiquetas <p> ... </p>. Los navegadores se ocupan de que cada párrafo quede separado entre sí mediante una línea en blanco entre medias.

Este ejemplo básico ilustra el uso de saltos de línea y párrafos. Haz clic sobre el enlace para visualizarlo en el navegador:

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
Entre esta frase y la siguiente hay un salto de línea.
<br>
Entre esta frase y la anterior hay un salto de línea.
<p>Esto es un párrafo. Los párrafos son contenedores. Se abren al comienzo del texto 
que engloban y se cierran al final.</p>
<p>Esto es otro párrafo. Un párrafo determina un punto y aparte. 
Fíjate también como los párrafos aparecen separados entre sí automáticamente mediante 
una línea en blanco.</p>
</body>
</html>

Javier Montero Gabarró


Fecha de la última revisión: 8 de diciembre de 2012


HTML: Saltos de línea y párrafos


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 HTML.

Tonos y semitonos

En los dos últimos artículos de «Teoría musical» dimos nombre a todas las notas de nuestro sistema musical. Repasadlo si tenéis alguna duda antes de proseguir.

Ilustramos el concepto observando el teclado de un piano, pues de un modo visual permite comprender que hay, por decirlo de algún modo, dos tipos de notas: las correspondientes a las teclas blancas, con una nomenclatura sencilla, y las asociadas a teclas negras, a las que añadimos los términos «sostenido» o «bemol». En la guitarra esto no se puede observar directamente: no hay ninguna indicación visual que nos permita saber si una nota tiene sostenidos o bemoles o no.

De ahora en adelante, denominaremos a las notas que son sostenidas o bemoles, notas alteradas, en contraposición a las que no lo son, las notas naturales.

Observemos que nuestro sistema musical se compone de 12 notas, 7 de las cuales son naturales y 5 alteradas.

Vuelvo a recordar que entre dos notas naturales siempre hay una alterada, salvo entre Mi y Fa y entre Si y Do.

Entre dos notas consecutivas cualesquiera decimos que hay una distancia de un semitono.

Pensemos por ejemplo en la nota Do, que ya sabéis localizar en el piano. ¿Cuál es la nota consecutiva que sigue a ese Do?

Está en la tecla negra. Es la nota alterada que está entre Do y Re, es decir, Do♯ (o Re♭).

Por lo tanto, la distancia entre Do y Do♯ es un semitono.

Lo mismo ocurre hacia el otro lado. ¿Qué nota es la que está inmediatamente antes de Do?

La respuesta es Si (fijaos en que no hay una tecla negra). Por lo tanto, la distancia entre Si y Do es un semitono, también.

Calculad esto: ¿cuántos semitonos hay entre Do y Fa?

No es más que contar teclas: Do♯, Re, Re♯, Mi y Fa. La respuesta, por lo tanto, es 5 semitonos.

El concepto de tono es sencillo: uno tono equivale a dos semitonos (algo obvio, por otra parte).

Decir que la distancia entre Do y Fa es de 5 semitonos equivale a decir que es de dos tonos y medio. Sencillo, ¿verdad?

En el mástil de la guitarra también se reconoce fácilmente el semitono. Cada vez que subimos o bajamos un traste estamos recorriendo un semitono.

Por ejemplo, supongamos que tenemos situado un dedo en el quinto traste de la primera cuerda y lo hacemos sonar. Si colocamos el dedo ahora en el sexto traste obtendríamos un sonido que está a una distancia de un semitono del anterior.

En la siguiente lección de la categoría «Guitarra» explicaré toda la nomenclatura de notas aplicadas a ese intrumento.

Con los conceptos de tono y semitono claros, la siguiente sentencia debe comprenderse perfectamente:

La distancia entre dos notas naturales consecutivas es de un tono, a excepción de Mi y Fa y de Si y Do, en las que la distancia es de un semitono.

Y ahora un sencillo ejercicio que espero que resolváis:

¿Cuál es la distancia entre Re y el La más agudo siguiente (es decir, a la derecha del Re)?

¿Cuál es la distancia entre el Re y el La más grave anterior (a la izquierda del Re)?

¿Cuánto suman esas dos distancias?

Javier Montero

Python – Capítulo 18: Creación de sublistas

Objetivo: aprender los conceptos básicos de slicing aplicados a las listas en Python.

Las listas dan mucho de sí; no en vano son uno de los artilugios estrella en la programación en Python. Hoy voy a mostrarte cómo crear sublistas, es decir, listas que son un trozo (en inglés, slice) de otra mayor. Por ejemplo, dada la lista de días de la semana, una sublista sería aquella que contiene los días laborables.

Arrancamos IDLE o el intérprete de comandos de Python e introducimos una lista sencilla sobre la que cacharrearemos:

vocales = ['a','e','i','o','u']
>>>vocales
['a', 'e', 'i', 'o', 'u']

Para extraer una sublista de una lista empleamos la notación:

lista[i:j]

donde i y j son dos índices que separamos por dos puntos (:)

El primer índice, i, corresponde al índice del elemento inicial a partir del cual, incluido, comenzará la sublista. El otro indica el extremo superior, pero esta vez sin incluir.

Todo se entenderá más claro si vocalizamos mejor:

>>> vocales[2:4]
['i', 'o']

Como ves, se nos ha creado una lista (fíjate en los corchetes) que contiene todos los elementos que van desde el que tiene índice 2 (incluido) al de índice 4 (sin incluir), es decir, los de índices 2 y 3. Vuelvo a recordar que el primer elemento tiene por índice cero, por eso el de índice dos corresponde a la ‘i’.

La lista original no se ve afectada por esta operación:

>>> vocales
['a', 'e', 'i', 'o', 'u']

¿Qué provocaría esto?

>>> vocales[2:3]
['i']

En efecto, pues sólo se extraerían los que comienzan por índice 2 y terminan en índice 2 también.

¿Y esto otro?

>>> vocales[2:2]
[]

Observa que obtenemos una lista vacía, sin ningún elemento. Es lógico; el inicio tendría por índice 2 y el final índice 1. No tiene ningún sentido que el extremo derecho sea menor que el izquierdo.

¿Cómo haríamos para extraer una lista que fuera idéntica a la original?

Pensemos… El primer índice es cero, el último es 4. Pero esto no vale:

>>> vocales[0:4]
['a', 'e', 'i', 'o']

porque sólo incluiría los de índices 0, 1, 2 y 3.

Solución: poner como extremo superior 5 o cualquier valor por encima. Probémoslo:

>>> vocales[0:5]
['a', 'e', 'i', 'o', 'u']

>>> vocales[0:100]
['a', 'e', 'i', 'o', 'u']

Esto merece una explicación:

En condiciones normales, cuando referenciamos a una lista a través de un índice fuera de sus límites, como en estos dos últimos ejemplos, obtendríamos un error. Esto no es así para el caso de las sublistas. Debemos pensar en el valor derecho, más que como un índice real, como una cota superior. Todo lo que encuentre entre medias lo extraerá, sin importar que la lista concluya antes.

Para facilitar el trasiego con sublistas Python permite utilizar valores por defecto.

1) Si omitimos el primer valor del slice , Python sobreentiende que el comienzo es desde el principio de la lista:

>>> vocales[:3]
['a', 'e', 'i']

Como ves, el mismo efecto que haber hecho esto otro:

>>> vocales[0:3]
['a', 'e', 'i']

2) Si omitimos el segundo valor del slice Python sobreentiende que se trata del último de la lista:

>>> vocales[3:]
['o', 'u']

La omisión de ambos nos permite, obviamente, recuperar la lista completa, de principio a fin:

>>> vocales[:]
['a', 'e', 'i', 'o', 'u']

Puede parecer algo inútil, pero ya veremos más adelante que este uso puede permitirnos ciertas sutilidades elegantes.

Para finalizar, volvamos a la lista que mencionamos al comienzo:

>>> semana = ['lunes', 'martes', 'miércoles', 'jueves', 
'viernes', 'sábado', 'domingo']

¿Qué comando emplearías para extraer los días laborables y, además, asignar ese resultado a la lista laborables?

Si has comprendido la lección de hoy, seguro que no tendrás dificultad en dar con esto:

>>> laborables = semana[:5]
>>> laborables
['lunes', 'martes', 'miércoles', 'jueves', 'viernes']

Volveremos más adelante con el slicing refinándolo aún más y aprendiendo algunas técnicas comunes. Entre tanto, asegúrate de practicar estos conceptos simples.

Javier Montero Gabarró


Fecha de la última modificación: 21 de junio de 2013.


http://elclubdelautodidacta.es/wp/2011/09/python-capitulo-18-creacion-de-sublistas/


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.

BitBite English #19: either … or

If you can read this you are either a man or a woman…

En inglés, las construcciones del tipo o A o B  se construyen del siguiente modo:

either A or B.

Sería un error emplear dos or o dos either.

Decía Benjamín Franklin:

Either write something worth reading or do something worth writing. O escribe algo que valga la pena leer, o haz algo que valga la pena ser escrito.

Do you have any questions or suggestions? Feel free to contact me either by email or by leaving a comment to any post.

Javier Montero

MuseScore #4: Interactuando con la leyenda

Comenzamos el trabajo con el  archivo con el que cerramos el último capítulo. Tenemos un esqueleto de partitura con una leyenda compuesta por cinco zonas diferentes de texto, cuatro en la parte superior y otra en el pie de la página. En la sesión de hoy interactuaremos con esos cuadros de texto.

Observad la leyenda superior. El conjunto aparece enmarcado en un cuadro que lo separa de la partitura propiamente dicha. La visualización de ese marco es opcional. Podéis activarlo o desactivarlo en el menú Mostrar | Mostrar marcos. Debéis saber que, aunque los estemos viendo en pantalla, no aparecerán en la versión impresa del documento. En breve conoceréis su utilidad.

Para seleccionar un cuadro de texto basta con hacer un clic sobre él. Probadlo, tanto para el marco global superior, como para cada leyenda en particular, incluida la que está en el pie de la página. En el caso del marco global, los bordes aparecen destacados en azul. En las leyendas, es el texto el que aparece en ese color.

Tener el cuadro general o una leyenda seleccionada nos permite eliminarla pulsando la tecla Supr. Probadlo con el marco global. No temáis, para deshacer la operación basta con que pulséis Ctrl-Z después.

No vamos a necesitar la leyenda «El autor de la letra». Seleccionadla y pulsad Supr.

Para editar una leyenda  hacemos doble clic sobre ella, entrando así en el modo de edición. El cursor se posiciona en el punto del ratón. Podemos movernos fácilmente por el texto usando las teclas habituales de edición. No estamos necesariamente confinados a una única línea. Si necesitamos abrir más basta con pulsar Enter al final. En este caso, apreciad que el texto aparece justificado (centrado, izquierda o derecha) en función de la leyenda en particular que estemos editando.

Para abandonar el modo de edición, hacemos clic en cualquier parte fuera del cuadro o bien pulsamos la tecla ESC.

Cambiemos el título y escribamos, en su lugar, «La escala de Do mayor». Editamos el subtítulo y lo dejamos en «Una melodía profunda». Seguimos con el autor de la música y escribimos «Canción popular».

Nos desplazamos ahora al pie de la página para cambiar el cuadro de texto del copyright. Para movernos hasta allí, si no está visible, hacemos clic con el ratón en cualquier parte de la página que esté libre y, sin soltarlo (veremos que cambia la forma del cursor), arrastramos la página hasta la zona deseada. Cambiamos su contenido por «© Super Producciones Musicales». Para obtener el símbolo del copyright, en una máquina Windows, pulsamos la tecla ALT y, sin soltarla, en el teclado numérico escribimos 0169. El símbolo aparecerá en cuanto liberemos la tecla ALT.

Para finalizar, probemos el efecto de hacer doble clic sobre el cuadro global superior. Nos aparece un pequeño cuadrado que nos va a permitir redimensionar la altura del cuadro. Esto es muy útil si hemos insertado más líneas en las leyendas. De este modo, el comienzo de la partitura se ajusta automáticamente, haciendo sitio a las nuevas dimensiones del cuadro.

Guardamos nuestro trabajo con el nombre MuseScore-4 y cerramos la aplicación por hoy.

Javier Montero

LaTeX – Capítulo 10: Caracteres prohibidos

Hay unos cuantos caracteres que tienen un significado particular en LaTeX y, por lo tanto, no los podemos usar directamente en nuestros documentos.

Ya conocemos algunos de ellos: precedemos cada comando LaTeX utilizando la barra invertida, el backslash, «\»; incluimos comentarios en el código mediante el símbolo del tanto por ciento, «%»; usamos las llaves {} para facilitar parámetros a los comandos.

Hay unos cuantos más y, a su debido momento, explicaremos cuál es su función. De momento baste con conocerlos para no incurrir en el error de escribirlos directamente. Además de los arriba indicados, tenemos: «$», «#», «&», «^», «~» y el «_» (guión bajo, o underscore).

Entonces, ¿cómo hacemos si necesitamos que esos símbolos aparezcan en el documento? Es un problema común en todos los lenguajes de programación, y se resuelve empleando lo que habitualmente se denomina secuencias de escape. Para ello, precedemos esos caracteres especiales con la barra invertida, «\».

Por ejemplo, si queremos escribir un #, lo haríamos así: \#.

Hay una excepción a esto. La barra invertida no se consigue con \\. Si recordáis el capítulo 4, la doble barra la empleábamos para provocar un salto de línea sin cambiar de párrafo. Habrá que buscar otra opción, pues el \\ está ya ocupado. La solución pasa por emplear un comando:

\textbackslash

En el código que acompaña el capítulo de hoy ilustro estas técnicas, además de otras particulares que comentaremos a continuación. Prestad atención, pues no tiene desperdicio.

El siguiente PDF (observadlo) se genera a partir de este archivo .tex.


% El Club del Autodidacta
% http://elclubdelautodidacta.es/wp

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\begin{document}
Vamos a probar los caracteres especiales:

La gran mayoría de las canciones de los Beatles están firmadas por 
John Lennon \& Paul McCartney. Sus canciones fueron \#1 durante muchos años 
y aun siguen siendo uno de los grupos mas escuchados.

Los números del 1 al 5 son \{1, 2, 3, 4, 5\}.

El último programa que me compré me costó 10\$.

Estos letras tienen gorrito: \^a + \^b = \^c. 

Y este es el gorrito suelto: \^~

La variable resultado\_total es de tipo entero.

Para obtener el simbolo \~~ en el ordenador pulsamos ALT seguido de 126 
en el teclado numérico. Aquí la tilde aparece sobre la letra \~a.

El comando en \LaTeX para escribir la \textbackslash  ~es \textbackslash textbackslash.

\end{document}

Observad como para representar el &, #, {, }, $ y _ no ha habido ningún problema. Hemos escrito tal cual la secuencia de escape e inmediatamente a continuación el siguiente carácter.

Con el gorrito y la tilde veréis que sucede algo particular: podemos hacer que aparezcan independientes o sobre el carácter siguiente.

Para lograr que estos caracteres se superpongan al carácter, basta con escribir este justo después de la secuencia de escape. Pero aunque lo separéis con un espacio en blanco ordinario aparecerá también superpuesto. Entonces, ¿cómo lo hacemos?

¿Recordáis que os dije que la tilde ~ tenía un significado especial en LaTeX? Pues lo vais a conocer ahora: representa a un espacio en blanco. Pero es un espacio en blanco especial que no es ignorado por LaTeX.

Seguro que también entendéis ahora por qué en el código escribo \~~ , dos veces la tilde. La primera me pinta la tilde gracias al carácter de escape; la segunda me crea un espacio en blanco para que no se me pegue con el comienzo de la palabra siguiente.

El último ejemplo ilustra el modo de lograr la barra gracias al comando \textbackslash. He aprovechado también para refrescaros el comando que logra una escritura de la palabra LaTeX correcta.

Un detalle importante. Los comandos no son como las secuencias de escape, en el sentido de que estas podemos pegarlas al carácter siguiente. Todos los comando en LaTeX deben terminar con un espacio en blanco. De no ser así no se sabría donde termina el comando.

Fijaros, además, que vuelve a aparecer la tilde. De no haberlo hecho la \ habría aparecido pegada a la palabra siguiente y pretendíamos dejarla aislada. En la siguiente invocación al comando ya no la utilizamos, de modo que no se separe \ de backslash.

Mucha información. Asimiladla cuidadosamente revisando bien el código y el resultado. Pero, sobre todo, experimentad. Es la mejor forma de comprender esto.

Javier Montero

BitBite English #18: Have you been to…?

Esta frase siempre me ha llamado la atención.

Have you been to London? ¿Has estado en Londres?

No se dice ‘Have you been in London?¡OJO!

Have you ever been to New York? ¿Has estado alguna vez en Nueva York?

Y en la respuesta, igual:

Yes, I have been to New York several times.

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