# Desarrollo

## Descripción de la metodología


## Este fichero muestra un ejemplo de cómo escribir un documento Quarto


`# Cabecera de nivel 1`

Es fácil crear texto con Markdown: *itálicas*, **negrita**, y ***negrita itálica***, al escribir: `*itálicas*, **negrita**, y ***negrita itálica***`.

`## Cabecera de nivel 2`

Se pueden escribir superíndices y subíndices para exponentes como 3^2^ o H~2~O, al escribir: `3^2^ o H~2~O`. Observa el uso de dos símbolos para envolver el elemento que se está moviendo hacia arriba o hacia abajo. 

La cabecera de nivel 2 se formatea con un estilo especial tiene automáticamente una línea horizontal debajo (en html).

`### Cabecera de nivel 3`

También se puede utilizar texto tachado ~~incorrecto~~, al escribir `~~incorrecto~~`.

`#### Cabecera de nivel 4`

Se pueden usar "acentos descendentes", "acentos graves" o "Backticks" para indicar `texto literal`, al escribir: `` `texto literal` ``. Eso puede ser útil para escribir código ya que usa una fuente monoespacial (todas las letras ocupan el mismo espacio).

`##### Cabecera de nivel 5`

Enlazar a otras páginas web es fácil. Si se quiere mostrar un enlace, envolver el enlace entre `<` y `>` como en el siguiente ejemplo: <http://destio.us.es/calvo>, al escribir: `<http://destio.us.es/calvo>`.

También puede usarse corchetes y paréntesis para indicar un enlace en línea como el siguiente: [Mi página personal](http://destio.us.es/calvo), al escribir: `[Mi página personal](http://destio.us.es/calvo)`.

`###### Cabecera de nivel 6`

Es fácil agregar **código** a su documento Quarto utilizando una pareja de tres "acentos graves" o "backticks": ```` ``` ````. Puede definir el lenguaje dentro de las llaves y luego usar el estilo de ese lenguaje para su formateo. En el siguiente código R se suma el valor de dos variables e imprime el resultado.


```{r}
# <-- Este símbolo se usar para comenzar una línea de comentario al escribir R
# las líneas comentadas no se ejecutarán como parte del código
# se pueden dejar comentarios útiles para ti u otras personas que lo lean

# crear una variable y asignarle su valor
variable_1 = 3

#crear una segunda variable y darle su valor
variable_2 = 3

#añadir las dos variables y grabar el resultado como una tercera variable
variable_3 = variable_1 + variable_2

#print muestra el resultado guardado en la variable
print(variable_3)
```

Al escribir: 

```{r}
# <-- Este símbolo se usar para comenzar una línea de comentario al escribir R
# las líneas comentadas no se ejecutarán como parte del código
# se pueden dejar comentarios útiles para ti u otras personas que lo lean

# crear una variable y asignarle su valor
variable_1 = 3

#crear una segunda variable y darle su valor
variable_2 = 3

#añadir las dos variables y grabar el resultado como una tercera variable
variable_3 = variable_1 + variable_2

#print muestra el resultado guardado en la variable
print(variable_3)
```

También se puede **incluir información guardada en objetos R en la redacción de un párrafo**. Por ejemplo, el valor de `variable_3` es igual a `r variable_3`. 

Para mostrarlo el valor de un objeto R se tiene que escribir: un acento grave + "r", seguido del objeto R (o cálculo en R), y finalizar con un acento grave. Para obtener el párrafo anterior se ha escrito en el fichero Quarto: 

```{.markdown}
También se puede **incluir información guardada en objetos R en la redacción 
de un párrafo**. Por ejemplo, el valor de `variable_3` es igual a 
`r knitr::inline_expr('variable_3')`. 
```


### Cabecera de nivel 3 sin numerar ni en la tabla de contenido {.unnumbered .unlisted}

Texto ...

### Cabecera de nivel 3 sin numerar {.unnumbered}

Texto ...


## Más elementos markdown

A continuación se muestran algunos ejemplos de markdown básicos. El código markdown que se escribe para obtener estos resultados puede verse en el fichero fuente Quarto (qmd) que se ha utilizado para crear este documento.

## Listado sin numerar

Estos listados se pueden escribir poniendo al inicio de cada elemento un símbolo: `*`, `-` o `+`.

* Elemento A
* Elemento B
* Elemento C
* Elemento D
* Elemento E

## Listado numerado

Estos listados se pueden escribir poniendo al inicio de cada elemento:: `1.` (número+"`.`"), `a.`, `i.` o `A`.

1. Elemento A
2. Elemento B
3. Elemento C
4. Elemento D
5. Elemento E


## Listados mixtos

1. Elemento A
    * Elemento A.1
    * Elemento A.2
        a. Elemento A.2.a
        b. Elemento A.2.b
        c. Elemento A.2.c
2. Elemento B
3. Elemento C


Para este tipo de listados anidados se usan "tabulaciones de 4 espacios". Este listado se ha escrito con el siguiente código:

```
1. Elemento A
    * Elemento A.1
    * Elemento A.2
        a. Elemento A.2.a
        b. Elemento A.2.b
        c. Elemento A.2.c
2. Elemento B
3. Elemento C
```


## Términos clave y matemáticas en línea

Primer término
: definición del primer término.

Segundo término
: definición del segundo término.

Tercer término
: definición del tercer término.

Fórmula 
: $i^2 = j^2 = k^2 = ijk = −1$, que se escribe: `$i^2 = j^2 = k^2 = ijk = −1$`.


<!-- https://qmd4sci.njtierney.com/math.html -->
<!-- https://quarto.org/docs/authoring/cross-references.html#equations -->

Se puede usar matemáticas resaltadas (centradas) al escribir una pareja de dos símbolos del dólar: `$$`.

$$
i^2 = j^2 = k^2 = ijk = −1
$$

$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$

$$
\sum_{i = 1}^{n}{(\bar{x} - x_i)^2}
$$

Las anteriores ecuaciones, se han obtenido al escribir el código LaTeX siguiente:

```
$$
i^2 = j^2 = k^2 = ijk = −1
$$

$$
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
$$

$$
\sum_{i = 1}^{n}{(\bar{x} - x_i)^2}
$$
```



La @eq-bayes muestra el Teorema de Bayes y la @eq-regresion muestra una fórmula usada en regresión lineal (se ha incluido referencias a fórmulas):

$$
Pr(\theta | y) = \frac{Pr(y | \theta) Pr(\theta)}{Pr(y)}
$$ {#eq-bayes}


$$
Y \sim \beta_0 + \beta_1 X + \epsilon
$$ {#eq-regresion}


Se han obtenido al escribir:

```
$$
Pr(\theta | y) = \frac{Pr(y | \theta) Pr(\theta)}{Pr(y)}
$$ {#eq-bayes}


$$
Y \sim \beta_0 + \beta_1 X + \epsilon
$$ {#eq-regresion}

```


## Uso del tanto por mil en Demografía

- Para usarlo en salidas "html" se escribe: `&permil;` (&permil;)

- Para usarlo en salidas "pdf" se puede usar:

  + El mismo código que en html (método recomendado): `&permil;` (&permil;)
  
  + El símbolo del tanto por mil en LaTeX es: `\permil`, se escribe en markdown: `$\permil$` y produce: &permil. Pero para que pueda verse correctamente, se necesita añadir en la cabecera yaml del documento: 

    ```yaml
    header-includes:
      - \usepackage{wasysym}
    ```
    Con esta opción no se vería en html, de ahí que se recomiende usar el primer método.

:::{.callout-note}
## Salto de página en pdf

Para que se produzca un salto de página en un fichero de salida "pdf", se escribe el siguiente código markdown: 
``` {.markdown shortcodes="false"}
{{< pagebreak >}}
```
:::

{{< pagebreak >}}


## Escribir Código


## Ejemplo con R

Un ejemplo de gráfico linear usando el sistema base de R "graphics".

```{r}
#| echo: true
plot(c(0,1,2,3), type="l")
```

Se obtiene al escribir:
```{r}
#| echo: true
plot(c(0,1,2,3), type="l")
```


## Ejemplo con Python

Un ejemplo de gráfico linear usando Python y la librería `matplotlib`.  

```{python}
#| echo: true
#| eval: false
import matplotlib.pyplot as plt
plt.plot([0,1,2,3])
plt.show()
```

En este caso, para que no se evalúe el código y de ahí que no se muestre el gráfico resultante (solamente se ve el código), se ha añadido la opción de chunk: `eval: false`. El código escrito ha sido el siguiente:

```{python}
#| echo: true
#| eval: false
import matplotlib.pyplot as plt
plt.plot([0,1,2,3])
plt.show()
```


## Uso de opciones en el código ("chunks")

```{r}
#crea un data.frame desde dos vectores e imprime el data.frame
equipo   = c("A", "B", "C")
ganancia = c(45,63,47)
df     = data.frame(equipo, ganancia)
print(df)
```

### Opciones para código

Hay dos opciones importantes:

* `echo`: incluye el código fuente en el documento de salida
* `warning`: incluye "avisos" o "warnings" en el documento de salida

Examine el siguiente código escrito en el fichero Quarto:

```{r}
#| echo: true
# crea dos variables con valores, almacena la suma en una tercera variable
# e imprime la tercera variable
v1 = 5
v2 = 4
v3 = v1 + v2
print(v3)
```

La salida que se muestra en el fichero ("html", "pdf", ...) es la siguiente:

```{r}
#| echo: true
# crea dos variables con valores, almacena la suma en una tercera variable
# e imprime la tercera variable
v1 = 5
v2 = 4
v3 = v1 + v2
print(v3)
```

En la mayoría de los informes, se quiere que únicamente se muestren los resultados y no se muestre el código utilizado en ninguna parte. También se podría mostrar puntualmente algún código porque se quiera resaltar. 

* `#| echo: false`
* `#| warning: false`

```{r}
#| echo: false
#| warning: false

# crea dos variables con valores, almacena la suma en una tercera variable
# e imprime la tercera variable
v1 = 5
v2 = 4
v3 = v1 + v2
print(v3)
```

La opción `echo: false` desactiva la impresión del código (solamente muestra los resultados).

## Otras opciones para el código

También se puede utilizar en la cabecera del documento yaml estas opciones y otras de forma general

```yaml
---
title: "Escribir código R en un documento Quarto"   # <1>
author: "Pedro Luis Luque"
date: "`r knitr::inline_expr('Sys.Date()')`" # "1-16-2024" # daría error: 16-1-2024
date-format: "DD/MM/YYYY"
lang: es                                            # <2>
toc: true     # <3>
toc-depth: 4  # <4>
number-sections: true  # <5>
format:  # <6>
  html:  # <7>
    code-tools: true   # <8>
    code-fold: true    # <9>
  pdf: default      # <10>
execute: # <11>
  echo: true  # <12>
  warning: false  # <13>
---
```

1. `title:`, se escribe el título del documento.
2. `lang: es`, se está indicando que el texto está escrito en español.
3. `toc: true`, con esta opción se construye una tabla de contenido o índice del documento.
4. `toc-depth: 4`, indica que en el índice se muestren hasta los títulos de nivel 4 (`#### `).
5. `number-sections: true`, indica que se quiere enumerar las títulos o secciones del documento.
6. `format:`, se inicia el apartado de las salidas que se quieren generar.
7. `html:`, se genera la salida de ficheros "html".
8. `code-tools: true`, activa la consulta del código markdown-quarto utilizado para generar el documento (para ficheros "html").
9. `code-fold: true`, permite plegar u ocultar ("folding") el código o mostrarlo desplegado.
10. `pdf:`, se genera la salida de ficheros "pdf".
11. `execute:`, se inicia el apartado de cómo ejecutar el código incluido en el fichero Quarto.
12. `echo: true`, indica que por defecto el código que se escriba en un chunk se mostrará (con `echo: false`, no se mostraría el código).
13. `warning: false`, indica que los mensajes de aviso o warnings que se produzcan no aparezcan en la salida.

Esta es una representación de las muchísimas opciones que se pueden establecer en la **cabecera yaml de un documento Quarto**.

**Nota:** más información sobre uso de fechas ("`date:`") en la cabecera yaml: [Documentación Quarto](https://quarto.org/docs/reference/dates.html).


# Práctica 1.4


## Referencias bibliográficas y citaciones

En la mayoría de los informes o publicaciones científicas se hacen continuamente referencia a los documentos de los cuales se ha obtenido la información o documentación. Aparecen frases del tipo: "se puede encontrar más información en @navarro2022".

Se debe ir recopilando los datos de cada uno de los documentos que se hayan utilizado en la publicación, para incluirlas, generalmente al final del documento. Se recopilan en un fichero de base de datos, donde el formato más utilizado es "bibtex", por ejemplo en un fichero llamado: "`local.bib`". 

Pero en la redacción de la publicación se debe **citar** o **hacer referencia** al documento concreto que se haya utilizado en ese apartado.

En el ejemplo anterior se ha citado la referencia: "**Navarro [2022]**" mediante el código markdown: `@navarro2022` (`@` + identificador en la base de datos de esa referencia bibliográfica).

En cada una de las referencias bibliográficas que se muestran al final de la publicación, en el apartado que habitualmente se llama: "Referencias" o "Referencias bibliográficas, suelen aparecer:

- Autor o autores
- Año de publicación
- Título
- Editorial
- Etc.


::: {.callout-note}
Se puede añadir en el apartado "Referencias" asociada a cada referencia las páginas o secciones en las que ha sido citada. A esto se le suele llamar "backref" o "referencia hacia atrás".

En quarto es posible obtenerlo cuando se genera en formato "pdf" (se puede consultar en la cabecera yaml de este documento).
:::



La cabecera yaml de este documento es la siguiente:

```yaml
title: "Quarto Markdown Básico: Parte 4 (referencias)"
lang: es
toc: true
number-sections: true
format:
  html: default
  pdf:
    hyperrefoptions:        # <1>
      - backref=page        # <2>
    citeproc: false         # <3>  
    cite-method: natbib     # <4>  
    natbiboptions:          # <5>
      - authoryear          # <6>  
bibliography: local.bib     # <7>  
```

1. En salidas pdf, para añadir opciones al paquete LaTeX: "hyperref".
2. Esta opción permite hacer "backref" utilizando en qué páginas se citan. Se puede escribir: `backref=section` para que aparezcan en qué secciones se citan.
3. `citeproc: false`, indica que no use el sistema "Pandoc" para construir la bibliografía.
4. Se indica que se use el método de generación de bibliografía: LaTeX-natbib.
5. En salidas pdf, para añadir opciones al paquete LaTeX: "natbib".
6. Esta opción permite indicar que la bibliografía sea con el estilo autor-año: `Navarro [2022], ...`. Se puede escribir: `numbers` para que aparezca la bibliografía con el estilo numerado: `[1], [2], ...`.
7. Se indica cuál es el fichero bibtex con la información de las referencias bibliográficas, en este ejemplo: "local.bib".

## El fichero bibtex: ".bib"

El fichero bibtex: "local.bib", que se muestra a continuación tiene dos referencias bibliográficas del tipo "manual" y "InCollection" (existen 14 tipos diferentes):

```{.bibtex filename="local.bib"}
@manual{navarro2022,
  author = {Navarro, Danielle},
  title = {Porting a Distill Blog to Quarto},
  date = {2022-04-20},
  year = {2022},
  url = {https://blog.djnavarro.net/posts/2022-04-20_porting-to-quarto},
  langid = {en}
}

@InCollection{xie2014,
  booktitle = {Implementing Reproducible Computational Research},
  editor = {Victoria Stodden and Friedrich Leisch and Roger D. Peng},
  title = {knitr: A Comprehensive Tool for Reproducible Research in {R}},
  author = {Yihui Xie},
  publisher = {Chapman and Hall/CRC},
  year = {2014},
  note = {ISBN 978-1466561595},
}
```

- `navarro2022`: es el identificador de la referencia bibliográfica, que se escribe inmediatamente después de la llave que abre `{`.

Los paquetes de R también pueden ser citados. Un comando útil para obtener en formato bibtex los datos para citarlo sería: `citation()`. Por ejemplo:

```{r}
toBibtex(citation("knitr"))
```

Con esa información, copiamos el elemento o elementos que más nos interesan en el fichero bibtex. En este caso, se ha elegido el tercero (tipo: "InCollection") al que se le ha añadido el identificador: `xie2014` (se suele utilizar: primer autor + año publicación). Se puede decir que en @xie2014 se obtiene más información sobre el paquete R: "knitr".


Parte de la información de este pequeño tutorial se ha obtenido de las siguientes páginas web:

- <https://quarto.org/docs/authoring/footnotes-and-citations.html>{target="_blank"}
- <https://quarto.org/docs/output-formats/pdf-basics.html>{target="_blank"}
- <https://nhigham.com/2021/11/04/top-bibtex-tips/>{target="_blank"}
  + <https://nhigham.com/handbook-of-writing-for-the-mathematical-sciences/>{target="_blank"}
  + <https://nhigham.com/tag/bibtex/>{target="_blank"}
- **EDITOR VISUAL EN RSTUDIO**: <https://quarto.org/docs/visual-editor/>  


{{< pagebreak >}}



## Referencias cruzadas

Se puede encontrar información más detallada de este apartado en la siguiente url:

- <https://quarto.org/docs/authoring/cross-references.html>{target="_blank"}


Hay que añadir etiquetas ("label") a los elementos que se quiere hacer referencia dentro de nuestro fichero "qmd". Las etiquetas empiezan con el símbolo: `#`, seguido de un prefijo y un guión ("-"). Los más usados son:

- `#fig-label`: para figuras. Por ejemplo: `#fig-arbol01`, `#fig-arbol01a`.

- `#tbl-label`: para tablas. Por ejemplo: `#tbl-tablaine`, `#tbl-ieca01`.

- `#eq-label`: para ecuaciones. Por ejemplo: `#eq-bayes`, `#eq-mx`.

- `#sec-label`: para secciones, subsecciones. Por ejemplo: `#sec-intro`, `#sec-modelo01`.

- `#lst-label`: para bloques de código. Por ejemplo: `#lst-regresion`, `#lst-tfrecuencia`.

- `#thm-label`, `#lem-label`, `#cor-label`, `#prp-label`, `#def-label`, `#exm-label`,  `#exr-label`: para teoremas, lemas, corolario, proposición, definición, ejemplo, ejercicio.



Como ejemplo, se añade el siguiente gráfico al cual se hará referencias cruzadas a continuación:

![Árbol](logo.png){#fig-arbol01 width=200}


Algunos ejemplos de inclusión de etiquetas:

- `![Árbol](logo.png){#fig-arbol01 width=200}` y luego se puede **citar** usando el símbolo `@` seguido de la etiqueta completa del elemento que nos interesa citar: 
  
  + Vea `@fig-arbol01` como ilustración: Vea @fig-arbol01 como ilustración
  + `@Fig-arbol01`: @Fig-arbol01
  + `[Fig. @fig-arbol01]`: [Fig. @fig-arbol01]
  + `[-@fig-arbol01]`: [-@fig-arbol01]



Un ejemplo de definición, sería:

::: {#def-linea}

## Línea recta

La ecuación de una línea recta, llamada ecuación lineal, puede escribirse como:

$$
y = mx + b
$$ {#eq-linea}
:::

Véase [def. @def-linea] y @eq-linea.

Se ha escrito:

```{.markdown}
::: {#def-linea}

## Línea recta

La ecuación de una línea recta, llamada ecuación lineal, puede escribirse como:

$$
y = mx + b
$$ {#eq-linea}
:::

Véase [def. @def-linea] y @eq-linea.
```


Existen entornos matemáticos que no se suelen numerar: "demostraciones" ("proof"), "soluciones" ("solution"), "notas" ("remark"). Por ejemplo, escribir un entorno con la solución de algún ejercicio:

::: {.solution}
La solución del ejercicio es ...
:::

Se ha escrito:
```{.markdown}
::: {.solution}
La solución del ejercicio es ...
:::
```


:::{.callout-note}
Al final del documento, **automáticamente** se muestra el apartado correspondiente a la bibliografía o referencias bibliográficas que han sido citadas-incluidas en este documento, formateadas.
:::


# Práctica 4.2

````yaml
---
title: "Práctica 4: Parte 2 (Diagramas de Lexis)"
lang: es
toc: true
toc-depth: 4
number-sections: true
format:
  html:
    df-print: paged
    code-tools: true
    #code-fold: true
  pdf: 
    df-print: kable
execute: 
  echo: true
  warning: false
---
````


\bigskip


## Crear diagramas de Lexis

Para facilitar la elaboración de diagramas de Lexis en R se recomienda el uso del paquete R: "**LexisPlotR**". Este paquete se basa en el paquete "**ggplot2**", por tanto, podrían añadirse nuevas capas o características, con todas las posibilidades que admite "ggplot2".

Este paquete se puede instalar como cualquier otro paquete R. Una vez instalado, podría usarse con tan solo cargarlo.

```{r}
#suppressWarnings(suppressMessages(library(DemographyBasic)))
library(LexisPlotR)
```

**Nota:** El paquete "DemographyBasic" carga LexisPlotR automáticamente.

Veamos algunos ejemplos de lo que se puede representar con este paquete extraídas de la página en Github de este paquete. El código usado en los siguientes ejemplos son autoexplicativos.

<!-- **Nota importante**. En este manual se ha usado la versión 0.40 de "LexisPlotR", pero la versión anterior fue la 0.32. Se han producido cambios importantes, que pueden producir que el código usado para la versión 0.32 no funcione para la versión 0.40. **Fundamentalmente** es que en la versión 0.32 se utilizaba el punto "." para separar los elementos y en la versión 0.40 se utiliza el guión bajo "_". En los ejemplos, que se mostrarán a continuación, aparecerá el código de la versión 0.40. -->


### Ejemplo: `lexis_grid()`

Con la función `lexis_grid()` se representa un diagrama de Lexis desde el año 2000 a 2005, representando las edades desde 0 a 5.


```{r fig.align='center', out.width="50%"}
#lexis.grid(year.start = 2000, year.end = 2005, age.start = 0, age.end = 5)
lexis_grid(year_start = 2000, year_end = 2005, 
           age_start = 0, age_end = 5)
```


#### Ejemplo adicional


```{r fig.align='center', out.width="50%"}
lexis_grid(year_start = 1900, year_end = 1950, age_start = 0, 
           age_end = 50, delta = 5)
```


### Ejemplo: `lexis_age()`


```{r fig.align='center', out.width="50%"}
lexis <- lexis_grid(year_start = 1900, year_end = 1905, 
                    age_start = 0, age_end = 5)
lexis_age(lg = lexis, age = 2)
```



### Ejemplo: `lexis_year()`


```{r fig.align='center', out.width="50%"}
lexis <- lexis_grid(year_start = 1900, year_end = 1905, 
                    age_start = 0, age_end = 5)
lexis_year(lg = lexis, year = 1903)
```


### Ejemplo: `lexis_cohort()`



```{r fig.align='center', out.width="50%"}
lexis <- lexis_grid(year_start = 1900, year_end = 1905, 
                    age_start = 0, age_end = 5)
lexis_cohort(lg = lexis, cohort = 1898)
```


### Ejemplo: `lexis_polygon()`


```{r fig.align='center', out.width="50%"}
lexis <- lexis_grid(year_start = 1900, year_end = 1905, 
                    age_start = 0, age_end = 5)

polygons <- data.frame(group = c(1, 1, 1, 2, 2, 2),
                       x = c("1901-01-01", "1902-01-01", 
                             "1902-01-01", "1903-01-01", 
                             "1904-01-01", "1904-01-01"),
                       y = c(1, 1, 2, 1, 1, 2))

lexis_polygon(lg = lexis, x = polygons$x, y = polygons$y, 
              group = polygons$group)
```


### Ejemplo: `lexis_lifeline()`



```{r fig.align='center', out.width="50%"}
lg <- lexis_grid(year_start = 1900, year_end = 1905, age_start = 0, 
                 age_end = 5)
lexis_lifeline(lg = lg, birth = "1901-09-23", lwd = 1.5)
```



#### Ejemplo adicional 1


```{r fig.align='center', out.width="50%"}
lexis_lifeline(lg = lg, birth = "1901-09-23", entry = "1902-04-01", 
               lwd = 1.5)
```



#### Ejemplo adicional 2


```{r fig.align='center', out.width="50%"}
lexis_lifeline(lg = lg, birth = "1901-09-23", entry = "1902-04-01", 
               exit = "1904-10-31", lwd = 1.5)
```




### Ejemplo con operador "tubería"


Se puede utilizar con el operador de "tubería" del paquete "magrittr" (incluido en tidyverse) y "sumar" elementos del paquete ggplot2.


```{r fig.align='center', out.width="50%",warning=FALSE,message=FALSE}
library(magrittr)
library(ggplot2)

p <- lexis_grid(year_start = 1990, year_end = 2000, 
                age_start = 0, age_end = 10) %>%
  lexis_age(age = 3) %>%
  lexis_cohort(cohort = 1988) %>%
  lexis_year(year = 1998) %>%
  lexis_lifeline(birth = "1991-09-23", lwd = 1.5)

p <- p + labs(x = "Año", y = "Edad", "title" = "LexisPlotR")
p
```



### Referencias

A continuación se facilitan algunos enlaces útiles sobre este paquete:


- [LexisPlotR en CRAN](https://cran.rstudio.com/web/packages/LexisPlotR/index.html){target="_blank"}
- [LexisPlotR en Github](https://github.com/ottlngr/LexisPlotR){target="_blank"}



# Tablas

## Tabla multipágina


```{=typst}
#show figure: set block(breakable: true)
```


```{r}
#| label: tbl-multipagina
#| tbl-cap: "Tabla multipágina. Esta tabla muestra los primeros 20 elementos del dataset `mtcars`."
knitr::kable(rbind(mtcars,mtcars))
```


```{r}
#| label: tbl-multipagina-gtBB
#| tbl-cap: "Tabla multipágina con `gt`. Esta tabla muestra los elementos del dataset `mtcars` 2 veces."
#| echo: false
library(gt)
rbind(mtcars,mtcars) |>
  gt()
```


```{=typst}
#show figure: set block(breakable: false)
```


```{r}
#| label: tbl-multipagina-gt
#| tbl-cap: "Tabla multipágina con `gt`. Esta tabla muestra los primeros 36 elementos del dataset `mtcars`."
#| echo: false
library(gt)
rbind(mtcars,mtcars)[c(1,2:36),] |>
  gt()
```


```{r}
#| label: tbl-multipagina-gt2
#| tbl-cap: "Tabla multipágina con `gt`. Esta tabla muestra los restantes elementos del dataset `mtcars` (continuación)."
#| echo: false
library(gt)
rbind(mtcars,mtcars)[c(1,37:(2*nrow(mtcars))),] |>
  gt()

```


```{=typst}
#show figure: set block(breakable: true)
```

```{r}
#| tbl-cap: "blah blah blah"
#| label: tbl-blah
library(tinytable)
tt(head(iris, 50))
```

```{=typst}
#show figure: set block(breakable: false)
```
