web-dev-qa-db-ja.com

発生する前に、どのようにしてLaTeXで図を参照しますか?

ページの上部や下部ではなく、テキストの間に図を配置するのが好きです。それが表示される前に、私も図について話したいです。だから私はこのようなものを持っているつもりです:

Figure〜\ ref {fig:VCO}を見ると、何とか何とか何とかがわかります。

\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}

まだ発生していない何かを参照していると思うので、これは機能しないようです?誰かが簡単な解決策を持っていますか?私はまだLaTeXに非常に慣れていません。

17
Adam

一般に、LaTeXはすべての参照を解決するために少なくとも2つのパスを必要とします。最初はそれらを補助ファイルに書き込み、2回目は最終のps/pdf/dviファイルに書き込みます。したがって、参照がどこにあってもかまいません。

たとえば、ドキュメントに長い目次があり、ページ番号がめちゃくちゃになる場合は、3番目のパスが必要になります。

19
John Smith

ラベル付けと参照が2パスのプロセスであるため、初めて失敗しました。ラテックスを初めて処理したとき、すべてのラベルにインデックスが付けられていたため、参照が失敗しました。 2回目は、ラベルにインデックスが付けられていたため、refは実際に参照しているものを知っていました。

3
jamessan

latexmklink )は長年にわたって私にとって非常に貴重であることが証明されていると付け加えます。これは、Perlで記述されたLaTeXの「ビルド」スクリプトであり、.texソースファイルを適切な回数コンパイルするように設計されています。 latexコマンドからの出力を解析し、依存関係チェックを実行して、出力ドキュメントが最小数のパスで最新に保たれていることを確認します。 BibTeX参考文献ファイルを扱うこともできます。一般的に言って、私はAntまたはGNU Makefileのいずれかからlatexmkを呼び出して、たとえばC++コードをコンパイルしているように扱います。

2
Richard Cook

私は同じ問題を抱えていて、この解決策を見つけました:

\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 {{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}

高さが指定された写真とキャプションとラベルが付いた画像があります...

私はそれがあなたを助けることを願っています;-)。

1
Pavel