Tabularray überschreitet die Linienbreite

Tabularray überschreitet die Linienbreite

Ich verwende , tabularrayum eine Tabelle mit verschiedenen Spalten- und Zeilenbereichen zu erstellen. Die Tabelle hat width = \linewidthund colspec = {|X[1]|X[1]|X[2]|}, aber sie überschreitet die Zeilenbreite und die Spaltenbreitenanforderungen Xwerden nicht befolgt:

Tisch

Wie kann ich erreichen, dass die Tabelle die Zeilenbreite beibehält und die von mir angegebenen Spaltenbreiten respektiert?

Minimales Arbeitsbeispiel:

\documentclass{article}

\usepackage{multicol}
\usepackage{graphicx}
\usepackage{makecell}
\usepackage{tabularray}
\usepackage{pgffor, etoolbox}

% headers and footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % clear existing header/footer entries
\fancyhead[C]{\footnotesize test}

\begin{document}

\noindent
\begin{tblr}{
    width = \linewidth,
    colspec = {|X[1]|X[1]|X[2]|}
}
%\begin{tblr}{|p{0.2\linewidth}|p{0.2\linewidth}|p{0.4\linewidth}|}
    \hline
    \SetCell[c=3]{c} \textbf{DOCUMENTATION INFORMATION PAGE} & &
    \\
    \hline
    \textbf{1. DATE} \newline date & \textbf{2. DOCUMENT TYPE} \newline document type & \textbf{3. DOCUMENT NUMBER / REV} \newline document number \space document version
    \\
    \hline
    \SetCell[c=2]{l} \textbf{4. Title \newline title } & & \textbf{5. PROJECT CODE} \newline project code
    \\
    \hline
    \SetCell[c=2]{l} \textbf{6. AUTHOR} \newline author & & \textbf{7. CUSTOMER} \newline customer
    \\
    \hline
    \SetCell[c=2,r=2]{l} {
        \textbf{8. CONTACT ADDRESS} \\
        Lorem \\
        Ipsum \\
        Dolor \\
        Sit \\
        Amet
    }
    &
    &
    \textbf{9. CONTACT PHONE} \newline telephone number \vspace{0.4em}
    \\
    \hline
    &
    &
    \textbf{10. CONTACT EMAIL} \newline author email
    \\
    \hline
    \SetCell[c=2]{l} \textbf{11. TELEPHONE NUMBER} \newline telephone number
    &
    &
    \textbf{12. NAME OF RESPONSIBLE PERSON} \newline author
    \\
    \hline
\end{tblr}

\end{document}

Antwort1

Mischen Sie nicht die Syntax aus klassischen Tabellen mit tabularrayEinsen: Stattdessen \newlinesollten Sie verwenden \\.

Bearbeiten:Einen besseren Abstand zwischen den Zellentexten erhalten Sie, wenn Sie „colspec“ wie folgt ändern:

colspec = {X[0.9, l,h] X[1.1, l,h] X[2,l,h]},

Wenn man dies in der vorherigen MWE-Version berücksichtigt, erhält man

Bildbeschreibung hier eingeben

Korrigiertes MWE ist:

\documentclass{article}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}% For dummy text. Don't use in a real document

\usepackage{multicol}
\usepackage{graphicx}
\usepackage{makecell}
\usepackage{tabularray}
\usepackage{pgffor, etoolbox}

% headers and footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % clear existing header/footer entries
\fancyhead[C]{\footnotesize test}

\begin{document}

\noindent%
\begin{tblr}{hlines, vlines,
             colspec = {X[0.9, l,h] X[1.1, l,h] X[2,l,h]},
             row{1}  = {font=\bfseries},
             cell{3-Z}{1} = {c=2}{},
             vspan=even
             }
\SetCell[c=3]{c}    DOCUMENTATION INFORMATION PAGE
    &   &   \\
{\textbf{1. DATE}\\ date} 
    &   {\textbf{2. DOCUMENT TYPE}\\ document type}
        &   {\textbf{3. DOCUMENT NUMBER/REV}\\ document number\\ document version}   \\
{\textbf{4. Title\\ title}} 
    &   &   {\textbf{5. PROJECT CODE}\\ project code}                                 \\
{\textbf{6. AUTHOR}\\ author}  
    &   &   {\textbf{7. CUSTOMER}\\ customer}                                       \\
\SetCell[c=2, r=2]{l}    {\textbf{8. CONTACT ADDRESS}                                    \\
                    Lorem \\
                    Ipsum \\
                    Dolor \\
                    Sit \\
                    Amet}
    &   &   {\textbf{9. CONTACT PHONE}\\ telephone number}                          \\
    &   &   {\textbf{10. CONTACT EMAIL}\\ author email}                             \\
{\textbf{11. TELEPHONE NUMBER}\\ telephone number}
    &   & {\textbf{12. NAME OF RESPONSIBLE PERSON}\\ author}                        \\
\end{tblr}
\end{document}

Antwort2

Verwenden Sie \\stattdessen \newline(und umbrechen Sie {}den entsprechenden Zellinhalt), und das Problem ist behoben. Ich weiß nicht wirklich, warum \newlinees hier nicht funktioniert (tatsächlich gibt es nur in der ersten Zelle der letzten Zeile einen Fehler). Wie auch immer, \\das Pakethandbuch empfiehlt Ihnen, Zeilenumbrüche mithilfe von einzufügen:

\documentclass{article}
\usepackage{tabularray}

% headers and footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} % clear existing header/footer entries
\fancyhead[C]{\footnotesize test}

\begin{document}

\noindent
\begin{tblr}{
    width = \linewidth,
    colspec = {|X[1]|X[1]|X[2]|}
}
%\begin{tblr}{|p{0.2\linewidth}|p{0.2\linewidth}|p{0.4\linewidth}|}
    \hline
    \SetCell[c=3]{c} \textbf{DOCUMENTATION INFORMATION PAGE} & &
    \\
    \hline
    { \textbf{1. DATE} \\ date } & 
    { \textbf{2. DOCUMENT TYPE} \\ document type } & 
    { \textbf{3. DOCUMENT NUMBER / REV} \\ document number \space document version }
    \\
    \hline
    \SetCell[c=2]{l} 
    { \textbf{4. Title} \\ title } & & 
    { \textbf{5. PROJECT CODE} \\ project code }
    \\
    \hline
    \SetCell[c=2]{l} 
    { \textbf{6. AUTHOR} \\ author } & & 
    { \textbf{7. CUSTOMER} \\ customer }
    \\
    \hline
    \SetCell[c=2,r=2]{l} 
    {
        \textbf{8. CONTACT ADDRESS} \\
        Lorem \\
        Ipsum \\
        Dolor \\
        Sit \\
        Amet
    }
    &
    &
    { \textbf{9. CONTACT PHONE} \\ telephone number } \vspace{0.4em} 
    \\
    \hline
    &
    &
    { \textbf{10. CONTACT EMAIL} \\ author email }
    \\
    \hline
    \SetCell[c=2]{l} 
    { \textbf{11. TELEPHONE NUMBER} \\ telephone number }
    &
    &
    { \textbf{12. NAME OF RESPONSIBLE PERSON} \\ author }
    \\
    \hline
\end{tblr}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen