Я писал документ, используя базовый класс "article", но теперь мне нужно изменить его на "aastex". Когда я это делаю, мои подрисунки не работают. Есть ли способ, которым aastex допускает подрисунки?
Я старался сохранить исходный документ максимально простым, поэтому уверен, что caption и subcaption были единственными пакетами, которые я включил в него.
\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}
решение1
Прежде всего, давайте посмотрим, как выглядит обычная фигура под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}
Обратите внимание на использование \figcaption
для подписи рисунка. Класс документа устанавливает подпись влево (полностью выровненной). Теперь давайте рассмотрим использованиеcaption
и/илиsubcaption
:
\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}
Разрешение \captionbox
на \relax
работу caption
с aastex
(так что это требование). Затем мы устанавливаем [figure]
параметры для игнорирования a singlelinecheck
- это устанавливает ширину рисунка, как \linewidth
независимо от ширины подписи. Также a space
добавляется какlabelsep
. Мы такжеперезагрузитьto justification
for , так как они наследуют все \centering
, [subfigures]
что указано for [figure]
.
Конечно, это можно подделать и с помощью tabular
s (теряя часть функциональности перекрестных ссылок):
\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}