Para un nuevo libro en el que estoy trabajando, que se encuentra en la Etapa de Envío Final, la Editorial nos ha pedido que coloquemos las Figuras en los Ejemplos, tan pronto como comiencen. Por ejemplo, si incluyo una figura como parte de un problema, al editor le gustaría que la figura apareciera tan pronto como termine el problema y comience la solución. Desafortunadamente, la figura aparece en la página siguiente del archivo de salida (PDF) y no sé cómo hacerlo. Mi consulta es: ¿Cómo colocar la Figura en la Posición Exacta donde deseamos en un documento LaTeX? ¿Se puede lograr esto con la ayuda de algún paquete especial? ¡Gracias por la gran ayuda!
Respuesta1
No utilice un flotador ya que los flotadores le dicen a LaTeX que mueva el contenido a la "mejor posición". En su lugar, utilice \captionof
el paquete capt-of
o caption
y un center
entorno o similar para compensar la pérdida de figure
espacio vertical. El ejemplo demuestra que esto funciona bien al generar una lista de figuras, pero no puedo crear imágenes decentes en este momento debido a un error de Okular-on-X.
\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}
Respuesta2
¿Se puede lograr esto con la ayuda de algún paquete especial?
Entonces, si entiendo el problema, elEditorquiere mantener los tres elementos juntos en este orden: problema, imagen y solución. No me queda claro si el bloque completo debería aparecer en el PDF como unflotaro colocarse exactamente como se solicita en los textos, entre párrafos específicos. Aquí supuse lo primero, es decir, ProblemSolution
un flotador. Eso significa que LaTeX colocará los bloques de solución de problemas exactamente de la misma manera que las imágenes dentro figure
del entorno, como un flotador, sin embargo, los tres elementos siempre estarán agrupados.
Podrías lograr tu objetivo simplemente colocando todo en el figure
entorno. Sin embargo,flotarEl paquete es muy útil aquí debido a algunas adiciones (consulte el ejemplo a continuación). Por ejemplo, \caption
usará una etiqueta personalizada, puede hacer una lista de flotantes personalizados, puede diseñar el flotante, etc. La macro más importante es \newfloat
. Crea un entorno personalizado, luego todo lo que hay dentro se moverá exactamente de la misma manera que otros flotadores estándar.
En el ejemplo, tenga en cuenta dónde ProblemsSolution
se colocan exactamente los entornos en el texto y dónde aparecen en el PDF. Por ejemplo, la primeraProblemase coloca después del primer párrafo, pero aparece en la parte superior de la página siguiente en PDF porque LaTeX no encuentra suficiente espacio. El segundo y el tercero ProblemSolution
aparecen en el PDF comosolicitadoporque ahora hay suficiente espacio para ellos. En los tres casos, todo sigue agrupado.
El ejemplo:
\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}