Wie platziere ich die Abbildung in einem LaTeX-Dokument an der genauen Stelle, an der wir sie wünschen?

Wie platziere ich die Abbildung in einem LaTeX-Dokument an der genauen Stelle, an der wir sie wünschen?

Für ein neues Buch, an dem ich arbeite und das sich in der letzten Einreichungsphase befindet, hat uns der Verlag gebeten, die Abbildungen in die Beispiele einzufügen, sobald diese beginnen. Wenn ich beispielsweise eine Abbildung als Teil eines Problems einfüge, möchte der Verlag, dass die Abbildung erscheint, sobald das Problem endet und die Lösung beginnt. Leider erscheint die Abbildung auf der nächsten Seite der Ausgabedatei (PDF) und ich weiß nicht, wie ich das machen soll. Meine Frage ist: Wie platziere ich die Abbildung an der genauen Position, an der wir sie in einem LaTeX-Dokument wünschen? Kann dies mithilfe eines speziellen Pakets erreicht werden? Vielen Dank für die großartige Hilfe!

Antwort1

Verwenden Sie keinen Float, da Floats LaTeX anweisen, den Inhalt an die „beste Position“ zu verschieben. Verwenden Sie stattdessen \captionofdas Paket oder und eine capt-ofUmgebung oder Ähnliches, um den Verlust des vertikalen Abstands auszugleichen . Das Beispiel zeigt, dass dies beim Generieren einer Liste von Abbildungen gut funktioniert, aber ich kann derzeit aufgrund eines Okular-on-X-Fehlers keine anständigen Bilder erstellen.captioncenterfigure

\documentclass[]{article}
\usepackage{capt-of}
\usepackage{graphics}

\begin{document}
\listoffigures

\begin{center}\includegraphics{example-image-a}\par\captionof{figure}{A figure.}\end{center}
\begin{center}\includegraphics{example-image-b}\par\captionof{figure}{A figure.}\end{center}
\begin{center}\includegraphics{example-image-c}\par\captionof{figure}{A figure.}\end{center}
\end{document}

Antwort2

Kann dies mit Hilfe eines speziellen Pakets erreicht werden?

Wenn ich das Problem richtig verstehe,Herausgebermöchte alle drei Elemente in dieser Reihenfolge zusammenhalten: Problem, Bild und Lösung. Mir ist nicht klar, ob der gesamte Block im PDF alsschwebenoder genau wie im Text gewünscht zwischen bestimmten Absätzen platziert werden. Hier habe ich ersteres angenommen, also ProblemSolutionein Float. Das bedeutet, dass LaTeX Problem-Lösungs-Blöcke genauso platziert wie Bilder innerhalb figureder Umgebung, als Float, allerdings werden alle drei Elemente immer zusammen gruppiert.

Sie könnten Ihr Ziel erreichen, indem Sie einfach alles in der figureUmgebung platzieren. AllerdingsschwebenDas Paket ist hier aufgrund einiger Ergänzungen sehr praktisch (siehe Beispiel unten). \captionSie können beispielsweise ein benutzerdefiniertes Label verwenden, eine Liste benutzerdefinierter Floats erstellen, den Float formatieren usw. Das wichtigste Makro ist \newfloat. Es erstellt eine benutzerdefinierte Umgebung, in der sich dann alles genauso bewegt wie bei anderen Standard-Floats.

Beachten Sie im Beispiel, wo genau ProblemsSolutionUmgebungen im Text platziert werden und wo sie im PDF erscheinen. Beispielsweise die ersteProblemwird nach dem ersten Absatz platziert, erscheint aber im PDF ganz oben auf der nächsten Seite, weil LaTeX nicht genug Platz findet. Der zweite und der dritte ProblemSolutionerscheinen im PDF alsangefordertdenn jetzt ist genug Platz dafür vorhanden. In allen drei Fällen ist immer noch alles zusammen gruppiert.

Das Beispiel:

\documentclass[12pt]{book}
\usepackage{graphicx}
\usepackage{float}
\usepackage{caption}
\usepackage[colorlinks]{hyperref}
\usepackage{kantlipsum}

\newfloat{problem}{tbhp}{psf}[chapter]
\floatname{problem}{Problem}
\newenvironment{ProblemSolution}{%
  \begin{problem}
    \noindent\leftskip=2cm\rightskip=2cm\small
}{\end{problem}}
\captionsetup[problem]{font=small,labelfont=bf,width=\dimexpr\linewidth-4cm}%


% \usepackage{showframe}
% \renewcommand*\ShowFrameLinethickness{0.2pt}
% \renewcommand*\ShowFrameColor{\color{blue}}

\title{The Title}
\author{First Last}
\date{}


\begin{document}
\maketitle
\listof{problem}{List of Problems}

\chapter{First one}
First paragraph.
\kant[1]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-a}
    \caption{Caption about the first problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}

Second paragraph.
\kant[2]

Third paragraph.
\kant[3]

Fourth paragraph.
\kant[4]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-b}
    \caption{Caption about the second problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}


\chapter{Second two}
Fifth paragraph.
\kant[5-6]

\begin{ProblemSolution}
  \paragraph{Problem:}
  Some notes about a problem that should be a little longer and span multiple lines.

  \begin{center}
    \includegraphics[width=0.5\linewidth,height=0.25\linewidth]{example-image-c}
    \caption{Caption about the third problem}
  \end{center}

  \paragraph{Solution:}
  Something about solution.
\end{ProblemSolution}

Sixth paragraph.
\kant[7]
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen