Ich habe ein Problem, wenn viele Zahlen in Frage kommen. Einige Zahlen neigen dazu, „herumzufliegen“, dh ein Absatz darunter zu sein, obwohl ich sie vor diesen Absatz gestellt habe. Ich verwende den Code:

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

, um meine Figuren zu platzieren. Wie kann ich Latex sagen, dass ich die Figur WIRKLICH an diesem bestimmten Ort haben möchte, egal wie viel Leerzeichen übrig bleibt?

Kommentare

  • Nebenbemerkung: ‚ Verwenden Sie nicht die center Umgebung, aber der Befehl \centering für Zahlen. Siehe Soll ich für Abbildungen und Tabellen die Mitte oder Zentrierung verwenden?
  • Verwenden Sie den Befehl \FloatBarrier irgendwo zwischen der Abbildung und dem Absatz. Es zwingt alle vor dem Befehl definierten Zahlen, vor diesem Textpunkt zu rendern. Sie müssen \usepackage{placeins} in der Präambel hinzufügen, um den Befehl verwenden zu können. Manchmal fand ich das sehr nützlich.

Antwort

Die kurze Antwort: Verwenden Sie das Paket „ float “ und dann das Option für Ihre Figur.

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

Die längere Antwort: Das Standardverhalten von Zahlen ist float, damit LaTeX den besten Weg findet, sie in Ihrem Dokument anzuordnen und es besser aussehen zu lassen. Wenn Sie einen Blick darauf werfen, werden Bücher häufig so gesetzt. Daher ist es normalerweise am besten, LaTeX seine Arbeit machen zu lassen und nicht zu versuchen, die Platzierung von Figuren an bestimmten Stellen zu erzwingen. Dies bedeutet auch, dass Sie die Verwendung von Phrasen wie “ “, für die die Figur einen bestimmten Ort festlegen muss, und verwenden Sie stattdessen„ in Figure~\ref{..} “, wobei Sie die Querverweise von LaTeX nutzen.

Wenn Sie aus irgendeinem Grund wirklich möchten, dass eine bestimmte Figur „HIER“ platziert wird und nicht dort, wo LaTeX sie platzieren möchte, verwenden Sie die [H] Option des Pakets „ float „, mit der die schwebende Figur im Grunde genommen in ein reguläres Nicht-float umgewandelt wird.

Beachten Sie dies auch, wenn Sie Sie möchten Ihrer Figur keine caption hinzufügen, dann müssen Sie die figure -Umgebung überhaupt nicht verwenden! Sie können den Befehl \includegraphics an einer beliebigen Stelle in Ihrem Dokument verwenden, um ein Bild einzufügen.

Kommentare

  • Danke für das notieren! ‚ war mir die Änderung nicht bekannt. H funktioniert nicht ‚ scheint ohne Pakete zu funktionieren, funktioniert aber beim Laden von float. Ist H von float dasselbe wie !h?
  • nein , [! h] wird von den meisten Dokumentklassen ohnehin in [! ht] geändert. Und die Bedeutung von h ist nur: hier, wenn möglich, aber nicht absolut hier. Das ! ermöglicht LaTeX, alle Zähler und Längen zu minimieren, die sich auf schwebende Umgebungen beziehen.
  • danke, hat für mich funktioniert! Normalerweise lasse ich Latex es platzieren, wo es will, aber manchmal brauche ich es einfach, wo ich will.
  • Für Dokumente, die nicht gedruckt werden sollen, gibt es keinen Grund, zu versuchen, es zu speichern Papier, so große Bereiche von Leerzeichen sind kein ‚ ta Problem. ‚ ist es also viel besser, wenn die Figur den Text an der logischsten Stelle bricht, als woanders zu schweben. Diese umständlichen Konventionen werden genauso ablaufen wie Latein.
  • Ich ‚ glaube nicht, dass die üblichen Bedenken darin bestehen, Platz zu sparen, anstatt stilistisch zu versuchen, das Beste zu finden Ort, an dem eine Figur, eine Tabelle usw. platziert werden soll.

Antwort

nicht Verwenden Sie eine schwebende Umgebung, wenn Sie nicht möchten, dass sie schwebt.

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

oder

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

