Quero fazer algo semelhante ao que é feito emessepapel:
Em particular, estou interessado em:
- Mesma quantidade de imagens por linha
- Usando um rótulo vertical para categorizar cada linha
- Adicionando uma legenda
- Envolvendo a imagem (para que possa haver texto em um lado)
Eu li algumas perguntas (aquieaqui) mas são muito diferentes do que eu quero, você pode me ajudar?
Eu tentei isso, mas estou recebendo erros:
\usepackage{subcaption} % for subfigures
\begin{table}[ht]
\begin{tabular}{ccc}
\begin{subfigure}{0.4\textwidth}\includegraphics[width=0.3\columnwidth]{Figures/all_souls_000021.jpg}&
\begin{subfigure}{0.4\textwidth}\includegraphics[width=0.3\columnwidth]{Figures/all_souls_000091.jpg}&
\begin{subfigure}{0.4\textwidth}\includegraphics[width=0.3\columnwidth]{Figures/oxford_000177.jpg}\\
\end{tabular}
\caption{A table with figures}
\label{tab:mytable}
\end{table}
Erro:
! Missing } inserted.<inserted text>} ...olumnwidth]{Figures/all_souls_000021.jpg}&
Responder1
Com uma interface prática:
\documentclass{article}
\usepackage{graphicx,xparse,booktabs}
\ExplSyntaxOn
\NewDocumentEnvironment{places}{mm}
{% #1 is the desired width, #2 is the number of photos per line
\setlength{\tabcolsep}{0pt} % no space between rows
\dim_set:Nn \l_places_width_dim
{
(#1-\ht\strutbox-\dp\strutbox-2pt)/(#2)
}
\begin{tabular}{r @{\hspace{2pt}} *{#2}{c}}
}
{
\end{tabular}
}
\NewDocumentCommand{\place}{mm}
{% #1 is the name of the place, #2 is the comma separated list of images
\seq_set_from_clist:Nn \l_places_images_in_seq { #2 }
\seq_set_map:NNn \l_places_images_out_seq \l_places_images_in_seq { \places_set_image:n {##1} }
\seq_put_left:Nn \l_places_images_out_seq
{
\begin{tabular}{c}\rotatebox[origin=c]{90}{\strut#1}\end{tabular}
}
\seq_use:Nn \l_places_images_out_seq { & } \\ \addlinespace
}
\dim_new:N \l_places_width_dim
\seq_new:N \l_places_images_in_seq
\seq_new:N \l_places_images_out_seq
\cs_new_protected:Nn \places_set_image:n
{
\makebox[\l_places_width_dim]
{
\begin{tabular}{c}
\includegraphics[
width=\l_places_width_dim,
height=\l_places_width_dim,
keepaspectratio,
]{#1}
\end{tabular}
}
}
\ExplSyntaxOff
\begin{document}
\begin{figure}[htp]
\centering
\begin{places}{\textwidth}{5}
\place{Hertford}{
example-image,
example-image-a,
example-image-b,
example-image-a,
example-image-b
}
\place{Pitt Rivers}{
example-image,
example-image-9x16,
example-image-b,
example-image-a,
example-image-b
}
\end{places}
\caption{Images}
\end{figure}
\begin{figure}[htp]
\centering
\begin{places}{.5\textwidth}{5}
\place{Hertford}{
example-image,
example-image-a,
example-image-b,
example-image-a,
example-image-b
}
\place{Pitt Rivers}{
example-image,
example-image-9x16,
example-image-b,
example-image-a,
example-image-b
}
\end{places}
\caption{Images}
\end{figure}
\end{document}
Responder2
Eu suspeito que você gostaria de ter algo assim:
mas eu não tenho certeza. O trecho de código da figura acima é:
\begin{figure}
\setlength\tabcolsep{1pt}
\settowidth\rotheadsize{Radcliffe Cam}
\begin{tabularx}{\linewidth}{l XXX }
\rothead{text 1} & \includegraphics[width=\hsize,valign=m]{image-1}
& \includegraphics[width=\hsize,valign=m]{image-2}
& \includegraphics[width=\hsize,valign=m]{image-3} \\ \addlinespace[2pt]
\rothead{Radcliffe Cam} & \includegraphics[width=\hsize,valign=m]{image-4}
& \includegraphics[width=\hsize,valign=m]{image-5}
& \includegraphics[width=\hsize,valign=m]{image-6}
\end{tabularx}
\caption{A table with figures}
\label{tab:mytable}
\end{figure}
No preâmbulo do seu documento deverão ser carregados (entre outros) os seguintes pacotes:
\usepackage[demo]{graphicx}
\usepackage{booktabs, makecell, tabularx}
\usepackage{rotating}
\usepackage[export]{adjustbox}
Termo aditivo:
Nos casos em que você deseja ter imagens em "bloco" mais estreitas que a largura do texto, é necessário prescrever uma largura mais estreita tabularx
(não no ambiente da figura, isso você não pode fazer no caminho, como mostra no comentário):
\documentclass{article}
\usepackage[demo, % in real document remove "demo"
export]{adjustbox}
\usepackage{rotating}
\usepackage{booktabs, makecell, tabularx}
\begin{document}
\begin{figure}
\setlength\tabcolsep{1pt}
\settowidth\rotheadsize{Radcliffe Cam}
\setkeys{Gin}{width=\hsize}
\begin{tabularx}{0.8\linewidth}{l XXX }% <-- here is determined table width
\rothead{\centering
text 1} & \includegraphics[valign=m]{image-1}
& \includegraphics[valign=m]{image-2}
& \includegraphics[valign=m]{image-3} \\
\addlinespace[2pt]
\rothead{Radcliffe Cam} & \includegraphics[valign=m]{image-4}
& \includegraphics[valign=m]{image-5}
& \includegraphics[valign=m]{image-6}
\end{tabularx}
\caption{A table with figures}
\label{tab:mytable}
\end{figure}
\end{document}
Editar: Depois de dois anos e meio... :-) o fragmento de código no adendo é estendido para completar o MWE. Também algumas pequenas melhorias são feitas. Agora o MWE deve ser facilmente testável.