Ohne tableUmgebung

Ohne tableUmgebung

Ich habe eine Reihe von Tabellen, die wie folgt angeordnet sind: Bildbeschreibung hier eingeben

\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:


Bildbeschreibung hier eingeben


Oder:


Bildbeschreibung hier eingeben


Oder:


Bildbeschreibung hier eingeben


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

Bildbeschreibung hier eingeben

\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, mybraceleftund 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 tabularUmgebungen oder was auch immer Sie stattdessen verwenden möchten, eng umschließt (Sie müssen die 0.45\textwidthLänge nicht schätzen). Wenn Sie die Breite dieser Elemente verringern, werden Sie sehen, dass meine Klammern im anpassbaren Abstand \myhsepzum 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 minipagemehr 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 tabularUmgebungen und zwei zusammengehörende Überschriften zu zentrieren. Dafür verwende ich das eqparboxPaket. 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, minipagedas eng umschließtzwei tabularUmgebungen und die dazugehörigen Beschriftungen). Dieser Vorgang erfordert mindestens zweimaliges Kompilieren des Dokuments.

Ohne tableUmgebung

Bei dieser Lösung tablewird die Umgebung nicht verwendet, daher schwebt nichts. Dies ist hauptsächlich Boxing-Arbeit. \captionofaus dem captionPaket 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}

Bildschirmfoto

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 tabularUmgebungen) schweben lassen. Daher verwenden wir die tableUmgebung und können \captionanstelle von verwenden \captionof. In diesem Fall ist das Paket nicht erforderlich caption. Dies ähnelt dem, was David getan hat, mit Ausnahme der Eingabesyntax ( mybraceleftund mybracerighthier) 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 eqparboxdie 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}

Bildschirmfoto

verwandte Informationen