Como formatar/incluir subfiguras na classe de documento AASTex?

Como formatar/incluir subfiguras na classe de documento AASTex?

Estou escrevendo um documento usando a classe básica "artigo", mas agora preciso alterá-la para "aastex". Quando faço isso, minhas subfiguras não funcionam. Existe alguma maneira de o aastex permitir subfiguras?

Tentei manter meu documento original o mais básico possível, então tenho certeza de que legenda e sublegenda foram os únicos pacotes que incluí para isso.

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

\begin{figure}
        \centering
        \begin{subfigure}[b]{0.45\textwidth}
                \centering
                \includegraphics[width=\textwidth]{fig1.pdf}
                \caption{Caption 1}
                \label{fig:fig1}
        \end{subfigure}%
        \quad
        \begin{subfigure}[b]{0.45\textwidth}
                \centering
                \includegraphics[width=\textwidth]{fig2.pdf}
                \caption{Caption 2}
                \label{fig:fig2}
        \end{subfigure}
        \caption{Side-by-side figures.}
        \label{fig:figures}
\end{figure}

Responder1

Primeiro de tudo, vamos ver como é uma figura regular abaixoaastex:

insira a descrição da imagem aqui

\documentclass{aastex}
\usepackage{graphicx,showframe}

\begin{document}

\begin{figure}
  \centering
  \includegraphics[width=.3\linewidth]{example-image}
  \figcaption{Side-by-side figures.}
  \label{fig:figures}
\end{figure}

\end{document}

Observe o uso de \figcaptionpara a legenda de uma figura. A classe do documento define a legenda à esquerda (totalmente justificada). Agora, vamos ver como usarcaptione/ousubcaption:

insira a descrição da imagem aqui

\documentclass{aastex}
\let\captionbox\relax
\usepackage{graphicx,caption,subcaption,showframe}
\captionsetup[figure]{labelsep=space,singlelinecheck=false}
\captionsetup[subfigure]{justification=centering}

\begin{document}

\begin{figure}
  \centering
  \begin{subfigure}[b]{0.45\textwidth}
    \centering
    \includegraphics[width=.6\linewidth]{example-image-a}
    \caption{Caption 1}
    \label{fig:fig1}
  \end{subfigure}%
  \quad
  \begin{subfigure}[b]{0.45\textwidth}
    \centering
    \includegraphics[width=.4\linewidth]{example-image-b}
    \caption{Caption 2}
    \label{fig:fig2}
  \end{subfigure}
  \caption{Side-by-side figures.}
  \label{fig:figures}
\end{figure}

\end{document}

Deixar \captionboxfazer \relaxfuncionar (então é um requisito) caption. aastexEm seguida, definimos as [figure]opções para ignorar a singlelinecheck- isso define a figura como larga, \linewidthindependentemente da largura da legenda. Além disso, a spaceé adicionado como labelsep. Nós tambémreiniciaro justificationto \centeringfor [subfigures], pois eles herdam tudo o que for especificado para [figure].

Claro, também é possível fingir usando tabulars (perdendo algumas das funcionalidades de referência cruzada):

insira a descrição da imagem aqui

\documentclass{aastex}
\usepackage{graphicx,showframe}

\begin{document}

\begin{figure}
  \centering
  \begin{tabular}[b]{@{}p{0.45\textwidth}@{}}
    \centering\includegraphics[width=.6\linewidth]{example-image-a} \\
    \centering\small (a) Caption 1
  \end{tabular}%
  \quad
  \begin{tabular}[b]{@{}p{0.45\textwidth}@{}}
    \centering\includegraphics[width=.4\linewidth]{example-image-b} \\
    \centering\small (b) Caption 2
  \end{tabular}
  \caption{Side-by-side figures.}
  \label{fig:figures}
\end{figure}

\end{document}

informação relacionada