Estoy haciendo lo que debería ser una tarea sencilla, pero no puedo entender por qué no funciona... Sólo quiero un título simple de una figura que centré, alineada a la izquierda de la figura, justo debajo de su esquina inferior izquierda.
Este es mi MWE:
\documentclass{beamer}
\mode<presentation> {
\usepackage[labelformat=empty,
font=scriptsize,
skip=0pt,
justification=justified,
singlelinecheck=false]{caption}
}
\begin{document}
\begin{frame}
\begin{center}
\includegraphics[width=.5\linewidth]{example-image}
\captionof{figure}{my caption here}
\end{center}
\end{frame}
\end{document}
Que produce:
¿Cómo puedo tener el título justo debajo de la esquina inferior izquierda de mi imagen? ¿Y por qué el código anterior no funciona?
Tenga en cuenta que la solución también debería funcionar dentro de un entorno \figure para agregar títulos a tikzpictures...
¡Gracias!
EDITAR: INTENTÉ justificación=justificada,singlelinecheck=false COMO SE SUGERIÓAQUÍ, PERO TODAVÍA NO HAY ÉXITO...
\documentclass{beamer}
\usepackage[labelformat=empty,font=scriptsize,skip=0pt,
justification=raggedright,singlelinecheck=false]{caption}
\begin{document}
\begin{frame}
\begin{center}
\includegraphics[width=.5\linewidth]{example-image}
\captionof{figure}{my caption here}
\end{center}
\end{frame}
\end{document}
Respuesta1
Puede usar el paquete threeparttable
para restringir el ancho del título al ancho de la imagen:
\documentclass{beamer}
\usepackage{threeparttable}
\usepackage[labelformat=empty,font=scriptsize,skip=0pt,
justification=raggedright,singlelinecheck=false]{caption}
\begin{document}
\begin{frame}
\begin{figure}
%\centering% not needed, because default
\begin{measuredfigure}
\includegraphics[width=.5\linewidth]{example-image}
\caption{my caption here}
\end{measuredfigure}
\end{figure}
\end{frame}
\end{document}
Por lo general, no necesita explícito center
o \centering
, porque beamer
centra la figura de forma predeterminada (vea el resultado en la imagen de arriba). En cambio, si desea figuras alineadas a la izquierda o a la derecha, debe agregar \raggedright
o \raggedleft
justo después \begin{figure}
. No obstante, puedes activar el comentado \centering
.
Respuesta2
Envolver la imagen y su título en un archivo adicional minipage
podría ser una solución:
\documentclass{beamer}
\setbeamertemplate{caption}{\insertcaption}
\begin{document}
\begin{frame}
\begin{figure}
\begin{minipage}{.4\textwidth}
\includegraphics[width=\textwidth]{example-image}
\caption{Text text text text text text text text text text text text text text text text text}
\end{minipage}
\end{figure}
\end{frame}
\end{document}
Respuesta3
Creo que usar un objeto flotante como \begin{figure} ... \end{figure}
o \begin{table} ... \end{table}
entra en conflicto con las necesidades de una presentación. Un objeto flotante es algo que LaTeX puede mover para obtener el mejor ajuste posible de palabras, líneas y páginas. Por lo tanto puede mover la imagen al final del capítulo. En una presentación, no querrás saltar de una diapositiva a otra. Normalmente querrás un flujo continuo de una diapositiva a la siguiente.
Dicho esto, no querrás utilizar un objeto flotante en el proyector, al menos no en los formularios de presentación.
Dicho esto, no desea utilizar \caption
comandos tipo -, ya que no tiene un figure
entorno.
La solución en su caso: simplemente elimine el \caption
comando (e incluso el caption
paquete) y funciona.
MWE:
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{center}
\includegraphics[width=.5\linewidth]{example-image}\\
my caption here
\end{center}
\end{frame}
\end{document}
Resultado: