\begin{figure} Ваша команда была проигнорирована с помощью предустановки слайдов

\begin{figure} Ваша команда была проигнорирована с помощью предустановки слайдов

Ладно. Я действительно в растерянности.

Я попросил своего профессора прислать мне слайды, потому что они показались мне очень красивыми. Он прислал мне tex-файл, и пока он работает отлично, однако я просто хочу включить туда рисунок с подписью. \includegraphics{ ... ] вроде бы работает отлично, но когда я пытаюсь обернуть его вокруг окружения begin/end{figure}, он игнорируется.

\documentclass[a4paper,landscape]{slides}
\usepackage[centertags,reqno]{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{rotating}

\topmargin -2cm \textheight 17cm \textwidth 24cm
\special{landscape}     %landscape

\newcommand{\nextslide}[1]{\end{slide}\begin{slide}{\bf \underline{\centerline{#1}}}}

\begin{document}

\begin{slide}

\nextslide{Fun Stuff}

% Doesn't work 
%\begin{figure}[h]
%\centering
%\includegraphics{foo}
%\caption{caption}
%\end{figure}

% Does work 
\includegraphics{foo}

\end{slide}

\end{document}

решение1

Для использования подписей без плавающего элемента можно воспользоваться пакетом caption(см.Метка и подпись без плавающего элементаcaption). Чтобы расширить этот ответ, в документации (в настоящее время страница 18) дано важное замечание :

[...] вы должны использовать оба варианта \captionofи \captionof*только внутри коробок или сред [...]

Поэтому вам следует использовать либо существующую среду (например, \begin{center} \end{center}), либо пользовательскую среду (определенную с помощью \newenvironment), чтобы указать область действия подписи (мм для полей).

Для использования \captionofтип должен быть объявлен с помощью \DeclareCaptionType, который, к сожалению, отсутствует в документации пакета (обратите внимание, что текущая версия на CTAN датирована 2016-05-22, а документация датирована 2011-11-02). Идентификатор для типа должен быть выбран так, чтобы не конфликтовать с существующими командами (например, в MWE ниже идентификатор figureгенерирует ошибку, в то время как myfigureвсе в порядке).

Код:

\documentclass[a4paper,landscape]{slides}
\usepackage[centertags,reqno]{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{rotating}

\usepackage{caption}
\DeclareCaptionType{myfigure}[Figure]
\newenvironment{nonfloat}{}{}

\topmargin -2cm \textheight 17cm \textwidth 24cm
\special{landscape}     %landscape

\newcommand{\nextslide}[1]{\end{slide}\begin{slide}{\bf \underline{\centerline{#1}}}}

\begin{document}

\begin{slide}
\nextslide{Fun Stuff}
\begin{nonfloat}
\includegraphics{example-image}
\captionof{myfigure}{This is a figure.}
\end{nonfloat}

\end{slide}

\begin{slide}
\nextslide{Centered}
\begin{center}
\includegraphics{example-image-b}
\captionof{myfigure}{This is a centered figure.}
\end{center}
\end{slide}

\end{document}

Результат:

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

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