Archivo del Autor: Ondiz

Acerca de Ondiz

Doctora en ingeniería. Loca del software libre. Haciendo GNU/Linux más accesible para mí y de paso para los demás. También hago pan.

Lo que he aprendido: el ratón y org mode

Como ya os he dicho más veces uso Emacs de una manera un tanto curiosa, con su GUI y hasta con el ratón porque al final me muevo en un entorno gráfico y me encaja mejor así con el resto de herramientas (sí, uso cosas que no son Emacs). Parece ser que yo no soy la única, ya que hay modos de Emacs que añaden funcionalidades molonas al ratón y entre ellos mi favorito es org-mouse.el, que como su nombre indica se usa en mi amado modo Org.

Sirve para lo siguiente:

  • Nos muestra un menú contextual al hacer click derecho en diferentes elementos
  • Permite abrir y cerrar árboles con un click izquierdo
  • Marca casillas de las listas de tareas al hacer click izquierdo sobre ellas

Parece poca cosa pero hacen de Emacs un lugar más amigable para los novatillos, los desmemoriados o los vagos, tres categorías a las que pertenezco.

Para activarlo solo hace falta añadir una línea al archivo de configuración:

;; Cargar org-mouse
(require 'org-mouse)

Podéis ver este modo en acción en este screencast1:

Referencias

How to setup org-mouse to intuitively toggle checkboxes on org-mode? en StackExchange

5.6 Checkboxes en el manual de Org


Os dejo con una canción que he localizado por casualidad:

Anuncios

Lo que he aprendido: gráficos con InkScape y LaTeX

Hablando en las redes libres sobre mis dibujos molones de estructuras y mis pesquisas para encontrar un paquete similar que pintase masas con muelles y amortiguadores, me dijeron que el maravilloso InkScape es capaz de exportar en un formato legible por LaTeX que permite que la letra de nuestras imágenes se acomode al estilo de nuestro documento.

Evidentemente, tuve que probarlo. Era el camino a un mundo en el que las letra de las figuras y la de texto son perfectamente iguales, un magnífico lugar en el que cambiar la fuente del texto no implica ir cambiando los gráficos uno a uno. ¡Oh, qué felicidad!

En fin, veamos cómo se hace, la cuestión es que al guardar como pdf (o como eps) nos aparece la opción Omitir texto en pdf y crear archivo LaTeX:

inkscape

De esta manera, InkScape nos exporta por una parte un archivo pdf_tex (o eps_pdf) que es texto plano y podemos abrir y leer, donde se define el texto de la imagen, y por otra un pdf (o eps) donde se guarda la parte gráfica.

Este pdf_tex o eps_tex lo importamos en LaTeX con \input dentro de una figura:

\begin{figure}
\centering
\def\svgwidth{\columnwidth}
\input{ruta/dibujo.pdf_tex}
% si hemos exportado como eps será: \input{dibujo.eps_tex}
\end{figure}

Donde la parte de \def\svgwidth{\columnwidth} sirve para cambiar el tamaño de la figura.

Una cosa a tener en cuenta es que si el dúo pdfpdf_tex no está en la misma carpeta que el archivo desde el que lo llamamos, tenemos que añadir su localización a la ruta donde LaTeX busca las imágenes. Para ello solo hace falta escribir la siguiente línea en el preámbulo:

\graphicspath{{CarpetaConImágenes/}}

¡Y ale! Nuestro gráfico aparecerá con la misma letra que nuestro texto. Hay que tener en cuenta que como no se sabe de antemano el tamaño de letra, igual nos queda un poco movida, para restringir esto un poco en teoría podemos usar la herramienta de posicionamiento de InkScape aunque va un poco a lo loco. Aun así, todo este tema me parece muy útil.

Por cierto, he leído que también se puede hacer que se actualice la imagen sola siempre que la cambiemos, pero yo no he llegado tan lejos. Os lo dejo de deberes.

¿Qué hay mejor que InkScape para celebrar San Valentín? 🙂

Referencias

How to include a SVG image in LaTeX (pdf)


Siguiendo con el rollo del amor, esto es lo que suena en mi mente ahora:

En qué ando: enero

¡En el 2018 también hay resumen mensual! Esta vez con poco contenido porque eso de trabajar es mu malo y no puedo estar ahí a tope escribiendo movidas locas. Más que nada he hecho balance del año pasado y me he organizado para este año, pero también he hablado de cosas nuevas. Lo primero que hice fue contar cómo es mi entorno de Emacs, gracias a lo que recibí un montón de ideas para probar.

El resto de cosillas han estado relacionadas con la creación de apuntes para mi asignatura. Descubrí el modo CDLaTeX que me ayuda muchísimo a escribir y aprendí a hacer diagramas de estructuras molonas con TikZ y Gantts de manera friki con PlantUML

Además, para cumplir mis propósitos ¡me he comprado un instrumento musical! Eccolo qui!

Mugaritz en busca de su identidad

Como sabéis estoy obsesionada con la comida, así que cuando vi que @arketipo compartía un vídeo del Basque Culinary Center me lo guardé para verlo en el futuro. Hoy lo traigo por aquí como regalo de lunes, trata sobre la búsqueda de identidad, la experiencia de usuario y las tan famosas sinergias, todo desde un punto de vista un tanto curioso.

Lo que he aprendido: diagramas de Gantt en PlantUML

¡He encontrado una frikimanera de hacer diagramas de Gantt! Está todavía en fase de desarrollo pero incluso así ya es bastante más práctico que pintar cuadraditos en una hoja de cálculo. El cacharro este se llama PlantUMl y es parecido a Ditaa, también es un jar que se usa desde la terminal.

Los diagramas se definen en un archivo de texto en un lenguaje natural, un ejemplo:

@startgantt
Project starts the 1th of februrary 2018
[Tarea 1] as [T1] lasts 8 days
[Tarea 2] as [T2] starts at [T1]'s end and lasts 7 days
[Tareas 3] as [T3] starts at [T2]'s end and lasts 23 days
[Tarea 4] as [T4] starts at [T3]'s end and lasts 7 days
@endgantt

Se pueden usar nombres abreviados para hacer referencia a las tareas, cambiar el color, … Si guardamos la definición en un archivo gantt.txt, por ejemplo, podemos crear nuestro diagrama con una línea de este tipo:

java -jar plantuml.jar -teps -charset UTF-8 gantt.txt

Aquí he usado las opciones teps para que me exporte en eps y charset para decirle que use la codificación UTF8 y me pinte bien las tildes. Hay otras opciones para guardar el gráfico, las tenéis en el manual.

Yo concretamente, uso PlantUML en Org (como todo) escribiendo la definición del gráfico dentro de un bloque de código para que me incluya el dibujete dentro del documento exportado:

#+BEGIN_SRC plantuml :file gantt.eps :cmdline -charset UTF-8 -teps
@startgantt
Project starts the 1th of februrary 2018
[Tarea 1] as [T1] lasts 8 days
[Tarea 2] as [T2] starts at [T1]'s end and lasts 7 days
[Tareas 3] as [T3] starts at [T2]'s end and lasts 23 days
[Tarea 4] as [T4] starts at [T3]'s end and lasts 7 days
@endgantt
#+END_SRC

Como veis, las opciones que antes dábamos en la terminal van ahora después de :cmdline. Al ejecutar este trocito de código1, se generará esta imagen como resultado:

Aparte de diagramas de Gantt, con PlantUML pueden pintarse todo tipo de chirimbolos, tiene una versión online para que vayáis probando 😀

Referencias

Diagramas de Gantt en PlantUML

Guía de PlantUML


Sonando:


  1. ¡Recordad darle permiso a Emacs para ejecutar código de PlantUMl añadiendo este lenguaje a la lista

Lo que he aprendido: estructuras con TikZ

Estaba yo fabricando mis transpas para dar clase cuando se me ocurrió que tal vez hubiera un paquete de LaTeX para dibujar diagramas de estructuras. Sí, ya sabéis, las míticas celosías que se unen al suelo con triangulitos o triangulitos sobre ruedecitas. Evidentemente, lo hay, se llama stanli, es un paquete basado en TikZ y está tanto en GitHub como en CTAN.

La idea del paquete es definir una librería de objetos que luego nosotros podremos utilizar para crear nuestras estructuras sin tener ni idea de TikZ, como es mi caso. Solo tendremos que recurrir a los comandos \point, \beam, \support y demás para montar piecita a piecita nuestro diagrama.

A la hora de usarlo hay que tener en cuenta dos cosas:

  • El manual en pdf que aparece en GitHub no está actualizado, os recomiendo compilar el archivo stanli.tex para que se corresponda con el paquete en sí.

  • La versión de GitHub y la de CTAN son distintas, yo estoy utilizando la de GitHub porque me permite poner apoyos con ruedecitas (los tipos Xoo y Xooo, con dos y tres ruedecitas respectivamente).

Por lo demás no hay ningún problemas, es facilísimo de usar y trae hasta un tutorial en el manual. Yo simplemente os dejo aquí un ejemplo, lo uso en conjunto con units para que me ajuste las distancias con las unidades correctamente:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{stanli}
\usepackage[ugly]{units}
\begin{document}
\begin{tikzpicture}

  \scaling{0.5};

  % Nodos 
  \point{a}{0}{1};
  \point{b}{5}{1};
  \point{c}{10}{1};

  % Barras
  \beam{2}{a}{b};
  \beam{2}{b}{c};

  % Apoyos
  \support{1}{a};
  \support{2oo}{c}; 

  % Uniones
  \hinge{1}{b};

  % Fuerzas
  \lineload{1}{a}{b}
  \load{1}{c}[90];

  % Nombres de nodos
  \notation{1}{a}{A}[left];
  \notation{1}{b}{B};
  \notation{1}{c}{C};

  \notation{1}{c}{\unit[500]{N}}[above=10mm, left];   

  % Cotas
  \dimensioning{1}{a}{b}{-1}[{\unit[1]{m}}];
  \dimensioning{1}{b}{c}{-1}[{\unit[1]{m}}];

\end{tikzpicture}
\end{document}

Compilándolo tendríamos este simpático diagrama:

estructura

Hay cosas que se pueden mejorar, pero la verdad es que el resultado es muy bueno y es con diferencia la manera de crear diagramas más fácil que he visto.

Si tengo un rato a ver si les hago un pull request con los problemillas que he visto en el repo.

¡Espero que os resulte tan útil como a mí!

Referencias

TikZ Library for Structural Analysis

Structural analysis best package en TeX Exchange


¡Música!

Lo que he aprendido: ecuaciones rápidas con CDLaTeX

Ando últimamente bastante liadilla y agradezco cualquier herramienta que me facilite la vida. Una que me hace muy feliz es el modo menor de Emacs CDLaTeX, que acabo de descubrir y se ha convertido en imprescindible en mi día a día. En concreto lo uso en combinación con el modo Org, que trae su propia variante org-cdlatex. Paso a hablaros sobre ello.

El modo CDLaTeX

Tal y como dice en su README, CDLaTeX es un modo menor para la inserción rápida de entornos y movidas matemáticas en LaTeX:

CDLaTeX is a minor mode for Emacs supporting fast insertion of environment templates and math stuff in LaTeX

Lo escribió el mismo señor que el modo Org, Carsten Dominik, y se puede encontrar tanto en MELPA como en Github. Requiere texmathp.el que dicen que es parte de Emacs a partir de la versión 21.3, pero yo tuve que instalar AucTeX (que también lo contiene) para hacerlo funcionar.

Ecuaciones rápidas

La idea de este modo es evitarnos el tedio de escribir desde cero las ecuaciones de LaTeX y los símbolos matemáticos. Es muy listo y sabe cuándo estamos dentro de un bloque matemático (entre \begin{equation} y \end{equation}) y cuándo no, y así activa y desactiva funcionalidades según el contexto. Por ejemplo, al escribir un guión bajo nos añade automáticamente las llaves para que escribamos dentro el subíndice.

La tecla principal de este modo es el TAB, que hace de todo:

  • Predice comandos: si lo pulsamos después de haber escrito una parte de un comando nos lo completa. Me encanta porque equ + TAB inserta directamente un entorno de ecuaciones, ¡así de fácil! Podemos ver todas abreviaturas con M-x cdlatex-command-help.

  • Reduce subíndices y superíndices simples: nos escribe automáticamente las llaves para los subíndices y superíndices pero podemos eliminarlas para los casos de una sola letra pulsando el TAB delante de la llave de cierre.

  • Mueve el cursor a la siguiente unidad de interés: podemos avanzar por las ecuaciones con el TAB alegremente.

No solo del TAB se vive, también tenemos otras funcionalidades chulas:

  • Entornos rápidos C-c { nos mete entornos como align dentro del bloque de ecuaciones.

  • El apóstrofe modifica el carácter anterior, añadiendo un punto encima u otras movidas locas matemáticas. Si lo pulsamos y esperamos un poco nos aparece un cuadro con todas las opciones disponibles.

  • El acento grave introduce comandos, por ejemplo `a escribe \alpha tanto dentro como fuera del entorno matemático, `b escribe \beta y así sucesivamente. Varios acentos cambian de nivel, tomando el caso de la letra l como ejemplo, precedida de un acento escribe \lambda, con dos acentos \ell, y con tres \log. Lo que es utilísimo para los que escribirmos mucha mate. ¡Un truco! Para escribir letras griegas mayúsculas, tras introducir una con el acento grave y la letra, podemos usar M-b para movernos al inicio de la palabra y M-c para que Emacs nos la ponga en mayúsculas. Es fantástico. Al igual que el apóstrofe, si esperamos un poco después de pulsarlos nos aparece un cuadro con las opciones.

Lo único que me queda por contaros es que si este modo os conquista como a mí, podéis activarlo siempre con Org añadiendo esta línea al archivo de configuración:

;; Activar CDLaTeX con Org mode
(add-hook 'org-mode-hook 'turn-on-org-cdlatex)

¡Y hala! ¡Productividad a tope! 😀

¿Vosotras qué modos y herramientas usáis para simplificar vuestro trabajo? Ilustradme, porfis.

Referencias

org-cdlatex en el manual de Org

CDLaTeX en GitHub


Últimamente estoy dejando salir a mi celta interior: