2016-08-22 1 views
4

Quelle est la bonne façon de faire knitr pour faire des références croisées? L'approche recommandée dans la documentation (voir ci-dessous) ne fonctionne pas pour moi. J'écris un livre avec knitr et le modèle de tufte_book. Je ne peux pas sembler obtenir les références croisées aux figures (ou aux tables) pour fonctionner correctement. J'ai joint un petit clip qui ne parvient pas à mettre à jour les références croisées dans le document. Je cours R 3.2.3 sur x86_64-apple-darwin13.4.0. Je sais que cette question a déjà été répondue, mais toutes les réponses échouent de la même manière. Non, je ne veux pas utiliser le livre de comptes.knitr tufte références croisées échouer

--- 
title: "Cross-references SNAFU" 
output: 
    tufte::tufte_book: 
    citation_package: natbib 
    latex_engine: xelatex 
--- 
```{r ch3-inits, include=FALSE} 
library(tufte) 
library(knitr) 
knitr::opts_chunk$set(eval.after = 'fig.cap') 

``` 
\chapter{Not Working Cross References, the beginning \label{chap:alpha} } 

```{r t-test, fig.cap=paste('$2 \\times 2$ is', 2*2), fig.height=2.5} 
x = rnorm(30) 
par(mar=c(4, 4, .1, .1)) 
hist(x, main='') 
``` 


Here is the reference to that Figure \ref{fig:t-test}. NOT. 

Voici un extrait de la sortie: resultant pdf output

+0

Votre exemple fonctionne sur mon système. Veuillez essayer d'effacer tous les fichiers auxiliaires LaTeX ('filename.aux' et amis). –

+0

Merci, je suis maintenant convaincu que c'est un problème de configuration. Mais, je n'ai pas encore compris où, pour le moment. –

+0

Vous pouvez commencer par mettre à jour R, RStudio et votre distribution LaTeX. –

Répondre

0

La solution à ce problème consiste à définir keep_tex: true en YAML puis exécuter séparément le (La) fichier Tex extérieur de rstudio. Dumb je sais, mais ça marche. Je ne sais toujours pas pourquoi il est confondu avec plusieurs documents enfants, mais il me semble.