Utilidades

Para alinear tablas escritas en html utilizo el plugin Tabular de Matt Wozniski godlygeek para vim.

 

Una vez seleccionadas todas las filas que quiero alinear escribo

:Tabularize /<[\/]*t[a-z]\+>

 

Git es un programa de control de versiones que estoy utilizando para mi tesis, ya que la hago con LaTeX.

El problema que me ha surgido es que al sincronizar repositorios, en ocasiones, me aparecía un error durante la compresión de archivos que no me permitía finalizarla. Los errores eran aleatorios, aunque siempre aparecían cuando se estaba comprimiendo algún archivo pesado. En mi caso LaTeX genera un montón de PDF que pesan bastante y que al ser binarios no realiza una fusión por diferencias. La compresión de ficheros en mi servidor es lenta (se trata de un pentium IV) y creo que llega a saturarlo.

Por defecto, git solo comprime ficheros mayores de 250 Megas. Yo he reducido este tamaño, con lo que he conseguido que ya no me aparezcan esos errores.

En el repositorio del servidor (bare), dentro del directorio de trabajo he escrito el siguiente comando:

git config --add core.bigFileThreshold 5

De esta manera, los ficheros de más de 5 Megas no se comprimen. Esto aumenta el tiempo de descarga pero no deja que se sature el servidor. Por ahora todo va a las mil maravillas.

 

He estado jugando un poco con programas para consola que permiten fusionar pdfs y modificarlos desde la consola o terminal del ordendador. La mayor ventaja de esto es que se pueden hacer modificaciones masivas con muy poco esfuerzo. Todos son gratuitos y hacen funciones parecidas. Finalmente el que más me ha gustado es pdfjam por su sencillez.

Aquí añado los programas que he estado probando muy superficialmente:

* Ghostscript: puede ser el programa más utilizado para la creación/modificación de documentos en pdf. Lo malo es que su sintaxis es algo complicada.

* pdftk: un programa más sencillo de utilizar con mucha potencia.

* imagemagick: permite muchísimas modificaciones, no tan enfocado a pdf, pero sí a imágenes.

* pdfjam: otro grupo de programas (scripts) que facilitan la transformación de documentos en pdf, se pueden separar páginas, juntar, rotar...

 

Dejo algunos ejemplos para probarlos:

Ghostscript

Extraer determinadas páginas de un pdf, en este caso de la página 1 a la 3 de un pdf con nombre fichero_pdf.pdf a prueba.pdf

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dFirstPage=1 -dLastPage=3 -sOUTPUTFILE=prueba.pdf fichero_pdf.pdf

Con pdfjam

pdfjam fichero_pdf.pdf '1-3' --outfile prueba.pdf

Generar una página de pdf en blanco

echo "" | ps2pdf -sPAPERSIZE=a4 - prueba.pdf

 Rotar una página con imagemagick

convert -density 300x300 fichero_pdf.pdf -rotate 90 prueba.pdf

o con pdftk

pdftk fichero_pdf.pdf cat 1east output out.pdf

Aumentar el tamaño de una página de dinA4 a dinA3

gs -o fichero_pdf.pdf -sDEVICE=pdfwrite -sPAPERSIZE=a3 -dFIXMEDIA -dPDFFitPage -dCompatibilityLevel=1.4 prueba.pdf

Hace de 2 páginas dinA4 una página dinA3

montage -density 600 -tile 2x1 fichero_pdf1.pdf fichero_pdf2.pdf -geometry +0+0+0+0 prueba.pdf

lo mismo con pdfjam

pdfnup --sufix 2up --a3paper fichero_pdf1.pdf fichero_pdf2.pdf

 Un ejemplo concreto que me ha sido útil para un trabajo que tengo que hacer: Extraer las páginas 14 y 15 de un pdf, fusionarlas y hacer un A3 de ellas, rotando una, todo con pdfjam:

pdf90 fichero_pdf.pdf --outfile /dev/stdout | pdfjam --a3paper --outfile pagina1.pdf
pdfjam --nup 2x1 --landscape --a3paper --outfile /dev/stdout informe1.pdf '14' informe1.pdf '15' | pdf90 --outfile pagina2.pdf
pdfjoin pagina1.pdf pagina2.pdf --outfile fusion_paginas.pdf

En ocasiones queremos escribir algún caracter unicode en nuestro sistema Linux y no podemos porque no lo muestra nuestro teclado.

 

Hay un sistema sencillo que permite introducir cualquier símbolo unicode solo con saber su código. Por ejemplo:

 

Queremos añadir una ~ y no sabemos qué tecla es en nuestro teclado. Podemos pulsar la siguiente combinación de teclas Shift-Ctrl-U + 007B

si queremos añadir una @ sería Shift-Ctrl-U + 40

 

Esto también me es útil cuando trabajo en remoto (con Teamviewer) desde un ordenador Mac, que por alguna razón no consigo enviar correctamente las combinaciones de teclas para estos símbolos.