Consigo usar o subfig
pacote em meus documentos, mas não em um exercise
ambiente:
\documentclass{scrreprt}
\usepackage{exercise}
\usepackage[demo]{graphicx}
\usepackage{subfig}
\newcommand{\onefigure}[2]{%
\includegraphics[#1]{../../figures/ece1229/#2}%
}
\newcommand{\fourfigures}[5]{%
\begin{figure}%
\centering%
\subfloat[][]{\onefigure{scale=#1}{#2}}%
\qquad%
\subfloat[][]{\onefigure{scale=#1}{#3}}%
\qquad%
\subfloat[][]{\onefigure{scale=#1}{#4}}%
\qquad%
\subfloat[][]{\onefigure{scale=#1}{#5}}%
\end{figure}%
}
\begin{document}
\begin{Exercise}
%\onefigure{scale=0.2}{blah1}
\fourfigures{0.2}{blah1}{blah2}{blah3}{blah4}
\end{Exercise}
\end{document}
Quando o subfloat está incorporado em um exercício, recebo um erro "Não está no modo de par externo", semelhante ao da pergunta! Erro LaTeX: não está no modo par externo. Para essa pergunta, o erro ocorreu porque um float não é permitido em uma minipágina.
Presumo que exista uma restrição semelhante para carros alegóricos em ambientes de exercícios. Dada essa restrição, existe uma maneira de organizar várias imagens em grupos como no subfig, mas de alguma forma que ainda seja compatível com o exercício?
Responder1
Isso evita o uso de flutuadores dentro do Exercise
ambiente.
\documentclass{scrreprt}
\usepackage[margin=.5in]{geometry}
\usepackage{exercise}
\usepackage[demo]{graphicx}
\usepackage{stackengine,lipsum}
\newcommand\fourfigures[5]{%
\par\medskip{\centering%
\stackunder[6pt]{
\stackunder{\includegraphics[width=#1\textwidth]{#2}}{(a)}
\qquad%
\stackunder{\includegraphics[width=#1\textwidth]{#3}}{(b)}
}{
\stackunder{\includegraphics[width=#1\textwidth]{#4}}{(c)}
\qquad%
\stackunder{\includegraphics[width=#1\textwidth]{#5}}{(d)}
}\par}
}
\begin{document}
Pre-exeercise \lipsum[13]
\begin{Exercise}
In Exercise \lipsum[13]
\fourfigures{0.3}{blah1}{blah2}{blah3}{blah4}
\captionof{figure}{This is my figure caption}
\end{Exercise}
\begin{Exercise}
Next exercise \lipsum[13]
\fourfigures{0.2}{blah1}{blah2}{blah3}{blah4}
\captionof{figure}{This is my figure caption}
\end{Exercise}
\end{document}
Responder2
Parte da resposta foi fornecida nos comentários (removendo a figura e usando includegraphics
diretamente), mas é necessário algum trabalho adicional para recuperar os recursos disponíveis no ambiente da figura. Em particular, é necessário o ajuste manual do espaçamento e as legendas devem ser feitas de forma diferente.
No espaçamento, por padrão o espaçamento não parece ter sido escolhido de forma inteligente includegraphics
e parte dos meus gráficos pode acabar fora da borda da página:
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals0DegreesFig1}
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals90DegreesFig2}
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals180DegreesFig3}
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals270DegreesFig4}
Com o espaçamento ajustado manualmente, e usando o captions
pacote, consigo obter algo próximo de um visual figure
+ :subfloat
\begin{center}
\captionsetup{type=figure}
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals0DegreesFig1}
\qquad
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals90DegreesFig2}
\par\vspace{5mm}
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals180DegreesFig3}
\qquad
\includegraphics[scale=0.7]{../../figures/ece1229/ps4p1PlotAdEquals270DegreesFig4}
\caption{Plots of ....}
\label{fig:fourangles}
\end{center}
Infelizmente, perco os subfig
marcadores (a), (b), (c), (d), mas isso é pelo menos próximo.