LATEX BIBTEX: JabRef

Hay una aplicación muy buena para gestionar las bases de datos bibliográficas la cual se llama
JabRef.

Características:

  • La aplicación está hecha en java.
  • No da problemas con el juego de caracteres, como pasa en kbibtex
  • Es muy cómodo rellenar las entradas y se puede integrar con kile.
  • Permite copiar y pegar cite en documentos latex.

Instalación:
sudo aptitude install jabref

MULTIPROCESO PERL FORK

1) INTRODUCCIÓN.
Muchas veces realizamos acciones que pueden hacerse en paralelo,
por ejemplo generar 6 tomos de un libro en latex. Cada tomo puede generarse
de forma independiente.

El objetivo es que si se tienen 4 procesadores cada procesador genere
un libro, y cuando termine siga generando otro libros.

La conclusión es que tarda 1/3 parte menos de tiempo en realizar
las tareas.

Esta basado en el programa jigl, que genera albunes de fotos, a una
velocidad de vértigo) el cual consulte las fuentes
para poder hacer mi propio script.

2) SCRIPT EN PERL

#!/usr/bin/perl -w
# Por Paco Aldarias
# Fecha: 12/12/2010
# Pasado en: jigl
# Script que genera tomos en paralelo

use Cwd;

my $MP_MAX_JOBS = mp_detect_cpu();
print «Número procesadores: $MP_MAX_JOBS»;
my $startDir = cwd;

&main();

###########################################################
sub mp_detect_cpu
{
my $r = `grep processor /proc/cpuinfo |wc -l`;
mp_debug(«Detected $r cpu.n»);
return $r;
}
###########################################################
sub mp_debug($)
{
print «mp[$$]: «. $_[0];
}
###########################################################
sub mp_wait_jobs($)
{
my($n) = @_;

while(1){
my $running = scalar(keys %mp_jobs);
mp_debug(«$running job(s) currently running.n»);

last if $running <= $n; mp_debug(«Waiting…n»); # Wait for a job to finish. my $c = wait(); my $rc = $?; mp_debug(«-> $c ($rc)n»);

# Sanity checks.
if($c < 0){
print «mp: wait() returned $c. Strange!n»;
}

if(!exists $mp_jobs{$c}){
print «mp: wait() returned $c, but job is not»
.» in mp_jobs. Strange!n»;
}

# Check the return code and die if non-zero.
die $mp_jobs{$c} if $rc;

# Forget job.
delete $mp_jobs{$c};
}
}
###########################################################
sub mp_wait_for_free_slot()
{
mp_wait_jobs($MP_MAX_JOBS – 1);
}
###########################################################
sub mp_wait_for_all_jobs()
{
mp_wait_jobs(0);
}
###########################################################
sub mp_launch($$)
{
my($cmd, $die_msg) = @_;

# Wait for a free slot first.
mp_wait_for_free_slot();

# Ok, fork.
my $r = fork();

if(!$r){
# We are in the child.
# Do the job.
mp_debug(«Running $cmd n»);
exec($cmd);

} else {
# We are in the father.
# Remember the child as well as the die msg.
mp_debug(«Launched $r.n»);
$mp_jobs{$r} = $die_msg;
}
}

######################################################3
sub main {

my @carpetas=`find . -type d -name «tic1tomo?-*» | cut -d «/» -f2`;

foreach $c (@carpetas) {

#Eliminamos saltos de linea.
$c =~ s/n//g;
$c =~ s/ //g;

my @f = split(«-«,$c);

print «Carpeta: $c Fichero: $f[0]n»;

chdir $startDir;
chdir «./».$c;
$cmd = «pdflatex -interaction nonstopmode /home/paco/Dropbox/ceed1011/apuntes/».$c.»/».$f[0].».tex -output-directory /home/paco/Dropbox/ceed1011/apuntes/».$c.»/»;
print «Comando: $c»;
$dieMsg = «Mensaje Errorn»;
mp_launch($cmd, $dieMsg);

}

mp_wait_for_all_jobs();

}
######################################3

LATEX KILE CORRECTOR ORTOGRAFICO AUTOMATICO

 Menos faltas de ortografía con kile.

Recientemente he podido activar la corrección ortográfica mientras se escribe. Es decir, mientras escribimos va revisando la ortografía y subrayando en rojo posibles incorrecciones. La versión de kile es la 1:2.1.0 

Instalar: sudo aptitude install kile aspell-es wspanish myspell-es ispanish dictionaries-common 

Configurar kile. Ir a: Setting – Configure kile – Editor – Editing – Spellcheck- Activar la opción: Automatic spell checking enable by default.

AUMENTAR LA CAPACIDAD DE LOS DOCUMENTOS

Latex genera documentos pdf, pero son de una tamaño limitado
que podemos aumentar.

Por otro lado las bibliografica vienen separados los autores
con la palabra and, podemos cambiarla por y.

Este script realiza esos cambios:

cat latex.sh

#!/bin/bash
# Por Paco Aldarias
# 31.12.09

function tamanyo
{

f=»/usr/share/texmf/web2c/texmf.cnf»

echo «Fichero $f Sin cambios»
cat $f | grep «save_size»

sed -e «s/save_size = 5000/save_size = 50000/g» $f > temp.cnf
mv temp.cnf $f

echo «Fichero $f Con cambios»
cat $f | grep «save_size»
}

function bib
{
f1=»/usr/share/texmf-texlive/bibtex/bst/base/alpha.bst»
f2=»/usr/share/texmf-texlive/bibtex/bst/base/alpha-paco.bst»
sed -e «s/ and » * t */ y » * t */g» $f1 > $f2
cat $f2 | grep » y » * t *»
mktexlsr
}

tamanyo
bib

Instalar latex en linux ubuntu 8.1

sudo aptitude install kile kile-i18n-es texlive-lang-spanish texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-bibtex-extra okular ispell ispanish

Siendo:
kile: Editor compilador
texlive: compilador de fichero .tex

Otra opción:
sudo aptitude install texlive-full