Center page as a whole without centering each element individually
I have some narrow text and tabular environments that I'd like to center based on the horizontal space they use up in total. However, it's important that when centered, the original alignments between the elements are preserved. So the effect would be more like increasing margins. Naturally, centering won't work, as it centers every element individually.
The closest I've come is using a minipage and scaling the width by eye. The total width of the page content might vary though. So is there a way to do this kind of centering?
I guess if there's a way to measure the total width that a page takes, it could be fed to minipage. I have very little experience with LaTeX macros and what's generally possible. So any help would be greatly appreciated!
Here's an example.


And a minimal code with all cases:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
begin{document}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
begin{minipage}{0.3linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{minipage}
end{document}
horizontal-alignment
add a comment |
I have some narrow text and tabular environments that I'd like to center based on the horizontal space they use up in total. However, it's important that when centered, the original alignments between the elements are preserved. So the effect would be more like increasing margins. Naturally, centering won't work, as it centers every element individually.
The closest I've come is using a minipage and scaling the width by eye. The total width of the page content might vary though. So is there a way to do this kind of centering?
I guess if there's a way to measure the total width that a page takes, it could be fed to minipage. I have very little experience with LaTeX macros and what's generally possible. So any help would be greatly appreciated!
Here's an example.


And a minimal code with all cases:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
begin{document}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
begin{minipage}{0.3linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{minipage}
end{document}
horizontal-alignment
1
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
1
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
@leandriis Added.
– Felix
46 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@leandriis Correct, the second one is the attempt usingcentering, which I'm sure you see is not the proper output.
– Felix
43 mins ago
add a comment |
I have some narrow text and tabular environments that I'd like to center based on the horizontal space they use up in total. However, it's important that when centered, the original alignments between the elements are preserved. So the effect would be more like increasing margins. Naturally, centering won't work, as it centers every element individually.
The closest I've come is using a minipage and scaling the width by eye. The total width of the page content might vary though. So is there a way to do this kind of centering?
I guess if there's a way to measure the total width that a page takes, it could be fed to minipage. I have very little experience with LaTeX macros and what's generally possible. So any help would be greatly appreciated!
Here's an example.


And a minimal code with all cases:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
begin{document}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
begin{minipage}{0.3linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{minipage}
end{document}
horizontal-alignment
I have some narrow text and tabular environments that I'd like to center based on the horizontal space they use up in total. However, it's important that when centered, the original alignments between the elements are preserved. So the effect would be more like increasing margins. Naturally, centering won't work, as it centers every element individually.
The closest I've come is using a minipage and scaling the width by eye. The total width of the page content might vary though. So is there a way to do this kind of centering?
I guess if there's a way to measure the total width that a page takes, it could be fed to minipage. I have very little experience with LaTeX macros and what's generally possible. So any help would be greatly appreciated!
Here's an example.


And a minimal code with all cases:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
begin{document}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
centering
begin{minipage}{0.3linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{minipage}
end{document}
horizontal-alignment
horizontal-alignment
edited 41 mins ago
Felix
asked 53 mins ago
FelixFelix
1386
1386
1
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
1
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
@leandriis Added.
– Felix
46 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@leandriis Correct, the second one is the attempt usingcentering, which I'm sure you see is not the proper output.
– Felix
43 mins ago
add a comment |
1
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
1
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
@leandriis Added.
– Felix
46 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@leandriis Correct, the second one is the attempt usingcentering, which I'm sure you see is not the proper output.
– Felix
43 mins ago
1
1
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
1
1
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
@leandriis Added.
– Felix
46 mins ago
@leandriis Added.
– Felix
46 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@leandriis Correct, the second one is the attempt using
centering, which I'm sure you see is not the proper output.– Felix
43 mins ago
@leandriis Correct, the second one is the attempt using
centering, which I'm sure you see is not the proper output.– Felix
43 mins ago
add a comment |
2 Answers
2
active
oldest
votes
Instead of a minipage you could use a varwidth environment - this will automatically shrink to the necessary width:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
usepackage{varwidth}
begin{document}
centering
begin{varwidth}{linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{varwidth}
end{document}

Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
add a comment |
I would just set the constructions inside a tabular (that doesn't have any column padding, although that's necessary). The tabular will expand as needed, ultimately representing an unbreakable box that you can centre:

documentclass{article}
usepackage[margin=1in]{geometry}
begin{document}
centering
begin{tabular}{@{} l @{}}
Intro \
\
begin{tabular}{ l | l }
C & C
end{tabular} \
\
Juttu \
\
begin{tabular}{ l | l | l | l }
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C
end{tabular}
end{tabular}
end{document}
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also useIntro \[parskip]instead ofIntro \ \?
– leandriis
23 mins ago
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f480364%2fcenter-page-as-a-whole-without-centering-each-element-individually%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
Instead of a minipage you could use a varwidth environment - this will automatically shrink to the necessary width:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
usepackage{varwidth}
begin{document}
centering
begin{varwidth}{linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{varwidth}
end{document}

Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
add a comment |
Instead of a minipage you could use a varwidth environment - this will automatically shrink to the necessary width:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
usepackage{varwidth}
begin{document}
centering
begin{varwidth}{linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{varwidth}
end{document}

Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
add a comment |
Instead of a minipage you could use a varwidth environment - this will automatically shrink to the necessary width:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
usepackage{varwidth}
begin{document}
centering
begin{varwidth}{linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{varwidth}
end{document}

Instead of a minipage you could use a varwidth environment - this will automatically shrink to the necessary width:
documentclass[12pt]{article}
usepackage[margin=1in]{geometry}
usepackage[utf8]{inputenc}
usepackage[finnish]{babel}
usepackage{gensymb}
setlength{parskip}{1em}
usepackage{varwidth}
begin{document}
centering
begin{varwidth}{linewidth}
setlength{parskip}{1em}
Intro
begin{tabular}{l|l}
C & C \
end{tabular}
Juttu
begin{tabular}{l|l|l|l}
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C \
end{tabular}
end{varwidth}
end{document}

edited 11 mins ago
Werner
448k709911697
448k709911697
answered 19 mins ago
samcartersamcarter
92.1k7105298
92.1k7105298
Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
add a comment |
Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
Well damn, yet again I'm not alone with my problems. Simple. Effective. Thanks!
– Felix
14 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
@Felix You're welcome! Thanks to the nice MWE you prepared, this was easy to answer!
– samcarter
13 mins ago
add a comment |
I would just set the constructions inside a tabular (that doesn't have any column padding, although that's necessary). The tabular will expand as needed, ultimately representing an unbreakable box that you can centre:

documentclass{article}
usepackage[margin=1in]{geometry}
begin{document}
centering
begin{tabular}{@{} l @{}}
Intro \
\
begin{tabular}{ l | l }
C & C
end{tabular} \
\
Juttu \
\
begin{tabular}{ l | l | l | l }
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C
end{tabular}
end{tabular}
end{document}
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also useIntro \[parskip]instead ofIntro \ \?
– leandriis
23 mins ago
add a comment |
I would just set the constructions inside a tabular (that doesn't have any column padding, although that's necessary). The tabular will expand as needed, ultimately representing an unbreakable box that you can centre:

documentclass{article}
usepackage[margin=1in]{geometry}
begin{document}
centering
begin{tabular}{@{} l @{}}
Intro \
\
begin{tabular}{ l | l }
C & C
end{tabular} \
\
Juttu \
\
begin{tabular}{ l | l | l | l }
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C
end{tabular}
end{tabular}
end{document}
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also useIntro \[parskip]instead ofIntro \ \?
– leandriis
23 mins ago
add a comment |
I would just set the constructions inside a tabular (that doesn't have any column padding, although that's necessary). The tabular will expand as needed, ultimately representing an unbreakable box that you can centre:

documentclass{article}
usepackage[margin=1in]{geometry}
begin{document}
centering
begin{tabular}{@{} l @{}}
Intro \
\
begin{tabular}{ l | l }
C & C
end{tabular} \
\
Juttu \
\
begin{tabular}{ l | l | l | l }
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C
end{tabular}
end{tabular}
end{document}
I would just set the constructions inside a tabular (that doesn't have any column padding, although that's necessary). The tabular will expand as needed, ultimately representing an unbreakable box that you can centre:

documentclass{article}
usepackage[margin=1in]{geometry}
begin{document}
centering
begin{tabular}{@{} l @{}}
Intro \
\
begin{tabular}{ l | l }
C & C
end{tabular} \
\
Juttu \
\
begin{tabular}{ l | l | l | l }
C & C & Am & G \
C Dm & C & C quad G G & C \
C & C & Am & G \
C Dm & C & C quad G G & C
end{tabular}
end{tabular}
end{document}
answered 32 mins ago
WernerWerner
448k709911697
448k709911697
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also useIntro \[parskip]instead ofIntro \ \?
– leandriis
23 mins ago
add a comment |
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also useIntro \[parskip]instead ofIntro \ \?
– leandriis
23 mins ago
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Having the line breaks everywhere bothers me a bit. Maybe too much. But yeah, didn't think of that, thanks for the answer!
– Felix
26 mins ago
Maybe one could also use
Intro \[parskip] instead of Intro \ \ ?– leandriis
23 mins ago
Maybe one could also use
Intro \[parskip] instead of Intro \ \ ?– leandriis
23 mins ago
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f480364%2fcenter-page-as-a-whole-without-centering-each-element-individually%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
1
Please make a minimal working example (MWE) that illustrates your issue.
– leandriis
52 mins ago
1
If you can provide the code that produces the above content, one could better assist you with ideas on how to centre the content.
– Werner
51 mins ago
@leandriis Added.
– Felix
46 mins ago
@Felix: Thanks for adding the example. If I understand you correctly, you basically would like to achieve the result in the third example?
– leandriis
44 mins ago
@leandriis Correct, the second one is the attempt using
centering, which I'm sure you see is not the proper output.– Felix
43 mins ago