
Я не могу понять, почему я не могу сделать строку заголовка в этой среде 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}