多くの図が問題になっているときに問題が発生します。一部の図は「飛び回る」傾向があります。つまり、下の段落になりますが、その段落の前に配置しました。コードを使用します:

\begin{figure}[ht] \begin{center} \advance\leftskip-3cm \advance\rightskip-3cm \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8} \caption{} \label{visina8} \end{center}\end{figure} 

フィギュアを配置します。空白がいくら残っていても、その特定の場所にフィギュアが本当に欲しいとラテックスに伝えるにはどうすればよいですか?

コメント

図と段落の間のどこかにあります。コマンドの前に定義されたすべての図を、テキスト内のそのポイントの前に強制的にレンダリングします。コマンドを使用するには、プリアンブルに\usepackage{placeins}を追加する必要があります。時々、これが非常に役立つことがわかりました。

回答

簡単な答え: float 」パッケージを使用してから、図のオプション。

\usepackage{float} ... \begin{figure}[H] \centering \includegraphics{slike/visina8} \caption{Write some caption here}\label{visina8} \end{figure} 

長い答え:図形のデフォルトの動作はフロートです。これにより、LaTeXは、ドキュメント内で図形を配置して見栄えを良くするための最良の方法を見つけることができます。あなたが見てみると、これは本がしばしば植字される方法です。したがって、通常はLaTeXに作業を任せて、特定の場所に図形を強制的に配置しないようにするのが最善の方法です。これは、「」。これには、フィギュアを特定の場所に設定する必要があり、代わりに「in Figure~\ref{..}」を使用して、LaTeXの相互参照を利用します。

何らかの理由で本当に特定の図を「ここ」に配置し、LaTeXが配置したい場所に配置したくない場合は、[H] float 」パッケージのオプション。これは、基本的にフローティングフィギュアを通常の非フロートに変換します。

また、次の場合にも注意してください。フィギュアにcaptionを追加したくない場合は、figure環境を使用する必要はまったくありません。ドキュメント内の任意の場所で\includegraphicsコマンドを使用して画像を挿入できます。

コメント

  • ありがとうございますこれに注意してください! '変更に気づいていませんでした。 Hは'パッケージなしでは機能しないようですが、floatの読み込みは機能します。 floatH!hと同じですか?
  • no 、[!h]は、ほとんどのドキュメントクラスによって[!ht]に変更されています。そして、hの意味は、可能であればここだけですが、絶対にここではではありません。 !! LaTeXがフローティング環境を参照するすべてのカウンターと長さを最小化することを可能にします。
  • ありがとう、私のために働きました!私は通常、ラテックスを好きな場所に配置しますが、単に必要したい場所に配置することもあります。
  • 印刷を目的としないドキュメントの場合、保存しようとする理由はありません。紙なので、空白の広い領域は'問題ではありません。したがって、'は、他の場所に浮かぶよりも、最も論理的なポイントでテキストを分割する図を使用する方がはるかに優れています。これらの厄介な慣習は、ラテン語のようになります。
  • 私は'通常の懸念は、スタイル的に最適なものを見つけることではなく、スペースを節約することだとは思いません図や表などを配置する場所

回答

しない フローティング環境を使用したくない場合は、フローティング環境を使用してください。

\usepackage{caption} ... \noindent% \begin{minipage}{\linewidth}% to keep image and caption on one page \makebox[\linewidth]{% to center the image \includegraphics[keepaspectratio=true,scale=0.6]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{minipage} 

または

\begin{center} \includegraphics[...]{slike/visina8}} \captionof{figure}{...}\label{visina8}% only if needed \end{center} 

コメント

  • こんにちは@ Herbert-この回答をたくさんありがとう! \begin{figure}がフローティング環境であることをこれまで理解したことはありませんでした。\begin{minipage}そうではありません。ページの下部にテキスト付きの画像を含めたいという問題があり、[H]も役に立ちませんでした。これだけ! minipagefigureに置き換えました-および captionofcaption-そしてついに私が欲しいものを手に入れました!!どうもありがとうございました、乾杯!
  • なぜ\makeboxを使用するのですか?それがなくても同じように見えませんか?
  • @Tobi:画像が\textwidthより大きくない場合は、そうでない場合はそうではありません。\makebox画像を幅とは関係なく中央に配置します
  • これは非常に役に立ちました。私見では、これは現在受け入れられている回答よりも期待どおりに機能するため、受け入れられた回答である必要があります。

回答

私を整理した他の回答のいずれにも言及されていない1つの解決策は、\clearpage

特別なパッケージは必要ありません。

を使用することです。 \clearpageは、テキストを続行する前に、.texファイル内のその上のすべての図を強制的に印刷します。これにより、大きな空白が残る可能性があります。

フォーマットを変更する必要がなく、次のテキストの前にすべての図が印刷されるようにしただけなので、これが最善の解決策でした。私の問題は、多くの図と多くのテキストを含まないドキュメントの一部でした。

コメント

  • シンプルで効果的なソリューション、ありがとう!!

回答

adjustboxパッケージを使用して、キー。キャプションとラベルは、nofloatに独自のキーで追加できます。中央揃えには、centerキーを使用できます。垂直方向のスペースを追加するには、vspaceキーを使用します。このソリューションには、adjustboxの他の多くの機能をすべて使用してコンテンツを変更できるという利点があります(最小/最大スケーリング、フレーミングなど)

図の内容が単一の画像である場合は、\adjustboxで同じキーを使用して、ワンライナーを取得できることに注意してください。表形式だけが必要な場合は、{adjustbox}tabularキーがあります。

後で必要な場合実際のフロートに変更するには、nofloatfloatに回して、vspaceキーを削除します。 adjustboxは、tableの場合は上部に、figureの場合は下部にキャプションを配置します。これは、captionの代わりにキーcaptionbelowまたはcaptionaboveを使用して変更できます。すべてのオプションについては、adjustoxのマニュアルを参照してください。

コンテンツをボックス化したくない場合でも、adjustboxパッケージを使用できます。{adjnofloat}{<type>}環境。これはnofloatキーを実装するために内部的に使用されます。ユーザーはこの環境を再定義して、nofloatの動作を変更またはパッチするか使用できます。環境を直接。環境は、ハーバートの回答と非常によく似たコードを使用します。


使用例:

\documentclass{article} \usepackage{blindtext}% for example text here only \usepackage{adjustbox} \begin{document} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount} % maybe other stuff \includegraphics[width=\textwidth]{example-image}% example only, could also be \adjustimage % maybe other stuff \end{adjustbox} \blindtext % For simple images, a one liner is enough \adjustimage{width=\textwidth,center,caption={some caption},label={somelabel},nofloat=figure,vspace=\bigskipamount}{example-image} \blindtext \begin{adjustbox}{center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} % maybe other stuff \begin{tabular}{lll} some & tabular & is\\ also & possible & with this \\ \end{tabular} % maybe other stuff \end{adjustbox} \blindtext % For just a tabular: \begin{adjustbox}{tabular=lll,center,caption={some caption},label={somelabel},nofloat=table,vspace=\bigskipamount} some & tabular & is\\ also & possible & with this \\ \end{adjustbox} \blindtext \end{document} 

結果の一部:

ここに画像の説明を入力

回答

[ht!]を使用して詳細を確認する配置を強調します。また、テキストを図の前から始めるのではなく、図の後に続ける場合は、前文に\usepackage{parskip}を使用し、問題のテキストの前にスペースを入れます。

\vspace{}または。 \subfigureを使用するより複雑なマルチフィギュア環境でもこの方法で問題は発生しません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です