わかりました。本当に困っています。
教授にスライドを送ってもらいました。とても見栄えが良かったからです。教授は私に 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*
または環境内でのみ使用する必要があります [...]
したがって、キャプションのスコープ (ボックスの場合は mm) を示すには、既存の環境 ( など\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}
結果: