\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}
そして、次のように中括弧を複数のテーブルにまたがるようにしようとしています。
または:
または:
例を挙げてみましょうページの余白を使用する方法を試してみました。通常のテキストにはうまく機能しますが、表などのオブジェクトには適していないようです。
\newcommand\BrText[2]{%
\par\smallskip
\noindent\makebox[\textwidth][r]{$\text{#1}\left\{
\begin{minipage}{\textwidth}
#2
\end{minipage}
\right.\nulldelimiterspace=0pt$}\par\smallskip
}
私は他のいくつかの方法で問題を解決しようとしましたが、その時点では機能しないコードをそのままにしておくことは考えませんでした。とにかく、それが可能であるとどこかで読んだことを覚えていますが、どこで読んだのかはわかりません。これを行う方法についてのアイデアがあれば、ぜひ教えてください。
答え1
\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}
答え2
mybraceleft
水平方向の資料を便利に補強するために、との2 つの環境を用意していますmybraceright
。どちらも、必要なサイズだけの水平方向の資料 (段落の途中で使用できます) を生成します。
David のソリューションと比較して、私のソリューションの注目すべき特性の 1 つは、tabular
環境、またはそれらの代わりに使用する任意のものをしっかりと囲む水平の素材を生成することです (長0.45\textwidth
さを推測する必要はありません)。これらの要素の幅を狭めると、私の中括弧が中括弧で囲まれたコンテンツからカスタマイズ可能な距離に留まっていることがわかりますが\myhsep
、David のソリューションではそうではありません (minipage
表形式の素材の左側と右側の内側に空白が増えるため、中括弧とコンテンツの間の隙間が大きくなります)。
私が設定した要件での作業で難しいのは、2 つのtabular
環境と 2 つのキャプションを中央に配置するための適切な幅を見つけることです。このために、eqparbox
パッケージを使用します。このパッケージは、タグの適切な使用に依存しています (各タグの最大幅を検出し、通常の長さとして使用できるようにします。これは非常に便利で、優れたパッケージです)。ソースのタグに注意してください。タグは 3 ずつあります (1つしっかりminipage
と囲む二 tabular
環境とそれに関連するキャプション)。このプロセスでは、ドキュメントを少なくとも 2 回コンパイルする必要があります。
table
環境がないと
このソリューションでは、table
環境は使用されない、したがって何もフロートしません。これは主にボックス化作業です。パッケージ\captionof
からのは、caption
標準的なテーブルキャプションの慣例的な外観を生成するために使用されます。
\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}
テーブル内部に補強材を巻き付ける
これは前の例に近いですが、唯一の違いは、2 つの大きなチャンク (それぞれ 4 つのtabular
環境を含む) を浮動させることです。したがって、環境 を使用し、の代わりにtable
を使用できます。この場合、パッケージは必要ありません。これは、入力構文 (ここではと) と中括弧の周りの水平方向の間隔を除いて、David が行ったことと似ています。私の中括弧は、中括弧で囲まれた素材から一定のカスタマイズ可能な距離に留まります ( )。\caption
\captionof
caption
mybraceleft
mybraceright
\myhsep
すでに述べたように、これを機能させるには 2 回のコンパイル実行が必要ですeqparbox
。
\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}