Braces spanning multiple tables (whole tables, not rows or pages)Should I use center or centering for figures and tables?When should we use begincenter instead of centering?Brace and text in side marginhow one can write a nice vector parser, something that does pgfvecparseA=B-C; D=E x F;Overlaying drawings and annotations over tables and ordinary textCreating tables with spanning rows/columnsTable spanning multiple pagestable breaks spanning multiple pagesVertical braces spanning multiple items in an ennumeration-like environmentBrace spanning multiple rows in a table and horizontal alignmentExhaustive Information about text alignment in TabularChapter title and rotated table (with subtables) on the same pageProblem aligning decimals in multi-column tableHow to force a maximum cell height?SWP - Right column misaligned in table

In an emergency, how do I find and share my position?

Can you be convicted for being a murderer twice?

Does adding the 'precise' tag to daggers break anything?

How can I support the recycling, but not the new production of aluminum?

How much code would a codegolf golf if a codegolf could golf code?

Does C++20 mandate source code being stored in files?

How should I think about joining a company whose business I do not understand?

The economy of trapping

Are illustrations in novels frowned upon?

Is a butterfly one or two animals?

Have only girls been born for a long time in this village?

Ask for a paid taxi in order to arrive as early as possible for an interview within the city

Was Switzerland really impossible to invade during WW2?

Is there a known non-euclidean geometry where two concentric circles of different radii can intersect? (as in the novel "The Universe Between")

How to create a summation symbol with a vertical bar?

Is there such a thing as too inconvenient?

Repetitive validation of Console inputs

!I!n!s!e!r!t! !n!b!e!t!w!e!e!n!

Injectivity radius of manifolds with boundary

How big would a Daddy Longlegs Spider need to be to kill an average Human?

How to compare two different formulations of a problem?

Why doesn't the Falcon-9 first stage use three legs to land?

Efficiently pathfinding many flocking enemies around obstacles

How can I use unicode in this condition?



Braces spanning multiple tables (whole tables, not rows or pages)


Should I use center or centering for figures and tables?When should we use begincenter instead of centering?Brace and text in side marginhow one can write a nice vector parser, something that does pgfvecparseA=B-C; D=E x F;Overlaying drawings and annotations over tables and ordinary textCreating tables with spanning rows/columnsTable spanning multiple pagestable breaks spanning multiple pagesVertical braces spanning multiple items in an ennumeration-like environmentBrace spanning multiple rows in a table and horizontal alignmentExhaustive Information about text alignment in TabularChapter title and rotated table (with subtables) on the same pageProblem aligning decimals in multi-column tableHow to force a maximum cell height?SWP - Right column misaligned in table






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








3















I've got a bunch of tables arranged like so:
enter image description here



documentclassarticle

begindocument
begintable
beginminipage[c][1totalheight][t]0.45textwidth%
begincenter
begintabularc
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
endtabular
parendcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #2
endminipagehfill%
beginminipage[c][1totalheight][t]0.45textwidth%

begincenter
begintabularc
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
endtabular
parendcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #4
endminipage
endtable

enddocument


And I'm trying to get braces to span multiple tables like so:




enter image description here




Or:




enter image description here




Or:




enter image description here




Here's an example of something I tried that uses the page margins. It works great for regular text, but not with objects like tables it seems:



