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
:
\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 \figcaption
para a legenda de uma figura. A classe do documento define a legenda à esquerda (totalmente justificada). Agora, vamos ver como usarcaption
e/ousubcaption
:
\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 \captionbox
fazer \relax
funcionar (então é um requisito) caption
. aastex
Em seguida, definimos as [figure]
opções para ignorar a singlelinecheck
- isso define a figura como larga, \linewidth
independentemente da largura da legenda. Além disso, a space
é adicionado como labelsep
. Nós tambémreiniciaro justification
to \centering
for [subfigures]
, pois eles herdam tudo o que for especificado para [figure]
.
Claro, também é possível fingir usando tabular
s (perdendo algumas das funcionalidades de referência cruzada):
\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}