Archivo de la categoría: Lo que he aprendido

Lo que he aprendido: registro de cambios en un documento LaTeX con git

Estoy echando una mano a mi hermano con una documentación to guapa para un tema que mejor os cuenta él y me preguntó cómo incluir un registro de cambios en el documento. Un registro de cambios no puede ser muy complejo de hacer si estamos usando git, pensé, así que me puse a investigar las diferentes alternativas, empezando por la opción evidente: git log.

Jugando con git log

Empecemos por los inicios, como todos los que usáis git sabéis mejor que yo, git log nos permite dar un formato al historial de commits con las opciones --pretty y --format. Por ejemplo, podemos mostrar la fecha y la descripción del commit haciendo:

git log --pretty=format:"%ad%x09%s" --date=short > cambios.log

Seguir leyendo →

Lo que he aprendido: la resolución y elementaryOS Freya

Hace tiempo que no la liaba petarda en el ordenador pero he vuelto a las andadas y todo por el programa de la renta. Menos mal que me sale (en teoría) a devolver que si no me iban a oír.

La cuestión es que mi portátil (¡el Slimbook!) tiene una pantalla muy pequeña (13.3″) para su resolución (1920 × 1080) y esto provocaba que el programa se viera enano. Muy enano, como se puede ver en la imagen, y no tiene ninguna opción de zoom:

zergabidea

Seguir leyendo →

Lo que he aprendido: blindtext en LaTeX

Estoy ahora mismo probando una plantilla de LaTeX y recordado una herramienta interesante para estas labores: el paquete blindtext. Este paquete es similar al típico Lorem Ipsum, es decir, nos crea texto sin sentido, pero tiene ciertas funcionalidades añadidas:

  • Depende del idioma así que se puede ver qué tal va la silabación. Ahora mismo los idiomas disponibles son inglés, francés, alemán, latín y catalán. Es curioso que en cosas de LaTeX haya casi siempre catalán como opción, los demás deberíamos ponernos las pilas.

  • A diferencia del paquete lipsum, la implementación de Lorem Ipsum para LaTeX, que solo nos crea texto, tenemos la posibilidad de generar listas, ecuaciones y hasta un documento completo si se lo pedimos.

  • Podemos crear texto formado por pangramas, frases que contienen todas las letras del abecedario de un idioma concreto1, interesante para probar tipografías. También podemos usar trozos de la Biblia, cosa que me parece absolutamente genial aunque utilidad práctica le veo menos.

Es muy fácil de usar, para crear texto sin más tenemos dos comandos:

  • \blindtext crea un trozo de texto corto. Opcionalmente le podemos dar el número de veces que queremos que repita el texto con \blindtext[REP]
  • \Blindtext crea un trozo de texto largo. Puede tomar como opciones el número de párrafos y el de repeticiones con \Blindtext[PAR][REP]

Podemos fabricar un documento completo, largo o corto, con y sin ecuaciones:

  • \blindocument crea un documento corto, si delante activamos las matemáticas con \blindmathtrue tendrá también ecuaciones. El documento creado tendrá títulos de sección de todos los niveles y varios tipos de listas.
  • \Blindocument crea un documento largo, funciona exactamente igual que el anterior.

  • \blindmathpaper crea un documento con ecuaciones.

Hay otras opciones para crear listas y así, en el manual lo tenéis bien explicado.

Os pongo para terminar un ejemplo con diferentes opciones para que hurguéis si os parece interesante. Lo único que hay que tener en cuenta es que el idioma que usa es el del paquete babel. He puesto una comparación con lipsum también ya que estaba.

\documentclass[a4paper,11pt]{article}

% Idioma y codificación
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[english]{babel}

% Paquetes para texto de relleno

% Blindtext
% Opciones pangram, bible, random (defecto)
\usepackage[pangram]{blindtext}

% Lorem ipsum
\usepackage{lipsum}

\begin{document}

\tableofcontents

% Texto corto
\blindtext

% 3 párrafos, 2 repeticiones
\Blindtext[3][2]

% Párrafos 5 y 6 creados con Lorem Ipsum
\lipsum[5-6]

% Documento completo con matemáticas
\blindmathtrue
\blinddocument

% Documento completo con matemáticas
\blindmathpaper

\end{document}
Lorem Ipsum por Sudweb vía Attribution Engine. Licencia CC BY-NC-SA.

Referencias

Manual de blindtext(pdf)

Alternative to “Lorem Ipsum” en TexExchange

