Eu tenho um monte de tabelas organizadas assim:
\documentclass{article}
\begin{document}
\begin{table}
\begin{minipage}[c][1\totalheight][t]{0.45\textwidth}%
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\par\end{center}
\caption{Table \#1}
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}%
\par\end{center}
\caption{Table \#2}
\end{minipage}\hfill{}%
\begin{minipage}[c][1\totalheight][t]{0.45\textwidth}%
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\par\end{center}
\caption{Table \#3}
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}%
\par\end{center}
\caption{Table \#4}
\end{minipage}
\end{table}
\end{document}
E estou tentando fazer com que os colchetes abranjam várias tabelas da seguinte forma:
Ou:
Ou:
Aqui está um exemplode algo que tentei que usa as margens da página. Funciona muito bem para texto normal, mas não com objetos como tabelas:
\newcommand\BrText[2]{%
\par\smallskip
\noindent\makebox[\textwidth][r]{$\text{#1}\left\{
\begin{minipage}{\textwidth}
#2
\end{minipage}
\right.\nulldelimiterspace=0pt$}\par\smallskip
}
Tentei resolver o problema de outras maneiras, mas não pensei em me apegar a um código que não funcionava naquele momento. De qualquer forma, lembro-me de ter lido em algum lugar que isso é possível, mas não tenho certeza de onde. Qualquer idéia de como fazer isso seria muito apreciada.
Responder1
\documentclass{article}
\begin{document}
\begin{table}
$\left\{
\begin{minipage}[c]{0.45\textwidth}%
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{center}
\caption{Table \#1}
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}%
\end{center}
\caption{Table \#2}
\end{minipage}
\begin{minipage}[c]{0.45\textwidth}%
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{center}
\caption{Table \#3}
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}%
\end{center}
\caption{Table \#4}
\end{minipage}
\right\}$
\end{table}
\end{document}
Responder2
Eu forneço dois ambientes, mybraceleft
e mybraceright
, para apoiar convenientemente o material horizontal. Ambos produzem material horizontal (você pode usá-los no meio de um parágrafo) apenas no tamanho necessário.
Uma propriedade notável da minha solução em comparação com a de David é que ela produz material horizontal que envolve firmemente os tabular
ambientes, ou o que você decidir usar em seu lugar (você não precisa adivinhar o 0.45\textwidth
comprimento). Se você reduzir a largura desses elementos, verá que meus colchetes permanecem na distância personalizável \myhsep
do conteúdo contraventado, o que não é o caso da solução de David (você terá uma lacuna maior entre colchetes e conteúdo porque o minipage
terá mais espaços em branco dentro, à esquerda e à direita do material tabular).
Uma parte complicada do trabalho com os requisitos que estabeleci é encontrar a largura apropriada para centralizar dois tabular
ambientes e duas legendas que andam juntas. Para isso, utilizo o eqparbox
pacote. Este pacote depende do uso adequado de tags (para cada tag, ele encontra a largura máxima e permite usá-la como um comprimento normal - isso é extremamente conveniente, ótimo pacote!). Fique atento às tags na fonte, elas vão por três (umpara um minipage
que envolve firmementedois tabular
ambientes e suas legendas associadas). Este processo requer a compilação do documento pelo menos duas vezes.
Sem table
ambiente
Nesta solução o table
ambiente não é utilizado, portanto nada flutua. Este é principalmente um trabalho de boxe. \captionof
do caption
pacote é usado para produzir a aparência habitual das legendas de tabela padrão.
\documentclass{article}
\usepackage[hscale=0.65]{geometry} % enlarge margins a little bit for the example
\usepackage{eqparbox}
\usepackage{caption}
\makeatletter
\newsavebox{\mybox}
\newlength{\myhsep} % Horizontal separation between brace and contents
\setlength{\myhsep}{0.7em}
\newenvironment{mybraceleft}{%
\begin{lrbox}{\mybox}
}{%
\end{lrbox}%
$\m@th \left\{ \kern\myhsep \vcenter{\hbox{\usebox{\mybox}}} \right.$%
\kern-\nulldelimiterspace
\ignorespacesafterend
}
\newenvironment{mybraceright}{%
\begin{lrbox}{\mybox}
}{%
\end{lrbox}%
\leavevmode
\kern-\nulldelimiterspace
$\m@th \left. \vcenter{\hbox{\usebox{\mybox}}} \kern\myhsep \right\}$%
\ignorespacesafterend
}
\makeatother
\begin{document}
\noindent
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag1}}
\centering
\begin{eqminipage}[c]{tag1}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#1}
\bigskip
\begin{eqminipage}[c]{tag1}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#2}
\end{minipage}
\end{mybraceleft}% spaces would be ignored here anyway because of the
% \ignorespacesafterend we used
\hfill
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag2}}
\centering
\begin{eqminipage}[c]{tag2}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#3}
\bigskip
\begin{eqminipage}[c]{tag2}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#4}
\end{minipage}
\end{mybraceleft}
\vspace{2cm}
\noindent
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag3}}
\centering
\begin{eqminipage}[c]{tag3}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#5}
\bigskip
\begin{eqminipage}[c]{tag3}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#6}
\end{minipage}
\end{mybraceleft}% spaces would be ignored here anyway because of the
% \ignorespacesafterend we used
\hfill
\begin{mybraceright}
\begin{minipage}{\eqboxwidth{tag4}}
\centering
\begin{eqminipage}[c]{tag4}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#7}
\bigskip
\begin{eqminipage}[c]{tag4}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\captionof{table}{Table \#8}
\end{minipage}
\end{mybraceright}
\end{document}
Envolvendo material reforçado dentro das mesas
Isso é próximo ao exemplo anterior, a única diferença é que permitimos que dois grandes pedaços (cada um contendo quatro tabular
ambientes) flutuem. Assim, usamos o table
ambiente e podemos usar \caption
em vez de \captionof
. Não há necessidade do caption
pacote neste caso. Isso é semelhante ao que David fez, exceto pela sintaxe de entrada ( mybraceleft
e mybraceright
aqui) e espaçamento horizontal em torno dos colchetes: meus colchetes ficam a uma distância constante e personalizável do material contraventado ( \myhsep
).
Como já mencionado, isso requer duas execuções de compilação para permitir eqparbox
o seu trabalho.
\documentclass{article}
\usepackage[hscale=0.65]{geometry} % enlarge margins a little bit for the example
\usepackage{eqparbox}
\makeatletter
\newsavebox{\mybox}
\newlength{\myhsep} % Horizontal separation between brace and contents
\setlength{\myhsep}{0.7em}
\newenvironment{mybraceleft}{%
\begin{lrbox}{\mybox}
}{%
\end{lrbox}%
$\m@th \left\{ \kern\myhsep \vcenter{\hbox{\usebox{\mybox}}} \right.$%
\kern-\nulldelimiterspace
\ignorespacesafterend
}
\newenvironment{mybraceright}{%
\begin{lrbox}{\mybox}
}{%
\end{lrbox}%
\leavevmode
\kern-\nulldelimiterspace
$\m@th \left. \vcenter{\hbox{\usebox{\mybox}}} \kern\myhsep \right\}$%
\ignorespacesafterend
}
\makeatother
\begin{document}
\begin{table}
\centering
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag1}}
\centering
\begin{eqminipage}[c]{tag1}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#1}
\bigskip
\begin{eqminipage}[c]{tag1}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#2}
\end{minipage}
\end{mybraceleft}% spaces would be ignored here anyway because of the
% \ignorespacesafterend we used
\hfill
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag2}}
\centering
\begin{eqminipage}[c]{tag2}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#3}
\bigskip
\begin{eqminipage}[c]{tag2}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#4}
\end{minipage}
\end{mybraceleft}
\end{table}
\begin{table}
\centering
\begin{mybraceleft}
\begin{minipage}{\eqboxwidth{tag3}}
\centering
\begin{eqminipage}[c]{tag3}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#5}
\bigskip
\begin{eqminipage}[c]{tag3}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#6}
\end{minipage}
\end{mybraceleft}% spaces would be ignored here anyway because of the
% \ignorespacesafterend we used
\hfill
\begin{mybraceright}
\begin{minipage}{\eqboxwidth{tag4}}
\centering
\begin{eqminipage}[c]{tag4}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#7}
\bigskip
\begin{eqminipage}[c]{tag4}
\begin{tabular}{@{}|c|c|c|c|c|c|c|c|@{}}
\hline
a & b & c & d & e & f & g & h\\
\hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8\\
\hline
a & b & c & d & e & f & g & h\\
\hline
\end{tabular}
\end{eqminipage}%
\caption{Table \#8}
\end{minipage}
\end{mybraceright}
\end{table}
\end{document}