Ich habe eine Reihe von Tabellen, die wie folgt angeordnet sind:
\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}
Und ich versuche, Klammern so zu gestalten, dass sie sich über mehrere Tabellen erstrecken, und zwar folgendermaßen:
Oder:
Oder:
Hier ist ein Beispielvon etwas, das ich ausprobiert habe und das die Seitenränder nutzt. Es funktioniert gut für normalen Text, aber anscheinend nicht mit Objekten wie Tabellen:
\newcommand\BrText[2]{%
\par\smallskip
\noindent\makebox[\textwidth][r]{$\text{#1}\left\{
\begin{minipage}{\textwidth}
#2
\end{minipage}
\right.\nulldelimiterspace=0pt$}\par\smallskip
}
Ich habe versucht, das Problem auf verschiedene andere Weise zu lösen, aber ich habe damals nicht daran gedacht, nicht funktionierenden Code aufzubewahren. Jedenfalls erinnere ich mich, irgendwo gelesen zu haben, dass es möglich ist, bin mir aber nicht sicher, wo. Für jede Idee, wie man das machen kann, wäre ich sehr dankbar.
Antwort1
\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}
Antwort2
Ich biete zwei Umgebungen, mybraceleft
und mybraceright
, zum bequemen Versteifen horizontalen Materials an. Beide erzeugen horizontales Material (Sie können es in der Mitte eines Absatzes verwenden) in genau der erforderlichen Größe.
Eine bemerkenswerte Eigenschaft meiner Lösung im Vergleich zu der von David ist, dass sie horizontales Material erzeugt, das die tabular
Umgebungen oder was auch immer Sie stattdessen verwenden möchten, eng umschließt (Sie müssen die 0.45\textwidth
Länge nicht schätzen). Wenn Sie die Breite dieser Elemente verringern, werden Sie sehen, dass meine Klammern im anpassbaren Abstand \myhsep
zum geschweiften Inhalt bleiben, was bei Davids Lösung nicht der Fall ist (Sie werden eine größere Lücke zwischen Klammern und Inhalt haben, weil es minipage
mehr Leerraum innerhalb, links und rechts des tabellarischen Materials gibt).
Ein kniffliger Teil der Arbeit mit den von mir festgelegten Anforderungen besteht darin, die geeignete Breite zu finden, um zwei tabular
Umgebungen und zwei zusammengehörende Überschriften zu zentrieren. Dafür verwende ich das eqparbox
Paket. Dieses Paket basiert auf der richtigen Verwendung von Tags (für jedes Tag findet es die maximale Breite und ermöglicht es Ihnen, diese als normale Länge zu verwenden – das ist äußerst praktisch, tolles Paket!). Achten Sie auf die Tags in der Quelle, sie werden in Dreiergruppen (einsfür ein, minipage
das eng umschließtzwei tabular
Umgebungen und die dazugehörigen Beschriftungen). Dieser Vorgang erfordert mindestens zweimaliges Kompilieren des Dokuments.
Ohne table
Umgebung
Bei dieser Lösung table
wird die Umgebung nicht verwendet, daher schwebt nichts. Dies ist hauptsächlich Boxing-Arbeit. \captionof
aus dem caption
Paket wird verwendet, um das übliche Erscheinungsbild von Standardtabellenbeschriftungen zu erzeugen.
\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}
Verpacken von Stützmaterial in Tische
Dies ähnelt dem vorherigen Beispiel. Der einzige Unterschied besteht darin, dass wir zwei große Blöcke (jeder enthält vier tabular
Umgebungen) schweben lassen. Daher verwenden wir die table
Umgebung und können \caption
anstelle von verwenden \captionof
. In diesem Fall ist das Paket nicht erforderlich caption
. Dies ähnelt dem, was David getan hat, mit Ausnahme der Eingabesyntax ( mybraceleft
und mybraceright
hier) und des horizontalen Abstands um die Klammern: Meine Klammern bleiben in einem konstanten, anpassbaren Abstand vom geschwungenen Material ( \myhsep
).
Wie bereits erwähnt, sind hierfür zwei Kompilierungsdurchläufe erforderlich, damit eqparbox
die Arbeit erledigt werden kann.
\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}