Tabelle, deren Breite größer als die Textbreite ist, mit „tabularray“ in LaTeX zentrieren?

Tabelle, deren Breite größer als die Textbreite ist, mit „tabularray“ in LaTeX zentrieren?

Ich erstelle eine Tabelle, deren Breite größer ist als die Breite des Textes, sodass die Tabelle zu weit rechts auf dem Papier steht. Wie kann ich sie in die Mitte verschieben? Beispiel:

\documentclass{article}
\usepackage{tabularray}
\usepackage{tabularx}
\begin{document}
\begin{table}
\begin{talltblr}[caption={hello}]{
        colspec={X[c]},width=3cm+\textwidth
    }
    \hline
    hello
\end{talltblr}
\end{table}
\end{document}

Bildbeschreibung hier eingeben

Antwort1

Ähnliche Funktionalität wie scrextendAngebotspaket changepage. Mit seinem Makro

\begin{adjustwidth}{left margin}{right margin}

oder

\begin{adjustwidth*}{}{outer margin}

Textränder lokal ändern. Eine ausführlichere Beschreibung finden Sie in der Paketdokumentation. In Ihrem Fall sollte Ihr MWE wie folgt geändert werden:

\documentclass{article}
\usepackage{tabularray}
\usepackage[strict]{changepage}

\usepackage{lipsum}

\begin{document}
\lipsum[66]
    \begin{table}[ht]
\begin{adjustwidth}{-15mm}{-15mm}
\begin{talltblr}[
caption = {hello},
  label = {tab:??}]{hlines, vlines, % that width of table is clearly seen
                 colspec={X[c]}
                }
    Hello world!
\end{talltblr}
\end{adjustwidth}
    \end{table}
\lipsum[66]
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Verwenden Sie \centerline{material}aus Ihrem Beispiel:

\centerline{%
   \begin{talltblr}[caption={hello}]{
           colspec={X[c]},width=3cm+\textwidth
       }
       \hline
       hello
   \end{talltblr}%
}

Antwort3

Setzen Sie es in ein \makeboxmit [c]:

\documentclass{article}
\usepackage{tabularray}
\usepackage{tabularx}
\begin{document}
\begin{table}
\makebox[\textwidth][c]{\begin{talltblr}[caption={hello}]{
        colspec={X[c]},width=3cm+\textwidth
    }
    \hline
    hello
\end{talltblr}}
\end{table}
\end{document}

Notiz:Dies ist nur bei Inhalten möglich, die die Seitengrenzen nicht überschreiten, also zB nicht bei longtblr.

Antwort4

Versuchen Sie, die Ränder Ihrer Tabelle(n) mit diesem Code zu ändern:

\documentclass{article}
\usepackage{scrextend}
\usepackage{,showframe,lipsum}% for demo only!
\begin{document}
    \lipsum[1]\\
    
    \begin{addmargin}[-1.5cm]{-1.5cm}% 1.5cm left, 1.5cm right
                
            \lipsum[2]\\
            
    \end{addmargin}
    \lipsum[1]
    \begin{addmargin}[1em]{2em}% 1em left, 2em right
        \lipsum[2]\\
        
        \lipsum[3]\\
    \end{addmargin}

    \lipsum[3]
\end{document}

Hier können Sie Ihre Tabelle platzieren:

        \begin{addmargin}[-1.5cm]{-1.5cm}% 1.5cm left, 1.5cm right
                    
                \lipsum[2]\\
                
        \end{addmargin}

BEARBEITEN:

\documentclass{article}
\usepackage{tabularray}
\usepackage[strict]{changepage}

\usepackage{lipsum}

\begin{document}
    \lipsum[66]
    \begin{table}[ht]
        \begin{adjustwidth}{-15mm}{-15mm}
            \begin{talltblr}[
                caption = {hello},
                label = {tab:hello}]{hlines, colspec={X[l]}
                }
                \lipsum[1-2]
            \end{talltblr}
        \end{adjustwidth}
    \end{table}\\
    See the table \ref{tab:hello}.\\
    \lipsum[66]
\end{document}

Ausgabe: Bildbeschreibung hier eingeben

verwandte Informationen