miércoles, 14 de febrero de 2018

Contar el total de repeticiones de una palabra en archivo | Programas en C



Ya había pensado en compartir los programas en C y demás programas en otros lenguajes de programación que me dejaban en la facultad, pero, por alguna razón no lo había hecho.

Les comparto ahora un programa en C, que cuenta el total de repeticiones de una palabra dentro de un archivo de texto.

Aquí el código:

#include <stdio.h> #include <string.h> #include <ctype.h> #define MAXCHAR 1000 int main() { FILE *fp; char cad_arch[MAXCHAR]; char* nom_archivo = "prueba.txt"; char cad_buscar[30], palabra_extraida[20]; int i = 0, j = 0, contador = 0; printf("Ingresa la palabra a buscar: "); scanf("%s", cad_buscar); fp = fopen(nom_archivo, "r"); if (fp == NULL){ printf("No se puede abrir el archivo %s", nom_archivo); return 1; } printf("\n\t\t--- Contenido del archivo ---\n\n"); while (fgets(cad_arch, MAXCHAR, fp) != NULL){ printf("%s", cad_arch); for (i = 0; i < strlen(cad_arch); i++){ while (i < strlen(cad_arch) && !isspace(cad_arch[i]) && isalnum(cad_arch[i])){ palabra_extraida[j++] = cad_arch[i++]; } if(j != 0){ palabra_extraida[j] = '\0'; if (strcmp(palabra_extraida, cad_buscar) == 0){ contador++; } j = 0; } } } printf("\nTotal de coincidencias: %d\n", contador); fclose(fp); return 0; }

Se usan funciones básicas de las librerías para cadenas y comparaciones.

El archivo puede contener este tipo de palabras y oraciones:

.hola hola .hola hola .hola hola -hola hola holis, adios, no, lo, hola hola
1, 1, 2, 3 hola
.hola h
fin hola
-hola,
-hola,
hol
holamundo
-hola, mundo

El archivo de ejemplo, se busca la palabra hola, y es posible contarla incluso, si hay comas, puntos, guiones o algún otro caracter especial.

La imagen es un ejemplo de ejecución.

viernes, 2 de febrero de 2018

Glosarios, acrónimos y referencias con TexStudio LaTeX

Imagen 1


TexStudio

TeXstudio ha sido creado por Texmaker en 2009, debido al proceso de desarrollo no abierto de Texmaker y a las diferentes filosofías en cuanto a la configurabilidad y características. Originalmente se llamaba TeXmakerX porque comenzó como un pequeño juego de extensiones para Texmaker con la esperanza de que algún día se integraran en Texmaker. Mientras que en algunos puntos usted todavía puede ver que TeXstudio se origina de Texmaker, los cambios significativos en las características y la base de código lo han hecho a un programa completamente independiente.
TeXstudio se ejecuta en Windows, Unix/Linux, BSD y Mac OS X. Está licenciado bajo la GPL v2. Al ser de código abierto, usted es libre de utilizarlo y modificarlo a su gusto.


Es mi editor de documentos LaTeX actualmente, es completo, fácil de utilizar, y viene incluido en los repositorios de mi distro Favorita, es decir, en Fedora.

El documento que les compartiré ahora, es sobre cómo compilar glosario, acrónimos y referencias en un documento LaTeX utilizando TexStudio.

1.- Configurar TexStudio

Lo primero es configurar TexStudio para que se compilen todas las características en un sólo clic.

Ir a menú <Opciones><Configurar TexStudio>

Imagen 2

Clic en la opción <Mostrar opciones avanzadas>

Seleccionar la opción <Compilar> y clic en el botón de <Configuración>


Imagen 3


Agregar las configuraciones como se ven en la imagen de arriba.

Si desean compilar el archivo de ejemplo que les dejaré aquí, necesitan instalar minted, aquí cómo instalarlo en Fedora y Windows.

Además, es necesario agregar la opción --shell-escape en la compilación de comandos en <Opciones> <Configurar TexStudio> en la opción <Comandos>

Imagen 4


2.- Paquetes básicos para glosario, acrónimos y referencias

Los paquetes necesarios son los siguientes:

\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\languageshorthands{spanish}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{fancyhdr}
\usepackage{apacite}
\usepackage[acronym]{glossaries}


\makeglossaries

Configuración de glosarios, acrónimos y referencias. En este ejemplo, los datos se incluyen por separado y en el documento aparecen en hojas independientes.

\glossarystyle{altlistgroup}
% se incluye el archivo de definición de acrónimos
\include{acronimos}
% se incluye el archivo de definición de glsario
\include{glosario}

Sin, más aquí les dejo el archivo descargable con el ejemplo completo, y sin necesidad de paquetes adicionales complejos. Todo lo que necesitan es Texlive, de preferencia completo.



Aquí les dejo el PDF completo del tutorial, del primer archivo descargable, contiene imágenes, los archivos .tex etc.





Y eso sería todo, espero que sea de utilidad.