Inicio » Sin categoría (Página 2)

Archivos de la categoría: Sin categoría

Convertir de Latex a Microsoft Word

Es innegable que Latex permite generar documentos de una calidad impresa extraordinaria.

Sin embargo, la coyuntura puede obligar a que tengamos un documento realizado Latex y necesitemos, por ejemplo, una versión para Microsoft Word.

Como se me ha presentado este caso y, por principios, no me daba la gana pasarlo a mano, he visto que una buena solución es emplear la aplicación multiplataforma «latex2rtf». Esta aplicación y ha superado todas mis expectativas, siendo capaz de convertir referencias, imágenes, fórmulas, etc. Evidentemente la naturaleza de Latex hace que el resultado no sea el mismo.

Para los usuarios de Linux, el paquete viene en la mayoría de distribuciones, pero suele ser una versión anticuada. Lo mejor es bajarse el código fuente de latex2rtf de la página de sourceforge y compilarlo siguiendo las instrucciones.

Una vez compilado e instalado, basta hacer:

$ latex2rtf mi_archivo.tex

El resultado se depositará en mi_archivo.rtf , y será importante revisar los mensajes que indican el progreso de la conversión.

Puede que el documento Latex sea algo rebelde, por ejemplo, con algunas fórmulas. Tenemos opciones para mejorar el comportamiento y llegar al extremo de que, por ejemplo, todas las fórmulas se conviertan a bitmaps. En mi caso ha sido necesario manipular el documento original y hacer:

$ latex2rtf -f3 -i english -M12 -o Methodology.doc Methodology.tex

Para hacerse una idea, la siguiente imagen muestra un fragmento del original

 

Y la siguiente es el archivo resultante abierto con Microsoft Word 2010.

 

EDIT: Pasado un tiempo he visto otras opciones recomendables. Ver http://tug.org/utilities/texconv/textopc.html

 

Pongo un «float» y mi programa falla en el Cortex-M4

El viernes pasado hubo gente en el curso que probó a realizar operaciones en coma flotante y vio que el programa dejaba de funcionar.

Visto que algunos estáis pensando en hacer filtros, control vectorial, transformadas de Fourier, …, creemos que debéis saber a qué atenerse y sacar partido a las posibilidades de la unidad de coma flotante o FPU (la culpable del fallo).

El problema del otro día fué que el compilador estaba configurado para generar instrucciones máquina pero la FPU no estaba activa. En la siguiente imagen se muestra la opción de Keil que hay que tocar para cambiar esto.

Si hubiésemos desactivado la opción «Use FPU» no habríamos tenido problemas. En ese caso, las operaciones en coma flotante se harían por software, igual que con los Cortex-M3, PICs, 8051s y similares. Cuidado, que no todos los Cortex-M4 tienen FPU.

Nuestra es la decisión de activar o no la FPU. Para que sea fácil, se sugiere editar el archivo de configuración system_stm32f4xx.c y añadir a la función SystemInit() el siguiente fragmento de código (comprueba antes si ya están presentes estas líneas en este fichero)

  /* FPU settings ------------------------------------------------------------*/
  #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  #endif

Así, cualquiera que sea la configuración que se tenga en el compilador, el programa no fallará. Esto deberíamos tenerlo presente siempre que adaptemos programas del M3 o del M4 y añadamos «floats».

Si la intención es aprovechar la FPU, es muy importante informarse antes sobre sus características para sacarle partido, o lograremos todo lo contrario. Todos los fabricantes de M4F suelen tener  una nota de aplicación al respecto. Si se va a usar el STM32F4xx, se sugiere leer la nota de aplicación sobre el uso de la unidad de coma flotante.

 

STM32F4 Discovery and printf() redirection to debug viewer in Keil MDK-ARM

Objective

The ARM Cortex-M architecture includes a facility for sending/receiving user data through special debug ports. This facility is well suited for typical printf() debug practices, where a typical serial port is utiliced. In theses cases, the idea is to write in my program something like this,

#include <stdio.h>

void main (void) {
   printf("Hello, world!");
}

and use the «Debug (printf) viewer» option avaible in Keil MDK-ARM  (and other environments) to show a terminal where messages are received. See bellow

 

These are my notes in order to get this mechanism working on the STM32F4 Discovery kit using the Keil environment.

Some vocabulary.

ITM:

SWV: Serial Wire Viewer

 

St-Link/V2 upgrade and drivers

The STM32F4 Discovery includes a built-in St-link/v2 debug interface. According with its manual, the SWV facility is available in this interface and the hardware lines are propagated in the schematic of the Discovery kit.

Steps:

