Mit tabularray rowspec richtet Q[f] die Zelle nicht am Fuß aus. Und wie entferne ich die Überschrift?

Mit tabularray rowspec richtet Q[f] die Zelle nicht am Fuß aus. Und wie entferne ich die Überschrift?

Bildbeschreibung hier eingeben

Dies ist mein Code:

latex
% **************************************************
% Document Class
% **************************************************
\documentclass[
    paper=A4,                   %
    11pt,                       % font size
]{scrreprt}    

\usepackage{tabularray}
\usepackage[svgnames]{xcolor}
\usepackage{amssymb}

\begin{document}

\NewTblrEnviron{mytblr} % define a new environment
\SetTblrOuter[mytblr]{long}
\SetTblrInner[mytblr]{  % set the default styles
colspec = {|
X[4.0cm,l]|
X[0.7cm,r]|
X[l]|
X[0.7cm,r]|
X[1.2cm,r]|
X[1.0cm,l]|},
width = 1.00\linewidth,
column{2,3,6} = {mode=dmath},
column{5} = {fg=blue},
rowspec={|
Q[h]|
Q[h]|
Q[m]|
Q[f]|
Q[f]|
Q[f]|}
}

\def\s{454}
\def\k{0.00394}
\def\treq{1.7886}

\begin{mytblr}[
  caption = {},
]{
  % more specs
}   
Factor
        & t_{req}
        & {= k \times  s \\ = \k \times  \s \\ = \treq}
        & t_{req}
        & 1.78876
        & \mathrm{mm} \\ 
\end{mytblr}

\end{document}

Antwort1

tabularraybasiert auf Vorlagen, Sie müssen also entweder die Standardvorlage ändern oder eine neue Vorlage deklarieren und festlegen und diese dann an Ihre Tabelle „binden“. Für die Demonstration habe ich eine Vorlage namens erstellt nocaptemplate. Diese wird auf ein benutzerdefiniertes Design angewendet mytheme, das wiederum auf angewendet wird mytblr.

Die untere Ausrichtung kann auf mehrere Arten erreicht werden, aber fbei mir hat das Anhängen an die letzten drei Spaltendefinitionen funktioniert.

Ihr Code enthält Fehler. Sie haben beispielsweise den Mathematikmodus für die vierte Spalte nicht eingestellt und stattdessen einen mathematischen Ausdruck verwendet \t_{...}. Was die mehrzeiligen Inhalte betrifft, haben Sie versucht, sie \\in einer mathematischen Umgebung zu verwenden. Sie müssen für jede Zeile den Inline-Mathematikmodus verwenden und möglicherweise den Mathematikmodus für diese Spalte ausschalten oder mehrzeilige Umgebungen verwenden, z. B. aligned; dies ist wahrscheinlich der bequemste Ansatz.

Verwenden Sie \newcommandzum Erstellen neuer Makros anstelle von \def.... Dadurch werden Sie gewarnt, wenn Sie versuchen, vorhandene Makros neu zu definieren.

Wenn Ihre Tabelle mehrere Seiten umfassen soll, fügen Sie ggf. „ rowhead = mund“ oder „oder“ hinzu. Dadurch werden die erste und die letzte Zeile rowfoot = nkopiert, wenn die Tabelle mehrere Seiten umfasst.mn

Bildbeschreibung hier eingeben

% **************************************************
% Document Class
% **************************************************
\documentclass[
paper=A4,                   %
11pt,                       % font size
]{scrreprt}    

\usepackage[svgnames]{xcolor}
\usepackage{tabularray}
\usepackage{amsmath,amssymb}

% Removes captions
\DeclareTblrTemplate{caption}{nocaptemplate}{}
\DeclareTblrTemplate{capcont}{nocaptemplate}{}
\NewTblrTheme{mytabletheme}{
  \SetTblrTemplate{caption}{nocaptemplate}{}
  \SetTblrTemplate{capcont}{nocaptemplate}{}
}
\NewTblrEnviron{mytblr} % define a new environment
\SetTblrOuter[mytblr]{
  theme=mytabletheme,
  long,
}
\SetTblrInner[mytblr]{  % set the default styles
  width = \linewidth,
  colspec = {            
    X[5,l]             %<--- X only makes sense when using with proportions
    X[1,r]             %<--- Otherwise, behaves as a regular Q[...]
    X[5,l]
    X[1,r,f]
    X[2,r,f]
    X[2,l,f]
  },
  column{2-6} = {mode=dmath},
  column{5} = {fg=blue},
  hlines, vlines,
  % row{1,Z} = {font=\bfseries},  %<--- the first and the last row in bold 
  % rowhead = 1, rowfoot = 1,     %<--- would copy the first/last column on subsequent pages
}


\begin{document}
\newcommand\vars{454}
\newcommand\vark{0.00394}
\newcommand\treq{1.7886}

\begin{mytblr}{}   
  Factor
  & t_{req}
  & \begin{aligned}[t]&= k \times s\\&= \vark \times \vars\\&= \treq\end{aligned}
  & t_{req}
  & 1.7887
  & \mathrm{mm} \\
\end{mytblr}
\end{document}

Antwort2

  • Ihr MWE ist fehlerhaft. Bei Verwendung von rowhead = {1}table33 sollten mindestens zwei Zeilen vorhanden sein!
  • Ist der Tisch wirklich ein langer Tisch? Wenn nicht, ist es einfacher, bei tblrder Tischumgebung zu bleiben
  • Ich vermute, dass die zweite und dritte Spalte in Ihrer Tabelle eigentlich eine Spalte sind, in deren Zellen alignedmathematische Daten stehen. Aber ich bin mir nicht sicher, da Sie keine Informationen dazu liefern, was die anderen Tabellenzeilen sind.

Prüfen Sie, ob die folgende Lösung für Sie funktioniert.

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{amsmath}
\DeclareMathOperator{\req}{req}

\begin{document}

\begingroup
\DefTblrTemplate{firsthead, middlehead,lasthead}{default}{} % <---

\def\s{454}
\def\k{0.00394}
\def\treq{1.7886}

\begin{longtblr}{
        rowhead = {1},
        colspec = {X[0.8, l] X[1.2, c] 
                   Q[f] Q[c, f, fg=blue] Q[f]},
        column{2,3} = {mode=dmath},
        row{1} = {font=\bfseries, mode=text},
        hline{1,2,Z} =1pt, hline{3-Y}=solid, vlines
                }
        & A & B & C & D         \\
Factor  & \begin{aligned}[t]
            t_{\req}    & = k \times    s \\ 
                        & = \k \times  \s \\ 
                        & = \treq
          \end{aligned}
            & t_{\req}
                & 1.78876
                    & mm    \\
text  & p_{\req} = 2\cdot\treq
            & p_{\req}
                & 3.57752
                    & mm    \\
\end{longtblr}
\endgroup

\end{document}

Bearbeiten:
Jetzt wird das mit dem obigen MWE erzeugte Bild eingefügt!

Bildbeschreibung hier eingeben

verwandte Informationen