El paquete lipsum

Otros generadores de texto


  1. El veloz murciélago hindú comía feliz cardillo y kiwi. ¿Lo recordáis? 

Lo que he aprendido: Tox

En su búsqueda de herramientas distribuidas, libres y que respeten la privacidad, mi señor hermano ha localizado Tox y me ha liado para que abandonemos nuestro odiado Hangouts y nos pasemos a un cacharro mucho más loco.


¿Qué es Tox?

Tox es un servicio de mensajería instantánea con soporte para llamadas de voz, videollamadas y envío de ficheros. Tiene tres características fundamentales:

  • Es libre: podemos ver cómo está hecho, modificarlo y distribuirlo libremente.
  • Todo está encriptado: solo la persona con la que estamos hablando puede leer nuestro mensajes. Además, no se puede saber quiénes somos sin nuestra clave privada, que permanece en nuestro ordenador.
  • Es distribuido: nuestros mensajes no están en los servidores de ninguna empresa, la red está formada por los propios usuarios.

Todo ello implica que Tox respeta nuestra privacidad no mostrando quiénes somos, no guardando nuestros mensajes y encriptando nuestras conversaciones.

Es importante decir que Tox está todavía en fase experimental, así que tiene errores y todavía no está totalmente verificado su funcionamiento.

¿Cómo se instala?

Para poder usar Tox, tenemos que instalar un cliente. En su página de descargas tenemos todas las opciones disponibles. Por consejo de mi hermano, instalé qTox, el cliente de Tox con interfaz gráfica hecha con Qt.

Siguiendo las instrucciones, hice:

# Añadir a la lista de repositorios
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/antonbatenev:/tox/xUbuntu_14.04/ /' > /etc/apt/sources.list.d/qtox.list"
# Actualizar lista de paquetes
sudo apt-get update
# Instalar qTox
sudo apt-get install qtox

¿Cómo se usa?

Para usarlo solo nos falta crear una cuenta y añadir personas. Una cosa curiosa que tiene esta historia, es que cada persona tiene un identificador formado por 76 dígitos hexadecimales, eso es lo que tenemos que compartir para que la gente nos pueda hablar por Tox. También podemos apuntarnos en una lista pública de usuarios, como Toxme, y así nos podrán encontrar en usuario@servicio.

Una vez tenemos el identificador de una persona, le podemos mandar una petición de amistad y, si la acepta, ya podemos hablar con él a través de nuestro cliente. Así de fácil.

He estado probando qTox y la verdad es que me va bastante bien, me ha sorprendido gratamente, funciona la llamada, la videollamada, mostrar el escritorio, enviar archivos… Lo único así raro es que no me carrulan los acentos pero dicen que es cosa de Qt.

Tox en el móvil

Sí, también podemos usar Tox desde el móvil, hay tanto aplicaciones para iPhone como Android: Antidote y Antox, respectivamente. Hay incluso un par de ellas para los frikis que tenemos un Jolla, jTox y Cyanide, la primera de ellas está en la tienda oficial y todo.

Estoy usando jTox con bastante éxito, si exceptuamos que se negó a importar la cuenta de qTox y tuve que hacerme otra en jTox, exportarla e importarla en qTox y no obedeció y ahora tengo dos cuentas. Pero no hay problema, cosas peores me han pasado con el Hangouts, creedme.

Conclusión

Tox me parece un servicio interesante y, sobre todo, necesario. Vivimos en un mundo en que las grandes empresas son dueñas de nuestros datos y los usan para fines no muy éticos. Mientras tanto, las personas de a pie cada día tenemos menos poder y menos derechos. Creo que herramientas como esta nos sirven para ganar un poco de control sobre nuestra información. Y ¿quién sabe? igual en el futuro conseguimos una sociedad que refleje el funcionamiento de Tox, una sociedad libre y con el poder distribuido entre todos y cada uno de nosotros.

Referencias

Tox
qTox en GitHub


Mientras escribía oía

Lo que he aprendido: márgenes y fuentes en Pandoc

Hoy he aprendido a establecer las fuentes y los márgenes de un documento escrito en Markdown que luego se convierte a pdf con Pandoc. Es simplemente una cuestión de enviarle unas variables a Pandoc cuando compilamos, o bien con la opción -V, en el bloque YAML o en el archivo de metadatos. Voy a usar el bloque YAML en todos los casos, pero las tres opciones son igual de válidas.

Fuentes

