knitr / rmarkdown / Latex: ¿Cómo hacer referencias cruzadas de figuras y tablas?

Estoy tratando de hacer referencias cruzadas de figuras y tablas en un PDF producido con knitr / rmarkdown. Hay algunas preguntas sobre SO y tex.stackexchange (aquí yaquí, por ejemplo), que sugieren que la forma de hacer esto en línea es agregar\ref{fig:my_fig}, dóndemy_fig es la etiqueta del fragmento. Sin embargo, cuando lo intento en mirmarkdown documento, me sale?? donde debe estar el número de la figura. Me gustaría saber cómo hacer que las referencias cruzadas funcionen correctamente.

Un ejemplo reproducible está abajo. Hay dos archivos: elrmarkdown archivo más unheader.tex archivo que he incluido solo en caso de que afecte la respuesta (aunque tengo el mismo problema si incluyo elheader.tex archivo o no).

En elrmarkdown En el archivo hay tres ejemplos de referencias cruzadas. El ejemplo 1 es una figura para la cual falla la referencia cruzada (?? se muestra en lugar del número de la figura). También hay un segundo intento comentado (basado enesta respuesta SO), donde intento configurar el entorno, la etiqueta y el título de la figura conlatex marcado antes y después del fragmento, pero esto da como resultado unpandoc error cuando trato de tejer el documento. El error es:

! Missing $ inserted.
<inserted text> 
                $
l.108 ![](testCrossRef_

El ejemplo 2 usaxtable y trabajos de referencias cruzadas. El ejemplo 3 usakable y la referencia cruzada falla.

Se incluye una captura de pantalla de la salida en PDF al final de esta publicación.

rmarkdown archivo
---
title: | 
  | My Title  
author: | 
  | eipi10  
  | Department of Redundancy Department  
date: "`r format(Sys.time(), '%B %e, %Y')`"
output: 
  pdf_document:
    fig_caption: yes
    includes:
      in_header: header.tex
    keep_tex: yes
fontsize: 11pt
geometry: margin=1in
graphics: yes
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, message=FALSE, warning=FALSE, fig.height=2, fig.width=4)
```

# Example 1. Figure

This is a report. Take a look at Figure \ref{fig:fig1}.  

```{r fig1, echo=FALSE, fig.cap="This is a caption"}
plot(mtcars$wt, mtcars$mpg)
```

<!-- Now, let's take a look at this other plot in Figure \ref{fig:fig2}. -->

<!-- \begin{figure} -->
<!-- ```{r fig2, echo=FALSE} -->
<!-- plot(mtcars$cyl, mtcars$mpg) -->
<!-- ``` -->
<!-- \caption{This is another caption} -->
<!-- \label{fig:fig2} -->
<!-- \end{figure} -->

# Example 2: `xtable`

Some more text. See Table \ref{tab:tab1} below. 

```{r echo=FALSE, results="asis"}
library(xtable)
print.xtable(
  xtable(mtcars[1:3,1:4], label="tab:tab1", caption="An xtable table"), 
  comment=FALSE)
```

# Example 3: `kable`

Some more text. See Table \ref{tab:tab2} below. 

```{r tab2, echo=FALSE}
library(knitr)
kable(mtcars[1:3,1:4], caption="A `kable` table")
```
header.tex archivo
% Caption on top
% https://tex.stackexchange.com/a/14862/4762
\usepackage{floatrow}
\floatsetup[figure]{capposition=top}
\floatsetup[table]{capposition=top}
Salida PDF

Respuestas a la pregunta(3)

Su respuesta a la pregunta