Почему \textsc не работает с этим табличным массивом?

Почему \textsc не работает с этим табличным массивом?

Я не могу понять, почему я не могу сделать строку заголовка в этой среде tabularray заглавными буквами (кажется, это происходит сразу после добавления row{2} = {font = \bfseries, cmd = \textrm},, но я не могу переопределить это, добавив ) row{1} = {cmd = \textsc},.

я простоЗНАТЬЯ делаю что-то глупое...особенно потому, что я на самом деле не могу заставить это правильно скомпилироваться без включения пакета pythontex...что для меня не имеет смысла.

\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}

Редактировать: Для ясности, я знаю, что в шрифтах Computer Modern нет жирных маленьких капителей. Вот почему я стараюсь не применять жирный шрифт к первой строке.

Насколько я понимаю, я должен сделать жирным первый столбец со второй строки, а вторую строку полностью жирной. Я не понимаю, где я буду применять жирный шрифт к своему заголовку.

Использование \normalfont \textsc{Why am I not Small Caps?}делает так, чтобы отображалось правильно; я просто не понимаюпочему.

Правка #2: Так что комментарий @Clara работает; но я думаю, что, возможно, мне все еще нужно понять, что происходит. Потому что, я думаю, это, вероятно, та же ошибка, с которой я сталкиваюсь в другом месте, когда пытаюсь сделать эти сложные преамбулы форматирования.

решение1

Это не имеет отношения к таблице или pythontex.

латекс предупреждает

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

То есть, в современных компьютерных малых заглавных шрифтах нет полужирного шрифта, поэтому он заменяется обычным полужирным шрифтом.

Вы можете использовать шрифты ec, добавив

\usepackage[T1]{fontenc}

введите описание изображения здесь

решение2

Как отмечает @DavidCarlisle в своемотвечать, семейство текстовых шрифтов Computer Modern не включает комбинацию жирного начертания и малых прописных букв.

Лекарство? Используйте шрифт, который обеспечивает необходимую комбинацию веса/формы. Пакеты newtxtextи newpxtext, которые предоставляют клоны Times Roman и Palatino соответственно, являются примерами пакетов шрифтов, которые содержат эту комбинацию.

введите описание изображения здесь

\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}

Связанный контент