reportestrimestrales.Vitales.java Source code

Java tutorial

Introduction

Here is the source code for reportestrimestrales.Vitales.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package reportestrimestrales;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.file.Path;
import java.text.Collator;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.apache.commons.io.FileUtils;
import org.rosuda.JRI.REXP;
import org.rosuda.JRI.RList;
import org.rosuda.JRI.RVector;

/**
 *
 * @author INE
 */
public class Vitales extends Documento {
    private List capitulos;
    private List introCapitulos;
    private String formatoSerie;
    Collator comparador = Collator.getInstance();

    public SesionR getRr() {
        return rr;
    }

    private SesionR rr;
    private String rutaCSV;

    public Vitales(String titulo, String trimestre, String pYear, String rutaCSV) {
        super(titulo, trimestre, pYear);
        capitulos = new ArrayList();
        introCapitulos = new ArrayList();
        this.rutaCSV = rutaCSV;
        rr = new SesionR();
        comparador.setStrength(Collator.PRIMARY);
        formatoSerie = "Serie histrica " + (int) (Double.parseDouble(getAnioPublicacion()) - 2) + "-"
                + getAnioPublicacion();

        cargarCSV(rutaCSV);
        setCapitulos();
        setIntroCapitulos();
    }

    protected void setCapitulos() {
        capitulos.add("Nacimientos");
        capitulos.add("Defunciones");
        capitulos.add("Defunciones Fetales");
        capitulos.add("Matrimonios");
        capitulos.add("Divorcios");
        capitulos.add("CUADROS ESTAD?STICOS");
        capitulos.add("TABLAS DE VARIACIONES");
    }

    protected void setIntroCapitulos() {
        introCapitulos.add("Es la expulsin completa del cuerpo de la madre, "
                + "independiente de la duracin del embarazo, de un producto de "
                + "la concepcin que, despus de dicha separacin, respire o d "
                + "cualquier otra seal de vida, como latidos del corazn, "
                + "pulsaciones del cordn umbilical o movimientos efectivos de "
                + "los msculos de contraccin voluntaria.");
        introCapitulos.add("La estadstica continua de defunciones permite "
                + "identificar y diferenciar la frecuencia y las caractersticas"
                + " de la mortalidad segn el rea donde habita, sexo, edad, grupo "
                + "tnico  y la causa bsica de defuncin, datos necesarios para "
                + "la elaboracin de programas de salud pblica para el control de "
                + "enfermedades infecciosas, epidemiolgicas, enfermedades crnicas "
                + "no transmisibles, salud alimentaria y nutricional, inmunizaciones, "
                + "salud mental, salud reproductiva, prevencin de accidentes y otros.");
        introCapitulos.add("Estas estadsticas permiten conocer el entorno en que "
                + "se da este tipo de muertes (situacin social y econmica de "
                + "los padres, tipo de asistencia, estado de salud de la madre y "
                + "del feto, etc.), as como la frecuencia con la que ocurren.");
        introCapitulos.add("La estadstica continua de matrimonios registra la "
                + "clase de unin, edad, regin de residencia de las parejas que "
                + "forman nuevas familias, informacin que permite identificar las "
                + "caractersticas demogrficas y socioeconmicas de la poblacin involucrada, "
                + "as como la relacin con otras variables como las demandas de "
                + "necesidades bsicas como vivienda, servicios de salud,"
                + " planificacin familiar, entre otros.");
        introCapitulos.add("La estadstica continua de divorcios tiene como objetivo presentar"
                + " la frecuencia con la que ocurren las disoluciones matrimoniales, "
                + "factores que influyen en estos hechos y, como consecuencia, contribuir "
                + "a la elaboracin de planes de apoyo a menores de edad, hijos de padres divorciados, "
                + "programas de orientacin y fomento de la paternidad responsable.");
    }

    protected void cargarCSV(String ruta) {
        if (!rr.get().waitForR()) {
            System.err.println("No se pudo establecer  conexin con R ");
        } else {
            rr.get().eval("library(funcionesINE)");
            REXP listadoCSV = rr.get().eval("vitales <- cargaMasiva('" + ruta + "')");
            REXP nombres = rr.get().eval("names(vitales)");
            System.out.println(listadoCSV);
            System.out.println(nombres);
        }
    }

    protected void capitulo1() {
        //CARGA DE SESION DE R

        // ALGUNAS VARIABLES UTILES
        //INTRODUCCION
        escribirCapitulo(capitulos.get(0).toString(), capitulos.get(0).toString(), " ",
                introCapitulos.get(0).toString());

        //PRIMERA HOJA
        section1_01();

        //SEGUNDA HOJA
        section1_02();

        //TERCERA HOJA
        section1_03();

        //CUARTA HOJA

        section1_04();

        //QUINTA HOJA

        section1_05();

    }

