Проектор: подпись к центрированному рисунку, выровненная по левому краю

Проектор: подпись к центрированному рисунку, выровненная по левому краю

Я делаю то, что должно быть простой задачей, но не могу понять, почему это не работает... Мне просто нужна простая подпись к рисунку, которую я выровнял по центру, по левому краю рисунка, прямо по его нижнему левому углу.

Это мой 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}

Что производит:

рисунок 1

Как сделать так, чтобы подпись была прямо под нижним левым углом моего изображения? И почему код выше не работает?

Обратите внимание, что решение также должно работать в среде \figure для добавления подписей к tikzpictures...

Спасибо!

EDIT: Я ПОПРОБОВАЛ justification=justified,singlelinecheck=false, КАК ПРЕДЛАГАЛОЗДЕСЬ, НО ВСЕ ЕЩЕ НЕТ УСПЕХА...

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

б

решение1

Вы можете использовать package, threeparttableчтобы ограничить ширину подписи шириной изображения:

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

подпись под изображением ограничена шириной изображения

Обычно вам не нужно явное centerили \centering, потому что beamerпо умолчанию центрирует фигуру (см. результат на изображении выше). Вместо этого, если вы хотите выровнять фигуры по левому или правому краю, вам нужно добавить \raggedrightили \raggedleftсразу после \begin{figure}. Тем не менее, вы можете активировать закомментированный \centering.

решение2

minipageРешением может стать добавление изображения и его подписи в дополнительный текст :

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

введите описание изображения здесь

решение3

Я думаю, что использование плавающего объекта, например, \begin{figure} ... \end{figure}или \begin{table} ... \end{table}противоречит потребностям презентации. Плавающий объект — это то, что LaTeX может перемещать, чтобы получить наилучший возможный перенос слов, строк и страниц. Поэтому он может переместить изображение в конец главы. В презентации вы не хотите перескакивать вперед и назад между слайдами. Обычно вы хотите непрерывный поток от одного слайда к другому.

Тем не менее, вам не следует использовать плавающий объект в Beamer, по крайней мере, в формах представления.

При этом вам не следует использовать \captionкоманды -like, поскольку у вас нет -environment figure.

Решение в вашем случае: просто удалите \caption-команду (и даже caption-пакет), и все заработает.

МВЭ:

\documentclass{beamer}

\begin{document}

\begin{frame}
  \begin{center}
    \includegraphics[width=.5\linewidth]{example-image}\\
    my caption here
  \end{center}
\end{frame}

\end{document}

Результат:

введите описание изображения здесь

Связанный контент