martes, 30 de agosto de 2011

Editor multiplataforma Sublime Text 2

Sublime Text 2 es un editor de textos disponible para Linux, Mac y Windows. Aunque se trata de una versión beta tiene bastante funcionalidad. Además se le pueden instalar plug-ins adicionales. No hace falta hacer ningún tipo de instalación. Simplemente descargarlo y ejecutarlo.


Con Ctr + Shift + P se despliega un cuadro en el que podemos encontrar la mayor parte de la funcionalidad del editor. Por ejemplo, podemos fijar el resaltado del código escribiendo "set syntax: ".


El tema que aparece en las capturas se llama Soda y se puede descargar utilizando git y poniendo la carpeta en el directorio de Packages de Sublime, que en en Linux es ~/.config/sublime-text-2/Packages/:
cd ~/.config/sublime-text-2/Packages/
git clone https://github.com/buymeasoda/soda-theme/ "Theme - Soda"
Una vez hecho esto, hay que aplicar el tema en Preferencias -> Global Settings - User. Se abre una página con código parecido a CSS y añadimos la siguiente línea entre las llaves:
"theme": "Soda Light.sublime-theme"
Para instalarlo podemos utilizar el ppa que adjunto a continuación (recomendado):
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2
O bien hay otra manera, un poco más larga, que consiste en añadir el binario al path y hacer un fichero .desktop para poderlo ejecutar desde el dash. Suponiendo que estamos en el directorio donde se encuentre el ejecutable, lo añadimos al path, por ejemplo de la siguiente manera:
sudo cp sublime_text /usr/bin/
A continuación también añadimos este icono a la ruta donde se encuentran los iconos del sistema.
sudo cp sublime.png /usr/share/icons/
Para poner un "acceso directo" desde el dash creamos un fichero .desktop. Propongo el siguiente:
[Desktop Entry]
Version=1.0
Type=Application
Name=Sublime Text
Comment=A text editor
TryExec=sublime_text
Exec=sublime_text %F
Icon=/usr/share/icons/sublime.png
MimeType=text/plain;
En mi caso lo he llamado sublime.desktop. Ahora hay que copiarlo a /usr/share/applications/.
sudo cp sublime.desktop /usr/share/applications/
El resultado debe ser algo similar a esto:


Este artículo está basado en este otro de net tuts +.

viernes, 26 de agosto de 2011

Fuentes que añadir a Ubuntu.

Una fuente apropiada para escribir código puede ser Excalibur Monospace. Es muy similar a Sans Serif. Un ejemplo de código utilizando esta fuente puede verse a continuación.


Para instalarla, una vez descargada, se copia en el directorio /usr/share/fonts. En la consola, por ejemplo, escribiendo:
sudo cp *.ttf /usr/share/fonts
De esta manera estará disponible para todos los usuarios de la máquina. Si sólo quieres que esté disponible para un único usuario crea una carpeta llamada .fonts en el directorio raíz de dicho usuario y pega la fuente en la nueva carpeta. Si no te gusta usar la consola de Linux, puedes hacerlo de forma gráfica usando gksu (Nautilus en modo administrador). Para ello, pulsa Alt + F2 y escribe:
gksu nautilus /usr/share/fonts
Otras fuentes para escribir documentos que se encuentran en Windows y que a veces echo en falta son Calibri, Cambria, Consolas, Constantia, y Corbel.



sudo apt-get install cabextract curl
Guarda el siguiente script en un archivo llamado vista-fonts-installer.sh
mkdir -p ~/.fonts
chmod +x vista-fonts-installer.sh
Otras fuentes interesantes como Airal, Times New Roman, etc. se pueden encontrar instalando:
sudo apt-get install msttcorefonts

lunes, 22 de agosto de 2011

Tema Divergence IV para Ubuntu

A continuación se muestra en imágenes Ubuntu 11.04 con el tema Divergence IV "A New Hope". También (aunque no se aprecie) se utiliza Unity 2D que mejora los efectos visuales del dash. El fondo se encuentra en DevianART y se titula "Whirl".





viernes, 15 de julio de 2011

Minitutorial de uso de GNUPlot

GNUPlot puede trabajar tanto de forma interactiva como no interactiva, por lo que se puede invocar desde un shell script.

Un ejemplo sencillo.

