2010-10-12 8 views
16

Siempre me gusta que mis figuras se coloquen entre texto en lugar de en la parte superior o inferior de la página. También me gusta hablar de la figura antes de que se muestre. Así que estoy tratando de tener algo como esto:¿Cómo refiero una cifra en LaTeX antes de que ocurra?

Al mirar la figura ~ \ ref {fig: VCO} puedes ver eso, bla, bla, bla.

\begin{figure}[h] 
\caption{VCO test circuit}\label{fig:VCO} 
\begin{center} 
\includegraphics[width=0.9\columnwidth]{figures/VCO_circuit.eps} 
\end{center} 
\end{figure} 

Esto no parece funcionar porque supongo que se está refiriendo a algo que no ha ocurrido todavía? ¿Alguien tiene alguna solución simple? Todavía soy muy nuevo en LaTeX.

+2

Funciona como si lo usara. Puede hacer referencia a las imágenes antes de definirlas. – bastijn

+0

Adam. En general, es una buena idea aceptar respuestas cuando las obtengas. También es bueno para tu karma. –

Respuesta

3

Falló por primera vez porque el etiquetado y las referencias son un proceso de dos pasos. La primera vez que procesaste tu látex, todas las etiquetas se indexaron para que fallara la ref. La segunda vez, dado que las etiquetas se habían indexado, el árbitro sabía a qué se refería realmente.

17

Generalmente LaTeX necesita al menos dos pases para resolver todas sus referencias, la primera vez para escribirlos en un archivo auxiliar y la segunda vez para ponerlos en el archivo ps/pdf/dvi final. Entonces no importa dónde está la referencia.

Se necesitará una tercera pasada, por ejemplo, si su documento tiene una tabla de contenido larga que puede arruinar los números de página.

+1

+1 para answer-ifying [mi comentario] (http://stackoverflow.com/questions/3916945/how-do-i-ref-a-figure-in-latex-before-it-occurs/3916960#3916960) más claramente de lo que podría decirlo. El café no ha llegado aún, y ha pasado demasiado tiempo desde que usé LaTeX. –

2

Yo agregaría que latexmk (link) me ha resultado invaluable a lo largo de los años. Este es un script de "compilación" de LaTeX escrito en Perl que está diseñado para compilar los archivos de origen .tex el número correcto de veces. Analiza el resultado del comando latex y realiza la verificación de dependencia para garantizar que el documento de salida se mantenga actualizado con la cantidad mínima de pasos. También puede tratar con archivos de bibliografía BibTeX. En general, invoco latexmk desde un makefile Ant o GNU Make y lo trato como si estuviera compilando código C++, por ejemplo.

+0

aún mejor, lo lanzo con el indicador '-pvc' cuando comienzo a trabajar y muestra un visor con el resultado, actualizándolo automáticamente cada vez que se modifica un archivo –

1

que tenía el mismo problema y me encontré con esta solución:

\graphicspath{{images/}} 
\DeclareGraphicsExtensions{.jpg} 

\makeatletter 
\newenvironment{tablehere} 
    {\def\@captype{table}} 
    {} 

\newenvironment{figurehere} 
    {\def\@captype{figure}} 
    {} 
\makeatother 

\begin{figurehere} 
\includegraphics[height=5cm]{2-14aGa-Sur.jpg} 
\caption{Hliněná destička s mapou severu Mezopotámie} 
\label{fig:Ga-Sur} 
\end{figurehere} 

\ GraphicsPath {{imágenes /}} está ahí para declarar su ruta a las imágenes

\ DeclareGraphicsExtensions {} .jpg está ahí para la extensión de la imagen declare (múltiple puede estar con una coma (creo ;-))

\makeatletter 
\newenvironment{tablehere} 
    {\def\@captype{table}} 
    {} 

\newenvironment{figurehere} 
    {\def\@captype{figure}} 
    {} 
\makeatother 

hay para la determinación precisa de la posición aquí

\begin{figurehere} 
\includegraphics[height=5cm]{2-14aGa-Sur.jpg} 
\caption{Hliněná destička s mapou severu Mezopotámie} 
\label{fig:Ga-Sur} 
\end{figurehere} 

no es la imagen con la altura y el subtítulo y una etiqueta con ella ...

espero que le ayudará a ;-).

Cuestiones relacionadas