Archivo de la etiqueta: Latex

Lo que he aprendido: censura en LaTeX

¡Vuelve LaTeX al blog! Hoy os traigo un paquete curioso que he descubierto gracias a una típica conversación de café: el paquete censor, que como su nombre indica sirve para censurar documentos, es decir, hace el efecto del subrayador negro de la CIA.

Es tan fácil de usar como cargarlo en el preámbulo:

\usepackage{censor}

Y luego usar sus comandos de censurar, el más básico es \censor

La Universidad de \censor{Gatetes Reunidos}

que nos da este resultado:

censor.PNG

También tenemos los comandos \censorbox para censurar imágenes y tablas, y\blackout y \xblackout para tachar cachos largos de texto, que funcionan exactamente de la misma manera. Luego, cuando queramos desclasificar el documento, solo hacer falta añadir \StopCensoring al inicio y toda la información clasificada volverá.

Todos estos comandos correspondes a la creación en entorno seguro, en la información aparece en el .tex y solo es tachada en el pdf compilado. Pero también tiene un modo de creación en entorno inseguro en la que ni siquiera aparece la información en el .tex, sino que deja huecos que podemos rellenar cuando estemos en una máquina 100% segura. Esta parte os la dejo de deberes.

En fin, con esto demuestro que hay un paquete de LaTeX para todo y que tu tesis puede seguir siendo pública aunque tenga partes confidenciales.

Referencias

Manual del paquete


Suena:

Anuncios

Lo que he aprendido: configurar Texmaker

Como sabéis uno de mis objetivos vitales es convertir a todo el mundo a LaTeX y en mi currelo lo estoy consiguiendo. Para hacer esta conversión más sencilla, suelo recomendar empezar con un editor específico, generalmente Kile en GNU/Linux y Texmaker o TeXstudio en Windows. Hoy voy a recoger aquí la configuración básica de Texmaker para empezar a andar ya mismo.

Trataremos:

  • La compilación, especialmente la opción de compilación rápida
  • El corrector ortográfico
  • La codificación
  • Los asistentes

Compilación

Texmaker permite elegir, al igual que el resto de editores específicos de LaTeX permite elegir el compilador con el que queremos que se fabrique nuestro documento1. Simplemente vamos a la barrita superior y elegimos lo que queramos en el desplegable, luego al darle a la flechita de la izquierda, él compilará con el programa correspondiente:

compilador

Incluso podemos definir una lista de órdenes que ejecute una tras otras, cosa que nos facilita la vida en el caso de que estemos usando referencias cruzadas y citas bibliográficas para el que necesitamos varias pasadas del compilador y otra de la herramienta que nos gestiona la bibliografía. A esta historia la llama Compilación rápida y podemos configurarla en Opciones > Configurar Texmaker:

compilacion

El caso típico es el segundo, que nos crea el documento con todas sus referencias y citas. Yo he configurado la compilación rápida como una pasada de xelatex seguida de otra de bibtex y otras dos de xelatex que resultan en un churro así:

xelatex -synctex=1 -interaction=nonstopmode %.tex|bibtex %|xelatex -synctex=1 -interaction=nonstopmode %.tex|xelatex -synctex=1 -interaction=nonstopmode %.tex

Da miedito, pero no hace falta sabérselo de memoria, ya que tenemos el asistente que nos deja establecer nuestra secuencia favorita en un par de clicks:

asistente

¿A que es chuli?

Ortografía

Que no estemos usando Word no significa que no tengamos corrección de nuestros gambazos ortográficos. Al igual que Libre Office, TeXMaker usa los diccionarios de Hunspell, unos archivo dic y aff de los que debemos darle la ruta. Estos archivillos los tenemos por ejemplo en el GitHub de Libre Office para un montonaco de idiomas.

ortografia

¡Cuidado que la corrección no empieza al inicio! Empieza donde esté situado el cursor.

Codificación

En el mismo sitio donde hemos configurado el corrector podemos decirle también qué codificación queremos, yo le pongo UTF8 que es la codificación que uso luego en el documento, o bien añadiendo la línea \usepackage[utf8]{inputenc} si compilo con pdflatex o compilando con xelatex que ya soporta UTF8 de por sí.

Asistentes

Una cosa molona de Texmaker es que tiene una pila de asistentes para ayudarnos a hacer cosas, lo más guay es la barrita lateral que nos facilita añadir referencias cruzadas y bibliográficas listando las etiquetas que tenemos disponibles, cambiar el formato o meter fórmulas. Hurgad en ella un poco y veréis qué molona es.

texmaker

También son chachis los asistentes que están en Órdenes de LaTeX arriba del todo, os pongo como ejemplo el de \includegraphics{file}, que como su nombre indica, ayuda a insertar imágenes:

imagen

Poco más os puedo decir, ahora ya os toca a vosotros jugar y ver qué tal se os da, para lo demás ya sabéis que está la documentación.

Referencias

Documentación de Texmaker


Suena ahora:


  1. Hablé de los compiladores en el capítulo ¿Qué necesito? del Curso de LaTeX 

Lo que he aprendido: diagrama de fuerzas con TikZ

Andaba yo escribiéndoles un ejemplo a mis alumnos sobre el método de los nudos para calcular las fuerzas en las barras de una celosía, cuando me surgió el dilema de cómo dibujar el diagrama de fuerzas en cada nudo. ¿Sería práctico hacerlo en Libre Office Draw? ¿O sería mejor mi adorado Inkscape? En estas vi un ejemplo de TikZ de Kjell Magne Fauske (¡y que se comparte con licencia CC!) en el que se hacía algo similar y me dije ¡aprendamos un poco de TikZ!

Estuve hurgando un rato y finalmente me contenté con esto:

Que nos dibuja este simpático cacharro:

fuerzas

Evidentemente, esto se puede hacer mejor aprendiendo un poco más, pero quería demostrar cómo con un ejemplo, Internet y unas pocas ganas podemos adaptar algo existente en algo que nos sirva para nuestros propósitos.

¡Hay que quitarse los miedos, leches!

Referencias

Example: Free body diagrams en TeXample

Basic Drawing Using TikZ

Online LaTeX diagram graphical editor en TeXexchange


Sonando:

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:

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:

En que ando: julio

La noticia fundamental del mes de julio es que ¡terminé de escribir el curso de LaTeX! La entrada de Pandoc y la de mi proceso de escritura cerraron el cursete que llevaba en marcha desde noviembre. Escribí también una entrada sobre el presente y el futuro del curso. Lo que me falta es mejorar los ejemplos, os agradezco cualquier sugerencia que me hagáis al respecto. Además, hablé de la idea loca de hacer una campaña de financiación colectiva, de la que os iré informando según vaya avanzando.

Ahora os iré contando mis movidas con la detección de erratas y así, la primera ya ha ocurrido, me pasaron cosas locas con el tamaño del papel con XeLaTeX que ya están arregladas. También configuré el quickbuild de Kile.

Ahora estoy a tope con Octave para que si algún día vuelvo a las trincheras no se me haya olvidado todo lo aprendido. De momento he instalado la ayuda y he aprendido cómo va el archivo de configuración. También tengo intención de retomar mi querido Haskell, que el pobre se quedó un poco en el olvido.

Seguir leyendo →