lunes, 10 de abril de 2023

Mejorar la calidad de pdf en latex

 Cuándo se trabaja con el latex para crear libros es muy poca la resolución del archivo PDF resultante.
Una de las cosas que podemos hacer es ponerle letra san serif para tener un poco de más cuerpo.

Al principio del documento ponemos como pongo a continuacion puesto en letra negrilla el comando \sffamily:


\begin{document}
\sffamily
\maketitle   
\tableofcontents

También hacemos conversiones con comandos y pongo la forma de hacerlo ahora para que  tenga mejor resolución el archivo, abrimos una terminal y lo hacemos en línea de comandos.
Compilará el archivo tex que creamos en latex con algún editor del mismo tal como TexStudio o texMaker a un archivo punto dvi.

latex archivo.tex

Luego convertimos el archivo .dvi a un postscript que será un .ps

dvips archivo.dvi

Luego convertimos ese .ps a archivo PDF.

ps2pdf archivo.ps

o

ps2pdfwr archivo.ps

Nos dará el archivo resultante PDF un poco mejor.

Luego descubrí qué podemos hacer una mejor calidad con el archivo dvi de una vez a PDF de la siguiente forma:

dvipdfm -z 0 archivo.dvi

Allí podemos ver que hay una opción -z 0 significa que no haga compresión los números son del 0 al 9 pero con cero no la hace.

jueves, 29 de septiembre de 2022

Solucion error 4254 en LaTeX

 Habia instalado lubuntu venia de SolusOs donde texStudio funcionaba bien, aquí instalé TexMaker pero daba ese error:

babel error 4254: unknown option 'spanish' for package 'babel'


 en el caso de ubuntu para solucionar esto que es debido a que no esta instalado el paquete de idioma español, debemos instalar el siguiente paquete desde la terminal


sudo apt-get install texlive-lang-spanish

 

también lo puedes instalar del modo grafico y así ya funciona el idioma español

martes, 6 de septiembre de 2022

Eliminar kernel en fedora

 Algunas veces necesitamos eliminar un kernel en fedora para que desaparezca de una vez debemos hacerlo así como usuario root:

dnf remove kernel-core-5.18.17-100.fc35

de lo contrario se quedará una copia, pero por lo general fedora elimina los kernels antiguos a diferencia de otras distros y solo deja 3 en total.

Para listar los kernel que tenemos hacemos lo siguiente:


dnf list installed kernel

 

nos saldra un listado como el siguiente:

Paquetes instalados
kernel.x86_64                     5.18.17-100.fc35                      @updates
kernel.x86_64                     5.18.18-100.fc35                      @updates
kernel.x86_64                     5.18.19-100.fc35                      @updates

asi podremos saber cual es el que queremos quitar si se diera el caso.

martes, 26 de julio de 2022

De texto a Voz

Necesitaba algo que me leyera las páginas web y encontré “Lector de Selección”
que pasa el texto a voz solo vamos a extensiones y en la tienda de extensiones  
ponemos en el cuadro de búsqueda “de texto a voz” y nos dará varias opciones
pero la que funciona bien es “Lector de selección”.

Cuando la instalas solo hay que configurar el idioma pero eso es sencillo, lo probé en varios navegadores pero solo funciona en Google Chrome, hay
para otros navegadores pero no son buenos.

 

extension Lector de Selección

 

jueves, 23 de diciembre de 2021

Cambiar fondo de la celda con el foco en JTable

 

Cómo al seleccionar una fila en una jtable quería que la celda que tuviera el 

foco fuera de un color diferente para que la persona supiera en dónde estaba. 

Entonces la mejor forma es por medio DefaultTableCellRenderer.

Debemos crear una clase que herede de DefaultTableCellRenderer como sigue:

 

en este caso le puse una letra c es solo para poder reusarla en otra jtable

pero se puede quitar. 

 

/*
* Clase para poner la celda que se esta editando en color blanco u otro
*/
package vista;