1 – Download drivers and utilities from the support page for St-Link/v2 for Windows Xp and 7

2 – Install drivers (?Uninstall previous driver from the control panel)

3- Upgrade St-Link/v2 interface of the discovery running the ST-LinkUpgrade.exe utility

 

 Configuring a Keil project

(But not working completly OK)

Assuming you have a working example for the previous debugger version. (Try to) follow these steps:

1 – Open your project and open the «target options» dialog

2 – Select the second «St-link debugger»

 

3 – Select «settings» and set options according to the next images.

 

(Here, be carefull with the speed of the core).

 

(This a trick for flashing the microcontroller)

 

 

Redirecting/retargeting printf() in my program

Create a C module that includes the following code and add it to your project

/**
   @file fputc_debug.c
   @brief Trying to redirect printf() to debug port
   @date 2012/06/25
*/

#include <stdio.h>
#include <stm32f4xx.h>

int fputc(int c, FILE *stream)
{
   return(ITM_SendChar(c);
}

And start playing!

To be solved!!!!

The problem now is that the code is not flashed when entering in debug mode. I follow these steps:

1 – Rebuild completly the project (to avoid that the systems assumes that the build has been done)

2 – Flash the microcontroller with the «load» button

3 – Start debugging

 

 

 

 

Tinta digital y el HP Elitebook 2730p

Introducción

Un verano más Pepe Benlloch me ha prestado un tablet PC.

Es una maravilla para revisar PFCs, jugar a la tinta digital, etc., y yo sigo, erre que erre, con probar software abierto en él.

Este año pretendo ir anotando la experiencia, así no tengo que empezar de nuevo cada vez.

 

Ubuntu Linux 12.04 LTS: la primera en la frente

El tablet va a ser una excusa perfecta para probar el último Ubuntu Linux 12.04 LTS Desktop 32 bits.

  • Instalación sin problemas …
  • «plaf» … la pantalla parpadea que no veas. Es un bug, y hay un chorro de problemas al respecto comentados en los foros.Primer apaño: activar repositorio «proposals» para que el siguiente kernel de Linux se instale, pues lleva la corrección en el driver drm/i915. Es la solución que me ha parecido más fácil.
  • No me acostumbro a Unity, y tampoco con Gnome 3. Volvemos al clásico Gnome con «apt-get install gnome-shell».
  • No encuentro el open-ssh en el centro de software. Paso de complicarme e instalo «synaptics» y a correr. Funcionando.
  • Botones de ventana en la izquierda, los voy a cambiar a la derecha … «gconf-editor» ¡puñeta!¡no está! . Instalamos «ubuntu-tweak» y arreglamos eso al nuevo estilo
    • add-apt-repository ppa:tualatrix/ppa
      apt-get update
      apt-get install ubuntu-tweak

Toma de notas manuscritas y anotado de PDFs

Xournal

Tras probar varios «anotadores de pdf», me he quedado con Xournal. Xournal, además de ser abierto, permite una suave toma de notas con el lápiz y la posibilidad añadida de anotar PDFs.

No es un anotador verdadero de PDFs. Simplemente crea capas extra separadas del pdf que se pueden exportar de nuevo a una imagen PDF. Ahí va una captura de pantalla.

Otro motivo por el que lo uso es que también funciona en el Nokia N900, así que puedo hacer revisiones de urgencia en el móvil o tomar notas.

Pros: Multiplataforma (Linux y Windows). Hecho en C.

Otras opciones

Las siguientes opciones no las he probado

Jarnal: Hecho en java (multiplataforma total). Permite anotar PDFs y muchas cosas más. El primero que inspira a los demás.

Gournal:  Hecho en perl. Para Linux.

NoteLab: Hecho en java. Exporta a distintos formatos de imagen.

Descartados

 

Teclados virtuales

Onboard

Es una pena que el tablet no tenga el teclado físico separado de la pantalla. Un teclado virtual ayuda bastante a introducir textos cortos, así que se ha instalado Onboard para este menester. Onboard es muy flexible y permite adaptarse a casi cualquier gusto.

Reconocimiento de escritura  manuscrita

En esto sí que parece andar cojo Linux.

Cellwriter

Uno de los reconocedores más populares de Linux parece ser Cellwriter. Esta aplicación permite el reconocimiento de caracteres que se van introduciendo en celdillas. Para usarlo es necesario entrenarlo previamente para que se acostumbre a la manera particular de introducir caracteres de cada uno.

Otras opciones

Ink2text: un invento para conseguir que el reconocedor de Windows se aproveche desde Linux.

Materiales a revisar

Reconocimiento de escritura manual y OCR

xstroke

ocropus