Aquí hay dos posibilidades, según usemos pdflatex o xelatex para compilar, debido a que los dos compiladores gestionan las fuentes de manera diferente.

En el caso de pdflatex, usamos la variable fontfamily para establecer la fuente. Por ejemplo, para cambiar a DejaVu añadiríamos lo siguiente al bloque YAML:

Seguir leyendo →

Lo que he aprendido: Font Awesome y Jekyll

Os dije ayer que estaba personalizando la web de pan con símbolos de Font Awesome, hoy os voy a contar un poquito más cómo va el rollo.


Font Awesome es una colección de iconos minimalistas con licencia libre. Tienen la particularidad de que son gráficos vectoriales con lo que quedan bien en todos los tamaños, haciéndolos especialmente útiles para poner en webs.

Para usarlos no tenemos más que descargarnos la carpetilla y añadir a nuestro head un link al CSS correspondiente. En mi caso como uso Jekyll y GitHub Pages, he añadido la siguiente línea al head del archivo _layouts/default.html:

<link rel="stylesheet" href="{{ site.github.url }}/font-awesome-4.7.0/css/font-awesome.min.css">

Ahora cuando queramos usar un icono, hacemos:

<i class="fa fa-ICONO"></i>

Donde ICONO es el nombre del icono en cuestión. Los iconos con sus respectivos nombre están en esta lista. También podemos cambiarles el tamaño, por ejemplo, para hacerlo el doble de grande usamos fa-2x:

<i class="fa fa-ICONO fa-2x"></i>

Podemos agrandarlo hasta 5x

Se pueden usar en cualquier sitio, ya que funcionan como si fueran letras. Por ejemplo, para ponerlos como ítems de una lista:

<ul class="fa-ul">
    <li><i class="fa-li fa fa-ICONO"></i>Elemento 1</li>
</ul>

Tenéis más ejemplos en la web de Font Awesome

A mí me gustan especialmente para las barras de navegación, tengo que averiguar cómo unirlos a la barra de navegación automática que me hace Jekyll.

Como cosa curiosa antes de acabar: hay hasta un generadorde favicons para símbolos de Font Awesome. Muy chulo todo.

Nada más, continuo investigando.

Lo que he aprendido: Font Awesome y LaTeX

Pues estaba yo actualizando mi CV y quería poner un simbolito de un sobre para que me mandasen un email los interesados, cuando he descubierto que se pueden usar chirimbolos de Font Awesome en LaTeX. Estoy ahora mismo personalizando la web de pan con esos mismos iconos y me encantan, así que me he puesto a investigar cómo combinarlos con LaTeX.

Para ello simplemente necesitamos el paquete fontawesome que vive en texlive-fonts-extra1. Esto es una gran mierda porque nos hace instalarnos 400MB de movidas que no necesitamos. He estado probando otras alternativas pero no me funcionaba ninguna y después de instalar y desinstalar el paquete como 8 veces me he resignado a gastar los 400MB inútilmente.

En fin, para usarlo lo llamamos en el preámbulo, acompañado de fontspec si vamos a compilar con xelatex, con pdflatex no hace falta nada extra según el manual:

\usepackage{fontspec} % para compilar con xelatex
\usepackage{fontawesome}

Luego, para usar los símbolos usamos los comandos \faIcono (en camel case) donde Icono es el nombre del icono. En el manual tenemos todos los iconos que hay, cada uno con su respectivo nombre. Por poner un ejemplo ejemplo, para añadir el sobrecito para que nos manden emails haríamos:

\href{mailto:EMAIL}{\faEnvelope}

Ahora, al hacer click sobre el sobre se nos debería abrir nuestro cliente de correo. A mí Geary me hace cosas locas y se abre cuando le da la gana, pero qué le vamos a hacer.

Font Awesome tiene, además, minisímbolos de GitHub y así con los que podemos enlazar nuestros proyectos sin agobiar al lector. O poner en pequeño que nuestro documento tiene licencia CC.

Lo que tengo que averiguar ahora es cómo usar una versión más moderna del paquete y de la fuente porque me faltan unos pocos iconos (como el de GitLab) que me resultarían útiles. Os iré informando.

Curriculum Vitae por Johnmyleswhite vía Attribution Engine. Licencia CC NC.

Referencias

Plantilla de CV que uso yo

Ejemplo de CV con Font Awesome

How to include social’s icons like gitHub and linkedin in ModernCv? en StackExchange

El paquete fontawesome en CTAN

Manual de fontawesome