He estado escribiendo un documento usando la clase básica "artículo", pero ahora necesito cambiarla a "aastex". Cuando hago esto, mis subfiguras no funcionan. ¿Hay alguna forma de que aastex permita subfiguras?
Intenté mantener mi documento original lo más básico posible, así que estoy bastante seguro de que el título y el subtítulo fueron los únicos paquetes que incluí para esto.
\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}
Respuesta1
En primer lugar, veamos cómo se ve una figura normal a continuación.aastex
:
\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}
Tenga en cuenta el uso de \figcaption
para el título de una figura. La clase de documento establece el título alineado a la izquierda (totalmente justificado). Ahora, veamos el usocaption
y/osubcaption
:
\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}
Dejar \captionbox
hacerlo \relax
hace que caption
funcione aastex
(por lo que es un requisito). Luego, configuramos las [figure]
opciones para ignorar a singlelinecheck
; esto configura la figura para que sea tan ancha como sea posible, \linewidth
independientemente del ancho del título. Además, space
se agrega a comolabelsep
. Nosotros tambiénreiniciarel justification
to \centering
for [subfigures]
, ya que heredan lo que se especifica para [figure]
.
Por supuesto, también se puede fingir usando tabular
s (perdiendo parte de la funcionalidad de referencias cruzadas):
\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}