import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
*
* @author miusuario
*/
public class ColorCeldaEditando extends DefaultTableCellRenderer {
char quePanelEditar;
Color colorDeCeldaAEditar;
public ColorCeldaEditando(char panelEditando){
//ponemos el panel editando para que ponga el color
if('c' == panelEditando){
colorDeCeldaAEditar = new Color(176,196,222);
}else{
colorDeCeldaAEditar = new Color(176,196,222);
}
}
@Override
public Component getTableCellRendererComponent(JTable table,

Object value, boolean Selected, boolean hasFocus, int row, int col){
 

        super.getTableCellRendererComponent(table, value, Selected, 

hasFocus, row, col);
 

        if(hasFocus){
setBackground(colorDeCeldaAEditar);
}
return this;
}

 

Luego para la llamada seria:

 

TablaClientes.setSelectionBackground(new Color(65,105,225));

//aqui creamos la clase que hereda de DefaultTableCellRenderer

ColorCeldaEditando ColoreaEnFoco;

//le mando una c solo para decir que es la tabla de clientes y escoger alumnos etc.
ColoreaEnFoco = new ColorCeldaEditando('c');

/*ahora colocamos la clase en la TablaClientes mandandole un Object.class y la

 recien creada clase que le cambiará el color si tiene el foco */
TablaClientes.setDefaultRenderer(Object.class,ColoreaEnFoco); 

 

¡y con eso queda lista!. 

martes, 21 de diciembre de 2021

Base de datos resta un día

 

Estoy trabajando con Java 11 e hibernate 5.4.7.Final pero cuando recuperaba 

los datos de la base me restaba un día y no sabía que pasaba.

Investigue y el error era por la configuración del país, revise la configuración 

del gestor mariaDB pero estaba correcto y no funcionó, y a hibernate no se le 

pudo cambiar, así que tuve que abrir la base de datos sin hibernate 

poniéndole la zona horaria del país directamente y allí funcionó 

lo hice cómo está continuación:

 

public Connection conexionSinHibernate() {


final String url = "jdbc:mysql://localhost:3306/nombreDeLaBase"+
"?useUnicode=true&useJDBCCompliantTimezoneShift=true"+
"&useLegacyDatetimeCode=false&serverTimezone=America/Guatemala";


final String driver = "com.mysql.jdbc.Driver";


final String usuario = "usuarioDeBaseDeDatos";


final String clave = "miclave";


Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, usuario, clave);
System.out.println("Conexion Exitosa");
} catch (ClassNotFoundException ex) {
System.out.println("Error al abrir la conexion");
} catch (SQLException ex) {
System.out.println("Conexion fallida por SQL");
}
return conn;

jueves, 11 de noviembre de 2021

Arrancar Fedora 35 desde grub2

 Si necesitamos arrancar la imagen iso de fedora 35 en este caro fedora mate pero puede ser con otro escritorio, directamente desde el cargador de arranque Grub2 para no usar memoria USB o DVD se hace de la siguiente manera:

en la consola cargamos el archivos de configuración de grub2 como administrador

nano /etc/grub.d/40_custom

nos aparecerá como lo siguiente y le agregamos desde la fila donde dice

menuentry

#!/usr/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Fedora 35 Mate Compiz" {
#no dejar ningun espacio en blanco en esta linea
set isoFileFedora35="/homar/Fedora-MATE_Compiz-Live-x86_64-35-1.2.iso"

loopback loop (hd1,5)$isoFileFedora35

linux (loop)/isolinux/vmlinuz iso-scan/filename=$isoFileFedora35 initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


initrd (loop)/isolinux/initrd.img

}

menuentry lo que está entre comillas es el título que deseamos ponerle.

con set ponemos en la variable isoFileFedora35 que creamos nosotros la ruta y el archivo iso no debemos dejar ningún espacio en blanco.

(hd1,5) ponemos el disco duro en mi caso es el segundo disco duro hd1 si fuera el primero es hd0 y el 5 es el número de la partición podemos averiguarla con el comando

lsblk

me a funcionado ese directorio siendo el primero en la raíz


/isolinux/vmlinuz es el directorio dentro de la imagen iso donde esta el kernel vmlinuz


initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet para poner esto debemos entrar en el directorio que esta dentro de la imagen iso

/isolinux/

allí habrá un archivo llamado isolinux.cfg


donde nos aparecerá un párrafo como el siguiente:

label linux

  menu label ^Start Fedora-Mate-Live 35

  kernel vmlinuz

  append initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


copiamos lo que esta después del append que lo puse en negrilla y lo pegamos después de lo siguiente:

iso-scan/filename=$isoFileFedora35

quedando como aparece en el archivo que seria así:

linux (loop)/isolinux/vmlinuz iso-scan/filename=$isoFileFedora35 

initrd=initrd.img root=live:CDLABEL=Fedora-MATE-Live-35-1-2  rd.live.image quiet


recordemos actualizar el grub2 y ya nos aparecerá en el menú de arranque de grub2 y ¡listo!