    protected void section1_01() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("1_01", "Nacimientos",
                "El nmero de nacimientos es una de  las variable en el "
                        + "estudio de los fenmenos demogrficos que, utilizado "
                        + "conjuntamente con la estadstica de defunciones y matrimonios"
                        + ", ayuda a determinar la estructura y dinmica de poblacin, "
                        + "con la incorporacin de individuos a la poblacin.",
                "Durante el " + getFormatoTrimestre() + " se registraron "
                        + getDf().format(rr.get().eval("vitales$'1_01'$y[9]").asDouble())
                        + " nacimientos, lo que representa  "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'1_01'), 'utf8')").asString()
                        + " el mismo perodo " + "del ao anterior y "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'1_01', primeraPos = 8), 'utf8')")
                                .asString()
                        + " el trimestre anterior. ",
                "Nacimientos por trimestre", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_01.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'1_02'[ordenarNiveles(vitales$'1_02',T),]");
        String columna2 = columna("1_02", "Nacimientos por departamento",
                "La cantidad " + "de nacimientos por departamento permite identificar la dinmica "
                        + "poblacional a nivel interno en el pas.",
                "La grfica indica que la mayora" + " de madres residen en el  " + "departamento de  "
                        + rr.get().eval("temp$x[1]").asString() + " con un "
                        + formatearNumero(rr.get().eval("temp$y[1]/vitales$'1_01'$y[9] *100").asDouble()) + "\\%,"
                        + " seguido de " + rr.get().eval("temp$x[2]").asString() + " con el "
                        + formatearNumero(rr.get().eval("temp$y[2]/vitales$'1_01'$y[9] *100").asDouble()) + "\\% y "
                        + rr.get().eval("temp$x[3]").asString() + " con "
                        + formatearNumero(rr.get().eval("temp$y[3]/vitales$'1_01'$y[9] * 100").asDouble()) + "\\%."
                        + " Los departamentos con menor proporcin son "
                        + rr.get().eval("temp$x[length(temp$x)]").asString() + " con "
                        + formatearNumero(
                                rr.get().eval("temp$y[length(temp$x)]/vitales$'1_01'$y[9] *100").asDouble())
                        + "\\% y " + rr.get().eval("temp$x[length(temp$x)-1]").asString() + " con "
                        + formatearNumero(
                                rr.get().eval("temp$y[length(temp$x)-1]/vitales$'1_01'$y[9] *100").asDouble())
                        + "\\%." + " ",
                "Nmero de nacimientos por departamento de residencia de la madre", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_02.tex}  " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section1_02() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        rr.get().eval("temp <- vitales$'1_03'[ordenarNiveles(vitales$'1_03',T),]");
        String columna1 = columna("1_03", "Nacimientos por edad de la madre",
                "La desagregacin por grupos de edad de la madre, permite "
                        + "identificar el tipo de fecundidad prevaleciente; "
                        + "la fecundidad es temprana si la mayora de nacimientos "
                        + "ocurre entre los 20 y 24 aos, tarda si es en el grupo "
                        + "de 25 a 29, y dilatada si no hay diferencia " + "significativa entre los dos grupos.",
                "La grfica " + "de distribucin de nacimientos por grupo de edad de la madre,"
                        + " muestra que el " + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los"
                        + " casos, la madre estaba comprendida entre las edades de "
                        + rr.get().eval("temp$x[1]").asString() + " aos, "
                        + "seguido del grupo de poblacin de madres de " + rr.get().eval("temp$x[2]").asString()
                        + " aos " + " con un " + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\%."
                        + " En el " + getFormatoTrimestre() + " se registraron "
                        + ((rr.get().eval("vitales$'1_03'$y[2]").asDouble() > rr.get().eval("vitales$'1_03'$y[5]")
                                .asDouble()) ? " ms " : " menos ")
                        + " nacimientos en mujeres de 15 a 19 aos " + "que en mujeres de 30 a 34 aos.",
                "Distribucin de nacimientos " + "por grupo de edad de la madre",
                corregirTrimestre(getTrimestre()) + " trimestre, ao " + getAnioPublicacion(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_03.tex} \\end{tikzpicture}",
                "INE, " + "con datos del RENAP", "");

        String columna2 = columna("1_04", "Nacimientos en madres menores de veinte aos",
                "La desagregacin de los nacimientos de las madres adolescentes\\footnote{Comprendidas entre los 10 y 19 aos}"
                        + " por edad " + "simple muestra que, durante  el " + getFormatoTrimestre() + ", "
                        + getDf().format(rr.get().eval("sum(vitales$'1_04'$y[1:5])").asDouble())
                        + " fueron  madres en la etapa de adolescencia temprana\\footnote{Adolescencia temprana: entre los"
                        + " 10 y los 14 aos.}" + " y "
                        + getDf().format(rr.get().eval("sum(vitales$'1_04'$y[6:10])").asDouble())
                        + " fueron  madres en la etapa"
                        + " de adolescencia tarda\\footnote{Adolescencia tarda: entre los 15 y 19 aos}.",
                "Los nacimientos de madres adolecentes se consideran"
                        + " de alto riesgo y conlleva mayores complicaciones "
                        + "que los que se presentan en madres cuyas edades oscilan entre " + "los 20 y 40 aos.",
                "Nmero de nacimientos en madres menores de " + "20 aos por edad simple",
                corregirTrimestre(getTrimestre()) + " trimestre, ao " + getAnioPublicacion(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_04.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section1_03() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        rr.get().eval("temp <- vitales$'1_05'[ordenarNiveles(vitales$'1_05',T),]");
        String columna1 = columna("1_05", "Nacimientos por pueblo de pertenecia de la madre",
                "En la distribucin de nacimientos registrados en el " + getFormatoTrimestre() + ", el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% "
                        + " de las madres pertenecen al pueblo " + rr.get().eval("temp$x[1]").asString() + " y el  "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% del pueblo "
                        + rr.get().eval("temp$x[2]").asString()
                        + " . Se desconoce el pueblo de pertenencia de la madre en "
                        + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\% de los casos.",
                "", "Distribucin porcentual de nacimientos" + " por pueblo de pertenencia de la madre ",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_05.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'1_06'[ordenarNiveles(vitales$'1_06',T),]");
        String columna2 = columna("1_06", "Nacimientos segn estado civil de la madre",
                "El estado conyugal de las madres es una desagregacin utilizada "
                        + "para realizar anlisis indirectos del comportamiento reproductivo"
                        + " de una poblacin.  En el caso de Guatemala se cuenta con la variable"
                        + " estado civil, que permite desagregaciones de casadas, solteras y "
                        + "uniones formales, no as las madres que estn separadas, "
                        + "divorciadas o en unin libre.",
                "La distribucin de nacimientos" + " por estado civil de la madre, muestra que el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% corresponde a " + "madres "
                        + rr.get().eval("temp$x[1]").asString().toLowerCase() + "s, "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% a madres "
                        + rr.get().eval("temp$x[2]").asString().toLowerCase() + "s, y "
                        + getDf().format(rr.get().eval("temp$y[3]").asDouble()) + "\\% a madres "
                        + rr.get().eval("temp$x[3]").asString().toLowerCase() + "s.",
                "Distribucin porcentual " + "de nacimientos por estado civil de la madre",
                corregirTrimestre(getTrimestre()) + " trimestre, ao " + getAnioPublicacion(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_06.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section1_04() {
        compilar(rr, getRuta() + "/1_07.tex", "F");
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 4%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String genero1 = "";
        String genero2 = "";
        Double masculinidad = 0.0;
        if (rr.get().eval("vitales$'1_07'$x[1]").asString().equalsIgnoreCase("hombre")) {
            genero1 = "hombres";
            genero2 = "mujeres";
            masculinidad = rr.get().eval("vitales$'1_07'$y[1]").asDouble()
                    / rr.get().eval("vitales$'1_07'$y[2]").asDouble() * 100;
        } else if (rr.get().eval("vitales$'1_07'$x[1]").asString().equalsIgnoreCase("mujer")) {
            genero1 = "mujeres";
            genero2 = "hombres";
            masculinidad = rr.get().eval("vitales$'1_07'$y[2]").asDouble()
                    / rr.get().eval("vitales$'1_07'$y[1]").asDouble() * 100;
        } else {
            genero1 = rr.get().eval("vitales$'1_07'$x[1]").asString();
            genero2 = rr.get().eval("vitales$'1_07'$x[2]").asString();
            masculinidad = rr.get().eval("vitales$'1_07'$y[1]").asDouble()
                    / rr.get().eval("vitales$'1_07'$y[2]").asDouble() * 100;
        }
        String columna1 = columna("1_07", "Nacimientos segn sexo del recin nacido",
                "El anlisis de los nacimientos segn sexo permite determinar "
                        + "el ndice de masculinidad\\footnote{El ndice de "
                        + "masculinidad es el nmero  de hombres por cada cien "
                        + "mujeres en la poblacin. Se calcula en cuatro etapas:  "
                        + "al nacer, poblacin menor de 15 aos, poblacin entre 15 y "
                        + "65, y poblacin mayor a 65 aos.} al nacer, este permite\n"
                        + "identificar cambios en la distribucin por sexos "
                        + "de la poblacin y facilita la lectura de gnero de"
                        + " eventos relacionados con la salud y otros de naturaleza social y econmica.",
                "En el " + getFormatoTrimestre() + ", el  "
                        + getDf().format(rr.get().eval("vitales$'1_07'$y[1]").asDouble())
                        + "\\% de los nacidos fueron " + genero1 + " mientras que el "
                        + getDf().format(rr.get().eval("vitales$'1_07'$y[2]").asDouble()) + "\\% fueron " + genero2
                        + ", adems el ndice de masculinidad registrado fue de " + getDf().format(masculinidad)
                        + ".",
                "Distribucin " + "porcentual de nacimientos por sexo del recin nacido",
                corregirTrimestre(getTrimestre()) + " trimestre, ao " + getAnioPublicacion(),
                "\\XeTeXpdffile \"1_07.pdf\" ", "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'1_08'[vitales$'1_08'$x != 'Peso adecuado',]");
        rr.get().eval("temp <- temp[temp$x != 'Ignorado',]");
        String columna2 = columna("1_08", "Nacimientos segn peso del recin nacido",
                "El peso\\footnote{" + "El peso se divide en cuatro categoras: " + "\\begin{itemize} \n "
                        + "\\item Adecuado: Se refiere a pesos  de 5.5 libras o ms. \n "
                        + "\\item Bajo: Comprende los pesos mayores a 3.3 libras pero menores a 5.5 libras. \n"
                        + "\\item  Muy bajo: Peso mayor a 2.2 libras y menor a 3.3. \n"
                        + "\\item Extremadamente bajo:  Comprende los pesos por debajo de las 2.2 libras. \n"
                        + "\\end{itemize} }"
                        + "es una variable usada para evaluar las probabilidades de supervivencia "
                        + " del recin nacido en sus primeros das de vida, as como para "
                        + "evaluar las condiciones de las madres en una poblacin.",
                "En el " + getFormatoTrimestre() + ", el "
                        + getDf().format(
                                rr.get().eval("vitales$'1_08'[vitales$'1_08' == 'Peso adecuado',]$y").asDouble())
                        + "\\% del total de nacimientos registraron un peso adecuado al nacer, mientras que en el  "
                        + getDf().format(rr.get().eval("sum(temp$y)").asDouble()) + "\\%"
                        + " de los casos los recin nacidos pesaron  menos de 5.5 libras.",
                "Distribucin porcentual de nacimientos por peso del recin nacido", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_08.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");
        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section1_05() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String cambio = ((rr.get().eval("vitales$'1_09'$y[9]").asDouble() > rr.get().eval("vitales$'1_09'$y[1]")
                .asDouble()) ? "aumentado" : "disminuido");
        System.out.println(cambio);
        String columna1 = columna("1_09", "Nacimientos con bajo peso al nacer",
                "Un bajo peso al nacer predispone al recin nacido a complicaciones "
                        + "de salud en los primeros das de vida.",
                "Se puede observar que en los ltimos dos aos, el porcentaje de nacimientos "
                        + "registrados con bajo peso al nacer, ha variado entre "
                        + getDf().format(rr.get().eval("vitales$'1_09'$y[1]").asDouble()) + "\\%  y "
                        + getDf().format(rr.get().eval("vitales$'1_09'$y[9]").asDouble()) + "\\%. A partir del "
                        + simboloToTrimestre(rr.get().eval("substr(vitales$'1_09'$x[1],1,2)").asString())
                        + " trimestre de " + Math.round((Double.parseDouble(getAnioPublicacion()) - 2))
                        + " el porcentaje ha  " + cambio + " en "
                        + getDf().format(rr.get().eval("vitales$'1_09'$y[9] - vitales$'1_09'$y[1]").asDouble())
                        + ((rr.get().eval("vitales$'1_09'$y[9] - vitales$'1_09'$y[1]").asDouble() == 1) ? " punto."
                                : " puntos."),
                "Porcentaje de nacimientos con bajo peso al nacer", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_09.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'1_10'[ordenarNiveles(vitales$'1_10'),]");
        String columna2 = columna("1_10", "Nacimientos segn asistencia recibida durante el parto",
                "Una adecuada atencin al momento del nacimiento garantiza la salud"
                        + " materna e infantil de una poblacin.",
                "Del total de nacimientos registrados durante " + getFormatoTrimestre() + ", el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos "
                        + asistencia(rr.get().eval("iconv(temp$x[1],'utf8')").asString()) + ", mientras que "
                        + "el " + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\%" + " "
                        + asistencia(rr.get().eval("iconv(temp$x[length(temp$x)], 'utf8')").asString()) + ".",
                "Distribucin porcentual de nacimientos segn la asistencia recibida durante el parto",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{1_10.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    protected void generarGraficas() {
        System.out.println("GENERANDO LAS GRAFICAS");
        Grafica vitales = new Grafica("vitales", getRuta(), rr.get());
        vitales.start();
    }

    protected void hacerPortada() {
        String portada = "http://www.ine.gob.gt/ftparchivos/portadaVitales.pdf";
        File file = new File(getRuta(), "portada.pdf");
        URL url = null;
        try {
            url = new URL(portada);
        } catch (MalformedURLException ex) {
            Logger.getLogger(Documento.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            FileUtils.copyURLToFile(url, file);
        } catch (IOException ex) {
            Logger.getLogger(Documento.class.getName()).log(Level.SEVERE, null, ex);
        }

        String contraPortada = "http://www.ine.gob.gt/ftparchivos/contraportadaVitales.pdf";
        File file1 = new File(getRuta(), "contraPortada.pdf");
        try {
            url = new URL(contraPortada);
        } catch (MalformedURLException ex) {
            Logger.getLogger(Documento.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            FileUtils.copyURLToFile(url, file1);
        } catch (IOException ex) {
            Logger.getLogger(Documento.class.getName()).log(Level.SEVERE, null, ex);
        }

        try {
            File p1 = new File(getRuta(), "caratula.tex");
            FileWriter escritora = new FileWriter(p1.getAbsolutePath(), false);
            BufferedWriter buffer = new BufferedWriter(escritora);
            buffer.write("\\documentclass[10pt,twoside]{book}\\usepackage[T1]{fontenc}\n" + "\\usepackage{tikz}\n"
                    + "\n" + "\\usepackage[active,tightpage,xetex]{preview}\n" + "\n"
                    + "\\usepackage{fontspec,xunicode}\n" + "\n" + "\\PreviewEnvironment{pgfpicture}\n" + "\n"
                    + "\\setlength\\PreviewBorder{0pt}\n" + "\n" + "\\usetikzlibrary{calc}\n" + "\n"
                    + "\\usetikzlibrary{positioning}\n" + "\n" + "\\usepackage{fontspec,xunicode}\n" + "\n"
                    + "\\setmainfont{Open Sans Condensed Light}\n" + "\\begin{document}\n" + "\n"
                    + "\\begin{tikzpicture} \n "
                    + "\\node[anchor=south west,inner sep=0] (image) at (0,0) {\\includegraphics{portada}};\n"
                    + "\\begin{scope}[x={(image.south east)},y={(image.north west)}] "
                    + "\\node[inner sep =0, scale = 3.5, align = left] at (0.44,0.595) {\n"
                    + "Repblica de Guatemala \n" + "      \\\\\n" + getTitulo() + "\n" + "      \\\\\n"
                    + corregirTrimestre(getTrimestre()) + " trimestre " + getAnioPublicacion() + " };"
                    + "\\node[inner sep =0, rotate = 90]at(0.908,0.15){Guatemala, " + getMes() + " de " + getYear()
                    + "};\n "
                    + "\\node[inner sep = 0, rotate = 90]at(0.18, 0.39) {\\textcolor{gray}{Cifras Preliminares}}; \n"
                    + "\\end{scope}\n" + "\\end{tikzpicture}\n" + "\n" + "\\end{document}");
            buffer.close();
        } catch (IOException ex) {
            Logger.getLogger(Documento.class.getName()).log(Level.SEVERE, null, ex);
        }
        compilar(rr, getRuta() + "/caratula.tex", "F");
    }

    protected void equipoYPresentacion() {

        escribirLinea("\\clearpage\n" + "\n" + "$\\ $\n" + "\\vspace{0.5cm}\n" + "\n" + "\\begin{center}\n"
                + "   {\\Bold \\LARGE EQUIPO RESPONSABLE}\\\\[1.5cm]\n" + "   \n"
                + "   {\\Bold \\large \\color{color2} REVISIN GENERAL}\\\\[0.2cm]\n"
                + "   Rubn Narciso\\\\[0.8cm]\n" + "   \n" + "   \n"
                + "   {\\Bold \\large \\color{color2} EQUIPO TCNICO}\\\\[0.2cm]\n"
                + "   Flor de Mara Hernndez Soto\\\\\n" + "   Cristian Miguel Cabrera Ayala\\\\\n"
                + "   Blanca Angelica Ramirez Gonzlez\\\\\n" + "   Marlon Humberto Pirir Garcia\\\\[0.8cm]\n"
                + "   \n" + "   {\\Bold \\large \\color{color2} DIAGRAMACIN Y DISEO}\\\\[0.2cm]\n"
                + "   Hugo Allan Garca Monterrosa\\\\\n" + "   Fabiola Beatriz Ramrez Pinto\\\\\n"
                + "   Jos Carlos Bonilla Aldana\\\\[0.8cm]\n" + "   \n" + "   \n" + "   \n"
                + "\\end{center}\\setcounter{page}{0}\\cleardoublepage\n" + "\n" + "\n" + "\n"
                + "$\\ $\\\\[0.7cm]\n" + "\n" + "\\tableofcontents\n" + "\n" + "\\cleardoublepage\n"
                + "\\pagestyle{estandar}\n" + "\\setcounter{page}{1}\n" + "\\setlength{\\arrayrulewidth}{1.0pt}\n"
                + "\n" + "\n" + "\\cleardoublepage\n" + "\n" + "\n" + "\n" + "\n" + "\n" + "$\\ $\\\\[0.5cm]\n"
                + "\\thispagestyle{empty}\n" + "\\noindent {\\Bold \\LARGE Presentacin}\n" + "\n" + "\n" + "\n"
                + "\n" + "$\\ $\\\\\n"
                + "\\indent El Instituto Nacional de Estadstica -INE-, consciente de la demanda de informacin "
                + "demogrfica y siendo el ente rector de la poltica estadstica nacional "
                + "en Guatemala, en cumplimiento a su Ley Orgnica, Decreto Ley 3-85, se "
                + "complace en presentar el siguiente informe, que contiene las {\\Bold Estadsticas Vitales}"
                + ", con informacin correspondiente al {\\Bold " + corregirTrimestre(getTrimestre()).toLowerCase()
                + " trimestre del " + getAnioPublicacion()
                + "}, informacin esencial para la planificacin del desarrollo humano.\n" + "\n"
                + "La informacin presentada a continuacin fue recolectada a travs "
                + "del Registro Nacional de las Personas  -RENAP- y consiste en "
                + "los hechos ocurridos sobre nacimientos, defunciones, defunciones fetales, "
                + "matrimonios y divorcios registrados " + "en el "
                + corregirTrimestre(getTrimestre()).toLowerCase() + " trimestre del " + getAnioPublicacion()
                + " .  " + "Sin embargo, los datos para el perodo {\\Bold son preliminares}, "
                + "sujetos a la adicin de registros ingresados tardamente.\n" + "\n"
                + "Por lo tanto, el INE se complace en presentar este informe, con "
                + "el propsito de brindar una herramienta ms de anlisis a la "
                + "poblacin guatemalteca, y a la vez agradece el aporte y colaboracin "
                + "del Registro Nacional de las Personas, al cual se insta  a "
                + "continuar con el apoyo a este proceso.\n" + "\n" + "\\thispagestyle{empty}\n" + "\n" + "\n"
                + "\\cleardoublepage");
    }

    private String asistencia(String valor) {
        String retorno = "";
        System.out.println(valor);
        if (comparador.compare(valor, "medica") == 0) {
            retorno = "recibieron asistencia mdica";
        } else if (comparador.compare(valor, "comadrona") == 0) {
            retorno = "fueron asistidos por una comadrona";
        } else if (comparador.compare(valor, "ninguna") == 0) {
            retorno = "no recibieron ningn tipo de asistencia";
        } else if (comparador.compare(valor, "paramedica") == 0) {
            retorno = "recibieron asistencia paramdica";
        } else if (comparador.compare(valor, "empirica") == 0) {
            retorno = "recibieron asistencia emprica";
        }
        return retorno;
    }

    private String sitio(String valor) {
        String retorno = "";
        System.out.println(valor);
        if (comparador.compare(valor, "Domicilio") == 0) {
            retorno = "el domicilio del fallecido";
        } else if (comparador.compare(valor, "Hospital pblico") == 0) {
            retorno = "un hospital pblico";
        } else if (comparador.compare(valor, "Seguro Social") == 0) {
            retorno = "el IGSS";
        } else if (comparador.compare(valor, "Hospital privado") == 0) {
            retorno = "un hospital privado";
        } else if (comparador.compare(valor, "Centro de salud") == 0) {
            retorno = "un centro de salud";
        } else if (comparador.compare(valor, "Lugar de trabajo") == 0) {
            retorno = " el lugar de trabajo del fallecido ";
        } else if (comparador.compare(valor, "Va pblica") == 0) {
            retorno = " la va pblica";
        }
        return retorno;
    }

    protected void capitulo2() {
        //Escribiendo la introduccin del captulo 2
        escribirCapitulo(capitulos.get(1).toString(), capitulos.get(1).toString(), "",
                introCapitulos.get(1).toString());

        section2_01();
        section2_02();
        section2_03();
        section2_04();
    }

    private void section2_01() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 6%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("2_01", "Defunciones",
                "Las defunciones " + "constituyen la variable en el estudio de los fenmenos "
                        + "demogrficos que, utilizado conjuntamente con la estadstica "
                        + "de nacimientos y matrimonios, ayuda a determinar su estructura "
                        + "y dinmica, con la salida de individuos de la poblacin.",
                "La grfica de la serie histrica muestra que durante el " + getFormatoTrimestre()
                        + " se registraron " + getDf().format(rr.get().eval("vitales$'2_01'$y[9]").asDouble())
                        + " defunciones, esto es "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'2_01',cota = 0.1), 'utf8')").asString()
                        + " el mismo perodo " + " del ao anterior y "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'2_01', primeraPos = 8), 'utf8')")
                                .asString()
                        + " el trimestre anterior. ",
                "Defunciones por trimestre", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{2_01.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'2_02'[ordenarNiveles(vitales$'2_02',T),]");
        String columna2 = columna("2_02", "Defunciones por departamento",
                "La desagregacin de las defunciones segn el departamento de residencia, "
                        + "permite identificar la dinmica poblacional para la focalizacin de programas especficos\n"
                        + "para cubrir las necesidades del rea.",
                "Para el " + getFormatoTrimestre()
                        + ", el departamento que registr mayor proporcicin de  defunciones  " + "fue "
                        + rr.get().eval("temp$x[1]").asString() + " con un "
                        + getDf().format(rr.get().eval("temp$y[1]/vitales$'2_01'$y[9] *100").asDouble()) + "\\% "
                        + "seguido de " + rr.get().eval("temp$x[2]").asString() + " con  "
                        + getDf().format(rr.get().eval("temp$y[2]/vitales$'2_01'$y[9] *100").asDouble()) + "\\% y "
                        + rr.get().eval("temp$x[3]").asString() + " con "
                        + getDf().format(rr.get().eval("temp$y[3]/vitales$'2_01'$y[9] *100").asDouble()) + "\\%."
                        + " Los departamentos con menor proporcin son "
                        + rr.get().eval("temp$x[length(temp$x)]").asString() + " con "
                        + getDf()
                                .format(rr.get().eval("temp$y[length(temp$x)]/vitales$'2_01'$y[9] *100").asDouble())
                        + "\\% y " + rr.get().eval("temp$x[length(temp$x)-1]").asString() + " con "
                        + getDf().format(
                                rr.get().eval("temp$y[length(temp$x)-1]/vitales$'2_01'$y[9] *100").asDouble())
                        + "\\%.",
                "Nmero de defunciones por departamento de residencia de la persona fallecida",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{2_02.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section2_02() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 7%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        rr.get().eval("temp <- vitales$'2_03'[ordenarNiveles(vitales$'2_03',T),]");
        String columna1 = columna("2_03", "Defunciones por da de la semana",
                "La " + "frecuencia y el da de la semana en el que se dan las "
                        + "defunciones permite  identificar patrones temporales, "
                        + "especialmente cuando estas son ocasionadas por causas "
                        + "externas, y as disear planes de emergencia y concienciacin " + "de prevencin.",
                "Para el " + getFormatoTrimestre() + " el da con mayor cantidad de defunciones fue "
                        + rr.get().eval("temp$x[1]").asString().toLowerCase() + " totalizando un  "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos, seguido de "
                        + rr.get().eval("iconv(temp$x[2],'utf8')").asString().toLowerCase()
                        + ", da en el que se registraron un "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\%, de las defunciones. El "
                        + rr.get().eval("temp$x[length(temp$x)]").asString().toLowerCase()
                        + " fue el da que registr menos descesos, contabilizando el "
                        + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble())
                        + "\\% del total de defunciones. ",
                "Distribucin porcentual de defunciones por da de la semana de ocurrencia",
                getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{2_03.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        String columna2 = columna("2_04", "Mortalidad infantil", "Durante el " + getFormatoTrimestre()
                + " se registraron "
                + getDf()
                        .format(rr.get().eval("total<- (vitales$'2_04'[2])[1,]+(vitales$'2_04'[3])[1,]").asDouble())
                + " defunciones de nios en la etapa infantil\\footnote{Nios menores de un ao.}, de los  cuales el "
                + getDf().format(rr.get()
                        .eval("vitales$'2_04'$Hombres[1] / ((vitales$'2_04'[2])[1,]+(vitales$'2_04'[3])[1,]) * 100")
                        .asDouble())
                + "\\% fueron hombres. ",
                "En cuanto a la edad al momento de la muerte, el "
                        + getDf().format(rr.get()
                                .eval(" (vitales$'2_04'$Hombres[3] + vitales$'2_04'$Mujeres[3] ) / total * 100 ")
                                .asDouble())
                        + "\\% falleci en la etapa neonatal\\footnote{Nios menores de 28 das.}, mientras que el "
                        + getDf().format(rr.get()
                                .eval("( vitales$'2_04'$Hombres[2] + vitales$'2_04'$Mujeres[2] )/ total * 100")
                                .asDouble())
                        + "\\% en la etapa post-neonatal\\footnote{Nios menores de un ao pero mayores de 27 das.}. ",
                "Defunciones neonatales y post neonatales por sexo", getFormatoSubtituloG(),
                "\\XeTeXpdffile \"2_04.pdf\" ", "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section2_03() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 8%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("2_05", "Defunciones en menores de cinco aos",
                "La mortalidad en la niez es un indicador clave para determinar "
                        + "las condiciones bsicas de salud de una poblacin.",
                "Como se muestra en la grfica, el porcentaje de defunciones en menores de cinco aos para el "
                        + getFormatoTrimestre() + ", fue del "
                        + getDf().format(rr.get().eval("vitales $'2_05'$y[9]").asDouble()) + "\\%, esto es, "
                        + rr.get().eval("iconv(calcularRespuestaNeta(vitales$'2_05'), 'utf8')").asString()
                        + "el mismo perodo del ao anterior y "
                        + rr.get().eval("iconv(calcularRespuestaNeta(vitales$'2_05',primeraPos=8), 'utf8')")
                                .asString()
                        + "  el trimestre anterior. ",
                "Porcentaje de defunciones en menores de cinco aos", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{2_05.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- excluirNiveles(vitales$'2_06')");
        String columna2 = columna("2_06", "Defunciones segn asistencia recibida",
                "Del total de defunciones registradas durante " + getFormatoTrimestre() + " el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos "
                        + asistencia(rr.get().eval("iconv(temp$x[1],'utf8')").asString()) + ", mientras que "
                        + "el " + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\%" + " "
                        + asistencia(rr.get().eval("iconv(temp$x[length(temp$x)], 'utf8')").asString()) + ".",
                "Adems el " + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% "
                        + asistencia(rr.get().eval("iconv(temp$x[2],'utf8')").asString()) + " y  "
                        + getDf().format(rr.get().eval("temp$y[3]").asDouble()) + "\\% "
                        + asistencia(rr.get().eval("iconv(temp$x[3],'utf8')").asString()) + ".",
                "Distribucin porcentual de nacimientos segn la asistencia recibida durante el parto",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{2_06.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section2_04() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 8%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");

        rr.get().eval("temp <- excluirNiveles(vitales$'2_07')");
        String columna1 = columna("2_07", "Defunciones por lugar de ocurrencia",
                "El lugar de ocurrencia de una defuncin est estrechamente "
                        + "relacionado con la atencin recibida y las condiciones de la misma.",
                "Segn la grfica de defunciones por lugar de ocurrencia, el  "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos ocurrieron en "
                        + sitio(rr.get().eval("temp$x[1]").asString()) + ". Por otro lado, la menor proporcin "
                        + " de defunciones sucedieron en "
                        + sitio(rr.get().eval("temp$x[length(temp$x)]").asString()) + ", representando el "
                        + formatearNumero(rr.get().eval("temp$y[length(temp$y)]").asDouble())
                        + "\\% de los casos. ",
                "Distribucin porcentual de defunciones por lugar de ocurrencia", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt] \\input{2_07.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");
        escribirLinea(hojaTrimestral(columna1, ""));
    }

    protected void capitulo3() {
        //Escribiendo la introduccin del captulo 3
        escribirCapitulo(capitulos.get(2).toString(), capitulos.get(2).toString(), "",
                introCapitulos.get(2).toString());

        section3_01();

        section3_02();

        section3_03();

        section3_04();
    }

    protected void capitulo4() {
        //Escribiendo la introduccin del captulo 4
        escribirCapitulo(capitulos.get(3).toString(), capitulos.get(3).toString(), "",
                introCapitulos.get(3).toString());

        section4_01();
        section4_02();
    }

    protected void capitulo5() {
        //Esribiendo la introduccin del captulo 5
        escribirCapitulo(capitulos.get(4).toString(), capitulos.get(4).toString(), "",
                introCapitulos.get(4).toString());

        section5_01();
    }

    protected ArrayList<String> filtrarDatos(String dataFrame) {
        ArrayList<String> retorno = new ArrayList<String>();
        rr.get().eval("");

        return retorno;
    }

    private void section3_01() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("3_01", "Defunciones fetales",
                "La defuncin fetal es un resultado adverso de los embarazos, "
                        + "que pueden tener causas relacionadas especficamente con la "
                        + "madre o bien ser de carcter propiamente fetal.",
                "La grfica de la serie histrica muestra que durante " + getFormatoTrimestre()
                        + ", se registraron " + getDf().format(rr.get().eval("vitales$'3_01'$y[9]").asDouble())
                        + " defunciones fetales, esto es "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'3_01'), 'utf8')").asString()
                        + " el mismo perodo " + " del ao anterior y "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'3_01', primeraPos = 8), 'utf8')")
                                .asString()
                        + " el trimestre anterior. ",
                "Defunciones fetales por trimestre", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_01.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- excluirNiveles( vitales$'3_02')");
        String columna2 = columna("3_02", "Defunciones fetales por departamento",
                "Las estadsticas de defunciones fetales  por departamento, "
                        + "permiten identificar las reas donde se da la mayor frecuencia"
                        + " de estos casos y determinar las caractersticas sociales, "
                        + "econmicas y ambientales que inciden en ellos.",
                "Para el " + getFormatoTrimestre()
                        + ", el departamento que registr mayor proporcicin de  defunciones fetales  " + "fue "
                        + rr.get().eval("temp$x[1]").asString() + " con un "
                        + getDf().format(rr.get().eval("temp$y[1]/vitales$'3_01'$y[9] *100").asDouble()) + "\\% "
                        + "seguido de " + rr.get().eval("temp$x[2]").asString() + " con "
                        + getDf().format(rr.get().eval("temp$y[2]/vitales$'3_01'$y[9] *100").asDouble()) + "\\% y "
                        + rr.get().eval("temp$x[3]").asString() + " con "
                        + getDf().format(rr.get().eval("temp$y[3]/vitales$'3_01'$y[9] *100").asDouble()) + "\\%."
                        + " Los departamentos con menor proporcin son "
                        + rr.get().eval("temp$x[length(temp$x)]").asString() + " con "
                        + getDf()
                                .format(rr.get().eval("temp$y[length(temp$x)]/vitales$'3_01'$y[9] *100").asDouble())
                        + "\\% y " + rr.get().eval("temp$x[length(temp$x)-1]").asString() + " con "
                        + getDf().format(
                                rr.get().eval("temp$y[length(temp$x)-1]/vitales$'3_01'$y[9] *100").asDouble())
                        + "\\%.",
                "Nmero de defunciones fetales por departamento de residencia de la madre", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_02.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section3_02() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 11%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        rr.get().eval("temp <- excluirNiveles(vitales$'3_03')");
        String columna1 = columna("3_03", "Defunciones fetales por semana de gestacin",
                "La defuncin fetal es la muerte de un producto de la concepcin, antes de la "
                        + "expulsin o extraccin completa del cuerpo de su madre, "
                        + "independientemente de la duracin del embarazo.",
                "De las defunciones fetales registradas en el " + getFormatoTrimestre() + " el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble())
                        + "\\% sucedieron cuando el tiempo de embarazo era de   "
                        + rr.get().eval("iconv(temp$x[1], 'utf8')").asString().toLowerCase() + " semanas y el  "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% de "
                        + rr.get().eval("iconv(temp$x[2], 'utf8')").asString().toLowerCase() + " semanas. ",
                "Distribucin porcentual de defunciones fetales segn semana de gestacin",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_03.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- excluirNiveles(vitales$'3_04')");
        String columna2 = columna("3_04", "Defunciones fetales por grupo de edad de la madre",
                "La distribucin de las defunciones fetales segn la edad de la "
                        + "madre, permite identificar los grupos mas vulnerables, "
                        + "asociados con la tasa de fecundidad. En el " + getFormatoTrimestre() + ", " + "el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble())
                        + "\\%  de las defunciones fetales fueron por madres de "
                        + rr.get().eval("iconv(temp$x[1], 'utf8')").asString().toLowerCase()
                        + " aos, representando la mayora de los casos, mientras que el  "
                        + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble())
                        + "\\%, que representa la minora,  fueron por madres de "
                        + rr.get().eval("iconv(temp$x[length(temp$x)], 'utf8')").asString().toLowerCase()
                        + " aos",
                "", "Distribucin porcentual de defunciones fetales por grupo de edad de la madre",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_04.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section3_03() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 12%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");

        rr.get().eval("temp <- vitales$'3_05'[ordenarNiveles(vitales$'3_05',T),]");
        String columna1 = columna("3_05", "Defunciones fetales por pueblo de pertenencia de la madre",
                "La desagregacin de los datos por grupos poblacionales permite "
                        + "identificar y focalizar los esfuerzos en mejorar las condiciones "
                        + "de salud de una poblacin en particular.",
                "En la distribucin de defunciones fetales registrados en el " + getFormatoTrimestre() + ", el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% "
                        + " de los nacimientos fueron por madres pertenecientes al pueblo "
                        + rr.get().eval("temp$x[1]").asString() + " y el  "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% por madres del pueblo "
                        + rr.get().eval("temp$x[2]").asString()
                        + " . Se desconoce el pueblo de pertenencia de la madre en "
                        + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\% de los casos.",
                "Distribucin porcentual de defunciones fetales  por pueblo de pertenencia de la madre ",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_05.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- excluirNiveles(vitales$'3_06')");
        String columna2 = columna("3_06", "Defunciones fetales segn asistencia recibida",
                "La distribucin de defunciones fetales por tipo de asistencia "
                        + "recibida da un panorama de las condiciones en las que la madre "
                        + "es atendida en cuanto instrumentos utilizados, medicamentos, "
                        + " experiencia de quien atiende el caso y otros.",
                "Del total de defunciones fetales registradas durante " + getFormatoTrimestre() + " el "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos "
                        + asistencia(rr.get().eval("iconv(temp$x[1],'utf8')").asString()) + ", mientras que "
                        + "el " + getDf().format(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\%" + " "
                        + asistencia(rr.get().eval("iconv(temp$x[length(temp$x)], 'utf8')").asString()) + "."
                        + " Adems el " + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\% "
                        + asistencia(rr.get().eval("iconv(temp$x[2],'utf8')").asString()) + " y  "
                        + getDf().format(rr.get().eval("temp$y[3]").asDouble()) + "\\% "
                        + asistencia(rr.get().eval("iconv(temp$x[3],'utf8')").asString()),
                "Distribucin porcentual de defunciones fetales segn la asistencia recibida durante el parto",
                getFormatoSubtituloG(), "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{3_06.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section3_04() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 13%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");

        rr.get().eval("temp <- excluirNiveles(vitales$'3_07')");
        String columna1 = columna("3_07", "Defunciones fetales por sitio de ocurrencia",
                "El sitio de ocurrencia de una defuncin fetal est relacionado "
                        + "con el tipo de asistencia recibida, as como de las condiciones en que ocurri.",
                "Segn la grfica de defunciones fetales por lugar de ocurrencia, el  "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos ocurrieron en "
                        + sitio(rr.get().eval("iconv(temp$x[1], 'utf8')").asString())
                        + ". Por otro lado la menor proporcin " + " de defunciones sucedieron en "
                        + sitio(rr.get().eval("iconv(temp$x[length(temp$x)], 'utf8')").asString())
                        + ", representando el "
                        + formatearNumero(rr.get().eval("temp$y[length(temp$y)]").asDouble())
                        + "\\% de los casos. ",
                "Distribucin porcentual de defunciones por lugar de ocurrencia", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt] \\input{3_07.tex} \\end{tikzpicture}",
                "INE, con datos del RENAP", "");
        escribirLinea(hojaTrimestral(columna1, ""));
    }

    private void section4_01() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 14%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("4_01", "Matrimonios",
                "El cambio de estado civil de las personas es un factor que "
                        + "influye en la estructura de los hogares. En trminos demogrficos,"
                        + " el hogar, como clula de la sociedad, aporta individuos a la "
                        + "poblacin, ya que uno de sus fines es la procreacin.",
                "La serie histrica de matrimonios muestra que durante " + getFormatoTrimestre()
                        + " se registraron " + getDf().format(rr.get().eval("vitales$'4_01'$y[9]").asDouble())
                        + " , esto es "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'4_01'), 'utf8')").asString()
                        + " el mismo perodo " + " del ao anterior y "
                        + getDf().format(rr.get()
                                .eval("cambioInterAnual(vitales$'4_01', ultimaPos = 9, primeraPos = 8)").asDouble())
                        + "\\% menos de lo registrado en el trimestre anterior. ",
                "Matrimonios por trimestre", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{4_01.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'4_02'[ordenarNiveles(vitales$'4_02',T),]");
        String columna2 = columna("4_02", "Matrimonios por departamento",
                "En este apartado se muestra la distribucin de los matrimonios " + "realizados durante el "
                        + getFormatoTrimestre() + " en los departamentos. "
                        + "Este dato es utilizado para realizar anlisis de la estructura de las familias.",
                "El departamento que realiz la mayor proporcin de matrimonios  " + "fue "
                        + rr.get().eval("temp$x[1]").asString() + " con un "
                        + getDf().format(rr.get().eval("temp$y[1]/vitales$'4_01'$y[9] *100").asDouble()) + "\\% "
                        + "seguido de " + rr.get().eval("temp$x[2]").asString() + " con el "
                        + getDf().format(rr.get().eval("temp$y[2]/vitales$'4_01'$y[9] *100").asDouble()) + "\\% y "
                        + rr.get().eval("temp$x[3]").asString() + " con "
                        + getDf().format(rr.get().eval("temp$y[3]/vitales$'4_01'$y[9] *100").asDouble()) + "\\%."
                        + " Los departamentos con menor proporcin de matrimonios son "
                        + rr.get().eval("temp$x[length(temp$x)]").asString() + " con "
                        + getDf()
                                .format(rr.get().eval("temp$y[length(temp$x)]/vitales$'4_01'$y[9] *100").asDouble())
                        + "\\% y " + rr.get().eval("temp$x[length(temp$x)-1]").asString() + " con "
                        + getDf().format(
                                rr.get().eval("temp$y[length(temp$x)-1]/vitales$'4_01'$y[9] *100").asDouble())
                        + "\\%.",
                "Nmero de matrimonios por departamento de ocurrencia", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{4_02.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private void section4_02() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 15%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        rr.get().eval("temp <- vitales$'4_03'[ordenarNiveles(vitales$'4_03',T),]");
        String columna1 = columna("4_03", "Matrimonios por da de ocurrencia",
                "La grfica de distribucin de matrimonios realizados en  el " + getFormatoTrimestre()
                        + ", por da de ocurrencia, muestra que el da con mayor cantidad de matrimonios fue "
                        + rr.get().eval("iconv(temp$x[1], 'utf8')").asString().toLowerCase() + " totalizando un  "
                        + getDf().format(rr.get().eval("temp$y[1]").asDouble()) + "\\% de los casos, seguido de "
                        + rr.get().eval("temp$x[2]").asString().toLowerCase()
                        + ", da en el que se registraron un "
                        + getDf().format(rr.get().eval("temp$y[2]").asDouble()) + "\\%, de los matrimonios. El "
                        + rr.get().eval("temp$x[length(temp$x)]").asString().toLowerCase()
                        + " fue el da que registro menos matrimonios, contabilizando el "
                        + formatearNumero(rr.get().eval("temp$y[length(temp$y)]").asDouble()) + "\\%. ",
                "", "Distribucin porcentual de matrimonios por da de la semana de ocurrencia",
                getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{4_03.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- excluirNiveles(vitales$'4_04')");
        String columna2 = columna("4_04", "Matrimonios segn rgimen econmico",
                "La distribucin de los matrimonios realizados segn la clase "
                        + "de unin, permite identificar el establecimiento econmico y "
                        + "patrimonial por el que las nuevas familias inician.",
                "Del total de matrimonios registrados en el " + getFormatoTrimestre()
                        + " la mayora se efectuaron bajo el rgimen de  "
                        + rr.get().eval("iconv(temp$x[1],'utf8')").asString().toLowerCase()
                        + ", representando estos un " + formatearNumero(rr.get().eval("temp$y[1]").asDouble())
                        + "\\% del total de matrimonios. "
                        + getMenorRegimen(rr.get().eval("iconv(temp$x[length(temp$x)],'utf8')").asString(),
                                rr.get().eval("temp$y[length(temp$y)]").asDouble()),
                "Distribucin porcentual de matrimonios por clase de unin", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{4_04.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));
    }

    private String getMenorRegimen(String valor, Double porcentaje) {
        String regimen = "";
        if (comparador.compare(valor, "Comunidad de ganaciales") == 0) {
            regimen = " El rgimen menos utilizado por las parejas fue el de comunidad de" + " gananciales.";
        } else if (comparador.compare(valor, "No especificado") == 0) {
            regimen = " En un " + formatearNumero(porcentaje) + "\\% de los matrimonios "
                    + "no se especific el rgimen econmico bajo el cual se realiz la unin.";
        } else if (comparador.compare(valor, "Comunidad absoluta") == 0) {
            regimen = " El rgimen menos utilizado por las parejas fue el de comunidad absoluta";
        } else if (comparador.compare(valor, "Separacin absoluta") == 0) {
            regimen = " El rgimen menos utilizado por las parejas fue el de separacin absoluta.";
        }
        return regimen;
    }

    private void section5_01() {
        escribirLinea(
                "\n \n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%INICIO HOJA 15%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \n\n");
        String columna1 = columna("5_01", "Divorcios",
                "La serie histrica de los divorcios permite identificar "
                        + "tendencias de este tipo de acciones en el tiempo.",
                "La serie histrica de divorcios muestra que durante " + getFormatoTrimestre() + " se registraron "
                        + getDf().format(rr.get().eval("vitales$'5_01'$y[9]").asDouble()) + " , esto es "
                        + rr.get().eval("iconv(calcularRespuestaPor(vitales$'5_01'), 'utf8')").asString()
                        + " el mismo perodo " + " del ao anterior y "
                        + getDf().format(rr.get()
                                .eval("cambioInterAnual(vitales$'5_01', ultimaPos = 9, primeraPos = 8)").asDouble())
                        + "\\% menos de lo registrado en el trimestre anterior. ",
                "Divorcios por trimestre", formatoSerie,
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{5_01.tex} " + "\\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        rr.get().eval("temp <- vitales$'5_02'[ordenarNiveles(vitales$'5_02',T),]");
        String columna2 = columna("5_02", "Divorcios por departamento de ocurrencia",
                "En este apartado se muestra la distribucin de los divoricios " + "realizados durante el "
                        + getFormatoTrimestre() + " en los departamentos. ",
                "La grfica muestra que el departamento donde ocurri la mayor proporcin de divorcios  "
                        + "fue " + rr.get().eval("temp$x[1]").asString() + " con un "
                        + getDf().format(rr.get().eval("temp$y[1]/vitales$'5_01'$y[9] *100").asDouble()) + "\\% "
                        + "seguido de " + rr.get().eval("temp$x[2]").asString() + " con el "
                        + getDf().format(rr.get().eval("temp$y[2]/vitales$'5_01'$y[9] *100").asDouble()) + "\\% y "
                        + rr.get().eval("temp$x[3]").asString() + " con "
                        + getDf().format(rr.get().eval("temp$y[3]/vitales$'5_01'$y[9] *100").asDouble()) + "\\%."
                        + " Los departamentos con menor proporcin de divorcios realizados son "
                        + rr.get().eval("iconv(temp$x[length(temp$x)],'utf8')").asString() + " con "
                        + getDf()
                                .format(rr.get().eval("temp$y[length(temp$x)]/vitales$'5_01'$y[9] *100").asDouble())
                        + "\\% y " + rr.get().eval("iconv(temp$x[length(temp$x)-1],'utf8')").asString() + " con "
                        + getDf().format(
                                rr.get().eval("temp$y[length(temp$x)-1]/vitales$'5_01'$y[9] *100").asDouble())
                        + "\\%.",
                "Nmero de divorcios por departamento de ocurrencia", getFormatoSubtituloG(),
                "\\begin{tikzpicture}[x=1pt,y=1pt]  \\input{5_02.tex}  \\end{tikzpicture}",
                "INE, con datos del RENAP", "");

        escribirLinea(hojaTrimestral(columna1, columna2));

    }

}