Warum funktioniert \textsc in diesem Tabellenray nicht?

Warum funktioniert \textsc in diesem Tabellenray nicht?

Ich kann nicht herausfinden, warum ich die Titelzeile in dieser Tabularray-Umgebung nicht in Kapitälchen umwandeln kann (scheint zu passieren, sobald ich das hinzufüge row{2} = {font = \bfseries, cmd = \textrm},, aber ich kann es nicht durch Hinzufügen überschreiben) row{1} = {cmd = \textsc},.

Ich habe geradeWISSENIch mache etwas Dummes … vor allem, weil ich es ohne Einbindung des Pakets nicht richtig kompilieren kann pythontex… was für mich keinen Sinn ergibt.

\documentclass{article}
\usepackage{pythontex}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[margin = 0.5in]{geometry}
\usepackage{tabularray}


\begin{document}
% timeperiod calculations
\begin{tblr}[T]{
  colspec = {Q[c,m] *{4}{Q[c,m,$]}},
  column{1} = {2-Z}{font = \bfseries},
  row{odd} = {azure9},
  row{2} = {font = \bfseries, cmd = \textrm},
  hline{1,Z} = {2pt},
}
% header
\SetCell[c=5]{c} \textsc{Why am I not Small Caps?} \\
\hline
 &
  who &
    cares &
      not &
        me \\
tab &
  \mathrm{10\ \frac{units}{time}} &
    \mathrm{7\ units} &
      \mathrm{1\ unit \cdot 2\ units} &
        \mathrm{10\ unit^2} \\
\end{tblr}
\end{document}

Bearbeiten: Zur Klarstellung: Mir ist bewusst, dass es in den Computer Modern-Schriftarten keine fetten Kapitälchen gibt. Deshalb versuche ich, die erste Zeile nicht fett zu schreiben.

So wie ich es verstehe, sollte ich die erste Spalte ab der zweiten Zeile fett und die zweite Zeile komplett fett machen. Ich verstehe nicht, wo ich Fettdruck auf meine Kopfzeile anwenden würde.

Durch die Verwendung \normalfont \textsc{Why am I not Small Caps?}wird es richtig angezeigt. Ich verstehe es einfach nichtWarum.

Bearbeitung Nr. 2: Der Kommentar von @Clara funktioniert also, aber ich denke, ich muss vielleicht noch verstehen, was vor sich geht. Denn ich denke, es ist wahrscheinlich derselbe Fehler, auf den ich woanders stoße, wenn ich versuche, diese komplexen Formatierungspräambeln zu erstellen.

Antwort1

Dies hat nichts mit der Tabelle oder Pythontex zu tun.

Latex warnt

LaTeX Font Warning: Font shape `OT1/cmr/bx/sc' undefined
(Font)              using `OT1/cmr/bx/n' instead on input line 32.

Das heißt, es gibt keine modernen Computer-Kapitälchen in Fettschrift, daher wird diese durch normale Fettschrift ersetzt.

Sie können die ec-Schriftarten verwenden, indem Sie hinzufügen

\usepackage[T1]{fontenc}

Bildbeschreibung hier eingeben

Antwort2

Wie @DavidCarlisle in seinemAntwort, die Textschriftfamilie „Computer Modern“ enthält die Kombination Fett/Kapitälchen nicht.

Die Lösung? Verwenden Sie eine Schriftart, die die erforderliche Kombination aus Stärke und Form bietet. Die Pakete newtxtextund newpxtext, die Times Roman- bzw. Palatino-Klone bereitstellen, sind Beispiele für Schriftartpakete, die diese Kombination bieten.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{pythontex}
%\usepackage{amsmath} % amsmath is loaded automatically by mathtools
\usepackage{amssymb}
\usepackage{mathtools}
\usepackage[margin = 0.5in]{geometry}
\usepackage{tabularray}
\usepackage{newtxtext,newtxmath} % or: \usepackage{newpxtext,newpxmath}

\begin{document}
% timeperiod calculations
\begin{tblr}[T]{
  colspec = {Q[c,m] *{4}{Q[c,m,$]}},
  column{1} = {2-Z}{font = \bfseries},
  row{odd} = {azure9},
  row{2} = {font = \bfseries, cmd = \textrm},
  hline{1,Z} = {2pt},
}
% header
\SetCell[c=5]{c} \textsc{Why am I not Small Caps?} \\
\hline
 &
  who &
    cares &
      not &
        me \\
tab &
  \mathrm{10\ \frac{units}{time}} &
    \mathrm{7\ units} &
      \mathrm{1\ unit \cdot 2\ units} &
        \mathrm{10\ unit^2} \\
\end{tblr}
\end{document}

verwandte Informationen