newcommandBrText[2]{%
parsmallskip
noindentmakebox[textwidth][r]$text#1left
beginminipagetextwidth
#2
endminipage
right.nulldelimiterspace=0pt$parsmallskip



I tried working the problem a few other ways, but didn't think to hang on to non-working code at the time.
Anyway, I recall reading somewhere that it's possible, but not sure where.
Any ideas how to do this would be much appreciated.










share|improve this question


























  • You really want the braces not to encompass the “Table 2” and “Table 4” captions?

    – frougon
    Aug 8 at 14:57











  • @frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

    – tjt263
    Aug 8 at 15:24

















3















I've got a bunch of tables arranged like so:
enter image description here



documentclassarticle

begindocument
begintable
beginminipage[c][1totalheight][t]0.45textwidth%
begincenter
begintabularc
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
endtabular
parendcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #2
endminipagehfill%
beginminipage[c][1totalheight][t]0.45textwidth%

begincenter
begintabularc
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
endtabular
parendcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #4
endminipage
endtable

enddocument


And I'm trying to get braces to span multiple tables like so:




enter image description here




Or:




enter image description here




Or:




enter image description here




Here's an example of something I tried that uses the page margins. It works great for regular text, but not with objects like tables it seems:



newcommandBrText[2]{%
parsmallskip
noindentmakebox[textwidth][r]$text#1left
beginminipagetextwidth
#2
endminipage
right.nulldelimiterspace=0pt$parsmallskip



I tried working the problem a few other ways, but didn't think to hang on to non-working code at the time.
Anyway, I recall reading somewhere that it's possible, but not sure where.
Any ideas how to do this would be much appreciated.










share|improve this question


























  • You really want the braces not to encompass the “Table 2” and “Table 4” captions?

    – frougon
    Aug 8 at 14:57











  • @frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

    – tjt263
    Aug 8 at 15:24













3












3








3








I've got a bunch of tables arranged like so:
enter image description here



documentclassarticle

begindocument
begintable
beginminipage[c][1totalheight][t]0.45textwidth%
begincenter
begintabularc
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
endtabular
parendcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #2
endminipagehfill%
beginminipage[c][1totalheight][t]0.45textwidth%

begincenter
begintabularc
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
endtabular
parendcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #4
endminipage
endtable

enddocument


And I'm trying to get braces to span multiple tables like so:




enter image description here




Or:




enter image description here




Or:




enter image description here




Here's an example of something I tried that uses the page margins. It works great for regular text, but not with objects like tables it seems:



newcommandBrText[2]{%
parsmallskip
noindentmakebox[textwidth][r]$text#1left
beginminipagetextwidth
#2
endminipage
right.nulldelimiterspace=0pt$parsmallskip



I tried working the problem a few other ways, but didn't think to hang on to non-working code at the time.
Anyway, I recall reading somewhere that it's possible, but not sure where.
Any ideas how to do this would be much appreciated.










share|improve this question
















I've got a bunch of tables arranged like so:
enter image description here



documentclassarticle

begindocument
begintable
beginminipage[c][1totalheight][t]0.45textwidth%
begincenter
begintabularc
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
endtabular
parendcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #2
endminipagehfill%
beginminipage[c][1totalheight][t]0.45textwidth%

begincenter
begintabularc
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
endtabular
parendcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
parendcenter
captionTable #4
endminipage
endtable

enddocument


And I'm trying to get braces to span multiple tables like so:




enter image description here




Or:




enter image description here




Or:




enter image description here




Here's an example of something I tried that uses the page margins. It works great for regular text, but not with objects like tables it seems:



newcommandBrText[2]{%
parsmallskip
noindentmakebox[textwidth][r]$text#1left
beginminipagetextwidth
#2
endminipage
right.nulldelimiterspace=0pt$parsmallskip



I tried working the problem a few other ways, but didn't think to hang on to non-working code at the time.
Anyway, I recall reading somewhere that it's possible, but not sure where.
Any ideas how to do this would be much appreciated.







tables braces marginnote layout






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Aug 9 at 7:48







tjt263

















asked Aug 8 at 14:36









tjt263tjt263

6881 silver badge12 bronze badges




6881 silver badge12 bronze badges















  • You really want the braces not to encompass the “Table 2” and “Table 4” captions?

    – frougon
    Aug 8 at 14:57











  • @frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

    – tjt263
    Aug 8 at 15:24

















  • You really want the braces not to encompass the “Table 2” and “Table 4” captions?

    – frougon
    Aug 8 at 14:57











  • @frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

    – tjt263
    Aug 8 at 15:24
















You really want the braces not to encompass the “Table 2” and “Table 4” captions?

– frougon
Aug 8 at 14:57





You really want the braces not to encompass the “Table 2” and “Table 4” captions?

– frougon
Aug 8 at 14:57













@frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

– tjt263
Aug 8 at 15:24





@frougon I think either way is probably fine. Dealers choice :) Or both if you know both. Someone else might need the alternative

– tjt263
Aug 8 at 15:24










2 Answers
2






active

oldest

votes


















6














enter image description here



documentclassarticle

begindocument
begintable
$left
beginminipage[c]0.45textwidth%
begincenter
begintabularc
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
endtabular
endcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #2
endminipage
beginminipage[c]0.45textwidth%

begincenter
begintabularc
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
endtabular
endcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #4
endminipage
right$
endtable

enddocument





share|improve this answer



























  • Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

    – tjt263
    Aug 8 at 15:54











  • parendcenter?

    – egreg
    Aug 8 at 17:32











  • @egreg hmm yes copied from OP, I'll delete the par

    – David Carlisle
    Aug 8 at 17:53











  • what's the problem

    – tjt263
    Aug 9 at 6:41











  • @tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

    – David Carlisle
    Aug 9 at 7:14


















4














I provide two environments, mybraceleft and mybraceright, for conveniently bracing horizontal material. They both produce horizontal material (you can use them in the middle of a paragraph) of just the required size.



One notable property of my solution as compared to David's one is that it produces horizontal material that tightly wraps the tabular environments, or whatever you decide to use in their place (you don't have to guess the 0.45textwidth length). If you reduce the width of these elements, you'll see that my braces remain at the customizable distance myhsep from the braced contents, which is not the case with David's solution (you'll have a larger gap between braces and contents because the minipage will have more whitespace inside, on the left and on the right of the tabular material).



A tricky part of the work with the requirements I set is to find the appropriate width for centering two tabular environments and two captions that go together. For this, I use the eqparbox package. This package relies on proper use of tags (for each tag, it finds the maximum width and allows you to use it as a normal length—this is extremely convenient, great package!). Watch for the tags in the source, they go by three (one for a minipage that tightly encloses two tabular environments and their associated captions). This process requires to compile the document at least twice.



With no table environment



In this solution, the table environment isn't used, therefore nothing floats. This is mainly boxing work. captionof from the caption package is used to produce the customary appearance of standard table captions.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox
usepackagecaption

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

noindent
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #4
endminipage
endmybraceleft

vspace2cm
noindent
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #8
endminipage
endmybraceright

enddocument


screenshot



Wrapping braced material inside tables



This is close to the previous example, the only difference is that we allow two big chunks (each containing four tabular environments) to float. Thus, we use the table environment and can use caption instead of captionof. No need for the caption package in this case. This is similar to what David did, except for the input syntax (mybraceleft and mybraceright here) and horizontal spacing around the braces: my braces stay at a constant, customizable distance from the braced material (myhsep).



As already mentioned, this requires two compilation runs to allow eqparbox to do its work.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #4
endminipage
endmybraceleft
endtable

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #8
endminipage
endmybraceright
endtable

enddocument


screenshot






share|improve this answer



























  • I am wondering if you could solve this problem.

    – user121799
    Aug 8 at 21:46











  • @user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

    – frougon
    Aug 8 at 22:23












  • OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

    – user121799
    Aug 8 at 23:20











  • Thanks. What benefit does this provide that the much simpler alternative doesn't?

    – tjt263
    Aug 9 at 6:53











  • I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

    – frougon
    Aug 9 at 7:37














Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f503397%2fbraces-spanning-multiple-tables-whole-tables-not-rows-or-pages%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









6














enter image description here



documentclassarticle

begindocument
begintable
$left
beginminipage[c]0.45textwidth%
begincenter
begintabularc
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
endtabular
endcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #2
endminipage
beginminipage[c]0.45textwidth%

begincenter
begintabularc
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
endtabular
endcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #4
endminipage
right$
endtable

enddocument





share|improve this answer



























  • Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

    – tjt263
    Aug 8 at 15:54











  • parendcenter?

    – egreg
    Aug 8 at 17:32











  • @egreg hmm yes copied from OP, I'll delete the par

    – David Carlisle
    Aug 8 at 17:53











  • what's the problem

    – tjt263
    Aug 9 at 6:41











  • @tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

    – David Carlisle
    Aug 9 at 7:14















6














enter image description here



documentclassarticle

begindocument
begintable
$left
beginminipage[c]0.45textwidth%
begincenter
begintabularc
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
endtabular
endcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #2
endminipage
beginminipage[c]0.45textwidth%

begincenter
begintabularc
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
endtabular
endcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #4
endminipage
right$
endtable

enddocument





share|improve this answer



























  • Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

    – tjt263
    Aug 8 at 15:54











  • parendcenter?

    – egreg
    Aug 8 at 17:32











  • @egreg hmm yes copied from OP, I'll delete the par

    – David Carlisle
    Aug 8 at 17:53











  • what's the problem

    – tjt263
    Aug 9 at 6:41











  • @tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

    – David Carlisle
    Aug 9 at 7:14













6












6








6







enter image description here



documentclassarticle

begindocument
begintable
$left
beginminipage[c]0.45textwidth%
begincenter
begintabularc
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
endtabular
endcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #2
endminipage
beginminipage[c]0.45textwidth%

begincenter
begintabularc
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
endtabular
endcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #4
endminipage
right$
endtable

enddocument





share|improve this answer















enter image description here



documentclassarticle

begindocument
begintable
$left
beginminipage[c]0.45textwidth%
begincenter
begintabularc
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
endtabular
endcenter
captionTable #1

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #2
endminipage
beginminipage[c]0.45textwidth%

begincenter
begintabularc
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
endtabular
endcenter
captionTable #3

begincenter
begintabularc
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
endtabular%
endcenter
captionTable #4
endminipage
right$
endtable

enddocument






share|improve this answer














share|improve this answer



share|improve this answer








edited Aug 8 at 17:54

























answered Aug 8 at 15:09









David CarlisleDavid Carlisle

520k44 gold badges1176 silver badges1947 bronze badges




520k44 gold badges1176 silver badges1947 bronze badges















  • Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

    – tjt263
    Aug 8 at 15:54











  • parendcenter?

    – egreg
    Aug 8 at 17:32











  • @egreg hmm yes copied from OP, I'll delete the par

    – David Carlisle
    Aug 8 at 17:53











  • what's the problem

    – tjt263
    Aug 9 at 6:41











  • @tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

    – David Carlisle
    Aug 9 at 7:14

















  • Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

    – tjt263
    Aug 8 at 15:54











  • parendcenter?

    – egreg
    Aug 8 at 17:32











  • @egreg hmm yes copied from OP, I'll delete the par

    – David Carlisle
    Aug 8 at 17:53











  • what's the problem

    – tjt263
    Aug 9 at 6:41











  • @tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

    – David Carlisle
    Aug 9 at 7:14
















Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

– tjt263
Aug 8 at 15:54





Beautiful, thanks. I actually tried that a bunch of times with minor variations and kept getting Not in outer par mode, Undefined control sequence, etc. Guess I didn't have it quite right.

– tjt263
Aug 8 at 15:54













parendcenter?

– egreg
Aug 8 at 17:32





parendcenter?

– egreg
Aug 8 at 17:32













@egreg hmm yes copied from OP, I'll delete the par

– David Carlisle
Aug 8 at 17:53





@egreg hmm yes copied from OP, I'll delete the par

– David Carlisle
Aug 8 at 17:53













what's the problem

– tjt263
Aug 9 at 6:41





what's the problem

– tjt263
Aug 9 at 6:41













@tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

– David Carlisle
Aug 9 at 7:14





@tjt263 the par does nothing useful (I simply deleted it) it might also be better to use centering rather than begincenter here to avoid extra vertical space, but I left that.

– David Carlisle
Aug 9 at 7:14













4














I provide two environments, mybraceleft and mybraceright, for conveniently bracing horizontal material. They both produce horizontal material (you can use them in the middle of a paragraph) of just the required size.



One notable property of my solution as compared to David's one is that it produces horizontal material that tightly wraps the tabular environments, or whatever you decide to use in their place (you don't have to guess the 0.45textwidth length). If you reduce the width of these elements, you'll see that my braces remain at the customizable distance myhsep from the braced contents, which is not the case with David's solution (you'll have a larger gap between braces and contents because the minipage will have more whitespace inside, on the left and on the right of the tabular material).



A tricky part of the work with the requirements I set is to find the appropriate width for centering two tabular environments and two captions that go together. For this, I use the eqparbox package. This package relies on proper use of tags (for each tag, it finds the maximum width and allows you to use it as a normal length—this is extremely convenient, great package!). Watch for the tags in the source, they go by three (one for a minipage that tightly encloses two tabular environments and their associated captions). This process requires to compile the document at least twice.



With no table environment



In this solution, the table environment isn't used, therefore nothing floats. This is mainly boxing work. captionof from the caption package is used to produce the customary appearance of standard table captions.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox
usepackagecaption

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

noindent
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #4
endminipage
endmybraceleft

vspace2cm
noindent
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #8
endminipage
endmybraceright

enddocument


screenshot



Wrapping braced material inside tables



This is close to the previous example, the only difference is that we allow two big chunks (each containing four tabular environments) to float. Thus, we use the table environment and can use caption instead of captionof. No need for the caption package in this case. This is similar to what David did, except for the input syntax (mybraceleft and mybraceright here) and horizontal spacing around the braces: my braces stay at a constant, customizable distance from the braced material (myhsep).



As already mentioned, this requires two compilation runs to allow eqparbox to do its work.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #4
endminipage
endmybraceleft
endtable

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #8
endminipage
endmybraceright
endtable

enddocument


screenshot






share|improve this answer



























  • I am wondering if you could solve this problem.

    – user121799
    Aug 8 at 21:46











  • @user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

    – frougon
    Aug 8 at 22:23












  • OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

    – user121799
    Aug 8 at 23:20











  • Thanks. What benefit does this provide that the much simpler alternative doesn't?

    – tjt263
    Aug 9 at 6:53











  • I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

    – frougon
    Aug 9 at 7:37
















4














I provide two environments, mybraceleft and mybraceright, for conveniently bracing horizontal material. They both produce horizontal material (you can use them in the middle of a paragraph) of just the required size.



One notable property of my solution as compared to David's one is that it produces horizontal material that tightly wraps the tabular environments, or whatever you decide to use in their place (you don't have to guess the 0.45textwidth length). If you reduce the width of these elements, you'll see that my braces remain at the customizable distance myhsep from the braced contents, which is not the case with David's solution (you'll have a larger gap between braces and contents because the minipage will have more whitespace inside, on the left and on the right of the tabular material).



A tricky part of the work with the requirements I set is to find the appropriate width for centering two tabular environments and two captions that go together. For this, I use the eqparbox package. This package relies on proper use of tags (for each tag, it finds the maximum width and allows you to use it as a normal length—this is extremely convenient, great package!). Watch for the tags in the source, they go by three (one for a minipage that tightly encloses two tabular environments and their associated captions). This process requires to compile the document at least twice.



With no table environment



In this solution, the table environment isn't used, therefore nothing floats. This is mainly boxing work. captionof from the caption package is used to produce the customary appearance of standard table captions.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox
usepackagecaption

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

noindent
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #4
endminipage
endmybraceleft

vspace2cm
noindent
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #8
endminipage
endmybraceright

enddocument


screenshot



Wrapping braced material inside tables



This is close to the previous example, the only difference is that we allow two big chunks (each containing four tabular environments) to float. Thus, we use the table environment and can use caption instead of captionof. No need for the caption package in this case. This is similar to what David did, except for the input syntax (mybraceleft and mybraceright here) and horizontal spacing around the braces: my braces stay at a constant, customizable distance from the braced material (myhsep).



As already mentioned, this requires two compilation runs to allow eqparbox to do its work.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #4
endminipage
endmybraceleft
endtable

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #8
endminipage
endmybraceright
endtable

enddocument


screenshot






share|improve this answer



























  • I am wondering if you could solve this problem.

    – user121799
    Aug 8 at 21:46











  • @user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

    – frougon
    Aug 8 at 22:23












  • OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

    – user121799
    Aug 8 at 23:20











  • Thanks. What benefit does this provide that the much simpler alternative doesn't?

    – tjt263
    Aug 9 at 6:53











  • I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

    – frougon
    Aug 9 at 7:37














4












4








4







I provide two environments, mybraceleft and mybraceright, for conveniently bracing horizontal material. They both produce horizontal material (you can use them in the middle of a paragraph) of just the required size.



One notable property of my solution as compared to David's one is that it produces horizontal material that tightly wraps the tabular environments, or whatever you decide to use in their place (you don't have to guess the 0.45textwidth length). If you reduce the width of these elements, you'll see that my braces remain at the customizable distance myhsep from the braced contents, which is not the case with David's solution (you'll have a larger gap between braces and contents because the minipage will have more whitespace inside, on the left and on the right of the tabular material).



A tricky part of the work with the requirements I set is to find the appropriate width for centering two tabular environments and two captions that go together. For this, I use the eqparbox package. This package relies on proper use of tags (for each tag, it finds the maximum width and allows you to use it as a normal length—this is extremely convenient, great package!). Watch for the tags in the source, they go by three (one for a minipage that tightly encloses two tabular environments and their associated captions). This process requires to compile the document at least twice.



With no table environment



In this solution, the table environment isn't used, therefore nothing floats. This is mainly boxing work. captionof from the caption package is used to produce the customary appearance of standard table captions.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox
usepackagecaption

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

noindent
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #4
endminipage
endmybraceleft

vspace2cm
noindent
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #8
endminipage
endmybraceright

enddocument


screenshot



Wrapping braced material inside tables



This is close to the previous example, the only difference is that we allow two big chunks (each containing four tabular environments) to float. Thus, we use the table environment and can use caption instead of captionof. No need for the caption package in this case. This is similar to what David did, except for the input syntax (mybraceleft and mybraceright here) and horizontal spacing around the braces: my braces stay at a constant, customizable distance from the braced material (myhsep).



As already mentioned, this requires two compilation runs to allow eqparbox to do its work.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #4
endminipage
endmybraceleft
endtable

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #8
endminipage
endmybraceright
endtable

enddocument


screenshot






share|improve this answer















I provide two environments, mybraceleft and mybraceright, for conveniently bracing horizontal material. They both produce horizontal material (you can use them in the middle of a paragraph) of just the required size.



One notable property of my solution as compared to David's one is that it produces horizontal material that tightly wraps the tabular environments, or whatever you decide to use in their place (you don't have to guess the 0.45textwidth length). If you reduce the width of these elements, you'll see that my braces remain at the customizable distance myhsep from the braced contents, which is not the case with David's solution (you'll have a larger gap between braces and contents because the minipage will have more whitespace inside, on the left and on the right of the tabular material).



A tricky part of the work with the requirements I set is to find the appropriate width for centering two tabular environments and two captions that go together. For this, I use the eqparbox package. This package relies on proper use of tags (for each tag, it finds the maximum width and allows you to use it as a normal length—this is extremely convenient, great package!). Watch for the tags in the source, they go by three (one for a minipage that tightly encloses two tabular environments and their associated captions). This process requires to compile the document at least twice.



With no table environment



In this solution, the table environment isn't used, therefore nothing floats. This is mainly boxing work. captionof from the caption package is used to produce the customary appearance of standard table captions.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox
usepackagecaption

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

noindent
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #4
endminipage
endmybraceleft

vspace2cm
noindent
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionoftableTable #8
endminipage
endmybraceright

enddocument


screenshot



Wrapping braced material inside tables



This is close to the previous example, the only difference is that we allow two big chunks (each containing four tabular environments) to float. Thus, we use the table environment and can use caption instead of captionof. No need for the caption package in this case. This is similar to what David did, except for the input syntax (mybraceleft and mybraceright here) and horizontal spacing around the braces: my braces stay at a constant, customizable distance from the braced material (myhsep).



As already mentioned, this requires two compilation runs to allow eqparbox to do its work.



documentclassarticle
usepackage[hscale=0.65]geometry % enlarge margins a little bit for the example
usepackageeqparbox

makeatletter

newsaveboxmybox
newlengthmyhsep % Horizontal separation between brace and contents
setlengthmyhsep0.7em

newenvironmentmybraceleft%
beginlrboxmybox
%
endlrbox%
$m@th left kernmyhsep vcenterhboxuseboxmybox right.$%
kern-nulldelimiterspace
ignorespacesafterend


newenvironmentmybraceright%
beginlrboxmybox
%
endlrbox%
leavevmode
kern-nulldelimiterspace
$m@th left. vcenterhboxuseboxmybox kernmyhsep right$%
ignorespacesafterend


makeatother

begindocument

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag1
centering
begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #1
bigskip

begineqminipage[c]tag1
begintabularc
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
endtabular
endeqminipage%
captionTable #2
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceleft
beginminipageeqboxwidthtag2
centering
begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #3
bigskip

begineqminipage[c]tag2
begintabularc
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
endtabular
endeqminipage%
captionTable #4
endminipage
endmybraceleft
endtable

begintable
centering
beginmybraceleft
beginminipageeqboxwidthtag3
centering
begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #5
bigskip

begineqminipage[c]tag3
begintabularc
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
endtabular
endeqminipage%
captionTable #6
endminipage
endmybraceleft% spaces would be ignored here anyway because of the
% ignorespacesafterend we used
hfill
beginmybraceright
beginminipageeqboxwidthtag4
centering
begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #7
bigskip

begineqminipage[c]tag4
begintabularc
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
endtabular
endeqminipage%
captionTable #8
endminipage
endmybraceright
endtable

enddocument


screenshot







share|improve this answer














share|improve this answer



share|improve this answer








edited Aug 8 at 19:35

























answered Aug 8 at 16:04









frougonfrougon

7,8501 gold badge13 silver badges26 bronze badges




7,8501 gold badge13 silver badges26 bronze badges















  • I am wondering if you could solve this problem.

    – user121799
    Aug 8 at 21:46











  • @user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

    – frougon
    Aug 8 at 22:23












  • OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

    – user121799
    Aug 8 at 23:20











  • Thanks. What benefit does this provide that the much simpler alternative doesn't?

    – tjt263
    Aug 9 at 6:53











  • I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

    – frougon
    Aug 9 at 7:37


















  • I am wondering if you could solve this problem.

    – user121799
    Aug 8 at 21:46











  • @user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

    – frougon
    Aug 8 at 22:23












  • OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

    – user121799
    Aug 8 at 23:20











  • Thanks. What benefit does this provide that the much simpler alternative doesn't?

    – tjt263
    Aug 9 at 6:53











  • I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

    – frougon
    Aug 9 at 7:37

















I am wondering if you could solve this problem.

– user121799
Aug 8 at 21:46





I am wondering if you could solve this problem.

– user121799
Aug 8 at 21:46













@user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

– frougon
Aug 8 at 22:23






@user121799 Well, well, well... I love parsing tasks (cf. link title), unfortunately the question you linked to is about 3D in TikZ and I haven't explored this field yet. I'm not even sure I understand what is missing from the already-accepted answer. I guess it has to do with the internal representation of 3D points in TikZ and how they undergo transformations, but I'm afraid I'm still too ignorant in these areas to contribute. :-/

– frougon
Aug 8 at 22:23














OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

– user121799
Aug 8 at 23:20





OK, well. Anyway, maybe you can keep this question in the back of your mind if you ever go 3d. It would be great if one could somehow associate three instead of two coordinates to a symbolic coordinate, and if then veclen would spit out the distance between those. And so on. All my attempts to make 3d operations simpler struggled with that obstacle.

– user121799
Aug 8 at 23:20













Thanks. What benefit does this provide that the much simpler alternative doesn't?

– tjt263
Aug 9 at 6:53





Thanks. What benefit does this provide that the much simpler alternative doesn't?

– tjt263
Aug 9 at 6:53













I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

– frougon
Aug 9 at 7:37






I explained the in the answer. 1) The mybraceleft and mybraceright environments allow to very simply brace arbitrary horizontal material (no need to switch to math mode and manually do the work). 2) You don't have to guess a suitable minipage width. 3) The horizontal space next to braces doesn't depend on the braced contents and is customizable (myhlen). Try with narrower tables and you'll see. 4) The braced contents is tightly boxed (try wrapping it with frame or adding stuff to its right after narrowing the tables). But you are not forced to use it!

– frougon
Aug 9 at 7:37


















draft saved

draft discarded
















































Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f503397%2fbraces-spanning-multiple-tables-whole-tables-not-rows-or-pages%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form