Центрировать страницу целиком, не центрируя каждый элемент по отдельности

Центрировать страницу целиком, не центрируя каждый элемент по отдельности

У меня есть несколько узких текстовых и табличных сред, которые я хотел бы центрировать на основе горизонтального пространства, которое они занимают в целом. Однако важно, чтобы при центрировании сохранялось исходное выравнивание между элементами. Поэтому эффект будет больше похож на увеличение полей. Естественно, это \centeringне сработает, так как центрирует каждый элемент по отдельности.

Ближайшее, что я сделал, это использовал minipageи масштабировал ширину на глаз. Общая ширина содержимого страницы может варьироваться. Так есть ли способ сделать такое центрирование?

Я думаю, если есть способ измерить общую ширину, которую занимает страница, ее можно было бы скормить minipage. У меня очень мало опыта с макросами LaTeX и с тем, что вообще возможно. Так что любая помощь будет высоко оценена!


Вот пример.

Ситуация сейчас

Желаемый результат


И минимальный код со всеми случаями:

\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.3\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{minipage}
\end{document}

решение1

Вместо minipageможно использовать varwidthокружение — оно автоматически сожмется до необходимой ширины:

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

введите описание изображения здесь

решение2

Я бы просто установил конструкции внутри tabular(без отступов между столбцами, хотя это необходимо). Они tabularбудут расширяться по мере необходимости, в конечном итоге представляя собой неразрывную коробку, которую можно центрировать:

введите описание изображения здесь

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

Связанный контент