Kommentare

  • Hallo @Herbert – vielen Dank für diese Antwort! Ich hatte noch nie verstanden, dass \begin{figure} eine schwebende Umgebung ist – während \begin{minipage} nicht ist! Ich hatte ein Problem mit dem Wunsch, ein Bild am Ende der Seite mit Text einzufügen, und nicht einmal [H] half; nur das! Ich habe gerade minipage durch figure und captionof für ersetzt caption – und endlich habe bekommen, was ich wollte !! Nochmals vielen Dank, Prost!
  • Warum verwenden Sie eine \makebox? Sieht es ohne nicht gleich aus?
  • @Tobi: Wenn das Bild nicht größer als \textwidth ist, ja, sonst nicht!\makebox zentriert das Bild unabhängig von seiner Breite.
  • Dies war sehr hilfreich. IMHO sollte dies die akzeptierte Antwort sein, da sie erwartungsgemäßer funktioniert als die derzeit akzeptierte.

Antwort

Eine Lösung, die in keiner der anderen Antworten erwähnt wird, die mich gerade aussortiert haben, ist die Verwendung von \clearpage

Es sind keine speziellen Pakete erforderlich.

\clearpage erzwingt das Drucken aller darüber liegenden Zahlen in der Datei .tex, bevor mit dem Text fortgefahren wird. Dies kann große Leerzeichen hinterlassen.

Für mich war dies die beste Lösung, da ich keine Formatierung ändern musste und nur sichergestellt wurde, dass alle Abbildungen vor dem nächsten Text gedruckt wurden. Mein Problem war ein Teil des Dokuments mit vielen Abbildungen und wenig Text.

Kommentare

  • Einfache und effektive Lösung, danke !!

Antwort

Sie können jetzt das adjustbox -Paket verwenden, um Ihre Box mit der Taste. Beschriftung und Beschriftung können mit eigenen Schlüsseln vor der nofloat hinzugefügt werden. Zum Zentrieren kann die Taste center verwendet werden. Verwenden Sie zum Hinzufügen des vertikalen Bereichs die Taste vspace. Diese Lösung hat den Vorteil, dass Sie auch alle anderen Funktionen von adjustbox verwenden können, um den Inhalt zu ändern (min / max-Skalierung, Framing usw.)

Beachten Sie, dass Sie, wenn der Inhalt der Abbildung nur ein einzelnes Bild ist, die gleichen Tasten für \adjustbox verwenden und einen Einzeiler erhalten können. Wenn Sie nur eine Tabelle wünschen, gibt es den Schlüssel tabular für {adjustbox}.

Wenn Sie später möchten Ändern Sie es in einen echten Float. Drehen Sie einfach nofloat auf float und entfernen Sie die Taste vspace. adjustbox platziert die Beschriftung oben für table s und unten für figure s. Dies kann mit den Schlüsseln captionbelow oder captionabove anstelle von caption geändert werden. Alle Optionen finden Sie im Handbuch adjustox.

Wenn Sie den Inhalt nicht verpacken möchten, können Sie weiterhin das Paket adjustbox verwenden, da es das {adjnofloat}{<type>} Umgebung. Wird intern verwendet, um den Schlüssel nofloat zu implementieren. Benutzer können diese Umgebung entweder neu definieren, um das Verhalten oder die Verwendung von nofloat zu ändern oder zu patchen Die Umgebung verwendet Code, der dem in Herberts Antwort sehr ähnlich ist.


Verwendungsbeispiele:

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

Teil des Ergebnisses:

Geben Sie hier die Bildbeschreibung ein

Antwort

Verwenden Sie [ht!], um mehr zu sein Wenn Sie möchten, dass der Text der Abbildung folgt, anstatt vorher zu beginnen, verwenden Sie in Ihrer Präambel \usepackage{parskip} und lassen Sie vor dem betreffenden Text ein Leerzeichen.

Ich verwende auch \vspace{} oder vor der Figurenumgebung, um den Abstand zwischen Text und Figur zu manipulieren und ein ausgewogeneres Erscheinungsbild zu erzielen. Ich habe auf diese Weise keine Probleme, selbst in komplexeren Multifigurenumgebungen, in denen \subfigure.

verwendet wird

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.