acmsmall und subfigures

acmsmall und subfigures

Ich versuche, mithilfe der acmsmallKlasse eine Figur mit Unterfiguren zu erstellen. Beim Kompilieren erhalte ich den folgenden Fehler:

Package caption Warning: Unsupported document class (or package) detected, (caption)
usage of the caption package is not recommended. See the caption package documentation for explanation.

) (/usr/local/texlive/2012/texmf-dist/tex/latex/caption/subcaption.sty

! LaTeX Error: Command \subcaption already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation. 
Type  H <return>  for immediate help.  ...                                    

l.57      \caption@gobble}}
                           % 
?

Wenn ich es einfach überspringe, erscheint ein anderer Fehler.

Package caption Warning: \caption will not be redefined since it's already
(caption)                redefined by a document class or package which is
(caption)                unknown to the caption package.
See the caption package documentation for explanation.


! Package caption Error: The `subcaption' package does not work correctly
(caption)                in compatibility mode.

See the caption package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.7 \begin{document}

? 

Wenn ich fortfahre, erhalte ich die Abbildung einwandfrei, aber ich möchte wissen, was passiert. Ich hatte nie Probleme beim Einfügen von Unterabbildungen mit anderen Dokumentklassen (z. B. IEEEtran).

Hier ist ein MWE:

\documentclass[prodmode,acmtecs]{acmsmall}

\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}

\begin{document}

\begin{figure}
 \begin{subfigure}[b]{0.5\textwidth}
                \includegraphics{acmsmall-mouse.pdf}
                \caption{A subfigure}
        \end{subfigure}%
  \begin{subfigure}[b]{0.5\textwidth}
                \includegraphics{acmsmall-mouse.pdf}
                \caption{Another subfigure}
        \end{subfigure}%
\caption{Several figures}
\end{figure}

\end{document}

Gibt es eine bevorzugte Möglichkeit zum Erstellen von Unterfiguren mit acmsmall?

Antwort1

acsmall.clsund verwendete Bilder hier heruntergeladen:http://www.acm.org/publications/latex_style/v2-acmsmall.zip


Die acmsmallKlasse definiert einen \subcaptionBefehl, sodass Sie für Ihren Zweck minipages statt s verwenden können.subfigure

MWE:

\documentclass[prodmode,acmtecs]{acmsmall}

\usepackage{graphicx}

\begin{document}

\begin{figure}
\begin{minipage}[b]{0.5\textwidth}
\includegraphics{acmsmall-mouse.pdf}\\
\subcaption{A subfigure}
\end{minipage}%
\begin{minipage}[b]{0.5\textwidth}
\includegraphics{acmsmall-mouse.pdf}\\
\subcaption{Another subfigure}
\end{minipage}%
\caption{Several figures}
\end{figure}

\end{document} 

Ausgabe:

Bildbeschreibung hier eingeben

Antwort2

Die Klasse acmsmalldefiniert einen Befehl \subcaption, der zu den in Karls Antwort gezeigten Beschriftungen führt. Wenn Sie nicht streng an diese Vorlage gebunden sind und die normale Beschriftung wie aus dem Paket verwenden möchten , müssen Sie genau diesen Befehl aufheben. Der Grund dafür könnte sein, dass Sie wie gefragt auf einige ( ) subcaptionverweisen möchten.subfigure\ref{fig:a}Hier.

Das könnte wie folgt aussehen:

% arara: pdflatex

\documentclass[prodmode,acmtecs]{acmsmall}
\let\subcaption\relax
\usepackage{graphicx}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{hyperref}

\begin{document}    
    \begin{figure}
        \begin{subfigure}[b]{0.49\textwidth}
            \includegraphics{acmsmall-mouse.pdf}
            \subcaption{A subfigure}\label{fig:a}
        \end{subfigure}
        \begin{subfigure}[b]{0.49\textwidth}
            \includegraphics{acmsmall-mouse.pdf}
            \subcaption{Another subfigure}\label{fig:b}
        \end{subfigure}
        \caption{Several figures}\label{fig:1}
    \end{figure}    
\end{document}

Bildbeschreibung hier eingeben


Bitte beachten Sie, dass dies nicht der Idee des Herausgebers entspricht, der diese Vorlage erstellt hat. Bevor Sie solche Änderungen vornehmen, sollten Sie mit ihm sprechen. Möglicherweise passen nummerierte Untertitel nicht zum Gesamtdesign. In diesem Fall müssen Sie verweisen wieas you can see in Figure~\ref{fig:1} (left pic.)

Antwort3

Ok, anscheinend kann ich die Antwort von LaRiFaRi nicht kommentieren, also schreibe ich hier ... Die Antwort von LaRiFaRi funktioniert so nicht. Ich weiß nicht, warum, aber ich habe es nur geschafft, sie zum Laufen zu bringen, indem ich das hyperrefPaket hinzugefügt habe. Hier ist der Code:

\documentclass[prodmode,acmtecs]{acmsmall}
\let\subcaption\relax
\usepackage{caption}
\usepackage{subcaption}
\usepackage{graphicx}
\usepackage{hyperref} %WHY is that ?


\begin{document}

\begin{figure}
    \begin{subfigure}[b]{0.49\textwidth}
        \includegraphics{acmsmall-mouse.pdf}
        \subcaption{A subfigure}\label{fig:a}
    \end{subfigure}
    \begin{subfigure}[b]{0.49\textwidth}
        \includegraphics{acmsmall-mouse.pdf}
        \subcaption{Another subfigure}\label{fig:b}
    \end{subfigure}
    \caption{Several figures}\label{fig:1}
\end{figure} 
\end{document}

Und das resultierende Bild: Ergebnis

Antwort4

Es stellt sich also heraus, dass das Einschließen hyperrefnoch einen weiteren Effekt hat: Ich kann verwenden

\begin{minipage}
...
\subcaption{...} 
...
\end{minipage}

Ohne die Subfigure-Umgebung irgendwo explizit verwenden zu müssen.

verwandte Informationen