Bienvenido al blog del noroeste de Mesopotamia! Aquí hablamos de todo:
Política, Dios, ciencia y tecnología, fe, Linux, Latex, Fails,etc.
Siéntase libre de comentar los artículos!

jueves, 26 de enero de 2012

Sangría y espacio entre párrafos en LaTeX

Si has pasado por algún profesor fuera de la media en la universidad, que se caracteriza por ser más exigente que los demás, seguramente cuando te pida trabajos te exigirá formatos especiales para el sangrado y el espaciado entre párrafos.

La verdad es que no tengo idea como configurar esto en Libre/OpenOffice o MsOffice. Hasta ahora, el espacio entre párrafos lo ajusto manualmente a través de la tecla enter y el sangrado a través de la tecla tab. Sin embargo, ¿qué sucede si aquel profesor nos pide, por ejemplo, 2cm de sangría y 0.5cm de espacio entre párrafos?

En LaTeX la solución es sencilla. Simplemente se deben ajustar las longitudes asociadas a la sangría y espacio entre párrafos como sigue:

\setlength{\parindent}{2cm}
\setlength{\parskip}{\baselineskip} 

La primera instrucción hace que la sangría de cada párrafo (\parindent) sea de 2 cm, mientras que la longitud \baselineskip es una medida que indica la separación entre párrafos (\parskip). Sin duda, tanto la sangría como la separación entre párrafos puede tener cualquier longitud. Cuidado, porque la calidad visual y estética de los documentos tiene mucha relación con estas longitudes. Ambas instrucciones deben ser puestas en el preámbulo del documento, es decir, antes de \begin{document}. 

Bonus Track: Interlineado

El interlineado es algo que también piden mucho en la universidad. Personalmente, después de descubrir que el interlineado mayor a 1 hace que la estétitca del documento decaiga drásticamente, me manifiesto en contra de utilizarla, especialmente si se trata de una tesis o un trabajo importante. De todos modos, para manejar el interlineado se debe hacer lo siguiente:

\renewcommand{\baselinestretch}{1.5}

Espero que les sirva. Un abrazo!

jueves, 19 de enero de 2012

[DENUNCIA] PEDÓFILOS EN FACEBOOK!

DENUNCIA A LOS PEDÓFILOS!!

El link al final corresponde al de un pedófilo!!!

Links:
    http://www.facebook.com/?ref=tn_tnmn#!/profile.php?id=100001772277307&sk=info

miércoles, 18 de enero de 2012

NO A LA LEY SOPA!!!

DETENGAN LA LEY SOPA!!! NO A LA LEY SOPA Y PIPA!!!





    

miércoles, 11 de enero de 2012

[Tip] Acceso a datos de un vector unidimensional en TI-BASIC

Por estos días me encuentro desarrollando un proyecto para la TI-89 escrito en TI-BASIC. Afortunadamente, ya llevo gran parte de él bastante avanzado, e incluso puedo decir que algunos módulos ya están casi listos.

Como seguramente saben el software que trae la TI-89, ese que viene en el disco incluido en la caja de la calculadora, no posee muchas herramientas de programación, ni tampoco la calculadora posee un buen editor para programar. El que trae es muy limitado.

Bueno, realmente no quiero hablar de editores u otras cosas, sino más bien de una cosa que descubrí y me pareció interesante comentarla aquí, puesto que puede inducir a errores en la programación. Mi intención es poder evitarles, de ser posible, potenciales errores asociados al acceso de datos a vectores unidimensionales. Manos a la obra.

Supongamos que tenemos un vector columna como por ejemplo [1;3;4;6], y  tiene 4 componentes. Si se desea extraer datos de dicho vector hay que tener cuidado, porque si se hace de mala manera se pueden cometer errores, tanto de cálculo (durante una prueba) como durante la programación de algún software. Entonces, para extraer información de dicho vector tenemos 2 maneras.
  1. Usar la notación reducida, que significa lo siguiente: Por ejemplo

    [1;3;4;6][2]

    Si usamos esta notación, el resultado obtenido sigue siendo un vector, con la diferencia de que es un vector de una fila y una columna, y estará encerrado por [ ]. Esto NO es un escalar, sino que es el vector [3].
  2. Usar la notación completa, que quiere decir lo siguiente:

    [1;3;4;6][2,1]

    Esta notación lleva a un resultado que corresponde a un número o escalar, no a un vector de 1x1.Es decir, lo que entrega es el número 3.
Hay que tener cuidado con lo que andamos buscando, si es un vector de 1x1 que contenga el valor de cierto elemento en el vector, se debe usar la primera notación. Si por el contrario, se busca un escalar se debe emplear la segunda notación.
Abrazo!

lunes, 9 de enero de 2012

[FAIL] Demasiada fuerza parece.

Notable... HAHAHA...




[FAIL] FAIL de seguridad

Un profesor poniendo en riesgo a sus alumnos en caso de una emergencia ¿Qué sucede si hay un temblor fuerte o un incendio?. Muy buena técnica...



Sin comentarios...
    

sábado, 7 de enero de 2012

[TIP] Lanzar Matlab en la línea de comandos.

Es sabido que Matlab es un poderoso software para simular sistemas y cálculos matemáticos. Gracias a su herramienta Simulink, se puede simular casi cualquier sistema a partir de una sencilla interfaz gráfica y con sus herramientas matemáticas se puede calcular básicamente cualquier cosa.

Sin embargo, una de las grandes desventajas de Matlab, en mi opinión, es el consumo de recursos. Puedo decir con propiedad que cada vez que lanzo este software desde mi pequeño portátil, la temperatura se dispara unos 5, 6 o incluso hasta 10 grados extra. En definitiva, es un software bastante "PESADO".

Hoy quiero mostrar un truco muy sencillo que hará que la consola de Matlab (donde se ingresan los comandos) se cargue en menos tiempo, y la cantidad de recursos consumidos sea menor. Lamentablemente para algunos, afortunadamente para otros, hay que sacrificar la interfaz gráfica de Matlab, lo que se hace de la siguiente manera:

./matlab -nodesktop

Si se está en Linux. Para el caso de Windows, debería ser igual, pero siendo sincero no lo he probado. Quien lo haya hecho lo puede comentar.

De esta manera, la consola de Matlab se abrirá en la línea de comandos de Windows o bien en el terminal de Linux. Quizás van se extrañarán algunas cosas como el workspace, pero pienso que vale la pena, sobre todo si se trata de equipos limitados en características.


Abrazo!

martes, 3 de enero de 2012

[Tip + How to] Extraer filas y columnas de matrices

A veces se hace sumamente necesario extraer filas o columnas completas de matrices, sobre todo si el objetivo es escribir alguna pieza de software que desarrolle alguna tarea iterativa, pero de tal modo que no dependa de ciclos. Matlab, por ejemplo, dispone de operadores especiales (":") que permiten extraer filas y columnas completas de vectores bidimensionales.

Lamentablemente, en la TI-89/V200 no existen tales operadores... Sin embargo, de todas maneras existe una manera de extraer filas o columnas de una matriz sin la necesidad de utilizar el comando submat. Manos a la obra: Supongamos que la siguiente matriz es la matriz a la que le extraeremos las filas o columnas y está almacenada en la variable "a" de acuerdo al código:


[1,2,3;5,6,1;0,1;0]->a


Entonces, si queremos extraer la fila central, que corresponde al vector [5,6,1] se debe hacer lo siguiente:

[1,2,3;5,6,1;0,1;0][2]->a

Eso extrae la segunda o fila central. Ahora, para el caso de las columnas, lamentablemente se requiere de un paso adicional. Transposición. Manos a la obra: Supongamos de que de la misma matriz se desea extraer la columna 3, entonces:

(([1,2,3;5,6,1;0,1;0])T[3])T->a


Notar que T es el operador de transposición. Entonces, variando el coeficiente que acompaña a la matriz se pueden obtener filas y columnas completas.
De esta manera se pueden construir programas vectorizados mucho más rápidos y eficientes que no dependen de ciclos for o while.

Abrazo!

domingo, 1 de enero de 2012

No más Gtk-WARNING **: cannot open display: :0 !!!

Por años he tenido el mismo problema... Muchas veces intenté lanzar un programa con interfaz gráfica por medio de un usuario diferente, y sin embargo, el sistema devolvía un error que dice más o menos así:
Gtk-WARNING **: cannot open display: :0.0

Para solucionar el problema hay que hacer algo bien sencillo. Simplemente basta ejecutar la siguiente instrucción: xhost +

Como usuario normal y listo. El sistema devolverá el siguiente mensaje: access control disabled, clients can connect from any host


Con eso ya estamos... Nunca más el problema de no poder lanzar un programa gráfico a través de otro usuario.


Un abrazo

Links: