web-dev-qa-db-ja.com

LaTeXに、その図への参照として図を同じページに配置させる方法はありますか?

LaTeXとFigure環境を使用しています。

私はその環境のパラメーター[htbp]に精通しており、デフォルトで各図を配置する場所を決定するためにLaTeXが採用する戦略にも精通しています。たとえば、図をページの上部または下部に配置します。

私が疑問に思っているのは、パッケージ、マクロ、または私が与えることができるいくつかのコマンドがあるかどうかです。単一列のドキュメントがあり、ほとんどの場合、図への単一のテキスト内参照がある場合、その図はもっと参照の同じページに配置される可能性がありますか?

たとえば、中央に\ ref {FIG:X}がある長い段落があると想像してください。レンダリングすると、段落の一部は改ページの前に表示され、一部は改ページの後に表示されます。段落全体の前後のどこかにfigureコマンドを配置することもできます。実際の参照と同じページに実際に配置する方法はありますか?

34
Uri

音を鳴らしたくないtooネガティブですが、改ページの「人工的な」チューニングを行わないと、必要なものがほとんど不可能な場合があります。

コールアウトがページの下部近くに自然に落ち、図が次のページにある場合、図を1ページ戻すと、おそらくコールアウトが置き換えられますforward

私はお勧めします(可能な限り、図の正確なサイズに応じて):

  • [t](または必要な場合は[h])で数字を配置します
  • 数字を「正しい」場所のできるだけ近くに配置します([t]と[h]で異なります)
  • \ inputを使用して個別のファイルの図を含めます。これにより、最終的な調整を行うときに移動しやすくなります。

私の経験では、これは利用できない時間の大きな食い違いです(:-)


Jonのコメントに答えて、これは本質的に難しい問題だと思います。LaTeXの人たちは前かがみではないからです。 フランク・ミッテルバッハの論文 を読むことができます。

15

はい、ドキュメントの上部にfloatパッケージを含め、数字指定子としてH(大文字のH)を含めます。

\usepackage{float}

\begin{figure}[H]
.
.
.
\end{figure}
11
Ahmet Artu

いつでも「!」を追加できますあなたのフロートオプションに。このように、latexは図を必要な場所に配置しようと一生懸命努力し(主に[h!tb]を使用します)、タイプ設定の通常の規則を拡張します。

私は別の解決策を見つけました:
float -packageを使用します。このようにして、youの位置に数字を配置できます。

10
Sven Lilienthal

この問題を解決するには、常にフロート(図など)で[h]オプションを使用して、(ほとんど)配置した場所に移動するようにします。次に、最終ドラフトを見るときに、LaTeXソース内でフロートを移動してフロートの位置を調整します。通常、それはそれが参照されている段落内を移動することを意味します。適切な場所に改ページを追加する必要がある場合があります。

LaTeXでは、フロートのデフォルトの配置が妥当であることがわかりましたが、このようなことを適切に行うには、ほとんどの場合手動調整が必要です。 (そして、多くのフロートと脚注がある場合、すべてが完璧になることができない場合があります。)

memoirクラスの manual には、LaTeXがフロートを配置する方法についての良い情報と、アルゴリズムを操作するためのアドバイスがあります。

4
Jon Ericson

たぶんこれはあなたを助けますか?

\begin{center}
\includegraphics[scale=0.5]{picture_name}
\end{center}    

あなたの図が逃げるとき、私はグラフィックコマンドを使用するほうが良いと思います。

2
Bob

役に立つコメントがあります。数字の位置についても同様の問題があったからです。テキストでラップされた図を作成できるパッケージ「wrapfig」を使用しました。何かのようなもの

...
\usepackage{wrapfig}
\usepackage{graphicx}
...
\begin{wrapfigure}{r}{53pt}
\includegraphics[width=53pt]{cone.pdf}
\end{wrapfigure}

オプション{r}は、図を右側から配置することを意味します。 {l}は左側に使用できます。

1
Evgeny
\setcounter{topnumber}{2}
\setcounter{bottomnumber}{2}
\setcounter{totalnumber}{4}
\renewcommand{\topfraction}{0.85}
\renewcommand{\bottomfraction}{0.85}
\renewcommand{\textfraction}{0.15}
\renewcommand{\floatpagefraction}{0.7}

http://robjhyndman.com/researchtips/latex-floats/

1
Douglas Lovell

すべての数字でこの動作を強制したい場合は試してください

...
\usepackage{float}
\floatplacement{figure}{H}
...
1
Jonatan

これに役立つことがわかった1つの方法は、\include{file_with_tex_figure_commands}

not入力)

0
Eduardo Leoni