Supongamos que tenemos tres ficheros, con dos columnas cada uno de datos numéricos separados por espacios en blanco (espacios, tabuladores, ...). Estos ficheros se pueden dibujar utilizando GNUPlot de forma tanto interactiva como no interactiva.

De manera interactiva

Abrimos GNUPlot en un terminal, escribiendo gnuplot y nos mostrará el modo interactivo. En el podemos representar los ficheros de forma rápida utilizando la orden plot.
plot ’fichero1.txt’ u 1:2, ’fichero2.txt’ u 1:2, ’fichero3.txt’ u 1:2

De manera no interactiva

En la terminal escribimos la siguiente orden para pintar los ficheros:
echo \
"plot ’fichero1.txt’ u 3:4, ’fichero2.txt’ u 3:4, ’fichero3.txt’ u 3:4" |
gnuplot -persist
La u es la abreviatura de la palabra reservada using y los números a continuación son el rango de columnas en el fichero que se van a representar.

Parámetros más comunes.

  • set xrange[a:b]: especifica el rango de la variable x.
  • set yrange[a:b]: especifica el rango de la variable y.
  • set xlabel 'etiqueta': especifica la etiqueta del eje x.
  • set ylabel 'etiqueta': especifica la etiqueta del eje y.
  • set encoding iso_8859_1: especifica el tipo de codificación. Resulta útil cuando es necesario rotular utilizando acentos.
  • set title 'etiqueta': especifica el título del gráfico.
  • set logscale x : fija el eje x con escala logarítmica.
  • set logscale y : fija el eje y con escala logarítmica.
  • set xtics ("1" 1, "Dos" 2): especifíca que puntos del eje x deben aparecer en la gráfica y qué etiqueta deben llevar.
  • set ytics ("1" 1, "Dos" 2): especifíca que puntos del eje y deben aparecer en la gráfica y qué etiqueta deben llevar.
  • set key [punto/posición]: especifica el lugar dónde situar la leyenda. Puede ponerse el punto absoluto o utilizar una posición relativa de entre {left | right | center} {top | bottom | center}.

Utilizar una escala logarítmica.

set autoscale
set title 'Tasa de error en función del nº de estados.'
set xlabel "Estados"
set ylabel "%Error"
set logscale x
set logscale y
set xrange [0.9:280]
set yrange [0.9:104]
set xtics ("1" 1, "2" 2, "4" 4, "8" 8, "16" 16, "32" 32, "64" 64, "128" 128, "256" 256)
set ytics ("1" 1, "2" 2, "3" 3, "4" 4, "5" 5, "10" 10, "20" 20, "30" 30, "40" 40, "50" 50, "100" 100)
plot "salida_codeword4" using 1:2 title  'Codewords = 4' with linespoints, \
     "salida_codeword16" using 1:2 title '           16' with linespoints, \
     "salida_codeword64" using 1:2 title '           64' with linespoints, \
     "salida_codeword256" using 1:2 title '          256' with linespoints
Generando la siguiente gráfica:

Utilizar LaTeX para pintar la gráfica.

GNUPlot puede generar un fichero con la información de la gráfica para LaTeX. Este fichero es importado en un documento de LaTeX que es quién realiza el dibujado. Para que genera un fichero en LaTeX hay que utilizar la orden:
set output "fichero_latex.tex"
Un ejemplo de uso, en el que se pinta la función seno escrita en notación polaca inversa.
set terminal latex
set output "gnueg.tex"
set title "This is a plot of $y=\sin(x)$"
set xlabel "This is the $x$ axis"
set ylabel "\\rotatebox{90}{This is the $y$ axis}"
plot [0:2*pi] [-1.2:1.2] sin(x) title "Sinus"
set output "egpltl.tex"
replot
Para importarla en LaTeX, se podría hacer de la siguiente manera:
\begin{figure}[ht]
 \centering
 \scalebox{0.8}{\input{egpltl.tex}}
 \caption{Funció generada per {\sf GNUPLOT}.}\label{egplt1}
\end{figure}

jueves, 14 de julio de 2011

Un promtp para Linux

Un prompt sencillo para Linux.
Para utilizar este prompt de manera permanente:
export PS1="\[\033[0;34m\]\[\e]0;\u@\h: \w\a\]\u\[\033[0;31m\]@\h:\w$ \[\033[0;0m\]"