Fehler beim Hinzufügen von Zeilen in Spalten einer Tabelle

Fehler beim Hinzufügen von Zeilen in Spalten einer Tabelle

Ich habe eine gute Antwort zum Portieren der Standardtabelle in ein Springer-Journal von Antwort hier bekommen Fehlende Rahmenlinien in der Latex-Tabelle mit folgendem Code

\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}

\begin{document}
    \begin{table*}[ht]
    \caption{Result}
\sisetup{table-format=2.1,
         detect-weight, % <--
         }
\begin{tblr}{hlines, vlines,
             colspec = {X[c] X[1.2,c] X[1.8,c] X[c, si]},
             cell{even}{2} = {r=2}{},
             cell{odd[3]}{Z} = {font=\bfseries},
             row{1} = {guard}
             } 
Users Set Size (USS)
    &   Range of Users Individual
        &   Index of scalar array for mapping
            &   Transfer Failure        \\
\SetCell[r=6]{c}    6
    & 6 & 10& 23                        \\
    &   & 4 & 18.3                      \\
    & 7 & 0 & 13.3                      \\
    &   & 4 & 33.3                      \\
    & 7 & 1 & 17                        \\
    &   & 2 & 66.6                      \\
\end{tblr}
   \end{table*}
\end{document}

(Bild für obiges Latex angehängt), aber ich muss in jeder Zelle der Spalten 3 und 4 eine Zeile hinzufügen. Zum Beispiel eine Zeile unter 4 & 18,3, eine Zeile unter 4 & 33,3 und eine Zeile unter 2 & 66,6. Ich verstehe also nicht, wo ich Änderungen vornehmen muss. Ich habe geändert, \SetCell[r=6]{c}aber \SetCell[r=9]{c}eine seltsame Ausgabe und einen Fehler erhalten. Kann mir jemand sagen, was ich in diesem Latex-Code ändern muss?Bildbeschreibung hier eingeben

Antwort1

Als Ergänzung zur Antwort von @Clara (+1) ...

  • In meinem Code, den du in deiner Frage verwendest, hat die Tabellenpräambel folgende Bedeutung
\begin{tblr}{hlines, vlines,
     colspec = {X[c] X[1.2,c] X[1.8,c] X[c, si]}, % determine column types
     cell{even}{2} = {r=2}{}, % determine where multi row cells, which span 
                              % two successive rows start: at each even row 
                              % after second row
   cell{odd[3]}{Z} = {font=\bfseries}, % determine in which rows numbers in 
                              % the last columns are in the boldface shape
             row{1} = {guard} % protect text in the `S` columns in the first 
                              % row, that not interfere in S column formating
             }
  • Sie geben keine Auskunft darüber, was sich in den zusätzlichen Zeilen befindet und ob einige Zahlen fett gedruckt sind.
  • Angenommen, das erwartete Ergebnis ist ähnlich wie das folgende

Bildbeschreibung hier eingeben

dann müssen Sie die folgenden Änderungen am in der Frage angezeigten Code vornehmen:

\begin{tblr}{hlines, vlines,
     colspec = {X[c] X[1.2,c] X[1.8,c] X[c, si]},
     cell{2,5,8}{2} = {r=3}{},           % determine multi row cells in the second column
                                         % which span three successive adjacent rows
     cell{4,7,10}{Z} = {font=\bfseries}, % determine which cells in the last column are in boldface
     row{1} = {guard}
             }
  • Um weitere Einzelheiten zum verwendeten Code zu erhalten, sollten Sie tabularraydie Paketdokumentation lesen oder (in den Kommentaren) nachfragen, wenn Ihnen in den bereitgestellten Vorschlägen nicht klar ist.
  • Der Vollständigkeit halber lautet das vollständige MWE, das die oben gezeigte Tabelle generiert:
\documentclass{sn-jnl}

\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}

\begin{document}
    \begin{table*}[ht]
    \caption{Result}
\sisetup{table-format=2.1,
         detect-weight, % <--
         }
\begin{tblr}{hlines, vlines,
     colspec = {X[c] X[1.2,c] X[1.8,c] X[c, si]},
     cell{2,5,8}{2} = {r=3}{},           % determine multi row cells in the second column
                                         % which span three successive adjacent rows
     cell{4,7,10}{Z} = {font=\bfseries}, % determine which cells in the last column are in boldface
     row{1} = {guard}
             }
Users Set Size (USS)
    &   Range of Users Individual
        &   Index of scalar array for mapping
            &   Transfer Failure        \\
\SetCell[r=9]{c}    9    % multirow cell in the first column, spanning 9 rows
    & 6 & 10& 23                        \\
    &   & 7 & 20                        \\
    &   & 4 & 18.3                      \\
    & 7 & 0 & 13.3                      \\
    &   & 0 & 13.3                      \\
    &   & 4 & 33.3                      \\
    & 7 & 1 & 17                        \\
    &   & 3 & 11                        \\
    &   & 2 & 66.6                      \\
\end{tblr}
   \end{table*}
\end{document}

Antwort2

Ich bin nicht sicher, ob das das ist, wonach Sie suchen. Ich schlage vor, Stil und Inhalt vollständig zu trennen, anstatt sie zu vermischen.

\documentclass{article}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}
\begin{table}
\caption{Result}
\begin{tblr}
{
colspec        = {X[c,m]X[1.2,c,m]X[1.8,c,m]X[c,m,si={table-format=2.1,detect-weight}]},
cell{2}{1}     = {r=9}{},
cell{2,5,8}{2} = {r=3}{},
cell{3,6,9}{Z} = {font=\bfseries},
row{1}         = {guard},
hlines,vlines,
}
Users Set Size (USS) & Range of Users Individual & Index of scalar array for mapping & Transfer Failure \\
6                    & 6                         & 10                                & 23               \\
                     &                           & 4                                 & 18.3             \\
                     &                           & 4                                 & 18.3             \\
                     & 7                         & 0                                 & 13.3             \\
                     &                           & 4                                 & 33.3             \\
                     &                           & 4                                 & 33.3             \\
                     & 7                         & 1                                 & 17               \\
                     &                           & 2                                 & 66.6             \\
                     &                           & 2                                 & 66.6             \\
\end{tblr}
\end{table}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen