Useful LaTeX packages and their main commands

  • setspace — set space between lines
    • \singlespacing
    • \onehalfspacing
    • \doublespacing
  • textpos — absolute positioning of text on the page
    • \textbox
  • geometry — flexible and complete interface to document dimensions
  • enumitem — Control layout of itemize, enumerate, description
  • titlesec — Select alternative section titles
  • titletoc — alternative headings for toc/lof/lot (better than fancyhdr)
  • listings — typeset source code listings using LaTeX
  • versions — optionally omit pieces of text
  • acronym — expand acronyms at least once
  • crop — support for cropmarks
  • hyperref — extensive support for hypertext in LaTeX
  • multicol — intermix single and multiple columns
  • tocbibind — add bibliography/index/contents to Table of Contents
  • caption / caption2 — customising captions in floating environments
  • xcolor — driver-independent color extensions for LATEX and pdfLaTeX

[under construction]

Arrancar grub en un equipo con UEFI

— [ edit | raw ] migrated from node/1709
Suponiendo que acabáis de instalar una Debian o que, aunque ya la tenías funcionando, w8 ha hecho de las suyas, os veis en una situación en la que no tenéis grub y lo que es peor, ni siquiera podéis arrancar vuestra Debian desde el menú de arranque. En este caso, lo que hay que hacer es lo siguiente:

Keep repeating a command until it fails

That may be useful to make some kind of stress testing or to “ensure” the command is doing right.

Pretty simple:

$ while ./command; do true; done

Autenticación básica en IceGrid

— [ edit | raw ]

Esta receta muestra cómo proporciona, de una forma sencilla, un mecanismo de autenticación a IceGrid.

Fixing damaged /var/lib/dpkg/available

Sometimes the file /var/lib/dpkg/available is corrupted. When you use the package managing tools you get messages similar to these:

dpkg: warning: parsing file '/var/lib/dpkg/available' near line 1128 package 'dash':
 missing description
dpkg: warning: parsing file '/var/lib/dpkg/available' near line 2687 package 'login':
 missing description

Usually this is not a big issue but it may be annoying. To fix it, just execute next commands:

# mv /var/lib/dpkg/available /root/
# touch /var/lib/dpkg/available
# sh -c 'for i in /var/lib/apt/lists/*_Packages; do dpkg --merge-avail "$i"; done'

Seen at

Reading a properties file with augeas

augeas is a command line generic tool to manage configuration text files. augeas comes with many “lenses”. The lenses are files that specify rules to read and write each kind of file. This is a very good to for scripting or automatic configuration management (like puppet does).

Fine-grain sudo

sudo lets a user run commands as she was a different user (usually root). The common configuration of sudo requests your password before run the command. As that is annoying, you may be tempted to write something like this in your /etc/sudoers:


But this may be a big security issue…

git: removing files from history

That deletes the given files from all the changesets along all the repository history, as they never were commited.

It is not a very friendly command (it’s the git style!), but at least it can be done.

$ git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file/dir>' --prune-empty --tag-name-filter cat -- --all
$ rm -rf .git/refs/original
$ git reflog expire --expire=now --all
$ git gc --prune=now
$ git gc --aggressive --prune=now
$ git push --force

Far as I know this is not possible with mercurial



Compacting .vmdk virtual disk with VirtualBox

VirtualBox is able to compact (reduce the size) .vdi images, but it is not possible with .vmdk disk images. So…

Debian apt pinning

Configuración mínima para apt-pinning